CMBN Battle Pack released (includes v3.12)

Hi everybody,


I didn't saw your warning regarding upgrade and ongoing game so I upgraded (yeah, silly me). Our current games with @Krieger seems to go perfectly well though it may be pure luck and unconsult simultaneous upgrade.
 
Hi everybody,


I didn't saw your warning regarding upgrade and ongoing game so I upgraded (yeah, silly me). Our current games with @Krieger seems to go perfectly well though it may be pure luck and unconsult simultaneous upgrade.

It could be that you and your opponent, without discussing it, have both updated at the same time.
Or not .. because for a couple of updates (patches) now, BFC has not assigned a new "internal engine version number" to the patched games. So both of you could be at different versions (v3.11 and v3.12) and it would still work.

Let me explain: For my tool CMx2 ScAnCaDe (see link in my signature), I analyse scenario (btt) and campaign files (cam). When CM saves any file (in the editor -btt or cam -, or when creating an PBEM ema file), it will write the current version number of the CM engine into this file.
The effect this has is that when evaluating the file, CM will only recognize it as a valid, loadable file if the version of the program executable is the same or higher than the version number of the file (so you will always be able to load files created with an older version of CM with a newer version, e.g. load a file created with CMBN v1.0 in CMBN v3.12).
On the other hand, you could not load a file which is of a higher version than the program executable, e.g. with a CMBN v2.10 you would not be able to load a file created with CMBN v3.12. It would not show up in the list of Saved Games (taking PBEM as an example, this was quite a common occurence and a good indicator that two players were at different versions .. one player would not see the ema file in CM despite it being in the correct folder).

For two games, CMBN and CMRT, there is now the situation that you can not distinguish between the versions of the game with which the file has been created. CMRT writes the same internal version number into btt, cam and ema files no matter if it is v1.0, v1.01, v1.02 or v1.03. The same is true for CMBN versions v3.10 through to v3.12. This means that the kind of prevention (possibly protection) mechanism does not work any more - two players with different executables (and different program behaviour) could be playing the same game, e.g. a "v3.11 player" with a "v3.12" player.

I'm not quite sure what effect this has or if this has been done intentionally. For quite a long time, every CMx2 version released came with an increment in the version number. Not so anymore .. not sure what to make of this, but it makes version clashes in PBEMs more likely since the "protection" described above is not there any more.
 
Last edited:
It could be that you and your opponent, without discussing it, have both updated at the same time.
Or not .. because for a couple of updates (patches) now, BFC has not assigned a new "internal engine version number" to the patched games. So both of you could be at different versions (v3.11 and v3.12) and it would still work.

Let me explain: For my tool CMxw ScAnCaDe (see link in my signature), I analyse scenario (btt) and campaign files (cam). When CM saves any file (in the editor -btt or cam -, or when creating an PBEM ema file), it will write the current version number of the CM engine into this file.
The effect this has is that when evaluating the file, CM will only recognize it as a valid, loadable file if the version of the program executable is the same or higher than the version number of the file (so you will always be able to load files created with an older version of CM with a newer version, e.g. load a file created with CMBN v1.0 in CMBN v3.12).
On the other hand, you could not load a file which is of a higher version than the program executable, e.g. with a CMBN v2.10 you would not be able to load a file created with CMBN v3.12. It would not show up in the list of Saved Games (taking PBEM as an example, this was quite a common occurence and a good indicator that two players were at different versions .. one player would not see the ema file in CM despite it being in the correct folder).

For two games, CMBN and CMRT, there is now the situation that you can not distinguish between the versions of the game with which the file has been created. CMRT writes the same internal version number into btt, cam and ema files no matter if it is v1.0, v1.01, v1.02 or v1.03. The same is true for CMBN versions v3.10 through to v3.12. This means that the kind of prevention (possibly protection) mechanism does not work any more - two players with different executables (and different program behaviour) could be playing the same game, e.g. a "v3.11 player" with a "v3.12" player.

I'm not quite sure what effect this has or if this has been done intentionally. For quite a long time, every CMx2 version released came with an increment in the version number. Not so anymore .. not sure what to make of this, but it makes version clashes in PBEMs more likely since the "protection" described above is not there any more.

Thanks for this: really informative and helpful post!

I think your last point of potential PBEM version clashes without the "protection" of the embedded version numbers check is most likely: the changes e.g in v3.12 seem destined to cause problems in a "mixed game" with 3.11. IMO it was / is better to prevent the game starting / continuing because of the version difference, rather than appearing to let things proceed and merely store up problems for later.

It is quite easy to keep to separate, different-version, copies of all CMx2 installations going, I have found: the best way for "early upgraders" to do that and keep old games running in an earlier version at the same time, IMO. There is no risk of compromising the old game ...
 
Interesting info their @Mad Mike I never asked about this wrt to CMBN but it does make sense that it is only bumped when something in the file format changed to fix a bug (either in the actual file output or in an important bit of code that interpreted said output). For example CMRT 1.02 was a quick fix to CMRT 1.01 that broke something important itself so 1.03 was even quicker on its heels. I can totally see v 1.01, 1.02 and 1.03 not having any differences in file format but I did not know that 1.0 also had the same file version. Similarly for CMBN. This is news to me.

Or, if the file format has changed the something is not quite right.

I wonder if we can get an official statement about it - off to ask...
 
Interesting info their @Mad Mike I never asked about this wrt to CMBN but it does make sense that it is only bumped when something in the file format changed to fix a bug (either in the actual file output or in an important bit of code that interpreted said output). For example CMRT 1.02 was a quick fix to CMRT 1.01 that broke something important itself so 1.03 was even quicker on its heels. I can totally see v 1.01, 1.02 and 1.03 not having any differences in file format but I did not know that 1.0 also had the same file version. Similarly for CMBN. This is news to me.

Or, if the file format has changed the something is not quite right.

I wonder if we can get an official statement about it - off to ask...

Ian, the assumption about the file format seems reasonable and could be a reason for "no change".
But still, even though it's the same format, wouldn't different executables "fill" this format with different information in the same circumstances?
Would be interested to hear anything about this .. quite puzzling. Thanks for asking. :)
 
Ok, I only have one remaining V3.11 CMBN PBEM going at this time, and I want to go ahead and install the battle pack. Could someone explain to me how to have two CMBN installs (both 3.11 and 3.12)? I want my current install location to be the one with the updated version, and am willing to move the old 3.11 version somewhere else, to be deleted when my current PBEM ends.

Edit: Windows 10
 
Ok, I only have one remaining V3.11 CMBN PBEM going at this time, and I want to go ahead and install the battle pack. Could someone explain to me how to have two CMBN installs (both 3.11 and 3.12)? I want my current install location to be the one with the updated version, and am willing to move the old 3.11 version somewhere else, to be deleted when my current PBEM ends.

Edit: Windows 10

I would be happy to tell you "my way" ... BUT I'm on a Mac, and just in case there are differences (in detail rather then in principle) I think it's better if someone also on a PC / Windows 10 takes you through the steps in detail ...

But for what it's worth, overall:

I copy the whole CMBN 3.11 app package (Mac!) to my desktop: that stays as 3.11;

Edit the default location, original copy of CMBN to delete all the saved games, and - temporarily - move the z mods folder somewhere else;

Check that the saved games still work in the newly-located copy to stay as 3.11;

Apply the patch, which - previously every time for me, by default - finds and updates the now "empty", original, default location copy of CMBN;

Run the upgraded copy, check is activated to 3.12; move back the Mods folder and check they don't cause any problems via a few quick battle start-ups;

Start "real" battles in the upgraded copy, and continue with the old battles in 3.11!

Also, if you use CMH that will (has so far) happily track and keep separate the two installs of CMBN, and will direct incoming files to the correct version of the game, so all runs smoothly (!) just as before ...

Hope that helps a bit.
 
Ok, I only have one remaining V3.11 CMBN PBEM going at this time, and I want to go ahead and install the battle pack. Could someone explain to me how to have two CMBN installs (both 3.11 and 3.12)? I want my current install location to be the one with the updated version, and am willing to move the old 3.11 version somewhere else, to be deleted when my current PBEM ends.

Edit: Windows 10

I am using Win 10 as well. Copy the current 3.11 install to a new folder right along side the existing one. Install the battle pack - sadly you cannot control where it installs to but it seems to pick the last place you installed to previously. See which of the now two installs was upgraded to 3.12 and name the two program folders appropriately so you know which is which.

Edited to add I now have C:\Programs\CMBN312 and D:\Programs\CMBN311 and they are happy. Two things to note I copied the C:\Programs\CMBN311 to the D: drive location and then renamed the C: folder to 3.12 then I ran the install and it installed all of its files to C:\Programs\CMBN311 which surprised me - at the time I had no idea that the install would not let me point to where I wanted the files to go. Thankfully a simple copy of the contents of C:\Programs\CMBN311 to C:\Programs\CMBN312 worked just fine - the install is really just replacing the game .exe and adding some files to various sub folders so straightforward.
 
I wonder if we can get an official statement about it - off to ask...

OK here is what I asked "
Over at FGM a couple of people noticed that their games continued uninterrupted when the upgraded their installs and forgot to talk to their opponents. I thought it was just luck but someone who has done some work with your file format noticed that the version number in the file has not changed between every release.

http://www.thefewgoodmen.com/thefgm...eased-includes-v3-12.23648/page-2#post-207387

Is that intentional? Would you care to make an official statement about file versioning. Perhaps on in the FGM forum but it might be worth talking about in your own forum."

And here is what Steve answered:
"Not intentional. CM checks version numbers when a PBEM game is started not after. Since v3.12 is a fairly minor change (e.g. not Upgrade v3 to a game started in v2) it i snot surprising to me that v3.12 is working fine with v3.11 stuff. It's happened before for the same reason.

The thing is we don't ever know if a change we make to the code is going to mess up a game in progress therefore we tell people it's not supported. If it works, great, but it might not work consistently or 100% correctly.

For example, Players A/B might find it works just fine, no problemo. Players C/D might find it locks them up. Players E/F could initially be fine and then things lock up. It all depends on what changes we make AND what specific conditions are in the save game files.

Therefore, the safest thing we can do is advise people to finish up their v3.11 games before moving onto v3.12. After that it's "use at your own risk".

Steve

P.S. you can pass this along verbatim if you wish."

I don't think that answers everything but it indicates their intent for sure. @Mad Mike can you tell me how to look at the version number attached to a bts or ema file? I assume it is some offset in the file or something similar. I want to try a couple of test scenarios but first I want to be able to see what is in the turn files. You can PM me or email me if you like.
 
I would be happy to tell you "my way" ... BUT I'm on a Mac, and just in case there are differences (in detail rather then in principle) I think it's better if someone also on a PC / Windows 10 takes you through the steps in detail ...

But for what it's worth, overall:

I copy the whole CMBN 3.11 app package (Mac!) to my desktop: that stays as 3.11;

Edit the default location, original copy of CMBN to delete all the saved games, and - temporarily - move the z mods folder somewhere else;

Check that the saved games still work in the newly-located copy to stay as 3.11;

Apply the patch, which - previously every time for me, by default - finds and updates the now "empty", original, default location copy of CMBN;

Run the upgraded copy, check is activated to 3.12; move back the Mods folder and check they don't cause any problems via a few quick battle start-ups;

Start "real" battles in the upgraded copy, and continue with the old battles in 3.11!

Also, if you use CMH that will (has so far) happily track and keep separate the two installs of CMBN, and will direct incoming files to the correct version of the game, so all runs smoothly (!) just as before ...

Hope that helps a bit.

To edit this by adding more on CMH (if applicable to you) ...

I should have said :oops: that it works best if the first step is to close CMH (I leave it running at all times): this stops CMH trying to put back the 3.11 saved games from dropbox folders into your nice new 3.12 version of the game ... because it is that 3.12 version, in the default (?) location, that CMH knows ...

If you then start CMH again after all of the upgrade steps, but before playing any games, all of the CMBN saved games are not there in CMH, because you have deleted them as part of the process.

You then add a new install in CMH of the 3.11, moved, copy of the game, pointing CMH at its new location. CMH will then find and incorporate, usually on its own, your 3.11 saved games still present in the copied version. Any dropbox links that may go awry can be reinstated in CMH, and it will then track saves in both versions, as appropriate ...

Big apologies if missing out those CMH bits originally caused you any hiccups!
 
OK here is what I asked "
Over at FGM a couple of people noticed that their games continued uninterrupted when the upgraded their installs and forgot to talk to their opponents. I thought it was just luck but someone who has done some work with your file format noticed that the version number in the file has not changed between every release.

http://www.thefewgoodmen.com/thefgm...eased-includes-v3-12.23648/page-2#post-207387

Is that intentional? Would you care to make an official statement about file versioning. Perhaps on in the FGM forum but it might be worth talking about in your own forum."

And here is what Steve answered:
"Not intentional. CM checks version numbers when a PBEM game is started not after. Since v3.12 is a fairly minor change (e.g. not Upgrade v3 to a game started in v2) it i snot surprising to me that v3.12 is working fine with v3.11 stuff. It's happened before for the same reason.

The thing is we don't ever know if a change we make to the code is going to mess up a game in progress therefore we tell people it's not supported. If it works, great, but it might not work consistently or 100% correctly.

For example, Players A/B might find it works just fine, no problemo. Players C/D might find it locks them up. Players E/F could initially be fine and then things lock up. It all depends on what changes we make AND what specific conditions are in the save game files.

Therefore, the safest thing we can do is advise people to finish up their v3.11 games before moving onto v3.12. After that it's "use at your own risk".

Steve

P.S. you can pass this along verbatim if you wish."

I don't think that answers everything but it indicates their intent for sure. @Mad Mike can you tell me how to look at the version number attached to a bts or ema file? I assume it is some offset in the file or something similar. I want to try a couple of test scenarios but first I want to be able to see what is in the turn files. You can PM me or email me if you like.

Thanks @A Canadian Cat

You're right, it doesn't really answer everything (or anything for that matter, without wanting to sound too harsh ;)).

But if you want to look into it further, I will prepare some input for you via PM.
 
Back
Top Bottom