Files
source/TileEngine/Exit Grids.h
T

38 lines
1.3 KiB
C

#ifndef __EXIT_GRIDS_H
#define __EXIT_GRIDS_H
#include "Fileman.h"
#include "Worlddef.h"
typedef struct //for exit grids (object level)
{ //if an item pool is also in same gridno, then this would be a separate levelnode
//in the object level list
UINT16 usGridNo; //sweet spot for placing mercs in new sector.
UINT8 ubGotoSectorX;
UINT8 ubGotoSectorY;
UINT8 ubGotoSectorZ;
}EXITGRID;
BOOLEAN ExitGridAtGridNo( UINT16 usMapIndex );
BOOLEAN GetExitGridLevelNode( UINT16 usMapIndex, LEVELNODE **ppLevelNode );
BOOLEAN GetExitGrid( UINT16 usMapIndex, EXITGRID *pExitGrid );
void AddExitGridToWorld( INT32 iMapIndex, EXITGRID *pExitGrid );
void RemoveExitGridFromWorld( INT32 iMapIndex );
void SaveExitGrids( HWFILE fp, UINT16 usNumExitGrids );
void LoadExitGrids( INT8 **hBuffer );
void AttemptToChangeFloorLevel( INT8 bRelativeZLevel );
extern EXITGRID gExitGrid;
extern BOOLEAN gfOverrideInsertionWithExitGrid;
// Finds closest ExitGrid of same type as is at gridno, within a radius. Checks
// valid paths, destinations, etc.
UINT16 FindGridNoFromSweetSpotCloseToExitGrid( SOLDIERTYPE *pSoldier, INT16 sSweetGridNo, INT8 ubRadius, UINT8 *pubDirection );
UINT16 FindClosestExitGrid( SOLDIERTYPE *pSoldier, INT16 sGridNo, INT8 ubRadius );
#endif