From e9835c718d00d7b4b9ae004ef22f1af471b88c42 Mon Sep 17 00:00:00 2001 From: Daveo Date: Wed, 29 Nov 2000 17:07:57 +0000 Subject: [PATCH] --- Utils/MapEdit/Core.cpp | 17 +++- Utils/MapEdit/Core.h | 4 + Utils/MapEdit/Export.cpp | 21 ++++- Utils/MapEdit/Export.h | 5 +- Utils/MapEdit/Layer.h | 2 +- Utils/MapEdit/LayerTile.cpp | 6 +- Utils/MapEdit/LayerTile.h | 2 +- Utils/MapEdit/Map.cpp | 54 +++++++++++-- Utils/MapEdit/Map.h | 9 ++- Utils/MapEdit/MapEdit.clw | 23 +++--- Utils/MapEdit/MapEdit.rc | 6 +- Utils/MapEdit/MapEditDoc.cpp | 9 ++- Utils/MapEdit/MapEditDoc.h | 1 + Utils/MapEdit/TileSet.cpp | 152 ++++++++++++++++++++++++++--------- Utils/MapEdit/TileSet.h | 11 +++ Utils/MapEdit/resource.h | 1 + Utils/MapEdit/utils.cpp | 5 +- Utils/MapEdit/utils.h | 5 -- 18 files changed, 253 insertions(+), 80 deletions(-) diff --git a/Utils/MapEdit/Core.cpp b/Utils/MapEdit/Core.cpp index 0851c1f63..65128afa2 100644 --- a/Utils/MapEdit/Core.cpp +++ b/Utils/MapEdit/Core.cpp @@ -437,6 +437,13 @@ void CCore::TileBankLoad(char *Filename) UpdateView(NULL); } +/*****************************************************************************/ +void CCore::TileBankDelete() +{ + TileBank.Delete(); + UpdateView(NULL); +} + /*****************************************************************************/ void CCore::TileBankReload() { @@ -488,6 +495,12 @@ void CCore::ActiveBrushRight(CMapEditView *View) UpdateView(View); } +/*****************************************************************************/ +BOOL CCore::IsTileValid(int Set,int Tile) +{ + return(TileBank.IsTileValid(Set,Tile)); +} + /*****************************************************************************/ /*** Misc ********************************************************************/ /*****************************************************************************/ @@ -602,13 +615,13 @@ void CCore::ExportAGB(char *Filename) int LayerCount=Layer.size(); char ExportName[256]; - SetFileExt(Filename,ExportName,"C"); + SetFileExt(Filename,ExportName,"c"); CExportAGB Exp(ExportName); for (int i=0;iExport(Exp); + Layer[i]->Export(this,Exp); } Exp.ExportAll(this); } diff --git a/Utils/MapEdit/Core.h b/Utils/MapEdit/Core.h index c6449face..7713b0c34 100644 --- a/Utils/MapEdit/Core.h +++ b/Utils/MapEdit/Core.h @@ -52,12 +52,16 @@ public: CTileBank &GetTileBank() {return(TileBank);} CTile &GetTile(int Bank,int TileNo) {return(TileBank.GetTile(Bank,TileNo));} void TileBankLoad(char *Filename); + void TileBankDelete(); void TileBankReload(); void TileBankSet(); void MirrorX(CMapEditView *View); void MirrorY(CMapEditView *View); void ActiveBrushLeft(CMapEditView *View); void ActiveBrushRight(CMapEditView *View); + BOOL IsTileValid(int Set,int Tile); + + // Param Bar void UpdateParamBar(); diff --git a/Utils/MapEdit/Export.cpp b/Utils/MapEdit/Export.cpp index 3b0ace127..2cc2aa590 100644 --- a/Utils/MapEdit/Export.cpp +++ b/Utils/MapEdit/Export.cpp @@ -35,7 +35,7 @@ void CExport::ExportAll(CCore *Core) /*****************************************************************************/ /*****************************************************************************/ /*****************************************************************************/ -void CExport::ExportLayerTile(char *LayerName,CMap &Map) +void CExport::ExportLayerTile(CCore *Core,char *LayerName,CMap &Map) { int MapWidth=Map.GetWidth(); int MapHeight=Map.GetHeight(); @@ -55,7 +55,7 @@ sMapElem BlankElem={0,0,0}; if (XIsTileValid(ThisElem.Set,ThisElem.Tile)) { // Render Non Zero Tiles CTile &ThisTile=Core->GetTile(ThisElem.Set,ThisElem.Tile); @@ -488,7 +488,7 @@ BOOL CLayerTile::Paint(CMap &Blk,CPoint &CursorPos) } /*****************************************************************************/ -void CLayerTile::Export(CExport &Exp) +void CLayerTile::Export(CCore *Core,CExport &Exp) { - Exp.ExportLayerTile(GetName(),Map); + Exp.ExportLayerTile(Core,GetName(),Map); } diff --git a/Utils/MapEdit/LayerTile.h b/Utils/MapEdit/LayerTile.h index 2b2125677..eb858503b 100644 --- a/Utils/MapEdit/LayerTile.h +++ b/Utils/MapEdit/LayerTile.h @@ -64,7 +64,7 @@ public: void Load(CFile *File,float Version); void Save(CFile *File); - void Export(CExport &Exp); + void Export(CCore *Core,CExport &Exp); // Functions BOOL SetMode(int NewMode); diff --git a/Utils/MapEdit/Map.cpp b/Utils/MapEdit/Map.cpp index 2195879d3..514b39398 100644 --- a/Utils/MapEdit/Map.cpp +++ b/Utils/MapEdit/Map.cpp @@ -128,11 +128,14 @@ sMapElem &CMap::Get(int X,int Y) } /*****************************************************************************/ -void CMap::Set(int X,int Y,sMapElem &Blk) +void CMap::Set(int X,int Y,sMapElem &Blk,BOOL Force) { int Width=GetWidth(); int Height=GetHeight(); + if (!Force) // if bank or tile invalid + if (Blk.Set==-1 || Blk.Tile==-1) return; + // Make sure within map if ((X>=0 && X=0 && Y=0 && Tile>=0); return(TileSet[Bank].GetTile(Tile)); } @@ -252,7 +277,11 @@ int MaxTile=TileSet[CurrentSet].GetTileCount(); for (int X=0; X