This commit is contained in:
Daveo 2001-03-06 18:39:42 +00:00
parent e8c765e021
commit c9aea8be1f
5 changed files with 42 additions and 16 deletions

View File

@ -507,6 +507,11 @@ GFName FName=_Filename;
/*****************************************************************************/ /*****************************************************************************/
CElemSet::~CElemSet() CElemSet::~CElemSet()
{ {
}
/*****************************************************************************/
void CElemSet::CleanUp()
{
int ListSize=ElemList.size(); int ListSize=ElemList.size();
for (int i=0; i<ListSize; i++) for (int i=0; i<ListSize; i++)
@ -615,6 +620,17 @@ CElemBank::~CElemBank()
{ {
} }
/*****************************************************************************/
void CElemBank::CleanUp()
{
int ListSize=SetList.size();
for (int i=0; i<ListSize; i++)
{
SetList[i].CleanUp();
}
}
/*****************************************************************************/ /*****************************************************************************/
void CElemBank::Load(CFile *File,int Version) void CElemBank::Load(CFile *File,int Version)
{ {

View File

@ -43,8 +43,8 @@ public:
CElem(int Width,int Height); // Blank (2d) CElem(int Width,int Height); // Blank (2d)
CElem(CCore *Core,const char *Filename,int TexId,int XOfs,int YOfs,int Width,int Height); // 2d elem CElem(CCore *Core,const char *Filename,int TexId,int XOfs,int YOfs,int Width,int Height); // 2d elem
CElem(CCore *Core,const char *Filename,CScene &ThisScene,int Node); // 3d elem CElem(CCore *Core,const char *Filename,CScene &ThisScene,int Node); // 3d elem
void CleanUp(); void CleanUp();
void Purge(); void Purge();
void Render(int Flags,bool Render3d); void Render(int Flags,bool Render3d);
@ -105,6 +105,7 @@ public:
CElemSet(const char *_Filename,int Idx,int Width=DEF_ELEMWIDTH,int Height=DEF_ELEMHEIGHT); CElemSet(const char *_Filename,int Idx,int Width=DEF_ELEMWIDTH,int Height=DEF_ELEMHEIGHT);
~CElemSet(); ~CElemSet();
void CleanUp();
int IsLoaded() {return(Loaded);} int IsLoaded() {return(Loaded);}
int GetCount() {return(ElemList.size());} int GetCount() {return(ElemList.size());}
@ -142,6 +143,7 @@ class CElemBank
public: public:
CElemBank(); CElemBank();
~CElemBank(); ~CElemBank();
void CleanUp();
void Load(CFile *File,int Version); void Load(CFile *File,int Version);
void Save(CFile *File); void Save(CFile *File);

View File

@ -69,7 +69,11 @@ CLayerTile::CLayerTile(CFile *File,int Version)
/*****************************************************************************/ /*****************************************************************************/
CLayerTile::~CLayerTile() CLayerTile::~CLayerTile()
{ {
if (SubType==LAYER_SUBTYPE_ACTION) delete TileBank; if (SubType==LAYER_SUBTYPE_ACTION)
{
TileBank->CleanUp();
delete TileBank;
}
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -26,18 +26,18 @@ Class14=CMultiBar
Class15=CNewMapGUI Class15=CNewMapGUI
ResourceCount=13 ResourceCount=13
Resource1=IDD_ADDLAYER Resource1=IDD_NEWMAP
Resource2=IDD_MAPSIZE Resource2=IDD_LAYER_LIST_DIALOG
Resource3=IDR_MAPEDITYPE (English (U.S.)) Resource3=IDR_MAPEDITYPE (English (U.S.))
Resource4=IDD_NEWMAP Resource4=IDD_MAPSIZE
Resource5=IDD_LAYERTILE_GUI Resource5=IDD_ADDLAYER
Resource6=IDR_TOOLBAR (English (U.S.)) Resource6=IDD_LAYERSHADE_GUI
Resource7=IDD_LAYERSHADE_GUI Resource7=IDD_LAYERTILE_TOOLBAR
Resource8=IDR_MAINFRAME (English (U.S.)) Resource8=IDR_TOOLBAR (English (U.S.))
Resource9=IDD_ABOUTBOX (English (U.S.)) Resource9=IDR_MAINFRAME (English (U.S.))
Resource10=IDD_MULTIBAR (English (U.S.)) Resource10=IDD_ABOUTBOX (English (U.S.))
Resource11=IDD_LAYER_LIST_DIALOG Resource11=IDD_MULTIBAR (English (U.S.))
Resource12=IDD_LAYERTILE_TOOLBAR Resource12=IDD_LAYERTILE_GUI
Class16=CLayerCollisionGUI Class16=CLayerCollisionGUI
Resource13=IDD_LAYERCOLLISION_GUI Resource13=IDD_LAYERCOLLISION_GUI
@ -279,7 +279,7 @@ Command20=ID_MIRRORX
Command21=ID_MIRRORY Command21=ID_MIRRORY
Command22=ID_ACTIVEBRUSH_LEFT Command22=ID_ACTIVEBRUSH_LEFT
Command23=ID_ACTIVEBRUSH_RIGHT Command23=ID_ACTIVEBRUSH_RIGHT
Command24=ID_TOGGLE_TILEVIEW Command24=ID_TOGGLE_SUBVIEW
Command25=ID_2D_3D_TOGGLE Command25=ID_2D_3D_TOGGLE
Command26=ID_WINDOW_NEW Command26=ID_WINDOW_NEW
Command27=ID_WINDOW_CASCADE Command27=ID_WINDOW_CASCADE
@ -308,7 +308,7 @@ Command14=ID_EDIT_UNDO
Command15=ID_EDIT_CUT Command15=ID_EDIT_CUT
Command16=ID_EDIT_COPY Command16=ID_EDIT_COPY
Command17=ID_EDIT_PASTE Command17=ID_EDIT_PASTE
Command18=ID_TOGGLE_TILEVIEW Command18=ID_TOGGLE_SUBVIEW
Command19=ID_ZOOM_OUT Command19=ID_ZOOM_OUT
Command20=ID_NEXT_PANE Command20=ID_NEXT_PANE
Command21=ID_PREV_PANE Command21=ID_PREV_PANE

View File

@ -443,16 +443,20 @@ bool CTileBank::Command(int CmdMsg,CCore *Core,int Param0,int Param1)
{ {
case CmdMsg_SubViewLoad: case CmdMsg_SubViewLoad:
LoadNewSet(Core); LoadNewSet(Core);
GUIUpdate(Core);
break; break;
case CmdMsg_SubViewDelete: case CmdMsg_SubViewDelete:
DeleteSet(Core); DeleteSet(Core);
GUIUpdate(Core);
break; break;
case CmdMsg_SubViewUpdate: case CmdMsg_SubViewUpdate:
ReloadAllSets(); ReloadAllSets();
Core->GetTexCache().Purge(); Core->GetTexCache().Purge();
GUIUpdate(Core);
break; break;
case CmdMsg_SubViewSet: case CmdMsg_SubViewSet:
CurrentSet=TileBankGUI.m_List.GetCurSel(); CurrentSet=TileBankGUI.m_List.GetCurSel();
GUIUpdate(Core);
break; break;
case CmdMsg_ActiveBrushLeft: case CmdMsg_ActiveBrushLeft:
ActiveBrush=LBrush; ActiveBrush=LBrush;
@ -483,7 +487,7 @@ void CTileBank::GUIKill(CCore *Core)
void CTileBank::GUIUpdate(CCore *Core) void CTileBank::GUIUpdate(CCore *Core)
{ {
int ListSize=GetSetCount(); int ListSize=GetSetCount();
bool IsSubView=true; bool IsSubView=Core->IsSubView();
if (TileBankGUI.m_List) if (TileBankGUI.m_List)
{ {