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.
133 lines
2.6 KiB
C++
133 lines
2.6 KiB
C++
// TNPanel.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "mw4gameed2.h"
|
|
#include "TNPanel.h"
|
|
#include "EdGUIObject.h"
|
|
#include "UndoManager.h"
|
|
#include "ObjProps.h"
|
|
#include "ObjProps.h"
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTNPanel dialog
|
|
CTNPanel::CTNPanel(EdGUIObject *gobj,UndoCommand **cmd,CWnd* pParent /*=NULL*/)
|
|
: CPanelDlg(CTNPanel::IDD, pParent)
|
|
{
|
|
MyObj=gobj;
|
|
CmdLst=cmd;
|
|
MyMultiProps=NULL;
|
|
//{{AFX_DATA_INIT(GUIObjPanel)
|
|
m_Name = _T("");
|
|
m_ObjType = _T("");
|
|
m_UseInGame = false;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CTNPanel::CTNPanel(CObjProps *gobj,CWnd* pParent): CPanelDlg(CTNPanel::IDD, pParent) // standard constructor
|
|
{
|
|
MyMultiProps=gobj;
|
|
MyObj=NULL;
|
|
CmdLst=NULL;
|
|
m_Name = _T("");
|
|
m_ObjType = _T("");
|
|
m_UseInGame = false;
|
|
|
|
|
|
}
|
|
|
|
|
|
void CTNPanel::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CTNPanel)
|
|
DDX_Text(pDX, IDC_NAME, m_Name);
|
|
DDX_Text(pDX, IDC_OBJTYPE, m_ObjType);
|
|
DDX_Check(pDX, IDC_USEINGAME, m_UseInGame);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTNPanel, CPanelDlg)
|
|
//{{AFX_MSG_MAP(CTNPanel)
|
|
ON_EN_CHANGE(IDC_NAME, OnChangeName)
|
|
ON_BN_CLICKED(IDC_USEINGAME, OnUseingame)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTNPanel message handlers
|
|
|
|
|
|
BOOL CTNPanel::OnInitDialog()
|
|
{
|
|
CPanelDlg::OnInitDialog();
|
|
|
|
Verify(!(MyMultiProps && MyObj));
|
|
if(MyMultiProps==NULL)
|
|
{
|
|
m_Name=MyObj->GetName();
|
|
m_ObjType=MyObj->GetTypeName();
|
|
m_UseInGame = MyObj->HasLocalizedName();
|
|
|
|
}
|
|
else
|
|
{
|
|
m_Name=MyMultiProps->GetName();
|
|
m_UseInGame=MyMultiProps->GetUseInGame();
|
|
m_ObjType="Multiple Objects";
|
|
}
|
|
|
|
UpdateData(FALSE);
|
|
NameChange=false;
|
|
UIGChange=false;
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CTNPanel::OnChangeName()
|
|
{
|
|
NameChange=true;
|
|
|
|
}
|
|
|
|
void CTNPanel::OnOK()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
Verify(!(MyMultiProps && MyObj));
|
|
if(MyMultiProps!=NULL)
|
|
{
|
|
|
|
if(NameChange) MyMultiProps->SetName(m_Name);
|
|
if(UIGChange) MyMultiProps->SetUseInGame(m_UseInGame?true:false);
|
|
|
|
}
|
|
else
|
|
{
|
|
UndoCommand *cmd=new RenameCommand(MyObj);
|
|
MyObj->SetName(m_Name);
|
|
MyObj->UseLocalizedName(m_UseInGame?true:false);
|
|
if(*CmdLst==NULL)
|
|
{
|
|
*CmdLst=cmd;
|
|
}
|
|
else
|
|
{
|
|
(*CmdLst)->Attach(cmd);
|
|
}
|
|
}
|
|
//CPanelDlg::OnOK();
|
|
}
|
|
|
|
void CTNPanel::OnUseingame()
|
|
{
|
|
UIGChange=true;
|
|
|
|
}
|