Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
136 lines
3.4 KiB
C++
136 lines
3.4 KiB
C++
#if !defined(AFX_NFOPROPERTIESDLG_H__7D0F2A09_E333_46EC_98EA_63240423ECB0__INCLUDED_)
|
|
#define AFX_NFOPROPERTIESDLG_H__7D0F2A09_E333_46EC_98EA_63240423ECB0__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// NFOPropertiesDlg.h : header file
|
|
//
|
|
|
|
typedef struct _TEAM_INFO
|
|
{
|
|
int team_count;
|
|
int team_num[8];
|
|
int max_ton[8];
|
|
int min_ton[8];
|
|
int max_total_ton[8];
|
|
int max_team_count[8];
|
|
char skin[8];
|
|
int alignment[8];
|
|
_TEAM_INFO* pNext;
|
|
} TEAM_INFO;
|
|
|
|
|
|
typedef struct _BOT_INFO
|
|
{
|
|
int rule_count;
|
|
int bot_count[14];
|
|
int team_num[14];
|
|
int max_ton[14];
|
|
int min_ton[14];
|
|
int max_level[14];
|
|
int min_level[14];
|
|
_BOT_INFO* pNext;
|
|
} BOT_INFO;
|
|
|
|
typedef struct _SCRIPT_INFO
|
|
{
|
|
char script[256];
|
|
_SCRIPT_INFO* pNext;
|
|
} SCRIPT_INFO;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CNFOPropertiesDlg dialog
|
|
|
|
class CNFOPropertiesDlg : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CNFOPropertiesDlg(CWnd* pParent = NULL); // standard constructor
|
|
~CNFOPropertiesDlg();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CNFOPropertiesDlg)
|
|
enum { IDD = IDD_NFOPROPERTY };
|
|
CStatic m_FileName;
|
|
CButton m_Restore;
|
|
CButton m_RemoveBot;
|
|
CButton m_EditBot;
|
|
CListCtrl m_BotList;
|
|
CButton m_AddBot;
|
|
CButton m_RemoveTeam;
|
|
CButton m_RemoveRule;
|
|
CButton m_EditTeam;
|
|
CButton m_EditRule;
|
|
CButton m_AddTeam;
|
|
CButton m_AddRule;
|
|
CListCtrl m_TeamList;
|
|
CListCtrl m_PropertyList;
|
|
CEdit m_LongName;
|
|
CEdit m_Link;
|
|
CEdit m_Info;
|
|
CEdit m_Author;
|
|
//}}AFX_DATA
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CNFOPropertiesDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
public:
|
|
TEAM_INFO* m_pTeamInfo;
|
|
BOT_INFO* m_pBotInfo;
|
|
BOOL m_bTypeAvailable[GameTypeCount];
|
|
SCRIPT_INFO* m_pScriptInfo[GameTypeCount];
|
|
BOOL m_bSinglePlayer;
|
|
INT m_iMaxTeam[GameTypeCount];
|
|
INT m_iMaxAlignment[GameTypeCount];
|
|
BOOL m_bEditRule;
|
|
|
|
BOOL LoadNFO();
|
|
BOOL SaveNFO();
|
|
void RefreshBotList(BOT_INFO* pBotInfo, int nSelected);
|
|
|
|
TEAM_INFO* FindTeamInfo(int index);
|
|
BOOL AppendTeamInfo(TEAM_INFO* info);
|
|
BOOL RemoveTeamInfo(int index);
|
|
void RemoveAllTeamInfo();
|
|
BOT_INFO* FindBotInfo(int index);
|
|
BOOL AppendBotInfo(BOT_INFO* info);
|
|
BOOL RemoveBotInfo(int index);
|
|
void RemoveAllBotInfo();
|
|
BOOL RemoveRuleFromBotInfo(BOT_INFO* info, int index);
|
|
void RemoveAllScriptInfo();
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CNFOPropertiesDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnItemchangedNFOPropertyList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnNFOEditRule();
|
|
afx_msg void OnNFOAddRule();
|
|
virtual void OnOK();
|
|
afx_msg void OnNFOAddTeam();
|
|
afx_msg void OnNFOEditTeam();
|
|
afx_msg void OnNFORemoveRule();
|
|
afx_msg void OnNFORemoveTeam();
|
|
afx_msg void OnItemchangedNFOTeamList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnNFOAddBot();
|
|
afx_msg void OnItemchangedNFOBotList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnNFOEditBot();
|
|
afx_msg void OnNFORemoveBot();
|
|
afx_msg void OnRestore();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_NFOPROPERTIESDLG_H__7D0F2A09_E333_46EC_98EA_63240423ECB0__INCLUDED_)
|