Logo Platform
logo amplifiers simplified

Modding Tool

Reply
Yes
No
Vote now
Copied to clipboard!
11 years ago
Feb 13, 2014, 9:06:21 PM
Hey guys,



A few questions about XML values:

Where does %ModName and %ModDescription reference to? To localization files or do they refer to the blabla mod element name attribute and description element value?



What does do?



Thank you for reading and that's all for now.
0Send private message
10 years ago
Apr 28, 2014, 2:47:21 AM
smiley: cool



1) How does localization work? (In the meaning of what text gets saved in which localization file since there are 3 different files)


Localization works by using a key value pair much like a c# dictionary. Where ever you find symbols like '%MyRaceDescription', this would be the dictionary key. This key symbol matches a value in a localization files for DefaultLanguage. If you see 3 local files then you are looking at the disharmony expansion which is technically a mod of the vanilla game. The reason there are three files is for organizational purposes as each is merged into the same virtual data table at runtime. First 'Localization_Locales.xml' seems to the base games normal locales, then 'Localization_xp1_Locales.xml' would be only the translation keys added by disharmony, and 'Localization_Vaulter_Locales.xml' are only the keys added by that update. So they are all virtually the same localization file. Whenever a key symbol is used from a localization data table the symbol is replaced by the translation value.



And thats how it works.





2) How do the repositories relate to the moddable objects in ES? (In the meaning of what needs to be referenced in which repositories and why)


My best guess..

Repository targets are collected from xml at runtime to provide data to game objects. Each Repository target abstracts to System.Collections.Generic.List or just a UnityEngine.TextAsset if the repository is only one file. These text asset collections are stored on a database object. I will show you an example of the faction repositories.



From Index.xml, These are the repositories used by the 'FactionDatabase' object.

[CODE]







Simulation/Faction.xml





Simulation/FactionColor.xml





Simulation/FactionTrait.xml





Simulation/FactionTrait.xml





[/CODE]





At runtime 'FactionDatabase' gets the xml values and stores them as a unity text asset.

[CODE]

public System.Collections.Generic.List FactionsAssets

//Stores path strings from xml repository target "Faction" to this text asset list



public System.Collections.Generic.List FactionsColorsAssets

//Stores path strings from xml repository target "FactionColor" to this text asset list



public System.Collections.Generic.List TraitsAssets

//Stores path strings from xml repository target "FactionTrait" and "FactionTraitEffect" to this text asset list

[/CODE]



This 'FactionDatabase' object provides members and methods for game objects that need faction data provided by the Xml data.
0Send private message
11 years ago
Mar 4, 2014, 7:54:51 AM
People,



I have some questions that need answering that I came across during coding. I can't finish the next step till I know the answers to these questions.



1) How does localization work? (In the meaning of what text gets saved in which localization file since there are 3 different files)

2) How do the repositories relate to the moddable objects in ES? (In the meaning of what needs to be referenced in which repositories and why)



I hope you all can help me find the answers to these questions since I don't know the answers yet.
0Send private message
11 years ago
Feb 23, 2014, 2:16:37 PM
Sorry that I must say this but I came across some big faults in my coding when I'm now starting with all the small objects that can be modded like anomalies, faction traits, etc.

I'll need to fix this first before trying to expand the functionality so my apologies for this. Also thanks to my busy personal life this week I haven't been able to get much coding done so I hope I can repair this and implement the read-only anomalies by next week so that the tool keeps growing.



RECRUITMENT NOTICE!!!!

ALL HELP IS WELCOME, JUST SEND ME A MESSAGE WITH A DESCRIPTION OF WHAT YOUR SKILLS ARE AND WHAT YOU WANT TO HELP WITH.

If you don't have the skills needed to help, feel free to offer your help as well, We can learn you how to do the things you want to help us with while we're working on it.
0Send private message
11 years ago
Feb 15, 2014, 8:51:08 PM
Most of the content regarding bug reporting, change log, ... will be moving in the next couple of weeks to the project on SourceForge.net into the wiki where we will keep them up to date.



Of course we will still read this thread and post here when a new version comes out.
0Send private message
11 years ago
Feb 15, 2014, 4:48:44 PM
People,



I'm gonna try to get the release notes tab and the Anomaly tab up and running by next week. These will still be read-only. I plan to make the mod editable using the tool from that point on since there are a lot of things it still cant do like finding the all the repository references in the index.xml file.



With the next release I'm gonna try to get the color codes of the display with the mod tool right as well since now it shows the color codes but doesn't use and hide them.



Thus people, I'm gonna be busy this week yet again and I hope some of you will want to help out a bit, be it translating resources for support in multiple languages or learning to code alongside me so that we can get the goals for the next release done faster.



Translators still needed for French, Italian, Polish and Russian mind you. English and German (for the parts that cat has already translated) are getting full support.

If you want to add another language to the support, feel free to join the project so you can translate from one of the supported languages.
0Send private message
11 years ago
Feb 14, 2014, 7:08:23 PM
Yeah, that's what I hope to do.



If you want to help, I'm sure we can find a job for you to do.
0Send private message
11 years ago
Feb 14, 2014, 6:31:43 PM
Great work Raz, love to see new innovative work still being done for such a great game. Hopefully this can help bring some life and creativity back into the game.
0Send private message
11 years ago
Feb 14, 2014, 3:24:27 PM
People the initial version is online.

Though you can only read descriptions of your mods with it.

The layout of the tool won't change much from how it looks now so if you want to use it take a look at the layout.



To do:

Add tabs for release notes, modable objects like Anomaly, FactionTrait, Hero, HeroAbility, HeroLeveling, ...
0Send private message
11 years ago
Feb 14, 2014, 10:08:22 AM
yeah, if you could test that it would be great as it can open up a lot of options for modding and a few ways of coding this into the mod tool
0Send private message
11 years ago
Feb 14, 2014, 9:40:37 AM
Yes, %ModName and %ModDescription do indeed refer back to the NAme attribute of the Mod tag and the Description tag, respectively.



I'm not certain on the icon tag, however. I do believe that it defines the location of all the icons the game uses inside the game database. Or perhaps it defines a class. I've never messed with it, as adding custom icons requires adding the full path of the icon at the respective location. These tags might allow to replace all the icons in the game at once by having Small, Large, and Wide folders and linking to them, but that's just a wild guess.

I should figure out a way to extract all those icons from the game database so I can swap out some names and see if linking to a new folder in the index changes anything.
0Send private message
11 years ago
Feb 12, 2014, 11:41:24 AM
Hello Everyone,



I have looked over the forum and found that some of the mods I like are extremely hard to combine together if you know little or even nothing of how the mods work and how the respective XML Files have been build up So now I am starting a Project where I'll develop a simple tool where you can create mods easier without any knowledge of the underlying XML files.



I hope that this creation of mine will help to make the maintaining of mods for new versions easier then before and thus expand the amount of up-to-date mods that work.



CALL TO DEV TEAM: I would like it if you could answer some of the questions I have regarding the formats of the XML Files so as to make it easier to keep edit them with the tool I'm building and to look at relations of several elements better within the tool. Already a thank you in advance for any help you can provide. This is mostly in regards to how sensitive Endless Space is to XML elements it doesn't use itself



#############################

#######RECRUITMENT NOTICE#######

#############################



In need of translators to support more languages!

In need of experienced modders to help improve this tool!



Contact me by mail or private message if you want to help and your role.



############################

##########DISCLAIMER##########

############################



All code is written by myself so DON'T use the code without my explicit permission in other projects.



Mind that the program is only in its development phase so there will be functionality missing and more bugs then that there your table can hold should they crawl out of your computer.



###################################

############HOW TO INSTALL############

###################################



Unpack the .rar file into your Endless Space Documents directory (located at 'My Documents\Endless Space')



###################################

#############HOW TO USE#############

###################################



Run the executable!

IF YOU CAN'T DO THIS THEN HOW THE HELL CAN YOU OPERATE A COMPUTER!!!

Make sure you either have your default browser set correctly or have Google Chrome installed for the 'help page function'.



###########################

############FAQ############

###########################



Q) I pressed the 'autosearch' button in the initial setup and the window won't react anymore.

A) It will take a while to find the directory. It could take up a lot of time depending on where you've placed your folder. It searches every map on every drive in alphabetic order of the full path to each directory. With an advance scan of default installations in the wildcard format of '*:\Program Files\Endless Space', '*:\Program Files (x86)\Endless Space', '*:\Program Files\Steam\SteamApps\Common\Endless Space', '*:\Program Files (x86)\Steam\SteamApps\Common\Endless Space', '*:\Users[username]\Documents\Endless Space' (replace [username] with your username on your computer and replace * with drive letters)



Q) which architecture does this work on?

A) It should work on any architecture on any CPU.



Q) The Mod Tool crashed! What do I do?

A) Fill out a bug report as explained in BUG REPORTING



Q) The Mod Tool is behaving strangely with certain mods.

A) Fill out a bug report as explained in BUG REPORTING and be sure to do step 6 as we probably won't be able to fix it if you don't do that step



##########################

##########WARNING##########

##########################



This program will:

-Not allow you to edit the mods yet

-Not allow you to edit or save Disharmony mods when you don't have Disharmony

-Not allow you to edit or save mods that require a newer game version then you have installed



##############################

##########BUG REPORTING##########

##############################



1) Go to https://sourceforge.net/p/endlessspacemodtool/tickets/

2) Create a ticket and fill in what went wrong and how

3) Add relevant tags

4) I'll be adding Error Messages for certain types of errors so be sure to include the error message in your description

5) Add screenshots of the screen when the error appeared if you want

6) If there is a problem reading certain mods be sure to zip the mod and add it to the ticket as an attachment so that we can see why it went wrong by looking over the xml files

*) Be sure to check your tickets for answers or requests for more information as there might be something missing or something you need to do yourself to fix the problem.



############################

##########CHANGELOG##########

############################



V1.0.0.0:

- The program can find your specific 'Documents\Endless Space' directory and Endless Space Installation directory

- The program has the possibility to support all game languages (like English, French, German, Italian, Polish and Russian) and others if the required translations can be done. For now everything is in English.

- Can detect if you have the classic version or Disharmony

- Can read the Index.xml file of both types



################################

############DOWNLOAD############

################################



File and newer versions come online at https://sourceforge.net/projects/endlessspacemodtool/



0Send private message
11 years ago
Feb 12, 2014, 10:17:00 PM
I would actually offer as much help as I can, with my limited knowledge of the structure and interactions in the xml files.



Also, I do believe there's a reasonable chance that whatever tools he starts working on for Endless Space may be a good foundation on which to build tools that work with Endless Space. It seems likely that the devs wouldn't completely change their approach to handling the data.



Honestly, simply having an XML editor that can compare two files, and also find references to a given tag or property within other files in the same folder would already be a huge help.
0Send private message
0Send private message0Send private message0Send private message0Send private message0Send private message0Send private message0Send private message
?

Click here to login

Reply
Comment