small update on this one.
I was able to make a full list of each tag the game supports and put those into several lists. With that piece of Information I think I was able to get myself a very detailed overview how the FoC Engine handles XMLs files. There are some part I think they could have done smarter, but hey it works
I also was able to talk with my programing professor at my university and we discussed my current state of the Modding tool. I dont want to say i have to cancel my work again and start from scretch up but there are still some things i could have done better. With the new ideas the new tool will be even more powerful i ever dream it could be.
Here are some ideas i can now realize:
- The redesign of some parts of the GUI allows the user to edit multiple kinds of gameobjects (units, structures, etc) in one XML file.
- Also it allows the user to select between different templates for a gameobject type. Lets say you want to create a new Infantry you can choose your template from an empty game object project with all tags, to a ground unit with some tags more specific to land units, or even select a infantry template that gives you all basic tags you need for adding a simple new unit.
- If one of the templates does not have a specific tag you are looking for, you can still choose it from a tag list and add it inside yourself. All in all it is possible to add completly new tags even if the engine does not know them. But you can !
- The tool will give you many many small tools that makes coding, or better saying modding easier. Im trying to insert all functions to the tool you would expect from it. You can open maps or models from it. Edit your Master textfile etc.
- Beside the Modding tools you need the tool will have some very fancy that will help you coding stuff and choosing the correct values. Some users do not know what "123 80 7 255" in RGBA represents. A color-picker will help you getting the exact color you want. Also it is somtime difficult to remember the Code name you gave a unit but you need it for some value. With an intelligent autocomplete feature the is no need anymore to search your whole files, just start typing and the tool will guess which name you need and completes writing it for you
At the moment none of these features are done yet but the new way of programing it will make it possible to add one feature by one easily.
You can see the new Treeview control which allows you to have more than one gameobject inside a XML file. You can easily add new objects now into that file if you need to. Also this makes it possible to load exisiting files. In previous builds you had to put unit and companies and other stuff all into seperate files. Actually this was planned to be feature for further updates for this tool but after thinking of some ways to program this tool as good as possible i thouhgt it would be useless without having it. Of course many many Buttons and lables and stuff are still missing but the base UI should now reached its final state. I might have to check my existing code and i have the bad feeling i have to throw many many lines of code away, again. Also while working with this new Treecontrol i got new impressions about how to add to more "power-features" to this tool. At the moment I'm testing some libraries I want to use later or I'm busy with writing my own, which is to be honest more work that i ever could imagine. Because I want to deliver a powerfull, easy to use and durable program many many functions and exceptions have to be written. This means that i will have to sit some late hours in my room and have to think of very smart ways to develop this baby. Now i got my fully documentated XML list ready most of the game specific researching work has been done. Sometimes I even want to create this tool to a API or middleware tool which definitily would be too much work for one single man ;) I cant promise too much but we actually might see something like this in far future :O. But on my recent TODO-list there is a custom XML-IO-Engine that works perfict with FoC. I also have a bit the hope i can merge this tool somehow into my university works. This would be a win-win situation as i like working on this and getting good marks for it is even better :)