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)