This commit is contained in:
parent
4813d8262e
commit
2a24119501
20 changed files with 273 additions and 179 deletions
|
@ -64,7 +64,7 @@ LIB32=link.exe -lib
|
||||||
# PROP Intermediate_Dir "Debug"
|
# PROP Intermediate_Dir "Debug"
|
||||||
# PROP Target_Dir ""
|
# 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 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 BASE RSC /l 0x809 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x809 /d "_DEBUG"
|
# ADD RSC /l 0x809 /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
@ -77,11 +78,15 @@ int Width,Height;
|
||||||
Layer.push_back(new CLayerTile( CLayerTile::Action, Width, Height, 1.0f, TRUE, TRUE));
|
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));
|
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();
|
ActiveLayer=FindActionLayer();
|
||||||
MapCam=Vec(0,0,0);
|
MapCam.Zero();
|
||||||
MapCamOfs=Vec(-15,10,0);
|
MapCamOfs=CamOfs;
|
||||||
TileCam=Vec(0,0,0);
|
TileCam.Zero();
|
||||||
TileCamOfs=Vec(-15,10,0);
|
TileCamOfs=CamOfs;
|
||||||
TileViewFlag=FALSE;
|
TileViewFlag=FALSE;
|
||||||
GridFlag=TRUE;
|
GridFlag=TRUE;
|
||||||
Is3dFlag=TRUE;
|
Is3dFlag=TRUE;
|
||||||
|
@ -100,10 +105,10 @@ float Version;
|
||||||
|
|
||||||
if (Version>=1.0)
|
if (Version>=1.0)
|
||||||
{
|
{
|
||||||
File->Read(&MapCam,sizeof(Vec));
|
File->Read(&MapCam,sizeof(Vector3));
|
||||||
File->Read(&MapCamOfs,sizeof(Vec));
|
File->Read(&MapCamOfs,sizeof(Vector3));
|
||||||
File->Read(&TileCam,sizeof(Vec));
|
File->Read(&TileCam,sizeof(Vector3));
|
||||||
File->Read(&TileCamOfs,sizeof(Vec));
|
File->Read(&TileCamOfs,sizeof(Vector3));
|
||||||
|
|
||||||
File->Read(&TileViewFlag,sizeof(BOOL));
|
File->Read(&TileViewFlag,sizeof(BOOL));
|
||||||
File->Read(&GridFlag,sizeof(BOOL));
|
File->Read(&GridFlag,sizeof(BOOL));
|
||||||
|
@ -153,10 +158,10 @@ void CCore::Save(CFile *File)
|
||||||
// Version 1
|
// Version 1
|
||||||
File->Write(&FileVersion,sizeof(float));
|
File->Write(&FileVersion,sizeof(float));
|
||||||
|
|
||||||
File->Write(&MapCam,sizeof(Vec));
|
File->Write(&MapCam,sizeof(Vector3));
|
||||||
File->Write(&MapCamOfs,sizeof(Vec));
|
File->Write(&MapCamOfs,sizeof(Vector3));
|
||||||
File->Write(&TileCam,sizeof(Vec));
|
File->Write(&TileCam,sizeof(Vector3));
|
||||||
File->Write(&TileCamOfs,sizeof(Vec));
|
File->Write(&TileCamOfs,sizeof(Vector3));
|
||||||
|
|
||||||
File->Write(&TileViewFlag,sizeof(BOOL));
|
File->Write(&TileViewFlag,sizeof(BOOL));
|
||||||
File->Write(&GridFlag,sizeof(BOOL));
|
File->Write(&GridFlag,sizeof(BOOL));
|
||||||
|
@ -200,7 +205,7 @@ void CCore::Render(CMapEditView *View,BOOL ForceRender)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::RenderLayers(CMapEditView *View)
|
void CCore::RenderLayers(CMapEditView *View)
|
||||||
{
|
{
|
||||||
Vec &ThisCam=GetCam();
|
Vector3 &ThisCam=GetCam();
|
||||||
int ListSize=Layer.size();
|
int ListSize=Layer.size();
|
||||||
|
|
||||||
for (int i=0;i<ListSize;i++)
|
for (int i=0;i<ListSize;i++)
|
||||||
|
@ -222,7 +227,7 @@ int ListSize=Layer.size();
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
void CCore::RenderTileView(CMapEditView *View)
|
void CCore::RenderTileView(CMapEditView *View)
|
||||||
{
|
{
|
||||||
Vec &ThisCam=GetCam();
|
Vector3 &ThisCam=GetCam();
|
||||||
|
|
||||||
TileBank.RenderSet(this,ThisCam,Is3dFlag);
|
TileBank.RenderSet(this,ThisCam,Is3dFlag);
|
||||||
|
|
||||||
|
@ -299,19 +304,23 @@ BOOL RedrawFlag=FALSE;
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::MouseWheel(CMapEditView *View,UINT nFlags, short zDelta, CPoint &pt)
|
void CCore::MouseWheel(CMapEditView *View,UINT nFlags, short zDelta, CPoint &pt)
|
||||||
{
|
{
|
||||||
|
Vector3 Ofs;
|
||||||
|
Ofs.Zero();
|
||||||
if (zDelta>0)
|
if (zDelta>0)
|
||||||
UpdateView(View,Vec(0,0,1.0f));
|
Ofs.z=+1.0f;
|
||||||
else
|
else
|
||||||
UpdateView(View,Vec(0,0,-1.0f));
|
Ofs.z=-1.0f;
|
||||||
|
|
||||||
|
UpdateView(View,Ofs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CCore::MouseMove(CMapEditView *View,UINT nFlags, CPoint &point)
|
void CCore::MouseMove(CMapEditView *View,UINT nFlags, CPoint &point)
|
||||||
{
|
{
|
||||||
Vec Ofs(0,0,0);
|
Vector3 Ofs;
|
||||||
|
Vector3 &ThisCam=GetCam();
|
||||||
Vec &ThisCam=GetCam();
|
|
||||||
// check if active doc
|
// check if active doc
|
||||||
|
Ofs.Zero();
|
||||||
if (theApp.GetCurrent()!=View->GetDocument()) return;
|
if (theApp.GetCurrent()!=View->GetDocument()) return;
|
||||||
|
|
||||||
CurrentMousePos=point;
|
CurrentMousePos=point;
|
||||||
|
@ -336,7 +345,7 @@ Vec &ThisCam=GetCam();
|
||||||
Ofs.y*=YS;
|
Ofs.y*=YS;
|
||||||
/* if (nFlags & MK_CONTROL)
|
/* if (nFlags & MK_CONTROL)
|
||||||
{ // Move Ofs
|
{ // Move Ofs
|
||||||
Vec &CamOfs=GetCamOfs();
|
Vector3 &CamOfs=GetCamOfs();
|
||||||
Ofs.y=-Ofs.y;
|
Ofs.y=-Ofs.y;
|
||||||
CamOfs+=Ofs;
|
CamOfs+=Ofs;
|
||||||
UpdateView(View);
|
UpdateView(View);
|
||||||
|
@ -528,7 +537,7 @@ BOOL CCore::IsTileValid(int Set,int Tile)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Misc ********************************************************************/
|
/*** Misc ********************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
Vec &CCore::GetCam()
|
Vector3 &CCore::GetCam()
|
||||||
{
|
{
|
||||||
if (TileViewFlag)
|
if (TileViewFlag)
|
||||||
return(TileCam);
|
return(TileCam);
|
||||||
|
@ -538,7 +547,7 @@ Vec &CCore::GetCam()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
Vec &CCore::GetCamOfs()
|
Vector3 &CCore::GetCamOfs()
|
||||||
{
|
{
|
||||||
if (TileViewFlag)
|
if (TileViewFlag)
|
||||||
return(TileCamOfs);
|
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();
|
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)
|
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=Cam/DivVal;
|
||||||
ThisCam.z=Cam.z;
|
ThisCam.z=Cam.z;
|
||||||
|
@ -673,4 +688,14 @@ CExportPSX Exp(ExportName);
|
||||||
Exp.ExportTiles(this);
|
Exp.ExportTiles(this);
|
||||||
Exp.ExportTexList(this);
|
Exp.ExportTexList(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
GString CCore::GetCurrentPath()
|
||||||
|
{
|
||||||
|
GFName FullPath=theApp.GetCurrent()->GetPathName();
|
||||||
|
GString Path=FullPath.Dir();
|
||||||
|
|
||||||
|
return(Path);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -6,14 +6,15 @@
|
||||||
#define __CORE_HEADER__
|
#define __CORE_HEADER__
|
||||||
|
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include "Layer.h"
|
#include "Layer.h"
|
||||||
//#include "LayerTile.h"
|
//#include "LayerTile.h"
|
||||||
|
|
||||||
#include "TexCache.h"
|
#include "TexCache.h"
|
||||||
#include "TileSet.h"
|
#include "TileSet.h"
|
||||||
|
|
||||||
const float FileVersion=1.0f;
|
const float FileVersion=1.01f;
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -78,11 +79,12 @@ public:
|
||||||
// Misc
|
// Misc
|
||||||
void UpdateGUI(CMapEditView *View);
|
void UpdateGUI(CMapEditView *View);
|
||||||
void UpdateAll(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();
|
Vector3 &GetCam();
|
||||||
Vec &GetCamOfs();
|
Vector3 &GetCamOfs();
|
||||||
Vec OffsetCam(Vec &Cam,float DivVal);
|
Vector3 OffsetCam(Vector3 &Cam,float DivVal);
|
||||||
void SetCursorPos(CPoint &Pos) {CursorPos=Pos;}
|
void SetCursorPos(CPoint &Pos) {CursorPos=Pos;}
|
||||||
CPoint &GetCursorPos() {return(CursorPos);}
|
CPoint &GetCursorPos() {return(CursorPos);}
|
||||||
|
|
||||||
|
@ -93,12 +95,13 @@ public:
|
||||||
void Toggle2d3d(CMapEditView *View);
|
void Toggle2d3d(CMapEditView *View);
|
||||||
int FindLayer(int Type,int SubType=-1);
|
int FindLayer(int Type,int SubType=-1);
|
||||||
int FindActionLayer();
|
int FindActionLayer();
|
||||||
|
|
||||||
|
GString GetCurrentPath();
|
||||||
private:
|
private:
|
||||||
CPoint CurrentMousePos,LastMousePos;
|
CPoint CurrentMousePos,LastMousePos;
|
||||||
CPoint CursorPos,LastCursorPos;
|
CPoint CursorPos,LastCursorPos;
|
||||||
Vec MapCam,TileCam;
|
Vector3 MapCam,TileCam;
|
||||||
Vec MapCamOfs,TileCamOfs;
|
Vector3 MapCamOfs,TileCamOfs;
|
||||||
|
|
||||||
std::vector<CLayer*> Layer;
|
std::vector<CLayer*> Layer;
|
||||||
int ActiveLayer;
|
int ActiveLayer;
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#include "mapedit.h"
|
#include "mapedit.h"
|
||||||
|
|
||||||
#include "Quantize.h"
|
#include "Quantize.h"
|
||||||
#include "list.h"
|
#include <list.h>
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
#define __LAYER_HEADER__
|
#define __LAYER_HEADER__
|
||||||
|
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include "Map.h"
|
#include "Map.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -46,11 +47,11 @@ virtual int GetSubType() {return(-1);}
|
||||||
|
|
||||||
virtual float GetScaleFactor() {return(ScaleFactor);}
|
virtual float GetScaleFactor() {return(ScaleFactor);}
|
||||||
|
|
||||||
virtual void Render(CCore *Core,Vec &CamPos,BOOL Is3d)=0;
|
virtual void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d)=0;
|
||||||
virtual void RenderGrid(CCore *Core,Vec &CamPos,BOOL Active)=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 FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos)=0;
|
||||||
virtual void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d)=0;
|
virtual void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d)=0;
|
||||||
|
|
||||||
virtual void InitGUI(CCore *Core)=0;
|
virtual void InitGUI(CCore *Core)=0;
|
||||||
virtual void UpdateGUI(CCore *Core)=0;
|
virtual void UpdateGUI(CCore *Core)=0;
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
@ -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)
|
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();
|
CTileBank &TileBank=Core->GetTileBank();
|
||||||
//Vec ThisCam=CamPos;
|
Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
||||||
Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
|
||||||
CPoint &CursPos=Core->GetCursorPos();
|
CPoint &CursPos=Core->GetCursorPos();
|
||||||
CMap &Brush=TileBank.GetActiveBrush();
|
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 Width=ThisMap.GetWidth();
|
||||||
int Height=ThisMap.GetHeight();
|
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 Width=Map.GetWidth();
|
||||||
int Height=Map.GetHeight();
|
int Height=Map.GetHeight();
|
||||||
Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
||||||
float OverVal=0.5;
|
float OverVal=0.5;
|
||||||
|
|
||||||
glMatrixMode(GL_MODELVIEW);
|
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];
|
GLint Viewport[4];
|
||||||
GLuint SelectBuffer[SELECT_BUFFER_SIZE];
|
GLuint SelectBuffer[SELECT_BUFFER_SIZE];
|
||||||
|
@ -259,7 +259,7 @@ CPoint &CursorPos=Core->GetCursorPos();
|
||||||
|
|
||||||
int Width=Map.GetWidth();
|
int Width=Map.GetWidth();
|
||||||
int Height=Map.GetHeight();
|
int Height=Map.GetHeight();
|
||||||
Vec ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
||||||
|
|
||||||
glGetIntegerv(GL_VIEWPORT, Viewport);
|
glGetIntegerv(GL_VIEWPORT, Viewport);
|
||||||
glSelectBuffer (SELECT_BUFFER_SIZE, SelectBuffer );
|
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)
|
switch(Mode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,11 +48,11 @@ public:
|
||||||
int GetSubType() {return(SubType);}
|
int GetSubType() {return(SubType);}
|
||||||
char *GetName() {return(LayerName[SubType]);}
|
char *GetName() {return(LayerName[SubType]);}
|
||||||
|
|
||||||
void Render(CCore *Core,Vec &CamPos,BOOL Is3d);
|
void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||||
void RenderGrid(CCore *Core,Vec &CamPos,BOOL Active);
|
void RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active);
|
||||||
|
|
||||||
void FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos);
|
void FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos);
|
||||||
void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d);
|
void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||||
|
|
||||||
void InitGUI(CCore *Core);
|
void InitGUI(CCore *Core);
|
||||||
void UpdateGUI(CCore *Core);
|
void UpdateGUI(CCore *Core);
|
||||||
|
@ -80,8 +80,8 @@ public:
|
||||||
BOOL MirrorY(CCore *Core);
|
BOOL MirrorY(CCore *Core);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void Render(CCore *Core,Vec &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha=1.0f);
|
void Render(CCore *Core,Vector3 &CamPos,CMap &ThisMap,BOOL Render3d,float Alpha=1.0f);
|
||||||
void RenderCursorPaint(CCore *Core,Vec &CamPos,BOOL Is3d);
|
void RenderCursorPaint(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||||
|
|
||||||
BOOL Paint(CMap &Blk,CPoint &CursorPos);
|
BOOL Paint(CMap &Blk,CPoint &CursorPos);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,8 @@
|
||||||
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
|
|
@ -18,24 +18,24 @@ Class6=CMapEditDoc
|
||||||
Class7=CMapEditView
|
Class7=CMapEditView
|
||||||
|
|
||||||
ResourceCount=11
|
ResourceCount=11
|
||||||
Resource1=IDD_MAPSIZE
|
Resource1=IDD_MULTIBAR (English (U.S.))
|
||||||
Resource2=IDD_LAYERTILE_GUI
|
Resource2=IDD_NEWMAP
|
||||||
Resource3=IDR_TOOLBAR (English (U.S.))
|
Resource3=IDD_LAYERTILE_GUI
|
||||||
Resource4=IDD_DIALOGBAR (English (U.S.))
|
Resource4=IDD_DIALOGBAR (English (U.S.))
|
||||||
Resource5=IDD_ABOUTBOX (English (U.S.))
|
Resource5=IDD_NEW_LAYER
|
||||||
Class8=CMultiBar
|
Class8=CMultiBar
|
||||||
Resource6=IDD_LAYER_LIST_DIALOG
|
Resource6=IDR_MAINFRAME (English (U.S.))
|
||||||
Resource7=IDR_MAPEDITYPE (English (U.S.))
|
Resource7=IDR_MAPEDITYPE (English (U.S.))
|
||||||
Class9=CLayerList
|
Class9=CLayerList
|
||||||
Class10=CMapSizeDlg
|
Class10=CMapSizeDlg
|
||||||
Resource8=IDR_MAINFRAME (English (U.S.))
|
Resource8=IDD_MAPSIZE
|
||||||
Class11=CGfxToolBar
|
Class11=CGfxToolBar
|
||||||
Class12=CLayerTileGUI
|
Class12=CLayerTileGUI
|
||||||
Resource9=IDD_NEW_LAYER
|
Resource9=IDD_LAYER_LIST_DIALOG
|
||||||
Resource10=IDD_MULTIBAR (English (U.S.))
|
Resource10=IDR_TOOLBAR (English (U.S.))
|
||||||
Class13=CNewMapGUI
|
Class13=CNewMapGUI
|
||||||
Class14=CProgressDlg
|
Class14=CProgressDlg
|
||||||
Resource11=IDD_NEWMAP
|
Resource11=IDD_ABOUTBOX (English (U.S.))
|
||||||
|
|
||||||
[CLS:CChildFrame]
|
[CLS:CChildFrame]
|
||||||
Type=0
|
Type=0
|
||||||
|
|
|
@ -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 /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 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"
|
||||||
|
@ -79,7 +79,7 @@ BSC32=bscmake.exe
|
||||||
# ADD BSC32 /nologo
|
# ADD BSC32 /nologo
|
||||||
LINK32=link.exe
|
LINK32=link.exe
|
||||||
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
# 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
|
!ENDIF
|
||||||
|
|
||||||
|
|
|
@ -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>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
begin source code control
|
|
||||||
"$/Utils/GinLib", RICAAAAA
|
|
||||||
..\ginlib
|
|
||||||
end source code control
|
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
Package=<4>
|
Package=<4>
|
||||||
|
@ -30,11 +38,77 @@ Package=<4>
|
||||||
Begin Project Dependency
|
Begin Project Dependency
|
||||||
Project_Dep_Name GinLib
|
Project_Dep_Name GinLib
|
||||||
End Project Dependency
|
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>
|
Package=<5>
|
||||||
{{{
|
{{{
|
||||||
|
|
|
@ -186,15 +186,15 @@ END
|
||||||
// Dialog
|
// 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
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "About MapEdit"
|
CAPTION "About MapEdit"
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
ICON IDR_MAINFRAME,IDC_STATIC,5,5,21,20
|
ICON IDR_MAINFRAME,IDC_STATIC,5,5,20,20
|
||||||
LTEXT "MapEdit\n\nBy Dave 2000",IDC_STATIC,40,10,119,40,
|
LTEXT "MapEdit\nBy Dave 2000",IDC_STATIC,40,10,50,20,
|
||||||
SS_NOPREFIX
|
SS_NOPREFIX
|
||||||
DEFPUSHBUTTON "OK",IDOK,178,7,50,14,WS_GROUP
|
DEFPUSHBUTTON "OK",IDOK,95,5,50,14,WS_GROUP
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_MULTIBAR DIALOGEX 0, 0, 156, 71
|
IDD_MULTIBAR DIALOGEX 0, 0, 156, 71
|
||||||
|
@ -262,9 +262,9 @@ BEGIN
|
||||||
IDD_ABOUTBOX, DIALOG
|
IDD_ABOUTBOX, DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 228
|
RIGHTMARGIN, 138
|
||||||
TOPMARGIN, 7
|
TOPMARGIN, 7
|
||||||
BOTTOMMARGIN, 48
|
BOTTOMMARGIN, 39
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_MULTIBAR, DIALOG
|
IDD_MULTIBAR, DIALOG
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/*********************/
|
/*********************/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
#define __TEXCACHE_HEADER__
|
#define __TEXCACHE_HEADER__
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
//#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
|
|
@ -3,12 +3,14 @@
|
||||||
/*********************/
|
/*********************/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
#include "GLEnabledView.h"
|
#include "GLEnabledView.h"
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
|
#include <GFName.hpp>
|
||||||
|
|
||||||
#include "Core.h"
|
#include "Core.h"
|
||||||
#include "TileSet.h"
|
#include "TileSet.h"
|
||||||
|
@ -55,6 +57,9 @@ CTileBank::~CTileBank()
|
||||||
void CTileBank::Load(CFile *File,float Version)
|
void CTileBank::Load(CFile *File,float Version)
|
||||||
{
|
{
|
||||||
int ListSize;
|
int ListSize;
|
||||||
|
GFName RootPath=File->GetFilePath();
|
||||||
|
GString FilePath=RootPath.Dir();
|
||||||
|
FilePath.Append('\\');
|
||||||
|
|
||||||
File->Read(&ListSize,sizeof(int));
|
File->Read(&ListSize,sizeof(int));
|
||||||
File->Read(&CurrentSet,sizeof(int));
|
File->Read(&CurrentSet,sizeof(int));
|
||||||
|
@ -62,21 +67,40 @@ int ListSize;
|
||||||
Brush[0].Load(File,Version);
|
Brush[0].Load(File,Version);
|
||||||
Brush[1].Load(File,Version);
|
Brush[1].Load(File,Version);
|
||||||
|
|
||||||
for (int i=0;i<ListSize;i++)
|
if (Version<=1.00)
|
||||||
{
|
{
|
||||||
char Filename[256+64];
|
for (int i=0;i<ListSize;i++)
|
||||||
|
{
|
||||||
|
char Filename[256+64];
|
||||||
|
|
||||||
File->Read(Filename,256+64);
|
File->Read(Filename,256+64);
|
||||||
AddTileSet(Filename);
|
AddTileSet(Filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ // New Style rel storage
|
||||||
|
for (int i=0;i<ListSize;i++)
|
||||||
|
{
|
||||||
|
char c=1,RelName[256+64],FullName[256+64];
|
||||||
|
int Len=0;
|
||||||
|
while (c)
|
||||||
|
{
|
||||||
|
File->Read(&c,1);
|
||||||
|
RelName[Len++]=c;
|
||||||
|
}
|
||||||
|
RootPath.makeabsolute(FilePath,RelName,FullName);
|
||||||
|
AddTileSet(FullName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CTileBank::Save(CFile *File)
|
void CTileBank::Save(CFile *File)
|
||||||
{
|
{
|
||||||
int ListSize=TileSet.size();
|
int ListSize=TileSet.size();
|
||||||
|
GFName RootPath=File->GetFilePath();
|
||||||
|
GString FilePath=RootPath.Dir();
|
||||||
|
FilePath.Append('\\');
|
||||||
|
|
||||||
File->Write(&ListSize,sizeof(int));
|
File->Write(&ListSize,sizeof(int));
|
||||||
File->Write(&CurrentSet,sizeof(int));
|
File->Write(&CurrentSet,sizeof(int));
|
||||||
|
@ -89,8 +113,11 @@ int ListSize=TileSet.size();
|
||||||
CTileSet &ThisSet=TileSet[i];
|
CTileSet &ThisSet=TileSet[i];
|
||||||
char Filename[256+64];
|
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];
|
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);
|
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
|
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
|
if (!TileSet.size()) return; // No tiles, return
|
||||||
|
|
||||||
|
@ -318,7 +345,7 @@ BOOL CTileBank::IsTileValidGB(int Set,int Tile)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
CTileSet::CTileSet(char *_Filename,int Idx)
|
CTileSet::CTileSet(char *_Filename,int Idx)
|
||||||
{
|
{
|
||||||
_splitpath(_Filename,Drive,Path,Name,Ext);
|
Filename=_Filename;
|
||||||
|
|
||||||
Loaded=FALSE;
|
Loaded=FALSE;
|
||||||
SetNumber=Idx;
|
SetNumber=Idx;
|
||||||
|
@ -336,8 +363,10 @@ CTileSet::~CTileSet()
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CTileSet::Load(CCore *Core)
|
void CTileSet::Load(CCore *Core)
|
||||||
{
|
{
|
||||||
|
GString Ext=Filename.Ext();
|
||||||
|
Ext.Upper();
|
||||||
|
|
||||||
if (IsStrSame(Ext,".Gin"))
|
if (Ext=="GIN")
|
||||||
{
|
{
|
||||||
Load3d(Core);
|
Load3d(Core);
|
||||||
}
|
}
|
||||||
|
@ -353,18 +382,15 @@ void CTileSet::Load(CCore *Core)
|
||||||
|
|
||||||
void CTileSet::Load2d(CCore *Core)
|
void CTileSet::Load2d(CCore *Core)
|
||||||
{
|
{
|
||||||
char Filename[_MAX_PATH];
|
|
||||||
CTexCache &TexCache=Core->GetTexCache();
|
CTexCache &TexCache=Core->GetTexCache();
|
||||||
|
|
||||||
_makepath( Filename, Drive, Path, Name, Ext);
|
int TexID=TexCache.ProcessTexture((char*)Filename.FullName(),0);
|
||||||
|
|
||||||
int TexID=TexCache.ProcessTexture(Filename,0);
|
|
||||||
sTex &ThisTex=TexCache.GetTex(TexID);
|
sTex &ThisTex=TexCache.GetTex(TexID);
|
||||||
|
|
||||||
int Width=ThisTex.TexWidth/16;
|
int Width=ThisTex.TexWidth/16;
|
||||||
int Height=ThisTex.TexHeight/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
|
Tile.push_back(CTile(0)); // Insert Blank
|
||||||
|
|
||||||
|
@ -405,11 +431,9 @@ BOOL Data=FALSE;
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void CTileSet::Load3d(CCore *Core)
|
void CTileSet::Load3d(CCore *Core)
|
||||||
{
|
{
|
||||||
char Filename[_MAX_PATH];
|
|
||||||
CScene Scene;
|
CScene Scene;
|
||||||
|
|
||||||
_makepath( Filename, Drive, Path, Name, Ext);
|
Scene.Load(Filename.FullName());
|
||||||
Scene.Load(Filename);
|
|
||||||
|
|
||||||
CNode &ThisNode=Scene.GetSceneNode(0);
|
CNode &ThisNode=Scene.GetSceneNode(0);
|
||||||
int ChildCount=ThisNode.GetPruneChildCount();
|
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 ListSize=Tile.size();
|
||||||
int TileID=0;
|
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();
|
int ListSize=Tile.size();
|
||||||
CPoint Start,End;
|
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 ListSize=Tile.size();
|
||||||
int TileID=1; // Dont bother with blank, its sorted
|
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();
|
int ListSize=Tile.size();
|
||||||
GLint Viewport[4];
|
GLint Viewport[4];
|
||||||
|
|
|
@ -6,11 +6,13 @@
|
||||||
#define __TILESET_HEADER__
|
#define __TILESET_HEADER__
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
#include <Vector>
|
#include <Vector>
|
||||||
|
#include <gfname.hpp>
|
||||||
|
|
||||||
#include "TexCache.h"
|
#include "TexCache.h"
|
||||||
#include "Tile.h"
|
#include "Tile.h"
|
||||||
|
@ -55,9 +57,9 @@ public:
|
||||||
CMap &GetBrush(int i) {return(Brush[i]);}
|
CMap &GetBrush(int i) {return(Brush[i]);}
|
||||||
CMap &GetActiveBrush() {return(GetBrush(ActiveBrush));}
|
CMap &GetActiveBrush() {return(GetBrush(ActiveBrush));}
|
||||||
|
|
||||||
void RenderSet(CCore *Core,Vec &CamPos,BOOL Is3d);
|
void RenderSet(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||||
void FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos);
|
void FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos);
|
||||||
void RenderCursor(CCore *Core,Vec &CamPos,BOOL Is3d);
|
void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||||
|
|
||||||
void UpdateGUI(CCore *Core,BOOL IsTileView);
|
void UpdateGUI(CCore *Core,BOOL IsTileView);
|
||||||
|
|
||||||
|
@ -104,17 +106,18 @@ public:
|
||||||
void Load2d(CCore *Core);
|
void Load2d(CCore *Core);
|
||||||
void Load3d(CCore *Core);
|
void Load3d(CCore *Core);
|
||||||
|
|
||||||
char *GetPath() {return(Path);}
|
const char *GetPath() {return(Filename.Dir());}
|
||||||
char *GetName() {return(Name);}
|
const char *GetName() {return(Filename.File());}
|
||||||
char *GetExt() {return(Ext);}
|
const char *GetExt() {return(Filename.Ext());}
|
||||||
|
const char *GetFilename() {return(Filename.FullName());}
|
||||||
|
|
||||||
CTile &GetTile(int No) {return(Tile[No]);}
|
CTile &GetTile(int No) {return(Tile[No]);}
|
||||||
void Purge();
|
void Purge();
|
||||||
int FindCursorPos(CCore *Core,CMapEditView *View,Vec &CamPos,CPoint &MousePos);
|
int FindCursorPos(CCore *Core,CMapEditView *View,Vector3 &CamPos,CPoint &MousePos);
|
||||||
void Render(Vec &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d);
|
void Render(Vector3 &CamPos,CMap &LBrush,CMap &RBrush,BOOL Render3d);
|
||||||
void RenderCursor(Vec &CamPos,int Pos,int Width, int Height);
|
void RenderCursor(Vector3 &CamPos,int Pos,int Width, int Height);
|
||||||
void RenderBrush(Vec &CamPos,CMap &LBrush,CMap &RBrush);
|
void RenderBrush(Vector3 &CamPos,CMap &LBrush,CMap &RBrush);
|
||||||
void RenderGrid(Vec &CamPos);
|
void RenderGrid(Vector3 &CamPos);
|
||||||
int GetTileBrowserWidth() {return(TileBrowserWidth);}
|
int GetTileBrowserWidth() {return(TileBrowserWidth);}
|
||||||
BOOL IsTileValid(int No);
|
BOOL IsTileValid(int No);
|
||||||
BOOL IsTileValidGB(int No);
|
BOOL IsTileValidGB(int No);
|
||||||
|
@ -124,9 +127,8 @@ private:
|
||||||
BOOL Create16x16Tile(sRGBData &Src,u8 *Dst,int XOfs,int YOfs);
|
BOOL Create16x16Tile(sRGBData &Src,u8 *Dst,int XOfs,int YOfs);
|
||||||
CPoint GetTilePos(int ID);
|
CPoint GetTilePos(int ID);
|
||||||
|
|
||||||
char Drive[_MAX_DRIVE],Path[_MAX_DIR],Name[_MAX_FNAME],Ext[_MAX_EXT];
|
GFName Filename;
|
||||||
int SetNumber;
|
int SetNumber;
|
||||||
// std::vector<CTile> Tile;
|
|
||||||
CList<CTile> Tile;
|
CList<CTile> Tile;
|
||||||
BOOL Loaded;
|
BOOL Loaded;
|
||||||
int TileBrowserWidth;
|
int TileBrowserWidth;
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#define IDC_NEWMAP_FORE_CHECK 1051
|
#define IDC_NEWMAP_FORE_CHECK 1051
|
||||||
#define IDC_NEW_LAYER_WIDTH_NAME2 1052
|
#define IDC_NEW_LAYER_WIDTH_NAME2 1052
|
||||||
#define IDC_NEW_LAYER_WIDTH_EDIT2 1053
|
#define IDC_NEW_LAYER_WIDTH_EDIT2 1053
|
||||||
|
#define IDC_RICHEDIT1 1054
|
||||||
#define ID_TOOLBAR_LAYERBAR 32773
|
#define ID_TOOLBAR_LAYERBAR 32773
|
||||||
#define ID_TOOLBAR_TILEPALETTE 32774
|
#define ID_TOOLBAR_TILEPALETTE 32774
|
||||||
#define ID_TOOLBAR_COMBO 32777
|
#define ID_TOOLBAR_COMBO 32777
|
||||||
|
@ -66,7 +67,7 @@
|
||||||
#define _APS_3D_CONTROLS 1
|
#define _APS_3D_CONTROLS 1
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 172
|
#define _APS_NEXT_RESOURCE_VALUE 172
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32797
|
#define _APS_NEXT_COMMAND_VALUE 32797
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1053
|
#define _APS_NEXT_CONTROL_VALUE 1055
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "gl3d.h"
|
//#include "gl3d.h"
|
||||||
|
#include <Vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
#include <gl\glaux.h> // Header File For The Glaux Library
|
#include <gl\glaux.h> // Header File For The Glaux Library
|
||||||
#include "GLEnabledView.h"
|
#include "GLEnabledView.h"
|
||||||
#include "maths.h"
|
|
||||||
|
|
||||||
#include "Utils.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)
|
CPoint IDToPoint(int ID,int Width)
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#ifndef __UTILS_HEADER__
|
#ifndef __UTILS_HEADER__
|
||||||
#define __UTILS_HEADER__
|
#define __UTILS_HEADER__
|
||||||
|
|
||||||
#include "maths.h"
|
#include <vector3.h>
|
||||||
#include <gl\gl.h>
|
#include <gl\gl.h>
|
||||||
#include <gl\glu.h>
|
#include <gl\glu.h>
|
||||||
#include <gl\glut.h>
|
#include <gl\glut.h>
|
||||||
|
@ -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);
|
void BuildGLQuad(float XMin,float XMax,float YMin,float YMax,float Z);
|
||||||
int LoadGLTexture(char *FileName, GLuint &Text,int &Width,int &Height);
|
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);
|
CPoint IDToPoint(int ID,int Width);
|
||||||
int PointToID(CPoint &Pnt,int Width);
|
int PointToID(CPoint &Pnt,int Width);
|
||||||
|
|
||||||
void SaveTGA(char *Filename,int W,int H,u8 *Data);
|
void SaveTGA(char *Filename,int W,int H,u8 *Data);
|
||||||
void SaveBmp(char *Filename,int Width,int Height,RGBQUAD *Pal,u8 *Image);
|
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);
|
void SetFileExt(char *InName,char *OutName,char *Ext);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue