New Feature: Additional Tile Properties (by anv)

- Feature can be completely disabled in .ini as COVER_SYSTEM_ADDITIONAL_TILE_PROPERTIES under Tactical Cover System Settings.

- With Additional Tile Properties it's possible to supply all tiles with additional data, just like with .jsd files, except in XML.
Files need to have same name as tile's .sti and .jsd files, and be put in \tilesets\AdditionalProperties\, or in specific \tilesets\xx\.

- With additional properties it's possible to specify which camo type, and how effectively will work on any tile. Only snow camo will work on snow covered roofs, red carpet in palace won't perfectly cooperate with urban camo anymore, thick grass in the middle of the forest will provide better camouflage than sparse grass near the road.

- It's now possible to specify footstep volume and stealth difficulty modifier of any tile. Carpets will absorb noise, tile floors amplify it, twigs laying on the tile will make sneaking harder. Choose your path carefully, taffer. 

- More infos: http://www.bears-pit.com/board/ubbthreads.php/topics/330942.html#Post330942


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7001 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-03-01 09:50:40 +00:00
parent 3ae95a6c20
commit d2130494da
39 changed files with 780 additions and 48 deletions
+15 -2
View File
@@ -638,8 +638,9 @@ UINT8 gTileTypeMovementCost[ NUM_TERRAIN_TYPES ] =
};
#endif
ADDITIONAL_TILE_PROPERTIES_VALUES zAdditionalTileProperties;
void CreateTileDatabase( )
void CreateTileDatabase( INT32 iTilesetID )
{
UINT32 cnt1, cnt2;
UINT8 ubLoop;
@@ -683,6 +684,18 @@ void CreateTileDatabase( )
TileElement.hTileSurface = TileSurf->vo;
TileElement.sBuddyNum = -1;
// anv: additional tile properties
TileElement.bWoodCamoAffinity = TileSurf->bWoodCamoAffinity;
TileElement.bDesertCamoAffinity = TileSurf->bDesertCamoAffinity;
TileElement.bUrbanCamoAffinity = TileSurf->bUrbanCamoAffinity;
TileElement.bSnowCamoAffinity = TileSurf->bSnowCamoAffinity;
TileElement.bCamoStanceModifer = TileSurf->bCamoStanceModifer;
TileElement.bSoundModifier = TileSurf->bSoundModifier;
TileElement.bStealthDifficultyModifer = TileSurf->bStealthDifficultyModifer;
TileElement.uiAdditionalFlags = TileSurf->uiAdditionalFlags;
// Check for multi-z stuff
if ( TileSurf->vo->ppZStripInfo != NULL )
{
@@ -761,7 +774,7 @@ void CreateTileDatabase( )
}
}
SetSpecificDatabaseValues( (UINT16)cnt1, gTileDatabaseSize, &TileElement, TileSurf->bRaisedObjectType );
SetSpecificDatabaseValues( (UINT16)cnt1, gTileDatabaseSize, &TileElement, TileSurf->bRaisedObjectType, iTilesetID );
gTileDatabase[ gTileDatabaseSize ] = TileElement;
gTileDatabaseSize++;