This IS a Conservative C2C MP game Thunderbrd! :p

I'm trying to search for the error message in the source files but everytime I do a search, Visual Studio opens Notepad++ and slowly checks each file in there. It's annoying. And it doesn't let me do anything else, as it calls me back each file that is passed. Is there a way to disable that? I tried searching this on google but no one seems to have had this issue

EDIT: I fixed that by uninstalling Notepad++, not the best solution but a quick one

I didn't find the messages that pop on screen in the source files, so no clue on that.

Then I tried loading Magnus's game and I finally got a crash, but it tells me it can't break on any line because it couldn't track these in the Stack Frame. That makes things harder.

But by reading the loading messages it seems it crashed during ReadStreamableFFreeListTrashArray, a function inside of FFreeListTrashArray.h, which is the same problematic part that we experienced in the Massive MP Game. I'll try to manually cycle through all calls of this function to see in which one it crashes to gather more information, but it seems the game is misusing the FFreeListTrashArray structure again.

EDIT2: I tried putting a breakpoint in the function but it tells me it won't reach that part in the code. Something abou symbols not getting loaded. I remember this happened once when I was trying to debug with files which weren't in accordance with the dll I was using (I was using the original debug dll for the Massive MP while my code was already edited and had generated another dll which I had used before). So instead of using the dll.debug which came in the Assets folder, I'm generating a new one now and will try using it.

EDIT3: Tried generating the DLL but Python.h is missing from the source files.

EDIT4: _precompile.cpp includes CvGameCoreDLL.h, which includes Python.h. But the old C2C MP code also has these calls and it doesn't have Python.h either, so how is the old one able to build, but the new one isn't? :crazyeye:
 
Last edited:
For a Test Pbem game I started one using regular Caveman2Cosmos SVN version 9444. I put in the 6 players that would be in the Conservative game. The User Settings folder is my "normal" User settings. Same Island Map with same settings in it.

Started game, loaded played my turn. Checked BUG the Normal areas that a Pbem game locks in were grayed out as they should be. (Can post screenshots). Played turn hit Red EoT button and normal Pbem pop up displays about sending save to William van Oranje. Exit to desktop from normal Pbem Menu list pop up.

Went to my normal win 10 pro C:\Users\PawPaw\Documents\My Games\Beyond the Sword\Saves\pbem\Main C2C Pbem Game folder and double clicked the save found there.

Mod loads and it's Wiliams turn. Play the turn click Eot everything proceeds as normal. Go back to ....My Games\Beyond the Sword\Saves\pbem\Main C2C Pbem Game folder and double click the new savegame from William for Dom Pedro. Mod loads Dom Pedro's turn starts, I play the turn, click EoT and rinse and repeat.

So a "regular Main C2C Mod" Pbem using SVN 9444 works with no problems encountered.

This leads me to believe that the Uploaded C2C MP v37 version to the C2C MP SVN we use for Pbem is corrupted somehow. I feel that version should be deleted and re uploaded. Since T-brd did not state what v37 SVN version he used I propose that 9444 be used. Why? Because Toffer had 3 versions that had some errors in them that was corrected with his last commit SVN 9443, and 9444 contains all recent Bug fixes and updates from T-brd and DH.

A Main mod Pbem could be played in a New thread here in the MP subforum with each player uploading the save they create by taking their turn. This would preclude needing the SVN. This is just a suggestion but it is also a viable alternative.

JosEPh
 
I seem to recall that one major reason for using the SVN was that eventually the save game files would become too large to attach here. Thus continuing to use the SVN for the saves (at least) would probably be best.

Other than that, the above would be a viable idea if the issue with v37.5 cannot be resolved.
 
I had forgotten to change the makefile paths... :lol:

So the bug is a lot harder to track then what happened in the Massive MP, but I believe I can dig more of this. About other options I'll play anything you guys decide here, but I wish to solve this issue that we are having.

Trying Joseph's idea will be great for the debugging, because if somehow there was a corruption in a file that has already been corrected, and this makes the game playable, then tracking this issue isn't as important as it may be or it's even useless to try to track it.

EDIT: It's being narrowed down. On the fourth call of ReadStreamableFFreeListTrashArray, somewhere inside here:

Code:
template < class T >
inline void ReadStreamableFFreeListTrashArray( FFreeListTrashArray< T >& flist, FDataStreamBase* pStream )
{
    CvTaggedSaveFormatWrapper&    wrapper = CvTaggedSaveFormatWrapper::getSaveFormatWrapper();

    wrapper.AttachToStream(pStream);

    WRAPPER_READ_OBJECT_START(wrapper);

    int iTemp;
    WRAPPER_READ_DECORATED(wrapper, "WriteStreamableFFreeListTrashArray", &iTemp, "flistNumSlots" );
   --------->  flist.init( iTemp );

That was luck playing for us I should say, I didn't had to enter any loop until now. And that function is huge.

I'm taking like almost half an hour to do a test, so things are pretty slow here. But I'll enter the init process in the test I'm running now to see what is wrong.

EDIT2: Here it is:
Code:
template <class T>
void FFreeListTrashArray<T>::init(int iNumSlots)
{
    int iCount;
    int iI;

    -----> assert(iNumSlots >= 0);

This is the assert being triggered. This is strange, but I wasn't so careful and I hit the crash before I could see more info. I'm retrying now, but that's what I got. I assume it's the reinitialization of a list that is already being used. But I'll come with new stuff soon I hope.
 
Last edited:
It's coming from multimaps. When trying to load the map, it stumbles upon MultiMapFormat being set to true. I'm not sure if that's what's causing the issue, but the save file for the map is corrupted. It stored a garbage number as the number of slots of the FFreeList which stores the information on the map (I presume tiles? Not sure yet).
 
And for more worrying news, Single Player is broken as well. Yesterday I started a SP game with this game's mod and settings to see what it would be like. Today, that save game will not load. Gets up to Initializing, hangs for a while, then just goes away with no error message at all.

I tried loading an earlier save of the same game and got an error message that said "Save Format not Compatible (Skip Element)" with an OK box in a window behind Civ4. Alt-Tab'ing to it just produced black screen. Finally got Civ4 to close by alt-tab to a folder (still showing black screen plus taskbar) and used taskbar to close error window.

During the game, the game proceeded fine. I think I got about halfway through Prehistoric. Thus turn progressing works fine, it is just game loading that is borked. Save game file attached just in case it could help with finding the problem.
Is this playing on one of the mod folders we just setup or on the core mod?

@Joe: I'm not sure which revision # on the core I took from except to say 2 things:
1) it was current on the date I uploaded
2) I had to debug a line of code in CvGame.cpp that was causing the problem you and I originally encountered with infinite hangs at the end of the first round. I don't THINK that change caused this but it can't be ruled out. What's strange is you're now saying that the core can run a PBEM game fine? Even though I've not updated the core with that fix yet? Very strange that.

I recalled Alberts's advice from the last time we were having trouble and I tried to update the makefile and version.h according to his advice. Then recompiling. I may have overcome some problems doing that but it's all still acting very odd... Spirictum is now finding some of the things I did the first time I tried to figure this out.

I'm very confused now.
 
This morning's test run of SVN 9444 was with my regular USF, as in the User Settings Folder I play with, and as I found out it plays.

The date you uploaded was the 12th iirc. Yes you started in the afternoon around 2:30pm ish. And Toffer posted his "fix" for his mistake after 7pm. So the Upload has Toffer's mistake in it, which was in SpecialBuildingsInfos.xml. He was doing xml clean up. So not sure how that would affect the Multimaps.

I still think a new Upload with only the default USF that has Only the CostomDomAdv Folder in it. The upload you did looks like it has your USF settings in it, from what I can tell. And this could be the rub for part of our problem. When we made additional Mods, with each games name, this USF was not cleaned out/ reduced back to just the CustomDomAdv folder. So the Revolutions.ini was locked to the settings uploaded as well as the GlobalDefinesAlt.xml that the Rev readme talks about. Apparently tricky stuff that the Rev modders were aware of. That Revolutions.ini still is hard for me to work with. Especially all the True and False settings.

Other than that I'm Very Glad Spirictum is making head way on his end of the hunt. Go Spirictum!

JosEPh
 
I still think a new Upload with only the default USF that has Only the CostomDomAdv Folder in it. The upload you did looks like it has your USF settings in it, from what I can tell. And this could be the rub for part of our problem. When we made additional Mods, with each games name, this USF was not cleaned out/ reduced back to just the CustomDomAdv folder. So the Revolutions.ini was locked to the settings uploaded as well as the GlobalDefinesAlt.xml that the Rev readme talks about. Apparently tricky stuff that the Rev modders were aware of. That Revolutions.ini still is hard for me to work with. Especially all the True and False settings.

Other than that I'm Very Glad Spirictum is making head way on his end of the hunt. Go Spirictum!
Hmm... interesting. Ok. Might take forever and a day to resolve it properly since it takes that long to upload and there are a lot of fiddly little things to do in that, but it makes sense. Spirictum is pretty damned good at this... maybe he'll spot the problem more directly as well. As always Im concerned about core mod implications as much as anything.

this USF was not cleaned out/ reduced back to just the CustomDomAdv folder.
What do you mean here? From what I understand, blank usersettings have been the cause for failure to get the game to present a UI so are we sure we want to do this? Yours works... a couple of adjustments to that and maybe we can get this to work.

This morning's test run of SVN 9444 was with my regular USF, as in the User Settings Folder I play with, and as I found out it plays.
This didn't exactly answer the question. I was asking if you were playing on the Mod folder you made for the conservative game or on the core mod folder from the core mod svn.
 
Is this playing on one of the mod folders we just setup or on the core mod?
Perhaps "Yesterday I started a SP game with this game's mod..." wasn't specific enough. More specifically, I used the "C2C Cnsv MP" mod, which is the contents of the "C2C MP v37" folder in the C2C SVN MP, along with the UserSettings folder from the "Cnsrv MP Game saves" folder. Well, it was the contents of that folder, before the most recent updates to it. Only today I noticed that it had been updated, thus those were not used in that game. Perhaps I will try again a bit later.
 
What do you mean here? From what I understand, blank usersettings have been the cause for failure to get the game to present a UI so are we sure we want to do this? Yours works... a couple of adjustments to that and maybe we can get this to work.
DH has responded to this multiple times. The User Settings Folder Only Needs the CustomDoMAdv folder in it to keep the UI intact. That is why he put it in. The USF was Not "blank".

This didn't exactly answer the question. I was asking if you were playing on the Mod folder you made for the conservative game or on the core mod folder from the core mod svn.
Thought I made it very clear it was with the main Mod Caveman2Cosmos Not C2C MP Cnsv Mod made from the SVN C2C MP v37 upload. Not sure how you confused the post. :dunno: But hope this clears that up.

JosEPh
 
I'm having to speedread sometimes here guys. And I want to make sure I understand in full the situation, even if that requires redundancy, because it may have bearing on how to debug this thing for good.

As for:
DH has responded to this multiple times. The User Settings Folder Only Needs the CustomDoMAdv folder in it to keep the UI intact. That is why he put it in. The USF was Not "blank".
Since this has never been an issue for me I never paid any attention to it... was always just happy someone else understood it.
 
@All

I'll need a running game to save it, so I can see how it's writing the savefile wrongly.

Tbrd, Joseph, Magnus, and/or anyone else into this, does the failed load attempt occurs for any saved game? Or have you been able to load a save properly? If it's for any save I'll have to create a game so to save it and see what's going on. But if you experienced a successful load, it'd be great to have a savegame in which the next save attempt results in a corrupted savegame data.

The reason for this is that the format in which civ saves files is still too misterious to me, so looking how it's saving, rather then how it's written in the save file, should be better to find the problem.
 
If it's for any save I'll have to create a game so to save it and see what's going on.
It's for any save.

The reason for this is that the format in which civ saves files is still too misterious to me, so looking how it's saving, rather then how it's written in the save file, should be better to find the problem.
You're seeing why I wanted to hand this off. The save and load process is so half-in the EXE that when something goes REALLY weird like this, it's very hard to get a bead on exactly why because so much of the initiation of the save and load procedures are taking place out of sight.
 
Ok, so I got to test what Joseph stated about the main mod working fine. I even included my bugfix in my dll when I ran this test on the core.

The game played fine on the core.

So... We're going to do this a different way.

I'm taking a moment to include the current fix and committing it. Then, we'll be getting a rev# on that commit.

At that point, we all must get our core mods to update to that specific revision #.

Then make 2 copies of that mod in your mod folder and name one for this game and the other for the progressive game.

Joe will provide the usersetting folder for his mod and you'll have to replace your usersettings in the conservative mod folder with his. And I'll do the same for the progressive and you'll need to take those steps for the progressive game.

It also looks like we'll have to go in and turn off the new cultures module in my_mods for the conservative game for Harrier's sake.

Joe and I will have to start up new games and try again but I think that'll clear it all up.

@Joseph: the RevDCM file you need to hand set is UserSettings->RevDCM.ini. Just change options from false to true or vice versa depending on your preferences there. Then save it. Done deal. Everything else you can set in the bug options in-game on the first turn.

This will probably make things easier to update to bugfixes, but when we do, we'll all have to update to a specific revision number rather than just hitting 'update'. And it'll be problematic if we break saves and then have to fix any bugs thereafter.

I'll be getting rid of the v37 mod folder in the MP SVN.

EDIT:
Ok, so it worked. Rev# 9445 is our base (for now.)

Let me know if you have any other setup questions Joe.
 
Last edited:
Sorry, how can the release have different rev numbers? Doesn't it just download whatever version is on the site? I don't know of a way to change that. Please don't do this. If you have to do this, then please put it in the current MP SVN in place of the broken v37.5, as then we can be guaranteed to all be using the same version.
 
Sorry, how can the release have different rev numbers? Doesn't it just download whatever version is on the site? I don't know of a way to change that. Please don't do this. If you have to do this, then please put it in the current MP SVN in place of the broken v37.5, as then we can be guaranteed to all be using the same version.
That's exactly how it became corrupted. I'm not repeating that mistake.

This is actually very easy. Whether you are already updated beyond that point on the main mod or not, you can rightclick on the main mod repository and go down to TortoiseSVN->Update To. That gives you a popup where you can put in the revision number you want to update to (or back up to... it's the same thing) and you just put in 9445 and click ok. When it's done your mod folder is at exactly that revision. That's when you then copy the mod folder, rename it, replace the UserSettings and Bob's your uncle.

Alternatively, you can always rightclick on a repository and go to TortoiseSVN->Show Log and once the log comes up you can rightclick on the revision you want to update to and select 'update to revision'. This is just another way to set your mod folder to the revision # you want it to be at... more useful for backing up turns in our MP game if you need to back up some. There's a lot of neat features in the revision log, like being able to doublclick on specific code files there to see what that changes were made to that file in that specific revision. VERY helpful for coders to see what we did at a particular step and for tracking down when a specific spot was last altered.

IF you don't have the main mod on a current SVN repository, just set one up according to the instructions on the first post of the SVN thread. If you do it soon enough you won't have to contend with any other revisions coming in and having to 'update to' the right revision number.
 
Last edited:
It also looks like we'll have to go in and turn off the new cultures module in my_mods for the conservative game for Harrier's sake.
Done.

Joe and I will have to start up new games and try again but I think that'll clear it all up.
Still Pending.

@Joseph: the RevDCM file you need to hand set is UserSettings->RevDCM.ini. Just change options from false to true or vice versa depending on your preferences there. Then save it. Done deal. Everything else you can set in the bug options in-game on the first turn.

Even though C2C MP Cnsvr is a copy of Caveman2Cosmos just renamed, but with the User Settings Folder (USF) Only containing the CustomDomAdv Folder, Toffer's StartC2C.bat file overwrites any game started with C2C MP Cnsvr with what ever you have in your Main Caveman2Cosmos User Setting Folder (USF) (in this case what I have been using as my USF settings). Now while that does not present a problem right now, because the USF in my Main Caveman2Cosmos is an exact set for what I want for the Pbem game, this can cause problems down the road.

So I strongly suggest for the Main Caveman2Cosmos Mod that the StartC2C.bat be removed. I feel this needs to be done Asap on the Caveman2Cosmos SVN. I know Toffer meant it to help new or returning players but it can and will also cause Old previous versions of Caveman2Cosmos USFs, that these players may have saved, to be automatically written in and thus cause conflicts that will be reported as Bugs or failure to load posts.

I will be setting up the C2C MP Cnsvr Pbem shortly.

JosEPh
 
@All,

If you have followed T-brd's instructions( Edited to fit this Pbem game);
At this point, we all must get our Core mods to update to this specific revision, #9445.

Then make a copy of that (SVN Revision # 9445) in your mod folder and name it for this game C2C MP Cnsrv.
Note: (can use Export function from Tortoise Menu and export directly to C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\ if you are familiar with using this function)

Joe will provide the User Setting folder for his mod and you'll have to replace your User Settings Folder in the conservative mod folder with his.
(Found here C:\...."where ever you placed the C2C MP SVN"....\SVN\C2C MP\Save+TurnList\Cnsrv MP Game saves. )

IMPORTANT:
Update the C2C MP SVN 1st before copying this User Settings Folder (USF)).

It also looks like we'll have to go in and turn off the new cultures module in my_mods for the conservative game for Harrier's sake.
Note: For all players besides Harrier, this is just a Cut/paste operation. Go to My_Mods and "cut" the New_Cultures Folder and then "paste" it into the My_Mods (unloaded), both found under Assets\Modules\ in the C2C Mp Cnsvr Mod that you made and placed in the C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\C2C MP Cnsvr directory.

@Harrier,
In the SVN\C2C MP\Save+TurnList\Cnsrv MP Game saves folder you will also find a Save game. When you have done all the above and are ready to play your turn, just Double click it and it will start your turn for this Pbem game.

And as stated before, once your turn is done, just click the Red End of Turn button. Do Not try to Save your turn from the Drop Down CIV IV BtS menu. The Pbem function does this automatically. Once you see the pop up for sending the save to Dom Pedro, exit the game to Desktop via Main Menu.

Next go to where the game stores the save games check under Pbem and you should find a folder with your savegame. Rename it to: C2C_MP_Cnsrv_Game.CivBeyondSwordSave . Basically right click the savegame click Rename from drop down menu. The highlight the part of the long winded name to be removed and hit backspace till you have only the above save game name.

Next copy this new savegame and go to the SVN\C2C MP\Save+TurnList\Cnsrv MP Game saves folder. Once there paste. It will ask for overwrite ( I don't remember if XP did that) click OK. The savegame will now have a red circle on it's front. Edit the Turn List by cutting the "*" from in front of your name in the list to pasting it in front of Spirictum's name. At the top click File and then Save. The list will also now display a red circle (was a green circle with check mark before editing).

Once these 2 steps are done you are now ready to Commit to the SVN.

To Do this, right click any open space inside this folder's window. A drop down menu will appear. Scroll down the SVN commit and click/select it.

This will bring up an SVN pop up. Top open section is for remarks. I would suggest harrier's turn 50000BC.
Next is a section below. This contains the files you want to commit. Make sure ALL have the square box in front checked. Once this is done then at bottom of this window click the OK button. The commit process will begin. Once finished it will show at the bottom a bold revision number. Now you can close the window and you are done with this session.

Once you have done this process a few times it will flow easily.

Finally, before you take your next and following turns always Update the C2C MP SVN 1st.

Okay It's your turn Harrier! Let's roll!

JosEPh :)
 
Fine. I have never touched the SVN mod before and really did not want to. I recall having very good reasons for that decision at the time, but have no idea what those reasons were anymore. Ah well.

Right, I've gotten that downloaded (at rev 9445) but I am confused by the instructions under: "B: Getting the current version into play:" (Especially step 2, as there is no folder called "root".) The alternate instructions at the link did not help either. (Step 3 of the alternate makes absolutely no sense to me.) Is there a problem with just copying the files and folders directly to the BtS/Mods folder for this game?

Sorry if I'm a bit thick today, I seem to have a bad cold and thinky is no worky.
 
Even though C2C MP Cnsvr is a copy of Caveman2Cosmos just renamed, but with the User Settings Folder (USF) Only containing the CustomDomAdv Folder, Toffer's StartC2C.bat file overwrites any game started with C2C MP Cnsvr with what ever you have in your Main Caveman2Cosmos User Setting Folder (USF) (in this case what I have been using as my USF settings). Now while that does not present a problem right now, because the USF in my Main Caveman2Cosmos is an exact set for what I want for the Pbem game, this can cause problems down the road.

So I strongly suggest for the Main Caveman2Cosmos Mod that the StartC2C.bat be removed. I feel this needs to be done Asap on the Caveman2Cosmos SVN. I know Toffer meant it to help new or returning players but it can and will also cause Old previous versions of Caveman2Cosmos USFs, that these players may have saved, to be automatically written in and thus cause conflicts that will be reported as Bugs or failure to load posts.
This is news from out of nowhere to me. I didn't know about this at all.

So again, it shouldn't be a problem because it's how you and I have our own games setup and it won't mess with the other players because the game is already underway right?

But you're saying we should somehow isolate this file to a modmod that can be a fix for some who have had trouble but remove it from the core? If you see a problem I can go along with that but you should bring it up with Toffer.

Strange that I missed hearing about this at all.

Right, I've gotten that downloaded (at rev 9445) but I am confused by the instructions under: "B: Getting the current version into play:" (Especially step 2, as there is no folder called "root".) The alternate instructions at the link did not help either. (Step 3 of the alternate makes absolutely no sense to me.) Is there a problem with just copying the files and folders directly to the BtS/Mods folder for this game?
My repository is directly inside the mods folder. I suggest doing it that way but some feel there's reason not to. I find those parts of the instructions confusing as well.

The question really is: can you startup the main mod at 9445? If you can, you have the mod folder that you need to make 2 copies of, one for this game and one for the other.
 
Back
Top Bottom