C2C SVN Changelog

Who and whom offered an idea on lowering this to str 6, i didn't see any suggestions on this? Besides isn't that DH's unit?

It's a STR 8 unit when all others in that time are at 4. He knows I made the change as discussed in the Units thread.
 
Update
Usage of multiple threads added to spawn system. This is mainly an experimental usage as gain in this part of the code will probably not be that large (other parts though might gain quite some speedup from using multiple cores). The way the boost thread library is included is a bit dirty to avoid having to add a DLL to the BtS main directory, so Makefile has to be changed similar to the one I commited (some .obj files added to project libraries).

iGlobalTurns added to CIV4SpawnInfos.xml. Effect is similar to iTurns but the spawn chance is split to all valid spawn plots (e.g. 10 means that every 10 turns one unit will spawn somewhere in the world). It can be combined with iTurns.
The number of valid plots and the resulting spawn chance per plot is logged (file name ANewDawn.log, probably only with logging activated).
 
The herd and other buildings were originally giving a FREE_BONUS. In the horse_herd's case it was the BONUS_HORSE. However this was causing three distinct problems.

1) Infinite loop or CTD
2) Not able to spread a Guild or Corporation that consumes the FREE_BONUS to the city that had the FREE_BONUS building
3) Not able to build the building in a city that had a Guild or Corporation that consumed the FREE_BONUS

The work around suggested was to use the onBuildingBuilt event in Python to assign the bonus to the city.

Not all herd buildings provide a resource because we have reached the limit in resources so have used gods or other mechanisms.

Two of the buildings, seal and walrus hunter's camp, provide resources fur and ivory respecitvely. The Aluminium Co building that should provide aluminium from RoM days wasn't. This method lets it do so.

I've changed my mind about this. I want to fix the original bug and put the herd buildings back to providing free bonjuses directly through the XML. Reasons:

  1. Its a not-altogether well known bug and someone could easily add such a building again and trip over it, so IMO it needs fixing anyway
  2. The current mechanism requires extra Python which adds complexity and reduces performance (though not much)
  3. The current mechanism has some deficiencies:
    • The building descriptiion when hovering doesn't mention the free bonus
    • Because of the way city capture works, such bonuses will be lost in the transfer of ownership (same for city gifting)
 
Update
Usage of multiple threads added to spawn system. This is mainly an experimental usage as gain in this part of the code will probably not be that large (other parts though might gain quite some speedup from using multiple cores). The way the boost thread library is included is a bit dirty to avoid having to add a DLL to the BtS main directory, so Makefile has to be changed similar to the one I commited (some .obj files added to project libraries).

I think the line:
Code:
	GC.getGameINLINE().logMsg("Spawn thread finished for %s, found %d valid plots.", spawnInfo.getType(), plots->size());
Inside the threaded section might not be safe. What leads you to believe the logMsg() system is thread-safe? You probably need to move this into the serialized section after the rendevous (or mutex it)
 
I think the line:
Code:
	GC.getGameINLINE().logMsg("Spawn thread finished for %s, found %d valid plots.", spawnInfo.getType(), plots->size());
Inside the threaded section might not be safe. What leads you to believe the logMsg() system is thread-safe? You probably need to move this into the serialized section after the rendevous (or mutex it)
You are right. It is not safe (I have even seen the effect that it eats up part of the output in the one I have already commented out). Just forgot to move it to the non threaded part.

EDIT: Fixed now.
 
You are right. It is not safe (I have even seen the effect that it eats up part of the output in the one I have already commented out). Just forgot to move it to the non threaded part.

EDIT: Fixed now.

BTW, please be aware that the profiling system is not thread safe, and it runs off macros on nearly every method in all but the final_release build (which should be fine). It **probably** won't crash but likely you'll start to see assertion failures and such, and certainly profiling will break. Please feel free to see if you can find a way to make it thread safe - the code's all in CvGameCoreDLL.* controlled by preprocessor flag USE_INTERNAL_PROFILER
 
BTW, please be aware that the profiling system is not thread safe, and it runs off macros on nearly every method in all but the final_release build (which should be fine). It **probably** won't crash but likely you'll start to see assertion failures and such, and certainly profiling will break. Please feel free to see if you can find a way to make it thread safe - the code's all in CvGameCoreDLL.* controlled by preprocessor flag USE_INTERNAL_PROFILER
Yes, the profiling system is definitely not suited to be used inside threads. It loses any ability to get good traces and likely several computations will be wrong.
For now I think it is best just not to use the macro in multiple threads at once. It will still be fine if it is only used in one thread at a time or only used when all threads are joined again.
 
Yes, the profiling system is definitely not suited to be used inside threads. It loses any ability to get good traces and likely several computations will be wrong.
For now I think it is best just not to use the macro in multiple threads at once. It will still be fine if it is only used in one thread at a time or only used when all threads are joined again.

Yeh, but the profiling macro is uised nearly everywhere. Even the simple section you have in the spawn section invokes it MANY times in functions it calls. I suggest you add a mechanism to tell the profiling system to ignore calls/stop ignoring calls and call that around each multi-threaded section for now. It just needs an ON/OFF static the profile-netry fuicntions can switch on.
 
Updates
Added Shark and buildings.
Fixed graphics for Universal Health Care. Also moved all the art from the health Care mod into my FPK file.​
 
Yeh, but the profiling macro is uised nearly everywhere. Even the simple section you have in the spawn section invokes it MANY times in functions it calls. I suggest you add a mechanism to tell the profiling system to ignore calls/stop ignoring calls and call that around each multi-threaded section for now. It just needs an ON/OFF static the profile-netry fuicntions can switch on.
Done, increase gi_ProfilerDisabled before entering and decrease it afterwards.

EDIT: Not quite working yet.
EDIT: Fixed.
 
Update
iMaxAreaTotalDensity added to spawning system. It can be used to deactivate a spawning rule when a specified density of barbarian units is exceeded in an area.
 
Just pushed to SVN:

1) A few miscellaneous bug fixes

2) Changed the subdued animal buildings to use <FreeBonus> to provide their free bonuses where appropriate (also the aluminum smelter) and removed the Python event that was doing this on the onBuildingBuilt - this has been tested against the cases DH raised as the original reason for doing it in Python and seems to work fine now. This also means that ctrl-shift-R rebuilds will now correctly preserve herd bonuses

3) Changed the Cobra to only have animal intelligence ;-) (the UNITAIs it had were causing the AI to get stuck in loops)

I ***STRONGLY*** recommend you ctrl-shift-R rebuild your game once you switch to these assets.

Event-provided (via Pythion not via XML) bonuses will still currently be lost, but I'll get that fixed before V18 release.
 
Just pushed to SVN:

1) A few miscellaneous bug fixes

2) Changed the subdued animal buildings to use <FreeBonus> to provide their free bonuses where appropriate (also the aluminum smelter) and removed the Python event that was doing this on the onBuildingBuilt - this has been tested against the cases DH raised as the original reason for doing it in Python and seems to work fine now. This also means that ctrl-shift-R rebuilds will now correctly preserve herd bonuses

3) Changed the Cobra to only have animal intelligence ;-) (the UNITAIs it had were causing the AI to get stuck in loops)

I ***STRONGLY*** recommend you ctrl-shift-R rebuild your game once you switch to these assets.

Event-provided (via Pythion not via XML) bonuses will still currently be lost, but I'll get that fixed before V18 release.

@Koshling, unfortunately there is a bit more to removing a python mod than just deleting the code. You also need to remove references from the Config folder and the init.xml in that folder. I have done this.

Removed the extra cassaway.
Released merged The_J mods.
 
Removed the extra cassaway.

rev 812 throws this on load:

93bab7efd1d4.jpg



I have extras enabled in mlf.
 
Updates yet more animals all not able to be subdued, just to keep the penguin happy.:mischief:

I want to change the way sea critters are captured or not. It should be more difficult or more likely to produce a resource.
 
Back
Top Bottom