Files
firestorm/Gameleap/code/mw4/Code/MW4GameEd2/AVSDlg.cpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

159 lines
3.1 KiB
C++

// AVSDlg.cpp : implementation file
//
#include "stdafx.h"
#include "mw4gameed2.h"
#include "AVSDlg.h"
#include "ObjectManager.h"
/////////////////////////////////////////////////////////////////////////////
// CAVSDlg dialog
CAVSDlg::CAVSDlg(CString mname,MPGame *gme,CWnd* pParent /*=NULL*/)
: CDialog(CAVSDlg::IDD, pParent)
{
MyGame=gme;
MisName=mname;
//{{AFX_DATA_INIT(CAVSDlg)
//}}AFX_DATA_INIT
}
void CAVSDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAVSDlg)
DDX_Control(pDX, IDC_INCLUDELIST, m_IncludeList);
DDX_Control(pDX, IDC_EXCLUDLIST, m_ExcludeList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAVSDlg, CDialog)
//{{AFX_MSG_MAP(CAVSDlg)
ON_BN_CLICKED(IDC_ADDSELECTED, OnAddselected)
ON_BN_CLICKED(IDC_REMOVESELECTED, OnRemoveselected)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAVSDlg message handlers
BOOL CAVSDlg::OnInitDialog()
{
CDialog::OnInitDialog();
WIN32_FIND_DATA file_data;
HANDLE file_find;
file_find=FindFirstFile("Content\\Missions\\"+MisName+"\\Scripts\\*.abl",&file_data);
if(file_find != INVALID_HANDLE_VALUE)
{
CString fname;
do
{
fname=file_data.cFileName;
fname=fname.Left(fname.ReverseFind('.'));
m_ExcludeList.AddString(fname);
}
while (FindNextFile(file_find,&file_data));
}
// TODO: Add extra initialization here
for(int i=0;i<MyGame->ScriptTotal;i++)
{
int eval=m_ExcludeList.FindString(-1,MyGame->ScriptPaths[i]);
if(eval!=LB_ERR)
{
m_ExcludeList.DeleteString(eval);
m_IncludeList.AddString(MyGame->ScriptPaths[i]);
}
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAVSDlg::OnOK()
{
// TODO: Add extra validation here
MyGame->ScriptTotal=m_IncludeList.GetCount();
for(int i=0;i<MyGame->ScriptTotal;i++)
{
m_IncludeList.GetText(i,MyGame->ScriptPaths[i]);
}
CDialog::OnOK();
}
void CAVSDlg::OnAddselected()
{
int selcount=m_ExcludeList.GetSelCount();
if(selcount==0) return;
int *selitms=new int[selcount];
m_ExcludeList.GetSelItems(selcount,selitms);
CString str;
int i;
for(i=0;i<selcount;i++)
{
m_ExcludeList.GetText(selitms[i],str);
m_IncludeList.AddString(str);
}
for( i=0;i<m_IncludeList.GetCount();i++)
{
m_IncludeList.GetText(i,str);
int idx=m_ExcludeList.FindString(-1,str);
if(idx!=LB_ERR)
m_ExcludeList.DeleteString(idx);
}
delete selitms;
}
void CAVSDlg::OnRemoveselected()
{
int selcount=m_IncludeList.GetSelCount();
if(selcount==0) return;
int *selitms=new int[selcount];
m_IncludeList.GetSelItems(selcount,selitms);
CString str;
int i;
for(i=0;i<selcount;i++)
{
m_IncludeList.GetText(selitms[i],str);
m_ExcludeList.AddString(str);
}
for( i=0;i<m_ExcludeList.GetCount();i++)
{
m_ExcludeList.GetText(i,str);
int idx=m_IncludeList.FindString(-1,str);
if(idx!=LB_ERR)
m_IncludeList.DeleteString(idx);
}
delete selitms;
}