File: ObjectPropertiesDialog.h

package info (click to toggle)
descent3 1.5.0%2Bds-2
  • links: PTS, VCS
  • area: contrib
  • in suites: forky, sid
  • size: 35,256 kB
  • sloc: cpp: 416,147; ansic: 3,233; sh: 10; makefile: 8
file content (139 lines) | stat: -rw-r--r-- 4,046 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/*
 * Descent 3
 * Copyright (C) 2024 Parallax Software
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#if !defined(AFX_OBJECTPROPERTIESDIALOG_H__B4ABFD41_F15C_11D0_8901_0020A90CB6F2__INCLUDED_)
#define AFX_OBJECTPROPERTIESDIALOG_H__B4ABFD41_F15C_11D0_8901_0020A90CB6F2__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ObjectPropertiesDialog.h : header file
//

#ifndef _OBJ_PROP_DLG_H_
#define _OBJ_PROP_DLG_H_

#include "objscript.h"

class CPropertyAIDlg;
class CPropertyPhysicsDlg;

#define TAB_PHYSICS 0
#define TAB_AI 1

/////////////////////////////////////////////////////////////////////////////
// CObjectPropertiesDialog dialog

class CObjectPropertiesDialog : public CDialog {
  // Construction
public:
  CObjectPropertiesDialog(CWnd *pParent = NULL); // standard constructor

  BOOL m_bBounce;
  float m_fDrag;
  float m_fFullRotThrust;
  float m_fFullThrust;
  BOOL m_bGravity;
  BOOL m_bLevelling;
  BOOL m_bMagnetism;
  float m_fMass;
  float m_fMaxTurnrollrate;
  int m_iNumBounces;
  BOOL m_bPersistent;
  float m_fRotDrag;
  float m_fRotThrustX;
  float m_fRotThrustY;
  float m_fRotThrustZ;
  float m_fRotVelX;
  float m_fRotVelY;
  float m_fRotVelZ;
  BOOL m_bSticks;
  float m_fThrustX;
  float m_fThrustY;
  float m_fThrustZ;
  BOOL m_bTurnroll;
  float m_fTurnrollRatio;
  int16_t m_sTurnrollAngle;
  BOOL m_bUsesThrust;
  float m_fVelocityX;
  float m_fVelocityY;
  float m_fVelocityZ;
  BOOL m_bWiggle;
  float m_fWiggleAmplitude;
  float m_fWigglesPerSecond;
  BOOL m_bWind;
  BOOL m_bUnlimitedBounce;

  CString m_ScriptName;
  int m_NumParms;

  // Dialog Data
  //{{AFX_DATA(CObjectPropertiesDialog)
  enum { IDD = IDD_OBJECTPROPERTIES };
  // NOTE: the ClassWizard will add data members here
  //}}AFX_DATA

  // Overrides
  // ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CObjectPropertiesDialog)
public:
  virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT &rect, CWnd *pParentWnd,
                      UINT nID, CCreateContext *pContext = NULL);

protected:
  virtual void DoDataExchange(CDataExchange *pDX); // DDX/DDV support
  virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT *pResult);
  //}}AFX_VIRTUAL

  // Implementation
private:
  int m_current_tab;
  CWnd *m_Parent;      // parent window to this dialog
  BOOL m_Initializing; // Are we done initializing?
  float m_keypad_w, m_keypad_h, m_keypad_x, m_keypad_y;

public:
  void RunKeypadFunction(int code);
  void Deactivate(); // deactivates current tab
  void Activate();   // activates current tab.
  CPropertyAIDlg *m_PropAIDlg;
  CPropertyPhysicsDlg *m_PropPhysicsDlg;
  CKeypadDialog *m_KeypadTabDialog;

private:
  void DoKeypadTabNotify(NMHDR *); // take care of tab control notifications

protected:
  // Generated message map functions
  //{{AFX_MSG(CObjectPropertiesDialog)
  virtual BOOL OnInitDialog();
  afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
  afx_msg void OnSize(UINT nType, int cx, int cy);
  afx_msg void OnMove(int x, int y);
  afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  virtual void OnOK();
  virtual void OnCancel();
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
};

#endif
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_OBJECTPROPERTIESDIALOG_H__B4ABFD41_F15C_11D0_8901_0020A90CB6F2__INCLUDED_)