Files
source/Strategic/mapscreen.h
T

157 lines
4.1 KiB
C

#ifndef __MAPSCREEN_H
#define __MAPSCREEN_H
#include "Types.h"
#include "Soldier Control.h"
#define MAP_WORLD_X 18
#define MAP_WORLD_Y 18
extern int MAP_ITEMDESC_START_Y;
extern int MAP_ITEMDESC_START_X;
#define MAX_TOWN_NAME_LENGHT 32
#define MAX_SECTOR_NAME_LENGTH 128
#define MAX_TOWNS 50 //13 //50
#define MAX_TOWN_SECTORS 260 //40 //260
// HEADROCK HAM B2.7: Moved here from Strategicmap.cpp to allow use by MilitiaSquads.cpp
extern BOOLEAN gfMilitiaAllowedInTown [ MAX_TOWNS ];
// Country name identifiers
enum
{
COUNTRY_NAME,
COUNTRY_NOUN,
} ;
// Sector name identifiers
enum Towns
{
BLANK_SECTOR=0,
OMERTA,
DRASSEN,
ALMA,
GRUMM,
TIXA,
CAMBRIA,
SAN_MONA,
ESTONI,
ORTA,
BALIME,
MEDUNA,
CHITZENA,
//NUM_TOWNS
} ;
extern INT8 NUM_TOWNS;
#define FIRST_TOWN OMERTA
//#define PALACE NUM_TOWNS
extern BOOLEAN fCharacterInfoPanelDirty;
extern BOOLEAN fTeamPanelDirty;
extern BOOLEAN fMapPanelDirty;
extern BOOLEAN fDrawCharacterList; // OJW - 20081204
extern BOOLEAN fMapInventoryItem;
extern BOOLEAN gfInConfirmMapMoveMode;
extern BOOLEAN gfInChangeArrivalSectorMode;
extern BOOLEAN gfSkyriderEmptyHelpGiven;
BOOLEAN SetInfoChar(UINT8 ubSolId);
void EndMapScreen( BOOLEAN fDuringFade );
void ReBuildCharactersList( void );
// WANNE - BMP: Initialize world size for a multiplayer game
void InitializeWorldSize( INT16 sSectorX, INT16 sSectorY , INT8 bSectorZ );
void HandleRemovalOfPreLoadedMapGraphics( void );
void ChangeSelectedMapSector( INT16 sMapX, INT16 sMapY, INT8 bMapZ );
BOOLEAN CanToggleSelectedCharInventory( void );
BOOLEAN CanExtendContractForCharSlot( INT8 bCharNumber );
void TellPlayerWhyHeCantCompressTime( void );
void ChangeSelectedInfoChar( INT8 bCharNumber, BOOLEAN fResetSelectedList );
void MAPEndItemPointer();
void CopyPathToAllSelectedCharacters( PathStPtr pPath );
void CancelPathsOfAllSelectedCharacters();
INT32 GetPathTravelTimeDuringPlotting( PathStPtr pPath );
void AbortMovementPlottingMode( void );
void CancelChangeArrivalSectorMode( void );
void ExplainWhySkyriderCantFly( void );
BOOLEAN CanChangeSleepStatusForCharSlot( INT8 bCharNumber );
BOOLEAN CanChangeSleepStatusForSoldier( SOLDIERTYPE *pSoldier );
BOOLEAN MapCharacterHasAccessibleInventory( INT8 bCharNumber );
// CHRISL: New functions to handle initialization of inventory coordinates
BOOLEAN InitializeInvPanelCoordsOld( );
BOOLEAN InitializeInvPanelCoordsNew( );
BOOLEAN InitializeInvPanelCoordsVehicle( );
// HEADROCK HAM 3.6: Calculate daily cost for all mercs who have one.
INT32 GetTotalContractExpenses ( void );
// Flugente: militia movement
extern BOOLEAN fPlotForMilitia;
extern UINT32 gMilitiaPlotStartSector;
BOOLEAN RequestGiveMilitiaNewDestination( void );
void SetUpMilitiaForMovement();
INT32 GetGroundTravelTimeOfMilitia( );
typedef struct
{
INT16 sGroupid; // group ids are normally UINT8 - we use -1 to indicate that it hasn't been used
PathStPtr path; // the path of a militia group that travels
} MILITIA_PATH;
#define MILITIA_PATROLS_MAX 30
extern MILITIA_PATH gMilitiaPath[MILITIA_PATROLS_MAX];
// upon starting a game/loading from an old version, set up the data
void MilitiaPlotInit();
// when starting to plot, set up things
BOOLEAN MilitiaPlotStart();
// when finished plotting, set up other things
void MilitiaplotFinish();
// if this group is a militia travel group, return its slot, othewise return -1
INT16 GetMilitiaPathSlot(UINT8 uGroupId);
void DeleteAllMilitiaPaths();
// return the last militia group in this sector, group id will be stored in arId. return FALSE if none found
BOOLEAN GetLastMilitiaGroupInSector( INT16 sMapX, INT16 sMapY, UINT8& arId );
BOOLEAN CanGiveStrategicMilitiaMoveOrder( INT16 sMapX, INT16 sMapY );
void ConvertMinTimeToDayHourMinString( UINT32 uiTimeInMin, STR16 sString );
void ConvertMinTimeToETADayHourMinString( UINT32 uiTimeInMin, STR16 sString );
// Flugente: bandaging during retreat
void RetreatBandageCallback( UINT8 ubResult );
#endif