1. We have added the ability to collapse/expand forum categories and widgets on forum home.
    Dismiss Notice
  2. Photobucket has changed its policy concerning hotlinking images and now requires an account with a $399.00 annual fee to allow hotlink. More information is available at: this link.
    Dismiss Notice
  3. All Civ avatars are brought back and available for selection in the Avatar Gallery! There are 945 avatars total.
    Dismiss Notice
  4. To make the site more secure, we have installed SSL certificates and enabled HTTPS for both the main site and forums.
    Dismiss Notice
  5. Civ6 is released! Order now! (Amazon US | Amazon UK | Amazon CA | Amazon DE | Amazon FR)
    Dismiss Notice
  6. Dismiss Notice
  7. Forum account upgrades are available for ad-free browsing.
    Dismiss Notice

[Religion and Revolution]: Bugs and Todos

Discussion in 'Civ4Col - Religion and Revolution' started by raystuttgart, Dec 13, 2011.

  1. eXPonent_123

    eXPonent_123 Chieftain

    Joined:
    Mar 25, 2017
    Messages:
    66
    Gender:
    Male
    Can my updates (translated into Russian) be implemented in English-language assemblies?
    What would our multiplayer players be able to see your players?
     
  2. Nightinggale

    Nightinggale Chieftain

    Joined:
    Feb 2, 2009
    Messages:
    3,622
    Wrong thread. It's more like mod development than a bug.

    A quick answer would be yes, they can be added. However western European and Russian can't be present in a game at the same time, which will make multiplayer problematic. Also it would likely mean maintaining two sets of GameFont files.
     
  3. eXPonent_123

    eXPonent_123 Chieftain

    Joined:
    Mar 25, 2017
    Messages:
    66
    Gender:
    Male
    Play it if you add a sixth language
     
  4. Hecur

    Hecur Chieftain

    Joined:
    Jun 24, 2017
    Messages:
    6
    Crash: If i conquer Montreal the game crashes. See the attached save game. Any idea to prevent this?
     

    Attached Files:

  5. Nightinggale

    Nightinggale Chieftain

    Joined:
    Feb 2, 2009
    Messages:
    3,622
    Not yet. I better make it crash in the debugger and see what I can find out.
     
  6. Schmiddie

    Schmiddie Chieftain

    Joined:
    Feb 27, 2012
    Messages:
    1,141
    Location:
    Germany
    I can't load the file...
     
  7. Hecur

    Hecur Chieftain

    Joined:
    Jun 24, 2017
    Messages:
    6
    Does it crash while loading?
     
  8. Schmiddie

    Schmiddie Chieftain

    Joined:
    Feb 27, 2012
    Messages:
    1,141
    Location:
    Germany
    No, I can't find it in the saves list. Maybe wrong format?
     
  9. Hecur

    Hecur Chieftain

    Joined:
    Jun 24, 2017
    Messages:
    6
    Well, i needed to change the capitalization of the file extension in order to be able to upload it on the forum. Maybe try renaming it to "*.ColonizationSave"
     
  10. Schmiddie

    Schmiddie Chieftain

    Joined:
    Feb 27, 2012
    Messages:
    1,141
    Location:
    Germany
    File is useless. Please upload a file without any changes (e.g. as zip-file).
     
  11. Hecur

    Hecur Chieftain

    Joined:
    Jun 24, 2017
    Messages:
    6
    Now as zip
     

    Attached Files:

  12. Schmiddie

    Schmiddie Chieftain

    Joined:
    Feb 27, 2012
    Messages:
    1,141
    Location:
    Germany
    Works fine. Have played some further years and conquerred Montreal. All works fine...
     
  13. Nightinggale

    Nightinggale Chieftain

    Joined:
    Feb 2, 2009
    Messages:
    3,622
    I haven't tried the savegame yet, but as a general rule, do zip savegames. They are saved uncompressed, meaning using zip files will reduce the disk space and bandwidth used on the server. This time it's a fairly small savegame, but some can be quite big files.
     
  14. devolution

    devolution Chieftain

    Joined:
    Oct 7, 2016
    Messages:
    8
    Hi!

    I recently decided to get into RAR modding, so I compiled the DLL and played around with debugging and I noticed several missing XML entry issues as well as a number of bugs

    1) CvEuropeScreen.py:
    The script is attempting to modify the artillery sprites (they need to be wider to look right, without it they appear "squashed"!), but since the cannon units were renamed to artillery, the script fail to work correctly. Note that there are similar issues for the two other ports (they must have been copy pasted, but the issue does not trigger since one cannot purchase these units)
    The fix is to change line 532:
    from:
    Code:
    if (loopUnit.getUnitType() == gc.getInfoTypeForString("UNIT_CANNON") or loopUnit.getUnitType() == gc.getInfoTypeForString("UNIT_LIGHT_CANNON")):
    
    to:
    Code:
    if (loopUnit.getUnitType() == gc.getInfoTypeForString("UNIT_HEAVY_ARTILLERY_VETERAN") or loopUnit.getUnitType() == gc.getInfoTypeForString("UNIT_LIGHT_ARTILLERY_VETERAN")):
    2) CIV4BuildingInfos.xml:
    BUILDINGCLASS_WHALE_OIL_HOUSE is listed twice
    The fix is to remove one of the entries. For instance lines 345-351 (or lines 543-548)

    3)
    CIV4BuildingClassInfos.xml
    BUILDING_BONUS_SALT is listed twice
    The fix is to remove one of the entries. For instance lines 11763-11829 (or lines 10758 -10824)

    4)
    CIV4EventInfos.xml
    EVENT_ARCHBISHOPRIC is listed twice

    5)
    CIV4GameText_RaR_Game_Concepts.xml
    TXT_KEY_CONCEPT_IMPROVEMENTS_PEDIA is missing a link to the lumbermill improvement (Note I did not check the other languages)
    The fix is to replace line 1002 with
    Code:
            <English>[H1]PIONEERS AND IMPROVEMENTS[\H1][NEWLINE][NEWLINE]To tame the wilderness of the New World, you can build [COLOR_HIGHLIGHT_TEXT]Improvements[COLOR_REVERT] that further increase your colony's output. Building improvements is an excellent way to cheaply increase your production of different kinds of [COLOR_HIGHLIGHT_TEXT]Raw Materials[COLOR_REVERT].[NEWLINE][NEWLINE][NEWLINE][BOLD]How to Build Improvements[\BOLD][PARAGRAPH:1]To build Improvements, first you need a [COLOR_HIGHLIGHT_TEXT]Pioneer[COLOR_REVERT]. You may assign one of your colonists to the [LINK=PROFESSION_PIONEER]Pioneer[\LINK] profession from the Settlement Screen, but only if your [LINK=CONCEPT_SETTLEMENTS]Settlement[\LINK] has enough tools available. The number of Tools that is required for equipping Pioneers depends on the [COLOR_HIGHLIGHT_TEXT]Game Speed[COLOR_REVERT] on which you play the game.[PARAGRAPH:2]Once you have a [COLOR_HIGHLIGHT_TEXT]Pioneer[COLOR_REVERT], you may move him onto a Plot and begin building Improvements. The Pioneer can continue to build indefinitely.[PARAGRAPH:2]Most improvements can only be constructed inside your [LINK=CONCEPT_BORDERS]Borders[\LINK]. Improvements that can be built outside your Borders provide no yield bonuses of Raw Materials.[PARAGRAPH:1]The [COLOR_HIGHLIGHT_TEXT]Production Speed[COLOR_REVERT] of Pioneers is dependent on the type of action he is assigned to perform, the kind of terrain he finds himself on and certain bonuses of Leaders. The speed can also be doubled by employing [LINK=UNIT_PIONEER]Hardy Pioneers[\LINK].[PARAGRAPH:1] Actions of Pioneers almost always require a small sum of gold to be paid. A few of them, like Draining Marshes, require more than 100 gold.[NEWLINE][NEWLINE][NEWLINE][COLOR_HIGHLIGHT_TEXT][BOLD]Types of Improvements[COLOR_REVERT][NEWLINE][NEWLINE]Roads[\BOLD][PARAGRAPH:1][COLOR_HIGHLIGHT_TEXT]Roads[COLOR_REVERT] help speed transport of your units across open land. Moving across a Road tile costs 1/2 the normal amount of movement points. Roads can be built on any non-water plot. There are two other types of Roads, that can be built on plots with Roads already present: [COLOR_HIGHLIGHT_TEXT]Plastered Roads[COLOR_REVERT] and [COLOR_HIGHLIGHT_TEXT]Railroads[COLOR_REVERT]. These allow a unit to move respectively 3 times and 4 times faster.[NEWLINE][NEWLINE][BOLD]Lodges[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_LODGE]Lodges[\LINK] and [LINK=IMPROVEMENT_LUMBERMILL]Lumbermills[\LINK] can only be built on tiles with vegetation. They increase the [LINK=YIELD_LUMBER]Lumber[\LINK] and [LINK=YIELD_VALUABLE_WOOD]Valuable Wood[\LINK] output of those tiles. They automatically become [LINK=IMPROVEMENT_LUMBERJACK_CAMP]Lumberjack Camps[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Mines[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_MINE]Mines[\LINK] can be built on all Hill and Mountain tiles, as well as on all [LINK=TERRAIN_DESERT]Desert[\LINK] Terrain. Mines increase the amount of [LINK=YIELD_ORE]Ore[\LINK], [LINK=YIELD_RAW_SALT]Rock Salt[\LINK], [LINK=YIELD_SILVER]Silver[\LINK], [LINK=YIELD_GEMS]Gems[\LINK] and [LINK=YIELD_GOLD]Gold[\LINK] those tiles produce, although in some of those cases a [COLOR_HIGHLIGHT_TEXT]Bonus Resource[COLOR_REVERT] needs to be present to be able to produce that yield at all. They automatically become [LINK=IMPROVEMENT_DEEP_MINE]Large Mines[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Farms[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_FARM]Farms[\LINK] can be built on nearly any flat, unforested tile (Tundra and Snow tiles cannot support Farms). Building a Fram will greatly increase a tile's [LINK=VIELD_FOOD]Food[\LINK] and [LINK=YIELD_BARLEY]Barley[\LINK] Output, and gives smaller boosts to other resources as well. They automatically become [LINK=IMPROVEMENT_LARGE_FARM]Large Farms[\LINK] if your colonists work them long enough.[NEWLINE][NEWLINE][BOLD]Plantations[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_PLANTATION]Plantations[\LINK] can also be built on nearly any flat, unforested tile (Tundra and Snow tiles cannot support Plantations). Building a Plantation will greatly increase a tile's output of various resources other than Food or Barley, although these receive minor boosts as well. They automatically become [LINK=IMPROVEMENT_LARGE_PLANTATION]Large Plantations[\LINK] if your colonists work on them long enough.[NEWLINE][NEWLINE][BOLD]Cocoa Plantations[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_COCOA_PLANTATION]Cocoa Plantations[\LINK] can be built only in [LINK=FEATURE_JUNGLE]Jungles[\LINK], and they increase the production of [LINK=YIELD_COCOA_FRUITS]Cocoa Pods[\LINK] and, in a smaller degree, the production of [LINK=YIELD_FOOD]Food[\LINK] as well. They automatically become [LINK=IMPROVEMENT_LARGE_COCOA_PLANTATION]Large Cocoa Plantations[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Vineyards[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_VINEYARD]Vineyards[\LINK] can be built exclusively on Hilly [LINK=TERRAIN_GRASS]Grass[\LINK] Terrain. They increase the production of [LINK=YIELD_GRAPES]Grapes[\LINK], and to a smaller degree the production of [LINK=YIELD_FOOD]Food[\LINK] as well. They automatically become [LINK=IMPROVEMENT_LARGE_VINEYARDS]Old Vineyards[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Pastures[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_PASTURE]Pastures[\LINK] can be built both on flat and hilly [LINK=TERRAIN_GRASS]Grass[\LINK], [LINK=TERRAIN_PLAINS]Prairie[\LINK] or [LINK=TERRAIN_SAVANNAH]Savannah[\LINK] Terrain. They increase the production of all three kinds of [LINK=CONCEPT_CATTLE_OR_SHEEP_BREEDING]Livestock[\LINK] They automatically become [LINK=IMPROVEMENT_LARGE_PASTURE]Large Pastures[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Collectors Posts[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_COLLECTORS_POST]Collectors Posts[\LINK] can be built only on hilly [LINK=TERRAIN_PLAINS]Prairie[\LINK] Terrain. They increase the production of [LINK=YIELD_RED_PEPPER]Red Pepper[\LINK] on these tiles, and also give a minor boost to the production of [LINK=YIELD_FOOD]Food[\LINK]. They automatically become [LINK=IMPROVEMENT_COLLECTORS_DEPOT]Collectors Depots[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Trapper Huts[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_TRAPPER_HUT]Trapper Huts[\LINK] can be built in all kinds of forests except for Jungles, as well as on [LINK=TERRAIN_TUNDRA]Tundra[\LINK] Terrain and on plots with the [LINK=BONUS_BISON]Bisons[\LINK] Bonus. They increase the amount of [LINK=YIELD_FUR]Fur[\LINK] and [LINK=YIELD_PREMIUM_FUR]Premium Fur[\LINK] that is produced on such tiles. They automatically become [LINK=IMPROVEMENT_TRAPPER_CAMP]Trapper Camps[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Quarries[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_QUARRY]Quarries[\LINK] can be built only on [COLOR_HIGHLIGHT_TEXT]Peaks[COLOR_REVERT]. They increase the production of [LINK=YIELD_STONE]Stone[\LINK]. They automatically become [LINK=IMPROVEMENT_LARGE_QUARRY]Large Quarries[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Coca Posts[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_COLLECTORS_POST2]Coca Posts[\LINK] can be built only on Hills of [LINK=TERRAIN_SAVANNAH]Savannah[\LINK] Terrain. They increase the production of [LINK=YIELD_COCA_LEAVES]Coca Leaves[\LINK], and they also give a minor bonus for [LINK=YIELD_FOOD]Food[\LINK] production. They automatically become [LINK=IMPROVEMENT_COLLECTORS_DEPOT2]Coca Depots[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][BOLD]Forts[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_FORT]Forts[\LINK] can be built on all tiles, and they can also be built outside your borders, but not inside the borders of another nation. They provide no bonuses for the production of Raw Materials, but they provide a large [COLOR_HIGHLIGHT_TEXT]Defensive Bonus[COLOR_REVERT] to units fortified inside. They also discourage Native Braves in the vicinity from [LINK=CONCEPT_NATIVE_RAIDS]Raiding[\LINK] your settlements. They automatically become [LINK=IMPROVEMENT_LARGE_FORT]Large Forts[\LINK] if military troops are stationed in them long enough.[NEWLINE][NEWLINE][BOLD]Monasteries[\BOLD][PARAGRAPH:1][LINK=IMPROVEMENT_MONASTERY]Monasteries[\LINK] can be built on any land plot, and they can also be built outside your borders, but not inside the borders of another nation. They do not give bonuses in Raw Material yields. They work once a [LINK=PROFESSION_MISSIONARY]Missionary[\LINK] is stationed inside them. They can then generate several positive events, specified in the Game Concept page for [LINK=CONCEPT_MONASTERIES]Monasteries[\LINK]. They automatically become [LINK=IMPROVEMENT_LARGE_MONASTERY]Large Monasteries[\LINK] if your colonists work in them long enough.[NEWLINE][NEWLINE][NEWLINE][COLOR_HIGHLIGHT_TEXT][BOLD]Other Pioneer Actions[\BOLD][COLOR_REVERT][NEWLINE][NEWLINE][NEWLINE][BOLD]Clearing Forests[\BOLD][PARAGRAPH:1]Pioneer units can also cut down any kind of [COLOR_HIGHLIGHT_TEXT]Vegetation[COLOR_REVERT]. This will permanently remove this feature from a tile, and it will also generate a small amount of [LINK=YIELD_LUMBER]Lumber[\LINK] in a nearby colony.[NEWLINE][NEWLINE][BOLD]Plant Forest[\BOLD][PARAGRAPH:1]Pioneers can also [COLOR_HIGHLIGHT_TEXT]Plant Vegetation[COLOR_REVERT]. [LINK=FEATURE_FOREST]Forests[\LINK] can be planted on [LINK=TERRAIN_GRASS]Grass[\LINK] and [LINK=TERRAIN_PLAINS]Prairie[\LINK], [LINK=FEATURE_JUNGLE]Jungles[\LINK] can be planted on [LINK=TERRAIN_SAVANNAH]Savannah[\LINK] and [LINK=TERRAIN_MARSH]Marsh[\LINK] and [LINK=FEATURE_FOREST_TUNDRA]Taigas[\LINK] can be planted on [LINK=TERRAIN_TUNDRA]Tundra[\LINK]. This is an expensive project in terms of money, and it will also take quite some time to be completed.[NEWLINE][NEWLINE][BOLD]Drain Marsh[\BOLD][PARAGRAPH:1][COLOR_HIGHLIGHT_TEXT]Marshes[COLOR_REVERT] can be drained by Pioneers as well. This will turn it into [COLOR_HIGHLIGHT_TEXT]Savannah[COLOR_REVERT]. Like planting Forests, this is an expensive project in terms of money, and it will also take quite some time to be completed.</English>
    
    6)
    CvCity::removePopulationUnit
    If a size 1 city is razed, the player gets an annoying message stating that the city will be abandoned, but this is wrong.
    The solution is to add another parameter to the function so that we can suppress this popup in case the city was razed rather than voluntarily abandoned

    CvCity::removePopulationUnit:8815 additional parameter
    Code:
    bool CvCity::removePopulationUnit(CvUnit* pUnit, bool bDelete, ProfessionTypes eProfession, bool bConquest)
    
    line 8870: suppress dialog
    Code:
    if (!bConquest && getPopulation() < 1 && isHuman() && (getOwnerINLINE() == GC.getGameINLINE().getActivePlayer())) // R&R, ray, code adjusted by checking for ActivePlayer to prevent wrong messages
    
    CvCity.h:611 updated declaration
    Code:
    bool removePopulationUnit(CvUnit* pUnit, bool bDelete, ProfessionTypes eProfession, bool conquest = false);
    
    CvPlayer::acquireCity:1512 This is the only callsite that needs to be modified (the other sites are ok due to the default parameter)
    Code:
    bool bRemoved = pOldCity->removePopulationUnit(pUnit, false, NO_PROFESSION, bConquest);
    
    7)
    Annoying dialog asking if you want to declare war when a transport like a wagon train enters an indian village.

    One possible fix is to suppress the dialog if the moving unit has cargo space
    CvGame.cpp:2317
    Code:
    if (pSelectedUnit->cargoSpace() == 0 && eRivalTeam != NO_TEAM)
    
    8)
    Some colopedia xml issues:
    TXT_KEY_CONCEPT_MOVEMENT_PEDIA
    Stone cutter, prospector, miner, great chief not mentioned in the list of units that may cross peaks

    TXT_KEY_CONCEPT_IMPROVEMENTS_PEDIA
    Railroads are being mentioned, even though they are not in the game

    Seal Hunter expert uses the wrong picture (it shows an indian brave). It look like it used the text for the profession rather than the unit. The expert seal hunter link does not work.

    Improvement->Mine : The link to the salt bonus is weird. The resource is shown as if it was an unit.

    Concept ->Resources and terrain: it is mentioned that barley is produced on grassland, but barley may only be produced on praire
     
    Last edited: Jul 24, 2017 at 3:23 PM
  15. Nightinggale

    Nightinggale Chieftain

    Joined:
    Feb 2, 2009
    Messages:
    3,622
    Now this looks interesting. The duplicated entries are known because they assert on startup. They are harmless because what happens is the xml files are read entry by entry and added to a vector. If the Type exist already, it will overwrite that entry rather than appending. This means it will use the last and forget about the first. However since the index used is the first, just removing the first will mess with the order, which can break savegames. The proper fix for this is to ensure that they are both 100% identical and then delete the last.

    I haven't checked the code for any of this yet, but they all sound like RaR issues. I need to examine 6+7 in details, but the rest is more or less "the usual" when it comes to RaR bugs. The code design and the people working on it has resulted in a certain "flavor" of bugs. Luckily they aren't serious and RaR generally is fairly stable.

    Remember that the exe file sometimes calls functions in the DLL. If the function is declared with DllExport or if it's virtual, then the exe might access it, in which case changing arguments, or even just inserting a default can break stuff quite badly. Luckily in this case none of those keywords are used, in which case it should be ok to mod the arguments.
     
  16. devolution

    devolution Chieftain

    Joined:
    Oct 7, 2016
    Messages:
    8
    Thanks for the insight, Nightinggale :thumbsup: I want to commend you on the good work you did for the build system :D
    There's more fixes incoming, but I'm note sure how to share them with what's left of the RaR team. (It's quite a bit of changes, not all of them would be accepted ... )
    Too bad there's no github or anything like that where I could easily branch the project.
     
  17. Nightinggale

    Nightinggale Chieftain

    Joined:
    Feb 2, 2009
    Messages:
    3,622
    Yeah the result is awesome and not only is it much faster, it also provides 4 different DLL files, optimized for bughunting, performance optimization(profiling) and then just plain fast gameplay. However the makefile is... well mainly a bunch of ugly hacks. The reason is that nmake is surprisingly bad, perhaps downright broken. If I should start now knowing what I know now about it, I would have just told everybody to install strawberry perl and then used that install to run GNU make and make a much better makefile. I will not recommend anybody starting big makefiles for nmake.

    https://sourceforge.net/projects/religion-and-revolution/
     
  18. Schmiddie

    Schmiddie Chieftain

    Joined:
    Feb 27, 2012
    Messages:
    1,141
    Location:
    Germany
    Thanks for letting us know your findings. I will consider them in the next update. :goodjob: However, I will presumably not do any further work before autumn (no modding during summer).

    What does that mean:

    "There's more fixes incoming, but I'm note sure how to share them with what's left of the RaR team. It's quite a bit of changes, not all of them would be accepted"

    Please post any findings here. I like to understand what happens and what you suggest to do. I'm happy to read more. As you mentioned we are only a small team now and colopedia updates and other things like forum updates had to be neglected for a long time...
     
    Last edited: Jul 24, 2017 at 6:21 PM

Share This Page