Impaler[WrG] said:
The requirment that files other then the DLL be included is reasonable, all XML based changes require that modified Schemas be included for any of the changes to be activated without an error durring XML loading. Our "retain original game" doctorine never stipulated that a SINGLE file be nessary for that gameplay to be retained.
It seems that my intention is misunderstood. I will try to make it clearer.
When a player or moder decided to use specific feature of a DLL which requires specific XML modification or Python module modification, then he/she will install the moded DLL *AND* SET of multiple XML files ( new schema and new XML file with new XML attributes) and/or SET of multiple Python modules with required change. Then the new XML enabled feature/Python-enabled will take effect and work as intended. It is good and of no problem.
But unused/unseleced feature should not hinder or change normal operation of game or DLL. If player don't want feature "X", Then he will not install related XML files or Python files. then DLL should act externally as if feature "X" does not exist in the DLL.
I had meant above that *UNSELECTED* feature should not require any XML or Python files or any other Assets to be installed. "Selected" feature can require as many XML or Python files as requrired for proper operation of the feature.
"Selected" feature means that player or moder explicitely installed the related Python file or XML files or by clicking game Option checkbox.
If no new XML or Python or Assets are installed, then all the features are disabled, then it should act just like vanilla DLL in end-player game playing level.
Impaler[WrG] said:
I know that my code breaks backwards savegame compatability and this will result in an immediate exit to desktop if incompatable games/senarios are loaded, but I still do not understand how 12monkeys code is causing an infinite loop. I can run the dev branch dll with or without his Assets and I get no loops, only the "you have been defeated" without his assets.
Hmm.. I will try to pin-point the source of freeze on this weekend.
And even if it is solved, the "you have been defeated" behavior is also problematic. If DLL detects that his Assets does not exist, then it should fallback to original behavior, not "you have defeated" behavior.
Impaler[WrG] said:
Give us more details on how you get this loop, is it only on a particular type of game (multi/single) any game options set? Try running the DLL from within a Mod folder, anything that might be having an effect.
I put DLL from the CVS into the clean CustomAssets folder. then started Civ4 in windowed mode.
I selected Single Player/Play Now!/Pangea/Temperate/Medium sea-level/Standard size map/random shoreline/random civilization/Setter difficulty/Normal game speed/.. and started game. Then it shows first screen of Dawn of Man. but immedately it freeze and does not responds to any windows message. Progress bar stops with "Initializing....". The Audio narration and music continue to play but graphic is not updated any more.
The PythonDbg.log is same as I have posted previously. (infiniely repeated patterns and very big)
I also have tested it with DLL in ....\MODS\DLL Only\Assets MOD folder, But result is same.
Impaler[WrG] said:
I have attatched a save game made under the current DLL, try to load it and see if you still loop (it should not exit to desktop and have tested that it dose not for me).
Loading is Ok. But I can not select my own units. City selection is OK. And when I press "next turn" button, it crashs and shows MS "Error report" dialog.