Is there much demand for modding tools?
My previous tools, Tech Tree editor, improvement editor and system editor were abandoned due to continued changes in Galcv making them difficult to maintain.
I have spent some of my spare time recently re-coding from scratch. I now have a good foundation that should make them easier to maintain.
Any thoughts?
Unlimited traits and ability tweeks for us sandbox cheaters....
@treborblue
I have not yet modded more than a couple of minor experiments, mainly because for a while the game was changing too often. And once 4.1 was released, I just plain forgot that I wanted to mod. But now I am reminded
So basically, if you do make the tools, I would most likely use them. Count me in as interested.
New update coming soon.
Currently porting my tech tree tool to the new system.
Porting the old tech tree to the new system didn't go well. I've had to re-code a lot.
The upside is the GUI is all new, updated most of the look to be more inline with Crusade.
The downside is there is no modding of new trees, the old code just wont work with the new system. Not all features are ready.
You can filter the tree based on race traits and select which mods to show in the tree.
By default no mods are selected, and no filters applied to race traits. You will see the entire tech tree.
You will need ASP.Net Core 5.0 Runtime installed. You should be prompted to download it. Choose 'Download Hosing Bundle'
There may be bugs.
Installer
or
Zip Files
N.B.
If you have Precursor Worlds and Crusade DLC installed there is an error in the the file DLC4_PlanetTraitDefs.xml that will cause the tech tree not to load.
You will get a Null Reference Exception message.
To fix load the file '\Galactic Civilizations III\DLC\EXP2_Crusade\DLC\DLC4_PrecursorWorlds\Game\DLC4_PlanetTraitDefs.xml ' into a text editor,
Go to line 740 or search for <Scope></Scope> and delete this line. Save and try the tech tree again.
According to the schema is should not be empty. (Although it passes the schema check)
I will add a workaround in the next release.
Added workaround.
Hi treborblue,I got the Null Reference Exception message and tried your fix to correct the problem, but it makes the program crash completely (Technology Tree).
Does it crash to Desktop?
It should catch any errors and not crash.
This is the offending code, remove the line in Red.
<ExtremeTypeModifier>
<Modifier>
<EffectType>Promethion</EffectType>
<Target>
<TargetType>Colony</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>5</Value>
</Modifier>
<EffectType>SensorPower</EffectType>
<Value>12</Value>
<Triggers>
<OnEvent>OnConstructShip</OnEvent>
<Scope>Queue</Scope>
<TargetType>Ship</TargetType>
<Lifetime>Target</Lifetime>
<EffectType>ShipRange</EffectType>
<Value>3</Value>
</Triggers>
<OnEvent>OnColonizePlanet</OnEvent>
<Scope></Scope>
<TargetType>Faction</TargetType>
<Lifetime>Instant</Lifetime>
</ExtremeTypeModifier>
Can you take a look a the logs ...Documents\Galactic Civilizations III ToolBox\Logs.
See if there is any reason for the crash.
Yes, the program crashes to desktop.Here are the last lines of the logs file:2021-03-08 10:56:49.659 [FTL] Failed to DeserializeSystem.InvalidOperationException: There is an error in XML document (740, 24). ---> System.InvalidOperationException: Instance validation error: '' is not a valid value for ScopeTypes. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read4_ScopeTypes(String s) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read24_TriggerType(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read29_ExtremeTypeModifierDef(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read30_PlanetTraitDef(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read31_PlanetTraitListDef(Boolean isNullable, Boolean checkType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPlanetTraitListDef.Read32_PlanetTraitList() --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader) at GC3.Common.Xml.SerializeXml.<>c__DisplayClass2_0`1.<DeserializeToObjectAsync>b__0()2021-03-08 10:56:49.763 [FTL] Failed to Deserialize DLC4_PlanetTraitDefs.xml to GC3.Xml.Data.Models.PlanetTraitListDef - D:\Steam\SteamApps\common\Galactic Civilizations III\DLC\EXP2_Crusade\DLC\DLC4_PrecursorWorlds\Game\DLC4_PlanetTraitDefs.xml 2021-03-08 10:56:49.765 [ERR] Tech Tree Startup ErrorSystem.NullReferenceException: Null Reference Exception at GC3.Common.Managers.DefManager.LoadAsync[T](String file, List`1 galCivToolTypeModels) at GC3.Common.Managers.DefManager.LoadAllFilesFromListAsync[T](List`1 xmlFiles) at GC3.Common.Managers.DefManager.LoadDefsAsync[T](String elementName) at GC3.Tools.TechTree.Models.TechStatSearch.LoadAllDefs() at GC3.Tools.TechTree.Models.TechStatSearch.SearchAsync(List`1[] techTreeItemsCategories) at GC3.Tools.TechTree.TechProcessing.TechTreeProcessor.ProcessTechTrees() at GC3.Tools.TechTree.ViewModels.TechTreeViewModel.OnLoadedAsync()
That is the error I was talking about, AFAIK its only that file that has an error.
Try this Installer
I've added a quick workaround for the null xml error for this particular file. Also enabled debug logging.
If you still get issues,
try a clean install of the tool, delete the \Documents\Galactic Civilizations III ToolBox folder.
Verify your GalCiv files.
Let me know how you get on.
I uninstalled the program and deleted all folders before doing an installation with the last installation file (GC3ToolBoxSetup_Beta-Demo.exe).I also checked the integrity of the game files with steam.The program crashes to desktop in the same way (and with the same message window).
Here is the logs file.
Can you zip the Documents\Galactic Civilizations III ToolBox\settings folder and send a link.
I think its something to do with language texts.
Here is the settings folder.
Everything looks fine.
Its parsing the tech tree and stats ok. But doesn't start the rendering. Not sure why.
I am Downloading GalCiv on to another PC to see if I can reproduce the error.
What Language is your GalCiv set to in steam?
Have you opted into 'opt_in_update' in steam, this introduced multiple language files into the root directory.
This could be the cause.
I have added some more debug logging can you try the download link again.
It may still crash but hopefully we should get the reason why.
The language setting is english and with the 'opt_in_update' in steam.The program crashes to desktop in the same way with the latest version of the installer.Here is the logs file.
Did you get a popup just before it crashed?
I installed a fresh copy of GalCiv on an old PC and it worked fine. I even tries different languages thinking it might be tied to this. But this also worked ok.
Do you have visual studio 2019 or equivalent on your PC, I can send you the source code to debug?
Yes, the Windows message window is displayed.I'm not a programmer, and I'm more interested in the creation side than the programming side, that's why I would prefer a graphical tool to make the changes.
I want to get it working for you, but I can't reproduce the crash. The crash seem to be happening during UI binding. I have added debug logging to everything I can think of, but in your case it crashes before it logs anything.
Has anyone else managed to get the tool working?
Working fine for me, with Precursor Worlds and Crusade both installed.
Thanks for letting me know.
Are you using steam?
Do you have the 'opt_in_update' enabled?
What language are you using?
Thanks for letting me know.Are you using steam?Do you have the 'opt_in_update' enabled?What language are you using?
Steam version, English language. I wasn't using opt_in_update when I made my last post. I installed opt_in_update and tried it again just to be sure and it still works.
Hello treborblue,It seems that something is wrong with the Intrigue expansion.If I remove the folder "EXP3_Intrigue" the program does not crash and I get an error message.
This is a different issue.
It does however highlight the issue that the tech tree assumes that the user has Intrigue installed, I must fix this.
Previously in your logs the tool had already processed all the relevant xlm files including Governments defs.
It had also passed the sorting of the trees and parsing all the stats.
For some reason it failing when rendering the tree components.
The language files are loaded and cached when they are first required, in this case during rendering. This is what led me to think it was language related.
I will move the caching of the language files before rendering to see if we can catch your error.
@Unknown_Hero
Uploaded a new version. Can you try the installer link again.
I have added a debug - test language files drop down from the main window. If this works it should eliminate language files issues.
Added more checks.
Let me know the results.
After validating and saving the paths I get this window when I click on the "Exit" button:
Here is the logs and settings folders.
Fixed, Try again
There are many great features available to you once you register, including:
Sign in or Create Account