JUnitSpace: Limited Units on Tiles

Woohoo, it was way easyer to update to BtS v3.17 then I thought it would be. I even had some extra time, so I cleaned up the code a bit and added a few new functions, that are ofcourse exposed to python.

JUnitSpace Mod v0.693bts3.17 is being uploaded right now and will be done in about an hour (Dang Dialup!!). This is basicly the final version. I may balance the sizes and space modifiers at some point, but that is just fluf. The SDK work is all done so those that want to use it as a mod component are good to go.

I have added two PDF files. One is a Readme with a more detailed explanation of how the mod works. It still needs some work, but most of the basics are in there. I also added an API PDF file. For the moment, it just has the python exposed methods listed under their CyObject groups, but I will be putting more info in it over the next couple days. I will not be releasing a new version when I get done with the PDF files, I'll just post them seperatly in the OP of this thread for those that want the extra info.

Change Log v0.670 to v0.693
Spoiler :


v0.670
Updated DLL, XML, and Python to BtS v3.13.

Fixed a few typos.
Changed Settler Unit bIgnoreTileSpaceLimit to True.
DEFAULT_TILE_SPACE changed from 6 back to 10.
Added mising TXT_KEY to show Unit Size in the Unit Pedia Page.
Added new GlobalDefinesAlt that allows enabling/disabling of Route Tile Space Modifiers.
Added XML Tags for Route Tile Space Modifiers. (New Tags NOT Used Yet)

New XML Tags:
CIV4RouteInfos.xml
iTileSpaceChange
bIgnoreTileSpaceLimit - Not Used - May Be Removed

v0.680
Changed Road iTileSpaceChange from 6 to 4.
Changed Railroad iTileSpaceChange from 12 to 8.
Fixed CvUnitInfo getBaseUnitSize() to be more intuitive.
-Was: UnitInfo Size or UnitClassInfo Size or Default Size.
-Now: Default Size + UnitClassInfo Size + UnitInfo Size
Fixed CvUnitInfo isIgnoreTileSpaceRules(). Units with 0 Size declared in XML Ignore Tile Space Rules.
Fixed CvGameTextMgr setBasicUnitHelp to not show Size for Units that Ignore Tile Space Rules.
Updated CIV4UnitInfos.xml and CIV4UnitClassInfos.xml to iUnitSpaceChange Tag.
Updated CIV4UnitSchema.xml to iUnitSpaceChange Tag.
Updated JUnitSpace Test Map Scenario to show Promotion and Route effects.
Updated Tile Space Data Popup to show Route Data.
Rewrote Tile Space Data Popup code to be more effecient and clear.


New SDK Methods: (all exposed to python)
CyRouteInfo
int getTileSpaceChange()
CyPlot
int getRouteSpaceChange()


Changed SDK Methods: (all exposed to python)
CyUnitInfo
int getUnitSize() --> int getUnitSizeChange()
CyUnitClassInfo
int getDefualtUnitSize() --> int getUnitSizeChange()


v0.681
Changed Tile Space Data Popup Key Event to pass the Head Selected City if the City Screen is up.
Changed City Screen's Building List to show Building's Tile Space Change.
Changed Plot Help Tile Space text.
-Was: Open Tile Space: n/n [ICON_MAP] (state)
-Now: Tile Space: n/n [ICON_MAP] (state)
Updated CvGameTextMgr setPlotHelp() to use new isTileSpace*() methods.
Created Open, Full, and Crowded Promotions.


New XML Tags:
CIV4BuildingClassInfos.xml
iTileSpaceChange - Not Used - To Be Implement In Later Version


New SDK Methods: (all exposed to python)
CyPlot
bool isTileSpaceOpen()
bool isTileSpaceCrowded()


v0.682
Added Tile Space City Building Data Popup.
Added Tile Unit Size Data Popup.
Added Crowded, Full, and Open Promotions.
Updated City Building GlobalDefinesAlt options to handle Bulding Classes.
Updated MainInterface Screen to use BuildingInfo getTotalTileSpaceChange().
Updated, again, Tile Space Data Popup to have descriptive Column Headers.
Cleaned up code of mod's various SDK functions.


New XML Tags:
CIV4UnitInfos.xml
bIgnoreTileSpaceRules


New SDK Methods: (all exposed to python)
CyBuildingInfo
int getClassTileSpaceChange()
int getTotalTileSpaceChange()
CyBuildingClassInfo
int getTileSpaceChange()


v0.683
Added various GlobalDefinesAlt options to handle Tile Space State Promotions.
Implemented Tile Space State Promotions.
Updated CvGameTextMgr parseLeaderTraits() to show Tile Space Modifiers.
Updated CvGameTextMgr parseLeaderHeadHelp() to show Tile Space Modifiers.
Updated CvGameTextMgr parseCivInfos() to show Tile Space Modifiers.


v0.690
Added GlobalDefinesAlt option to disable Route Modifiers on City Tiles.
Updated Tile Space Data Popup to show Handicap Modifiers.
Updated Readme Text with latest from CFC JUnitSpace Tread.


New XML Tags:
CIV4HandicapInfo.xml
iTileSpaceChange


New SDK Methods: (all exposed to python)
CyHandicapInfo
int getTileSpaceChange()
CyPlot
int getHandicapSpaceChange()


v0.691
Renamed GlobalDefinesAlt options DOMAIN_<blah>_LIMIT to DOMAIN_<blah>_RULES.
Added Tile Space Options Data Popup.
Fixed glitch where Ignore Tile Space Rules Units were still getting State Promotions.


v0.692
Incorporated jdog5000 AIAutoPlay SDK changes.
Added Keyboard Event, Ctrl + Shift + M, AIAutoPlay 1 Turn.
Added Keyboard Event, Ctrl + Shift + X, raise AIAutoPlay Multi-Turn Popup.


v0.693
Updated DLL, XML, and Python to BtS v3.17.

Added new GlobalDefinesAlt option to allow City's a Default Tile Space Change.
Added new GlobalDefinesAlt option to allow a City's Population to change Tile Space.
Updated Tile Space Popups to use new functions.
Added Keyboard Event, Ctrl + Shift + X, cancel AIAutoPlay Multi-Turn.

Removed XML Tags:
CIV4RouteInfos.xml
bIgnoreTileSpaceLimit - Never Implemented


New SDK Methods: (all exposed to python)
CyUnit
int getRealUnitSize()
int getDefaultUnitSize()
int getUnitClassSize()
CyPlot
int getCityDefaultSpaceChange()
int getCityPopulationSpaceChange()
 
Wow, there's just so much to sink my teeth into. I'll have to mull it all over, but thanks a lot for this! :D

One thing I noticed that wasn't too appealing, though, was the removal of bIgnoreTileSpaceLimit. Is there any particular reason for that? Is it redundant or something else?
 
Hope ya like it. Let me know if you have any suggestions.

The bIgnoreTileSpaceLimit tag I removed was only on the RouteInfos and was never used by the code. Its still there in the UnitInfos. :)

EDIT: Should have more complete Readme and API pdfs out this weekend.
 
This looks pretty cool. The only issue I see atm, is we've got a few different DLL's competing for use: Solver's Unofficial 3.17 patch, then theres the Better BTS AI - which Solver and their team seem to be incorporating most of each others work between the two, the Better AI is more experimental than Solver's.

BTW, should update your original post, header "3.17" :)
 
BTW, should update your original post, header "3.17" :)

Thanx for the heads up on that. OP updated to show the correct BtS version. :goodjob:

As for the unofficial patchs (*cough* mods ;)) and better AI mods, I don't really play with them, but you or anyone else if more then welcome to combine my mod with them. I just work on what entertains me at the moment, and winmerging dlls is kinda boring. :)
 
Ok, obviosly i missed something...
Is this a "stand alone" mod?
Or do I have to do some more work to actually make it playable? If so please give me a hint how or where I can find more info, so far all I found was very confusing and no help at all.

I just downloaded and unzipped it in a mod folder.
Now all standard Interface Texts are missing, the new screens actually work good. but without any interface text the game is hardly playable.
Oh, and I got BTS with patch 3.17
I don't know what to do, please can anyone help?
 
I´ve downloaded the mod a few days ago-and got the same problem:confused:
Does anbody knows what the problem is?
Please help:cry:
 
Ouch ... I do not think I have the skills sets to incorporate into my Mod.
 
This mod looks brilliant! I know it's been dead for some time, but any chance it'll have an update to 3.19? :D
 
Hi,
I have problem with start this mod with BTS 3.19 on win7, civ is started in window.

I don't know if it is problem with bts version, win7, window option or other problem.

Would you like to confirm that this mod is compatible with 3.19? Did you start bts 3.19 with this mod?

thx in advance.
 
Jeckel, is it possible to set like 9-18/24/36 limit per tile-city with minor changes in the game?

I think if we let a considerable amount of units per tile/city, instead of just few, the AI will respond better and we will have better quality wars without being necessary to change the original gameplay.

Besides that, it is necessary to do something with new units built in full cities, to have some preocupation with: transports over the sea; airplanes based in cities; ships landed; defensive units; the possibility for a tile to hold units from more than one team simultaneously.

I would like to do it for a map that I am uploading 03/12 and the next version could have something like that.

So, my question is: can I get these results from working with your files?

:confused:
 
civ5 sucks, there's only 1 good thing in it - city states.

keldath, it is exactly what I think about civ5, but I like the result we get from no stacks, just because it leaves the war over the terrain and that was why I was trying to reduce the amount of units that can compose a stack.

But, the reason I am writing to you is that in the map I mentioned, I am trying to implement (slowly) something like the city states in the scenario of that map.

It will work mostly as buffer zones, firstly, as they are cities of minor civs, but I will revise that concept as well as I am able to do in the future.

Sorry and thank you, :goodjob:.
 
Top Bottom