mirror of
https://github.com/1dot13/source.git
synced 2026-09-02 14:36:06 +02:00
Original Source for 1.13 Mod High Resolution version from 12/06/05
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@21 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
Filename : pathai.h
|
||||
Author : Ray E. Bornert II
|
||||
Date : 1992-MAR-15
|
||||
|
||||
Copyright (C) 1993 HixoxiH Software
|
||||
*/
|
||||
|
||||
#ifndef _PATHAI_H
|
||||
#define _PATHAI_H
|
||||
#include "isometric utils.h"
|
||||
|
||||
BOOLEAN InitPathAI( void );
|
||||
void ShutDownPathAI( void );
|
||||
INT16 PlotPath( SOLDIERTYPE *pSold, INT16 sDestGridno, INT8 bCopyRoute, INT8 bPlot, INT8 bStayOn, UINT16 usMovementMode, INT8 bStealth, INT8 bReverse , INT16 sAPBudget);
|
||||
INT16 UIPlotPath( SOLDIERTYPE *pSold, INT16 sDestGridno, INT8 bCopyRoute, INT8 bPlot, INT8 bStayOn, UINT16 usMovementMode, INT8 bStealth, INT8 bReverse , INT16 sAPBudget);
|
||||
INT16 EstimatePlotPath( SOLDIERTYPE *pSold, INT16 sDestGridno, INT8 bCopyRoute, INT8 bPlot, INT8 bStayOn, UINT16 usMovementMode, INT8 bStealth, INT8 bReverse , INT16 sAPBudget);
|
||||
|
||||
void ErasePath(char bEraseOldOne);
|
||||
INT32 FindBestPath(SOLDIERTYPE *s , INT16 sDestination, INT8 ubLevel, INT16 usMovementMode, INT8 bCopy, UINT8 fFlags );
|
||||
void GlobalReachableTest( INT16 sStartGridNo );
|
||||
void GlobalItemsReachableTest( INT16 sStartGridNo1, INT16 sStartGridNo2 );
|
||||
void RoofReachableTest( INT16 sStartGridNo, UINT8 ubBuildingID );
|
||||
void LocalReachableTest( INT16 sStartGridNo, INT8 bRadius );
|
||||
|
||||
UINT8 DoorTravelCost( SOLDIERTYPE * pSoldier, INT32 iGridNo, UINT8 ubMovementCost, BOOLEAN fReturnPerceivedValue, INT32 * piDoorGridNo );
|
||||
UINT8 InternalDoorTravelCost( SOLDIERTYPE * pSoldier, INT32 iGridNo, UINT8 ubMovementCost, BOOLEAN fReturnPerceivedValue, INT32 * piDoorGridNo, BOOLEAN fReturnDoorCost );
|
||||
|
||||
INT16 RecalculatePathCost( SOLDIERTYPE *pSoldier, UINT16 usMovementMode );
|
||||
|
||||
// Exporting these global variables
|
||||
extern UINT32 guiPathingData[256];
|
||||
extern UINT8 gubNPCAPBudget;
|
||||
extern UINT16 gusNPCMovementMode;
|
||||
extern UINT8 gubNPCDistLimit;
|
||||
extern UINT8 gubNPCPathCount;
|
||||
extern BOOLEAN gfPlotPathToExitGrid;
|
||||
extern BOOLEAN gfNPCCircularDistLimit;
|
||||
extern BOOLEAN gfEstimatePath;
|
||||
extern BOOLEAN gfPathAroundObstacles;
|
||||
extern UINT8 gubGlobalPathFlags;
|
||||
|
||||
// Ian's terrain values for travelling speed/pathing purposes
|
||||
// Fixed by CJC March 4, 1998. Please do not change these unless familiar
|
||||
// with how this will affect the path code!
|
||||
|
||||
#define TRAVELCOST_NONE 0
|
||||
#define TRAVELCOST_FLAT 10
|
||||
#define TRAVELCOST_BUMPY 12
|
||||
#define TRAVELCOST_GRASS 12
|
||||
#define TRAVELCOST_THICK 16
|
||||
#define TRAVELCOST_DEBRIS 20
|
||||
#define TRAVELCOST_SHORE 30
|
||||
#define TRAVELCOST_KNEEDEEP 36
|
||||
#define TRAVELCOST_DEEPWATER 50
|
||||
#define TRAVELCOST_FENCE 40
|
||||
|
||||
// these values are used to indicate "this is an obstacle
|
||||
// if there is a door (perceived) open/closed in this tile
|
||||
#define TRAVELCOST_DOOR_CLOSED_HERE 220
|
||||
#define TRAVELCOST_DOOR_CLOSED_N 221
|
||||
#define TRAVELCOST_DOOR_CLOSED_W 222
|
||||
#define TRAVELCOST_DOOR_OPEN_HERE 223
|
||||
#define TRAVELCOST_DOOR_OPEN_N 224
|
||||
#define TRAVELCOST_DOOR_OPEN_NE 225
|
||||
#define TRAVELCOST_DOOR_OPEN_E 226
|
||||
#define TRAVELCOST_DOOR_OPEN_SE 227
|
||||
#define TRAVELCOST_DOOR_OPEN_S 228
|
||||
#define TRAVELCOST_DOOR_OPEN_SW 229
|
||||
#define TRAVELCOST_DOOR_OPEN_W 230
|
||||
#define TRAVELCOST_DOOR_OPEN_NW 231
|
||||
#define TRAVELCOST_DOOR_OPEN_N_N 232
|
||||
#define TRAVELCOST_DOOR_OPEN_NW_N 233
|
||||
#define TRAVELCOST_DOOR_OPEN_NE_N 234
|
||||
#define TRAVELCOST_DOOR_OPEN_W_W 235
|
||||
#define TRAVELCOST_DOOR_OPEN_SW_W 236
|
||||
#define TRAVELCOST_DOOR_OPEN_NW_W 237
|
||||
#define TRAVELCOST_NOT_STANDING 248
|
||||
#define TRAVELCOST_OFF_MAP 249
|
||||
#define TRAVELCOST_CAVEWALL 250
|
||||
#define TRAVELCOST_HIDDENOBSTACLE 251
|
||||
#define TRAVELCOST_DOOR 252
|
||||
#define TRAVELCOST_OBSTACLE 253
|
||||
#define TRAVELCOST_WALL 254
|
||||
#define TRAVELCOST_EXITGRID 255
|
||||
|
||||
#define TRAVELCOST_TRAINTRACKS 30
|
||||
#define TRAVELCOST_DIRTROAD 9
|
||||
#define TRAVELCOST_PAVEDROAD 9
|
||||
#define TRAVELCOST_FLATFLOOR 10
|
||||
|
||||
#define TRAVELCOST_BLOCKED (TRAVELCOST_OFF_MAP)
|
||||
#define IS_TRAVELCOST_DOOR( x ) (x >= TRAVELCOST_DOOR_CLOSED_HERE && x <= TRAVELCOST_DOOR_OPEN_NW_W)
|
||||
#define IS_TRAVELCOST_CLOSED_DOOR( x ) (x >= TRAVELCOST_DOOR_CLOSED_HERE && x << TRAVELCOST_DOOR_CLOSED_W)
|
||||
|
||||
// ------------------------------------------
|
||||
// PLOT PATH defines
|
||||
#define NOT_STEALTH 0
|
||||
#define STEALTH 1
|
||||
|
||||
#define NO_PLOT 0
|
||||
#define PLOT 1
|
||||
|
||||
#define TEMPORARY 0
|
||||
#define PERMANENT 1
|
||||
|
||||
#define FORWARD 0
|
||||
#define REVERSE 1
|
||||
|
||||
#define NO_COPYROUTE 0
|
||||
#define COPYROUTE 1
|
||||
#define COPYREACHABLE 2
|
||||
#define COPYREACHABLE_AND_APS 3
|
||||
|
||||
#define PATH_THROUGH_PEOPLE 0x01
|
||||
#define PATH_IGNORE_PERSON_AT_DEST 0x02
|
||||
#define PATH_CLOSE_GOOD_ENOUGH 0x04
|
||||
|
||||
#define PATH_CLOSE_RADIUS 5
|
||||
|
||||
// ------------------------------------------
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user