1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell
5  * or otherwise commercially exploit the source or things you created based on the
6  * source.
7  *
8 */
9 
10 #include "ShipEditorDlg.h"
11 
12 // ShipFlagsDlg.h : header file
13 //
14 
15 /////////////////////////////////////////////////////////////////////////////
16 // ship_flags_dlg dialog
17 
18 class ship_flags_dlg : public CDialog
19 {
20 // Construction
21 public:
22 	ship_flags_dlg(CWnd* pParent = NULL);   // standard constructor
23 	void OnOK();
24 	void update_ship(int ship);
25 	void setup(int n);
26 	int tristate_set(int val, int cur_state);
27 	void set_modified();
28 
29 // Dialog Data
30 	//{{AFX_DATA(ship_flags_dlg)
31 	enum { IDD = IDD_SHIP_FLAGS };
32 	CButton	m_red_alert_carry;
33 	CButton	m_scannable;
34 	CButton	m_reinforcement;
35 	CButton	m_protect_ship;
36 	CButton	m_beam_protect_ship;
37 	CButton	m_flak_protect_ship;
38 	CButton	m_laser_protect_ship;
39 	CButton	m_missile_protect_ship;
40 	CButton	m_no_dynamic;
41 	CButton	m_no_arrival_music;
42 	CButton	m_kamikaze;
43 	CButton	m_invulnerable;
44 	CButton	m_targetable_as_bomb;
45 	CButton m_immobile;
46 	CButton	m_ignore_count;
47 	CButton	m_hidden;
48 	CButton	m_primitive_sensors;
49 	CButton	m_no_subspace_drive;
50 	CButton	m_affected_by_gravity;
51 	CButton	m_toggle_subsystem_scanning;
52 	CButton	m_escort;
53 	CButton	m_destroy;
54 	CButton	m_cargo_known;
55 	CButton	m_special_warpin;
56 	CButton	m_disable_messages;
57 	CButton m_no_death_scream;
58 	CButton m_always_death_scream;
59 	CButton m_guardian;
60 	CButton m_vaporize;
61 	CButton m_stealth;
62 	CButton m_friendly_stealth_invisible;
63 	CButton m_nav_carry;
64 	CButton m_nav_needslink;
65 	CButton m_hide_ship_name;
66 	CButton m_disable_ets;
67 	CButton m_cloaked;
68 	CButton	m_set_class_dynamically;
69 	CButton	m_scramble_messages;
70 	CButton m_no_collide;
71 	CButton m_no_disabled_self_destruct;
72 
73 	CSpinButtonCtrl	m_destroy_spin;
74 	numeric_edit_control m_kdamage;
75 	numeric_edit_control m_destroy_value;
76 	numeric_edit_control m_escort_value;
77 	numeric_edit_control m_respawn_priority;
78 	//}}AFX_DATA
79 
80 // Overrides
81 	// ClassWizard generated virtual function overrides
82 	//{{AFX_VIRTUAL(ship_flags_dlg)
83 	protected:
84 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
85 	//}}AFX_VIRTUAL
86 
87 // Implementation
88 protected:
89 	int p_enable;  // used to enable(1)/disable(0) controls based on if a player ship
90 
91 	// Generated message map functions
92 	//{{AFX_MSG(ship_flags_dlg)
93 	virtual BOOL OnInitDialog();
94 	afx_msg void OnCargoKnown();
95 	afx_msg void OnDestroyCheck();
96 	afx_msg void OnEscort();
97 	afx_msg void OnHiddenFromSensors();
98 	afx_msg void OnPrimitiveSensors();
99 	afx_msg void OnNoSubspaceDrive();
100 	afx_msg void OnAffectedByGravity();
101 	afx_msg void OnIgnoreCount();
102 	afx_msg void OnInvulnerable();
103 	afx_msg void OnTargetableAsBomb();
104 	afx_msg void OnImmobile();
105 	afx_msg void OnKamikaze();
106 	afx_msg void OnNoArrivalMusic();
107 	afx_msg void OnNoDynamic();
108 	afx_msg void OnProtectShip();
109 	afx_msg void OnBeamProtectShip();
110 	afx_msg void OnFlakProtectShip();
111 	afx_msg void OnLaserProtectShip();
112 	afx_msg void OnMissileProtectShip();
113 	afx_msg void OnReinforcement();
114 	afx_msg void OnScannable();
115 	afx_msg void OnRedalertcarry();
116 	afx_msg void OnToggleSubsystemScanning();
117 	afx_msg void OnDisableBuiltinShip();
118 	afx_msg void OnNoDeathScream();
119 	afx_msg void OnAlwaysDeathScream();
120 	afx_msg void OnGuardian();
121 	afx_msg void OnVaporize();
122 	afx_msg void OnStealth();
123 	afx_msg void OnFriendlyStealthInvisible();
124 	afx_msg void OnNavCarry();
125 	afx_msg void OnNavNeedslink();
126 	afx_msg void OnHideShipName();
127 	afx_msg void OnSetClassDynamically();
128 	afx_msg void OnDisableETS();
129 	afx_msg void OnCloaked();
130 	afx_msg void OnScrambleMessages();
131 	afx_msg void OnNoCollide();
132 	afx_msg void OnNoDisabledSelfDestruct();
133 	//}}AFX_MSG
134 	DECLARE_MESSAGE_MAP()
135 };
136