FS2_Open
Open source remastering of the Freespace 2 engine
readyroom.cpp File Reference
#include <ctype.h>
#include "cfile/cfile.h"
#include "freespace2/freespace.h"
#include "gamehelp/contexthelp.h"
#include "gamesequence/gamesequence.h"
#include "gamesnd/gamesnd.h"
#include "globalincs/alphacolors.h"
#include "graphics/font.h"
#include "io/key.h"
#include "menuui/mainhallmenu.h"
#include "menuui/readyroom.h"
#include "menuui/techmenu.h"
#include "mission/missioncampaign.h"
#include "missionui/missionscreencommon.h"
#include "parse/parselo.h"
#include "pilotfile/pilotfile.h"
#include "playerman/managepilot.h"
#include "playerman/player.h"
#include "popup/popup.h"
#include "ui/ui.h"
#include "ui/uidefs.h"

Go to the source code of this file.

Classes

struct  sim_room_buttons
 
struct  hash_node
 

Macros

#define MAX_MISSIONS   1024
 
#define C_SUBTEXT_X   19
 
#define C_TEXT_X   0
 
#define M_TEXT_X   C_SUBTEXT_X
 
#define MODE_CAMPAIGNS   0
 
#define MODE_MISSIONS   1
 
#define MAX_LINES   200
 
#define MAX_DESC_LINES   200
 
#define NUM_BUTTONS   11
 
#define LIST_BUTTONS_MAX   42
 
#define SCROLL_UP_BUTTON   0
 
#define SCROLL_DOWN_BUTTON   1
 
#define MISSION_TAB   2
 
#define CAMPAIGN_TAB   3
 
#define HELP_BUTTON   4
 
#define COMMIT_BUTTON   5
 
#define OPTIONS_BUTTON   6
 
#define TECH_DATABASE_BUTTON   7
 
#define SIMULATOR_BUTTON   8
 
#define CUTSCENES_BUTTON   9
 
#define CREDITS_BUTTON   10
 
#define X_COORD   0
 
#define Y_COORD   1
 
#define W_COORD   2
 
#define H_COORD   3
 
#define CAMPAIGN_MISSION_HASH_SIZE   307
 
#define NUM_SIM_MISC_TEXT   2
 
#define SIM_MISC_TEXT_MISSION   0
 
#define SIM_MISC_TEXT_FILENAME   1
 
#define READYROOM_LINE_CAMPAIGN   1
 
#define READYROOM_LINE_CMISSION   2
 
#define READYROOM_LINE_MISSION   3
 
#define READYROOM_FLAG_FROM_VOLITION   (1<<0)
 
#define NUM_MISSION_ICONS   1
 
#define MISSION_ICON_VOLITION   0
 
#define MISSION_ICON_VOLITION_Y_OFFSET   (-1)
 
#define CR_NUM_BUTTONS   6
 
#define CR_SCROLL_UP_BUTTON   0
 
#define CR_SCROLL_DOWN_BUTTON   1
 
#define CR_SCROLL_INFO_UP_BUTTON   2
 
#define CR_SCROLL_INFO_DOWN_BUTTON   3
 
#define CR_RESET_BUTTON   4
 
#define CR_COMMIT_BUTTON   5
 
#define MAX_INFO_LINES   20
 
#define MAX_INFO_LINE_LEN   256
 
#define CR_NUM_TEXT   3
 

Typedefs

typedef struct hash_node hash_node
 

Functions

void sim_room_load_mission_icons ()
 
void sim_room_unload_mission_icons ()
 
void sim_room_blit_icons (int line_index, int y_start, fs_builtin_mission *fb=NULL, int is_md=0)
 
int hash_filename (const char *filename)
 
int hash_insert (char *filename)
 
int campaign_mission_hash_collision (const char *filename)
 
int build_campaign_mission_filename_hash_table ()
 
void campaign_mission_hash_table_delete ()
 
int sim_room_line_add (int type, char *name, char *filename, int x, int y, int flags)
 
int sim_room_campaign_mission_filter (const char *filename)
 
int sim_room_standalone_mission_filter (const char *filename)
 
int build_standalone_mission_list_do_frame ()
 
int build_campaign_mission_list_do_frame ()
 
void sim_room_build_listing ()
 
void sim_room_reset_campaign_listing ()
 
int sim_room_line_query_visible (int n)
 
void sim_room_scroll_screen_up ()
 
void sim_room_scroll_line_up ()
 
void sim_room_scroll_screen_down ()
 
void sim_room_scroll_line_down ()
 
int sim_room_can_resume_savegame (char *savegame_filename)
 
int sim_room_maybe_resume_savegame ()
 
int readyroom_continue_campaign ()
 
void sim_room_commit ()
 
int sim_room_button_pressed (int n)
 
void sim_room_scroll_capture ()
 
void sim_room_init ()
 
void sim_room_close ()
 
void sim_room_do_frame (float frametime)
 
void campaign_room_build_listing ()
 
void set_new_campaign_line (int n)
 
void campaign_room_scroll_info_up ()
 
void campaign_room_scroll_info_down ()
 
int campaign_room_reset_campaign (int n)
 
void campaign_room_commit ()
 
int campaign_room_button_pressed (int n)
 
void campaign_room_init ()
 
void campaign_room_close ()
 
void campaign_room_do_frame (float frametime)
 

Variables

int Mission_list_coords [GR_NUM_RESOLUTIONS][4]
 
int Campaign_list_coords [GR_NUM_RESOLUTIONS][4]
 
char * Sim_filename [GR_NUM_RESOLUTIONS]
 
char * Sim_mask_filename [GR_NUM_RESOLUTIONS]
 
char * Campaign_filename [GR_NUM_RESOLUTIONS]
 
char * Campaign_mask_filename [GR_NUM_RESOLUTIONS]
 
char * Sim_room_slider_filename [GR_NUM_RESOLUTIONS]
 
int Sim_misc_text_coords [GR_NUM_RESOLUTIONS][NUM_SIM_MISC_TEXT][2]
 
int Sim_room_slider_coords [GR_NUM_RESOLUTIONS][4]
 
int Sim_room_overlay_id
 
int Campaign_room_overlay_id
 
bool Campaign_room_no_campaigns = false
 
int Mission_icon_bitmaps [NUM_MISSION_ICONS]
 
char * Mission_icon_bitmap_filenames [NUM_MISSION_ICONS]
 
int Cr_list_coords [GR_NUM_RESOLUTIONS][4]
 Campaign room stuff below. More...
 
int Cr_info_coords [GR_NUM_RESOLUTIONS][4]
 
ui_button_info Cr_buttons [GR_NUM_RESOLUTIONS][CR_NUM_BUTTONS]
 
UI_XSTR Cr_text [GR_NUM_RESOLUTIONS][CR_NUM_TEXT]
 
const char * Info_text_ptrs [MAX_INFO_LINES]
 
int Num_info_lines
 
int Info_text_line_size [MAX_INFO_LINES]
 

Macro Definition Documentation

#define C_SUBTEXT_X   19

Definition at line 58 of file readyroom.cpp.

#define C_TEXT_X   0

Definition at line 60 of file readyroom.cpp.

#define CAMPAIGN_MISSION_HASH_SIZE   307

Definition at line 90 of file readyroom.cpp.

#define CAMPAIGN_TAB   3

Definition at line 76 of file readyroom.cpp.

#define COMMIT_BUTTON   5

Definition at line 78 of file readyroom.cpp.

#define CR_COMMIT_BUTTON   5

Definition at line 1400 of file readyroom.cpp.

#define CR_NUM_BUTTONS   6

Definition at line 1393 of file readyroom.cpp.

#define CR_NUM_TEXT   3

Definition at line 1426 of file readyroom.cpp.

#define CR_RESET_BUTTON   4

Definition at line 1399 of file readyroom.cpp.

#define CR_SCROLL_DOWN_BUTTON   1

Definition at line 1396 of file readyroom.cpp.

#define CR_SCROLL_INFO_DOWN_BUTTON   3

Definition at line 1398 of file readyroom.cpp.

#define CR_SCROLL_INFO_UP_BUTTON   2

Definition at line 1397 of file readyroom.cpp.

#define CR_SCROLL_UP_BUTTON   0

Definition at line 1395 of file readyroom.cpp.

#define CREDITS_BUTTON   10

Definition at line 83 of file readyroom.cpp.

#define CUTSCENES_BUTTON   9

Definition at line 82 of file readyroom.cpp.

#define H_COORD   3

Definition at line 88 of file readyroom.cpp.

#define HELP_BUTTON   4

Definition at line 77 of file readyroom.cpp.

#define LIST_BUTTONS_MAX   42

Definition at line 71 of file readyroom.cpp.

#define M_TEXT_X   C_SUBTEXT_X

Definition at line 63 of file readyroom.cpp.

#define MAX_DESC_LINES   200

Definition at line 69 of file readyroom.cpp.

#define MAX_INFO_LINE_LEN   256

Definition at line 1404 of file readyroom.cpp.

#define MAX_INFO_LINES   20

Definition at line 1402 of file readyroom.cpp.

#define MAX_LINES   200

Definition at line 68 of file readyroom.cpp.

#define MAX_MISSIONS   1024

Definition at line 37 of file readyroom.cpp.

#define MISSION_ICON_VOLITION   0

Definition at line 243 of file readyroom.cpp.

#define MISSION_ICON_VOLITION_Y_OFFSET   (-1)

Definition at line 247 of file readyroom.cpp.

#define MISSION_TAB   2

Definition at line 75 of file readyroom.cpp.

#define MODE_CAMPAIGNS   0

Definition at line 65 of file readyroom.cpp.

#define MODE_MISSIONS   1

Definition at line 66 of file readyroom.cpp.

#define NUM_BUTTONS   11

Definition at line 70 of file readyroom.cpp.

#define NUM_MISSION_ICONS   1

Definition at line 242 of file readyroom.cpp.

#define NUM_SIM_MISC_TEXT   2

Definition at line 158 of file readyroom.cpp.

#define OPTIONS_BUTTON   6

Definition at line 79 of file readyroom.cpp.

#define READYROOM_FLAG_FROM_VOLITION   (1<<0)

Definition at line 186 of file readyroom.cpp.

#define READYROOM_LINE_CAMPAIGN   1

Definition at line 182 of file readyroom.cpp.

#define READYROOM_LINE_CMISSION   2

Definition at line 183 of file readyroom.cpp.

#define READYROOM_LINE_MISSION   3

Definition at line 184 of file readyroom.cpp.

#define SCROLL_DOWN_BUTTON   1

Definition at line 74 of file readyroom.cpp.

#define SCROLL_UP_BUTTON   0

Definition at line 73 of file readyroom.cpp.

#define SIM_MISC_TEXT_FILENAME   1

Definition at line 160 of file readyroom.cpp.

#define SIM_MISC_TEXT_MISSION   0

Definition at line 159 of file readyroom.cpp.

#define SIMULATOR_BUTTON   8

Definition at line 81 of file readyroom.cpp.

#define TECH_DATABASE_BUTTON   7

Definition at line 80 of file readyroom.cpp.

#define W_COORD   2

Definition at line 87 of file readyroom.cpp.

#define X_COORD   0

Definition at line 85 of file readyroom.cpp.

#define Y_COORD   1

Definition at line 86 of file readyroom.cpp.

Typedef Documentation

typedef struct hash_node hash_node

Function Documentation

int build_campaign_mission_filename_hash_table ( )

Definition at line 351 of file readyroom.cpp.

int build_campaign_mission_list_do_frame ( )

Definition at line 505 of file readyroom.cpp.

int build_standalone_mission_list_do_frame ( )

Definition at line 445 of file readyroom.cpp.

int campaign_mission_hash_collision ( const char *  filename)

Definition at line 327 of file readyroom.cpp.

void campaign_mission_hash_table_delete ( )

Definition at line 368 of file readyroom.cpp.

void campaign_room_build_listing ( )

Definition at line 1455 of file readyroom.cpp.

int campaign_room_button_pressed ( int  n)

Definition at line 1577 of file readyroom.cpp.

void campaign_room_close ( )

Definition at line 1711 of file readyroom.cpp.

void campaign_room_commit ( )

Definition at line 1540 of file readyroom.cpp.

void campaign_room_do_frame ( float  frametime)

Definition at line 1724 of file readyroom.cpp.

void campaign_room_init ( )

Definition at line 1635 of file readyroom.cpp.

int campaign_room_reset_campaign ( int  n)

Definition at line 1516 of file readyroom.cpp.

void campaign_room_scroll_info_down ( )

Definition at line 1505 of file readyroom.cpp.

void campaign_room_scroll_info_up ( )

Definition at line 1495 of file readyroom.cpp.

int hash_filename ( const char *  filename)

Definition at line 269 of file readyroom.cpp.

int hash_insert ( char *  filename)

Definition at line 284 of file readyroom.cpp.

int readyroom_continue_campaign ( )

Definition at line 845 of file readyroom.cpp.

void set_new_campaign_line ( int  n)

Definition at line 1480 of file readyroom.cpp.

void sim_room_blit_icons ( int  line_index,
int  y_start,
fs_builtin_mission fb = NULL,
int  is_md = 0 
)

Definition at line 1356 of file readyroom.cpp.

void sim_room_build_listing ( )

Definition at line 562 of file readyroom.cpp.

int sim_room_button_pressed ( int  n)

Definition at line 911 of file readyroom.cpp.

int sim_room_campaign_mission_filter ( const char *  filename)

Definition at line 408 of file readyroom.cpp.

int sim_room_can_resume_savegame ( char *  savegame_filename)

Definition at line 762 of file readyroom.cpp.

void sim_room_close ( )

Definition at line 1116 of file readyroom.cpp.

void sim_room_commit ( )

Definition at line 896 of file readyroom.cpp.

void sim_room_do_frame ( float  frametime)

Definition at line 1172 of file readyroom.cpp.

void sim_room_init ( )

Definition at line 992 of file readyroom.cpp.

int sim_room_line_add ( int  type,
char *  name,
char *  filename,
int  x,
int  y,
int  flags 
)

Definition at line 393 of file readyroom.cpp.

int sim_room_line_query_visible ( int  n)

Definition at line 651 of file readyroom.cpp.

void sim_room_load_mission_icons ( )

Definition at line 1873 of file readyroom.cpp.

int sim_room_maybe_resume_savegame ( )

Definition at line 785 of file readyroom.cpp.

void sim_room_reset_campaign_listing ( )

Definition at line 631 of file readyroom.cpp.

void sim_room_scroll_capture ( )

Definition at line 981 of file readyroom.cpp.

void sim_room_scroll_line_down ( )

Definition at line 721 of file readyroom.cpp.

void sim_room_scroll_line_up ( )

Definition at line 685 of file readyroom.cpp.

void sim_room_scroll_screen_down ( )

Definition at line 701 of file readyroom.cpp.

void sim_room_scroll_screen_up ( )

Definition at line 665 of file readyroom.cpp.

int sim_room_standalone_mission_filter ( const char *  filename)

Definition at line 422 of file readyroom.cpp.

void sim_room_unload_mission_icons ( )

Definition at line 1884 of file readyroom.cpp.

Variable Documentation

char* Campaign_filename[GR_NUM_RESOLUTIONS]
Initial value:
= {
"Campaign",
"2_Campaign"
}

Definition at line 143 of file readyroom.cpp.

int Campaign_list_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
491, 108, 115, 279
},
{
491, 175, 115, 459
}
}

Definition at line 48 of file readyroom.cpp.

char* Campaign_mask_filename[GR_NUM_RESOLUTIONS]
Initial value:
= {
"Campaign-m",
"2_Campaign-m"
}

Definition at line 147 of file readyroom.cpp.

bool Campaign_room_no_campaigns = false

Definition at line 228 of file readyroom.cpp.

int Campaign_room_overlay_id

Definition at line 225 of file readyroom.cpp.

Initial value:
= {
{
ui_button_info("CAB_00", 2, 42, -1, -1, 0),
ui_button_info("CAB_01", 2, 89, -1, -1, 1),
ui_button_info("CAB_02", 2, 279, -1, -1, 2),
ui_button_info("CAB_03", 2, 325, -1, -1, 3),
ui_button_info("CAB_04", 579, 353, -1, -1, 4),
ui_button_info("CAB_05", 575, 434, -1, -1, 5),
},
{
ui_button_info("2_CAB_00", 3, 68, -1, -1, 0),
ui_button_info("2_CAB_01", 3, 142, -1, -1, 1),
ui_button_info("2_CAB_02", 3, 446, -1, -1, 2),
ui_button_info("2_CAB_03", 3, 520, -1, -1, 3),
ui_button_info("2_CAB_04", 927, 565, -1, -1, 4),
ui_button_info("2_CAB_05", 920, 694, -1, -1, 5),
}
}
struct ui_button_info ui_button_info

Definition at line 1406 of file readyroom.cpp.

int Cr_info_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
28, 267, 476, 103
},
{
45, 427, 761, 165
},
}

Definition at line 1384 of file readyroom.cpp.

int Cr_list_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
47, 21, 565, 233
},
{
64, 34, 916, 459
}
}

Campaign room stuff below.

Definition at line 1375 of file readyroom.cpp.

Initial value:
= {
{
{ "Restart", 1403, 569, 326, UI_XSTR_COLOR_GREEN, -1, &Cr_buttons[0][CR_RESET_BUTTON].button },
{ "Campaign", 1404, 569, 337, UI_XSTR_COLOR_GREEN, -1, &Cr_buttons[0][CR_RESET_BUTTON].button },
{ "Select", 1409, 568, 413, UI_XSTR_COLOR_PINK, -1, &Cr_buttons[0][CR_COMMIT_BUTTON].button },
},
{
{ "Restart", 1403, 922, 523, UI_XSTR_COLOR_GREEN, -1, &Cr_buttons[1][CR_RESET_BUTTON].button },
{ "Campaign", 1404, 922, 538, UI_XSTR_COLOR_GREEN, -1, &Cr_buttons[1][CR_RESET_BUTTON].button },
{ "Select", 1409, 921, 665, UI_XSTR_COLOR_PINK, -1, &Cr_buttons[1][CR_COMMIT_BUTTON].button },
}
}
#define CR_COMMIT_BUTTON
Definition: readyroom.cpp:1400
ui_button_info Cr_buttons[GR_NUM_RESOLUTIONS][CR_NUM_BUTTONS]
Definition: readyroom.cpp:1406
UI_BUTTON button
Definition: ui.h:660
#define CR_RESET_BUTTON
Definition: readyroom.cpp:1399
#define UI_XSTR_COLOR_PINK
Definition: ui.h:161
#define UI_XSTR_COLOR_GREEN
Definition: ui.h:160

Definition at line 1427 of file readyroom.cpp.

char* filename

Definition at line 190 of file readyroom.cpp.

Definition at line 193 of file readyroom.cpp.

int Info_text_line_size[MAX_INFO_LINES]

Definition at line 1453 of file readyroom.cpp.

const char* Info_text_ptrs[MAX_INFO_LINES]

Definition at line 1452 of file readyroom.cpp.

char* Mission_icon_bitmap_filenames[NUM_MISSION_ICONS]
Initial value:
= {
"icon-volition"
}

Definition at line 258 of file readyroom.cpp.

int Mission_icon_bitmaps[NUM_MISSION_ICONS]

Definition at line 256 of file readyroom.cpp.

int Mission_list_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
33, 108, 402, 279
},
{
43, 175, 402, 459
}
}

Definition at line 39 of file readyroom.cpp.

char* name

Definition at line 189 of file readyroom.cpp.

int Num_info_lines

Definition at line 1453 of file readyroom.cpp.

char* Sim_filename[GR_NUM_RESOLUTIONS]
Initial value:
= {
"LoadMission",
"2_LoadMission"
}

Definition at line 134 of file readyroom.cpp.

char* Sim_mask_filename[GR_NUM_RESOLUTIONS]
Initial value:
= {
"LoadMission-m",
"2_LoadMission-m"
}

Definition at line 138 of file readyroom.cpp.

int Sim_misc_text_coords[GR_NUM_RESOLUTIONS][NUM_SIM_MISC_TEXT][2]
Initial value:
= {
{
{33, 95},
{491, 95}
},
{
{43, 155},
{491, 155}
}
}

Definition at line 161 of file readyroom.cpp.

int Sim_room_overlay_id

Definition at line 224 of file readyroom.cpp.

int Sim_room_slider_coords[GR_NUM_RESOLUTIONS][4]
Initial value:
= {
{
4, 131, 20, 245
},
{
5, 209, 32, 392
}
}

Definition at line 172 of file readyroom.cpp.

char* Sim_room_slider_filename[GR_NUM_RESOLUTIONS]
Initial value:
= {
"slider",
"2_slider"
}

Definition at line 152 of file readyroom.cpp.

Definition at line 188 of file readyroom.cpp.

int x

Definition at line 191 of file readyroom.cpp.

int y

Definition at line 192 of file readyroom.cpp.