FS2_Open
Open source remastering of the Freespace 2 engine
gamesequence.h File Reference

Go to the source code of this file.

Enumerations

enum  GS_EVENT {
  GS_EVENT_MAIN_MENU = 0, GS_EVENT_START_GAME, GS_EVENT_ENTER_GAME, GS_EVENT_START_GAME_QUICK,
  GS_EVENT_END_GAME, GS_EVENT_QUIT_GAME, GS_EVENT_PAUSE_GAME, GS_EVENT_PREVIOUS_STATE,
  GS_EVENT_OPTIONS_MENU, GS_EVENT_BARRACKS_MENU, GS_EVENT_TRAINING_MENU, GS_EVENT_TECH_MENU,
  GS_EVENT_LOAD_MISSION_MENU, GS_EVENT_SHIP_SELECTION, GS_EVENT_TOGGLE_FULLSCREEN, GS_EVENT_START_BRIEFING,
  GS_EVENT_DEBUG_PAUSE_GAME, GS_EVENT_HUD_CONFIG, GS_EVENT_MULTI_JOIN_GAME, GS_EVENT_CONTROL_CONFIG,
  GS_EVENT_EVENT_DEBUG, GS_EVENT_WEAPON_SELECTION, GS_EVENT_MISSION_LOG_SCROLLBACK, GS_EVENT_GAMEPLAY_HELP,
  GS_EVENT_DEATH_DIED, GS_EVENT_DEATH_BLEW_UP, GS_EVENT_NEW_CAMPAIGN, GS_EVENT_CREDITS,
  GS_EVENT_SHOW_GOALS, GS_EVENT_HOTKEY_SCREEN, GS_EVENT_VIEW_MEDALS, GS_EVENT_MULTI_HOST_SETUP,
  GS_EVENT_MULTI_CLIENT_SETUP, GS_EVENT_DEBRIEF, GS_EVENT_GOTO_VIEW_CUTSCENES_SCREEN, GS_EVENT_MULTI_STD_WAIT,
  GS_EVENT_STANDALONE_MAIN, GS_EVENT_MULTI_PAUSE, GS_EVENT_TEAM_SELECT, GS_EVENT_TRAINING_PAUSE,
  GS_EVENT_INGAME_PRE_JOIN, GS_EVENT_PLAYER_WARPOUT_START, GS_EVENT_PLAYER_WARPOUT_START_FORCED, GS_EVENT_PLAYER_WARPOUT_STOP,
  GS_EVENT_PLAYER_WARPOUT_DONE_STAGE1, GS_EVENT_PLAYER_WARPOUT_DONE_STAGE2, GS_EVENT_PLAYER_WARPOUT_DONE, GS_EVENT_STANDALONE_POSTGAME,
  GS_EVENT_INITIAL_PLAYER_SELECT, GS_EVENT_GAME_INIT, GS_EVENT_MULTI_MISSION_SYNC, GS_EVENT_MULTI_START_GAME,
  GS_EVENT_MULTI_HOST_OPTIONS, GS_EVENT_MULTI_DOGFIGHT_DEBRIEF, GS_EVENT_CAMPAIGN_ROOM, GS_EVENT_CMD_BRIEF,
  GS_EVENT_TOGGLE_GLIDE, GS_EVENT_RED_ALERT, GS_EVENT_SIMULATOR_ROOM, GS_EVENT_END_CAMPAIGN,
  GS_EVENT_LOOP_BRIEF, GS_EVENT_CAMPAIGN_CHEAT, GS_EVENT_PXO, GS_EVENT_LAB,
  GS_EVENT_PXO_HELP, GS_EVENT_FICTION_VIEWER, GS_EVENT_SCRIPTING, GS_NUM_EVENTS
}
 Enum's for Game Sequence Events. More...
 
enum  GS_STATE {
  GS_STATE_INVALID = 0, GS_STATE_MAIN_MENU, GS_STATE_GAME_PLAY, GS_STATE_GAME_PAUSED,
  GS_STATE_QUIT_GAME, GS_STATE_OPTIONS_MENU, GS_STATE_BARRACKS_MENU, GS_STATE_TECH_MENU,
  GS_STATE_TRAINING_MENU, GS_STATE_LOAD_MISSION_MENU, GS_STATE_BRIEFING, GS_STATE_SHIP_SELECT,
  GS_STATE_DEBUG_PAUSED, GS_STATE_HUD_CONFIG, GS_STATE_MULTI_JOIN_GAME, GS_STATE_CONTROL_CONFIG,
  GS_STATE_WEAPON_SELECT, GS_STATE_MISSION_LOG_SCROLLBACK, GS_STATE_DEATH_DIED, GS_STATE_DEATH_BLEW_UP,
  GS_STATE_SIMULATOR_ROOM, GS_STATE_CREDITS, GS_STATE_SHOW_GOALS, GS_STATE_HOTKEY_SCREEN,
  GS_STATE_VIEW_MEDALS, GS_STATE_MULTI_HOST_SETUP, GS_STATE_MULTI_CLIENT_SETUP, GS_STATE_DEBRIEF,
  GS_STATE_VIEW_CUTSCENES, GS_STATE_MULTI_STD_WAIT, GS_STATE_STANDALONE_MAIN, GS_STATE_MULTI_PAUSED,
  GS_STATE_TEAM_SELECT, GS_STATE_TRAINING_PAUSED, GS_STATE_INGAME_PRE_JOIN, GS_STATE_EVENT_DEBUG,
  GS_STATE_STANDALONE_POSTGAME, GS_STATE_INITIAL_PLAYER_SELECT, GS_STATE_MULTI_MISSION_SYNC, GS_STATE_MULTI_START_GAME,
  GS_STATE_MULTI_HOST_OPTIONS, GS_STATE_MULTI_DOGFIGHT_DEBRIEF, GS_STATE_CAMPAIGN_ROOM, GS_STATE_CMD_BRIEF,
  GS_STATE_RED_ALERT, GS_STATE_END_OF_CAMPAIGN, GS_STATE_GAMEPLAY_HELP, GS_STATE_LOOP_BRIEF,
  GS_STATE_PXO, GS_STATE_LAB, GS_STATE_PXO_HELP, GS_STATE_START_GAME,
  GS_STATE_FICTION_VIEWER, GS_STATE_SCRIPTING, GS_NUM_STATES
}
 Enum's for game sequencing states. More...
 

Functions

void gameseq_init ()
 
int gameseq_process_events (void)
 
int gameseq_get_state (int depth=0)
 
void gameseq_post_event (int event)
 
int gameseq_get_event (void)
 
void gameseq_set_state (int new_state, int override=0)
 
void gameseq_push_state (int new_state)
 
void gameseq_pop_state (void)
 
int gameseq_get_pushed_state ()
 
int gameseq_get_depth ()
 
int gameseq_get_previous_state ()
 
void gameseq_pop_and_discard_state (void)
 
void game_process_event (int current_state, int event)
 
void game_leave_state (int old_state, int new_state)
 
void game_enter_state (int old_state, int new_state)
 
void game_do_state (int current_state)
 
bool GameState_Stack_Valid ()
 
int gameseq_get_event_idx (char *s)
 
int gameseq_get_state_idx (char *s)
 
int gameseq_get_state_idx (int state)
 

Variables

char * GS_event_text []
 
struct script_hook GS_state_hooks []
 
char * GS_state_text []
 
int Num_gs_event_text
 
int Num_gs_state_text
 

Enumeration Type Documentation

enum GS_EVENT

Enum's for Game Sequence Events.

IMPORTANT: When you add a new event, update the initialization for GS_event_text[] which is done in gamesequence.cpp. Otherwise, the fs2_open.log string "Got event..." will not display properly.

Enumerator
GS_EVENT_MAIN_MENU 
GS_EVENT_START_GAME 
GS_EVENT_ENTER_GAME 
GS_EVENT_START_GAME_QUICK 
GS_EVENT_END_GAME 
GS_EVENT_QUIT_GAME 
GS_EVENT_PAUSE_GAME 
GS_EVENT_PREVIOUS_STATE 
GS_EVENT_OPTIONS_MENU 
GS_EVENT_BARRACKS_MENU 
GS_EVENT_TRAINING_MENU 
GS_EVENT_TECH_MENU 
GS_EVENT_LOAD_MISSION_MENU 
GS_EVENT_SHIP_SELECTION 
GS_EVENT_TOGGLE_FULLSCREEN 
GS_EVENT_START_BRIEFING 
GS_EVENT_DEBUG_PAUSE_GAME 
GS_EVENT_HUD_CONFIG 
GS_EVENT_MULTI_JOIN_GAME 
GS_EVENT_CONTROL_CONFIG 
GS_EVENT_EVENT_DEBUG 
GS_EVENT_WEAPON_SELECTION 
GS_EVENT_MISSION_LOG_SCROLLBACK 
GS_EVENT_GAMEPLAY_HELP 
GS_EVENT_DEATH_DIED 
GS_EVENT_DEATH_BLEW_UP 
GS_EVENT_NEW_CAMPAIGN 
GS_EVENT_CREDITS 
GS_EVENT_SHOW_GOALS 
GS_EVENT_HOTKEY_SCREEN 
GS_EVENT_VIEW_MEDALS 
GS_EVENT_MULTI_HOST_SETUP 
GS_EVENT_MULTI_CLIENT_SETUP 
GS_EVENT_DEBRIEF 
GS_EVENT_GOTO_VIEW_CUTSCENES_SCREEN 
GS_EVENT_MULTI_STD_WAIT 
GS_EVENT_STANDALONE_MAIN 
GS_EVENT_MULTI_PAUSE 
GS_EVENT_TEAM_SELECT 
GS_EVENT_TRAINING_PAUSE 
GS_EVENT_INGAME_PRE_JOIN 
GS_EVENT_PLAYER_WARPOUT_START 
GS_EVENT_PLAYER_WARPOUT_START_FORCED 
GS_EVENT_PLAYER_WARPOUT_STOP 
GS_EVENT_PLAYER_WARPOUT_DONE_STAGE1 
GS_EVENT_PLAYER_WARPOUT_DONE_STAGE2 
GS_EVENT_PLAYER_WARPOUT_DONE 
GS_EVENT_STANDALONE_POSTGAME 
GS_EVENT_INITIAL_PLAYER_SELECT 
GS_EVENT_GAME_INIT 
GS_EVENT_MULTI_MISSION_SYNC 
GS_EVENT_MULTI_START_GAME 
GS_EVENT_MULTI_HOST_OPTIONS 
GS_EVENT_MULTI_DOGFIGHT_DEBRIEF 
GS_EVENT_CAMPAIGN_ROOM 
GS_EVENT_CMD_BRIEF 
GS_EVENT_TOGGLE_GLIDE 
GS_EVENT_RED_ALERT 
GS_EVENT_SIMULATOR_ROOM 
GS_EVENT_END_CAMPAIGN 
GS_EVENT_LOOP_BRIEF 
GS_EVENT_CAMPAIGN_CHEAT 
GS_EVENT_PXO 
GS_EVENT_LAB 
GS_EVENT_PXO_HELP 
GS_EVENT_FICTION_VIEWER 
GS_EVENT_SCRIPTING 
GS_NUM_EVENTS 

Definition at line 24 of file gamesequence.h.

enum GS_STATE

Enum's for game sequencing states.

IMPORTANT: When you add a new state, you must update the initialization for GS_state_text[] in gamesequence.cpp. Otherwise, the fs2_open.log string "Got event..." will not display properly.

Enumerator
GS_STATE_INVALID 
GS_STATE_MAIN_MENU 
GS_STATE_GAME_PLAY 
GS_STATE_GAME_PAUSED 
GS_STATE_QUIT_GAME 
GS_STATE_OPTIONS_MENU 
GS_STATE_BARRACKS_MENU 
GS_STATE_TECH_MENU 
GS_STATE_TRAINING_MENU 
GS_STATE_LOAD_MISSION_MENU 
GS_STATE_BRIEFING 
GS_STATE_SHIP_SELECT 
GS_STATE_DEBUG_PAUSED 
GS_STATE_HUD_CONFIG 
GS_STATE_MULTI_JOIN_GAME 
GS_STATE_CONTROL_CONFIG 
GS_STATE_WEAPON_SELECT 
GS_STATE_MISSION_LOG_SCROLLBACK 
GS_STATE_DEATH_DIED 
GS_STATE_DEATH_BLEW_UP 
GS_STATE_SIMULATOR_ROOM 
GS_STATE_CREDITS 
GS_STATE_SHOW_GOALS 
GS_STATE_HOTKEY_SCREEN 
GS_STATE_VIEW_MEDALS 
GS_STATE_MULTI_HOST_SETUP 
GS_STATE_MULTI_CLIENT_SETUP 
GS_STATE_DEBRIEF 
GS_STATE_VIEW_CUTSCENES 
GS_STATE_MULTI_STD_WAIT 
GS_STATE_STANDALONE_MAIN 
GS_STATE_MULTI_PAUSED 
GS_STATE_TEAM_SELECT 
GS_STATE_TRAINING_PAUSED 
GS_STATE_INGAME_PRE_JOIN 
GS_STATE_EVENT_DEBUG 
GS_STATE_STANDALONE_POSTGAME 
GS_STATE_INITIAL_PLAYER_SELECT 
GS_STATE_MULTI_MISSION_SYNC 
GS_STATE_MULTI_START_GAME 
GS_STATE_MULTI_HOST_OPTIONS 
GS_STATE_MULTI_DOGFIGHT_DEBRIEF 
GS_STATE_CAMPAIGN_ROOM 
GS_STATE_CMD_BRIEF 
GS_STATE_RED_ALERT 
GS_STATE_END_OF_CAMPAIGN 
GS_STATE_GAMEPLAY_HELP 
GS_STATE_LOOP_BRIEF 
GS_STATE_PXO 
GS_STATE_LAB 
GS_STATE_PXO_HELP 
GS_STATE_START_GAME 
GS_STATE_FICTION_VIEWER 
GS_STATE_SCRIPTING 
GS_NUM_STATES 

Definition at line 107 of file gamesequence.h.

Function Documentation

void game_do_state ( int  current_state)

Definition at line 205 of file fredstubs.cpp.

void game_enter_state ( int  old_state,
int  new_state 
)

Definition at line 183 of file fredstubs.cpp.

void game_leave_state ( int  old_state,
int  new_state 
)

Definition at line 184 of file fredstubs.cpp.

void game_process_event ( int  current_state,
int  event 
)

Definition at line 206 of file fredstubs.cpp.

int gameseq_get_depth ( )

Definition at line 255 of file gamesequence.cpp.

int gameseq_get_event ( void  )

Definition at line 223 of file gamesequence.cpp.

int gameseq_get_event_idx ( char *  s)

Definition at line 415 of file gamesequence.cpp.

int gameseq_get_previous_state ( )

Definition at line 250 of file gamesequence.cpp.

int gameseq_get_pushed_state ( )

Definition at line 374 of file gamesequence.cpp.

int gameseq_get_state ( int  depth = 0)

Definition at line 243 of file gamesequence.cpp.

int gameseq_get_state_idx ( char *  s)

Definition at line 427 of file gamesequence.cpp.

int gameseq_get_state_idx ( int  state)

Definition at line 440 of file gamesequence.cpp.

void gameseq_init ( )

Definition at line 184 of file gamesequence.cpp.

void gameseq_pop_and_discard_state ( void  )

Definition at line 366 of file gamesequence.cpp.

void gameseq_pop_state ( void  )

Definition at line 323 of file gamesequence.cpp.

void gameseq_post_event ( int  event)

Definition at line 209 of file gamesequence.cpp.

int gameseq_process_events ( void  )

Definition at line 389 of file gamesequence.cpp.

void gameseq_push_state ( int  new_state)

Definition at line 289 of file gamesequence.cpp.

void gameseq_set_state ( int  new_state,
int  override = 0 
)

Definition at line 260 of file gamesequence.cpp.

bool GameState_Stack_Valid ( )

Definition at line 237 of file gamesequence.cpp.

Variable Documentation

char* GS_event_text[]

Definition at line 47 of file gamesequence.cpp.

struct script_hook GS_state_hooks[]

Definition at line 43 of file gamesequence.cpp.

char* GS_state_text[]

Definition at line 123 of file gamesequence.cpp.

int Num_gs_event_text

Definition at line 119 of file gamesequence.cpp.

int Num_gs_state_text

Definition at line 182 of file gamesequence.cpp.