Rocks 2 Rockets

Finally, at long last, the second patch for Rocks 2 Rockets is available.

The DLL has pretty much caught up to the C2C DLL in terms of bug fixes and optimizations. It should just about match revision 4762 for these. It is "just about" because I know there is at least one small optimization I skipped and I may have missed one or two small things buried in a larger update that I was not adding. At least a couple of features have been added, but are not currently used: the Python and PythonCallback tags, the first of which can be used in place of a variety of integer expressions and the second of which can be used by the Outcome system (but isn't, so far). It is, of course, missing a bunch of new features that the C2C DLL has since I did not implement the combat mod stuff, the new trait system stuff, and probably a few other small things.

As one might expect, the new optimizations make it process the AI's turns faster. The turn times should be reduced by at least 10% and probably more than 15%.

Anyhow, the download post linked to above has more information on what is included. There is also a file, Patch v0.2 Notes.txt, that is included in download which contains more info.

Installation instructions are in the download post and the Patch v0.2 Notes.txt file. It is just the usual "extract the contents of the archive someplace and copy the Rocks2Rockets folder into the BtS Mods folder and allow it to overwrite a bunch of files" method of installation.

If anyone here cares, it will also be uploaded to ModDB in the near future.
 
The instructions for Patch 2 are pretty clear and yet it is not working for me. I unzipped the patch to my desktop at which point I copied it into the R2R BTS mod's folder. It didnt ask me to overwrite any folders nor does the in-game Civilization flag info state "R2R v.2" like its suppose to.

I dont know? Any help appreciated, thanks.
 
Nevermind, I got it to work. The installation instructions on the moddb.com website was a little confusing stating "It should create a folder called "Rocks2Rockets", possibly inside one called "Rocks2Rockets-Patch-v0.2" " when it simply created the "patch v0.2' folder then you need to copy all 4 folders within that folder into R2r mods.

Anyway, great work, guys!
 
Argh. I guess I need to fix the instructions. The folder in the 7-zip file was supposed to be named just "Rocks2Rockets" but is actually named "Rocks2Rockets-Patch-v0.2". Oops.

So instead of just copying the resulting Rocks2Rockets folder (which does not actually exist), the new instructions are to copy the contents of the Rocks2Rockets-Patch-v0.2 folder into the BtS Mods/Rocks2Rockets folder. It should consist of 3 folders (Assets, Private Maps, and Sources) and 1 file (Patch v0.2 Notes).

I have to wonder if any people just copied the Rocks2Rockets-Patch-v0.2 folder over into the Mods folder and did not actually patch the mod, but created a new non-functional mod named "Rocks2Rockets-Patch-v0.2". I hope not.
 
Argh. I guess I need to fix the instructions. The folder in the 7-zip file was supposed to be named just "Rocks2Rockets" but is actually named "Rocks2Rockets-Patch-v0.2". Oops.

So instead of just copying the resulting Rocks2Rockets folder (which does not actually exist), the new instructions are to copy the contents of the Rocks2Rockets-Patch-v0.2 folder into the BtS Mods/Rocks2Rockets folder. It should consist of 3 folders (Assets, Private Maps, and Sources) and 1 file (Patch v0.2 Notes).

I have to wonder if any people just copied the Rocks2Rockets-Patch-v0.2 folder over into the Mods folder and did not actually patch the mod, but created a new non-functional mod named "Rocks2Rockets-Patch-v0.2". I hope not.

Lol, you do need to be careful. I did the same thing by accident for the official V26 release, and got a lot of blowback for it, so I can understand how you feel.
 
I'm frequently getting crashes when bomarding cities. It just ramdomly happens (and is reproducable in the same city over the next turns). Is this a R2R issue or shall I post in the c2c section?
 
I'm frequently getting crashes when bomarding cities. It just ramdomly happens (and is reproducable in the same city over the next turns). Is this a R2R issue or shall I post in the c2c section?

What type of bombarding? Land unit or air unit type bombardment? Normal "reduce the city defenses" type (as available in regular BtS) or either the ranged bombard or the archer bombard? (The last two are controlled by BUG options - by default siege engine bombard is on and archer bombard is off.)

What version of R2R? Is it v0 (no patches), v0.1, or v0.2?

Do you have a save game you can post that shows the issue?

There was an adjustment made to the archer bombard in C2C which I may not have gotten in R2R as it was done as part of the Combat Mod related changes which I did not add. Because of this possible missing change, archer bombard is the most likely of the various things called "bombard" to have a bug in it.
 
What type of bombarding? Land unit or air unit type bombardment? Normal "reduce the city defenses" type (as available in regular BtS) or either the ranged bombard or the archer bombard? (The last two are controlled by BUG options - by default siege engine bombard is on and archer bombard is off.)

What version of R2R? Is it v0 (no patches), v0.1, or v0.2?

Do you have a save game you can post that shows the issue?

There was an adjustment made to the archer bombard in C2C which I may not have gotten in R2R as it was done as part of the Combat Mod related changes which I did not add. Because of this possible missing change, archer bombard is the most likely of the various things called "bombard" to have a bug in it.

I believe that a crash like this due to NULL pointer dereferencing and animations was fixed in V29 development. So you might want to look at merging that fix into R2R.
 
I believe that a crash like this due to NULL pointer dereferencing and animations was fixed in V29 development. So you might want to look at merging that fix into R2R.

If you are talking about rev. 4848 as in this post, I think that may only be for AI initiated bombardment although if multiple units are selected and the bombard button is pressed so they all happen I could see it possibly being an issue for the human player too.

Which adds another question: Was it just one unit or a stack for which the bombard button was pressed?

Whether or not it is the fix for this issue that particular change should be in the next patch (my local copy is only a few revisions behind that now). There is currently no solid ETA for the next patch, although "perhaps sometime around the end of the month" is a good guess, unless some specific issue (like this one) gets a fix that needs pushing out earlier.
 
Thanks for the replies.

I'm using v2 (latest).

It was a stack of units, land bombardment with siege weapons (catapult, trebuchet, bomard), AFTER city defs are down.

I now have a totally different (bigger) problem - game crashes, no matter what I do (shuts down to windows when new turn is processed). Rather unhappy about that cos the game was just starting to get interesting...

I'll upload the last save short before the crash (and one to reproduce the bombardment issue) this evening.

Thanks for the effort (I'd be really happy if I could continue playing that game :rolleyes:)!
 
Here's the Crash-Savegame. For some reason, the bombarding issue doesn't work now (or rather: it does work ;-) ). Maybe its cause i have too few siege weapons left in the stack?
 

Attachments

  • Catherine BC-1235CRASZ.rar
    2.2 MB · Views: 68
Koshling did fix that crash. A quick compare on that section between the two CvUnit.cpp files would reveal it quickly. It was a very small coding difference that fixed it. I recall the fix taking place and seeing the difference in the code and if I catch a moment to review that section I'll return and display, if I can recall, exactly where the difference is.
 
Okay... I don't know if what you say about "coding difference" is good or bad (in terms of "solving the problem"). Anyway, here's another file (played a little around, but crash still inevitable a few turns later) which crashes.
And one where you now can experience the bombardment-issue.
Thanks anyhow!
 

Attachments

  • Catherine BC-1115cc.rar
    2.2 MB · Views: 90
  • Catherine BC-1235bombard.rar
    2.2 MB · Views: 102
Well... if its the same as that previous issue in C2C, the profiler will go right to it on a debug run. You'll have to wait for God-Emperor to address it as I don't have access to his file set.
 
Here's the Crash-Savegame. For some reason, the bombarding issue doesn't work now (or rather: it does work ;-) ). Maybe its cause i have too few siege weapons left in the stack?

Well, I've looked into this some. Fixed one issue only to run into another a turn or two later.

This particular crash, in the saved game in Catherine BC-1235CRASZ.rar, is caused by a plot being owned by a player who is dead. In the function CvPlayerAI::AI_getAttitude there is specifically a check to see if the player is dead and if so it is programmed to crash on purpose (via "throw new std::exception();" causing an unhandled exception).

So the question is, how is a plot owned by a dead player? Is it just bad timing (player set to dead but it has not yet finished processing them) or is it actually not removing their ownership of the plot when it should? Well, at this juncture I'm probably not going to really try to figure out how a plot is owned by a dead player, just make it stop crashing if one is.

That function is the same in C2C,as is the one that called it, so unless C2C has somehow addressed the "plots owned by dead players" issue it probably also has this problem.

Anyhow, just not doing this stuff if the plot owner is dead will stop the crash. For determining danger, having it consider a plot owned by a dead player as if it were unowned fixes this problem.

Sadly, after that was fixed clicking through a turn or two it crashed from a completely different cause. While an AI was evaluating techs it failed to generate a path through the tech tree to the tech it was already bee-lining (the path is NULL), which causes it to fall over dead due to assuming this will never happen (which ought to be a safe assumption, there is no hint as to why it failed). I have not yet had the time to figure out how this happened.
 
Thanks for you effort, God-Emperor.
I'm not sure if I understand the whole of the nature of these errors. But couldn't the second one be solved by just giving the tech to the respective AI-player? This could even be done in the world-builder (hence by me). Might not be a real solution, but worth a try?
 
Well, I've looked into this some. Fixed one issue only to run into another a turn or two later.

This particular crash, in the saved game in Catherine BC-1235CRASZ.rar, is caused by a plot being owned by a player who is dead. In the function CvPlayerAI::AI_getAttitude there is specifically a check to see if the player is dead and if so it is programmed to crash on purpose (via "throw new std::exception();" causing an unhandled exception).

So the question is, how is a plot owned by a dead player? Is it just bad timing (player set to dead but it has not yet finished processing them) or is it actually not removing their ownership of the plot when it should? Well, at this juncture I'm probably not going to really try to figure out how a plot is owned by a dead player, just make it stop crashing if one is.

That function is the same in C2C,as is the one that called it, so unless C2C has somehow addressed the "plots owned by dead players" issue it probably also has this problem.

Anyhow, just not doing this stuff if the plot owner is dead will stop the crash. For determining danger, having it consider a plot owned by a dead player as if it were unowned fixes this problem.

Sadly, after that was fixed clicking through a turn or two it crashed from a completely different cause. While an AI was evaluating techs it failed to generate a path through the tech tree to the tech it was already bee-lining (the path is NULL), which causes it to fall over dead due to assuming this will never happen (which ought to be a safe assumption, there is no hint as to why it failed). I have not yet had the time to figure out how this happened.

That doesn't sound right to me. We should never just randomly throw exceptions like that. At the very least it should try and handle the situation gracefully, not just crash. You do make an interesting point though about why this hasn't happened in C2C.

If you find a fix for that (or the tech bug) please tell us, as that could be useful for V29.
 
By the way, it was interesting to see the new R2R Earth - 28 Civs 124X68 map in use.

Particularly in that your Russian empire is in the verge of at least a partial collapse: revolution of 4 cities is not far away, those pesky Sumerian vassals of the Chinese empire you are at war with have a couple of units wandering around in your territory and take a significant city on their border, Sevastopol, from you at the end of the turn once the first bug is fixed, unless maybe the 3 damaged longbows are upgraded to arquebuissiers before ending the turn (I didn't try it to see if that would save the city - it might, it might not - but that is only for the current turn, even if it does save it they may well take it soon anyway), and so on. It looks like your empire has expanded a bit too quickly for your own good, or perhaps you have been at war for too long (you also have way too many spies - more military units instead would have allowed a better defense against the Sumerians, or even the possibility of just wiping them out). A lot of this may be a hazard of being Russia - there is a lot of land in Asia to expand onto and also a lot of neighbors to fight wars with who also want that land.

BTW, an interesting challenge is playing as the Incans on this map. They have an incredibly slow start (as in having a large number of turns where absolutely nothing happens in the prehistoric era) due to limited land, which also limits the number of animals you can hunt to a very small number and therefore has an impact on your research rate, and limited resources. Once you get rafts so you can go around the Andes the activity level increases a lot (and the research rate increases nicely from some new Myths).

This Earth map is so large (although much smaller then the Giant Earth Map) that to some extent it defies the entire purpose of R2R and may become unplayable at some point, perhaps by the Renaisance, if you play R2R instead of C2C because your computer doesn't have much memory. However, if you can play a random Huge map it should work fine, since those are actually slightly larger, and might work if you can play a random Large map.
 
Top Bottom