First release

Okies - from what I can tell people are generally against incorperating #ifdefs as a rule, but it doesn't matter if you use them. Coding style discussion seems to lean towards using Firaxis style where possible. Can people try and stick to this please? Any opinions on the doxy commenting?

I've kind of lost track of where we are. Am I right in thinking we haven't successfully combined the code yet? It seems we have an unknown glitch, which... nobody knows about. Can we make finding and fixing this our top priority so we can move on?
 
Regarding DOYGEN, I'm nut sure if its worth to use. Only a very few functions in Firaxis' code does use it and if we start to use it now for our few functions, I don't see any effort for it. As I said, I'm not sure but I'm also not strictly against it.
On the other hand we need comments anyway, so why not have a common style for it.

I downloaded the actual version yesterday from SF and was able to compile it. I will try to do some test runs this evening and maybe I found something.

12m
 
The dev branch on the CVS is working fine, I just compiled and played it.

I sugjest we release that as our first release by this coming weekend at the very latest as we are very much behind schedual. We can continue working on the error but I cant see us holding up the release any longer then that to get buggy code fixed and included. I recomend everyone grab a SandBox of the dev branch and start using that, SimCutie you may want to trim down to just the working Mods and include these. I realy recomend you drop that ifdefing as its plainly obvious we wont be adopting it as a standard or using it in anyway thus its just a source of buggyness. Also we now have the .cpb in the CVS, its a big hastle to repeatedly configure the .vcproj with proper build options everytime I want to compile so include and use that .cbp file.
 
Did a test of the dev branch as well and everythings fine. No crash or any other problem during normal play.

I'm not sure which changes are in that branch, I could only find Impalers and my ones. Nothing from SimCutie or anybody else. Did I missed something?
SimCutie, will you add your changes again?

12m
 
12monkeys said:
Did a test of the dev branch as well and everythings fine. No crash or any other problem during normal play.

I'm not sure which changes are in that branch, I could only find Impalers and my ones. Nothing from SimCutie or anybody else. Did I missed something?
SimCutie, will you add your changes again?

12m
Is the version in "dev" CVS branch finished version?
When I checked out latest dev branch and compiled and tested, it has same anomaly. (infinite loop when starting new game). please check it.
"dev" version in CVS I have tested has none of my code and tested with clean (empty) CustomAssets except the DLL.
It also cannot read old original savefile. If I load old save file, it quit to desktop without any message.
 
Hmmm - we really need somebody to sit down with the complete version of the code, and try to fix it. At the moment we don't seem to be getting anywhere fast.

At the moment it seems to me that the SourceForge CVS has all the updated files, and has had for 5 days. I can see submissions by SimCutie, and Impaler[WRG] (who included your files if I'm not mistaken 12m).

I'm not sure about Fruit's server. I can't seem to get to grips with the FTP program that's on the uni computers, so I can't check it.

Anyway, could somebody with a few hours spare please get the copy of SourceForge, and see if they can fix it?
 
We cant load old save games this has been discussed already, I can not yet implement the version checking scheem you recomended untill your code which provides that version check is in. In any event I dont feel we can delay the project to get it in their. It should be a goal for the second release.

The crash at load is a mystery I do not experience it when running the DLL alone, I DO get an imediate "you have been defeated" right after dawn of man this is probably due to not including Monkeys Python Assets as his changes involve the DLL calling outward to the Python layer, once his Python is included the game runs fine. This is not a major issue for me, we simply tell people to include these Python files as they are nessary for the improvments to take effect.

SimCuties changes are not on the CVS because I could never get them to compile so could not include them. If he gets his code working he should upload it or commit it.
 
I have tried to add SimCuties Code in one section at a time to Impaler and 12 Monkeys working code, but it is very hard b/c SimCutie has not defined very well what code is for what section in the readme (and even that is not very clear).

I downloaded the updated files on the SF (SourceForge) site and put in on the SF (SpoiledFruit) server, so the files in the CvGameCoreDLL folder are the current working one. SimCutie, since you know what you did better than the rest of us, could you mabey add your code in and make sure it works. Then you can just add it to both SF servers.

After this we are going to need to use the CSV from now on, either on my server (CSV is finally installed) or SourceForge. This cannot happen again as this seems to have killed the discussion and developent of the mod for the moment.

I just hope we can release a beta soon so we can generate more interest.
 
I have added the CoreDLL.dll to the Forge, it is a strait compiling of the current code, SimCutie test this DLL and see if your crash at load still happens. I agree we need to use the SourceForge from now on, its working very nicely

PLEASE: from now on when you commit changes please update this Binary as well so other can test your changes quick and easy.
 
Same sympthom persist with new downloaded DLL. The Assets folders are completely empty (only empty dummy folders) except the downloaded DLL.
If I remove the DLL from Assets folder and start new game, it works normally without any glitch.
I have merged version in CVS and my code. But it has same problem. So I am not releaseing it to CVS.
Please fix this problems first with 12Monkey-Impaler version.
Impaler[WrG] said:
The crash at load is a mystery I do not experience it when running the DLL alone, I DO get an imediate "you have been defeated" right after dawn of man this is probably due to not including Monkeys Python Assets as his changes involve the DLL calling outward to the Python layer, once his Python is included the game runs fine. This is not a major issue for me, we simply tell people to include these Python files as they are nessary for the improvments to take effect.
I should not work that way.
If a modder uses the 12Monkeys improvement, then they should add the modded "CvGameInterface.py". It is good and necessary.
But if player / modder don't use the 12Monkey's improvement, DLL should not require special modded "CvGameInterface.py" in their Assets folder to work normally.
If the file does not exist in the folder, it should work normaly just like unmodded DLL.
Isn't this minimum requirement of our project?

Same principle to savefile problem. If player don't have any Impalers extended XML attributes, then it should assume that the loaded game version is old vanilla savefile. and should be able to read original savefile.
If player has new XML attributes, then it read modded save file.
It should act same as original DLL unless it is activated by the new XML attributes. Isn't this what you have promised with XML-controlled DLL features?

PS) I have tested with Impaler's code and 12Moneys's code by adding #ifdef for each respective parts for testing purpose.
I have found that it is 12Monekys part that causes this problem. And savefile problem is only in Impalers code.
 
The point is that it does act exactly the same. By default the python will allow the SDK to do it's job, so will have absolutely no effect on the game. It would probably be better if it worked without the python layer being there, but it isn't critical. Should probably be fixed for the next release but it's not critical. Same with the save-game fix.

SimCutie - could you test it with the python files, and tell us if that works. If so, then we should release this version.

Also, can you suggest how Impaler would get your changes to compile? At the moment he won't be able to work on new projects as he'll be basing it off this code, which he can't compile!
 
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.

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.

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 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).
 

Attachments

  • Impaler Test Game.zip
    139.4 KB · Views: 98
VS 2003, I followed Kael's guild to the letter (well at first I screwed it up but once I was doing to to the letter it worked fine). I should be just like everyone elses compiler. Other people were experiencing the same problems with SimCuties code so its probably not a problem on my end, I suspect he included libraries or linkers or some other fancy thing that the rest of us dont have and this is the problem.

I am sick and tired of these delays, I have patiently waited and keept my code hiden away on this project rather then release it so as to make this project unique and exciting when released. I will be releasing MY code this weekend (and if 12Monkey aproves his code with it). If SimCutie has working code on the CVS before that point and wishes for it to be included I will do so, if not then tough for him, he can try for next release.
 
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.
 
It should fall back to the default behaviour, but it doesn't and won't for this release. If you just include all the files for now then that should be good.

At the moment we need to fix this infinite loop problem. SimCutie seems to have narrowed it down to something clashing with 12Monkey's code. Strange that it only happens with his version though. I take it you are runing Windows & patch 1.61, right? It might be something to do with windowed mode. Maybe test with full screen mode?
 
I can run windowed Mod no problem.

SimCutie post your most resent code here or create a SimCutie branch on CVS and place it their, I will try compiling and running that to see if the problem is their as well. Also try compiling the current CVS dev branch and comparing that with the Dll on the dev branch perhaps you will see some difference. I am starting to suspect the problem is in your Python interpriter or an inability of the interpriter to talk with the DLL.
 
Impaler[WrG] said:
I can run windowed Mod no problem.

SimCutie post your most resent code here or create a SimCutie branch on CVS and place it their, I will try compiling and running that to see if the problem is their as well. Also try compiling the current CVS dev branch and comparing that with the Dll on the dev branch perhaps you will see some difference. I am starting to suspect the problem is in your Python interpriter or an inability of the interpriter to talk with the DLL.
Hmm. corrupted Civ4 Python interpreter.. Possible cause...
OK. I will uninstall my Civ4 Installation and reintall it fresh from DVD.
And I will test it again. Wait for a while.

PS) No Luck. Same freeze. But it seems that little bit changed. I will digress on it further.
 
The Great Apple said:
It should fall back to the default behaviour, but it doesn't and won't for this release. If you just include all the files for now then that should be good.

At the moment we need to fix this infinite loop problem. SimCutie seems to have narrowed it down to something clashing with 12Monkey's code. Strange that it only happens with his version though. I take it you are runing Windows & patch 1.61, right? It might be something to do with windowed mode. Maybe test with full screen mode?
If all XML and Python file should be installed in players Assets even if the features are not used, it is different from of what we have intended and talked about "platform".
It seems that current version works without apparent problem if all XML/Python are installed in Assets folder.
Then, are XML/Python controlled feature enable/disable facility and savefile compatibility problems postponed to next release?
I am reluctant to release this version to public without feature enable/disable by XML/Python and savefile compatibility. But if other members wish to release current version as is, I will follow others opinion.
But AFAIK, the planned release date of warload expasion is abut mid-July (may be about a month or so from now). We may not have oppotunity to release 2nd version for original Civ4 SDK.
 
I think we can probably get another version out before Warlords. It's still 1.5 - 2 months away, and it's likely to be later in places other than America.

Modding features such as this don't need to have an enable/disable switch as they are passive. The modder might never use them. I agree that it would be good for them to be optional, but it's not nearly as neccessary as having switches on other things.
 
Top Bottom