Author Topic: X-Piratez Utility  (Read 7580 times)

Offline cc

  • Colonel
  • ****
  • Posts: 244
    • View Profile
X-Piratez Utility
« on: January 17, 2018, 09:17:52 pm »
Getting fed up with maintaining complex Excel workbooks, I started automating my information gathering. Currently the utility only has a research tree in it, but there'll be more once (or if ;)) I get around to implementing the features.
Please note that while the tool is tested against the latest X-Piratez mod release, it should be version and mod agnostic.

Usage:
1. Start the program. Marvel at the one fast start you'll see.
2. Switch to settings tab.
3. Add configuration folders in load order. Usually this will mean the original rules followed by the original language files, then X-Piratez and then any child mods you use.
4. Restart the program.

If you add a valid save game file, the research tree will be filtered to exclude already discovered techs. While this is strongly recommended, adding a save file is optional and the filtering can be turned off if you want to marvel at your accomplishments.
The reload button in the settings also resets research progress while the one in the tree only adds new discoveries.
You can change graph modes on the fly by clicking on the little tree icon. MDS (good for complex trees) and Sugiyama (good for the last mile) can also be set as defaults in the settings. If enough people find the other layouts actually usually, I might expose them too.

Red = Requirement
Blue = Get Free From
Green = Unlocked By

Roadmap:
Add items
Add production options; finalize research and items
Add facilities
Add bases; finalize production options and facilities
Add weapons, craft weapons, flight plans, tractor beam numbers (not necessarily in that order)



Changelog:
1.3.122:
Fix: Another issue with lookups causing duplicate dependencies fixed.

1.3.121:
Fix: Added alternative, weaker speed optimization for the research screen reload button.
Fix: Researched technologies are now saved in order instead of chronologically. Removed speed optimization for the research screen reload button.
Fix: Caught null-reference exception when removing deleted techs (tech never existed or was deleted multiple times).

1.3.118:
Warning: You will have to delete the hideTechnologyUnlocks & hideTechnologyGetFreeFrom nodes from your config.ini after getting the newest version!
It's now possible to configure thresholds for hiding technology unlocks and freebies.
Added config.ini option to set start size.  (Requires saving the config once if it already exists)
Reorganized the settings screen. It was getting crowded.

1.2.114:
Display an error if config.ini can't be written.
Lookups now behave like dependencies.
Reworked reloading behavior to exit early when known technologies are hit.
Unlocks and freebies can now be hidden.

1.1.110:
Settings tab now has docked controls too.
Warning about missing tech is now only displayed once.
« Last Edit: July 21, 2018, 10:27:14 pm by cc »

Offline ivandogovich

  • Commander
  • *****
  • Posts: 2381
  • X-Com Afficionado
    • View Profile
    • Ivan Dogovich Youtube
Re: X-Piratez Utility
« Reply #1 on: January 18, 2018, 05:12:16 am »
Nice tool!   Couple bits of feedback:
I forgot to add the \piratez\Language folder and was faced with an unstoppable stream of popups declaring they had no idea what all those strings were about.
Also, the settings tab didn't play well with my Laptop screen's resolution and had the lower right save and reload buttons partially off screen to the right.

These were the paths I found helpful
\Dioxine_XPiratez_099I1\Dioxine_XPiratez\standard\xcom1
\Dioxine_XPiratez_099I1\Dioxine_XPiratez\standard\xcom1\Language
\Dioxine_XPiratez_099I1\Dioxine_XPiratez\user\mods\Piratez\Ruleset
\Dioxine_XPiratez_099I1\Dioxine_XPiratez\user\mods\Piratez\Language

I'm curious about your coding of this app.  Are you using c++ like the project?  Are you willing to share your project on github?
I have a pet project that I'm trying to gain enough understanding to start coding>  I'm looking to create a utility that will help me consolidate armor recipes when they include an lower tier suit.

Thanks again!

Offline cc

  • Colonel
  • ****
  • Posts: 244
    • View Profile
Re: X-Piratez Utility
« Reply #2 on: January 18, 2018, 07:41:13 am »
I forgot to add the \piratez\Language folder and was faced with an unstoppable stream of popups declaring they had no idea what all those strings were about.
That's interesting. When the tool can't find a name for a technology, it should display the internal name instead.
There is an error message for missing technologies, but that should be because a (sub-)mod folder is missing, not a language one. For now I changed it so that the message only displays once which is a good idea anyway.
Anyway, do you have the exact error message for me?

Also, the settings tab didn't play well with my Laptop screen's resolution and had the lower right save and reload buttons partially off screen to the right.
Settings tab now also has a variable layout.

I'm curious about your coding of this app.  Are you using c++ like the project?  Are you willing to share your project on github?
I have a pet project that I'm trying to gain enough understanding to start coding>  I'm looking to create a utility that will help me consolidate armor recipes when they include an lower tier suit.
It's written in C# and hosted on visualstudio.com. I'll look into how to set up permissions to make the public able to view the source code on there this weekend.

P.s.: Components for products will be shown eventually, but that's a good way down the planned feature list.
« Last Edit: January 18, 2018, 06:29:58 pm by cc »

Offline Blood Raven 117

  • Sergeant
  • **
  • Posts: 25
    • View Profile
Re: X-Piratez Utility
« Reply #3 on: January 18, 2018, 08:12:33 am »
This looks really cool can't wait to see what you do with it.

Offline cc

  • Colonel
  • ****
  • Posts: 244
    • View Profile
Re: X-Piratez Utility
« Reply #4 on: January 19, 2018, 06:51:30 pm »
New version is up. Changelog:

1.2.114:
Display an error if config.ini can't be written.
Lookups now behave like dependencies.
Reworked reloading behavior to exit early when known technologies are hit.
Unlocks and freebies can now be hidden.



Next one will probably take a bit longer.

Offline cc

  • Colonel
  • ****
  • Posts: 244
    • View Profile
Re: X-Piratez Utility
« Reply #5 on: January 21, 2018, 12:45:41 am »
That was faster than expected. Next, source code, then items. >.<

Changelog:
1.3.118:
Warning: You will have to delete the hideTechnologyUnlocks & hideTechnologyGetFreeFrom nodes from your config.ini after getting the newest version!
It's now possible to configure thresholds for hiding technology unlocks and freebies.
Added config.ini option to set start size.  (Requires saving the config once if it already exists)
Reorganized the settings screen. It was getting crowded.

Edit: Source code is cancelled. Visual Studio doesn't allow to publish to an online Git repository out of the box and the VS website only works with registered users. Too much hassle, I'm afraid. >.<
« Last Edit: January 21, 2018, 06:56:28 pm by cc »

KZad Bhat

  • Guest
Re: X-Piratez Utility
« Reply #6 on: July 21, 2018, 09:08:17 pm »
This is a comment before having actually tried it, but the way this is described, it's making out a graphical research tree from the actual game data, so won't ever need much of an update itself for that functionality, correct?
Edit: Looking at it now, I've obviously answered my own question, but I am wondering . . . why are there two red lines from (Young Uber) to [Recruit: Young Uber]? Found it when checking the layout for Laser Battery, confirmed with actually checking for Recruit: Young Uber.
« Last Edit: July 21, 2018, 09:41:51 pm by KZad Bhat »

Offline cc

  • Colonel
  • ****
  • Posts: 244
    • View Profile
Re: X-Piratez Utility
« Reply #7 on: July 21, 2018, 10:31:25 pm »
why are there two red lines from (Young Uber) to [Recruit: Young Uber]?
Technologies can be synonymous to other technologies. The fix I put in before didn't catch all cases, it seems. New version that does is up now, though.