Files
source/Strategic/Meanwhile.h
T

107 lines
2.6 KiB
C

#ifndef MEANWHILE_H
#define MEANWHILE_H
enum
{
END_OF_PLAYERS_FIRST_BATTLE,
DRASSEN_LIBERATED,
CAMBRIA_LIBERATED,
ALMA_LIBERATED,
GRUMM_LIBERATED,
CHITZENA_LIBERATED,
NW_SAM,
NE_SAM,
CENTRAL_SAM,
FLOWERS,
LOST_TOWN,
INTERROGATION,
CREATURES,
KILL_CHOPPER,
AWOL_SCIENTIST,
OUTSKIRTS_MEDUNA,
BALIME_LIBERATED,
NUM_MEANWHILES
};
typedef struct
{
INT16 sSectorX;
INT16 sSectorY;
UINT16 usTriggerEvent;
UINT8 ubMeanwhileID;
UINT8 ubNPCNumber;
} MEANWHILE_DEFINITION;
void ScheduleMeanwhileEvent( MEANWHILE_DEFINITION *pMeanwhileDef, UINT32 uiTime );
void HandleFirstBattleVictory( void );
BOOLEAN BeginMeanwhile( UINT8 ubMeanwhileID );
void CheckForMeanwhileOKStart( );
void EndMeanwhile( );
BOOLEAN AreInMeanwhile( );
UINT8 GetMeanwhileID( );
BOOLEAN AreReloadingFromMeanwhile( );
void LocateToMeanwhileCharacter( );
// post meanwhile event for town liberation
void HandleMeanWhileEventPostingForTownLiberation( UINT8 bTownId );
// post meanwhile event for SAM liberation
void HandleMeanWhileEventPostingForSAMLiberation( INT8 bSAMId );
// trash world has been called, should we do the first meanwhile?
void HandleFirstMeanWhileSetUpWithTrashWorld( void );
// battle ended, check if we should set up a meanwhile?
void HandleFirstBattleEndingWhileInTown( INT16 sSectorX, INT16 sSectorY, INT16 bSectorZ, BOOLEAN fFromAutoResolve );
// lost an entire town to the enemy!
void HandleMeanWhileEventPostingForTownLoss( UINT8 bTownId );
// handle short cutting past a meanwhilescene while it is being handled
void HandleShortCuttingOfMeanwhileSceneByPlayer( UINT8 ubMeanwhileID, INT32 iLastProfileId, INT32 iLastProfileAction );
// handle release of creatures meanwhile
void HandleCreatureRelease( void );
// handle sending flowers to the queen
void HandleFlowersMeanwhileScene( INT8 bTimeCode );
// player reaches the outskirts of Meduna
void HandleOutskirtsOfMedunaMeanwhileScene( void );
// let player know about Madlab after certain status % reached
void HandleScientistAWOLMeanwhileScene( void );
// handle chopper used meanwhile
void HandleKillChopperMeanwhileScene( void );
// handle interrogation meanwhile
void HandleInterrogationMeanwhileScene( void );
extern MEANWHILE_DEFINITION gCurrentMeanwhileDef;
extern MEANWHILE_DEFINITION gMeanwhileDef[NUM_MEANWHILES];
extern BOOLEAN gfMeanwhileScheduled;
extern BOOLEAN gfMeanwhileTryingToStart;
extern BOOLEAN gfInMeanwhile;
extern UINT32 uiMeanWhileFlags;
#endif