Logo Platform
logo amplifiers simplified

[TOOL] Endless Legend Splitter XML

Reply
Copied to clipboard!
9 years ago
Nov 1, 2015, 3:47:34 PM
Hi,



I've posted a mod called "TinyTraits" recently. If you look at XML, you can see there is a lot of text, in differents files.

Netherless, this mod have been made in less than 4 hours.



It's possible because I've made a editing tool very simple. Using it have reducted largely mod development time, and provided a way to not make usual syntax errors of EL mods.

Problem of modding EL is redondance of titles and name, and files dispatched everywhere.







Split & Dispatch

[HR][/HR]

You can edit all XML text of a new Content in the same file, the tool will split and dispatch texts in the correct XML files.

Example : you want to edit a new Trait, you don't need to edit all XML files concerning it.

So, you make less errors, you have a synthetic view of all aspects of the Trait, don't forget to edit any XML File, and don't be tired to edit so many files.

Secondary, the Tool help editing, because you can define the Trait Name in a variable. In this way, you don't make syntax errors, forget a remplacement, or make a lot of copy-paste.



You have to specify :



?NNN?=MyNewTraitName

Each time the variable ?NNN? is find after that, it's remplaced by "MyNewTraitName" when generating the splitt & dispatch.

You can create your own variable. Let say ?VVVVV? for example. Var Names must be between two "?".



@path=[RelativeFilePath]

All text below that line will go in the specified file.



The unsplited File must be in the ELS_IMPORT folder.

The MOD will be generated in the ELS_EXPORT folder.




If defined before, a variable can even replace text in @path=

It's useful if you work on technologys, because files have a era number.



Screenshot and code examples :



In the XML edited file, text look like this :

[CODE]







?FFF?=EnchanteurTinyTraits

?GGG?=EnchanteurGlobalTraits



@PATH=GUI/GuiElements[FactionTraits].xml



%CustomTraitFamilyFilter?FFF?Title

%CustomTraitFamilyFilter?FFF?Description





@PATH=Localization/french/EF_Localization_Assets_Locales.xml



TinyTraits Enchanteur

Nouveaux traits "Tiny" ajoutés par le Mod "Tiny Traits" d'Enchanteur.

@PATH=Localization/english/EF_Localization_Assets_Locales.xml



TinyTraits Enchanteur

New traits "Tiny" added by "Tiny Traits" mod, made by Enchanteur.





@PATH=GUI/GuiElements[FactionTraits].xml



%CustomTraitFamilyFilter?GGG?Title

%CustomTraitFamilyFilter?GGG?Description





@PATH=Localization/french/EF_Localization_Assets_Locales.xml



GlobalTraits Enchanteur

Nouveaux traits "Génériques" ajoutés par le Mod "Tiny Traits" d'Enchanteur.

@PATH=Localization/english/EF_Localization_Assets_Locales.xml



GlobalTraits Enchanteur

New traits "Globals" added by "Tiny Traits" mod, made by Enchanteur..







?NNN?=EnchanteurEphemerid

?DDD?=Ephemerid : Unit cost halfed, -10% life per turn on units



@PATH=Simulation/FactionTraits[Custom].xml











@PATH=Simulation/SimulationDescriptors[FactionTrait].xml

















@PATH=Localization/french/EF_Localization_Assets_Locales.xml



Ephémères

Prix réduit, vie courte. Vos unités perdent de la vie progressivement, jusqu'à ce que mort s'ensuive.



@PATH=Localization/english/EF_Localization_Assets_Locales.xml



Ephemerids

Cheap Life, Short Life. Your units loose life each turn until dead.



@PATH=GUI/GuiElements[FactionTraits].xml





%FactionTrait?NNN?Title

%FactionTrait?NNN?Description







?NNN?=EnchanteurMemorialVenerators

?DDD?=Founder's Memorial Venerators : Each city get bonus of founder's memorial



@PATH=Simulation/FactionTraits[Custom].xml











@PATH=Simulation/SimulationDescriptors[FactionTrait].xml























@PATH=Localization/french/EF_Localization_Assets_Locales.xml



Vénérateurs de monument

Chaque cité dispose d'un monument du Fondateur.



@PATH=Localization/english/EF_Localization_Assets_Locales.xml



Memorial monument venerators

Each city get the founder's memorial monument.



@PATH=GUI/GuiElements[FactionTraits].xml





%FactionTrait?NNN?Title

%FactionTrait?NNN?Description







?NNN?=EnchanteurMemorialProfanators

?DDD?=Founder's Memorial Profanators : Each city get negative malus of attributes of founder's memorial



@PATH=Simulation/FactionTraits[Custom].xml











@PATH=Simulation/SimulationDescriptors[FactionTrait].xml























@PATH=Localization/french/EF_Localization_Assets_Locales.xml



Profanateurs de monument

Chaque cité a des malus égaux en négatif à ceux apportés par le monument du Fondateur.



@PATH=Localization/english/EF_Localization_Assets_Locales.xml



Memorial monument Profanators

Each city get negative malus of attributes of founder's memorial.



@PATH=GUI/GuiElements[FactionTraits].xml





%FactionTrait?NNN?Title

%FactionTrait?NNN?Description





[/CODE]

This code is a part of one of the Mod Files TinyTraitsGlobal.xml.

My Mod "TinyTraits" is still in the ELS_IMPORT folder, so you can see an example of how it work. Of course, after that, remove these files and make yours !

Take a look at "EnchanteurMemorialVenerators" Trait. All this Trait need is here, in a single File, all power of this tool is to make that possible.

Notice that the variable ?DDD? is used for automatic commentary in the finals XML files.



ELS_IMPORT Folder :



Notice : All the files will be splited and dispatched, so I have made a file by Trait category, because I don't want to work on a not-maintenable single file of 5000 lines.



Click on "Split & Dispatch", then Mod files and folder will be generated, like this :



Look at sub-folder "simulation" :





Collect & Modelize

[HR][/HR]

This function help you to make a new file ready to edit, if you want to use further the function Split & Dispatch.

Example : you want to make a new Trait, you find in any XML file of the game something you want to start from.

You want to be sure to not forget editing any file when making this new trait.

The tool will collect anything about the trait you want starting from, in all files of the game.

Then, it will remove garbage (maybe not all), and create a file with only what you need to edit for making your new Trait. You just need to clean what is collected and you don't want.

Additionnaly, the old Trait Name will be put into a Variable ?NNN?, and you just have to edit your new trait name once instead of old one.

All @path will also be generated.



The file will be generated in the ELS_COLLECT Folder, and called OldTraitName.xml.

If the file is Ok, you just copy it into ELS_IMPORT folder and start to work on it.

You need to copy PUBLIC folder of the game in the tool directory.



Screenshot and code examples :



Enter the trait name you want to copy, and click on "Collect & Modelize".

Here, I choose to enter "Army2", it's the "Fragile Health" Trait of original game.

This function take 2-3 seconds (360 mo to look into, in public files of the game !).

A file is generated in EL_COLLECT folder :





After looking in all files of public folder where the Trait is used, the tool have generate this file like this :



[CODE]







?NNN?=Army2



@path=Gui\GuiElements[FactionTraits].xml





%FactionTrait?NNN?Title

%FactionTrait?NNN?Description







%FactionTrait?NNN?Title

%FactionTrait?NNN?Description





@path=Localization\english\EF_Localization_Assets_Locales.xml

Fragile Health

Gives a Heath penalty to Units.



@path=Localization\french\EF_Localization_Assets_Locales.xml

0Send private message
9 years ago
Nov 9, 2015, 6:46:03 PM
New version of this TOOL !

- Major improvement with "Collect and modelize" function.

- Redaction of the original post with shootscreen, explications, user manual like.
0Send private message
9 years ago
Nov 10, 2015, 8:45:42 AM
Well, I just wanted to let you know that we are really impressed by your dedication and work!



We should have done something like this from the beginning...



Thanks for being awesome and still wanting to use our game!!!



Cheers,

Flo.
0Send private message
9 years ago
Nov 10, 2015, 5:59:00 PM
Hello ThorTillas, and thanks, but it's your game that is awesome smiley: wink



I'm developer, but in informatic gestion domains, databases etc. This tool was quickly made, (4 h) and internal code can be improved because there is no error catch or good structure, i wanted to do fast because i wanted first make the Mod. But at total, it took less time to make the tool+the mod than make the mod without the tool.

It's what i do in my domain (consulting), provide some little tools helping partners to do what they need, but with an automatic and faster way. So everytime i need to do someting, I always look at repetitive actions, unergonomics actions, what can create errors because humain actions, and do my best to help with that, and most of the time with shorts deadlines.



I don't know very well how to program games, it seem very complicated for me because i don't have a good mathematic level and don't use complicated algorithm. at my best I used a simplified version of bresenham algorithm in a rogue like game, but never finished it, too big project for me and not enough motivation. I just succed to do the basics : automatic generation of dungeons and dynamic light when moving the hero.



I supposed, but maybe i'm wrong, you already have a sort of internal tool, administration data interface. And you used it, and it generate your xml files, and use xml files and put it in a data structure, or object data structure when running the game.

At first before making this tool, i started working on a tool like this (data structure of game terms + an xml datastructure for generation). But i realized that it need to know your data structure. I have coded something that making technology and city improvement, with forms easy to use, admin interface like. But after that, i though it was a wrong way because there is many exceptions and i probably need to redo the same for all part of the game, and it's to big to analyse everything with exceptions.

So i left this project and at morning, it was clear that a tool more simple would be better. I have analysed my gestures and natural actions when modding. And something natural was to look inside your xml, copy an effect (simulationdescriptor) and paste it into my mod with modifications. So the tool just need to help this process.



I've no idea how making a game like EL, how things are integrated, what code plateform used, etc. But it's surely very interesting. if one day you offer the visit of your studio like google do, put me on the list smiley: wink
0Send private message
9 years ago
Nov 11, 2015, 11:29:27 AM
I am me too very impressed by your fervor and skill at work. smiley: smile



Thank you very much.
0Send private message
9 years ago
Nov 12, 2015, 12:53:22 PM
Hello Jojo !



NEW VERSION UPDATE...

I'm currently making a tech mod, and I needed some new functionnalitys for that, or improve existing ones. So i have ameliorated again a little ELS because I don't like to work on things a computer can do himself smiley: smile



- Some code cleaning

- Added localization facilitys

- Added pictures management

- Added auto-comment generation
0Send private message
9 years ago
Nov 17, 2015, 6:06:38 PM
NEW VERSION UPDATE.

- Added Custom Export folder (entire mod generation).

- Added Free ELS subfolders structures with "Resources" folder possible into.
0Send private message
9 years ago
Nov 21, 2015, 8:51:02 AM
New version corrective.

DOWNLOAD IT HERE :

ELS_Splitter_20151121.zip



I will edit main post later, i have to give this quickly.

Copy localization was broken, my last change about Folders had an unexpected impact on it.

So this correct the bug.

There is only main tool in this release, no folders no example mod.
0Send private message
9 years ago
Nov 29, 2015, 11:24:50 PM
I will upload a new version soon, with more useful functionnality.

At first, the tool will export the "preview picture screen" and the Published.id files, because when generating the mod, now you need theses files in the UGC folder. So the tool have to generate it, like this, "one click" and full mod is generated.
0Send private message
9 years ago
Nov 30, 2015, 3:08:58 PM
Hi ! After working many hours on a Mod, I feel the need of new improvement of the tool. Infortunaly, I regret to not have done this before, it could have help me a lot.



New update :

- Added Export of PreviewScreen .jpg and Published .id files (full mod generation).

- Added Internal code commentary (---)

- Added MAJOR Improvement : Bloc-Variables, use full bloc of texts, internal or external, can use normal variable inside too.
0Send private message
?

Click here to login

Reply
Comment