[Tool] X Rebirth Builder 2.1 (Factory Complex Calculator & Planner)

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Moderators for English X Forum, Scripting / Modding Moderators

CulunTse
Posts: 118
Joined: Mon, 15. Jun 15, 08:10
x4

Post by CulunTse » Tue, 12. Apr 16, 21:37

Awesome tool, from the sound of it!

From what I've discovered so far, it should also run under Linux with some (minor) tweaking! :-D
(This message brought to you by the author of the "[PSA] Steps to make your mod work on Linux+Mac" thread ;-P )

Background:
This tool, even though it ends with .exe, is "secretly" a .Net WinForms application inside.
.Net / C# is no longer "windows only", and hasn't been for a couple of years.
There is an open source re-implementation of the .Net runtime (the "CLR"), called "Mono"
Since a few years, Microsoft has actually worked closely with the Mono-project to improve compatibility, so they can expand their .Net-market onto the Linux server market.

porting XR builder 2.0
You can run XR builder 2.0 on linux by doing:

Code: Select all

sudo apt-get install mono-complete
mono "X Rebirth build 2.exe"
Unfortunately, this currently crashes because some methods don't exist.
Since I don't have the source code, I can't do much directly, but I can hopefully help guide the way!
Simoom, could you please use your connections to make Alexusvm aware of the possibility? I feel your existing connection would work better, and I speak zero Russian. (I'd be willing to have a look at the source code too, if that's OK with them, to see if I can help improve compatibility)

First of, there is an excellent tool called "MoMA", the Mono Migration Analyser
MoMA can scan .net programs for things that might break on Mono-on-linux/mac, but work on Windows.

I took the liberty of running MoMA on XR Builder 2.0, and am happy to report only 2 issues were raised, on 5 methods:

Scan Date: 4/12/2016 8:50:30 PM
Assembly X Rebirth build 2.exe 2.0.42.0
MoMA Definitions: Mono 2.8 (2.0 Profile)
(the 4.0 profile raises 7080 issues, so I believe this is a .Net 2.0 application)

Problem 1: Method used that Throws NotImplementedException on Mono
Object Interaction.GetObject (string, string)
called by:
  • void Combo_Printers_SelectedIndexChanged (Object, EventArgs)
Problem 2: Methods marked [MonoTodo], Reason "Works on Win32 and on X11 (but not on Cocoa and Quartz)" (i.e. works under most Linux versions, but not Mac)
void Graphics.CopyFromScreen (int, int, int, int, Size)
Called by:
  • void Form_Balance_KeyDown (Object, KeyEventArgs)
  • void Form_Station_KeyDown (Object, KeyEventArgs)
  • void Form_BuildTable_KeyDown (Object, KeyEventArgs)
  • void Form_BuildTable_KeyDown (Object, KeyEventArgs)
  • void Form_Main_KeyDown (Object, KeyEventArgs)
useful links for Alexusvm
In case it interests anyone, this is the stacktrace I get when doing "mono 'X rebirth builder 2.exe'":

Code: Select all

System.InvalidOperationException: WinForms_SeeInnerException ---> System.ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0 
  at System.Drawing.Graphics.GdipMeasureString (IntPtr graphics, System.String text, System.Drawing.Font font, System.Drawing.RectangleF& layoutRect, IntPtr stringFormat) [0x00000] in <filename unknown>:0 
  at System.Drawing.Graphics.MeasureString (System.String text, System.Drawing.Font font, SizeF layoutArea, System.Drawing.StringFormat stringFormat) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Drawing.Graphics:MeasureString (string,System.Drawing.Font,System.Drawing.SizeF,System.Drawing.StringFormat)
  at System.Windows.Forms.TextRenderer.MeasureString (System.String text, System.Drawing.Font font, SizeF layoutArea, System.Drawing.StringFormat stringFormat) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Label.InternalGetPreferredSize (Size proposed) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Label.GetPreferredSize (Size proposedSize) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.get_PreferredSize () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:get_PreferredSize ()
  at System.Windows.Forms.Layout.DefaultLayout.GetPreferredControlSize (System.Windows.Forms.Control child) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Layout.DefaultLayout.LayoutDockedChildren (System.Windows.Forms.Control parent, System.Windows.Forms.Control[] controls) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Layout.DefaultLayout.Layout (System.Object container, System.Windows.Forms.LayoutEventArgs args) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ScrollableControl.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.PerformLayout (System.Windows.Forms.Control affectedControl, System.String affectedProperty) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnResizeInternal (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnResize (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Panel.OnResize (System.EventArgs eventargs) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsCoreInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:SetBoundsInternal (int,int,int,int,System.Windows.Forms.BoundsSpecified)
  at System.Windows.Forms.Layout.DefaultLayout.LayoutDockedChildren (System.Windows.Forms.Control parent, System.Windows.Forms.Control[] controls) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Layout.DefaultLayout.Layout (System.Object container, System.Windows.Forms.LayoutEventArgs args) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ScrollableControl.OnLayout (System.Windows.Forms.LayoutEventArgs levent) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.ContainerControl.OnLayout (System.Windows.Forms.LayoutEventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.PerformLayout (System.Windows.Forms.Control affectedControl, System.String affectedProperty) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnResizeInternal (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnResize (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.UserControl.OnResize (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.OnSizeChanged (System.EventArgs e) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.UpdateBounds (Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsCoreInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsCore (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBoundsInternal (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.SetBounds (Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified) [0x00000] in <filename unknown>:0 
  at System.Windows.Forms.Control.set_Size (Size value) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Size (System.Drawing.Size)
  at XRB.ComplexTree.InitializeComponent () [0x00000] in <filename unknown>:0 
  at XRB.ComplexTree..ctor () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) XRB.ComplexTree:.ctor ()
  at XRB.Form_Main.InitializeComponent () [0x00000] in <filename unknown>:0 
  at XRB.Form_Main..ctor () [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at XRB.My.MyProject+MyForms.Create__Instance__[Form_Main] (XRB.Form_Main Instance) [0x00000] in <filename unknown>:0 
  at XRB.My.MyProject+MyForms.get_Form_Main () [0x00000] in <filename unknown>:0 
  at XRB.My.MyApplication.OnCreateMainForm () [0x00000] in <filename unknown>:0 
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun () [0x00000] in <filename unknown>:0 
  at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run (System.String[] commandLine) [0x00000] in <filename unknown>:0 
  at XRB.My.MyApplication.Main (System.String[] Args) [0x00000] in <filename unknown>:0 


hisazul
Posts: 1211
Joined: Sat, 15. Oct 11, 04:12
xr

Post by hisazul » Tue, 12. Apr 16, 23:52

There is a link to source code on github, in the first post at the end.
“Logic will get you from A to B. Imagination will take you everywhere.” - Albert Einstein

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Wed, 13. Apr 16, 00:28

hisazul wrote:Actually I played with it... and I have no mods and this thing is going crazy. Claims staples farmery doesn't produce food... it also can't seem to handle renamed stations sometimes and simply bugs out with index error when you use drop down on stations. Seems like it completely drops anything that belongs to those stations so I end up entirely self sufficient DV that apparently doesn't consume any kind of cells... or makes any food... but those buggy stations still get counted for consumption? Huh..
There are some known limitations in the "import save" function, the author is aware of it and is working on improving it, as stated in the OP. :)

As for stations showing as not producing, it's possible that they are actually not producing in your save game (storage full, damaged by enemy, etc.). The "All Production" feature is meant exactly to counter that, by assuming that all stations are fully producing.
hisazul wrote:And why are mined resources included into this anyway? They aren't produced in the first place, how exactly it would calculate their availability if they tried to base it on mining ships... then they did something realllyyyy wrong. By construction shop can't in the million years be short on ore when it has 5 ore miners half of them tend to go about peddling stuff most of the time because they got nothing else to do.
I am not the author so I can't say; but I would guess probably just to show the player how much raw resources are needed (and decide how many mining ships to assign).

I personally am not bothered by this since you can just choose to overlook raw resources if you want; but having it doesn't really hurt.
CulunTse wrote:From what I've discovered so far, it should also run under Linux with some (minor) tweaking! :-D
I'll pass your message along in a bit. :) The author just sent me a new RC build, so I'll be testing that shortly.
hisazul wrote:There is a link to source code on github, in the first post at the end.
Actually the github is for Phipsz's web-based factory calculator, which is an unrelated project (but we spoke and he said it's okay to include it in this thread, since it's relevant to the subject)

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Wed, 13. Apr 16, 00:53

Hey guys, got great news - the new version (v2.0.43 RC5) seems to have fixed the save game import issue. All my new 4.0 saves that were failing to import before are now importing properly.

There are some new strings I need to help translate, but I'll post the new version up once that's done. :)

hisazul
Posts: 1211
Joined: Sat, 15. Oct 11, 04:12
xr

Post by hisazul » Wed, 13. Apr 16, 03:30

Heh now that you actually said it, having consumption for raw mined resources does make sense. Guess I needed to hear someone say it ~_~ those things this time around are more of a back thought rather then "holy boron stripper tenticle" thats 100 yeild roid... now it's more of "just add more miners". Tho its more appealing this way and self mining is miles better then it was...

Also pass on the messege to mayhaps change localization icon atm it looks... ermm whats the word... obscure? misleading? I'm not even sure it just doesn't look like localization button... more like spell-check button. :P

May want to just link to all the raw versions as well, there are plenty hidden russians about that could use it in as is format. Shame the only two actively used languages around are english and german... we got forums for all that and barely anyone uses them.
“Logic will get you from A to B. Imagination will take you everywhere.” - Albert Einstein

CulunTse
Posts: 118
Joined: Mon, 15. Jun 15, 08:10
x4

Post by CulunTse » Wed, 13. Apr 16, 21:42

Simoom wrote:I'll pass your message along in a bit. :) The author just sent me a new RC build, so I'll be testing that shortly.
Thanks! Obviously I'll gladly help testing and debugging!
I have some prior experience programming in .Net-on-windows for my last job, I hope that will help in the porting.
Would the .pdb (debugging symbols) be available by any chance? Having that would improve all the "<filename unknown>:0" in my stacktrace

Good luck on the RC-testing!

And just in case the windows-people want to test with Mono on their own machines: Mono also has windows builds:
installing Mono on windows

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Wed, 13. Apr 16, 23:03

Hey folks, X Rebirth Builder v2.0.43 just went live! :) Please go and test it out!
Those of you who had issue importing save games before should have an easier time now.

Change log provided below:

X Rebirth Builder v2.0.43:
Bug Fixes:
- Fixed bug that allowed the "Station" window to make changes to the base universe or station parameters without confirmation.
- Fixed incorrect display of secondary resources in ware balance window (anDron).
- Fixed bug that caused error when importing X Rebirth saves containing warehouses (AlexYar).
- Fixed bug that caused error when importing some modded save games (Simoom).
- Fixed incorrect definition of specialist skill levels when importing saves.
- Fixed incorrect definition of trade offers and prices when importing saves.
- Fixed incorrect calculation of building resources for warehouses;
- Fixed updating the station name in the structure of the complex (hisazul).
- Several other miscellaneous bug fixes.


New Features:
- Added scalable UI font (anDron): Press Cntr + Alt + S to access the new settings window (restart program for changes to take effect).
- Added customizable default specialist skill level (AlexYar): Press Cntr + Alt + S to access the new settings window (restart program for changes to take effect).
- Added display of stations with halted production modules on the minimap (Ritchie): For imported saves. Information is available at the production module under station details.
- Added detection of missing resources for production (Ritchie): For imported saves. Information is available at the production module under station details.
- Added loading/unloading of construction resources by sequences in "Freighter Cargo Calculator" (AlexYar).
- Disallowed the scattering of construction resources across different ships in "Freighter Cargo Calculator" (AlexYar, anDron).
- Added swithing of view mode for the "total", "volume" and "price" cells in the "Construction Resources" table (anDron).
- Added button "Turn off all production modules" (anDron).


Program Changes:
- Changed program name to "X Rebirth builder"(Simoom): The program will prompt again for the X Rebirth installation path on first run (registry settings from the previous version will be cleaned automatically).
- Optimized program loading.
- Changed the formatting of save files for complex and universe (older saves can still be opened, but the format will be updated when re-saved).
- Changed the output of trade offers shown on the "Wares tab" map (anDron).


To-do:
- Add more options for loading/unloading of construction resources in "Freighter Cargo Calculator" (AlexYar, anDron).

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Wed, 13. Apr 16, 23:07

Also got some messages from the author for people who had questions or suggestions:

-------------------------------

@hisazul:
Q. And why are mined resources included into this anyway?
A. These resources are used in the production of some wares. The program checks for these (and other) resources, depending on the location and availability of radar stations (using the logic of station's trade and miner ships): searches for stations producing (or selling) the necessary resources, as well as the possibility of their acquisition by the miners (checking the availability of those mining resources in the system (for stations with built-in radar) or sector). As a way you'll get them to their stations (trader ships, miners or use the NPC-traders) - the program does not take into account.

Q. Universe doesn't consider imported stations or complex or anything it's just 0 in entire complex column.
A. Please, read the Simoom's User Manual carefully ("Show location summary” on page 6).

-------------------------------

@CulunTse - I am willing to give you the source code, if you will undertake to make the necessary changes for porting programs on other operating systems. The program is written in VisualBasic (using VisualStudio Express 2015 for Windows Desktop)

-------------------------------

@All (English-speaking) pilots: I have a request to all, please use plain English (keep grammar and vocabulary as simple as possible) when you describe the problem with the program. I (and Google translate :) ) can not always understand what you write.

hisazul
Posts: 1211
Joined: Sat, 15. Oct 11, 04:12
xr

Post by hisazul » Thu, 14. Apr 16, 00:01

Mhm guess if I find more hickups I could try leaving a russian version as well, god thats going to end badly... lol

Oh man they optimized that loading time by a lot...

Also I finally found where they all hang out on that russian site... geez that place is confusing.

Edit:

v. 2.43

Added construction shop(albion CV) set all stages and personnel then tried to assign location to molten archon, lava flow.

Code: Select all

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at XRB.Form_Main.Universe_Map_Panel_MouseMove(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Also a request. Ability to select multiple stations in complex tab and toggle their production on/off as a group, instead of toggling them one by one. Copy/paste and delete function for selected groups would also be appreciated.
Ahem russion version of request... I swear I tried...
Spoiler
Show
Возможность выбирать группу станции и включать производство группой. Еще копировать и вставлять группу станции тоже было бы неплохо.
“Logic will get you from A to B. Imagination will take you everywhere.” - Albert Einstein

CulunTse
Posts: 118
Joined: Mon, 15. Jun 15, 08:10
x4

Post by CulunTse » Sat, 16. Apr 16, 19:29

So, small progress update on the Linux porting:

I've received the source code from Alexusvm.
I've installed the latest Mono packages (Mono 4.2.3.4 and Mono-Develop 5.10, freshly installed according to http://www.mono-project.com/download/
(The packages included with my distro were outdated.)
MonoDevelop is the community version of Xamarin Studio

As for code changes:
  • so far I've removed two dependencies: System.Deploy and System.Printing, which are Windows-specific. As far as I can tell, they are unused (Printing goes via System.Drawing.Print).
  • I had to switch all the *.resx files to "Build Action -> Compile", to fix "resource not found" errors
  • The Mono Visual Basic compiler, unfortuntately only supports Visual Basic up to Visual Studio 2005. This means the Object Initialisers "New Class with {.property1 = value1, .property2 = value2 }" aren't supported as they were introduced in Visual Studio 2008.
    I have to fix this 700+ times, or switch to Windows and cross-compile.
    I'm currently debating which to chose.

CulunTse
Posts: 118
Joined: Mon, 15. Jun 15, 08:10
x4

Post by CulunTse » Sun, 24. Apr 16, 13:59

Porting update!
I've gotten a succesful compile on my Windows machine, using Visual Studio Community Edition (same as alexusvm is using)
I tried running this compiled program with Mono, but that didn't work. There are no clear errors, so I gave up on that idea.

I'm now trying to compile with Mono on Linux.
To do this I am downgrading the program to Visual Basic 2005 (the last Basic supported by Mono). Like I posted before, this mostly means I cannot use so-called Object Initialisers: "New Object With {.Property = value}"
I've fixed about 400 of them so far, 320 to go!
(Big Hurray for regex find-replace!)

Thankfully, the "normal" With-syntax works, so I'm doing a lot of:

Code: Select all

Dim _stStage As New StationTree_Stage With {.Name = _stage_group_name, .LabelStatusWidth = LabelStatus.Width, .Padding = New Padding(10, 0, 0, 0), .IsNPCStation = IsNPCStation, .Stage = _stage, .Dock = DockStyle.Top}

vvvvvvv becomes vvvvvvv

Dim _stStage As New StationTree_Stage
With _stStage
  .Name = _stage_group_name
  .LabelStatusWidth = LabelStatus.Width
  .Padding = New Padding(10, 0, 0, 0)
  .IsNPCStation = IsNPCStation
  .Stage = _stage
  .Dock = DockStyle.Top
End With
Where useful, I'm also adding Constructors, and using those instead of the very verbose "With"

Code: Select all

Public Class user_balance_item
   .....

    Public Sub New(_ware As xr_ware_production, _time As Long)
        Ware = _ware
        Time = _time
    End Sub
The constructors can then be used like so:

Code: Select all

Dim _ubi As user_balance_item = New user_balance_item(someWare, someTime)
I apologise for the slow progress, I have a full-time job, a house and a girlfriend, so I can't dedicate as much time to this port as I'd like.

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Mon, 25. Apr 16, 05:50

Thanks for the update CulunTse :) Really appreciate that you are undertaking this project on your own.

Been busy myself working on my own mod - can't wait to get back to actually "playing" the game again (and put the Builder app to good use :D)

foxxbl
Posts: 354
Joined: Sat, 8. May 10, 10:31
x4

Post by foxxbl » Sat, 30. Apr 16, 00:07

Well I cannot tell you how much I was happy to see this tool.
Finally something to plan my 'closed loop'...
I thought to start putting everything in Excel, but luckily I haven't started because it would be enormous job..
This is really a lifesaver!
Kudos to devs and to all supporters!

Vaperius
Posts: 20
Joined: Sun, 23. Mar 14, 05:16

Post by Vaperius » Tue, 10. May 16, 09:27

Don't know if its been requested but is there any way for you to get the tool to allow for you to add wares to a station.

Its mostly as a service tool for testing new warehouses that have no wares; but has some test benefits with other stations.

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Tue, 10. May 16, 10:06

Vaperius wrote:Don't know if its been requested but is there any way for you to get the tool to allow for you to add wares to a station.

Its mostly as a service tool for testing new warehouses that have no wares; but has some test benefits with other stations.
No it hasn't been requested, though the author does monitor this thread so he may take into consideration.

Can you elaborate a bit on how such a feature would be used?

Vaperius
Posts: 20
Joined: Sun, 23. Mar 14, 05:16

Post by Vaperius » Tue, 10. May 16, 19:31

Warehouses don't have wares in them and don't have traditional productions stats.

A tool for adding wares into the system could be used for testing how adjustments to the system would affect everything overall within the economy. If you put X wares bought at X price to be sold at X price, the existing tool could calculate how much the goods value is and how much you could gain financially from selling your stock in a given economy. Basically a way to make it possible to place down a warehouse, put the wares in it you want to use in the first place and see how it effects everything.

It also be nice if the tool could give an estimate of X number of resources that the warehouse will be able to mine based on the OOZ statistics of its subordinate mining ships.

It also just as well should track the output of "Job" and mining ships of other stations to get an approximation of what the real raw material economy looks like. If its possible to import such data from a save that is.

User avatar
Robert Harrison
Posts: 26
Joined: Tue, 17. Jun 14, 22:28
x4

Post by Robert Harrison » Fri, 13. May 16, 09:57

I looked, and might have missed it, but I didn't see any note of this.

I have a station built in an empty sector of DeVries (between Twilight Sentinel and Flickering Flame) which I then named. When the tool goes to populate the map, the new sector breaks it. All the original sectors are piled up together in the center of the screen and the new sector is shown way out on the edge. And it doesn't let me click on any but the top one.

Tomorrow afternoon I can see about getting a screenshot of what I'm referring to if you'd like. It's about 3am now (hurray graveyard shift!), so it'd be 12 hours, at the very least, from the time of this post
"War is not violence and killing, pure and simple; war is controlled violence, for a purpose. The purpose of war is to support your government's decisions by force."

Excerpt From: Robert A. Heinlein. "Starship Troopers."

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Fri, 13. May 16, 11:13

Robert Harrison wrote:I looked, and might have missed it, but I didn't see any note of this.

I have a station built in an empty sector of DeVries (between Twilight Sentinel and Flickering Flame) which I then named. When the tool goes to populate the map, the new sector breaks it. All the original sectors are piled up together in the center of the screen and the new sector is shown way out on the edge. And it doesn't let me click on any but the top one.

Tomorrow afternoon I can see about getting a screenshot of what I'm referring to if you'd like. It's about 3am now (hurray graveyard shift!), so it'd be 12 hours, at the very least, from the time of this post
Yeah I don't think this tool takes into account any temporary (empty) zones the player populates, or any new areas added by mods.

I am not sure how difficult it would be to allow import of empty zones... it may be simpler for the tool to simply ignore those zones (and any stations within) altogether, but that may create some issues for planning.

I'll pass the issue along if the mod author hasn't read it yet. :)

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Fri, 24. Jun 16, 23:59

Hey everyone! Just letting you know that alexusvm has just released v2.1.44 of this tool. It includes a MASSIVE improvement to UI responsiveness (check it out) and a lot of nifty new features.

Full changelog below:
======================================
- fixed a level change "no bonus" specialists in the station structure;
- added splitter for resize "status" in the structure of the complex and the station (AlexYar, anDron);
- fixed a bug when assigning a buildpoint of the station after its change to the tab "Station" (hisazul);
- added player's warehouse management (Vaperius);
- added different variants of calculations of the "Complex Universe";
- improved UI performance;
- changed the colors for new user's stations (turquoise) and neutral NPC's stations (blue).
- improved import save game function;
- fixed import of trade ships (anDron);
- changed work switch "All production" - when enabled, the calculation is performed without taking into consideration the damage of components and production modules;

- added advanced tooltips for the stations (AlexYar, anDron);
- added check Manager (by default if not included "All production", the balances of the stations without a Manager are not calculated);

- added the edit of a hull state of the production modules;
- added warning about missing of secondary resources (anDron);
- some warnings about the state of the station can be disabled in a new window "Settings";

- changed the save format complex (old versions are supported, but require updates);
- added the ability to compress the complex file (enabled by default).

PhxAs5As5in
Posts: 1
Joined: Sat, 25. Jun 16, 22:26
xr

Getting errors when starting

Post by PhxAs5As5in » Sun, 26. Jun 16, 00:18

When I try to start 2.1.44 I get the following error:

{1001,301];
Unexpected node type Element. ReadElementString method can only
be called om elements with simple or empty content. Line 186, position 4.

Followed by an Unhandled exception boc with:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at XRB.Form_Load.SetLocalization()
at XRB.Form_Load.Me_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1080.0 built by: NETFXREL3STAGE
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
X Rebirth builder 2
Assembly Version: 2.1.44.0
Win32 Version: 2.1.44.0
CodeBase: file:///D:/Games/Steam/steamapps/common/X%20Rebirth/X%20Rebirth%20builder%202.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 14.6.1038.0 built by: NETFXREL2
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1038.0 built by: NETFXREL2
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1081.0 built by: NETFXREL3STAGE
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1078.0 built by: NETFXREL3STAGE
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1038.0 built by: NETFXREL2
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1038.0 built by: NETFXREL2
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1038.0 built by: NETFXREL2
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1064.2 built by: NETFXREL3STAGE
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Windows 10 x64. Tried running with every level of compatability mode but no change.

Post Reply

Return to “X Rebirth - Scripts and Modding”