FS2_Open
Open source remastering of the Freespace 2 engine
sexp.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
#include <limits.h>
#include <stdint.h>
#include "ai/aigoals.h"
#include "asteroid/asteroid.h"
#include "autopilot/autopilot.h"
#include "camera/camera.h"
#include "cmdline/cmdline.h"
#include "debugconsole/console.h"
#include "fireball/fireballs.h"
#include "freespace2/freespace.h"
#include "gamesequence/gamesequence.h"
#include "gamesnd/eventmusic.h"
#include "gamesnd/gamesnd.h"
#include "globalincs/alphacolors.h"
#include "globalincs/linklist.h"
#include "globalincs/systemvars.h"
#include "globalincs/version.h"
#include "graphics/2d.h"
#include "graphics/font.h"
#include "hud/hud.h"
#include "hud/hudartillery.h"
#include "hud/hudconfig.h"
#include "hud/hudescort.h"
#include "hud/hudets.h"
#include "hud/hudmessage.h"
#include "hud/hudparse.h"
#include "hud/hudshield.h"
#include "hud/hudsquadmsg.h"
#include "iff_defs/iff_defs.h"
#include "io/keycontrol.h"
#include "io/timer.h"
#include "jumpnode/jumpnode.h"
#include "localization/localize.h"
#include "math/fvi.h"
#include "menuui/techmenu.h"
#include "mission/missionbriefcommon.h"
#include "mission/missioncampaign.h"
#include "mission/missiongoals.h"
#include "mission/missionlog.h"
#include "mission/missionmessage.h"
#include "mission/missionparse.h"
#include "mission/missiontraining.h"
#include "missionui/redalert.h"
#include "mod_table/mod_table.h"
#include "nebula/neb.h"
#include "nebula/neblightning.h"
#include "network/multi.h"
#include "network/multi_obj.h"
#include "network/multi_sexp.h"
#include "network/multi_team.h"
#include "network/multimsgs.h"
#include "network/multiutil.h"
#include "object/objcollide.h"
#include "object/objectdock.h"
#include "object/objectshield.h"
#include "object/objectsnd.h"
#include "object/waypoint.h"
#include "parse/generic_log.h"
#include "parse/lua.h"
#include "parse/parselo.h"
#include "parse/scripting.h"
#include "parse/sexp.h"
#include "playerman/player.h"
#include "render/3d.h"
#include "ship/afterburner.h"
#include "ship/awacs.h"
#include "ship/ship.h"
#include "ship/shiphit.h"
#include "sound/audiostr.h"
#include "sound/ds.h"
#include "sound/sound.h"
#include "starfield/starfield.h"
#include "starfield/supernova.h"
#include "stats/medals.h"
#include "weapon/beam.h"
#include "weapon/emp.h"
#include "weapon/shockwave.h"
#include "weapon/weapon.h"

Go to the source code of this file.

Classes

struct  object_ship_wing_point_team
 

Macros

#define TRUE   1
 
#define FALSE   0
 
#define SEXP_NODE_INCREMENT   250
 
#define SEO_VOLUME   0
 
#define SEO_DECAY_TIME   1
 
#define SEO_DAMPING   2
 
#define EO_DAMAGE   0
 
#define EO_BLAST   1
 
#define EO_INNER_RADIUS   2
 
#define EO_OUTER_RADIUS   3
 
#define EO_SHOCKWAVE_SPEED   4
 
#define EO_DEATH_ROLL_TIME   5
 
#define NO_OPERATOR_INDEX_DEFINED   -2
 
#define NOT_A_SEXP_OPERATOR   -1
 
#define SEXP_HUD_GAUGE_WARPOUT   "warpout"
 
#define OSWPT_TYPE_NONE   0
 
#define OSWPT_TYPE_SHIP   1
 
#define OSWPT_TYPE_WING   2
 
#define OSWPT_TYPE_WAYPOINT   3
 
#define OSWPT_TYPE_SHIP_ON_TEAM   4
 
#define OSWPT_TYPE_WHOLE_TEAM   5
 
#define OSWPT_TYPE_PARSE_OBJECT   6
 
#define OSWPT_TYPE_EXITED   7
 
#define OSWPT_TYPE_WING_NOT_PRESENT   8
 

Typedefs

typedef struct object_ship_wing_point_team object_ship_wing_point_team
 

Functions

void sexp_set_skybox_model_preload (char *name)
 
void sexp_stop_music (int fade=1)
 
int sexp_sound_environment_option_lookup (char *text)
 
int audio_volume_option_lookup (char *text)
 
int hud_gauge_type_lookup (char *name)
 
int sexp_explosion_option_lookup (char *text)
 
int get_sexp ()
 
void build_extended_sexp_string (SCP_string &accumulator, int cur_node, int level, int mode)
 
void update_sexp_references (const char *old_name, const char *new_name, int format, int node)
 
int sexp_determine_team (char *subj)
 
int extract_sexp_variable_index (int node)
 
void init_sexp_vars ()
 
int eval_num (int node)
 
void add_block_variable (const char *text, const char *var_name, int type, int index)
 
void sexp_modify_variable (int node)
 
int sexp_get_variable_by_index (int node)
 
void sexp_set_variable_by_index (int node)
 
void sexp_copy_variable_from_index (int node)
 
void sexp_copy_variable_between_indexes (int node)
 
bool is_blank_argument_op (int op_const)
 
bool is_blank_of_op (int op_const)
 
int get_handler_for_x_of_operator (int node)
 
int get_generic_subsys (char *subsy_name)
 
bool ship_class_unchanged (int ship_index)
 
void multi_sexp_modify_variable ()
 
int get_effect_from_name (char *name)
 
playerget_player_from_ship_node (int node, bool test_respawns=false)
 
shipsexp_get_ship_from_node (int node)
 
void sexp_nodes_init ()
 
void init_sexp ()
 
int alloc_sexp (char *text, int type, int subtype, int first, int rest)
 
int count_free_sexp_nodes ()
 
int find_free_sexp ()
 
void sexp_mark_persistent (int n)
 
void sexp_unmark_persistent (int n)
 
int free_one_sexp (int num)
 
int free_sexp (int num)
 
int free_sexp2 (int num)
 
void flush_sexp_tree (int node)
 
int verify_sexp_tree (int node)
 
int dup_sexp_chain (int node)
 
int cmp_sexp_chains (int node1, int node2)
 
int query_node_in_sexp (int node, int sexp)
 
int find_sexp_list (int num)
 
int find_parent_operator (int node)
 
int is_sexp_top_level (int node)
 
int find_argnum (int parent, int arg)
 
int get_operator_index (const char *token)
 
int get_operator_index (int node)
 
int get_operator_const (const char *token)
 
int get_operator_const (int node)
 
int query_sexp_args_count (int node, bool only_valid_args=false)
 
int check_operator_argument_count (int count, int op)
 
int check_sexp_syntax (int node, int return_type, int recursive, int *bad_node, int mode)
 
void get_unformatted_sexp_variable_name (char *unformatted, char *formatted_pre)
 
void get_sexp_text_for_variable (char *text, char *token)
 
void do_preload_for_arguments (void(*preloader)(char *), int arg_node, int arg_handler_node)
 
void preload_change_ship_class (char *text)
 
void preload_turret_change_weapon (char *text)
 
int stuff_sexp_variable_list ()
 
bool has_special_explosion_block_index (ship *shipp, int *index)
 
bool generate_special_explosion_block_variables ()
 
int num_block_variables ()
 
void stuff_sexp_text_string (SCP_string &dest, int node, int mode)
 
int build_sexp_string (SCP_string &accumulator, int cur_node, int level, int mode)
 
void convert_sexp_to_string (SCP_string &dest, int cur_node, int mode)
 
int sexp_query_has_yet_to_arrive (char *name)
 
int add_sexps (int n)
 
int sub_sexps (int n)
 
int mul_sexps (int n)
 
int div_sexps (int n)
 
int mod_sexps (int n)
 
int rand_internal (int low, int high, int seed=0)
 
int abs_sexp (int n)
 
int min_sexp (int n)
 
int max_sexp (int n)
 
int avg_sexp (int n)
 
int pow_sexp (int node)
 
int signum_sexp (int node)
 
int sexp_set_bit (int node, bool set_it)
 
int sexp_is_bit_set (int node)
 
int sexp_bitwise_and (int node)
 
int sexp_bitwise_or (int node)
 
int sexp_bitwise_not (int node)
 
int sexp_bitwise_xor (int node)
 
int rand_sexp (int n, bool multiple)
 
int sexp_or (int n)
 
int sexp_and (int n)
 
int sexp_and_in_sequence (int n)
 
int sexp_not (int n)
 
int sexp_xor (int node)
 
int sexp_number_compare (int n, int op)
 
int sexp_string_compare (int n, int op)
 
void sexp_object_ship_wing_point_team_set_ship (object_ship_wing_point_team *oswpt, ship *shipp, bool set_parse_flag_too=false)
 
void sexp_object_ship_wing_point_team_set_ship (object_ship_wing_point_team *oswpt, ship_obj *so, bool set_parse_flag_too=false)
 
void sexp_get_object_ship_wing_point_team (object_ship_wing_point_team *oswpt, char *object_name, bool set_parse_flag_too=false)
 
void object_ship_wing_point_team_set_ship (object_ship_wing_point_team *oswpt, ship *shipp, bool set_parse_flag_too)
 
void object_ship_wing_point_team_set_ship (object_ship_wing_point_team *oswpt, ship_obj *so, bool set_parse_flag_too)
 
int sexp_num_ships_in_battle (int n)
 
int sexp_num_ships_in_wing (int n)
 
int sexp_get_real_speed (object *obj)
 
int sexp_current_speed (int n)
 
int sexp_is_destroyed (int n, fix *latest_time)
 
int sexp_is_subsystem_destroyed (int n)
 
int sexp_has_arrived (int n, fix *latest_time)
 
int sexp_has_departed (int n, fix *latest_time)
 
int sexp_is_disabled (int n, fix *latest_time)
 
int sexp_are_waypoints_done (int n)
 
int sexp_is_disarmed (int n, fix *latest_time)
 
int sexp_is_destroyed_delay (int n)
 
int sexp_was_destroyed_by (int n, fix *latest_time)
 
int sexp_was_destroyed_by_delay (int n)
 
int sexp_is_subsystem_destroyed_delay (int n)
 
int sexp_is_disabled_delay (int n)
 
int sexp_is_disarmed_delay (int n)
 
int sexp_has_docked_or_undocked (int n, int op_num)
 
int sexp_has_arrived_delay (int n)
 
int sexp_has_departed_delay (int n)
 
int sexp_are_waypoints_done_delay (int node)
 
int sexp_ship_type_destroyed (int n)
 
int sexp_has_time_elapsed (int n)
 
int sexp_mission_time ()
 
int sexp_mission_time_msecs ()
 
int sexp_special_warp_dist (int n)
 
int sexp_time_destroyed (int n)
 
int sexp_time_wing_destroyed (int n)
 
int sexp_time_docked (int n)
 
int sexp_time_undocked (int n)
 
int sexp_time_ship_arrived (int n)
 
int sexp_time_wing_arrived (int n)
 
int sexp_time_ship_departed (int n)
 
int sexp_time_wing_departed (int n)
 
void sexp_set_energy_pct (int node, int op_num)
 
void multi_sexp_set_energy_pct ()
 
int sexp_get_energy_pct (int node, int op_num)
 
int sexp_shields_left (int n)
 
int sexp_hits_left (int n)
 
int sexp_sim_hits_left (int n)
 
int sexp_is_ship_visible (int n)
 
int sexp_is_ship_stealthy (int n)
 
int sexp_is_friendly_stealth_visible (int n)
 
int sexp_team_score (int node)
 
int sexp_hits_left_subsystem (int n)
 
int sexp_hits_left_subsystem_generic (int node)
 
int sexp_hits_left_subsystem_specific (int node)
 
int sexp_directive_value (int n)
 
int sexp_distance3 (object *objp1, object *objp2)
 
int sexp_distance2 (object *objp1, object_ship_wing_point_team *oswpt2)
 
int sexp_distance (int n)
 
bool sexp_get_subsystem_world_pos (vec3d *subsys_world_pos, int shipnum, char *subsys_name)
 
int sexp_distance_subsystem (int n)
 
bool sexp_helper_is_within_box (float *box_vals, vec3d *pos)
 
int sexp_num_within_box (int n)
 
void sexp_set_object_speed (object *objp, int speed, int axis, int subjective)
 
void sexp_set_object_speed (int n, int axis)
 
void multi_sexp_set_object_speed ()
 
int sexp_get_object_speed (object *objp, int axis, int subjective)
 
int sexp_get_object_speed (int n, int axis)
 
int sexp_calculate_coordinate (vec3d *origin, matrix *orient, vec3d *relative_location, int axis)
 
int sexp_calculate_angle (matrix *orient, int axis)
 
int sexp_get_object_coordinate (int n, int axis)
 
int sexp_get_object_angle (int n, int axis)
 
void set_object_for_clients (object *objp)
 
void sexp_set_object_position (int n)
 
void multi_sexp_set_object_position ()
 
void sexp_set_object_orientation (int n)
 
void sexp_set_object_orient_sub (object *objp, vec3d *location, int turn_time, int bank)
 
void sexp_set_oswpt_facing (object_ship_wing_point_team *oswpt, vec3d *location, int turn_time=0, int bank=0)
 
void sexp_set_object_facing (int n, bool facing_object)
 
void sexp_set_ship_man (object *objp, int duration, int heading, int pitch, int bank, bool apply_all_rotate, int up, int sideways, int forward, bool apply_all_lat)
 
void sexp_set_oswpt_maneuver (object_ship_wing_point_team *oswpt, int duration, int heading, int pitch, int bank, bool apply_all_rotate, int up, int sideways, int forward, bool apply_all_lat)
 
void sexp_set_ship_maneuver (int n, int op_num)
 
int sexp_last_order_time (int n)
 
int sexp_num_players ()
 
int sexp_skill_level_at_least (int n)
 
int sexp_was_promotion_granted (int n)
 
int sexp_was_medal_granted (int n)
 
float get_damage_caused (int damaged_ship, int attacker)
 
int sexp_get_damage_caused (int node)
 
int sexp_percent_ships_arrive_depart_destroy_disarm_disable (int n, int what)
 
int sexp_depart_node_delay (int n)
 
int sexp_destroyed_departed_delay (int n)
 
int sexp_special_warpout_name (int node)
 
int sexp_is_cargo_known (int n, int check_delay)
 
void get_cap_subsys_cargo_flags (int shipnum, char *subsys_name, int *known, fix *time_revealed)
 
int sexp_cap_subsys_cargo_known_delay (int n)
 
void sexp_set_scanned_unscanned (int n, int flag)
 
int sexp_has_been_tagged_delay (int n)
 
void eval_when_for_each_special_argument (int cur_node)
 
void do_action_for_each_special_argument (int cur_node)
 
int special_argument_appears_in_sexp_tree (int node)
 
int special_argument_appears_in_sexp_list (int node)
 
void eval_when_do_one_exp (int exp)
 
void eval_when_do_all_exp (int all_actions, int when_op_num)
 
int eval_perform_actions (int n)
 
int eval_when (int n, int when_op_num)
 
int eval_cond (int n)
 
int test_argument_nodes_for_condition (int n, int condition_node, int *num_true, int *num_false, int *num_known_true, int *num_known_false)
 
int test_argument_vector_for_condition (SCP_vector< char * > argument_vector, bool already_dupped, int condition_node, int *num_true, int *num_false, int *num_known_true, int *num_known_false)
 
int eval_any_of (int arg_handler_node, int condition_node)
 
int eval_every_of (int arg_handler_node, int condition_node)
 
int eval_number_of (int arg_handler_node, int condition_node)
 
int eval_random_of (int arg_handler_node, int condition_node, bool multiple)
 
int eval_in_sequence (int arg_handler_node, int condition_node)
 
template<typename T >
sign (T t)
 
int eval_for_counter (int arg_handler_node, int condition_node)
 
void sexp_change_all_argument_validity (int n, bool invalidate)
 
int sexp_num_valid_arguments (int n)
 
void sexp_change_argument_validity (int n, bool invalidate)
 
int sexp_is_iff (int n)
 
void sexp_ingame_ship_change_iff (ship *shipp, int new_team)
 
void sexp_parse_ship_change_iff (p_object *parse_obj, int new_team)
 
void sexp_change_iff (int n)
 
void sexp_ingame_ship_change_iff_color (ship *shipp, int observer_team, int observed_team, int alternate_iff_color)
 
void sexp_parse_ship_change_iff_color (p_object *parse_obj, int observer_team, int observed_team, int alternate_iff_color)
 
void sexp_change_iff_color (int n)
 
int sexp_is_ship_class (int n)
 
int sexp_is_ship_type (int n)
 
int sexp_is_ai_class (int n)
 
void sexp_change_ai_class (int n)
 
void sexp_add_ship_goal (int n)
 
void sexp_add_wing_goal (int n)
 
void sexp_add_goal (int n)
 
void sexp_remove_goal (int n)
 
void sexp_clear_ship_goals (int n)
 
void sexp_clear_wing_goals (int n)
 
void sexp_clear_goals (int n)
 
void sexp_hud_disable (int n)
 
void multi_sexp_hud_disable ()
 
void sexp_hud_disable_except_messages (int n)
 
void multi_sexp_hud_disable_except_messages ()
 
void sexp_hud_set_text_num (int n)
 
void sexp_hud_set_text (int n)
 
void sexp_hud_set_message (int n)
 
void sexp_hud_set_directive (int n)
 
void sexp_hud_clear_messages ()
 
void sexp_hud_set_coords (int n)
 
void sexp_hud_set_frame (int n)
 
void sexp_hud_set_color (int n)
 
void sexp_hud_set_max_targeting_range (int n)
 
void multi_sexp_hud_set_max_targeting_range ()
 
void sexp_hud_display_gauge (int n)
 
void sexp_hud_gauge_set_active (int n)
 
void sexp_hud_set_custom_gauge_active (int node)
 
void sexp_hud_activate_gauge_type (int n)
 
void sexp_hud_set_retail_gauge_active (int node)
 
void multi_sexp_hud_display_gauge ()
 
void sexp_player_use_ai (int flag)
 
void sexp_allow_treason (int n)
 
void sexp_set_player_orders (int n)
 
void sexp_change_soundtrack (int n)
 
void multi_sexp_change_soundtrack ()
 
void sexp_pause_unpause_music (bool pause)
 
void sexp_music_close ()
 
void sexp_load_music (char *fname, int type=-1)
 
void sexp_start_music (int loop)
 
int sexp_get_sound_index (int node)
 
void sexp_play_sound_from_table (int n)
 
void multi_sexp_play_sound_from_table ()
 
void sexp_close_sound_from_file (int n)
 
void multi_sexp_close_sound_from_file ()
 
void sexp_play_sound_from_file (int n)
 
void multi_sexp_play_sound_from_file ()
 
void sexp_pause_sound_from_file (int node)
 
void multi_sexp_pause_sound_from_file ()
 
void sexp_set_sound_environment (int node)
 
void sexp_update_sound_environment (int node)
 
void sexp_adjust_audio_volume (int node)
 
void sexp_set_explosion_option (int node)
 
void sexp_explosion_effect (int n)
 
void sexp_warp_effect (int n)
 
void sexp_send_one_message (char *name, char *who_from, char *priority, int group, int delay)
 
void sexp_send_message (int n)
 
void sexp_send_message_list (int n)
 
void sexp_send_random_message (int n)
 
void sexp_self_destruct (int node)
 
void sexp_next_mission (int n)
 
void sexp_end_of_campaign (int n)
 
void sexp_end_campaign (int n)
 
void sexp_sabotage_subsystem (int n)
 
void sexp_repair_subsystem (int n)
 
void sexp_set_subsystem_strength (int n)
 
void sexp_destroy_subsys_instantly (int n)
 
void sexp_change_goal_validity (int n, int flag)
 
int sexp_is_cargo (int n)
 
void sexp_set_cargo (int n)
 
void sexp_transfer_cargo (int n)
 
void sexp_exchange_cargo (int n)
 
void sexp_cap_waypoint_speed (int n)
 
void sexp_jettison_cargo (int n)
 
void sexp_set_docked (int n)
 
void sexp_cargo_no_deplete (int n)
 
void sexp_force_jump ()
 
void sexp_mission_set_nebula (int n)
 
void game_start_subspace_ambient_sound ()
 
void game_stop_subspace_ambient_sound ()
 
void sexp_mission_set_subspace (int n)
 
void sexp_add_background_bitmap (int n)
 
void sexp_remove_background_bitmap (int n)
 
void sexp_add_sun_bitmap (int n)
 
void sexp_remove_sun_bitmap (int n)
 
void sexp_nebula_change_storm (int n)
 
void sexp_nebula_toggle_poof (int n)
 
void sexp_nebula_change_pattern (int n)
 
void sexp_end_mission (int n)
 
void sexp_set_debriefing_toggled (int node)
 
void sexp_good_time_to_rearm (int n)
 
void sexp_grant_promotion ()
 
void sexp_grant_medal (int n)
 
void sexp_change_player_score (int node)
 
void sexp_change_team_score (int node)
 
void sexp_tech_add_ship (int node)
 
void sexp_tech_add_weapon (int node)
 
void sexp_tech_add_intel (int node)
 
void sexp_tech_add_intel_xstr (int node)
 
void sexp_tech_reset_to_default ()
 
void sexp_allow_ship (int n)
 
void sexp_allow_weapon (int n)
 
void sexp_deal_with_ship_flag (int node, bool process_subsequent_nodes, int object_flag, int object_flag2, int ship_flag, int ship_flag2, int p_object_flag, int p_object_flag2, bool set_it, bool send_multiplayer=false, bool include_players_in_ship_lookup=false)
 
void multi_sexp_deal_with_ship_flag ()
 
void sexp_alter_ship_flag_helper (object_ship_wing_point_team &oswpt, bool future_ships, int object_flag, int object_flag2, int ship_flag, int ship_flag2, int parse_obj_flag, int parse_obj_flag2, int ai_flag, int ai_flag2, bool set_flag)
 
void alter_flag_for_all_ships (bool future_ships, int object_flag, int object_flag2, int ship_flag, int ship_flag2, int parse_obj_flag, int parse_obj_flag2, int ai_flag, int ai_flag2, bool set_flag)
 
bool sexp_check_flag_arrays (char *flag_name, int &object_flag, int &object_flag2, int &ship_flags, int &ship_flags2, int &parse_obj_flag, int &parse_obj_flag2, int &ai_flag, int &ai_flag2)
 
int sexp_are_ship_flags_set (int node)
 
void sexp_alter_ship_flag (int node)
 
void multi_sexp_alter_ship_flag ()
 
void sexp_deal_with_warp (int n, bool repairable, bool damage_it)
 
void sexp_set_subspace_drive (int node)
 
void sexp_good_secondary_time (int n)
 
void sexp_toggle_builtin_messages (int node, bool enable_messages)
 
void sexp_set_persona (int node)
 
void multi_sexp_set_persona ()
 
void sexp_set_mission_mood (int node)
 
int sexp_weapon_fired_delay (int node, int op_num)
 
int sexp_has_weapon (int node, int op_num)
 
int sexp_previous_goal_status (int n, int status)
 
int sexp_previous_event_status (int n, int status)
 
int sexp_event_status (int n, int want_true)
 
int sexp_event_delay_status (int n, int want_true, bool use_msecs=false)
 
int sexp_event_incomplete (int n)
 
int sexp_goal_delay_status (int n, int want_true)
 
int sexp_goal_incomplete (int n)
 
void sexp_protect_ships (int n, bool flag)
 
void sexp_beam_protect_ships (int n, bool flag)
 
void sexp_turret_protect_ships (int n, bool flag)
 
void sexp_dont_collide_invisible (int n, bool dont_collide)
 
void sexp_set_immobile (int n, bool immobile)
 
void sexp_disable_ets (int n, bool disable)
 
void sexp_ships_vaporize (int n, bool vaporize)
 
void sexp_ships_visible (int n, bool visible)
 
void sexp_ships_stealthy (int n, bool stealthy)
 
void sexp_friendly_stealth_invisible (int n, bool invisible)
 
void sexp_ship_deal_with_subsystem_flag (int node, int ss_flag, bool sendit=false, bool setit=false)
 
void multi_sexp_deal_with_subsys_flag (int ss_flag)
 
void sexp_ship_tag (int n, int tag)
 
void sexp_ships_invulnerable (int n, bool invulnerable)
 
void sexp_ships_bomb_targetable (int n, bool targetable)
 
void sexp_ship_guardian_threshold (int node)
 
void sexp_ship_subsys_guardian_threshold (int num)
 
void sexp_ships_guardian (int n, int guardian)
 
void sexp_ship_create (int n)
 
void sexp_weapon_create (int n)
 
void sexp_ship_vanish (int n)
 
void sexp_destroy_instantly (int n)
 
void sexp_shields_off (int n, bool shields_off)
 
void sexp_ingame_ship_kamikaze (ship *shipp, int kdamage)
 
void sexp_parse_ship_kamikaze (p_object *parse_obj, int kdamage)
 
void sexp_kamikaze (int n, int kamikaze)
 
void sexp_ingame_ship_alt_name (ship *shipp, int alt_index)
 
void sexp_parse_ship_alt_name (p_object *parse_obj, int alt_index)
 
void sexp_ship_change_alt_name (int node)
 
void sexp_ship_change_callsign (int node)
 
void multi_sexp_ship_change_callsign ()
 
void sexp_set_death_message (int n)
 
int sexp_key_pressed (int node)
 
void sexp_key_reset (int node)
 
void sexp_ignore_key (int node)
 
void multi_sexp_ignore_key ()
 
int sexp_targeted (int node)
 
int sexp_node_targeted (int node)
 
int sexp_speed (int node)
 
int sexp_get_throttle_speed (int node)
 
void sexp_set_player_throttle_speed (int node)
 
int sexp_primaries_depleted (int node)
 
int sexp_secondaries_depleted (int node)
 
int sexp_facing (int node)
 
int sexp_is_facing (int node)
 
int sexp_facing2 (int node)
 
int sexp_order (int n)
 
int sexp_query_orders (int n)
 
void sexp_reset_orders (int n)
 
int sexp_waypoint_missed ()
 
int sexp_waypoint_twice ()
 
int sexp_path_flown ()
 
void sexp_send_training_message (int node)
 
void multi_sexp_send_training_message ()
 
int sexp_shield_recharge_pct (int node)
 
int sexp_engine_recharge_pct (int node)
 
int sexp_weapon_recharge_pct (int node)
 
int sexp_get_ets_value (int node)
 
void sexp_set_ets_values (int node)
 
void multi_sexp_set_ets_values ()
 
int sexp_shield_quad_low (int node)
 
int sexp_primary_ammo_pct (int node)
 
int sexp_secondary_ammo_pct (int node)
 
int sexp_get_primary_ammo (int node)
 
void sexp_set_primary_ammo (int node)
 
void set_primary_ammo (int ship_index, int requested_bank, int requested_ammo, int rearm_limit, bool update)
 
int sexp_get_secondary_ammo (int node)
 
void sexp_set_secondary_ammo (int node)
 
void set_secondary_ammo (int ship_index, int requested_bank, int requested_ammo, int rearm_limit, bool update)
 
void sexp_set_weapon (int node, bool primary)
 
int sexp_get_countermeasures (int node)
 
void sexp_set_countermeasures (int node)
 
void multi_sexp_set_countermeasures ()
 
void sexp_deal_with_afterburner_lock (int node, bool lock)
 
void sexp_deal_with_primary_lock (int node, bool lock)
 
void sexp_deal_with_secondary_lock (int node, bool lock)
 
void sexp_change_subsystem_name (int node)
 
void multi_sexp_change_subsystem_name ()
 
void sexp_change_ship_class (int n)
 
void multi_sexp_change_ship_class ()
 
void ship_copy_damage (ship *target_shipp, ship *source_shipp)
 
int insert_subsys_status (p_object *pobjp)
 
void parse_copy_damage (p_object *target_pobjp, ship *source_shipp)
 
void sexp_ship_copy_damage (int node)
 
void sexp_activate_deactivate_glow_points (int n, bool activate)
 
void sexp_activate_deactivate_glow_point_bank (int n, bool activate)
 
void sexp_activate_deactivate_glow_maps (int n, int activate)
 
void sexp_set_ambient_light (int node)
 
void multi_sexp_set_ambient_light ()
 
void sexp_set_post_effect (int node)
 
void sexp_set_skybox_orientation (int n)
 
void sexp_set_skybox_model (int n)
 
void sexp_beam_fire (int node, bool at_coords)
 
void sexp_beam_floating_fire (int n)
 
void sexp_beam_free (int node)
 
void sexp_set_thrusters (int node)
 
void sexp_beam_free_all (int node)
 
void sexp_beam_lock (int node)
 
void sexp_beam_lock_all (int node)
 
void sexp_turret_free (int node)
 
void sexp_turret_free_all (int node)
 
void sexp_turret_lock (int node)
 
void sexp_turret_lock_all (int node)
 
void sexp_turret_tagged_only_all (int node)
 
void sexp_turret_tagged_clear_all (int node)
 
void sexp_turret_change_weapon (int node)
 
void sexp_set_armor_type (int node)
 
void sexp_weapon_set_damage_type (int node)
 
void sexp_ship_set_damage_type (int node)
 
void sexp_ship_shockwave_set_damage_type (int node)
 
void sexp_field_set_damage_type (int node)
 
void sexp_turret_set_target_order (int node)
 
void sexp_turret_set_direction_preference (int node)
 
void sexp_turret_set_rate_of_fire (int node)
 
void sexp_turret_set_optimum_range (int node)
 
void sexp_turret_set_target_priorities (int node)
 
void sexp_ship_turret_target_order (int node)
 
int sexp_get_turret_primary_ammo (int node)
 
void sexp_set_turret_primary_ammo (int node)
 
void multi_sexp_set_turret_primary_ammo ()
 
void set_turret_primary_ammo (ship_subsys *turret, int requested_bank, int requested_ammo, bool update)
 
int sexp_get_turret_secondary_ammo (int node)
 
void sexp_set_turret_secondary_ammo (int node)
 
void multi_sexp_set_turret_secondary_ammo ()
 
void set_turret_secondary_ammo (ship_subsys *turret, int requested_bank, int requested_ammo, bool update)
 
void sexp_set_subsys_rotation_lock_free (int node, int locked)
 
void sexp_reverse_rotating_subsystem (int node)
 
void sexp_rotating_subsys_set_turn_time (int node)
 
void sexp_trigger_submodel_animation (int node)
 
void sexp_turret_tagged_specific (int node)
 
void sexp_turret_tagged_clear_specific (int node)
 
void sexp_add_remove_escort (int node)
 
void multi_sexp_add_remove_escort ()
 
void sexp_damage_escort_list (int node)
 
void sexp_set_support_ship (int n)
 
void sexp_set_arrival_info (int node)
 
void sexp_set_departure_info (int node)
 
void sexp_damage_escort_list_all (int n)
 
void sexp_awacs_set_radius (int node)
 
void sexp_primitive_sensors_set_range (int n)
 
void set_nav_carry_status (int node)
 
void unset_nav_carry_status (int node)
 
void set_nav_needslink (int node)
 
void unset_nav_needslink (int node)
 
void add_nav_waypoint (char *nav, char *WP_path, int vert, char *oswpt_name)
 
void add_nav_waypoint (int node)
 
void multi_sexp_add_nav_waypoint ()
 
void add_nav_ship (int node)
 
void multi_add_nav_ship ()
 
void del_nav (int node)
 
void multi_del_nav ()
 
void set_use_ap_cinematics (int node)
 
void set_use_ap (int node)
 
void hide_nav (int node)
 
void restrict_nav (int node)
 
void unhide_nav (int node)
 
void unrestrict_nav (int node)
 
void set_nav_visited (int node)
 
void unset_nav_visited (int node)
 
int is_nav_visited (int node)
 
int is_nav_linked (int node)
 
int distance_to_nav (int node)
 
void select_nav (int node)
 
void unselect_nav ()
 
int sexp_is_tagged (int node)
 
int sexp_missile_locked (int node)
 
int sexp_is_player (int node)
 
void sexp_set_respawns (int node)
 
void multi_sexp_set_respawns ()
 
void actually_remove_weapons (int weapon_info_index)
 
void sexp_remove_weapons (int node)
 
void multi_sexp_remove_weapons ()
 
int sexp_return_player_data (int node, int type)
 
int sexp_num_type_kills (int node)
 
int sexp_num_class_kills (int node)
 
void sexp_subsys_set_random (int node)
 
void sexp_supernova_start (int node)
 
void sexp_supernova_stop (int node)
 
int sexp_is_secondary_selected (int node)
 
int sexp_is_primary_selected (int node)
 
int shield_quad_near_max (int quadnum)
 
int process_special_sexps (int index)
 
int sexp_string_to_int (int n)
 
void sexp_int_to_string (int n)
 
void sexp_string_concatenate (int n)
 
int sexp_string_get_length (int node)
 
void sexp_string_get_substring (int node)
 
void sexp_string_set_substring (int node)
 
void sexp_debug (int node)
 
int sexp_special_training_check (int node)
 
void sexp_flash_hud_gauge (int node)
 
void multi_sexp_flash_hud_gauge ()
 
void sexp_set_training_context_fly_path (int node)
 
void sexp_set_training_context_speed (int node)
 
void sexp_scramble_messages (int node, bool scramble)
 
void toggle_cutscene_bars (float delta_speed, int set)
 
void sexp_toggle_cutscene_bars (int node, int set)
 
void multi_sexp_toggle_cutscene_bars (int set)
 
void sexp_fade (bool fade_in, int duration, ubyte R, ubyte G, ubyte B)
 
void sexp_fade (int n, bool fade_in)
 
void multi_sexp_fade (bool fade_in)
 
camerasexp_get_set_camera (bool reset=false)
 
void sexp_set_camera (int node)
 
void sexp_set_camera_position (int n)
 
void multi_sexp_set_camera_position ()
 
void sexp_set_camera_rotation (int n)
 
void multi_sexp_set_camera_rotation ()
 
void sexp_set_camera_facing (int n)
 
void multi_sexp_set_camera_facing ()
 
void actually_set_camera_facing_object (char *object_name, float rot_time, float rot_acc_time, float rot_dec_time)
 
void sexp_set_camera_facing_object (int n)
 
void multi_sexp_set_camera_facing_object ()
 
void sexp_set_camera_fov (int n)
 
void multi_sexp_set_camera_fov ()
 
objectsexp_camera_get_objsub (int node, int *o_submodel)
 
void sexp_set_camera_host (int node)
 
void sexp_set_camera_target (int node)
 
void multi_sexp_set_camera_target ()
 
void sexp_set_fov (int n)
 
void multi_sexp_set_fov ()
 
int sexp_get_fov ()
 
void sexp_reset_fov ()
 
void multi_sexp_reset_fov ()
 
void sexp_reset_camera (int node)
 
void multi_sexp_reset_camera ()
 
void sexp_show_subtitle (int node)
 
void sexp_clear_subtitles ()
 
void multi_sexp_clear_subtitles ()
 
void sexp_show_subtitle_text (int node)
 
void multi_sexp_show_subtitle_text ()
 
void sexp_show_subtitle_image (int node)
 
void multi_sexp_show_subtitle_image ()
 
void sexp_set_time_compression (int n)
 
void multi_sexp_set_time_compression ()
 
void sexp_reset_time_compression ()
 
void multi_sexp_reset_time_compression ()
 
void sexp_force_perspective (int n)
 
void sexp_set_camera_shudder (int n)
 
void multi_sexp_set_camera_shudder ()
 
void sexp_set_jumpnode_name (int n)
 
void multi_sexp_set_jumpnode_name ()
 
void sexp_set_jumpnode_color (int n)
 
void multi_sexp_set_jumpnode_color ()
 
void sexp_set_jumpnode_model (int n)
 
void multi_sexp_set_jumpnode_model ()
 
void sexp_show_hide_jumpnode (int node, bool show)
 
void multi_sexp_show_hide_jumpnode (bool show)
 
int sexp_script_eval (int node, int return_type, bool concat_args=false)
 
void sexp_script_eval_multi (int node)
 
void multi_sexp_script_eval_multi ()
 
void sexp_force_glide (int node)
 
bool test_point_within_box (vec3d *test_point, vec3d *box_corner_1, vec3d *box_corner_2, object *reference_ship_obj)
 
int sexp_is_in_box (int n)
 
int sexp_is_in_mission (int node)
 
void sexp_manipulate_colgroup (int node, bool add_to_group)
 
int sexp_get_colgroup (int node)
 
void sexp_ship_effect (int n)
 
void sexp_change_team_color (int n)
 
void multi_sexp_change_team_color ()
 
void sexp_call_ssm_strike (int node)
 
int sexp_player_is_cheating_bastard ()
 
void sexp_set_motion_debris (int node)
 
int is_sexp_true (int cur_node, int referenced_node)
 
int generate_event_log_flags_mask (int result)
 
void current_log_to_backup_log_buffer ()
 
void maybe_write_previous_event_to_log (int result)
 
void maybe_write_to_event_log (int result)
 
char * sexp_get_result_as_text (int result)
 
void add_to_event_log_buffer (int op_num, int result)
 
int eval_sexp (int cur_node, int referenced_node)
 
void multi_sexp_eval ()
 
int get_sexp_main ()
 
int run_sexp (const char *sexpression)
 
 if (dc_optional_string_either("help","--help"))
 
 dc_stuff_string (sexp)
 
 dc_printf ("SEXP '%s' run, sexp_val = %d\n", sexp_always.c_str(), sexp_val)
 
 DCF (sexp,"Runs the given sexp")
 
int query_operator_return_type (int op)
 
int query_operator_argument_type (int op, int argnum)
 
void update_sexp_references (const char *old_name, const char *new_name)
 
void update_sexp_references (const char *old_name, const char *new_name, int format)
 
int query_referenced_in_sexp (int mode, char *name, int *node)
 
int verify_vector (char *text)
 
void skip_white (char **str)
 
int validate_float (char **str)
 
int sexp_query_type_match (int opf, int opr)
 
char * sexp_error_message (int num)
 
int query_sexp_ai_goal_valid (int sexp_ai_goal, int ship_num)
 
char * CTEXT (int n)
 
int sexp_add_variable (const char *text, const char *var_name, int type, int index)
 
void sexp_add_array_block_variable (int index, bool is_numeric)
 
void sexp_modify_variable (char *text, int index, bool sexp_callback)
 
bool is_sexp_node_numeric (int node)
 
void sexp_fred_modify_variable (const char *text, const char *var_name, int index, int type)
 
int get_index_sexp_variable_from_node (int node)
 
int get_index_sexp_variable_name (const char *text)
 
int get_index_sexp_variable_name (SCP_string &text)
 
int get_index_sexp_variable_name_special (const char *startpos)
 
int get_index_sexp_variable_name_special (SCP_string &text, size_t startpos)
 
bool sexp_replace_variable_names_with_values (char *text, int max_len)
 
bool sexp_replace_variable_names_with_values (SCP_string &text)
 
int get_nth_variable_index (int nth, int variable_type)
 
int sexp_variable_count ()
 
int sexp_campaign_persistent_variable_count ()
 
int sexp_variable_typed_count (int sexp_variables_index, int variable_type)
 
void sexp_variable_delete (int index)
 
int sexp_var_compare (const void *var1, const void *var2)
 
void sexp_variable_sort ()
 
int get_sexp_id (char *sexp_name)
 
int get_category (int sexp_id)
 
int category_of_subcategory (int subcategory_id)
 
int get_subcategory (int sexp_id)
 
bool output_sexps (char *filepath)
 

Variables

sexp_oper Operators []
 
sexp_ai_goal_link Sexp_ai_goal_links []
 
char * HUD_gauge_text [NUM_HUD_GAUGES]
 
int Num_skybox_flags = 6
 
char * Skybox_flags []
 
int Directive_count
 
int Sexp_useful_number
 
int Locked_sexp_true
 
int Locked_sexp_false
 
int Num_operators = sizeof(Operators) / sizeof(sexp_oper)
 
int Num_sexp_ai_goal_links = sizeof(Sexp_ai_goal_links) / sizeof(sexp_ai_goal_link)
 
int Sexp_clipboard = -1
 
int Training_context = 0
 
int Training_context_speed_set
 
int Training_context_speed_min
 
int Training_context_speed_max
 
int Training_context_speed_timestamp
 
waypoint_listTraining_context_path
 
int Training_context_goal_waypoint
 
int Training_context_at_waypoint
 
float Training_context_distance
 
int Num_sexp_nodes = 0
 
sexp_nodeSexp_nodes = NULL
 
sexp_variable Sexp_variables [MAX_SEXP_VARIABLES]
 
sexp_variable Block_variables [MAX_SEXP_VARIABLES]
 
int Num_special_expl_blocks
 
SCP_vector< intCurrent_sexp_operator
 
int Players_target = UNINITIALIZED
 
int Players_mlocked = UNINITIALIZED
 
ship_subsysPlayers_targeted_subsys
 
int Players_target_timestamp
 
int Players_mlocked_timestamp
 
int Sexp_music_handle = -1
 
char * Sound_environment_option [] = { "volume", "decay time", "damping" }
 
int Num_sound_environment_options = 3
 
char * Adjust_audio_options [] = { "Music", "Voice", "Effects" }
 
int Num_adjust_audio_options = 3
 
char * Explosion_option [] = { "damage", "blast", "inner radius", "outer radius", "shockwave speed", "death roll time" }
 
int Num_explosion_options = 6
 
SCP_vector< char * > Sexp_replacement_arguments
 
int Sexp_current_argument_nesting_level
 
SCP_vector< char * > Applicable_arguments_temp
 
arg_item Sexp_applicable_argument_list
 
SCP_vector< SCP_string > * Current_event_log_buffer
 
SCP_vector< SCP_string > * Current_event_log_variable_buffer
 
SCP_vector< SCP_string > * Current_event_log_argument_buffer
 
int Sexp_hud_display_warpout = 0
 
float VIEWER_ZOOM_DEFAULT
 
bool Perspective_locked
 
int Cheats_enabled
 
SCP_string sexp
 
SCP_string sexp_always = "( when ( true ) ( " + sexp + " ) )"
 
int sexp_val = run_sexp(sexp_always.c_str())
 
sexp_help_struct Sexp_help []
 
op_menu_struct op_menu []
 
op_menu_struct op_submenu []
 
int Num_sexp_help = sizeof(Sexp_help) / sizeof(sexp_help_struct)
 
int Num_op_menus = sizeof(op_menu) / sizeof(op_menu_struct)
 
int Num_submenus = sizeof(op_submenu) / sizeof(op_menu_struct)
 

Macro Definition Documentation

#define EO_BLAST   1

Definition at line 880 of file sexp.cpp.

#define EO_DAMAGE   0

Definition at line 879 of file sexp.cpp.

#define EO_DEATH_ROLL_TIME   5

Definition at line 884 of file sexp.cpp.

#define EO_INNER_RADIUS   2

Definition at line 881 of file sexp.cpp.

#define EO_OUTER_RADIUS   3

Definition at line 882 of file sexp.cpp.

#define EO_SHOCKWAVE_SPEED   4

Definition at line 883 of file sexp.cpp.

#define FALSE   0

Definition at line 115 of file sexp.cpp.

#define NO_OPERATOR_INDEX_DEFINED   -2

Definition at line 923 of file sexp.cpp.

#define NOT_A_SEXP_OPERATOR   -1

Definition at line 924 of file sexp.cpp.

#define OSWPT_TYPE_EXITED   7

Definition at line 4658 of file sexp.cpp.

#define OSWPT_TYPE_NONE   0

Definition at line 4651 of file sexp.cpp.

#define OSWPT_TYPE_PARSE_OBJECT   6

Definition at line 4657 of file sexp.cpp.

#define OSWPT_TYPE_SHIP   1

Definition at line 4652 of file sexp.cpp.

#define OSWPT_TYPE_SHIP_ON_TEAM   4

Definition at line 4655 of file sexp.cpp.

#define OSWPT_TYPE_WAYPOINT   3

Definition at line 4654 of file sexp.cpp.

#define OSWPT_TYPE_WHOLE_TEAM   5

Definition at line 4656 of file sexp.cpp.

#define OSWPT_TYPE_WING   2

Definition at line 4653 of file sexp.cpp.

#define OSWPT_TYPE_WING_NOT_PRESENT   8

Definition at line 4659 of file sexp.cpp.

#define SEO_DAMPING   2

Definition at line 866 of file sexp.cpp.

#define SEO_DECAY_TIME   1

Definition at line 865 of file sexp.cpp.

#define SEO_VOLUME   0

Definition at line 864 of file sexp.cpp.

#define SEXP_HUD_GAUGE_WARPOUT   "warpout"

Definition at line 931 of file sexp.cpp.

#define SEXP_NODE_INCREMENT   250

Definition at line 842 of file sexp.cpp.

#define TRUE   1

Definition at line 114 of file sexp.cpp.

Typedef Documentation

Function Documentation

int abs_sexp ( int  n)

Definition at line 4139 of file sexp.cpp.

void actually_remove_weapons ( int  weapon_info_index)

Definition at line 19732 of file sexp.cpp.

void actually_set_camera_facing_object ( char *  object_name,
float  rot_time,
float  rot_acc_time,
float  rot_dec_time 
)

Helper function for set_camera_facing_object

Definition at line 21084 of file sexp.cpp.

void add_block_variable ( const char *  text,
const char *  var_name,
int  type,
int  index 
)

Add a variable to the block variable array rather than the Sexp_variables array

Definition at line 28913 of file sexp.cpp.

void add_nav_ship ( int  node)

Definition at line 19368 of file sexp.cpp.

void add_nav_waypoint ( char *  nav,
char *  WP_path,
int  vert,
char *  oswpt_name 
)

Definition at line 19262 of file sexp.cpp.

void add_nav_waypoint ( int  node)

Definition at line 19307 of file sexp.cpp.

int add_sexps ( int  n)

Definition at line 4007 of file sexp.cpp.

void add_to_event_log_buffer ( int  op_num,
int  result 
)

Checks the mission logs flags for this event and writes to the log if this has been asked for

Definition at line 22838 of file sexp.cpp.

int alloc_sexp ( char *  text,
int  type,
int  subtype,
int  first,
int  rest 
)

Allocate an sexp node.

Definition at line 1123 of file sexp.cpp.

void alter_flag_for_all_ships ( bool  future_ships,
int  object_flag,
int  object_flag2,
int  ship_flag,
int  ship_flag2,
int  parse_obj_flag,
int  parse_obj_flag2,
int  ai_flag,
int  ai_flag2,
bool  set_flag 
)

Definition at line 13088 of file sexp.cpp.

int audio_volume_option_lookup ( char *  text)

Definition at line 10514 of file sexp.cpp.

int avg_sexp ( int  n)

Definition at line 4181 of file sexp.cpp.

void build_extended_sexp_string ( SCP_string accumulator,
int  cur_node,
int  level,
int  mode 
)

Definition at line 3870 of file sexp.cpp.

int build_sexp_string ( SCP_string accumulator,
int  cur_node,
int  level,
int  mode 
)

Definition at line 3839 of file sexp.cpp.

int category_of_subcategory ( int  subcategory_id)

Definition at line 29623 of file sexp.cpp.

int check_operator_argument_count ( int  count,
int  op 
)

Needed to fix bug with sexps like send-message list which have arguments that need to be supplied as a block

Returns
0 if the number of arguments for the supplied operation is wrong, 1 otherwise.

Definition at line 1640 of file sexp.cpp.

int check_sexp_syntax ( int  node,
int  return_type,
int  recursive,
int bad_node,
int  mode 
)

Check SEXP syntax

Returns
0 if ok, negative if there's an error in expression.. See the returns types in sexp.h

Definition at line 1658 of file sexp.cpp.

int cmp_sexp_chains ( int  node1,
int  node2 
)

Compare SEXP chains

Returns
1 if they are the same, 0 if different

Definition at line 1408 of file sexp.cpp.

void convert_sexp_to_string ( SCP_string dest,
int  cur_node,
int  mode 
)

Definition at line 3904 of file sexp.cpp.

int count_free_sexp_nodes ( )

Definition at line 1176 of file sexp.cpp.

char* CTEXT ( int  n)

Wrapper around Sexp_node[xx].text for normal and variable

Definition at line 28821 of file sexp.cpp.

void current_log_to_backup_log_buffer ( )

Definition at line 22726 of file sexp.cpp.

dc_printf ( "SEXP '%s run)
dc_stuff_string ( sexp  )
DCF ( sexp  ,
"Runs the given sexp  
)

Definition at line 25573 of file sexp.cpp.

void del_nav ( int  node)

Definition at line 19399 of file sexp.cpp.

int distance_to_nav ( int  node)

Definition at line 19528 of file sexp.cpp.

int div_sexps ( int  n)

Definition at line 4078 of file sexp.cpp.

void do_action_for_each_special_argument ( int  cur_node)

Definition at line 8169 of file sexp.cpp.

void do_preload_for_arguments ( void(*)(char *)  preloader,
int  arg_node,
int  arg_handler_node 
)

Definition at line 3233 of file sexp.cpp.

int dup_sexp_chain ( int  node)
Todo:
CASE OF SEXP VARIABLES - ONLY 1 COPY OF VARIABLE

Definition at line 1379 of file sexp.cpp.

int eval_any_of ( int  arg_handler_node,
int  condition_node 
)

Definition at line 8724 of file sexp.cpp.

int eval_cond ( int  n)

Evaluate the conditional

Definition at line 8514 of file sexp.cpp.

int eval_every_of ( int  arg_handler_node,
int  condition_node 
)

Definition at line 8745 of file sexp.cpp.

int eval_for_counter ( int  arg_handler_node,
int  condition_node 
)

Definition at line 8950 of file sexp.cpp.

int eval_in_sequence ( int  arg_handler_node,
int  condition_node 
)

Definition at line 8888 of file sexp.cpp.

int eval_num ( int  n)

Evaluate number which may result from an operator or may be text

Definition at line 29585 of file sexp.cpp.

int eval_number_of ( int  arg_handler_node,
int  condition_node 
)

Definition at line 8766 of file sexp.cpp.

int eval_perform_actions ( int  n)

This is like using when, but it takes a lot of shortcuts. It's clearer just to separate it out into its own function, especially since it's not supposed to start a new level of special argument handling, like eval_when would do. It's a lot like the original retail version of eval_when!

Definition at line 8365 of file sexp.cpp.

int eval_random_of ( int  arg_handler_node,
int  condition_node,
bool  multiple 
)

Definition at line 8796 of file sexp.cpp.

int eval_sexp ( int  cur_node,
int  referenced_node 
)

High-level sexpression evaluator

Definition at line 22894 of file sexp.cpp.

int eval_when ( int  n,
int  when_op_num 
)

Evaluates the when conditional

Note
Goober5000 - added capability for arguments
Goober5000 - and also if-then-else and perform-actions

Definition at line 8401 of file sexp.cpp.

void eval_when_do_all_exp ( int  all_actions,
int  when_op_num 
)

Definition at line 8294 of file sexp.cpp.

void eval_when_do_one_exp ( int  exp)

Definition at line 8232 of file sexp.cpp.

void eval_when_for_each_special_argument ( int  cur_node)

Definition at line 8138 of file sexp.cpp.

int extract_sexp_variable_index ( int  node)

Definition at line 28790 of file sexp.cpp.

int find_argnum ( int  parent,
int  arg 
)

Find argument number

Definition at line 1539 of file sexp.cpp.

int find_free_sexp ( )

Find the next free sexp and return its index.

Definition at line 1200 of file sexp.cpp.

int find_parent_operator ( int  node)

Find node of operator that item is an argument of.

Definition at line 1476 of file sexp.cpp.

int find_sexp_list ( int  num)

Find the index of the list associated with an operator

Definition at line 1459 of file sexp.cpp.

void flush_sexp_tree ( int  node)

Reset the status of all the nodes in a tree, forcing them to all be evaulated again.

Definition at line 1342 of file sexp.cpp.

int free_one_sexp ( int  num)

Free up the specified sexp node, Leaves link chains untouched.

Definition at line 1262 of file sexp.cpp.

int free_sexp ( int  num)

Free a used sexp node, so it can be reused later.

Should only be called on an atom or a list, and not an operator. If on a list, the list and everything in it will be freed (including the operator).

Definition at line 1281 of file sexp.cpp.

int free_sexp2 ( int  num)

Free up an entire sexp tree.

Because the root node is an operator, instead of a list, we can't simply call free_sexp(). This function should only be called on the root node of an sexp, otherwise the linking will get screwed up.

Definition at line 1321 of file sexp.cpp.

void game_start_subspace_ambient_sound ( )

Definition at line 704 of file fred.cpp.

void game_stop_subspace_ambient_sound ( )

Definition at line 705 of file fred.cpp.

int generate_event_log_flags_mask ( int  result)

Definition at line 22676 of file sexp.cpp.

bool generate_special_explosion_block_variables ( )

Definition at line 3726 of file sexp.cpp.

void get_cap_subsys_cargo_flags ( int  shipnum,
char *  subsys_name,
int known,
fix time_revealed 
)

Definition at line 7869 of file sexp.cpp.

int get_category ( int  sexp_id)

Definition at line 29611 of file sexp.cpp.

float get_damage_caused ( int  damaged_ship,
int  attacker 
)
Todo:
Add code to check the damage ships which have exited have taken

Definition at line 7478 of file sexp.cpp.

int get_effect_from_name ( char *  name)

Definition at line 22454 of file sexp.cpp.

int get_generic_subsys ( char *  subsys_name)

Returns the subsystem type if the name of a subsystem is actually a generic type (e.g <all engines> or <all turrets>

Definition at line 22636 of file sexp.cpp.

int get_handler_for_x_of_operator ( int  node)

Definition at line 9139 of file sexp.cpp.

int get_index_sexp_variable_from_node ( int  node)

Given a sexp node return the index of the variable at that node, -1 if not found

Definition at line 29303 of file sexp.cpp.

int get_index_sexp_variable_name ( const char *  text)

Return index of sexp_variable_name, -1 if not found

Definition at line 29324 of file sexp.cpp.

int get_index_sexp_variable_name ( SCP_string text)

Return index of sexp_variable_name, -1 if not found

Definition at line 29342 of file sexp.cpp.

int get_index_sexp_variable_name_special ( const char *  startpos)

Definition at line 29359 of file sexp.cpp.

int get_index_sexp_variable_name_special ( SCP_string text,
size_t  startpos 
)

Definition at line 29377 of file sexp.cpp.

int get_nth_variable_index ( int  nth,
int  variable_type 
)

Definition at line 29471 of file sexp.cpp.

int get_operator_const ( const char *  token)

From an operator name, return its constant (the number it was define'd with)

Definition at line 1595 of file sexp.cpp.

int get_operator_const ( int  node)

Definition at line 1605 of file sexp.cpp.

int get_operator_index ( const char *  token)

From an operator name, return its index in the array Operators

Definition at line 1561 of file sexp.cpp.

int get_operator_index ( int  node)

From a sexp node, return the index in the array Operators or NOT_A_SEXP_OPERATOR if not an operator

Definition at line 1578 of file sexp.cpp.

player * get_player_from_ship_node ( int  node,
bool  test_respawns 
)

Takes a SEXP node which contains the name of a ship and returns the player for that ship or NULL if it is an AI ship

Definition at line 3922 of file sexp.cpp.

int get_sexp ( )

Returns the first sexp index of data this function allocates. (start of this sexp)

NOTE: On entry into this function, Mp points to the first character past the opening parenthesis.

Definition at line 3295 of file sexp.cpp.

int get_sexp_id ( char *  sexp_name)

Definition at line 29600 of file sexp.cpp.

int get_sexp_main ( void  )

Definition at line 25494 of file sexp.cpp.

void get_sexp_text_for_variable ( char *  text,
char *  token 
)

Get text to stuff into Sexp_node in case of variable

If Fred_running - stuff Sexp_variables[].variable_name otherwise - stuff index into Sexp_variables array.

Definition at line 3218 of file sexp.cpp.

int get_subcategory ( int  sexp_id)

Definition at line 29635 of file sexp.cpp.

void get_unformatted_sexp_variable_name ( char *  unformatted,
char *  formatted_pre 
)

Definition at line 3194 of file sexp.cpp.

bool has_special_explosion_block_index ( ship shipp,
int index 
)

Definition at line 3703 of file sexp.cpp.

void hide_nav ( int  node)

Definition at line 19451 of file sexp.cpp.

int hud_gauge_type_lookup ( char *  name)

Definition at line 10004 of file sexp.cpp.

if ( dc_optional_string_either("help","--help")  )

Definition at line 25559 of file sexp.cpp.

void init_sexp ( )

Definition at line 1090 of file sexp.cpp.

void init_sexp_vars ( )

Set all Sexp_variables to type uninitialized

Definition at line 28902 of file sexp.cpp.

int insert_subsys_status ( p_object pobjp)

Definition at line 7280 of file missionparse.cpp.

bool is_blank_argument_op ( int  op_const)

Definition at line 9167 of file sexp.cpp.

bool is_blank_of_op ( int  op_const)

Definition at line 9181 of file sexp.cpp.

int is_nav_linked ( int  node)

Definition at line 19512 of file sexp.cpp.

int is_nav_visited ( int  node)

Definition at line 19502 of file sexp.cpp.

bool is_sexp_node_numeric ( int  node)

Definition at line 29075 of file sexp.cpp.

int is_sexp_top_level ( int  node)

Determine if an sexpression node is the top level node of an sexpression tree.

Top level nodes do not have their node id in anyone elses first or rest index.

Definition at line 1515 of file sexp.cpp.

int is_sexp_true ( int  cur_node,
int  referenced_node 
)

Definition at line 22665 of file sexp.cpp.

int max_sexp ( int  n)

Definition at line 4163 of file sexp.cpp.

void maybe_write_previous_event_to_log ( int  result)

Definition at line 22738 of file sexp.cpp.

void maybe_write_to_event_log ( int  result)

Checks the mission logs flags for this event and writes to the log if this has been asked for

Definition at line 22769 of file sexp.cpp.

int min_sexp ( int  n)

Definition at line 4145 of file sexp.cpp.

int mod_sexps ( int  n)

Definition at line 4103 of file sexp.cpp.

int mul_sexps ( int  n)

Definition at line 4059 of file sexp.cpp.

void multi_add_nav_ship ( )

Definition at line 19380 of file sexp.cpp.

void multi_del_nav ( )

Definition at line 19410 of file sexp.cpp.

void multi_sexp_add_nav_waypoint ( )

Definition at line 19336 of file sexp.cpp.

void multi_sexp_add_remove_escort ( )

Definition at line 18575 of file sexp.cpp.

void multi_sexp_alter_ship_flag ( )

Definition at line 13337 of file sexp.cpp.

void multi_sexp_change_ship_class ( )

Definition at line 16497 of file sexp.cpp.

void multi_sexp_change_soundtrack ( )

Definition at line 10152 of file sexp.cpp.

void multi_sexp_change_subsystem_name ( )

Definition at line 16409 of file sexp.cpp.

void multi_sexp_change_team_color ( )

Definition at line 22576 of file sexp.cpp.

void multi_sexp_clear_subtitles ( )

Definition at line 21527 of file sexp.cpp.

void multi_sexp_close_sound_from_file ( )

Definition at line 10330 of file sexp.cpp.

void multi_sexp_deal_with_ship_flag ( )

Definition at line 12814 of file sexp.cpp.

void multi_sexp_deal_with_subsys_flag ( int  ss_flag)

Definition at line 14326 of file sexp.cpp.

void multi_sexp_eval ( )

Only runs on the client machines not the server. Evaluates the contents of a SEXP packet and calls the relevent multi_sexp_x function(s).

Definition at line 25196 of file sexp.cpp.

void multi_sexp_fade ( bool  fade_in)

Definition at line 20822 of file sexp.cpp.

void multi_sexp_flash_hud_gauge ( )

Definition at line 20631 of file sexp.cpp.

void multi_sexp_hud_disable ( )

Definition at line 9782 of file sexp.cpp.

void multi_sexp_hud_disable_except_messages ( )

Definition at line 9802 of file sexp.cpp.

void multi_sexp_hud_display_gauge ( )

Definition at line 10066 of file sexp.cpp.

void multi_sexp_hud_set_max_targeting_range ( )

Definition at line 9957 of file sexp.cpp.

void multi_sexp_ignore_key ( )

Definition at line 15142 of file sexp.cpp.

void multi_sexp_modify_variable ( )

Definition at line 29009 of file sexp.cpp.

void multi_sexp_pause_sound_from_file ( )

Definition at line 10404 of file sexp.cpp.

void multi_sexp_play_sound_from_file ( )

Definition at line 10378 of file sexp.cpp.

void multi_sexp_play_sound_from_table ( )

Definition at line 10294 of file sexp.cpp.

void multi_sexp_remove_weapons ( )

Definition at line 19769 of file sexp.cpp.

void multi_sexp_reset_camera ( )

Definition at line 21413 of file sexp.cpp.

void multi_sexp_reset_fov ( )

Definition at line 21386 of file sexp.cpp.

void multi_sexp_reset_time_compression ( )

Definition at line 21893 of file sexp.cpp.

void multi_sexp_script_eval_multi ( )

Definition at line 22262 of file sexp.cpp.

void multi_sexp_send_training_message ( )

Definition at line 15579 of file sexp.cpp.

void multi_sexp_set_ambient_light ( )

Definition at line 16756 of file sexp.cpp.

void multi_sexp_set_camera_facing ( )

Definition at line 21059 of file sexp.cpp.

void multi_sexp_set_camera_facing_object ( )

Definition at line 21145 of file sexp.cpp.

void multi_sexp_set_camera_fov ( )

Definition at line 21202 of file sexp.cpp.

void multi_sexp_set_camera_position ( )

Definition at line 20924 of file sexp.cpp.

void multi_sexp_set_camera_rotation ( )

Definition at line 20993 of file sexp.cpp.

void multi_sexp_set_camera_shudder ( )

Definition at line 21940 of file sexp.cpp.

void multi_sexp_set_camera_target ( )

Definition at line 21311 of file sexp.cpp.

void multi_sexp_set_countermeasures ( )

Definition at line 16320 of file sexp.cpp.

void multi_sexp_set_energy_pct ( )

Definition at line 5825 of file sexp.cpp.

void multi_sexp_set_ets_values ( )

Definition at line 15711 of file sexp.cpp.

void multi_sexp_set_fov ( )

Definition at line 21345 of file sexp.cpp.

void multi_sexp_set_jumpnode_color ( )

Definition at line 22016 of file sexp.cpp.

void multi_sexp_set_jumpnode_model ( )

Definition at line 22059 of file sexp.cpp.

void multi_sexp_set_jumpnode_name ( )

Definition at line 21972 of file sexp.cpp.

void multi_sexp_set_object_position ( )

Definition at line 7015 of file sexp.cpp.

void multi_sexp_set_object_speed ( )

Definition at line 6716 of file sexp.cpp.

void multi_sexp_set_persona ( )

Definition at line 13607 of file sexp.cpp.

void multi_sexp_set_respawns ( )

Definition at line 19715 of file sexp.cpp.

void multi_sexp_set_time_compression ( )

Definition at line 21868 of file sexp.cpp.

void multi_sexp_set_turret_primary_ammo ( )

Definition at line 18126 of file sexp.cpp.

void multi_sexp_set_turret_secondary_ammo ( )

Definition at line 18275 of file sexp.cpp.

void multi_sexp_ship_change_callsign ( )

Definition at line 15027 of file sexp.cpp.

void multi_sexp_show_hide_jumpnode ( bool  show)

Definition at line 22097 of file sexp.cpp.

void multi_sexp_show_subtitle_image ( )

Definition at line 21810 of file sexp.cpp.

void multi_sexp_show_subtitle_text ( )

Definition at line 21682 of file sexp.cpp.

void multi_sexp_toggle_cutscene_bars ( int  set)

Definition at line 20710 of file sexp.cpp.

int num_block_variables ( )

Definition at line 3777 of file sexp.cpp.

void object_ship_wing_point_team_set_ship ( object_ship_wing_point_team oswpt,
ship shipp,
bool  set_parse_flag_too 
)

Definition at line 4695 of file sexp.cpp.

void object_ship_wing_point_team_set_ship ( object_ship_wing_point_team oswpt,
ship_obj so,
bool  set_parse_flag_too 
)

Definition at line 4710 of file sexp.cpp.

bool output_sexps ( char *  filepath)

Output sexp.html file

Definition at line 33901 of file sexp.cpp.

void parse_copy_damage ( p_object target_pobjp,
ship source_shipp 
)

Definition at line 16569 of file sexp.cpp.

int pow_sexp ( int  node)

Definition at line 4197 of file sexp.cpp.

void preload_change_ship_class ( char *  text)

Definition at line 3260 of file sexp.cpp.

void preload_turret_change_weapon ( char *  text)

Definition at line 3279 of file sexp.cpp.

int process_special_sexps ( int  index)

Definition at line 20142 of file sexp.cpp.

int query_node_in_sexp ( int  node,
int  sexp 
)

Determine if an sexp node is within the given sexp chain.

Definition at line 1437 of file sexp.cpp.

int query_operator_argument_type ( int  op,
int  argnum 
)

Return the data type of a specified argument to an operator.

Parameters
opoperator index
argnumis 0 indexed.

Definition at line 26169 of file sexp.cpp.

int query_operator_return_type ( int  op)

Definition at line 25589 of file sexp.cpp.

int query_referenced_in_sexp ( int  mode,
char *  name,
int node 
)

Definition at line 28382 of file sexp.cpp.

int query_sexp_ai_goal_valid ( int  sexp_ai_goal,
int  ship_num 
)

Definition at line 28771 of file sexp.cpp.

int query_sexp_args_count ( int  node,
bool  only_valid_args = false 
)

Definition at line 1619 of file sexp.cpp.

int rand_internal ( int  low,
int  high,
int  seed = 0 
)

Definition at line 4122 of file sexp.cpp.

int rand_sexp ( int  n,
bool  multiple 
)

Definition at line 4315 of file sexp.cpp.

void restrict_nav ( int  node)

Definition at line 19459 of file sexp.cpp.

int run_sexp ( const char *  sexpression)

Definition at line 25528 of file sexp.cpp.

void select_nav ( int  node)

Definition at line 19534 of file sexp.cpp.

void set_nav_carry_status ( int  node)

Definition at line 19129 of file sexp.cpp.

void set_nav_needslink ( int  node)

Definition at line 19212 of file sexp.cpp.

void set_nav_visited ( int  node)

Definition at line 19484 of file sexp.cpp.

void set_object_for_clients ( object objp)

Definition at line 6918 of file sexp.cpp.

void set_primary_ammo ( int  ship_index,
int  requested_bank,
int  requested_ammo,
int  rearm_limit,
bool  update 
)

Definition at line 15983 of file sexp.cpp.

void set_secondary_ammo ( int  ship_index,
int  requested_bank,
int  requested_ammo,
int  rearm_limit,
bool  update 
)

Definition at line 16131 of file sexp.cpp.

void set_turret_primary_ammo ( ship_subsys turret,
int  requested_bank,
int  requested_ammo,
bool  update 
)

Definition at line 18141 of file sexp.cpp.

void set_turret_secondary_ammo ( ship_subsys turret,
int  requested_bank,
int  requested_ammo,
bool  update 
)

Definition at line 18290 of file sexp.cpp.

void set_use_ap ( int  node)

Definition at line 19437 of file sexp.cpp.

void set_use_ap_cinematics ( int  node)

Definition at line 19423 of file sexp.cpp.

void sexp_activate_deactivate_glow_maps ( int  n,
int  activate 
)

Definition at line 16692 of file sexp.cpp.

void sexp_activate_deactivate_glow_point_bank ( int  n,
bool  activate 
)

Definition at line 16673 of file sexp.cpp.

void sexp_activate_deactivate_glow_points ( int  n,
bool  activate 
)

Definition at line 16656 of file sexp.cpp.

void sexp_add_array_block_variable ( int  index,
bool  is_numeric 
)

Definition at line 28954 of file sexp.cpp.

void sexp_add_background_bitmap ( int  n)

Definition at line 12086 of file sexp.cpp.

void sexp_add_goal ( int  n)

Adds a goal to the specified entry (ships and wings have unique names between the two sets).

Definition at line 9672 of file sexp.cpp.

void sexp_add_remove_escort ( int  node)

Definition at line 18544 of file sexp.cpp.

void sexp_add_ship_goal ( int  n)

Definition at line 9638 of file sexp.cpp.

void sexp_add_sun_bitmap ( int  n)

Definition at line 12184 of file sexp.cpp.

int sexp_add_variable ( const char *  text,
const char *  var_name,
int  type,
int  index 
)

Add a Sexp_variable to be used in a mission.

This should be called from within mission parse.

Definition at line 28929 of file sexp.cpp.

void sexp_add_wing_goal ( int  n)

Definition at line 9654 of file sexp.cpp.

void sexp_adjust_audio_volume ( int  node)

Definition at line 10532 of file sexp.cpp.

void sexp_allow_ship ( int  n)

Set variables needed to grant a new ship/weapon to the player during the course of a mission

Definition at line 12624 of file sexp.cpp.

void sexp_allow_treason ( int  n)

Definition at line 10085 of file sexp.cpp.

void sexp_allow_weapon ( int  n)

Definition at line 12643 of file sexp.cpp.

void sexp_alter_ship_flag ( int  node)

Definition at line 13234 of file sexp.cpp.

void sexp_alter_ship_flag_helper ( object_ship_wing_point_team oswpt,
bool  future_ships,
int  object_flag,
int  object_flag2,
int  ship_flag,
int  ship_flag2,
int  parse_obj_flag,
int  parse_obj_flag2,
int  ai_flag,
int  ai_flag2,
bool  set_flag 
)

sets flags on objects from alter-ship-flag

Note
this function has a similar purpose to sexp_deal_with_ship_flag; make sure you check/update both

Definition at line 12921 of file sexp.cpp.

int sexp_and ( int  n)

Definition at line 4407 of file sexp.cpp.

int sexp_and_in_sequence ( int  n)

Definition at line 4450 of file sexp.cpp.

int sexp_are_ship_flags_set ( int  node)

Definition at line 13177 of file sexp.cpp.

int sexp_are_waypoints_done ( int  n)

Determine if a ship is done flying waypoints

Definition at line 5147 of file sexp.cpp.

int sexp_are_waypoints_done_delay ( int  node)

Determine if a ship is done flying waypoints after N seconds

Definition at line 5488 of file sexp.cpp.

void sexp_awacs_set_radius ( int  node)

Definition at line 19074 of file sexp.cpp.

void sexp_beam_fire ( int  node,
bool  at_coords 
)

Definition at line 16868 of file sexp.cpp.

void sexp_beam_floating_fire ( int  n)

Definition at line 16982 of file sexp.cpp.

void sexp_beam_free ( int  node)

Definition at line 17077 of file sexp.cpp.

void sexp_beam_free_all ( int  node)

Definition at line 17131 of file sexp.cpp.

void sexp_beam_lock ( int  node)

Definition at line 17165 of file sexp.cpp.

void sexp_beam_lock_all ( int  node)

Definition at line 17192 of file sexp.cpp.

void sexp_beam_protect_ships ( int  n,
bool  flag 
)

Protects/unprotects a ship from beams.

Parameters
nSexp node number
flagWhether or not the protect bit should be set (flag==true) or cleared (flag==false)

Definition at line 14129 of file sexp.cpp.

int sexp_bitwise_and ( int  node)

Definition at line 4278 of file sexp.cpp.

int sexp_bitwise_not ( int  node)

Definition at line 4300 of file sexp.cpp.

int sexp_bitwise_or ( int  node)

Definition at line 4289 of file sexp.cpp.

int sexp_bitwise_xor ( int  node)

Definition at line 4309 of file sexp.cpp.

int sexp_calculate_angle ( matrix orient,
int  axis 
)

Definition at line 6805 of file sexp.cpp.

int sexp_calculate_coordinate ( vec3d origin,
matrix orient,
vec3d relative_location,
int  axis 
)

Definition at line 6783 of file sexp.cpp.

void sexp_call_ssm_strike ( int  node)

Definition at line 22598 of file sexp.cpp.

object* sexp_camera_get_objsub ( int  node,
int o_submodel 
)

Definition at line 21223 of file sexp.cpp.

int sexp_campaign_persistent_variable_count ( )

Count number of campaign-persistent sexp_variables that are set

Definition at line 29506 of file sexp.cpp.

int sexp_cap_subsys_cargo_known_delay ( int  n)

Definition at line 7888 of file sexp.cpp.

void sexp_cap_waypoint_speed ( int  n)

Definition at line 11886 of file sexp.cpp.

void sexp_cargo_no_deplete ( int  n)

Definition at line 12006 of file sexp.cpp.

void sexp_change_ai_class ( int  n)

Definition at line 9581 of file sexp.cpp.

void sexp_change_all_argument_validity ( int  n,
bool  invalidate 
)

Definition at line 9008 of file sexp.cpp.

void sexp_change_argument_validity ( int  n,
bool  invalidate 
)

Definition at line 9064 of file sexp.cpp.

void sexp_change_goal_validity ( int  n,
int  flag 
)

Changes the validity of a goal.

The flag paramater tells us whether to mark the goals as valid or invalid

Definition at line 11631 of file sexp.cpp.

void sexp_change_iff ( int  n)

Definition at line 9296 of file sexp.cpp.

void sexp_change_iff_color ( int  n)

Definition at line 9366 of file sexp.cpp.

void sexp_change_player_score ( int  node)

Definition at line 12445 of file sexp.cpp.

void sexp_change_ship_class ( int  n)

Definition at line 16427 of file sexp.cpp.

void sexp_change_soundtrack ( int  n)

Definition at line 10141 of file sexp.cpp.

void sexp_change_subsystem_name ( int  node)

Definition at line 16357 of file sexp.cpp.

void sexp_change_team_color ( int  n)

Definition at line 22538 of file sexp.cpp.

void sexp_change_team_score ( int  node)

Definition at line 12485 of file sexp.cpp.

bool sexp_check_flag_arrays ( char *  flag_name,
int object_flag,
int object_flag2,
int ship_flags,
int ship_flags2,
int parse_obj_flag,
int parse_obj_flag2,
int ai_flag,
int ai_flag2 
)

Definition at line 13113 of file sexp.cpp.

void sexp_clear_goals ( int  n)

Clear all AI goals for the given ship or wing

Definition at line 9754 of file sexp.cpp.

void sexp_clear_ship_goals ( int  n)

Clear out all AI goals for a ship

Definition at line 9722 of file sexp.cpp.

void sexp_clear_subtitles ( )

Definition at line 21520 of file sexp.cpp.

void sexp_clear_wing_goals ( int  n)

Clear out AI goals for a wing

Definition at line 9738 of file sexp.cpp.

void sexp_close_sound_from_file ( int  n)

Definition at line 10318 of file sexp.cpp.

void sexp_copy_variable_between_indexes ( int  node)

Definition at line 29234 of file sexp.cpp.

void sexp_copy_variable_from_index ( int  node)

Definition at line 29183 of file sexp.cpp.

int sexp_current_speed ( int  n)

Gets the current speed of the specified object

Uses a lot of code shamelessly ripped from get_object_coordinates

Definition at line 4943 of file sexp.cpp.

void sexp_damage_escort_list ( int  node)

Definition at line 18596 of file sexp.cpp.

void sexp_damage_escort_list_all ( int  n)

Definition at line 18998 of file sexp.cpp.

void sexp_deal_with_afterburner_lock ( int  node,
bool  lock 
)

Definition at line 16335 of file sexp.cpp.

void sexp_deal_with_primary_lock ( int  node,
bool  lock 
)

Definition at line 16342 of file sexp.cpp.

void sexp_deal_with_secondary_lock ( int  node,
bool  lock 
)

Definition at line 16349 of file sexp.cpp.

void sexp_deal_with_ship_flag ( int  node,
bool  process_subsequent_nodes,
int  object_flag,
int  object_flag2,
int  ship_flag,
int  ship_flag2,
int  p_object_flag,
int  p_object_flag2,
bool  set_it,
bool  send_multiplayer = false,
bool  include_players_in_ship_lookup = false 
)

generic function for all those sexps that set flags

Note
this function has a similar purpose to sexp_alter_ship_flag_helper; make sure you check/update both

Definition at line 12667 of file sexp.cpp.

void sexp_deal_with_warp ( int  n,
bool  repairable,
bool  damage_it 
)

Definition at line 13433 of file sexp.cpp.

void sexp_debug ( int  node)

Definition at line 20561 of file sexp.cpp.

int sexp_depart_node_delay ( int  n)

Determine if a list of ships has departed from within a radius of a given jump node.

Returns
true N seconds after the list of ships have departed

Definition at line 7640 of file sexp.cpp.

void sexp_destroy_instantly ( int  n)

Definition at line 14752 of file sexp.cpp.

void sexp_destroy_subsys_instantly ( int  n)

Definition at line 11560 of file sexp.cpp.

int sexp_destroyed_departed_delay ( int  n)

Returns true when the listed ships/wings have all been destroyed or have departed.

Definition at line 7685 of file sexp.cpp.

int sexp_determine_team ( char *  subj)

Definition at line 6277 of file sexp.cpp.

int sexp_directive_value ( int  n)

Definition at line 6248 of file sexp.cpp.

void sexp_disable_ets ( int  n,
bool  disable 
)

Definition at line 14170 of file sexp.cpp.

int sexp_distance ( int  n)

Returns the distance between two objects.

If a wing is specified as one (or both) of the arguments to this function, we are looking for the closest distance

Definition at line 6391 of file sexp.cpp.

int sexp_distance2 ( object objp1,
object_ship_wing_point_team oswpt2 
)

Check distance between a given ship and a given subject (ship, wing, any <team>).

Definition at line 6320 of file sexp.cpp.

int sexp_distance3 ( object objp1,
object objp2 
)

Check distance between two given objects

Definition at line 6298 of file sexp.cpp.

int sexp_distance_subsystem ( int  n)

Returns the distance between an object and a ship subsystem.

If a wing is specified as the object argument to this function, we are looking for the closest distance

Definition at line 6502 of file sexp.cpp.

void sexp_dont_collide_invisible ( int  n,
bool  dont_collide 
)

Definition at line 14158 of file sexp.cpp.

void sexp_end_campaign ( int  n)

Definition at line 11183 of file sexp.cpp.

void sexp_end_mission ( int  n)

End the mission.

Implemented by Sesquipedalian; fixed by EdrickV; enhanced by others

Definition at line 12320 of file sexp.cpp.

void sexp_end_of_campaign ( int  n)

Deal with the end-of-campaign sexpression.

Definition at line 11171 of file sexp.cpp.

int sexp_engine_recharge_pct ( int  node)

Definition at line 15609 of file sexp.cpp.

char* sexp_error_message ( int  num)

Definition at line 28570 of file sexp.cpp.

int sexp_event_delay_status ( int  n,
int  want_true,
bool  use_msecs = false 
)

Return the status of an event N seconds after the event is true or false.

Similar to above function but waits N seconds before returning true

Definition at line 13967 of file sexp.cpp.

int sexp_event_incomplete ( int  n)

Returns true if the given event is still incomplete

Definition at line 14037 of file sexp.cpp.

int sexp_event_status ( int  n,
int  want_true 
)

Return the status of an event in the current mission.

Parameters
nSexp node number
want_trueindicates if we are checking whether the event is true or the event is false.

Definition at line 13928 of file sexp.cpp.

void sexp_exchange_cargo ( int  n)

Exchanges cargo between two ships

Definition at line 11860 of file sexp.cpp.

void sexp_explosion_effect ( int  n)

Definition at line 10660 of file sexp.cpp.

int sexp_explosion_option_lookup ( char *  text)

Definition at line 10557 of file sexp.cpp.

int sexp_facing ( int  node)

Definition at line 15327 of file sexp.cpp.

int sexp_facing2 ( int  node)

Definition at line 15423 of file sexp.cpp.

void sexp_fade ( bool  fade_in,
int  duration,
ubyte  R,
ubyte  G,
ubyte  B 
)

Definition at line 20719 of file sexp.cpp.

void sexp_fade ( int  n,
bool  fade_in 
)

Definition at line 20739 of file sexp.cpp.

void sexp_field_set_damage_type ( int  node)

Definition at line 17713 of file sexp.cpp.

void sexp_flash_hud_gauge ( int  node)

Definition at line 20612 of file sexp.cpp.

void sexp_force_glide ( int  node)

Definition at line 22291 of file sexp.cpp.

void sexp_force_jump ( )

Definition at line 12042 of file sexp.cpp.

void sexp_force_perspective ( int  n)

Definition at line 21901 of file sexp.cpp.

void sexp_fred_modify_variable ( const char *  text,
const char *  var_name,
int  index,
int  type 
)

Definition at line 29289 of file sexp.cpp.

void sexp_friendly_stealth_invisible ( int  n,
bool  invisible 
)

Definition at line 14228 of file sexp.cpp.

int sexp_get_colgroup ( int  node)

Definition at line 22446 of file sexp.cpp.

int sexp_get_countermeasures ( int  node)

Definition at line 16279 of file sexp.cpp.

int sexp_get_damage_caused ( int  node)

Definition at line 7512 of file sexp.cpp.

int sexp_get_energy_pct ( int  node,
int  op_num 
)

Definition at line 5854 of file sexp.cpp.

int sexp_get_ets_value ( int  node)

retrieve one ETS index from a ship

Definition at line 15646 of file sexp.cpp.

int sexp_get_fov ( )

Definition at line 21359 of file sexp.cpp.

int sexp_get_object_angle ( int  n,
int  axis 
)

Definition at line 6897 of file sexp.cpp.

int sexp_get_object_coordinate ( int  n,
int  axis 
)

Definition at line 6833 of file sexp.cpp.

void sexp_get_object_ship_wing_point_team ( object_ship_wing_point_team oswpt,
char *  object_name,
bool  set_parse_flag_too = false 
)

Definition at line 4717 of file sexp.cpp.

int sexp_get_object_speed ( object objp,
int  axis,
int  subjective 
)

Definition at line 6729 of file sexp.cpp.

int sexp_get_object_speed ( int  n,
int  axis 
)

Definition at line 6750 of file sexp.cpp.

int sexp_get_primary_ammo ( int  node)

Definition at line 15887 of file sexp.cpp.

int sexp_get_real_speed ( object obj)

Gets the 'real' speed of an object, taking into account docking

Definition at line 4933 of file sexp.cpp.

char* sexp_get_result_as_text ( int  result)

Returns the constant used as a SEXP's result as text for printing to the event log

Definition at line 22803 of file sexp.cpp.

int sexp_get_secondary_ammo ( int  node)

Definition at line 16045 of file sexp.cpp.

camera* sexp_get_set_camera ( bool  reset = false)

Definition at line 20837 of file sexp.cpp.

ship * sexp_get_ship_from_node ( int  node)

Given a node, returns a pointer to the ship or NULL if this isn't the name of a ship

Definition at line 3967 of file sexp.cpp.

int sexp_get_sound_index ( int  node)

Definition at line 10227 of file sexp.cpp.

bool sexp_get_subsystem_world_pos ( vec3d subsys_world_pos,
int  shipnum,
char *  subsys_name 
)

Locate the subsystem on a ship - Goober5000

Switched to a boolean so that it can report failure to do so

Definition at line 6470 of file sexp.cpp.

int sexp_get_throttle_speed ( int  node)

Definition at line 15220 of file sexp.cpp.

int sexp_get_turret_primary_ammo ( int  node)

Definition at line 18019 of file sexp.cpp.

int sexp_get_turret_secondary_ammo ( int  node)

Definition at line 18174 of file sexp.cpp.

int sexp_get_variable_by_index ( int  node)

Definition at line 29147 of file sexp.cpp.

int sexp_goal_delay_status ( int  n,
int  want_true 
)

Return the status of an goal N seconds after the goal is true or false.

Similar to above function but operates on goals instead of events

Definition at line 14068 of file sexp.cpp.

int sexp_goal_incomplete ( int  n)

Returns true if the given goal is still incomplete

Definition at line 14100 of file sexp.cpp.

void sexp_good_secondary_time ( int  n)

Tell the AI when it is okay to fire certain secondary weapons at other ships.

Definition at line 13462 of file sexp.cpp.

void sexp_good_time_to_rearm ( int  n)

Toggle the status bit for the AI code which tells the AI if it is a good time to rearm.

The status being set means good time. Status not being set (unset), means bad time. Designers must implement this.

Definition at line 12380 of file sexp.cpp.

void sexp_grant_medal ( int  n)

Gives the named medal to the players in the mission

Definition at line 12410 of file sexp.cpp.

void sexp_grant_promotion ( )

Grants promotion to the player

Definition at line 12393 of file sexp.cpp.

int sexp_has_arrived ( int  n,
fix latest_time 
)

Determine if a ship has arrived onto the scene

Definition at line 5046 of file sexp.cpp.

int sexp_has_arrived_delay ( int  n)

Definition at line 5432 of file sexp.cpp.

int sexp_has_been_tagged_delay ( int  n)

Definition at line 8063 of file sexp.cpp.

int sexp_has_departed ( int  n,
fix latest_time 
)

Determine if a ship/wing has departed

Definition at line 5075 of file sexp.cpp.

int sexp_has_departed_delay ( int  n)

Definition at line 5458 of file sexp.cpp.

int sexp_has_docked_or_undocked ( int  n,
int  op_num 
)

Definition at line 5386 of file sexp.cpp.

int sexp_has_time_elapsed ( int  n)

Definition at line 5563 of file sexp.cpp.

int sexp_has_weapon ( int  node,
int  op_num 
)

Definition at line 13694 of file sexp.cpp.

bool sexp_helper_is_within_box ( float box_vals,
vec3d pos 
)

Definition at line 6588 of file sexp.cpp.

int sexp_hits_left ( int  n)

Return the remaining hits left as a percentage of the whole.

This hit amount counts for all hits on the ship (hull + subsystems). Use hits_left_hull to find hull hits remaining.

Definition at line 5928 of file sexp.cpp.

int sexp_hits_left_subsystem ( int  n)

Return the remaining hits left on a subsystem as a percentage of the whole.

Goober5000 - this sexp is DEPRECATED because it works just like the new hits-left-substem-generic

Definition at line 6114 of file sexp.cpp.

int sexp_hits_left_subsystem_generic ( int  node)

Definition at line 6171 of file sexp.cpp.

int sexp_hits_left_subsystem_specific ( int  node)

Definition at line 6215 of file sexp.cpp.

void sexp_hud_activate_gauge_type ( int  n)

Definition at line 10012 of file sexp.cpp.

void sexp_hud_clear_messages ( )

Definition at line 9880 of file sexp.cpp.

void sexp_hud_disable ( int  n)

Definition at line 9772 of file sexp.cpp.

void sexp_hud_disable_except_messages ( int  n)

Definition at line 9792 of file sexp.cpp.

void sexp_hud_display_gauge ( int  n)

Definition at line 9966 of file sexp.cpp.

void sexp_hud_gauge_set_active ( int  n)

Definition at line 9975 of file sexp.cpp.

void sexp_hud_set_color ( int  n)

Definition at line 9926 of file sexp.cpp.

void sexp_hud_set_coords ( int  n)

Definition at line 9903 of file sexp.cpp.

void sexp_hud_set_custom_gauge_active ( int  node)

Definition at line 9987 of file sexp.cpp.

void sexp_hud_set_directive ( int  n)

Definition at line 9859 of file sexp.cpp.

void sexp_hud_set_frame ( int  n)

Definition at line 9915 of file sexp.cpp.

void sexp_hud_set_max_targeting_range ( int  n)

Definition at line 9943 of file sexp.cpp.

void sexp_hud_set_message ( int  n)

Definition at line 9834 of file sexp.cpp.

void sexp_hud_set_retail_gauge_active ( int  node)

Definition at line 10035 of file sexp.cpp.

void sexp_hud_set_text ( int  n)

Definition at line 9823 of file sexp.cpp.

void sexp_hud_set_text_num ( int  n)

Definition at line 9811 of file sexp.cpp.

void sexp_ignore_key ( int  node)

Definition at line 15114 of file sexp.cpp.

void sexp_ingame_ship_alt_name ( ship shipp,
int  alt_index 
)

Definition at line 14879 of file sexp.cpp.

void sexp_ingame_ship_change_iff ( ship shipp,
int  new_team 
)

Definition at line 9276 of file sexp.cpp.

void sexp_ingame_ship_change_iff_color ( ship shipp,
int  observer_team,
int  observed_team,
int  alternate_iff_color 
)

Definition at line 9347 of file sexp.cpp.

void sexp_ingame_ship_kamikaze ( ship shipp,
int  kdamage 
)

Definition at line 14789 of file sexp.cpp.

void sexp_int_to_string ( int  n)

Definition at line 20347 of file sexp.cpp.

int sexp_is_ai_class ( int  n)

Definition at line 9517 of file sexp.cpp.

int sexp_is_bit_set ( int  node)

Definition at line 4260 of file sexp.cpp.

int sexp_is_cargo ( int  n)

Definition at line 11648 of file sexp.cpp.

int sexp_is_cargo_known ( int  n,
int  check_delay 
)

Determines if N seconds have elapsed since all discovery of all cargo of given ships

Goober5000 - I reworked this function to allow for the set-scanned and set-unscanned sexps to work multiple times in a row and also to fix the potential bug where exited ships are checked against their departure time, not against their cargo known time

Definition at line 7776 of file sexp.cpp.

int sexp_is_destroyed ( int  n,
fix latest_time 
)

Evaluate if given ship is destroyed.

Returns
true if the ship in the expression has been destroyed.

Definition at line 4965 of file sexp.cpp.

int sexp_is_destroyed_delay ( int  n)

Definition at line 5209 of file sexp.cpp.

int sexp_is_disabled ( int  n,
fix latest_time 
)

Determine if a ship is disabled

Definition at line 5111 of file sexp.cpp.

int sexp_is_disabled_delay ( int  n)

Definition at line 5334 of file sexp.cpp.

int sexp_is_disarmed ( int  n,
fix latest_time 
)

Determine if ships are disarmed

Definition at line 5174 of file sexp.cpp.

int sexp_is_disarmed_delay ( int  n)

Definition at line 5360 of file sexp.cpp.

int sexp_is_facing ( int  node)

Definition at line 15362 of file sexp.cpp.

int sexp_is_friendly_stealth_visible ( int  n)

Determine if the friendly stealth ship visible

Definition at line 6059 of file sexp.cpp.

int sexp_is_iff ( int  n)

Definition at line 9200 of file sexp.cpp.

int sexp_is_in_box ( int  n)

Definition at line 22338 of file sexp.cpp.

int sexp_is_in_mission ( int  node)

Definition at line 22402 of file sexp.cpp.

int sexp_is_player ( int  node)

Definition at line 19618 of file sexp.cpp.

int sexp_is_primary_selected ( int  node)

Definition at line 20088 of file sexp.cpp.

int sexp_is_secondary_selected ( int  node)

Definition at line 20057 of file sexp.cpp.

int sexp_is_ship_class ( int  n)

Definition at line 9450 of file sexp.cpp.

int sexp_is_ship_stealthy ( int  n)

Determine if the stealth flag set on this ship

Definition at line 6033 of file sexp.cpp.

int sexp_is_ship_type ( int  n)

Definition at line 9483 of file sexp.cpp.

int sexp_is_ship_visible ( int  n)

Determine if ship visible on radar

Returns
0 - not visible
1 - marginally targetable (jiggly on radar)
2 - fully targetable

Definition at line 5985 of file sexp.cpp.

int sexp_is_subsystem_destroyed ( int  n)

Return true if the subsystem of the given ship has been destroyed

Definition at line 5020 of file sexp.cpp.

int sexp_is_subsystem_destroyed_delay ( int  n)

Definition at line 5308 of file sexp.cpp.

int sexp_is_tagged ( int  node)

Definition at line 19549 of file sexp.cpp.

void sexp_jettison_cargo ( int  n)

Causes a ship to jettison its cargo note that the 2nd arg (jettison delay) is not implemented

Definition at line 11918 of file sexp.cpp.

void sexp_kamikaze ( int  n,
int  kamikaze 
)

Definition at line 14825 of file sexp.cpp.

int sexp_key_pressed ( int  node)

Definition at line 15080 of file sexp.cpp.

void sexp_key_reset ( int  node)

Definition at line 15102 of file sexp.cpp.

int sexp_last_order_time ( int  n)

Determine when the last meaningful order was given to one or more ships.

Returns
true or false depending on whether or not a meaningful order was received

Definition at line 7352 of file sexp.cpp.

void sexp_load_music ( char *  fname,
int  type = -1 
)

Definition at line 10193 of file sexp.cpp.

void sexp_manipulate_colgroup ( int  node,
bool  add_to_group 
)

Definition at line 22411 of file sexp.cpp.

void sexp_mark_persistent ( int  n)

Mark a whole sexp tree with the persistent flag so that it won't get re-used between missions

Definition at line 1220 of file sexp.cpp.

int sexp_missile_locked ( int  node)

Definition at line 19575 of file sexp.cpp.

void sexp_mission_set_nebula ( int  n)

Definition at line 12058 of file sexp.cpp.

void sexp_mission_set_subspace ( int  n)

Definition at line 12073 of file sexp.cpp.

int sexp_mission_time ( )

Returns the time into the mission

Definition at line 5576 of file sexp.cpp.

int sexp_mission_time_msecs ( )

Returns the time into the mission, in milliseconds

Definition at line 5584 of file sexp.cpp.

void sexp_modify_variable ( int  node)

Definition at line 29032 of file sexp.cpp.

void sexp_modify_variable ( char *  text,
int  index,
bool  sexp_callback 
)

Modify a Sexp_variable to be used in a mission

This should be called in mission when an sexp_variable is to be modified

Definition at line 28972 of file sexp.cpp.

void sexp_music_close ( )

Definition at line 10183 of file sexp.cpp.

void sexp_nebula_change_pattern ( int  n)

Definition at line 12306 of file sexp.cpp.

void sexp_nebula_change_storm ( int  n)

Definition at line 12277 of file sexp.cpp.

void sexp_nebula_toggle_poof ( int  n)

Definition at line 12284 of file sexp.cpp.

void sexp_next_mission ( int  n)

Definition at line 11148 of file sexp.cpp.

int sexp_node_targeted ( int  node)

Definition at line 15187 of file sexp.cpp.

void sexp_nodes_init ( )

Definition at line 1036 of file sexp.cpp.

int sexp_not ( int  n)

Definition at line 4507 of file sexp.cpp.

int sexp_num_class_kills ( int  node)

Definition at line 19935 of file sexp.cpp.

int sexp_num_players ( )

Return the number of players in the mission

Definition at line 7398 of file sexp.cpp.

int sexp_num_ships_in_battle ( int  n)

Return the number of ships of a given team in the area battle

Definition at line 4854 of file sexp.cpp.

int sexp_num_ships_in_wing ( int  n)

Return the number of ships of a given wing or wings in the battle area

Definition at line 4900 of file sexp.cpp.

int sexp_num_type_kills ( int  node)

Definition at line 19879 of file sexp.cpp.

int sexp_num_valid_arguments ( int  n)

Definition at line 9041 of file sexp.cpp.

int sexp_num_within_box ( int  n)

Definition at line 6603 of file sexp.cpp.

int sexp_number_compare ( int  n,
int  op 
)

Definition at line 4544 of file sexp.cpp.

void sexp_object_ship_wing_point_team_set_ship ( object_ship_wing_point_team oswpt,
ship shipp,
bool  set_parse_flag_too = false 
)
void sexp_object_ship_wing_point_team_set_ship ( object_ship_wing_point_team oswpt,
ship_obj so,
bool  set_parse_flag_too = false 
)
int sexp_or ( int  n)

Definition at line 4367 of file sexp.cpp.

int sexp_order ( int  n)

Definition at line 15458 of file sexp.cpp.

void sexp_parse_ship_alt_name ( p_object parse_obj,
int  alt_index 
)

Definition at line 14901 of file sexp.cpp.

void sexp_parse_ship_change_iff ( p_object parse_obj,
int  new_team 
)

Definition at line 9288 of file sexp.cpp.

void sexp_parse_ship_change_iff_color ( p_object parse_obj,
int  observer_team,
int  observed_team,
int  alternate_iff_color 
)

Definition at line 9358 of file sexp.cpp.

void sexp_parse_ship_kamikaze ( p_object parse_obj,
int  kdamage 
)

Definition at line 14808 of file sexp.cpp.

int sexp_path_flown ( )

Definition at line 15535 of file sexp.cpp.

void sexp_pause_sound_from_file ( int  node)

Definition at line 10392 of file sexp.cpp.

void sexp_pause_unpause_music ( bool  pause)

Definition at line 10162 of file sexp.cpp.

int sexp_percent_ships_arrive_depart_destroy_disarm_disable ( int  n,
int  what 
)

Returns true if the percentage of ships (and ships in wings) departed is at least the percentage given.

what determine if we should check destroyed or departed status Goober5000 - added disarm and disable

Definition at line 7575 of file sexp.cpp.

void sexp_play_sound_from_file ( int  n)

Definition at line 10339 of file sexp.cpp.

void sexp_play_sound_from_table ( int  n)

Definition at line 10256 of file sexp.cpp.

int sexp_player_is_cheating_bastard ( )

Definition at line 22621 of file sexp.cpp.

void sexp_player_use_ai ( int  flag)

Trigger whether player uses the game AI for stuff

Definition at line 10079 of file sexp.cpp.

int sexp_previous_event_status ( int  n,
int  status 
)

Definition at line 13847 of file sexp.cpp.

int sexp_previous_goal_status ( int  n,
int  status 
)

Gets status of goals for previous missions (in the current campaign).

Parameters
nSexp node number
statustell this function if we are looking for a goal_satisfied, goal_failed, or goal incomplete event

Definition at line 13768 of file sexp.cpp.

int sexp_primaries_depleted ( int  node)

Definition at line 15254 of file sexp.cpp.

int sexp_primary_ammo_pct ( int  node)

Definition at line 15767 of file sexp.cpp.

void sexp_primitive_sensors_set_range ( int  n)

Definition at line 19102 of file sexp.cpp.

void sexp_protect_ships ( int  n,
bool  flag 
)

Protects/unprotects a ship.

Parameters
nSexp node number
flagWhether or not the protect bit should be set (flag==true) or cleared (flag==false)

Definition at line 14118 of file sexp.cpp.

int sexp_query_has_yet_to_arrive ( char *  name)

Determine if the named ship or wing hasn't arrived yet (wing or ship must be on arrival list)

Definition at line 3989 of file sexp.cpp.

int sexp_query_orders ( int  n)

Definition at line 15472 of file sexp.cpp.

int sexp_query_type_match ( int  opf,
int  opr 
)

Check if operator return type opr is a valid match for operator argument type opf

Definition at line 28538 of file sexp.cpp.

void sexp_remove_background_bitmap ( int  n)

Definition at line 12169 of file sexp.cpp.

void sexp_remove_goal ( int  n)

Definition at line 9690 of file sexp.cpp.

void sexp_remove_sun_bitmap ( int  n)

Definition at line 12262 of file sexp.cpp.

void sexp_remove_weapons ( int  node)

Definition at line 19748 of file sexp.cpp.

void sexp_repair_subsystem ( int  n)

Adds some percentage of hits to a subsystem.

Anything repaired about 100% is set to max hits

Definition at line 11327 of file sexp.cpp.

bool sexp_replace_variable_names_with_values ( char *  text,
int  max_len 
)

Definition at line 29395 of file sexp.cpp.

bool sexp_replace_variable_names_with_values ( SCP_string text)

Definition at line 29434 of file sexp.cpp.

void sexp_reset_camera ( int  node)

Definition at line 21395 of file sexp.cpp.

void sexp_reset_fov ( )
Todo:
Check VIEWER_ZOOM_DEFAULT

Definition at line 21374 of file sexp.cpp.

void sexp_reset_orders ( int  n)

Definition at line 15508 of file sexp.cpp.

void sexp_reset_time_compression ( )

Definition at line 21884 of file sexp.cpp.

int sexp_return_player_data ( int  node,
int  type 
)

Definition at line 19779 of file sexp.cpp.

void sexp_reverse_rotating_subsystem ( int  node)

Definition at line 18363 of file sexp.cpp.

void sexp_rotating_subsys_set_turn_time ( int  node)

Definition at line 18394 of file sexp.cpp.

void sexp_sabotage_subsystem ( int  n)

Reduces the strength of a subsystem by the given percentage.

If it is reduced to below 0%, then the hits of the subsystem are set to 0

Definition at line 11218 of file sexp.cpp.

void sexp_scramble_messages ( int  node,
bool  scramble 
)

Definition at line 20661 of file sexp.cpp.

int sexp_script_eval ( int  node,
int  return_type,
bool  concat_args = false 
)

Definition at line 22111 of file sexp.cpp.

void sexp_script_eval_multi ( int  node)

Definition at line 22200 of file sexp.cpp.

int sexp_secondaries_depleted ( int  node)

Definition at line 15296 of file sexp.cpp.

int sexp_secondary_ammo_pct ( int  node)

Definition at line 15838 of file sexp.cpp.

void sexp_self_destruct ( int  node)

Definition at line 11133 of file sexp.cpp.

void sexp_send_message ( int  n)

Definition at line 11025 of file sexp.cpp.

void sexp_send_message_list ( int  n)

Definition at line 11049 of file sexp.cpp.

void sexp_send_one_message ( char *  name,
char *  who_from,
char *  priority,
int  group,
int  delay 
)

Definition at line 10948 of file sexp.cpp.

void sexp_send_random_message ( int  n)

Definition at line 11095 of file sexp.cpp.

void sexp_send_training_message ( int  node)

Definition at line 15546 of file sexp.cpp.

void sexp_set_ambient_light ( int  node)

Definition at line 16712 of file sexp.cpp.

void sexp_set_armor_type ( int  node)

Definition at line 17490 of file sexp.cpp.

void sexp_set_arrival_info ( int  node)

Definition at line 18772 of file sexp.cpp.

int sexp_set_bit ( int  node,
bool  set_it 
)

Definition at line 4242 of file sexp.cpp.

void sexp_set_camera ( int  node)

Definition at line 20859 of file sexp.cpp.

void sexp_set_camera_facing ( int  n)

Definition at line 21014 of file sexp.cpp.

void sexp_set_camera_facing_object ( int  n)

Definition at line 21110 of file sexp.cpp.

void sexp_set_camera_fov ( int  n)

Definition at line 21161 of file sexp.cpp.

void sexp_set_camera_host ( int  node)

Definition at line 21274 of file sexp.cpp.

void sexp_set_camera_position ( int  n)

Definition at line 20876 of file sexp.cpp.

void sexp_set_camera_rotation ( int  n)

Definition at line 20948 of file sexp.cpp.

void sexp_set_camera_shudder ( int  n)

Definition at line 21927 of file sexp.cpp.

void sexp_set_camera_target ( int  node)

Definition at line 21290 of file sexp.cpp.

void sexp_set_cargo ( int  n)

Definition at line 11722 of file sexp.cpp.

void sexp_set_countermeasures ( int  node)

Definition at line 16293 of file sexp.cpp.

void sexp_set_death_message ( int  n)

Definition at line 15057 of file sexp.cpp.

void sexp_set_debriefing_toggled ( int  node)

Definition at line 12367 of file sexp.cpp.

void sexp_set_departure_info ( int  node)

Definition at line 18887 of file sexp.cpp.

void sexp_set_docked ( int  n)

Definition at line 11964 of file sexp.cpp.

void sexp_set_energy_pct ( int  node,
int  op_num 
)

Definition at line 5754 of file sexp.cpp.

void sexp_set_ets_values ( int  node)

set all ETS indexes for one or more ships

Definition at line 15676 of file sexp.cpp.

void sexp_set_explosion_option ( int  node)

Definition at line 10576 of file sexp.cpp.

void sexp_set_fov ( int  n)

Definition at line 21328 of file sexp.cpp.

void sexp_set_immobile ( int  n,
bool  immobile 
)

Definition at line 14164 of file sexp.cpp.

void sexp_set_jumpnode_color ( int  n)

Definition at line 21988 of file sexp.cpp.

void sexp_set_jumpnode_model ( int  n)

Definition at line 22037 of file sexp.cpp.

void sexp_set_jumpnode_name ( int  n)

Definition at line 21951 of file sexp.cpp.

void sexp_set_mission_mood ( int  node)

Definition at line 13624 of file sexp.cpp.

void sexp_set_motion_debris ( int  node)

Definition at line 22629 of file sexp.cpp.

void sexp_set_object_facing ( int  n,
bool  facing_object 
)

Definition at line 7159 of file sexp.cpp.

void sexp_set_object_orient_sub ( object objp,
vec3d location,
int  turn_time,
int  bank 
)

Definition at line 7088 of file sexp.cpp.

void sexp_set_object_orientation ( int  n)

Definition at line 7033 of file sexp.cpp.

void sexp_set_object_position ( int  n)

Definition at line 6930 of file sexp.cpp.

void sexp_set_object_speed ( object objp,
int  speed,
int  axis,
int  subjective 
)

Definition at line 6652 of file sexp.cpp.

void sexp_set_object_speed ( int  n,
int  axis 
)

Definition at line 6676 of file sexp.cpp.

void sexp_set_oswpt_facing ( object_ship_wing_point_team oswpt,
vec3d location,
int  turn_time = 0,
int  bank = 0 
)

Definition at line 7134 of file sexp.cpp.

void sexp_set_oswpt_maneuver ( object_ship_wing_point_team oswpt,
int  duration,
int  heading,
int  pitch,
int  bank,
bool  apply_all_rotate,
int  up,
int  sideways,
int  forward,
bool  apply_all_lat 
)

Definition at line 7262 of file sexp.cpp.

void sexp_set_persona ( int  node)

Definition at line 13556 of file sexp.cpp.

void sexp_set_player_orders ( int  n)

Definition at line 10098 of file sexp.cpp.

void sexp_set_player_throttle_speed ( int  node)

Definition at line 15235 of file sexp.cpp.

void sexp_set_post_effect ( int  node)

Definition at line 16765 of file sexp.cpp.

void sexp_set_primary_ammo ( int  node)

Definition at line 15941 of file sexp.cpp.

void sexp_set_respawns ( int  node)

Definition at line 19682 of file sexp.cpp.

void sexp_set_scanned_unscanned ( int  n,
int  flag 
)

Definition at line 7999 of file sexp.cpp.

void sexp_set_secondary_ammo ( int  node)

Definition at line 16089 of file sexp.cpp.

void sexp_set_ship_man ( object objp,
int  duration,
int  heading,
int  pitch,
int  bank,
bool  apply_all_rotate,
int  up,
int  sideways,
int  forward,
bool  apply_all_lat 
)

Definition at line 7211 of file sexp.cpp.

void sexp_set_ship_maneuver ( int  n,
int  op_num 
)

Definition at line 7286 of file sexp.cpp.

void sexp_set_skybox_model ( int  n)

Definition at line 16801 of file sexp.cpp.

void sexp_set_skybox_model_preload ( char *  name)

Definition at line 16852 of file sexp.cpp.

void sexp_set_skybox_orientation ( int  n)

Definition at line 16782 of file sexp.cpp.

void sexp_set_sound_environment ( int  node)

Definition at line 10431 of file sexp.cpp.

void sexp_set_subspace_drive ( int  node)

Definition at line 13452 of file sexp.cpp.

void sexp_set_subsys_rotation_lock_free ( int  node,
int  locked 
)

Definition at line 18317 of file sexp.cpp.

void sexp_set_subsystem_strength ( int  n)

Set a subsystem of a ship at a specific percentage

Definition at line 11438 of file sexp.cpp.

void sexp_set_support_ship ( int  n)

Definition at line 18657 of file sexp.cpp.

void sexp_set_thrusters ( int  node)

Definition at line 17108 of file sexp.cpp.

void sexp_set_time_compression ( int  n)

Definition at line 21835 of file sexp.cpp.

void sexp_set_training_context_fly_path ( int  node)

Definition at line 20640 of file sexp.cpp.

void sexp_set_training_context_speed ( int  node)

Definition at line 20653 of file sexp.cpp.

void sexp_set_turret_primary_ammo ( int  node)

Definition at line 18075 of file sexp.cpp.

void sexp_set_turret_secondary_ammo ( int  node)

Definition at line 18222 of file sexp.cpp.

void sexp_set_variable_by_index ( int  node)

Definition at line 29093 of file sexp.cpp.

void sexp_set_weapon ( int  node,
bool  primary 
)

Definition at line 16185 of file sexp.cpp.

int sexp_shield_quad_low ( int  node)

Definition at line 15727 of file sexp.cpp.

int sexp_shield_recharge_pct ( int  node)

Definition at line 15592 of file sexp.cpp.

int sexp_shields_left ( int  n)

Return the remaining shields as a percentage of the given ship.

Definition at line 5895 of file sexp.cpp.

void sexp_shields_off ( int  n,
bool  shields_off 
)

Definition at line 14783 of file sexp.cpp.

void sexp_ship_change_alt_name ( int  node)

Definition at line 14923 of file sexp.cpp.

void sexp_ship_change_callsign ( int  node)

Definition at line 14986 of file sexp.cpp.

void sexp_ship_copy_damage ( int  node)

Definition at line 16621 of file sexp.cpp.

void sexp_ship_create ( int  n)

Definition at line 14567 of file sexp.cpp.

void sexp_ship_deal_with_subsystem_flag ( int  node,
int  ss_flag,
bool  sendit = false,
bool  setit = false 
)

Definition at line 14253 of file sexp.cpp.

void sexp_ship_effect ( int  n)

Definition at line 22464 of file sexp.cpp.

void sexp_ship_guardian_threshold ( int  node)

Definition at line 14446 of file sexp.cpp.

void sexp_ship_set_damage_type ( int  node)

Definition at line 17613 of file sexp.cpp.

void sexp_ship_shockwave_set_damage_type ( int  node)

Definition at line 17671 of file sexp.cpp.

void sexp_ship_subsys_guardian_threshold ( int  num)

Definition at line 14475 of file sexp.cpp.

void sexp_ship_tag ( int  n,
int  tag 
)

Definition at line 14365 of file sexp.cpp.

void sexp_ship_turret_target_order ( int  node)

Definition at line 17968 of file sexp.cpp.

int sexp_ship_type_destroyed ( int  n)

Determine is all of a given ship type are destroyed

Definition at line 5533 of file sexp.cpp.

void sexp_ship_vanish ( int  n)

Definition at line 14728 of file sexp.cpp.

void sexp_ships_bomb_targetable ( int  n,
bool  targetable 
)

Definition at line 14440 of file sexp.cpp.

void sexp_ships_guardian ( int  n,
int  guardian 
)

Definition at line 14536 of file sexp.cpp.

void sexp_ships_invulnerable ( int  n,
bool  invulnerable 
)

Definition at line 14435 of file sexp.cpp.

void sexp_ships_stealthy ( int  n,
bool  stealthy 
)

Definition at line 14208 of file sexp.cpp.

void sexp_ships_vaporize ( int  n,
bool  vaporize 
)

Definition at line 14176 of file sexp.cpp.

void sexp_ships_visible ( int  n,
bool  visible 
)

Make ships "visible" and "invisible" to sensors.

Parameters
nSexp node number
visibleIs true when making ships visible, false otherwise

Definition at line 14187 of file sexp.cpp.

void sexp_show_hide_jumpnode ( int  node,
bool  show 
)

Definition at line 22080 of file sexp.cpp.

void sexp_show_subtitle ( int  node)

Definition at line 21425 of file sexp.cpp.

void sexp_show_subtitle_image ( int  node)

Definition at line 21726 of file sexp.cpp.

void sexp_show_subtitle_text ( int  node)

Definition at line 21532 of file sexp.cpp.

int sexp_sim_hits_left ( int  n)

Definition at line 5953 of file sexp.cpp.

int sexp_skill_level_at_least ( int  n)

Determine if the current skill level of the game is at least the skill level given in the SEXP

Definition at line 7415 of file sexp.cpp.

int sexp_sound_environment_option_lookup ( char *  text)

Definition at line 10412 of file sexp.cpp.

int sexp_special_training_check ( int  node)

Definition at line 20597 of file sexp.cpp.

int sexp_special_warp_dist ( int  n)

Returns percent of length of distance to special warpout plane

Definition at line 5593 of file sexp.cpp.

int sexp_special_warpout_name ( int  node)

Definition at line 7739 of file sexp.cpp.

int sexp_speed ( int  node)

Definition at line 15207 of file sexp.cpp.

void sexp_start_music ( int  loop)

Definition at line 10216 of file sexp.cpp.

void sexp_stop_music ( int  fade = 1)

Definition at line 10174 of file sexp.cpp.

int sexp_string_compare ( int  n,
int  op 
)

Definition at line 4618 of file sexp.cpp.

void sexp_string_concatenate ( int  n)

Definition at line 20381 of file sexp.cpp.

int sexp_string_get_length ( int  node)

Definition at line 20425 of file sexp.cpp.

void sexp_string_get_substring ( int  node)

Definition at line 20431 of file sexp.cpp.

void sexp_string_set_substring ( int  node)

Definition at line 20484 of file sexp.cpp.

int sexp_string_to_int ( int  n)

Definition at line 20316 of file sexp.cpp.

void sexp_subsys_set_random ( int  node)

Definition at line 19982 of file sexp.cpp.

void sexp_supernova_start ( int  node)

Definition at line 20047 of file sexp.cpp.

void sexp_supernova_stop ( int  node)

Definition at line 20052 of file sexp.cpp.

int sexp_targeted ( int  node)

Definition at line 15153 of file sexp.cpp.

int sexp_team_score ( int  node)

Definition at line 6085 of file sexp.cpp.

void sexp_tech_add_intel ( int  node)

Definition at line 12557 of file sexp.cpp.

void sexp_tech_add_intel_xstr ( int  node)

Definition at line 12581 of file sexp.cpp.

void sexp_tech_add_ship ( int  node)

Definition at line 12512 of file sexp.cpp.

void sexp_tech_add_weapon ( int  node)

Definition at line 12534 of file sexp.cpp.

void sexp_tech_reset_to_default ( )

Definition at line 12611 of file sexp.cpp.

int sexp_time_destroyed ( int  n)

Definition at line 5653 of file sexp.cpp.

int sexp_time_docked ( int  n)

Definition at line 5676 of file sexp.cpp.

int sexp_time_ship_arrived ( int  n)

Definition at line 5706 of file sexp.cpp.

int sexp_time_ship_departed ( int  n)

Definition at line 5730 of file sexp.cpp.

int sexp_time_undocked ( int  n)

Definition at line 5691 of file sexp.cpp.

int sexp_time_wing_arrived ( int  n)

Definition at line 5718 of file sexp.cpp.

int sexp_time_wing_departed ( int  n)

Definition at line 5742 of file sexp.cpp.

int sexp_time_wing_destroyed ( int  n)

Definition at line 5665 of file sexp.cpp.

void sexp_toggle_builtin_messages ( int  node,
bool  enable_messages 
)

Definition at line 13490 of file sexp.cpp.

void sexp_toggle_cutscene_bars ( int  node,
int  set 
)

Definition at line 20696 of file sexp.cpp.

void sexp_transfer_cargo ( int  n)

Transfer cargo from one ship to another

Definition at line 11808 of file sexp.cpp.

void sexp_trigger_submodel_animation ( int  node)

Definition at line 18429 of file sexp.cpp.

void sexp_turret_change_weapon ( int  node)

Definition at line 17401 of file sexp.cpp.

void sexp_turret_free ( int  node)

Definition at line 17224 of file sexp.cpp.

void sexp_turret_free_all ( int  node)

Definition at line 17255 of file sexp.cpp.

void sexp_turret_lock ( int  node)

Definition at line 17288 of file sexp.cpp.

void sexp_turret_lock_all ( int  node)

Definition at line 17315 of file sexp.cpp.

void sexp_turret_protect_ships ( int  n,
bool  flag 
)

Protects/unprotects a ship from various turrets.

Parameters
nSexp node number
flagWhether or not the protect bit should be set (flag==true) or cleared (flag==false)

Definition at line 14140 of file sexp.cpp.

void sexp_turret_set_direction_preference ( int  node)

Definition at line 17791 of file sexp.cpp.

void sexp_turret_set_optimum_range ( int  node)

Definition at line 17874 of file sexp.cpp.

void sexp_turret_set_rate_of_fire ( int  node)

Definition at line 17835 of file sexp.cpp.

void sexp_turret_set_target_order ( int  node)

Definition at line 17745 of file sexp.cpp.

void sexp_turret_set_target_priorities ( int  node)

Definition at line 17913 of file sexp.cpp.

void sexp_turret_tagged_clear_all ( int  node)

Definition at line 17374 of file sexp.cpp.

void sexp_turret_tagged_clear_specific ( int  node)

Definition at line 18517 of file sexp.cpp.

void sexp_turret_tagged_only_all ( int  node)

Definition at line 17347 of file sexp.cpp.

void sexp_turret_tagged_specific ( int  node)

Definition at line 18490 of file sexp.cpp.

void sexp_unmark_persistent ( int  n)

Remove the persistent flag from all nodes in the tree

Definition at line 1242 of file sexp.cpp.

void sexp_update_sound_environment ( int  node)

Definition at line 10480 of file sexp.cpp.

int sexp_var_compare ( const void var1,
const void var2 
)

Definition at line 29552 of file sexp.cpp.

int sexp_variable_count ( )

Count number of sexp_variables that are set

Definition at line 29490 of file sexp.cpp.

void sexp_variable_delete ( int  index)

Delete sexp_variable from active

Definition at line 29545 of file sexp.cpp.

void sexp_variable_sort ( )

Sort sexp_variable list lexigraphically, with set before unset

Definition at line 29577 of file sexp.cpp.

int sexp_variable_typed_count ( int  sexp_variables_index,
int  variable_type 
)

Given an index in Sexp_variables, returns the number variables of a type in the array until this point

Definition at line 29522 of file sexp.cpp.

void sexp_warp_effect ( int  n)

Definition at line 10847 of file sexp.cpp.

int sexp_was_destroyed_by ( int  n,
fix latest_time 
)

Definition at line 5239 of file sexp.cpp.

int sexp_was_destroyed_by_delay ( int  n)

Definition at line 5279 of file sexp.cpp.

int sexp_was_medal_granted ( int  n)

Definition at line 7447 of file sexp.cpp.

int sexp_was_promotion_granted ( int  n)

Definition at line 7439 of file sexp.cpp.

int sexp_waypoint_missed ( )

Definition at line 15513 of file sexp.cpp.

int sexp_waypoint_twice ( )

Definition at line 15524 of file sexp.cpp.

void sexp_weapon_create ( int  n)

Definition at line 14632 of file sexp.cpp.

int sexp_weapon_fired_delay ( int  node,
int  op_num 
)

Definition at line 13639 of file sexp.cpp.

int sexp_weapon_recharge_pct ( int  node)

Definition at line 15626 of file sexp.cpp.

void sexp_weapon_set_damage_type ( int  node)

Definition at line 17560 of file sexp.cpp.

int sexp_xor ( int  node)

Definition at line 4530 of file sexp.cpp.

int shield_quad_near_max ( int  quadnum)

Definition at line 20120 of file sexp.cpp.

bool ship_class_unchanged ( int  ship_index)

Definition at line 22650 of file sexp.cpp.

void ship_copy_damage ( ship target_shipp,
ship source_shipp 
)

Definition at line 16525 of file sexp.cpp.

template<typename T >
T sign ( t)

Definition at line 8941 of file sexp.cpp.

int signum_sexp ( int  node)

Definition at line 4226 of file sexp.cpp.

void skip_white ( char **  str)

Definition at line 28504 of file sexp.cpp.

int special_argument_appears_in_sexp_list ( int  node)

Definition at line 8214 of file sexp.cpp.

int special_argument_appears_in_sexp_tree ( int  node)

Definition at line 8192 of file sexp.cpp.

void stuff_sexp_text_string ( SCP_string dest,
int  node,
int  mode 
)

Stuff SEXP text string

Definition at line 3785 of file sexp.cpp.

int stuff_sexp_variable_list ( )

Stuffs a list of sexp variables

Definition at line 3590 of file sexp.cpp.

int sub_sexps ( int  n)

Definition at line 4040 of file sexp.cpp.

int test_argument_nodes_for_condition ( int  n,
int  condition_node,
int num_true,
int num_false,
int num_known_true,
int num_known_false 
)

Definition at line 8554 of file sexp.cpp.

int test_argument_vector_for_condition ( SCP_vector< char * >  argument_vector,
bool  already_dupped,
int  condition_node,
int num_true,
int num_false,
int num_known_true,
int num_known_false 
)

Definition at line 8636 of file sexp.cpp.

bool test_point_within_box ( vec3d test_point,
vec3d box_corner_1,
vec3d box_corner_2,
object reference_ship_obj 
)

Definition at line 22319 of file sexp.cpp.

void toggle_cutscene_bars ( float  delta_speed,
int  set 
)

Definition at line 20676 of file sexp.cpp.

void unhide_nav ( int  node)

Definition at line 19467 of file sexp.cpp.

void unrestrict_nav ( int  node)

Definition at line 19475 of file sexp.cpp.

void unselect_nav ( )

Definition at line 19540 of file sexp.cpp.

void unset_nav_carry_status ( int  node)

Definition at line 19169 of file sexp.cpp.

void unset_nav_needslink ( int  node)

Definition at line 19237 of file sexp.cpp.

void unset_nav_visited ( int  node)

Definition at line 19492 of file sexp.cpp.

void update_sexp_references ( const char *  old_name,
const char *  new_name,
int  format,
int  node 
)

Definition at line 28332 of file sexp.cpp.

void update_sexp_references ( const char *  old_name,
const char *  new_name 
)

Definition at line 28300 of file sexp.cpp.

void update_sexp_references ( const char *  old_name,
const char *  new_name,
int  format 
)

Definition at line 28315 of file sexp.cpp.

int validate_float ( char **  str)

Definition at line 28511 of file sexp.cpp.

int verify_sexp_tree ( int  node)

Definition at line 1353 of file sexp.cpp.

int verify_vector ( char *  text)

Definition at line 28455 of file sexp.cpp.

Variable Documentation

char* Adjust_audio_options[] = { "Music", "Voice", "Effects" }

Definition at line 872 of file sexp.cpp.

SCP_vector<char*> Applicable_arguments_temp

Definition at line 907 of file sexp.cpp.

Definition at line 847 of file sexp.cpp.

int Cheats_enabled

Definition at line 100 of file key.cpp.

SCP_vector<SCP_string>* Current_event_log_argument_buffer

Definition at line 936 of file sexp.cpp.

SCP_vector<SCP_string>* Current_event_log_buffer

Definition at line 934 of file sexp.cpp.

SCP_vector<SCP_string>* Current_event_log_variable_buffer

Definition at line 935 of file sexp.cpp.

SCP_vector<int> Current_sexp_operator

Definition at line 851 of file sexp.cpp.

int Directive_count

Definition at line 826 of file sexp.cpp.

char* Explosion_option[] = { "damage", "blast", "inner radius", "outer radius", "shockwave speed", "death roll time" }

Definition at line 886 of file sexp.cpp.

char* HUD_gauge_text[NUM_HUD_GAUGES]

Definition at line 771 of file sexp.cpp.

int Locked_sexp_false

Definition at line 828 of file sexp.cpp.

int Locked_sexp_true

Definition at line 828 of file sexp.cpp.

int Num_adjust_audio_options = 3

Definition at line 873 of file sexp.cpp.

int Num_explosion_options = 6

Definition at line 887 of file sexp.cpp.

int Num_op_menus = sizeof(op_menu) / sizeof(op_menu_struct)

Definition at line 33851 of file sexp.cpp.

int Num_operators = sizeof(Operators) / sizeof(sexp_oper)

Definition at line 829 of file sexp.cpp.

int Num_sexp_ai_goal_links = sizeof(Sexp_ai_goal_links) / sizeof(sexp_ai_goal_link)

Definition at line 830 of file sexp.cpp.

int Num_sexp_help = sizeof(Sexp_help) / sizeof(sexp_help_struct)

Definition at line 33850 of file sexp.cpp.

int Num_sexp_nodes = 0

Definition at line 843 of file sexp.cpp.

int Num_skybox_flags = 6

Definition at line 816 of file sexp.cpp.

int Num_sound_environment_options = 3

Definition at line 869 of file sexp.cpp.

int Num_special_expl_blocks

Definition at line 849 of file sexp.cpp.

int Num_submenus = sizeof(op_submenu) / sizeof(op_menu_struct)

Definition at line 33852 of file sexp.cpp.

op_menu_struct op_menu[]
Initial value:
=
{
{ "Objectives", OP_CATEGORY_OBJECTIVE },
{ "Time", OP_CATEGORY_TIME },
{ "Logical", OP_CATEGORY_LOGICAL },
{ "Arithmetic", OP_CATEGORY_ARITHMETIC },
{ "Status", OP_CATEGORY_STATUS },
{ "Change", OP_CATEGORY_CHANGE },
{ "Conditionals", OP_CATEGORY_CONDITIONAL },
{ "Ai goals", OP_CATEGORY_AI },
{ "Event/Goals", OP_CATEGORY_GOAL_EVENT },
{ "Training", OP_CATEGORY_TRAINING },
}
#define OP_CATEGORY_CONDITIONAL
Definition: sexp.h:151
#define OP_CATEGORY_ARITHMETIC
Definition: sexp.h:147
#define OP_CATEGORY_GOAL_EVENT
Definition: sexp.h:155
#define OP_CATEGORY_STATUS
Definition: sexp.h:148
#define OP_CATEGORY_TRAINING
Definition: sexp.h:153
#define OP_CATEGORY_OBJECTIVE
Definition: sexp.h:144
#define OP_CATEGORY_CHANGE
Definition: sexp.h:149
#define OP_CATEGORY_TIME
Definition: sexp.h:145
#define OP_CATEGORY_AI
Definition: sexp.h:152
#define OP_CATEGORY_LOGICAL
Definition: sexp.h:146

Definition at line 33799 of file sexp.cpp.

op_menu_struct op_submenu[]

Definition at line 33815 of file sexp.cpp.

sexp_oper Operators[]

Definition at line 118 of file sexp.cpp.

bool Perspective_locked

Definition at line 213 of file keycontrol.cpp.

int Players_mlocked = UNINITIALIZED

Definition at line 854 of file sexp.cpp.

int Players_mlocked_timestamp

Definition at line 857 of file sexp.cpp.

int Players_target = UNINITIALIZED

Definition at line 853 of file sexp.cpp.

int Players_target_timestamp

Definition at line 856 of file sexp.cpp.

ship_subsys* Players_targeted_subsys

Definition at line 855 of file sexp.cpp.

SCP_string sexp

Definition at line 25556 of file sexp.cpp.

sexp_ai_goal_link Sexp_ai_goal_links[]
Initial value:
= {
}
#define OP_AI_CHASE_ANY
Definition: sexp.h:747
#define AI_GOAL_UNDOCK
Definition: aigoals.h:36
#define OP_AI_FORM_ON_WING
Definition: sexp.h:755
#define AI_GOAL_CHASE_WING
Definition: aigoals.h:37
#define AI_GOAL_DOCK
Definition: aigoals.h:30
#define AI_GOAL_WAYPOINTS
Definition: aigoals.h:31
#define AI_GOAL_GUARD
Definition: aigoals.h:38
#define OP_AI_IGNORE_NEW
Definition: sexp.h:754
#define AI_GOAL_STAY_NEAR_SHIP
Definition: aigoals.h:47
#define AI_GOAL_CHASE_ANY
Definition: aigoals.h:41
#define AI_GOAL_WARP
Definition: aigoals.h:33
#define AI_GOAL_IGNORE
Definition: aigoals.h:42
#define AI_GOAL_DISARM_SHIP
Definition: aigoals.h:40
#define OP_AI_DISABLE_SHIP
Definition: sexp.h:744
#define OP_AI_DOCK
Definition: sexp.h:738
#define OP_AI_EVADE_SHIP
Definition: sexp.h:748
#define AI_GOAL_STAY_STILL
Definition: aigoals.h:52
#define AI_GOAL_EVADE_SHIP
Definition: aigoals.h:44
#define OP_AI_KEEP_SAFE_DISTANCE
Definition: sexp.h:750
#define OP_AI_STAY_STILL
Definition: sexp.h:752
#define AI_GOAL_IGNORE_NEW
Definition: aigoals.h:57
#define AI_GOAL_PLAY_DEAD
Definition: aigoals.h:53
#define AI_GOAL_WAYPOINTS_ONCE
Definition: aigoals.h:32
#define OP_AI_CHASE_WING
Definition: sexp.h:772
#define OP_AI_WAYPOINTS_ONCE
Definition: sexp.h:742
#define AI_GOAL_GUARD_WING
Definition: aigoals.h:43
#define OP_AI_UNDOCK
Definition: sexp.h:739
#define OP_AI_DESTROY_SUBSYS
Definition: sexp.h:743
#define OP_AI_CHASE
Definition: sexp.h:737
#define AI_GOAL_KEEP_SAFE_DISTANCE
Definition: aigoals.h:48
#define AI_GOAL_DISABLE_SHIP
Definition: aigoals.h:39
#define OP_AI_WARP
Definition: sexp.h:778
#define OP_AI_WAYPOINTS
Definition: sexp.h:741
#define OP_AI_STAY_NEAR_SHIP
Definition: sexp.h:749
#define AI_GOAL_CHASE
Definition: aigoals.h:29
#define OP_AI_PLAY_DEAD
Definition: sexp.h:753
#define OP_AI_IGNORE
Definition: sexp.h:751
#define OP_AI_DISARM_SHIP
Definition: sexp.h:745
#define AI_GOAL_DESTROY_SUBSYSTEM
Definition: aigoals.h:34
#define OP_AI_GUARD
Definition: sexp.h:746
#define OP_AI_GUARD_WING
Definition: sexp.h:773
#define OP_AI_WARP_OUT
Definition: sexp.h:740
#define AI_GOAL_FORM_ON_WING
Definition: aigoals.h:35

Definition at line 746 of file sexp.cpp.

sexp_always = "( when ( true ) ( " + sexp + " ) )"

Definition at line 25557 of file sexp.cpp.

arg_item Sexp_applicable_argument_list

Definition at line 910 of file sexp.cpp.

int Sexp_clipboard = -1

Definition at line 831 of file sexp.cpp.

int Sexp_current_argument_nesting_level

Definition at line 906 of file sexp.cpp.

sexp_help_struct Sexp_help[]

Definition at line 30083 of file sexp.cpp.

int Sexp_hud_display_warpout = 0

Global state variables for the hud-display-gauge sexp. They all should be named Sexp_hud_display_*; They all should follow the following symantics for the value of the variable: =0 don't show =1 show until canceled >1 timestamp when gauge should stop showing (set zero when expired)

See also
sexp_hud_display_warpout

Definition at line 9964 of file sexp.cpp.

int Sexp_music_handle = -1

Definition at line 860 of file sexp.cpp.

sexp_node* Sexp_nodes = NULL

Definition at line 844 of file sexp.cpp.

SCP_vector<char*> Sexp_replacement_arguments

Definition at line 905 of file sexp.cpp.

int Sexp_useful_number

Definition at line 827 of file sexp.cpp.

int sexp_val = run_sexp(sexp_always.c_str())

Definition at line 25568 of file sexp.cpp.

Definition at line 846 of file sexp.cpp.

char* Skybox_flags[]
Initial value:
= {
"force-clamp",
"add-lighting",
"no-transparency",
"add-zbuffer",
"add-culling",
"no-glowmaps",
}

Definition at line 817 of file sexp.cpp.

char* Sound_environment_option[] = { "volume", "decay time", "damping" }

Definition at line 868 of file sexp.cpp.

int Training_context = 0

Definition at line 832 of file sexp.cpp.

int Training_context_at_waypoint

Definition at line 839 of file sexp.cpp.

float Training_context_distance

Definition at line 840 of file sexp.cpp.

int Training_context_goal_waypoint

Definition at line 838 of file sexp.cpp.

waypoint_list* Training_context_path

Definition at line 837 of file sexp.cpp.

int Training_context_speed_max

Definition at line 835 of file sexp.cpp.

int Training_context_speed_min

Definition at line 834 of file sexp.cpp.

int Training_context_speed_set

Definition at line 833 of file sexp.cpp.

int Training_context_speed_timestamp

Definition at line 836 of file sexp.cpp.

float VIEWER_ZOOM_DEFAULT

Definition at line 15 of file camera.cpp.