mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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:
+45
-2
@@ -34,6 +34,9 @@
|
||||
#define MAX_ANIMATED_TILES 200
|
||||
#define WALL_HEIGHT 50
|
||||
|
||||
// anv: additional tile properties flags
|
||||
#define ADDITIONAL_TILE_FLAG_BLOCKED_WINDOW 0x0000000000000001
|
||||
|
||||
|
||||
//Kris: Added the last two bottom corner orientation values. This won't effect
|
||||
//current code, but there is new code that makes use of this. A function called
|
||||
@@ -80,6 +83,19 @@ typedef struct
|
||||
// Reserved for added room and 32-byte boundaries
|
||||
BYTE bReserved[ 2 ];
|
||||
|
||||
INT8 bWoodCamoAffinity;
|
||||
INT8 bDesertCamoAffinity;
|
||||
INT8 bUrbanCamoAffinity;
|
||||
INT8 bSnowCamoAffinity;
|
||||
|
||||
INT8 bCamoStanceModifer;
|
||||
INT8 bSoundModifier;
|
||||
INT8 bStealthDifficultyModifer;
|
||||
|
||||
UINT32 uiAdditionalFlags;
|
||||
|
||||
|
||||
|
||||
} TILE_IMAGERY, *PTILE_IMAGERY;
|
||||
|
||||
typedef struct
|
||||
@@ -126,6 +142,17 @@ typedef struct
|
||||
// Reserved for added room and 32-byte boundaries
|
||||
BYTE bReserved[ 3 ];
|
||||
|
||||
INT8 bWoodCamoAffinity;
|
||||
INT8 bDesertCamoAffinity;
|
||||
INT8 bUrbanCamoAffinity;
|
||||
INT8 bSnowCamoAffinity;
|
||||
|
||||
INT8 bCamoStanceModifer;
|
||||
INT8 bSoundModifier;
|
||||
INT8 bStealthDifficultyModifer;
|
||||
|
||||
UINT32 uiAdditionalFlags;
|
||||
|
||||
|
||||
} TILE_ELEMENT, *PTILE_ELEMENT;
|
||||
|
||||
@@ -157,9 +184,25 @@ extern UINT16 gusNumAnimatedTiles;
|
||||
extern UINT16 gusAnimatedTiles[ MAX_ANIMATED_TILES ];
|
||||
extern UINT8 gTileTypeMovementCost[ NUM_TERRAIN_TYPES ];
|
||||
|
||||
void CreateTileDatabase( );
|
||||
typedef struct
|
||||
{
|
||||
UINT8 ubTerrainID;
|
||||
INT8 bWoodCamoAffinity;
|
||||
INT8 bDesertCamoAffinity;
|
||||
INT8 bUrbanCamoAffinity;
|
||||
INT8 bSnowCamoAffinity;
|
||||
|
||||
INT8 bCamoStanceModifer;
|
||||
INT8 bSoundModifier;
|
||||
INT8 bStealthDifficultyModifer;
|
||||
|
||||
UINT32 uiAdditionalFlags;
|
||||
|
||||
} ADDITIONAL_TILE_PROPERTIES_VALUES;
|
||||
|
||||
extern ADDITIONAL_TILE_PROPERTIES_VALUES zAdditionalTileProperties;
|
||||
|
||||
void CreateTileDatabase( INT32 iTilesetID );
|
||||
|
||||
// Land level manipulation functions
|
||||
BOOLEAN GetLandHeadType( INT32 iMapIndex, UINT32 *puiType );
|
||||
@@ -191,7 +234,7 @@ BOOLEAN GetWallOrientation( UINT16 usIndex, UINT16 *pusWallOrientation );
|
||||
BOOLEAN ContainsWallOrientation( INT32 iMapIndex, UINT32 uiType, UINT16 usWallOrientation, UINT8 *pubLevel );
|
||||
UINT8 CalculateWallOrientationsAtGridNo( INT32 iMapIndex );
|
||||
|
||||
void SetSpecificDatabaseValues( UINT16 usType, UINT16 uiDatabaseElem, TILE_ELEMENT *TileElement, BOOLEAN fUseRaisedObjectType );
|
||||
void SetSpecificDatabaseValues( UINT16 usType, UINT16 uiDatabaseElem, TILE_ELEMENT *TileElement, BOOLEAN fUseRaisedObjectType, INT32 iTilesetID );
|
||||
|
||||
BOOLEAN AllocateAnimTileData( TILE_ELEMENT *pTileElem, UINT8 ubNumFrames );
|
||||
void FreeAnimTileData( TILE_ELEMENT *pTileElem );
|
||||
|
||||
Reference in New Issue
Block a user