This commit is contained in:
Daveo 2000-12-06 19:29:40 +00:00
parent 2ba61e595c
commit 73c60fbd11
23 changed files with 471 additions and 84 deletions

View file

@ -0,0 +1,94 @@
# Microsoft Developer Studio Project File - Name="DaveLib" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=DaveLib - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "DaveLib.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "DaveLib.mak" CFG="DaveLib - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "DaveLib - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "DaveLib - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "DaveLib - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
MTL=midl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "DaveLib - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
MTL=midl.exe
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "DaveLib - Win32 Release"
# Name "DaveLib - Win32 Debug"
# Begin Source File
SOURCE=.\List.h
# End Source File
# Begin Source File
SOURCE=.\list2d.h
# End Source File
# End Target
# End Project

View file

@ -1,9 +1,11 @@
/**********************/ /******************/
/*** Vtx List Class ***/ /*** List Class ***/
/**********************/ /******************/
#if !defined __VTXLIST_CLASS_HEADER__ #pragma warning( disable : 4786 )
#define __VTXLIST_CLASS_HEADER__
#if !defined __LIST_CLASS_HEADER__
#define __LIST_CLASS_HEADER__
#include <Vector> #include <Vector>
@ -41,10 +43,9 @@ public:
return(ListSize); return(ListSize);
} }
void clear() void clear() {List.clear();}
{ void resize(int i) {List.resize(i);}
List.clear();
}
int size() {return(List.size());} int size() {return(List.size());}

View file

@ -0,0 +1,10 @@
/******************/
/*** List Class ***/
/******************/
#include <Vector>
#include "List2d.h"

143
Utils/Libs/DaveLib/list2d.h Normal file
View file

@ -0,0 +1,143 @@
/*********************/
/*** List 2d Class ***/
/*********************/
#pragma warning( disable : 4786 )
#ifndef __LIST_2D_HEADER__
#define __LIST_2D_HEADER__
#include <Vector>
/*****************************************************************************/
template <class T> class CList2d
{
public:
inline int GetWidth()
{
return(List.size());
}
inline int GetHeight()
{
if (GetWidth())
{
return(List[0].size());
}
return(0);
}
inline void SetSize(int Width,int Height)
{
List.resize(Width);
for (int i=0;i<Width;i++)
{
List[i].resize(Height);
}
}
inline void Resize(int Width,int Height)
{
CList2d<T> Old=*this;
int OldWidth=Old.GetWidth();
int OldHeight=Old.GetHeight();
int MinW=min(Width,OldWidth);
int MinH=min(Height,OldHeight);
Delete();
SetSize(Width,Height,TRUE);
for (int Y=0; Y<MinH; Y++)
{
for (int X=0; X<MinW; X++)
{
Set(X,Y,Old.Get(X,Y));
}
}
}
inline void Delete()
{
int Width=GetWidth();
for (int i=0;i<Width;i++)
{
List[i].clear();
}
List.clear();
}
inline T &Get(int X,int Y)
{
return(List[X][Y]);
}
inline void Set(int X,int Y,T &Src)
{
int Width=GetWidth();
int Height=GetHeight();
// Make sure within List
if ((X>=0 && X<Width) && (Y>=0 && Y<Height))
{
List[X][Y]=Src;
}
}
inline void Set(int X,int Y,CList2d &Src)
{
int Width=Src.GetWidth();
int Height=Src.GetHeight();
for (int Y=0; Y<Height; Y++)
{
for (int X=0; X<Width; X++)
{
Set(StartX+X,StartY+Y,Src.Get(X,Y));
}
}
}
inline bool DoesContainElem(T &Tile)
{
int Width=GetWidth();
int Height=GetHeight();
for (int Y=0; Y<Height; Y++)
{
for (int X=0; X<Width; X++)
{
T &ThisElem=Get(X,Y);
if (ThisElem==Elem) return(TRUE);
}
}
return(FALSE);
}
inline void operator=(T &Src)
{
int Width=Src.GetWidth();
int Height=Src.GetHeight();
Delete();
SetSize(Width,Height);
for (int Y=0; Y<Height; Y++)
{
for (int X=0; X<Width; X++)
{
Set(X,Y,Src.Get(StartX+X,StartY+Y),Force);
}
}
}
protected:
std::vector< std::vector<T> > List;
};
/*****************************************************************************/
#endif

View file

@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Target_Dir "" # PROP Target_Dir ""
MTL=midl.exe MTL=midl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "include" /I "include\pc" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FR"Release/" /Fp"Release/Glib.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c # ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FR"Release/" /Fp"Release/Glib.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
# ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe

View file

@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Target_Dir "" # PROP Target_Dir ""
MTL=midl.exe MTL=midl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\glib\include" /I "..\glib\include\pc" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c # ADD CPP /nologo /MD /W3 /GX /O2 /I "..\glib" /I "..\maths" /I "..\davelib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe

View file

@ -42,7 +42,7 @@ RSC=rc.exe
# PROP Target_Dir "" # PROP Target_Dir ""
MTL=midl.exe MTL=midl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /I "..\common" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe

View file

@ -65,8 +65,6 @@ CTexGrab::~CTexGrab()
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void CTexGrab::Process() void CTexGrab::Process()
{ {
SprSet MySprSet;
MySprSet.setHalfTpage(m_useHalfTpage); MySprSet.setHalfTpage(m_useHalfTpage);
MySprSet.setAnimatedHeader(m_AnimatedHeadersOnly); MySprSet.setAnimatedHeader(m_AnimatedHeadersOnly);
MySprSet.setDontOutputBoxes(m_DontOutputBoxes); MySprSet.setDontOutputBoxes(m_DontOutputBoxes);
@ -92,6 +90,7 @@ SprSet MySprSet;
if (m_PagePlacements) if (m_PagePlacements)
{ {
MySprSet.Write(m_OutFile,m_PageBase,m_WidthPages,m_HeightPages); MySprSet.Write(m_OutFile,m_PageBase,m_WidthPages,m_HeightPages);
MySprSet.CreateTexInfo(TexInfo);
if (m_OutLbm) if (m_OutLbm)
MySprSet.WriteLBM(m_OutLbm); MySprSet.WriteLBM(m_OutLbm);
@ -127,6 +126,14 @@ GString UpperName(Name);
Purpose: Purpose:
Params: Params:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void CTexGrab::AddMemFrame(char *Name,Frame &Frame)
{
GString UpperName(Name);
UpperName.Upper();
MyFiles.AddMemFrame(UpperName,Frame);
}
/* /*

View file

@ -40,8 +40,9 @@ RSC=rc.exe
# PROP Output_Dir "Release" # PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release" # PROP Intermediate_Dir "Release"
# PROP Target_Dir "" # PROP Target_Dir ""
MTL=midl.exe
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /I "..\GinLib" /I "..\glib\include" /I "..\glib\include\pc" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /I "..\glib" /I "..\ginlib" /I "..\maths" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x809 /d "NDEBUG" # ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG" # ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe
@ -63,8 +64,9 @@ LIB32=link.exe -lib
# PROP Output_Dir "Debug" # PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug" # PROP Intermediate_Dir "Debug"
# PROP Target_Dir "" # PROP Target_Dir ""
MTL=midl.exe
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\GinLib" /I "..\glib\include" /I "..\glib\include\pc" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\glib" /I "..\ginlib" /I "..\maths" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x809 /d "_DEBUG" # ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG" # ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe BSC32=bscmake.exe

View file

@ -56,6 +56,8 @@ public:
~CTexGrab(); ~CTexGrab();
void AddFile(char *Name); void AddFile(char *Name);
void AddMemFrame(char *Name,Frame &Frame);
void Process(); void Process();
void CompressTpages(bool f) {m_compressTpages=f;} void CompressTpages(bool f) {m_compressTpages=f;}
@ -85,12 +87,15 @@ public:
void MaxSize(int Size) {MyFiles.SetMaxSize(Size);} void MaxSize(int Size) {MyFiles.SetMaxSize(Size);}
void SetTPage(int Base,int W,int H) {m_PageBase=Base; m_WidthPages=W; m_HeightPages=H; m_PagePlacements=true;} void SetTPage(int Base,int W,int H) {m_PageBase=Base; m_WidthPages=W; m_HeightPages=H; m_PagePlacements=true;}
void ForceOffsets(int XOfs,int YOfs) {MyFiles.SetXOff(XOfs); MyFiles.SetYOff(YOfs); MyFiles.SetForceOffsets(true);} void ForceOffsets(int XOfs,int YOfs) {MyFiles.SetXOff(XOfs); MyFiles.SetYOff(YOfs); MyFiles.SetForceOffsets(true);}
std::vector<sTexOutInfo> &GetTexInfo() {return(TexInfo);}
protected: protected:
AllFiles MyFiles; AllFiles MyFiles;
SprSet MySprSet;
GString m_OutFile; GString m_OutFile;
GString m_OutLbm; GString m_OutLbm;
@ -109,6 +114,8 @@ protected:
bool m_AnimatedHeadersOnly; bool m_AnimatedHeadersOnly;
bool m_DontOutputBoxes; bool m_DontOutputBoxes;
bool m_AlignHeaders; bool m_AlignHeaders;
std::vector<sTexOutInfo> TexInfo;
}; };

View file

@ -127,12 +127,19 @@ void SprSet::AddFile(FileInfo const & ThisInfo)
GString Ext(FileName.Ext()); GString Ext(FileName.Ext());
Ext.Upper(); Ext.Upper();
if (Ext == "LBM" || Ext == "BMP") if (ThisInfo.getHasMemFrame())
AddLbm(ThisInfo); { // NEW!! Frames from memory :o) Dave
else if (Ext == "ANM") AddFrame(ThisInfo.getMemFrame(),ThisInfo);
AddAnm(ThisInfo); }
else else
Error(ERR_FATAL,"Don't deal with these sort of files : %s", FileName.FullName()); {
if (Ext == "LBM" || Ext == "BMP")
AddLbm(ThisInfo);
else if (Ext == "ANM")
AddAnm(ThisInfo);
else
Error(ERR_FATAL,"Don't deal with these sort of files : %s", FileName.FullName());
}
} }
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
Function: Function:
@ -355,6 +362,47 @@ void SprSet::WriteReport(char const * File)
Error(ERR_FATAL,"Couldn't open file %s for output",(char const *)OutFileName); Error(ERR_FATAL,"Couldn't open file %s for output",(char const *)OutFileName);
} }
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
#include <direct.h>
void SprSet::CreateTexInfo(std::vector<sTexOutInfo> &TexInfo)
{
int ListSize=AllSprFrames.size();
const int DirLen=1024;
char Dir[DirLen+1];
GString CurrDir;
CurrDir=getcwd(Dir,DirLen);
CurrDir.Upper();
CurrDir=CurrDir+"\\";
TexInfo.resize(ListSize);
for (int f=0;f<ListSize;f++)
{
SprFrame &Frm =AllSprFrames[f];
sTexOutInfo &ThisInfo=TexInfo[f];
GString Name=Frm.GetFileInfo()->GetActualName();
ThisInfo.Name=GFName::makerelative(CurrDir,Name,Dir);
ThisInfo.Clut=Frm.GetClut();
ThisInfo.Tpage=Frm.GetTpage();
ThisInfo.Rotated=Frm.IsRotated();
ThisInfo.u=Frm.GetTPRect().X;
ThisInfo.v=Frm.GetTPRect().Y;
ThisInfo.w=Frm.GetWidth();
ThisInfo.h=Frm.GetHeight();
ThisInfo.XOfs=Frm.GetX();
ThisInfo.XOfs=Frm.GetY();
}
}
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
Function: Function:
Purpose: Allocate all processed frames into tpages Purpose: Allocate all processed frames into tpages

View file

@ -44,6 +44,15 @@
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
Structure defintions Structure defintions
-------------------- */ -------------------- */
struct sTexOutInfo
{
GString Name;
u16 Clut;
u16 Tpage;
bool Rotated;
int u,v,w,h;
int XOfs,YOfs;
};
/* Encapsulates a file and all the infomation parkgrab needs to process it /* Encapsulates a file and all the infomation parkgrab needs to process it
----------------------------------------------------------------------- */ ----------------------------------------------------------------------- */
@ -54,7 +63,6 @@ class FileInfo
{ {
CrossHair=false; CrossHair=false;
ForceOffsets=false; ForceOffsets=false;
MemFrame=0;
} }
FileInfo(FileInfo const & Fi) FileInfo(FileInfo const & Fi)
@ -122,7 +130,10 @@ class FileInfo
ShrinkToFit=NewShrinkToFit; ShrinkToFit=NewShrinkToFit;
m_allocateAs16Bit=allocateAs16Bit; m_allocateAs16Bit=allocateAs16Bit;
MemFrame=NewMemFrame; if (NewMemFrame)
{
MemFrame=*NewMemFrame;
}
/* /*
if we're allocating on a 16 bit pixel boundary then if we're allocating on a 16 bit pixel boundary then
we don't want the texture to be rotated we don't want the texture to be rotated
@ -177,6 +188,12 @@ class FileInfo
bool getAllocateAs16Bit(void) const bool getAllocateAs16Bit(void) const
{return(m_allocateAs16Bit);} {return(m_allocateAs16Bit);}
bool getHasMemFrame(void) const
{return(MemFrame.SeeData!=0);}
Frame const &getMemFrame() const
{return(MemFrame);}
char const * GetActualName(void) const char const * GetActualName(void) const
{return(ActualFileName);} {return(ActualFileName);}
@ -198,7 +215,7 @@ class FileInfo
int XOff,YOff; int XOff,YOff;
Frame *MemFrame; Frame MemFrame;
}; };
typedef std::vector<FileInfo> FIVec; typedef std::vector<FileInfo> FIVec;
@ -439,6 +456,26 @@ public:
{ {
return(MyFileInfo.getAllocateAs16Bit()); return(MyFileInfo.getAllocateAs16Bit());
} }
int getX(void) {return(X);}
int getY(void) {return(Y);}
int getW(void)
{
if (MyFileInfo.GetMoveUVs() && Width && !MyFileInfo.getAllocateAs16Bit())
return(Width-1);
else
return(Width);
}
int getH(void)
{
if (MyFileInfo.GetMoveUVs() && Height && !MyFileInfo.getAllocateAs16Bit())
return(Height-1);
else
return(Height);
}
protected: protected:
void ResizeAndReduce(Frame & Frm,int TargCols,float XPerc,float YPerc,bool ZeroSeeThrough); void ResizeAndReduce(Frame & Frm,int TargCols,float XPerc,float YPerc,bool ZeroSeeThrough);
@ -485,6 +522,8 @@ public:
void AddFiles(FIVec const & FileList); void AddFiles(FIVec const & FileList);
void CreateTexInfo(std::vector<sTexOutInfo> &TexInfo);
void Write(char const * FileName,int TpNumber,int WidthInTpages,int HeightInTpages); void Write(char const * FileName,int TpNumber,int WidthInTpages,int HeightInTpages);
void WriteLBM(char const * FileName); void WriteLBM(char const * FileName);
void WriteSprFile(char const * Name); void WriteSprFile(char const * Name);

View file

@ -55,15 +55,25 @@ struct TPInfo
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
Vars Vars
---- */ ---- */
// changed by dave to get the pixel border back
static TPInfo const InfStruct[TP_NUM_OF_TP_TYPES]= static TPInfo const InfStruct[TP_NUM_OF_TP_TYPES]=
{ {
{1,256,1,1}, /* TP_4 */ {1,256,0,0}, // TP_4
{2,512,2,1}, /* TP_8 */ {2,512,0,0}, // TP_8
{4,256,4,1}, /* TP_16 */ {4,256,0,0}, // TP_16
{0,0,0,0}, /* TP_SCREEN */ {0,0,0,0}, // TP_SCREEN
{16*4,1024*4,0,0}, /* TP_PAL */ {16*4,1024*4,0,0}, // TP_PAL
}; };
/*
static TPInfo const InfStruct[TP_NUM_OF_TP_TYPES]=
{
{1,256,1,1}, // TP_4
{2,512,2,1}, // TP_8
{4,256,4,1}, // TP_16
{0,0,0,0}, // TP_SCREEN
{16*4,1024*4,0,0}, // TP_PAL
};
*/
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
Function Prototypes Function Prototypes
------------------- */ ------------------- */

View file

@ -73,10 +73,10 @@ int Width,Height;
// Create Tile Layers // Create Tile Layers
// Type Width Height Scale 3d? Resizable? // Type Width Height Scale 3d? Resizable?
if (Dlg.m_Back) Layer.push_back(new CLayerTile( CLayerTile::Back, 32, 32, 4.0f, FALSE, FALSE)); if (Dlg.m_Back) Layer.push_back(new CLayerTile( LAYERTILE_BACK, 32, 32, 4.0f, FALSE, FALSE));
if (Dlg.m_Mid) Layer.push_back(new CLayerTile( CLayerTile::Mid, Width, Height, 2.0f, FALSE, TRUE)); if (Dlg.m_Mid) Layer.push_back(new CLayerTile( LAYERTILE_MID, Width, Height, 2.0f, FALSE, TRUE));
Layer.push_back(new CLayerTile( CLayerTile::Action, Width, Height, 1.0f, TRUE, TRUE)); Layer.push_back(new CLayerTile( LAYERTILE_ACTION, Width, Height, 1.0f, TRUE, TRUE));
if (Dlg.m_Fore) Layer.push_back(new CLayerTile( CLayerTile::Fore, Width, Height, 0.5f, FALSE, TRUE)); if (Dlg.m_Fore) Layer.push_back(new CLayerTile( LAYERTILE_FORE, Width, Height, 0.5f, FALSE, TRUE));
Vector3 CamOfs; Vector3 CamOfs;
CamOfs.Zero(); CamOfs.Zero();
@ -631,7 +631,7 @@ int ListSize=Layer.size();
/*****************************************************************************/ /*****************************************************************************/
int CCore::FindActionLayer() int CCore::FindActionLayer()
{ {
int Idx=FindLayer(LAYER_TYPE_TILE,CLayerTile::Action); int Idx=FindLayer(LAYER_TYPE_TILE,LAYERTILE_ACTION);
return(Idx); return(Idx);
} }
@ -676,7 +676,8 @@ char ExportName[256];
SetFileExt(Filename,ExportName,"PME"); SetFileExt(Filename,ExportName,"PME");
CExportPSX Exp(ExportName); LayerCount=1;
CExportPSX Exp(ExportName,LayerCount);
/* for (int i=0;i<LayerCount;i++) /* for (int i=0;i<LayerCount;i++)
{ {

View file

@ -9,6 +9,7 @@
//#include "gl3d.h" //#include "gl3d.h"
#include <Vector3.h> #include <Vector3.h>
#include "Map.h" #include "Map.h"
#include "LayerDef.h"
/*****************************************************************************/ /*****************************************************************************/
enum LAYER_ENUMS enum LAYER_ENUMS
@ -16,13 +17,6 @@ enum LAYER_ENUMS
SELECT_BUFFER_SIZE=16, SELECT_BUFFER_SIZE=16,
}; };
/*****************************************************************************/
enum LAYER_TYPE
{
LAYER_TYPE_TILE=0,
LAYER_TYPE_MAX
};
enum enum
{ {
SCREEN_WIDTH_TILE=30, SCREEN_WIDTH_TILE=30,

31
Utils/MapEdit/LayerDef.h Normal file
View file

@ -0,0 +1,31 @@
/*** Layer Defs ***/
/******************/
#ifndef __LAYER_DEFS_HEADER__
#define __LAYER_DEFS_HEADER__
/*****************************************************************************/
enum LAYER_TYPE
{
LAYER_TYPE_TILE=0,
LAYER_TYPE_MAX
};
enum LAYER_SUBTYPE
{
LAYERTILE_BACK=0,
LAYERTILE_MID,
LAYERTILE_ACTION,
LAYERTILE_FORE,
};
enum TILE_FLAG
{
TILE_FLAG_MIRROR_X=1<<0,
TILE_FLAG_MIRROR_Y=1<<1,
TILE_FLAG_MIRROR_XY=TILE_FLAG_MIRROR_X|TILE_FLAG_MIRROR_Y,
};
/*****************************************************************************/
#endif

View file

@ -473,8 +473,8 @@ CTileBank &TileBank=Core->GetTileBank();
CMap &LBrush=TileBank.GetLBrush(); CMap &LBrush=TileBank.GetLBrush();
CMap &RBrush=TileBank.GetRBrush(); CMap &RBrush=TileBank.GetRBrush();
LBrush.MirrorX(MouseFlagMirrorX); LBrush.MirrorX(TILE_FLAG_MIRROR_X);
RBrush.MirrorX(MouseFlagMirrorX); RBrush.MirrorX(TILE_FLAG_MIRROR_X);
return(TRUE); return(TRUE);
} }
@ -486,8 +486,8 @@ CTileBank &TileBank=Core->GetTileBank();
CMap &LBrush=TileBank.GetLBrush(); CMap &LBrush=TileBank.GetLBrush();
CMap &RBrush=TileBank.GetRBrush(); CMap &RBrush=TileBank.GetRBrush();
LBrush.MirrorY(MouseFlagMirrorY); LBrush.MirrorY(TILE_FLAG_MIRROR_Y);
RBrush.MirrorY(MouseFlagMirrorY); RBrush.MirrorY(TILE_FLAG_MIRROR_Y);
return(TRUE); return(TRUE);
} }

View file

@ -26,19 +26,6 @@ public:
MouseModePaint=0, MouseModePaint=0,
MouseModeSelect, MouseModeSelect,
}; };
enum MouseFlag
{
MouseFlagMirrorX=1<<0,
MouseFlagMirrorY=1<<1,
MouseFlagMirrorXY=MouseFlagMirrorX|MouseFlagMirrorY,
};
enum SubType
{
Back=0,
Mid,
Action,
Fore,
};
CLayerTile(int SubType,int Width,int Height,float Scale,BOOL Is3d,BOOL Resizable); // New Layer CLayerTile(int SubType,int Width,int Height,float Scale,BOOL Is3d,BOOL Resizable); // New Layer
CLayerTile(CFile *File,int Version); // Load Layer CLayerTile(CFile *File,int Version); // Load Layer

View file

@ -27,6 +27,8 @@ enum
}; };
/*****************************************************************************/ /*****************************************************************************/
class CFile;
class CPoint;
class CMap class CMap
{ {
public: public:

View file

@ -18,24 +18,24 @@ Class6=CMapEditDoc
Class7=CMapEditView Class7=CMapEditView
ResourceCount=11 ResourceCount=11
Resource1=IDD_MULTIBAR (English (U.S.)) Resource1=IDD_NEW_LAYER
Resource2=IDD_NEWMAP Resource2=IDD_LAYER_LIST_DIALOG
Resource3=IDD_LAYERTILE_GUI Resource3=IDR_MAINFRAME (English (U.S.))
Resource4=IDD_DIALOGBAR (English (U.S.)) Resource4=IDD_DIALOGBAR (English (U.S.))
Resource5=IDD_NEW_LAYER Resource5=IDD_MULTIBAR (English (U.S.))
Class8=CMultiBar Class8=CMultiBar
Resource6=IDR_MAINFRAME (English (U.S.)) Resource6=IDD_LAYERTILE_GUI
Resource7=IDR_MAPEDITYPE (English (U.S.)) Resource7=IDR_MAPEDITYPE (English (U.S.))
Class9=CLayerList Class9=CLayerList
Class10=CMapSizeDlg Class10=CMapSizeDlg
Resource8=IDD_MAPSIZE Resource8=IDD_ABOUTBOX (English (U.S.))
Class11=CGfxToolBar Class11=CGfxToolBar
Class12=CLayerTileGUI Class12=CLayerTileGUI
Resource9=IDD_LAYER_LIST_DIALOG Resource9=IDD_NEWMAP
Resource10=IDR_TOOLBAR (English (U.S.)) Resource10=IDD_MAPSIZE
Class13=CNewMapGUI Class13=CNewMapGUI
Class14=CProgressDlg Class14=CProgressDlg
Resource11=IDD_ABOUTBOX (English (U.S.)) Resource11=IDR_TOOLBAR (English (U.S.))
[CLS:CChildFrame] [CLS:CChildFrame]
Type=0 Type=0
@ -218,7 +218,7 @@ ImplementationFile=LayerList.cpp
BaseClass=CDialog BaseClass=CDialog
Filter=D Filter=D
VirtualFilter=dWC VirtualFilter=dWC
LastObject=IDC_LAYER_LIST LastObject=CLayerList
[CLS:CGfxToolBar] [CLS:CGfxToolBar]
Type=0 Type=0

View file

@ -69,7 +69,7 @@ LINK32=link.exe
# PROP Ignore_Export_Lib 0 # PROP Ignore_Export_Lib 0
# PROP Target_Dir "" # PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c # ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "..\libs\glib" /I "..\libs\maths" /I "..\libs\davelib" /I "..\libs\ginlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c # ADD CPP /nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "..\libs\glib" /I "..\libs\maths" /I "..\libs\davelib" /I "..\libs\ginlib" /I "..\libs\psxlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG" /d "_AFXDLL" # ADD BASE RSC /l 0x809 /d "_DEBUG" /d "_AFXDLL"
@ -103,6 +103,10 @@ SOURCE=.\Layer.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\LayerDef.h
# End Source File
# Begin Source File
SOURCE=.\LayerTile.cpp SOURCE=.\LayerTile.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View file

@ -3,6 +3,18 @@ Microsoft Developer Studio Workspace File, Format Version 6.00
############################################################################### ###############################################################################
Project: "DaveLib"=..\LIBS\DaveLib\DaveLib.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "GLib"=..\Libs\GLib\Glib.dsp - Package Owner=<4> Project: "GLib"=..\Libs\GLib\Glib.dsp - Package Owner=<4>
Package=<5> Package=<5>
@ -68,6 +80,12 @@ Package=<4>
Begin Project Dependency Begin Project Dependency
Project_Dep_Name TexGrab Project_Dep_Name TexGrab
End Project Dependency End Project Dependency
Begin Project Dependency
Project_Dep_Name maths
End Project Dependency
Begin Project Dependency
Project_Dep_Name DaveLib
End Project Dependency
}}} }}}
############################################################################### ###############################################################################
@ -108,18 +126,6 @@ Package=<4>
############################################################################### ###############################################################################
Project: "mem"=..\Libs\mem\mem.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global: Global:
Package=<5> Package=<5>

View file

@ -75,6 +75,7 @@ GString FilePath=RootPath.Dir();
File->Read(Filename,256+64); File->Read(Filename,256+64);
AddTileSet(Filename); AddTileSet(Filename);
TRACE1("%s\n",Filename);
} }
} }
else else