glider1
Deity
The architecture of BUG is a very wonderful thing for modders. Modding becomes so elegant thanks to BUG's event system, call back handling mechanisms and it's XML subsystem. I have experienced both WoC and BUG within the design of RevolutionDCM, and it appears to me that we are so close to a perfect blend of the two it just has to happen eventually, it is inevitable.
The BUG architecture allows this scheme as it stands now:
/assets/config/init.xml points to the mod.xml configuration xml
/assets/config/mod.xml set's up the mod's call backs and events
/assets/python/mod/mod.py houses the mod's python
Now to make it so that all that is in /assets/python/mod/mod.py can be brought out of that folder and put into:
/assets/modules/mod/woc.xml, mod.py etc
so that finally a mod's python can be truly plug and play, it would appear that there is just a few steps left in the final architecture that melds WoC and BUG. Those steps are:
1) The WOC code in the DLL writes BUG xml configuration data in the woc module to the BUG xml system, before BUG initializes.
2) BUG is told that it can look for python in the modules folder
3) BUG initializes once the WOC DLL is complete and instantiates call backs and events as per normal, pointing to python that is in the modules folder.
4) BUG is programmed so that in the case that there is config XML pointing to non-existent python code, the config xml is ignored and execution continues.
Thank you BUG team and EmperorFool for the BUG system. Whatever happens in the future it is already great now. Great for modders of Civ4 and great as a conceptual model of a possible Civ5.
Thoughts are welcome in this thread.
Cheers.
The BUG architecture allows this scheme as it stands now:
/assets/config/init.xml points to the mod.xml configuration xml
/assets/config/mod.xml set's up the mod's call backs and events
/assets/python/mod/mod.py houses the mod's python
Now to make it so that all that is in /assets/python/mod/mod.py can be brought out of that folder and put into:
/assets/modules/mod/woc.xml, mod.py etc
so that finally a mod's python can be truly plug and play, it would appear that there is just a few steps left in the final architecture that melds WoC and BUG. Those steps are:
1) The WOC code in the DLL writes BUG xml configuration data in the woc module to the BUG xml system, before BUG initializes.
2) BUG is told that it can look for python in the modules folder
3) BUG initializes once the WOC DLL is complete and instantiates call backs and events as per normal, pointing to python that is in the modules folder.
4) BUG is programmed so that in the case that there is config XML pointing to non-existent python code, the config xml is ignored and execution continues.
Thank you BUG team and EmperorFool for the BUG system. Whatever happens in the future it is already great now. Great for modders of Civ4 and great as a conceptual model of a possible Civ5.
Thoughts are welcome in this thread.
Cheers.