14 #pragma warning(disable: 4786)
25 #define SEXPT_UNUSED 0x0000
26 #define SEXPT_UNINIT 0x0001
27 #define SEXPT_UNKNOWN 0x0002
29 #define SEXPT_VALID 0x1000
30 #define SEXPT_TYPE_MASK 0x00ff
31 #define SEXPT_TYPE(X) (SEXPT_TYPE_MASK & X)
33 #define SEXPT_OPERATOR 0x0010
34 #define SEXPT_NUMBER 0x0020
35 #define SEXPT_STRING 0x0040
36 #define SEXPT_VARIABLE 0x0080
39 #define NOT_EDITABLE 0x00
45 #define BITMAP_OPERATOR 0
47 #define BITMAP_VARIABLE 2
49 #define BITMAP_ROOT_DIRECTIVE 4
50 #define BITMAP_CHAIN 5
51 #define BITMAP_CHAIN_DIRECTIVE 6
52 #define BITMAP_GREEN_DOT 7
53 #define BITMAP_BLACK_DOT 8
54 #define BITMAP_BLUE_DOT BITMAP_ROOT
55 #define BITMAP_RED_DOT BITMAP_ROOT_DIRECTIVE
56 #define BITMAP_NUMBERED_DATA 9
62 #define ST_LABELED_ROOT 0x10000
63 #define ST_ROOT_DELETABLE 0x20000
64 #define ST_ROOT_EDITABLE 0x40000
66 #define MODE_GOALS (1 | ST_LABELED_ROOT | ST_ROOT_DELETABLE)
67 #define MODE_EVENTS (2 | ST_LABELED_ROOT | ST_ROOT_DELETABLE | ST_ROOT_EDITABLE)
68 #define MODE_CAMPAIGN (3 | ST_LABELED_ROOT | ST_ROOT_DELETABLE)
71 #define ROOT_DELETED 1
72 #define ROOT_RENAMED 2
74 #define SEXP_ITEM_F_DUP (1<<0)
124 int find_text(
const char *text,
int *find);
131 HTREEITEM
handle(
int node);
133 void setup(CEdit *ptr = NULL);
139 void swap_roots(HTREEITEM one, HTREEITEM two);
141 HTREEITEM
move_branch(HTREEITEM source, HTREEITEM parent = TVI_ROOT, HTREEITEM after = TVI_LAST);
142 void copy_branch(HTREEITEM source, HTREEITEM parent = TVI_ROOT, HTREEITEM after = TVI_LAST);
151 int node_error(
int node,
const char *msg,
int *bypass);
163 void free_node(
int node,
int cascade = 0);
172 void add_operator(
const char *op, HTREEITEM h = TVI_ROOT);
173 int add_data(
const char *data,
int type);
329 DECLARE_MESSAGE_MAP()
CImageList * m_p_image_list
void expand_operator(int node)
int find_argument_number(int parent_node, int child_node)
int query_default_argument_available(int op)
sexp_list_item * get_listing_opf_message()
sexp_list_item * get_listing_opf_order_recipient()
sexp_list_item * get_listing_opf_who_from()
sexp_list_item * get_listing_opf_string()
sexp_list_item * get_listing_opf(int opf, int parent_node, int arg_index)
char text[2 *TOKEN_LENGTH+2]
GLfloat GLfloat GLfloat GLfloat h
void add_sub_tree(int node, HTREEITEM root)
sexp_list_item * get_listing_opf_turret_target_order()
int add_default_operator(int op, int argnum)
int query_node_argument_type(int node)
sexp_list_item * get_listing_opf_dockee_point(int parent_node)
sexp_list_item * get_listing_opf_damage_type()
sexp_list_item * get_listing_opf_ship_effect()
sexp_list_item * get_listing_opf_ship_class_name()
sexp_list_item * get_listing_opf_sound_environment_option()
void copy_branch(HTREEITEM source, HTREEITEM parent=TVI_ROOT, HTREEITEM after=TVI_LAST)
sexp_list_item * get_listing_opf_support_ship_class()
void set_data(const char *str, int t=(SEXPT_STRING|SEXPT_VALID))
sexp_list_item * get_listing_opf_medal_name()
int get_item_index_to_var_index()
GLenum GLsizei GLenum GLenum const GLvoid * image
void free_node2(int node)
sexp_list_item * get_listing_opf_subsystem_or_none(int parent_node, int arg_index)
void link_modified(int *ptr)
int add_variable_data(const char *data, int type)
SCP_vector< sexp_tree_item > tree_nodes
sexp_list_item * get_listing_opf_jump_nodes()
afx_msg void OnMouseMove(UINT nFlags, CPoint point)
void delete_sexp_tree_variable(const char *var_name)
const char * match_closest_operator(const char *str, int node)
void setup(CEdit *ptr=NULL)
int edit_label(HTREEITEM h)
UINT WPARAM LPARAM lParam
sexp_list_item * get_listing_opf_hud_gauge_name()
afx_msg void OnBegindrag(NMHDR *pNMHDR, LRESULT *pResult)
int find_text(const char *text, int *find)
sexp_list_item * get_listing_opf_ship_point()
int get_default_value(sexp_list_item *item, char *text_buf, int op, int i)
sexp_list_item * get_listing_opf_variable_type()
sexp_list_item * get_listing_opf_persona()
sexp_list_item * get_listing_opf_weapon_name()
void set_node(int index, int type, const char *text)
sexp_list_item * get_listing_opf_priority()
int get_type(HTREEITEM h)
sexp_list_item * get_listing_opf_docker_point(int parent_node)
void right_clicked(int mode=0)
sexp_list_item * get_listing_opf_game_snds()
void verify_and_fix_arguments(int node)
int get_tree_name_to_sexp_variable_index(const char *tree_name)
int get_variable_count(const char *var_name)
void swap_roots(HTREEITEM one, HTREEITEM two)
sexp_list_item * get_listing_opf_adjust_audio_volume()
sexp_list_item * get_listing_opf_background_bitmap()
sexp_list_item * get_listing_opf_departure_location()
void update_help(HTREEITEM h)
sexp_list_item * get_listing_opf_goal_name(int parent_node)
sexp_list_item * get_listing_opf_sun_bitmap()
sexp_list_item * get_listing_opf_iff()
int save_branch(int cur, int at_root=0)
void replace_operator(const char *op)
sexp_list_item * get_listing_opf_point()
virtual void build_tree()
sexp_list_item * get_listing_opf_skybox_flags()
sexp_list_item * get_listing_opf_ship_wing_point_or_none()
afx_msg void OnLButtonUp(UINT nFlags, CPoint point)
sexp_list_item * get_listing_opf_nebula_patterns()
int get_data_image(int node)
int end_label_edit(TVITEMA &item)
sexp_list_item * get_listing_opf_nebula_storm_type()
void shallow_copy(const sexp_list_item *src)
afx_msg void OnKeydown(NMHDR *pNMHDR, LRESULT *pResult)
sexp_list_item * get_listing_opf_sound_environment()
sexp_list_item * get_listing_opf_ship_wing()
sexp_list_item * get_listing_opf_font()
sexp_list_item * get_listing_opf_ship_not_player()
sexp_list_item * get_listing_opf_explosion_option()
sexp_list_item * get_listing_opf_huge_weapon()
sexp_list_item * get_listing_opf_skybox_model()
sexp_list_item * get_listing_opf_keypress()
void merge_operator(int node)
const char * help(int code)
int get_modify_variable_type(int parent)
sexp_list_item * get_listing_opf_subsystem(int parent_node, int arg_index)
sexp_list_item * get_listing_opf_soundtrack_name()
sexp_list_item * get_listing_opf_post_effect()
sexp_list_item * get_listing_opf_waypoint_path()
sexp_list_item * get_listing_opf_animation_type()
int add_data(const char *data, int type)
void expand_branch(HTREEITEM h)
sexp_list_item * get_listing_opf_arrival_location()
int query_restricted_opf_range(int opf)
HTREEITEM insert(LPCTSTR lpszItem, int image=BITMAP_ROOT, int sel_image=BITMAP_ROOT, HTREEITEM hParent=TVI_ROOT, HTREEITEM hInsertAfter=TVI_LAST)
sexp_list_item * get_listing_opf_ship_wing_wholeteam()
sexp_list_item * get_listing_opf_positive()
void replace_data(const char *data, int type)
sexp_list_item * get_listing_opf_ssm_class()
sexp_list_item * get_listing_opf_bool(int parent_node=-1)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point)
sexp_list_item * get_listing_opf_ship_type()
void move_branch(int source, int parent=-1)
sexp_list_item * get_listing_opf_intel_name()
sexp_list_item * get_listing_opf_ship_wing_point()
sexp_list_item * get_listing_opf_ai_order()
sexp_list_item * get_listing_opf_armor_type()
sexp_list_item * get_listing_opf_skill_level()
void add_data(const char *str, int t=(SEXPT_STRING|SEXPT_VALID))
sexp_list_item * get_listing_opf_hud_gauge()
sexp_list_item * get_listing_opf_turret_target_priorities()
int load_sub_tree(int index, bool valid, const char *text)
void ensure_visible(int node)
sexp_list_item * get_listing_opf_wing()
sexp_list_item * get_listing_opf_weapon_banks()
void add_operator(const char *op, HTREEITEM h=TVI_ROOT)
void add_data_dup(const char *str, int t=(SEXPT_STRING|SEXPT_VALID))
void replace_variable_data(int var_idx, int type)
void free_node(int node, int cascade=0)
int get_sibling_place(int node)
void set_data_dup(const char *str, int t=(SEXPT_STRING|SEXPT_VALID))
sexp_list_item * get_listing_opf_mission_name()
int save_tree(int node=-1)
HTREEITEM handle(int node)
sexp_list_item * get_listing_opf_flexible_argument()
sexp_list_item * get_listing_opf_hud_elements()
GLenum GLsizei GLenum GLenum const GLvoid * data
int find_ancestral_argument_number(int parent_op, int child_node)
sexp_list_item * get_listing_opf_ship_flags()
void load_tree(int index, const char *deflt="true")
sexp_list_item * get_listing_opf_ai_goal(int parent_node)
void add_or_replace_operator(int op, int replace_flag=0)
int node_error(int node, const char *msg, int *bypass)
GLsizei GLsizei GLchar * source
sexp_list_item * get_listing_opf_nebula_poof()
sexp_list_item * get_listing_opf_ship_wing_shiponteam_point()
void hilite_item(int node)
sexp_list_item * get_listing_opf_team_colors()
sexp_list_item * get_listing_opf_mission_moods()
sexp_list_item * get_listing_opf_cargo()
sexp_list_item * get_listing_opf_null()
void add_list(sexp_list_item *list)
int load_branch(int index, int parent)
int query_false(int node=-1)
sexp_list_item * get_listing_opf_event_name(int parent_node)
sexp_list_item * get_listing_opf_number()
int identify_arg_type(int node)
sexp_list_item * get_listing_opf_variable_names()
void add_one_arg_operator(const char *op, const char *data, int type)
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam)
sexp_list_item * get_listing_opf_ai_class()
sexp_list_item * get_listing_opf_arrival_anchor_all()
sexp_list_item * get_listing_opf_subsys_or_generic(int parent_node, int arg_index)
sexp_list_item * get_listing_opf_ship_with_bay()
void clear_tree(const char *op=NULL)
void modify_sexp_tree_variable(const char *old_name, int sexp_var_index)
int get_loadout_variable_count(int var_index)
sexp_list_item * get_listing_opf_ship(int parent_node=-1)
sexp_list_item * get_listing_opf_ship_or_none()
sexp_list_item * get_listing_opf_subsystem_type(int parent_node)
void setup_selected(HTREEITEM h=NULL)