[TOOL A8-15] RimSearch (Updated 11.07.2016) - The Research Tree Graph Generator

Started by 1000101, April 08, 2015, 07:40:50 PM

Previous topic - Next topic

harpo99999

sorry to upset you, BUT I just downloaded and tested (on the SAME modstack) and it is STILL crashing in Apothecarius, are there ANY possible dependencies that could be causing the issue??

1000101

Ok, so after searching around, running RimSearch in a debugger, etc, etc...it's a combination of two things, Apothecarius' terrible xml and the xml library choking on said terrible xml.

Apothecarius' "research.xml" has a space on line 16 between "<prerequisites>" and "<li>" and that is causing the crash, even though it shouldn't.

Unfortunately I can't fix that as it's in the xml parser.  Just remove that space and it seems to work.  The reason it didn't happen to me yesterday is that after loading the xml to take a look at it, I prettied up the xml so it was readable and had actually removed that.

So, Apothecarius is crashing for two reasons:
1) No <prerequisites> in Soylent Green, my bad code now fixed, and;
2) A space between two xml tags on the same line, not my bad code, but still bad code and nothing I can do to fix that one.

I had a look for what is "correct" xml syntax but my search was inconclusive on whitespace between tags on the same line.  From what I can tell, it should be allowed and therefore the library I am using has bad code.

So, make sure the xml is formatted correctly (which I'm not 100% sure Apothecarius is properly formatted) or at very least isn't too wanked (and Apothecarius' xml formatting is definitely wanked).

Edit:

No worries about "upsetting" me.  :)  In the software world, "bugs happen" :)
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

harpo99999

as a fellow pogrammer(and have been programming since 1979), I do have an idea exactly how frustrating subtle bugs are to find and fix espeically in a unpaid urgent situation, which is why I used the defusing emotition statement,
and thank you for identifying the actual cause of the problem

Uglyr

WOW!!! That's supergreat thing!

And I know how to make it uber-supergreat (if you ever have time for this) - show somehow buildings that are unlocked with each research. Either on big picture or in info box for selected tech.  ::)

1000101

That's been on my todo list for a while now, as well as Community Core Library Advanced Research in regards to showing buildings and recipes unlocked.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

1000101

Updated today.

Minor bug fixes, small improvements, optimizations, png exporting instead of bmp.

Edit:

Fixed a small bug where it wouldn't load the xml files in an external editor.  Sorry to anyone who downloaded it already.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

1000101

Updated to play nice with Alpha 13.

Handles abstract parents in a single file!  Not the xml specification breaking which RimWorld supports.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By


harpo99999

confirmed lack of attachment
message is

[attachment deleted due to age]
« Last Edit: April 20, 2016, 03:45:33 PM by 1000101 »

1000101

Fixed

Stupid forums...deleting my brand new files...not letting me just replace them...gotta fail at being smart...
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

1000101

Updated for A14 change of "totalCost" which has become "baseCost".
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

vinionk

Does this require DotNet 4 / 4.5 ?

When I run this currently, nothing happens  - no window, no output, not errors. But I also think I'm running an old version of Dotnet.

I don't suppose it's because I'm running a portable batch script, eh ?
"RimWorld1241Win.exe -savedatafolder=SaveData"

1000101

hmm, I should actually add the -savedatafolder command-line switch to RimSearch to handle that.  Currently it looks for the ModsConfig.xml in the default location.

As far as system requirements, this is a native 32-bit application for Windows so you don't need anything except a Pentium (80586) or compatible CPU, 16MB RAM and Windows 95 or later.  ;)
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Thundercraft

This looks like it has a lot of potential. However, when it created my research tree it tried to squeeze together 97% of my techs into three tightly-packed vertical columns and linked most of them to Electricity and Microelectronics Basics. With countless lines connecting to those two techs, this makes the chart very hard to read. The lines overlap so much I can't tell exactly what is pointing to what.

Would it be possible, in a future version, to try to get it to space these out horizontally in a way that makes it much easier to read? IMO, that would make this much more useful.

P.S.: Perhaps it has something to do with how I have several dozens of mods?

1000101

It builds tiers of research based on their parents, recursively.  If you have a lot of research depending on a single parent then they will all be on the same tier and it can make for one big mess.  :P

I have considered updating the interface to account for those nasty spiders nests though.  The only problem is time... :(
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By