FS2_Open
Open source remastering of the Freespace 2 engine
missiontraining.cpp File Reference
#include "cfile/cfile.h"
#include "gamesequence/gamesequence.h"
#include "globalincs/alphacolors.h"
#include "hud/hudmessage.h"
#include "io/timer.h"
#include "mission/missiongoals.h"
#include "mission/missionmessage.h"
#include "mission/missionparse.h"
#include "mission/missiontraining.h"
#include "mod_table/mod_table.h"
#include "network/multi.h"
#include "parse/parselo.h"
#include "parse/sexp.h"
#include "playerman/player.h"
#include "popup/popup.h"
#include "ship/ship.h"
#include "sound/audiostr.h"
#include "sound/sound.h"
#include "weapon/emp.h"

Go to the source code of this file.

Classes

struct  training_message_mods
 
struct  training_message_queue
 

Macros

#define MAX_TRAINING_MESSAGE_LINES   10
 
#define TRAINING_MESSAGE_WINDOW_WIDTH   266
 
#define TRAINING_LINE_WIDTH   250
 
#define TRAINING_TIMING   150
 
#define TRAINING_TIMING_BASE   1000
 
#define TRAINING_OBJ_WND_WIDTH   170
 
#define TRAINING_OBJ_LINE_WIDTH   150
 
#define TRAINING_OBJ_LINES   50
 
#define TRAINING_OBJ_DISPLAY_LINES   5
 
#define MAX_TRAINING_MESSAGE_MODS   20
 
#define TRAINING_MESSAGE_QUEUE_MAX   40
 
#define TRAINING_OBJ_STATUS_UNKNOWN   (1 << 28)
 
#define TRAINING_OBJ_STATUS_KNOWN   (1 << 29)
 
#define TRAINING_OBJ_LINES_KEY   (1 << 30)
 
#define TRAINING_OBJ_LINES_EVENT_STATUS_MASK   (TRAINING_OBJ_STATUS_KNOWN | TRAINING_OBJ_STATUS_UNKNOWN)
 
#define TRAINING_OBJ_LINES_MASK(n)   (Training_obj_lines[n] & 0xffff)
 
#define TMMOD_NORMAL   0
 
#define TMMOD_BOLD   1
 
#define NUM_DIRECTIVE_GAUGES   3
 
#define DIRECTIVE_H   9
 
#define DIRECTIVE_X   5
 
#define NUM_DIRECTIVE_COORDS   3
 
#define DIRECTIVE_COORDS_TOP   0
 
#define DIRECTIVE_COORDS_MIDDLE   1
 
#define DIRECTIVE_COORDS_TITLE   2
 
#define MIN_SATISFIED_TIME   5
 
#define MIN_FAILED_TIME   7
 

Functions

void training_process_message (char *message)
 
void message_translate_tokens (char *buf, char *text)
 
void training_mission_init ()
 
void training_mission_page_in ()
 
int comp_training_lines_by_born_on_date (const void *m1, const void *m2)
 
void sort_training_objectives ()
 
void training_check_objectives ()
 
void training_mission_shutdown ()
 
char * translate_message_token (char *str)
 
int message_play_training_voice (int index)
 
void message_training_setup (int m, int length, char *special_message)
 
void message_training_queue (char *text, int timestamp, int length)
 
void message_training_remove_from_queue (int idx)
 
void message_training_queue_check ()
 
void message_training_update_frame ()
 
void training_fail ()
 

Variables

char Training_buf [TRAINING_MESSAGE_LENGTH]
 
const char * Training_lines [MAX_TRAINING_MESSAGE_LINES]
 
int Training_line_lengths [MAX_TRAINING_MESSAGE_LINES]
 
char Training_voice_filename [NAME_LENGTH]
 
int Max_directives = TRAINING_OBJ_DISPLAY_LINES
 
int Training_message_timestamp
 
int Training_message_method = 1
 
int Training_num_lines = 0
 
int Training_voice = -1
 
int Training_voice_type
 
int Training_voice_handle
 
int Training_flag = 0
 
int Training_failure = 0
 
int Training_message_queue_count = 0
 
int Training_bind_warning = -1
 
int Training_message_visible
 
training_message_queue Training_message_queue [TRAINING_MESSAGE_QUEUE_MAX]
 
int Training_message_window_coords [GR_NUM_RESOLUTIONS][2]
 
int Training_obj_window_coords [GR_NUM_RESOLUTIONS][2]
 
int Training_obj_num_lines
 
int Training_obj_lines [TRAINING_OBJ_LINES]
 
training_message_mods Training_message_mods [MAX_TRAINING_MESSAGE_MODS]
 

Macro Definition Documentation

#define DIRECTIVE_COORDS_MIDDLE   1

Definition at line 119 of file missiontraining.cpp.

#define DIRECTIVE_COORDS_TITLE   2

Definition at line 120 of file missiontraining.cpp.

#define DIRECTIVE_COORDS_TOP   0

Definition at line 118 of file missiontraining.cpp.

#define DIRECTIVE_H   9

Definition at line 115 of file missiontraining.cpp.

#define DIRECTIVE_X   5

Definition at line 116 of file missiontraining.cpp.

#define MAX_TRAINING_MESSAGE_LINES   10

Definition at line 35 of file missiontraining.cpp.

#define MAX_TRAINING_MESSAGE_MODS   20

Definition at line 44 of file missiontraining.cpp.

#define MIN_FAILED_TIME   7

Definition at line 397 of file missiontraining.cpp.

#define MIN_SATISFIED_TIME   5

Sort list of training events

Sort on EVENT_CURRENT and born on date, for other events (EVENT_SATISFIED, EVENT_FAILED) sort on born on date

Definition at line 396 of file missiontraining.cpp.

#define NUM_DIRECTIVE_COORDS   3

Definition at line 117 of file missiontraining.cpp.

#define NUM_DIRECTIVE_GAUGES   3

Definition at line 111 of file missiontraining.cpp.

#define TMMOD_BOLD   1

Definition at line 55 of file missiontraining.cpp.

#define TMMOD_NORMAL   0

Definition at line 54 of file missiontraining.cpp.

#define TRAINING_LINE_WIDTH   250

Definition at line 37 of file missiontraining.cpp.

#define TRAINING_MESSAGE_QUEUE_MAX   40

Definition at line 45 of file missiontraining.cpp.

#define TRAINING_MESSAGE_WINDOW_WIDTH   266

Definition at line 36 of file missiontraining.cpp.

#define TRAINING_OBJ_DISPLAY_LINES   5

Definition at line 43 of file missiontraining.cpp.

#define TRAINING_OBJ_LINE_WIDTH   150

Definition at line 41 of file missiontraining.cpp.

#define TRAINING_OBJ_LINES   50

Definition at line 42 of file missiontraining.cpp.

#define TRAINING_OBJ_LINES_EVENT_STATUS_MASK   (TRAINING_OBJ_STATUS_KNOWN | TRAINING_OBJ_STATUS_UNKNOWN)

Definition at line 50 of file missiontraining.cpp.

#define TRAINING_OBJ_LINES_KEY   (1 << 30)

Definition at line 49 of file missiontraining.cpp.

#define TRAINING_OBJ_LINES_MASK (   n)    (Training_obj_lines[n] & 0xffff)

Definition at line 52 of file missiontraining.cpp.

#define TRAINING_OBJ_STATUS_KNOWN   (1 << 29)

Definition at line 48 of file missiontraining.cpp.

#define TRAINING_OBJ_STATUS_UNKNOWN   (1 << 28)

Definition at line 47 of file missiontraining.cpp.

#define TRAINING_OBJ_WND_WIDTH   170

Definition at line 40 of file missiontraining.cpp.

#define TRAINING_TIMING   150

Definition at line 38 of file missiontraining.cpp.

#define TRAINING_TIMING_BASE   1000

Definition at line 39 of file missiontraining.cpp.

Function Documentation

int comp_training_lines_by_born_on_date ( const void m1,
const void m2 
)

Definition at line 378 of file missiontraining.cpp.

int message_play_training_voice ( int  index)

Plays the voice file associated with a training message.

Automatically streams the file from disk if it's over 100k, otherwise plays it as a normal file in memory. Returns -1 if it didn't play, otherwise index of voice

Definition at line 732 of file missiontraining.cpp.

void message_training_queue ( char *  text,
int  timestamp,
int  length 
)

Add a message to the queue to be sent later

Definition at line 858 of file missiontraining.cpp.

void message_training_queue_check ( )

Check the training message queue to see if we should play a new message yet or not.

Definition at line 926 of file missiontraining.cpp.

void message_training_remove_from_queue ( int  idx)

Removes current message from the queue

Definition at line 901 of file missiontraining.cpp.

void message_training_setup ( int  m,
int  length,
char *  special_message 
)

One time initializations done when we want to display a new training mission.

This does all the processing and setup required to actually display it, including starting the voice file playing

Definition at line 823 of file missiontraining.cpp.

void message_training_update_frame ( )

Definition at line 952 of file missiontraining.cpp.

void message_translate_tokens ( char *  buf,
char *  text 
)

Translates all special tokens in a message, producing the new finalized message to be displayed

Definition at line 646 of file missiontraining.cpp.

void sort_training_objectives ( )

Definition at line 398 of file missiontraining.cpp.

void training_check_objectives ( )

Maintains the objectives listing, adding, removing and updating items

Called at same rate as goals/events are evaluated.

Definition at line 523 of file missiontraining.cpp.

void training_fail ( )

Definition at line 1131 of file missiontraining.cpp.

void training_mission_init ( )

Mission initializations (called once before a new mission is started)

Definition at line 342 of file missiontraining.cpp.

void training_mission_page_in ( )

Definition at line 369 of file missiontraining.cpp.

void training_mission_shutdown ( )

Do cleanup when leaving a mission

Definition at line 601 of file missiontraining.cpp.

void training_process_message ( char *  message)

Processes a new training message to get hilighting information and store it in internal structures.

Definition at line 1097 of file missiontraining.cpp.

char* translate_message_token ( char *  str)

Translates special tokens. Handles one token only.

Definition at line 633 of file missiontraining.cpp.

Variable Documentation

int Max_directives = TRAINING_OBJ_DISPLAY_LINES

Definition at line 74 of file missiontraining.cpp.

int Training_bind_warning = -1

Definition at line 84 of file missiontraining.cpp.

char Training_buf[TRAINING_MESSAGE_LENGTH]

Definition at line 69 of file missiontraining.cpp.

int Training_failure = 0

Definition at line 82 of file missiontraining.cpp.

int Training_flag = 0

Definition at line 81 of file missiontraining.cpp.

int Training_line_lengths[MAX_TRAINING_MESSAGE_LINES]

Definition at line 71 of file missiontraining.cpp.

const char* Training_lines[MAX_TRAINING_MESSAGE_LINES]

Definition at line 70 of file missiontraining.cpp.

int Training_message_method = 1

Definition at line 76 of file missiontraining.cpp.

Definition at line 104 of file missiontraining.cpp.

Definition at line 86 of file missiontraining.cpp.

int Training_message_queue_count = 0

Definition at line 83 of file missiontraining.cpp.

int Training_message_timestamp

Definition at line 75 of file missiontraining.cpp.

int Training_message_visible

Definition at line 85 of file missiontraining.cpp.

int Training_message_window_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{ 174, 40 },
{ 379, 125 }
}

Definition at line 89 of file missiontraining.cpp.

int Training_num_lines = 0

Definition at line 77 of file missiontraining.cpp.

int Training_obj_lines[TRAINING_OBJ_LINES]

Definition at line 103 of file missiontraining.cpp.

int Training_obj_num_lines

Definition at line 102 of file missiontraining.cpp.

int Training_obj_window_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{ 0, 187 },
{ 0, 287 }
}

Definition at line 95 of file missiontraining.cpp.

int Training_voice = -1

Definition at line 78 of file missiontraining.cpp.

char Training_voice_filename[NAME_LENGTH]

Definition at line 73 of file missiontraining.cpp.

int Training_voice_handle

Definition at line 80 of file missiontraining.cpp.

int Training_voice_type

Definition at line 79 of file missiontraining.cpp.