From 2a24119501c5507c1db51966fdd3b3e0493b2403 Mon Sep 17 00:00:00 2001 From: Daveo Date: Mon, 4 Dec 2000 16:47:34 +0000 Subject: [PATCH] --- Utils/Libs/TexGrab/TexGrab.dsp | 2 +- Utils/MapEdit/Core.cpp | 89 ++++++++++++++++++++++------------ Utils/MapEdit/Core.h | 21 ++++---- Utils/MapEdit/Export.h | 2 +- Utils/MapEdit/Layer.cpp | 3 +- Utils/MapEdit/Layer.h | 11 +++-- Utils/MapEdit/LayerTile.cpp | 24 ++++----- Utils/MapEdit/LayerTile.h | 12 ++--- Utils/MapEdit/Map.cpp | 3 +- Utils/MapEdit/MapEdit.clw | 18 +++---- Utils/MapEdit/MapEdit.dsp | 4 +- Utils/MapEdit/MapEdit.dsw | 86 +++++++++++++++++++++++++++++--- Utils/MapEdit/MapEdit.rc | 12 ++--- Utils/MapEdit/TexCache.cpp | 2 +- Utils/MapEdit/TexCache.h | 3 +- Utils/MapEdit/TileSet.cpp | 76 +++++++++++++++++++---------- Utils/MapEdit/TileSet.h | 30 ++++++------ Utils/MapEdit/resource.h | 3 +- Utils/MapEdit/utils.cpp | 40 +-------------- Utils/MapEdit/utils.h | 11 ++--- 20 files changed, 273 insertions(+), 179 deletions(-) diff --git a/Utils/Libs/TexGrab/TexGrab.dsp b/Utils/Libs/TexGrab/TexGrab.dsp index b3bf98a4f..cd0cb7217 100644 --- a/Utils/Libs/TexGrab/TexGrab.dsp +++ b/Utils/Libs/TexGrab/TexGrab.dsp @@ -64,7 +64,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\GinLib" /I "..\glib\include" /I "..\glib\include\pc" /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 BASE RSC /l 0x809 /d "_DEBUG" # ADD RSC /l 0x809 /d "_DEBUG" BSC32=bscmake.exe diff --git a/Utils/MapEdit/Core.cpp b/Utils/MapEdit/Core.cpp index d94c45736..e62c0b6f9 100644 --- a/Utils/MapEdit/Core.cpp +++ b/Utils/MapEdit/Core.cpp @@ -4,7 +4,8 @@ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include @@ -77,11 +78,15 @@ int Width,Height; Layer.push_back(new CLayerTile( CLayerTile::Action, Width, Height, 1.0f, TRUE, TRUE)); if (Dlg.m_Fore) Layer.push_back(new CLayerTile( CLayerTile::Fore, Width, Height, 0.5f, FALSE, TRUE)); +Vector3 CamOfs; + CamOfs.Zero(); + CamOfs.x=-15; + ActiveLayer=FindActionLayer(); - MapCam=Vec(0,0,0); - MapCamOfs=Vec(-15,10,0); - TileCam=Vec(0,0,0); - TileCamOfs=Vec(-15,10,0); + MapCam.Zero(); + MapCamOfs=CamOfs; + TileCam.Zero(); + TileCamOfs=CamOfs; TileViewFlag=FALSE; GridFlag=TRUE; Is3dFlag=TRUE; @@ -100,10 +105,10 @@ float Version; if (Version>=1.0) { - File->Read(&MapCam,sizeof(Vec)); - File->Read(&MapCamOfs,sizeof(Vec)); - File->Read(&TileCam,sizeof(Vec)); - File->Read(&TileCamOfs,sizeof(Vec)); + File->Read(&MapCam,sizeof(Vector3)); + File->Read(&MapCamOfs,sizeof(Vector3)); + File->Read(&TileCam,sizeof(Vector3)); + File->Read(&TileCamOfs,sizeof(Vector3)); File->Read(&TileViewFlag,sizeof(BOOL)); File->Read(&GridFlag,sizeof(BOOL)); @@ -153,10 +158,10 @@ void CCore::Save(CFile *File) // Version 1 File->Write(&FileVersion,sizeof(float)); - File->Write(&MapCam,sizeof(Vec)); - File->Write(&MapCamOfs,sizeof(Vec)); - File->Write(&TileCam,sizeof(Vec)); - File->Write(&TileCamOfs,sizeof(Vec)); + File->Write(&MapCam,sizeof(Vector3)); + File->Write(&MapCamOfs,sizeof(Vector3)); + File->Write(&TileCam,sizeof(Vector3)); + File->Write(&TileCamOfs,sizeof(Vector3)); File->Write(&TileViewFlag,sizeof(BOOL)); File->Write(&GridFlag,sizeof(BOOL)); @@ -200,7 +205,7 @@ void CCore::Render(CMapEditView *View,BOOL ForceRender) /*****************************************************************************/ void CCore::RenderLayers(CMapEditView *View) { -Vec &ThisCam=GetCam(); +Vector3 &ThisCam=GetCam(); int ListSize=Layer.size(); for (int i=0;i0) - UpdateView(View,Vec(0,0,1.0f)); + Ofs.z=+1.0f; else - UpdateView(View,Vec(0,0,-1.0f)); + Ofs.z=-1.0f; + + UpdateView(View,Ofs); } /*****************************************************************************/ void CCore::MouseMove(CMapEditView *View,UINT nFlags, CPoint &point) { -Vec Ofs(0,0,0); - -Vec &ThisCam=GetCam(); +Vector3 Ofs; +Vector3 &ThisCam=GetCam(); // check if active doc + Ofs.Zero(); if (theApp.GetCurrent()!=View->GetDocument()) return; CurrentMousePos=point; @@ -336,7 +345,7 @@ Vec &ThisCam=GetCam(); Ofs.y*=YS; /* if (nFlags & MK_CONTROL) { // Move Ofs - Vec &CamOfs=GetCamOfs(); + Vector3 &CamOfs=GetCamOfs(); Ofs.y=-Ofs.y; CamOfs+=Ofs; UpdateView(View); @@ -528,7 +537,7 @@ BOOL CCore::IsTileValid(int Set,int Tile) /*****************************************************************************/ /*** Misc ********************************************************************/ /*****************************************************************************/ -Vec &CCore::GetCam() +Vector3 &CCore::GetCam() { if (TileViewFlag) return(TileCam); @@ -538,7 +547,7 @@ Vec &CCore::GetCam() } /*****************************************************************************/ -Vec &CCore::GetCamOfs() +Vector3 &CCore::GetCamOfs() { if (TileViewFlag) return(TileCamOfs); @@ -565,16 +574,22 @@ void CCore::UpdateAll(CMapEditView *View) } /*****************************************************************************/ -void CCore::UpdateView(CMapEditView *View,Vec Ofs) +void CCore::UpdateView(CMapEditView *View) { -Vec &ThisCam=GetCam(); - - Ofs.y=-Ofs.y; - ThisCam+=Ofs; - if (ThisCam.z>-1) ThisCam.z=-1; if (View) View->Invalidate(); } +/*****************************************************************************/ +void CCore::UpdateView(CMapEditView *View,Vector3 &Ofs) +{ +Vector3 &ThisCam=GetCam(); + + ThisCam.x+=Ofs.x; + ThisCam.y-=Ofs.y; + ThisCam.z+=Ofs.z; + if (ThisCam.z>-1) ThisCam.z=-1; + UpdateView(View); +} /*****************************************************************************/ void CCore::SetMapSize(CMapEditView *View,int Width,int Height) @@ -623,9 +638,9 @@ int Idx=FindLayer(LAYER_TYPE_TILE,CLayerTile::Action); /*****************************************************************************/ -Vec CCore::OffsetCam(Vec &Cam,float DivVal) +Vector3 CCore::OffsetCam(Vector3 &Cam,float DivVal) { -Vec ThisCam; +Vector3 ThisCam; ThisCam=Cam/DivVal; ThisCam.z=Cam.z; @@ -673,4 +688,14 @@ CExportPSX Exp(ExportName); Exp.ExportTiles(this); Exp.ExportTexList(this); -} \ No newline at end of file +} + +/*****************************************************************************/ +GString CCore::GetCurrentPath() +{ +GFName FullPath=theApp.GetCurrent()->GetPathName(); +GString Path=FullPath.Dir(); + + return(Path); + +} diff --git a/Utils/MapEdit/Core.h b/Utils/MapEdit/Core.h index 3715b36f7..3c0e35e8c 100644 --- a/Utils/MapEdit/Core.h +++ b/Utils/MapEdit/Core.h @@ -6,14 +6,15 @@ #define __CORE_HEADER__ #include -#include "gl3d.h" +//#include "gl3d.h" +#include #include "Layer.h" //#include "LayerTile.h" #include "TexCache.h" #include "TileSet.h" -const float FileVersion=1.0f; +const float FileVersion=1.01f; /*****************************************************************************/ @@ -78,11 +79,12 @@ public: // Misc void UpdateGUI(CMapEditView *View); void UpdateAll(CMapEditView *View); - void UpdateView(CMapEditView *View,Vec Ofs=Vec(0,0,0)); + void UpdateView(CMapEditView *View); + void UpdateView(CMapEditView *View,Vector3 &Ofs); - Vec &GetCam(); - Vec &GetCamOfs(); - Vec OffsetCam(Vec &Cam,float DivVal); + Vector3 &GetCam(); + Vector3 &GetCamOfs(); + Vector3 OffsetCam(Vector3 &Cam,float DivVal); void SetCursorPos(CPoint &Pos) {CursorPos=Pos;} CPoint &GetCursorPos() {return(CursorPos);} @@ -93,12 +95,13 @@ public: void Toggle2d3d(CMapEditView *View); int FindLayer(int Type,int SubType=-1); int FindActionLayer(); - + + GString GetCurrentPath(); private: CPoint CurrentMousePos,LastMousePos; CPoint CursorPos,LastCursorPos; - Vec MapCam,TileCam; - Vec MapCamOfs,TileCamOfs; + Vector3 MapCam,TileCam; + Vector3 MapCamOfs,TileCamOfs; std::vector Layer; int ActiveLayer; diff --git a/Utils/MapEdit/Export.h b/Utils/MapEdit/Export.h index a82a7e4c5..16db95a5d 100644 --- a/Utils/MapEdit/Export.h +++ b/Utils/MapEdit/Export.h @@ -10,7 +10,7 @@ #include "mapedit.h" #include "Quantize.h" -#include "list.h" +#include /*****************************************************************************/ diff --git a/Utils/MapEdit/Layer.cpp b/Utils/MapEdit/Layer.cpp index cdad879c2..f886f3aeb 100644 --- a/Utils/MapEdit/Layer.cpp +++ b/Utils/MapEdit/Layer.cpp @@ -4,7 +4,8 @@ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include diff --git a/Utils/MapEdit/Layer.h b/Utils/MapEdit/Layer.h index 60e822115..69b27df62 100644 --- a/Utils/MapEdit/Layer.h +++ b/Utils/MapEdit/Layer.h @@ -6,7 +6,8 @@ #define __LAYER_HEADER__ #include -#include "gl3d.h" +//#include "gl3d.h" +#include #include "Map.h" /*****************************************************************************/ @@ -46,11 +47,11 @@ virtual int GetSubType() {return(-1);} virtual float GetScaleFactor() {return(ScaleFactor);} -virtual void Render(CCore *Core,Vec &CamPos,BOOL Is3d)=0; -virtual void RenderGrid(CCore *Core,Vec &CamPos,BOOL Active)=0; +virtual void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d)=0; +virtual void RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active)=0; -virtual void FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos)=0; -virtual void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d)=0; +virtual void FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos)=0; +virtual void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d)=0; virtual void InitGUI(CCore *Core)=0; virtual void UpdateGUI(CCore *Core)=0; diff --git a/Utils/MapEdit/LayerTile.cpp b/Utils/MapEdit/LayerTile.cpp index e9892c28c..c2952018c 100644 --- a/Utils/MapEdit/LayerTile.cpp +++ b/Utils/MapEdit/LayerTile.cpp @@ -4,7 +4,8 @@ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include @@ -137,9 +138,9 @@ int ThisHeight=Map.GetHeight(); /*****************************************************************************/ /*****************************************************************************/ /*****************************************************************************/ -void CLayerTile::Render(CCore *Core,Vec &CamPos,BOOL Is3d) +void CLayerTile::Render(CCore *Core,Vector3 &CamPos,BOOL Is3d) { -Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); +Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); if (Is3d && Render3dFlag) { @@ -154,11 +155,10 @@ Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); } /*****************************************************************************/ -void CLayerTile::RenderCursorPaint(CCore *Core,Vec &CamPos,BOOL Is3d) +void CLayerTile::RenderCursorPaint(CCore *Core,Vector3 &CamPos,BOOL Is3d) { CTileBank &TileBank=Core->GetTileBank(); -//Vec ThisCam=CamPos; -Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); +Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); CPoint &CursPos=Core->GetCursorPos(); CMap &Brush=TileBank.GetActiveBrush(); @@ -181,7 +181,7 @@ CMap &Brush=TileBank.GetActiveBrush(); } /*****************************************************************************/ -void CLayerTile::Render(CCore *Core,Vec &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha) +void CLayerTile::Render(CCore *Core,Vector3 &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha) { int Width=ThisMap.GetWidth(); int Height=ThisMap.GetHeight(); @@ -216,11 +216,11 @@ int Height=ThisMap.GetHeight(); } /*****************************************************************************/ -void CLayerTile::RenderGrid(CCore *Core,Vec &CamPos,BOOL Active) +void CLayerTile::RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active) { int Width=Map.GetWidth(); int Height=Map.GetHeight(); -Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); +Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); float OverVal=0.5; glMatrixMode(GL_MODELVIEW); @@ -249,7 +249,7 @@ float OverVal=0.5; } /*****************************************************************************/ -void CLayerTile::FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos) +void CLayerTile::FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos) { GLint Viewport[4]; GLuint SelectBuffer[SELECT_BUFFER_SIZE]; @@ -259,7 +259,7 @@ CPoint &CursorPos=Core->GetCursorPos(); int Width=Map.GetWidth(); int Height=Map.GetHeight(); -Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); +Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor()); glGetIntegerv(GL_VIEWPORT, Viewport); glSelectBuffer (SELECT_BUFFER_SIZE, SelectBuffer ); @@ -452,7 +452,7 @@ CTileBank &TileBank=Core->GetTileBank(); } /*****************************************************************************/ -void CLayerTile::RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d) +void CLayerTile::RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d) { switch(Mode) { diff --git a/Utils/MapEdit/LayerTile.h b/Utils/MapEdit/LayerTile.h index b11cca672..2b8a17de4 100644 --- a/Utils/MapEdit/LayerTile.h +++ b/Utils/MapEdit/LayerTile.h @@ -48,11 +48,11 @@ public: int GetSubType() {return(SubType);} char *GetName() {return(LayerName[SubType]);} - void Render(CCore *Core,Vec &CamPos,BOOL Is3d); - void RenderGrid(CCore *Core,Vec &CamPos,BOOL Active); + void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d); + void RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active); - void FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos); - void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d); + void FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos); + void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d); void InitGUI(CCore *Core); void UpdateGUI(CCore *Core); @@ -80,8 +80,8 @@ public: BOOL MirrorY(CCore *Core); protected: - void Render(CCore *Core,Vec &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha=1.0f); - void RenderCursorPaint(CCore *Core,Vec &CamPos,BOOL Is3d); + void Render(CCore *Core,Vector3 &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha=1.0f); + void RenderCursorPaint(CCore *Core,Vector3 &CamPos,BOOL Is3d); BOOL Paint(CMap &Blk,CPoint &CursorPos); diff --git a/Utils/MapEdit/Map.cpp b/Utils/MapEdit/Map.cpp index 514b39398..269a36cae 100644 --- a/Utils/MapEdit/Map.cpp +++ b/Utils/MapEdit/Map.cpp @@ -4,7 +4,8 @@ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include diff --git a/Utils/MapEdit/MapEdit.clw b/Utils/MapEdit/MapEdit.clw index 2fe019584..71faf5fb0 100644 --- a/Utils/MapEdit/MapEdit.clw +++ b/Utils/MapEdit/MapEdit.clw @@ -18,24 +18,24 @@ Class6=CMapEditDoc Class7=CMapEditView ResourceCount=11 -Resource1=IDD_MAPSIZE -Resource2=IDD_LAYERTILE_GUI -Resource3=IDR_TOOLBAR (English (U.S.)) +Resource1=IDD_MULTIBAR (English (U.S.)) +Resource2=IDD_NEWMAP +Resource3=IDD_LAYERTILE_GUI Resource4=IDD_DIALOGBAR (English (U.S.)) -Resource5=IDD_ABOUTBOX (English (U.S.)) +Resource5=IDD_NEW_LAYER Class8=CMultiBar -Resource6=IDD_LAYER_LIST_DIALOG +Resource6=IDR_MAINFRAME (English (U.S.)) Resource7=IDR_MAPEDITYPE (English (U.S.)) Class9=CLayerList Class10=CMapSizeDlg -Resource8=IDR_MAINFRAME (English (U.S.)) +Resource8=IDD_MAPSIZE Class11=CGfxToolBar Class12=CLayerTileGUI -Resource9=IDD_NEW_LAYER -Resource10=IDD_MULTIBAR (English (U.S.)) +Resource9=IDD_LAYER_LIST_DIALOG +Resource10=IDR_TOOLBAR (English (U.S.)) Class13=CNewMapGUI Class14=CProgressDlg -Resource11=IDD_NEWMAP +Resource11=IDD_ABOUTBOX (English (U.S.)) [CLS:CChildFrame] Type=0 diff --git a/Utils/MapEdit/MapEdit.dsp b/Utils/MapEdit/MapEdit.dsp index 22aef0c5f..a18c86e63 100644 --- a/Utils/MapEdit/MapEdit.dsp +++ b/Utils/MapEdit/MapEdit.dsp @@ -69,7 +69,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # 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 CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\GinLib" /I "..\glibdev\glib\include" /I "..\glibdev\glib\include\pc" /I "..\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" /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 MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x809 /d "_DEBUG" /d "_AFXDLL" @@ -79,7 +79,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 opengl32.lib glu32.lib win32lib.lib ginlib.lib glaux.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\ginlib\debug\\" /libpath:"..\GlibDev\glib\LIB\win32lib\debug\\" +# ADD LINK32 opengl32.lib glu32.lib glib.lib ginlib.lib glaux.lib maths.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\libs\ginlib\debug\\" /libpath:"..\libs\glib\debug\\" /libpath:"..\libs\maths\debug\\" !ENDIF diff --git a/Utils/MapEdit/MapEdit.dsw b/Utils/MapEdit/MapEdit.dsw index c573c872e..afed98c2a 100644 --- a/Utils/MapEdit/MapEdit.dsw +++ b/Utils/MapEdit/MapEdit.dsw @@ -3,14 +3,22 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ############################################################################### -Project: "GinLib"=..\GinLib\ginlib.dsp - Package Owner=<4> +Project: "GLib"=..\Libs\GLib\Glib.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "GinLib"=..\Libs\GinLib\ginlib.dsp - Package Owner=<4> Package=<5> {{{ - begin source code control - "$/Utils/GinLib", RICAAAAA - ..\ginlib - end source code control }}} Package=<4> @@ -30,11 +38,77 @@ Package=<4> Begin Project Dependency Project_Dep_Name GinLib End Project Dependency + Begin Project Dependency + Project_Dep_Name GLib + End Project Dependency + Begin Project Dependency + Project_Dep_Name maths + End Project Dependency }}} ############################################################################### -Project: "TexGrab"=..\TexGrab\texgrab.dsp - Package Owner=<4> +Project: "MkLevel"=..\MkLevel\MkLevel.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name GinLib + End Project Dependency + Begin Project Dependency + Project_Dep_Name GLib + End Project Dependency + Begin Project Dependency + Project_Dep_Name PsxLib + End Project Dependency + Begin Project Dependency + Project_Dep_Name TexGrab + End Project Dependency +}}} + +############################################################################### + +Project: "PsxLib"=..\LIBS\PsxLib\PsxLib.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "TexGrab"=..\Libs\TexGrab\TexGrab.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "maths"=..\Libs\Maths\maths.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "mem"=..\Libs\mem\mem.dsp - Package Owner=<4> Package=<5> {{{ diff --git a/Utils/MapEdit/MapEdit.rc b/Utils/MapEdit/MapEdit.rc index a042fc18c..cff63ec18 100644 --- a/Utils/MapEdit/MapEdit.rc +++ b/Utils/MapEdit/MapEdit.rc @@ -186,15 +186,15 @@ END // Dialog // -IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 235, 55 +IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 145, 46 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "About MapEdit" FONT 8, "MS Sans Serif" BEGIN - ICON IDR_MAINFRAME,IDC_STATIC,5,5,21,20 - LTEXT "MapEdit\n\nBy Dave 2000",IDC_STATIC,40,10,119,40, + ICON IDR_MAINFRAME,IDC_STATIC,5,5,20,20 + LTEXT "MapEdit\nBy Dave 2000",IDC_STATIC,40,10,50,20, SS_NOPREFIX - DEFPUSHBUTTON "OK",IDOK,178,7,50,14,WS_GROUP + DEFPUSHBUTTON "OK",IDOK,95,5,50,14,WS_GROUP END IDD_MULTIBAR DIALOGEX 0, 0, 156, 71 @@ -262,9 +262,9 @@ BEGIN IDD_ABOUTBOX, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 228 + RIGHTMARGIN, 138 TOPMARGIN, 7 - BOTTOMMARGIN, 48 + BOTTOMMARGIN, 39 END IDD_MULTIBAR, DIALOG diff --git a/Utils/MapEdit/TexCache.cpp b/Utils/MapEdit/TexCache.cpp index b5167c816..fae7fceac 100644 --- a/Utils/MapEdit/TexCache.cpp +++ b/Utils/MapEdit/TexCache.cpp @@ -3,7 +3,7 @@ /*********************/ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" #include #include #include diff --git a/Utils/MapEdit/TexCache.h b/Utils/MapEdit/TexCache.h index 0e7380961..c24949dde 100644 --- a/Utils/MapEdit/TexCache.h +++ b/Utils/MapEdit/TexCache.h @@ -6,7 +6,8 @@ #define __TEXCACHE_HEADER__ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +//#include #include #include #include diff --git a/Utils/MapEdit/TileSet.cpp b/Utils/MapEdit/TileSet.cpp index d9a09142b..1100f8514 100644 --- a/Utils/MapEdit/TileSet.cpp +++ b/Utils/MapEdit/TileSet.cpp @@ -3,12 +3,14 @@ /*********************/ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include #include "GLEnabledView.h" #include +#include #include "Core.h" #include "TileSet.h" @@ -55,6 +57,9 @@ CTileBank::~CTileBank() void CTileBank::Load(CFile *File,float Version) { int ListSize; +GFName RootPath=File->GetFilePath(); +GString FilePath=RootPath.Dir(); + FilePath.Append('\\'); File->Read(&ListSize,sizeof(int)); File->Read(&CurrentSet,sizeof(int)); @@ -62,21 +67,40 @@ int ListSize; Brush[0].Load(File,Version); Brush[1].Load(File,Version); - for (int i=0;iRead(Filename,256+64); - AddTileSet(Filename); + File->Read(Filename,256+64); + AddTileSet(Filename); + } + } + else + { // New Style rel storage + for (int i=0;iRead(&c,1); + RelName[Len++]=c; + } + RootPath.makeabsolute(FilePath,RelName,FullName); + AddTileSet(FullName); + } } - - } /*****************************************************************************/ void CTileBank::Save(CFile *File) { int ListSize=TileSet.size(); +GFName RootPath=File->GetFilePath(); +GString FilePath=RootPath.Dir(); + FilePath.Append('\\'); File->Write(&ListSize,sizeof(int)); File->Write(&CurrentSet,sizeof(int)); @@ -89,8 +113,11 @@ int ListSize=TileSet.size(); CTileSet &ThisSet=TileSet[i]; char Filename[256+64]; - sprintf(Filename,"%s%s%s",ThisSet.GetPath(),ThisSet.GetName(),ThisSet.GetExt()); - File->Write(Filename,256+64); + + RootPath.makerelative(FilePath,ThisSet.GetFilename(),Filename); +// sprintf(Filename,"%s",ThisSet.GetFilename()); +// File->Write(Filename,256+64); + File->Write(Filename,strlen(Filename)+1); } } @@ -117,7 +144,7 @@ CTileSet FindSet(Filename,ListSize); { CTileSet &ThisSet=TileSet[i]; - if (IsStrSame(FindSet.GetName(),ThisSet.GetName(),-1)) return(i); + if (IsStrSame((char*)FindSet.GetName(),(char*)ThisSet.GetName(),-1)) return(i); } return(-1); } @@ -164,7 +191,7 @@ CTile &CTileBank::GetTile(int Bank,int Tile) } /*****************************************************************************/ -void CTileBank::RenderSet(CCore *Core,Vec &CamPos,BOOL Is3d) +void CTileBank::RenderSet(CCore *Core,Vector3 &CamPos,BOOL Is3d) { if (!TileSet.size()) return; // No tiles, return @@ -184,7 +211,7 @@ void CTileBank::RenderSet(CCore *Core,Vec &CamPos,BOOL Is3d) } /*****************************************************************************/ -void CTileBank::FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos) +void CTileBank::FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos) { if (!TileSet.size()) return; // No tiles, return @@ -318,7 +345,7 @@ BOOL CTileBank::IsTileValidGB(int Set,int Tile) /*****************************************************************************/ CTileSet::CTileSet(char *_Filename,int Idx) { - _splitpath(_Filename,Drive,Path,Name,Ext); + Filename=_Filename; Loaded=FALSE; SetNumber=Idx; @@ -336,8 +363,10 @@ CTileSet::~CTileSet() /*****************************************************************************/ void CTileSet::Load(CCore *Core) { +GString Ext=Filename.Ext(); + Ext.Upper(); - if (IsStrSame(Ext,".Gin")) + if (Ext=="GIN") { Load3d(Core); } @@ -353,18 +382,15 @@ void CTileSet::Load(CCore *Core) void CTileSet::Load2d(CCore *Core) { -char Filename[_MAX_PATH]; CTexCache &TexCache=Core->GetTexCache(); - _makepath( Filename, Drive, Path, Name, Ext); - -int TexID=TexCache.ProcessTexture(Filename,0); +int TexID=TexCache.ProcessTexture((char*)Filename.FullName(),0); sTex &ThisTex=TexCache.GetTex(TexID); int Width=ThisTex.TexWidth/16; int Height=ThisTex.TexHeight/16; - TRACE3("Load 2d TileBank %s (%i,%i)\n",Filename,Width,Height); + TRACE3("Load 2d TileBank %s (%i,%i)\n",Filename.FullName(),Width,Height); Tile.push_back(CTile(0)); // Insert Blank @@ -405,11 +431,9 @@ BOOL Data=FALSE; /*****************************************************************************/ void CTileSet::Load3d(CCore *Core) { -char Filename[_MAX_PATH]; CScene Scene; - _makepath( Filename, Drive, Path, Name, Ext); - Scene.Load(Filename); + Scene.Load(Filename.FullName()); CNode &ThisNode=Scene.GetSceneNode(0); int ChildCount=ThisNode.GetPruneChildCount(); @@ -462,7 +486,7 @@ BOOL CTileSet::IsTileValidGB(int No) } /*****************************************************************************/ -void CTileSet::Render(Vec &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d) +void CTileSet::Render(Vector3 &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d) { int ListSize=Tile.size(); int TileID=0; @@ -563,7 +587,7 @@ BOOL ValidTile=TRUE; } /*****************************************************************************/ -void CTileSet::RenderCursor(Vec &CamPos,int CursorPos,int SelStart,int SelEnd) +void CTileSet::RenderCursor(Vector3 &CamPos,int CursorPos,int SelStart,int SelEnd) { int ListSize=Tile.size(); CPoint Start,End; @@ -606,7 +630,7 @@ int MaxTile=Tile.size(); } /*****************************************************************************/ -void CTileSet::RenderGrid(Vec &CamPos) +void CTileSet::RenderGrid(Vector3 &CamPos) { int ListSize=Tile.size(); int TileID=1; // Dont bother with blank, its sorted @@ -642,7 +666,7 @@ int TileID=1; // Dont bother with blank, its sorted } /*****************************************************************************/ -int CTileSet::FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos) +int CTileSet::FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos) { int ListSize=Tile.size(); GLint Viewport[4]; diff --git a/Utils/MapEdit/TileSet.h b/Utils/MapEdit/TileSet.h index 55b796b65..c971e6f4d 100644 --- a/Utils/MapEdit/TileSet.h +++ b/Utils/MapEdit/TileSet.h @@ -6,11 +6,13 @@ #define __TILESET_HEADER__ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include #include +#include #include "TexCache.h" #include "Tile.h" @@ -55,9 +57,9 @@ public: CMap &GetBrush(int i) {return(Brush[i]);} CMap &GetActiveBrush() {return(GetBrush(ActiveBrush));} - void RenderSet(CCore *Core,Vec &CamPos,BOOL Is3d); - void FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos); - void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d); + void RenderSet(CCore *Core,Vector3 &CamPos,BOOL Is3d); + void FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos); + void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d); void UpdateGUI(CCore *Core,BOOL IsTileView); @@ -104,17 +106,18 @@ public: void Load2d(CCore *Core); void Load3d(CCore *Core); - char *GetPath() {return(Path);} - char *GetName() {return(Name);} - char *GetExt() {return(Ext);} + const char *GetPath() {return(Filename.Dir());} + const char *GetName() {return(Filename.File());} + const char *GetExt() {return(Filename.Ext());} + const char *GetFilename() {return(Filename.FullName());} CTile &GetTile(int No) {return(Tile[No]);} void Purge(); - int FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos); - void Render(Vec &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d); - void RenderCursor(Vec &CamPos,int Pos,int Width, int Height); - void RenderBrush(Vec &CamPos,CMap &LBrush,CMap &RBrush); - void RenderGrid(Vec &CamPos); + int FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos); + void Render(Vector3 &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d); + void RenderCursor(Vector3 &CamPos,int Pos,int Width, int Height); + void RenderBrush(Vector3 &CamPos,CMap &LBrush,CMap &RBrush); + void RenderGrid(Vector3 &CamPos); int GetTileBrowserWidth() {return(TileBrowserWidth);} BOOL IsTileValid(int No); BOOL IsTileValidGB(int No); @@ -124,9 +127,8 @@ private: BOOL Create16x16Tile(sRGBData &Src,u8 *Dst,int XOfs,int YOfs); CPoint GetTilePos(int ID); - char Drive[_MAX_DRIVE],Path[_MAX_DIR],Name[_MAX_FNAME],Ext[_MAX_EXT]; + GFName Filename; int SetNumber; -// std::vector Tile; CList Tile; BOOL Loaded; int TileBrowserWidth; diff --git a/Utils/MapEdit/resource.h b/Utils/MapEdit/resource.h index ccaf72913..2284a4a59 100644 --- a/Utils/MapEdit/resource.h +++ b/Utils/MapEdit/resource.h @@ -41,6 +41,7 @@ #define IDC_NEWMAP_FORE_CHECK 1051 #define IDC_NEW_LAYER_WIDTH_NAME2 1052 #define IDC_NEW_LAYER_WIDTH_EDIT2 1053 +#define IDC_RICHEDIT1 1054 #define ID_TOOLBAR_LAYERBAR 32773 #define ID_TOOLBAR_TILEPALETTE 32774 #define ID_TOOLBAR_COMBO 32777 @@ -66,7 +67,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 172 #define _APS_NEXT_COMMAND_VALUE 32797 -#define _APS_NEXT_CONTROL_VALUE 1053 +#define _APS_NEXT_CONTROL_VALUE 1055 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/Utils/MapEdit/utils.cpp b/Utils/MapEdit/utils.cpp index 203330eaf..8a3874aa6 100644 --- a/Utils/MapEdit/utils.cpp +++ b/Utils/MapEdit/utils.cpp @@ -4,13 +4,13 @@ #include "stdafx.h" -#include "gl3d.h" +//#include "gl3d.h" +#include #include #include #include #include // Header File For The Glaux Library #include "GLEnabledView.h" -#include "maths.h" #include "Utils.H" @@ -110,42 +110,6 @@ void BuildGLQuad(float XMin,float XMax,float YMin,float YMax,float Z) /**************************************************************************************/ /**************************************************************************************/ -/**************************************************************************************/ -void TNormalise(TVECTOR &V) -{ -float SqMag = V.length2();// v.x * v.x + v.y * v.y + v.z * v.z; - - if (SqMag> 0.001f) - { - float Mag = (float)sqrt( SqMag); - - V/=Mag; - - } -} - -/**************************************************************************************/ -TVECTOR TCrossProduct(TVECTOR const &V0,TVECTOR const &V1,const TVECTOR &V2 ) -{ -TVECTOR DV1, DV2; -TVECTOR Out; - - DV1.X() = V1.X() - V0.X(); - DV1.Y() = V1.Y() - V0.Y(); - DV1.Z() = V1.Z() - V0.Z(); - - DV2.X() = V2.X() - V0.X(); - DV2.Y() = V2.Y() - V0.Y(); - DV2.Z() = V2.Z() - V0.Z(); - - Out.SetX( (DV1.Z() * DV2.Y()) - (DV1.Y() * DV2.Z()) ); - Out.SetY( (DV1.X() * DV2.Z()) - (DV1.Z() * DV2.X()) ); - Out.SetZ( (DV1.Y() * DV2.X()) - (DV1.X() * DV2.Y()) ); - - TNormalise(Out); - return Out; -} - /**************************************************************************************/ CPoint IDToPoint(int ID,int Width) { diff --git a/Utils/MapEdit/utils.h b/Utils/MapEdit/utils.h index f92311c51..d9b83163c 100644 --- a/Utils/MapEdit/utils.h +++ b/Utils/MapEdit/utils.h @@ -5,7 +5,7 @@ #ifndef __UTILS_HEADER__ #define __UTILS_HEADER__ -#include "maths.h" +#include #include #include #include @@ -40,16 +40,13 @@ void BuildGLBoxNoNormals(float XMin,float XMax,float YMin,float YMax,float ZMin, void BuildGLQuad(float XMin,float XMax,float YMin,float YMax,float Z); int LoadGLTexture(char *FileName, GLuint &Text,int &Width,int &Height); -void TNormalise(TVECTOR &V); -TVECTOR TCrossProduct(TVECTOR const &V0,TVECTOR const &V1,const TVECTOR &V2 ); - CPoint IDToPoint(int ID,int Width); int PointToID(CPoint &Pnt,int Width); -void SaveTGA(char *Filename,int W,int H,u8 *Data); -void SaveBmp(char *Filename,int Width,int Height,RGBQUAD *Pal,u8 *Image); +void SaveTGA(char *Filename,int W,int H,u8 *Data); +void SaveBmp(char *Filename,int Width,int Height,RGBQUAD *Pal,u8 *Image); -void BGR2RGB(int W,int H,u8 *Data); +void BGR2RGB(int W,int H,u8 *Data); void SetFileExt(char *InName,char *OutName,char *Ext);