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_)
|