ENDLESS™ Space is a turn-based 4X strategy game, covering the space colonization age in the ENDLESS™ Universe. You control every aspect of your civilization as you strive for galactic dominion.
You can't imagine how wonderful it is when you can create mod without having to worry about characters :P
I can finally do things freely and only crash messages I get is when I try to do something what game doesn't understand. (hey, removing access to any ships should be normal action :P)
1) All new code that I add will be in my own XML files
2)Any default code that I 'tweak' will also end up in my custom XML file with the required XML file(s) cleaned of matching code. Worst case is I might have to include a mostly delete default XML file in my distribution
3)Use a custom localization file.
The above 'rules' will hopefully prevent extensive updating whenever the dev release patches. All that will be required is simple removing the limited offending code rather the redoing every change to all the required files. Side benefit is that I can simple create one XML file that I can edit rather then trying to match their formatting structure. Basically, limit modification of the default XML files as much as possible
I guess I didn't explain it as well as I hoped I did... here goes:
Say I want to modify the below code so TerraformationToBarren only cost 100 instead, what I'm proposing is the following. Instead of simply modifying the value in the PlanetImprovement.xml file, copy that section of code over to your custom XML file, and remove that section of code from the PlanetImprovement.xml file.
[CODE] ColonizeDependance="ColonizeBarren">
PlanetTypeBarren
($(PlanetTypeDesert) or $(PlanetTypeArctic) or $(PlanetTypeLava)) and $(PlanetStatusColonized)
%TerraformationToBarrenTitle
%TerraformationToBarrenDescription
[/CODE]
By modifying your custom XML file rather then the PLanetImprovement.xml file, you're avoiding a lot of potential conflicts down the road, as when a new patch is released all you have to is delete that section of code from PlanetImprovement rather remodify. Granted the above is an extremely easy example, but I believe it is a lot easier to clean a code section up then rebuild it every patch, and potentially making it easier to merge mods even. Maybe, even put a tiny bit of peer pressure on the devs to include the 'if two items have same name, then modders file is prioritized' feature I suggested xD
So you would copy out an entire object and then modify the copy. Can you confirm if that works today? Even if it did, I would be nervous about using that. If a subsequent patch changes some other attribute of the object, then you will not be able to tell. I agree that when possible, we should add new objects in new files. But when changing objects, I feel it is better to just take the pain of diff/patch to update, rather than creating a copy of an existing object.
Confirmed - I commented out Nanoscale Thermodynamics, and copied it over to my custom XML file, where I proceeded to modify the appropriate entries and it functioned perfectly in game.
Userbased XML file(s) - this approach has three key points
1) Allows userbased file management system vs developers (I can search my custom file(s) easily vs 57 files)
2) Potentially easy non-conflicting mod merging as each mod would offer an independent file system
3) Decrease file bloat - the modder only includes what they mod or suppress (avoid completely redoing mod every patch)
Now my question for the dev's is - is there any reason to not have one XML file for everything when I mod? Will it slow down access time?
And as for future overhaul of game design in the future, you'll still have to go in and remove/comment out sections of code for overlapping conflicts between the mod and default settings, at which point you'll hopefully notice. And god I hope any serious modders are planning on making custom XML files when they add new items >.>
Well I've managed to convert everything over to my suggested system - I'm currently running off 5.5 files instead of 9 (I don't really see why I couldn't reduce it down to 1 file, but I'm keep some file structure). I'm not touching Registry.xml as of right now (thats my .5 file) as the thing has too many sublevels to be worth drilling down into right now. And even technology.xml, I cloned it basically but editing that one is touchy... I couldn't grab the one line I wanted to out of it without grabbing the other lines or crashing the game ;S
Basically I merged all classes and their matching descriptors together - reduces number of files I have to work with by ~30%! (after accounting for modules and technologies)
ie: StarSystemImprovement.xml and StarSystemImprovementDescriptor.xml are now StarSystemImprovement_R.xml
But, in index.xml the different files are loaded into different repositories. Are you sure all your changes are taking effect? Or do you load your one file into each different repository?
Even copying the unmodded 'Public' directory files into my modding directory causes a game crash when attempting to load it as a mod.
I'm willing to be shown it's something I'm doing, if anyone has any idea what. I do notice that my list of mods contains mods of the original name even when I edit the xml file to change the name. I just thought that was odd.
Nothing shows up in the output log that suggests an issue.
Ironically, I had no trouble at all with hand editing the 40K lines of code in the assets file. Now they've made it easier and I got nothing.
Can you please try my anomaly mod, and see if that works for you? None of the other mods are compatible with 1.0.14. If mine works, then please look into it and see if you can see any differences. One key point is "standalone=false" in index.xml.
KnightHawk
Newcomer
KnightHawk
Newcomer
100g2g ptsReport comment
Why do you report KnightHawk?
Are you sure you want to block KnightHawk ?
BlockCancelAre you sure you want to unblock KnightHawk ?
UnblockCancelPleasure
Newcomer
Pleasure
Newcomer
200g2g ptsReport comment
Why do you report Pleasure?
Are you sure you want to block Pleasure ?
BlockCancelAre you sure you want to unblock Pleasure ?
UnblockCancelIgncom1
Craver
Infantry win firefights. Tanks win battles. Artillery win wars.
Igncom1
Craver
11 400g2g ptsReport comment
Why do you report Igncom1?
Are you sure you want to block Igncom1 ?
BlockCancelAre you sure you want to unblock Igncom1 ?
UnblockCancelCalavoow
Newcomer
Calavoow
Newcomer
100g2g ptsReport comment
Why do you report Calavoow?
Are you sure you want to block Calavoow ?
BlockCancelAre you sure you want to unblock Calavoow ?
UnblockCancelHupailija
Timer
Hupailija
Timer
21 300g2g ptsReport comment
Why do you report Hupailija?
Are you sure you want to block Hupailija ?
BlockCancelAre you sure you want to unblock Hupailija ?
UnblockCancelIgncom1
Craver
Infantry win firefights. Tanks win battles. Artillery win wars.
Igncom1
Craver
11 400g2g ptsReport comment
Why do you report Igncom1?
Are you sure you want to block Igncom1 ?
BlockCancelAre you sure you want to unblock Igncom1 ?
UnblockCancelDagobert
Newcomer
Dagobert
Newcomer
4 000g2g ptsReport comment
Why do you report Dagobert?
Are you sure you want to block Dagobert ?
BlockCancelAre you sure you want to unblock Dagobert ?
UnblockCancelmJrA
Newcomer
mJrA
Newcomer
200g2g ptsReport comment
Why do you report mJrA?
Are you sure you want to block mJrA ?
BlockCancelAre you sure you want to unblock mJrA ?
UnblockCancelCalavoow
Newcomer
Calavoow
Newcomer
100g2g ptsReport comment
Why do you report Calavoow?
Are you sure you want to block Calavoow ?
BlockCancelAre you sure you want to unblock Calavoow ?
UnblockCancelDagobert
Newcomer
Dagobert
Newcomer
4 000g2g ptsReport comment
Why do you report Dagobert?
Are you sure you want to block Dagobert ?
BlockCancelAre you sure you want to unblock Dagobert ?
UnblockCancelVIPiblise
Newcomer
VIPiblise
Newcomer
4 000g2g ptsReport comment
Why do you report iblise?
Are you sure you want to block iblise ?
BlockCancelAre you sure you want to unblock iblise ?
UnblockCanceldavea
Newcomer
davea
Newcomer
700g2g ptsReport comment
Why do you report davea?
Are you sure you want to block davea ?
BlockCancelAre you sure you want to unblock davea ?
UnblockCancelVIPiblise
Newcomer
VIPiblise
Newcomer
4 000g2g ptsReport comment
Why do you report iblise?
Are you sure you want to block iblise ?
BlockCancelAre you sure you want to unblock iblise ?
UnblockCanceldavea
Newcomer
davea
Newcomer
700g2g ptsReport comment
Why do you report davea?
Are you sure you want to block davea ?
BlockCancelAre you sure you want to unblock davea ?
UnblockCancelVIPiblise
Newcomer
VIPiblise
Newcomer
4 000g2g ptsReport comment
Why do you report iblise?
Are you sure you want to block iblise ?
BlockCancelAre you sure you want to unblock iblise ?
UnblockCancelVIPiblise
Newcomer
VIPiblise
Newcomer
4 000g2g ptsReport comment
Why do you report iblise?
Are you sure you want to block iblise ?
BlockCancelAre you sure you want to unblock iblise ?
UnblockCanceldavea
Newcomer
davea
Newcomer
700g2g ptsReport comment
Why do you report davea?
Are you sure you want to block davea ?
BlockCancelAre you sure you want to unblock davea ?
UnblockCancellongstreet63
Newcomer
longstreet63
Newcomer
10 100g2g ptsReport comment
Why do you report longstreet63?
Are you sure you want to block longstreet63 ?
BlockCancelAre you sure you want to unblock longstreet63 ?
UnblockCancelVIPiblise
Newcomer
VIPiblise
Newcomer
4 000g2g ptsReport comment
Why do you report iblise?
Are you sure you want to block iblise ?
BlockCancelAre you sure you want to unblock iblise ?
UnblockCanceldavea
Newcomer
davea
Newcomer
700g2g ptsReport comment
Why do you report davea?
Are you sure you want to block davea ?
BlockCancelAre you sure you want to unblock davea ?
UnblockCancel