#include "BuildDefines.h" #ifdef JA2EDITOR #ifndef __SMOOTHING_UTILS_H #define __SMOOTHING_UTILS_H #include "worlddef.h" //Use these values when specifically replacing a wall with new type. enum { //Wall tile types INTERIOR_L, //interior wall with a top left orientation INTERIOR_R, //interior wall with a top right orientation EXTERIOR_L, //exterior wall with a top left orientation EXTERIOR_R, //exterior wall with a top right orientation INTERIOR_CORNER, //special interior end piece with top left orientation. //The rest of these walls are special wall tiles for top right orientations. INTERIOR_BOTTOMEND, //interior wall for bottom corner EXTERIOR_BOTTOMEND, //exterior wall for bottom corner INTERIOR_EXTENDED, //extended interior wall for top corner EXTERIOR_EXTENDED, //extended exterior wall for top corner INTERIOR_EXTENDED_BOTTOMEND, //extended interior wall for both top and bottom corners. EXTERIOR_EXTENDED_BOTTOMEND, //extended exterior wall for both top and bottom corners. NUM_WALL_TYPES }; //Use these values when passing a ubWallPiece to BuildWallPieces. enum { NO_WALLS, INTERIOR_TOP, INTERIOR_BOTTOM, INTERIOR_LEFT, INTERIOR_RIGHT, EXTERIOR_TOP, EXTERIOR_BOTTOM, EXTERIOR_LEFT, EXTERIOR_RIGHT, }; //in newsmooth.c extern INT8 gbWallTileLUT[NUM_WALL_TYPES][7]; extern void EraseWalls( UINT32 iMapIndex ); extern void BuildWallPiece( UINT32 iMapIndex, UINT8 ubWallPiece, UINT16 usWallType ); //in Smoothing Utils void RestoreWalls( UINT32 iMapIndex ); UINT16 SearchForRoofType( UINT32 iMapIndex ); UINT16 SearchForWallType( UINT32 iMapIndex ); BOOLEAN RoofAtGridNo( UINT32 iMapIndex ); BOOLEAN BuildingAtGridNo( UINT32 iMapIndex ); LEVELNODE* GetHorizontalWall( UINT32 iMapIndex ); LEVELNODE* GetVerticalWall( UINT32 iMapIndex ); LEVELNODE* GetVerticalFence( UINT32 iMapIndex ); LEVELNODE* GetHorizontalFence( UINT32 iMapIndex ); UINT16 GetHorizontalWallType( UINT32 iMapIndex ); UINT16 GetVerticalWallType( UINT32 iMapIndex ); void EraseHorizontalWall( UINT32 iMapIndex ); void EraseVerticalWall( UINT32 iMapIndex ); void ChangeHorizontalWall( UINT32 iMapIndex, UINT16 usNewPiece ); void ChangeVerticalWall( UINT32 iMapIndex, UINT16 usNewPiece ); UINT16 GetWallClass( LEVELNODE *pWall ); UINT16 GetVerticalWallClass( UINT16 iMapIndex ); UINT16 GetHorizontalWallClass( UINT16 iMapIndex ); BOOLEAN ValidDecalPlacement( UINT32 iMapIndex ); #endif #endif