This commit is contained in:
parent
9af1eb0ad5
commit
0a22ec4675
20 changed files with 348 additions and 122 deletions
|
@ -667,6 +667,14 @@ BOOL CCore::IsTileValid(int Set,int Tile)
|
|||
return(TileBank.IsTileValid(Set,Tile));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CCore::SetColFlag(int Flag)
|
||||
{
|
||||
if (TileViewFlag) return;
|
||||
Layer[ActiveLayer]->SetColFlags(this,Flag);
|
||||
RedrawView();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CCore::CopySelection()
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "LayerList.h"
|
||||
#include "LayerTileGUI.h"
|
||||
|
||||
const s32 FileVersion=2;
|
||||
const s32 FileVersion=3;
|
||||
|
||||
#define SCREEN_MAP_WIDTH 30
|
||||
#define SCREEN_MAP_HEIGHT 20
|
||||
|
@ -70,6 +70,8 @@ public:
|
|||
void TileBankGUIKill() {TileBank.GUIKill(this);}
|
||||
void TileBankGUIUpdate() {TileBank.GUIUpdate(this);}
|
||||
|
||||
void SetColFlag(int Flag);
|
||||
|
||||
// GUI
|
||||
void UpdateParamBar();
|
||||
void GUIAdd(CDialog &Dlg,int ID,bool Visible=true,bool Lock=false);
|
||||
|
|
|
@ -46,6 +46,19 @@ bool operator==(sExpTile const &v1)
|
|||
}
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
struct sExpColTile
|
||||
{
|
||||
u8 Tile;
|
||||
u8 Flags;
|
||||
|
||||
bool operator==(sExpColTile const &v1)
|
||||
{
|
||||
return(Tile==v1.Tile && Flags==v1.Flags);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
struct sExpTri
|
||||
{
|
||||
|
|
|
@ -98,6 +98,7 @@ virtual BOOL MouseMove(CCore *Core,UINT nFlags, CPoint &CursorPos)=0;
|
|||
|
||||
virtual BOOL MirrorX(CCore *Core){return(false);};
|
||||
virtual BOOL MirrorY(CCore *Core){return(false);};
|
||||
virtual BOOL SetColFlags(CCore *Core,int Flag){return(false);};
|
||||
|
||||
virtual BOOL CopySelection(CCore *Core) {return(false);}
|
||||
virtual BOOL PasteSelection(CCore *Core) {return(false);}
|
||||
|
|
|
@ -76,20 +76,34 @@ void CLayerCollision::Save(CFile *File)
|
|||
Map.Save(File);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CLayerCollision::Render(CCore *Core,Vector3 &CamPos,BOOL Is3d)
|
||||
{
|
||||
Vector3 ThisCam=Core->OffsetCam(CamPos,GetScaleFactor());
|
||||
|
||||
CLayerTile::Render(Core,ThisCam,Map,FALSE,0.5f);
|
||||
}
|
||||
/*****************************************************************************/
|
||||
BOOL CLayerCollision::SetColFlag(CCore *Core,int Flag)
|
||||
{
|
||||
TRACE1("HERE!!! %i",Flag);
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*** Gui *********************************************************************/
|
||||
/*****************************************************************************/
|
||||
void CLayerCollision::GUIInit(CCore *Core)
|
||||
{
|
||||
// Core->TileBankGUIInit();
|
||||
Core->GUIAdd(ToolBarGUI,IDD_LAYERTILE_TOOLBAR);
|
||||
Core->GUIAdd(CollisionGUI,IDD_LAYERCOLLISION_GUI);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CLayerCollision::GUIKill(CCore *Core)
|
||||
{
|
||||
// Core->TileBankGUIKill();
|
||||
Core->GUIRemove(ToolBarGUI,IDD_LAYERTILE_TOOLBAR);
|
||||
Core->GUIRemove(CollisionGUI,IDD_LAYERCOLLISION_GUI);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -119,14 +133,21 @@ int Height=Map.GetHeight();
|
|||
for (int X=0; X<Width; X++)
|
||||
{
|
||||
sMapElem &MapElem=Map.Get(X,Y);
|
||||
u8 OutElem=0;
|
||||
sExpColTile OutElem;
|
||||
|
||||
if (MapElem.Tile)
|
||||
{
|
||||
OutElem=((MapElem.Tile-1)*4)+1;
|
||||
OutElem+=MapElem.Flags & TILE_FLAG_MIRROR_XY;
|
||||
OutElem.Tile=((MapElem.Tile-1)*4)+1;
|
||||
OutElem.Tile+=MapElem.Flags & PC_TILE_FLAG_MIRROR_XY;
|
||||
OutElem.Flags=MapElem.Flags>>PC_TILE_FLAG_COLLISION_SHIFT;
|
||||
}
|
||||
//fwrite(&OutElem,sizeof(u8),1,File);
|
||||
Exp.Write(&OutElem,sizeof(u8));
|
||||
else
|
||||
{
|
||||
OutElem.Tile=0;
|
||||
OutElem.Flags=0;
|
||||
}
|
||||
|
||||
Exp.Write(&OutElem,sizeof(sExpColTile));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
#define __LAYER_COLLISION_HEADER__
|
||||
|
||||
#include "Layer.h"
|
||||
#include "MapEdit.h"
|
||||
#include "LayerCollisionGUI.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
class CCore;
|
||||
|
@ -19,6 +21,9 @@ public:
|
|||
|
||||
int GetType() {return(LAYER_TYPE_COLLISION);}
|
||||
|
||||
void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||
BOOL SetColFlag(CCore *Core,int Flag);
|
||||
|
||||
void GUIInit(CCore *Core);
|
||||
void GUIKill(CCore *Core);
|
||||
void GUIUpdate(CCore *Core);
|
||||
|
@ -34,7 +39,8 @@ public:
|
|||
void RemapSet(int OrigSet,int NewSet);
|
||||
protected:
|
||||
|
||||
// CLayerTileToolbar ToolBarGUI;
|
||||
|
||||
CLayerCollisionGUI CollisionGUI;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/******************/
|
||||
/*** Layer Defs ***/
|
||||
/******************/
|
||||
|
||||
|
@ -29,9 +30,31 @@ enum LAYER_SUBTYPE
|
|||
|
||||
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,
|
||||
PC_TILE_FLAG_MIRROR_X =1<<0,
|
||||
PC_TILE_FLAG_MIRROR_Y =1<<1,
|
||||
PC_TILE_FLAG_MIRROR_XY =PC_TILE_FLAG_MIRROR_X | PC_TILE_FLAG_MIRROR_Y,
|
||||
|
||||
PC_TILE_COLLISION_NORMAL =0,
|
||||
PC_TILE_COLLISION_DAMAGE =1,
|
||||
PC_TILE_COLLISION_SLIPPERY =2,
|
||||
PC_TILE_COLLISION_ELECTRIC =3,
|
||||
PC_TILE_COLLISION_STICKY =4,
|
||||
PC_TILE_COLLISION_WATER =5,
|
||||
|
||||
PC_TILE_FLAG_COLLISION_SHIFT =2,
|
||||
PC_TILE_FLAG_COLLISION_NORMAL =PC_TILE_COLLISION_NORMAL<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
PC_TILE_FLAG_COLLISION_DAMAGE =PC_TILE_COLLISION_DAMAGE<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
PC_TILE_FLAG_COLLISION_SLIPPERY =PC_TILE_COLLISION_SLIPPERY<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
PC_TILE_FLAG_COLLISION_ELECTRIC =PC_TILE_COLLISION_ELECTRIC<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
PC_TILE_FLAG_COLLISION_STICKY =PC_TILE_COLLISION_STICKY<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
PC_TILE_FLAG_COLLISION_WATER =PC_TILE_COLLISION_WATER<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
|
||||
PC_TILE_FLAG_COLLISION_MASK = ~PC_TILE_FLAG_MIRROR_XY,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
LAYER_SHADE_MAX=4,
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -38,6 +38,9 @@ CLayerShade::CLayerShade(int _SubType,int _Width,int _Height)
|
|||
|
||||
RGB[0].rgbRed=255; RGB[0].rgbGreen=255; RGB[0].rgbBlue=255;
|
||||
RGB[1].rgbRed=255; RGB[1].rgbGreen=0; RGB[1].rgbBlue=0;
|
||||
RGB[2].rgbRed=0; RGB[2].rgbGreen=255; RGB[2].rgbBlue=0;
|
||||
RGB[3].rgbRed=0; RGB[3].rgbGreen=0; RGB[3].rgbBlue=255;
|
||||
Count=2;
|
||||
|
||||
}
|
||||
|
||||
|
@ -64,8 +67,20 @@ void CLayerShade::Load(CFile *File,int Version)
|
|||
File->Read(&Width,sizeof(int));
|
||||
File->Read(&Height,sizeof(int));
|
||||
|
||||
if (Version==2)
|
||||
{
|
||||
File->Read(&RGB[0],sizeof(RGBQUAD));
|
||||
File->Read(&RGB[1],sizeof(RGBQUAD));
|
||||
}
|
||||
else
|
||||
{
|
||||
File->Read(&Count,sizeof(int));
|
||||
for (int i=0; i<LAYER_SHADE_RGB_MAX; i++)
|
||||
{
|
||||
File->Read(&Pos[i],sizeof(int));
|
||||
File->Read(&RGB[i],sizeof(RGBQUAD));
|
||||
}
|
||||
}
|
||||
|
||||
TRACE1("%s\t",GetName());
|
||||
TRACE1("Scl:%g\t",ScaleFactor);
|
||||
|
@ -85,8 +100,13 @@ void CLayerShade::Save(CFile *File)
|
|||
File->Write(&Width,sizeof(int));
|
||||
File->Write(&Height,sizeof(int));
|
||||
|
||||
File->Write(&RGB[0],sizeof(RGBQUAD));
|
||||
File->Write(&RGB[1],sizeof(RGBQUAD));
|
||||
File->Write(&Count,sizeof(int));
|
||||
for (int i=0; i<LAYER_SHADE_RGB_MAX; i++)
|
||||
{
|
||||
File->Write(&Pos[i],sizeof(int));
|
||||
File->Write(&RGB[i],sizeof(RGBQUAD));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -100,11 +120,12 @@ float ZoomH=Core->GetZoomH();
|
|||
float ScrOfsX=(ZoomW/2);
|
||||
float ScrOfsY=(ZoomH/2);
|
||||
Vector3 &Scale=Core->GetScaleVector();
|
||||
int ThisCount=Count-1;
|
||||
float X0=0;
|
||||
float X1=Width;
|
||||
float Y=(0+1);
|
||||
|
||||
float x0=0;
|
||||
float x1=x0+Width;
|
||||
float y0=(0+1);
|
||||
float y1=y0-Height;
|
||||
float YInc=(float)Height/(float)ThisCount;
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glPushMatrix();
|
||||
|
@ -114,14 +135,16 @@ float y1=y0-Height;
|
|||
glTranslatef(-ScrOfsX,ScrOfsY,0); // Bring to top left corner
|
||||
|
||||
glBegin (GL_QUADS);
|
||||
glColor3ub(RGB[0].rgbRed,RGB[0].rgbGreen,RGB[0].rgbBlue);
|
||||
glVertex3f( x0,y0,0.0f);
|
||||
glVertex3f( x1,y0,0.0f);
|
||||
|
||||
glColor3ub(RGB[1].rgbRed,RGB[1].rgbGreen,RGB[1].rgbBlue);
|
||||
glVertex3f( x1,y1,0.0f);
|
||||
glVertex3f( x0,y1,0.0f);
|
||||
|
||||
for (int i=0; i<ThisCount; i++)
|
||||
{
|
||||
glColor3ub(RGB[i+0].rgbRed,RGB[i+0].rgbGreen,RGB[i+0].rgbBlue);
|
||||
glVertex3f( X0,Y,0.0f);
|
||||
glVertex3f( X1,Y,0.0f);
|
||||
Y-=YInc;
|
||||
glColor3ub(RGB[i+1].rgbRed,RGB[i+1].rgbGreen,RGB[i+1].rgbBlue);
|
||||
glVertex3f( X1,Y,0.0f);
|
||||
glVertex3f( X0,Y,0.0f);
|
||||
}
|
||||
glEnd();
|
||||
glPopMatrix();
|
||||
}
|
||||
|
@ -142,8 +165,11 @@ BOOL CLayerShade::Resize(int _Width,int _Height)
|
|||
void CLayerShade::GUIInit(CCore *Core)
|
||||
{
|
||||
Core->GUIAdd(ShadeDlg,IDD_LAYERSHADE_GUI);
|
||||
ShadeDlg.SetRGB0(RGB[0]);
|
||||
ShadeDlg.SetRGB1(RGB[1]);
|
||||
for (int i=0; i<LAYER_SHADE_MAX; i++)
|
||||
{
|
||||
ShadeDlg.SetRGB(RGB[i],i);
|
||||
}
|
||||
ShadeDlg.SetCount(Count);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -155,13 +181,17 @@ void CLayerShade::GUIKill(CCore *Core)
|
|||
/*****************************************************************************/
|
||||
void CLayerShade::GUIUpdate(CCore *Core)
|
||||
{
|
||||
ShadeDlg.CheckData();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CLayerShade::GUIChanged(CCore *Core)
|
||||
{
|
||||
ShadeDlg.GetRGB0(RGB[0]);
|
||||
ShadeDlg.GetRGB1(RGB[1]);
|
||||
for (int i=0; i<LAYER_SHADE_MAX; i++)
|
||||
{
|
||||
ShadeDlg.GetRGB(RGB[i],i);
|
||||
}
|
||||
ShadeDlg.GetCount(Count);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -170,8 +200,10 @@ void CLayerShade::GUIChanged(CCore *Core)
|
|||
void CLayerShade::Export(CCore *Core,CExport &Exp)
|
||||
{
|
||||
Exp.ExportLayerHeader(LAYER_TYPE_SHADE,SubType,Width,Height);
|
||||
Exp.Write(&Count,sizeof(int));
|
||||
for (int i=0; i<LAYER_SHADE_RGB_MAX; i++)
|
||||
{
|
||||
Exp.Write(&Pos[i],sizeof(int));
|
||||
Exp.Write(&RGB[i],sizeof(RGBQUAD));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,6 +64,8 @@ protected:
|
|||
|
||||
CLayerShadeGUI ShadeDlg;
|
||||
|
||||
int Count;
|
||||
int Pos[LAYER_SHADE_RGB_MAX];
|
||||
RGBQUAD RGB[LAYER_SHADE_RGB_MAX];
|
||||
};
|
||||
|
||||
|
|
|
@ -209,7 +209,6 @@ int DrawH=ZoomH+8;
|
|||
glTranslatef(-Ofs->x,Ofs->y,0); // Set scroll offset
|
||||
}
|
||||
|
||||
glColor4f(1,1,1,Alpha);
|
||||
for (int YLoop=0; YLoop<DrawH; YLoop++)
|
||||
{
|
||||
for (int XLoop=0; XLoop<DrawW; XLoop++)
|
||||
|
@ -219,6 +218,7 @@ int DrawH=ZoomH+8;
|
|||
{ // Render Non Zero Tiles
|
||||
CTile &ThisTile=Core->GetTile(ThisElem.Set,ThisElem.Tile);
|
||||
|
||||
glColor4f(1,1,1,Alpha); // Set default Color
|
||||
ThisTile.Render(ThisElem.Flags,Render3d);
|
||||
}
|
||||
glTranslatef(1.0f,0,0); // Next X
|
||||
|
@ -571,15 +571,15 @@ BOOL CLayerTile::MirrorX(CCore *Core)
|
|||
{
|
||||
CTileBank &TileBank=Core->GetTileBank();
|
||||
|
||||
TileBank.GetLBrush().MirrorX(TILE_FLAG_MIRROR_X);
|
||||
TileBank.GetRBrush().MirrorX(TILE_FLAG_MIRROR_X);
|
||||
TileBank.GetLBrush().MirrorX(PC_TILE_FLAG_MIRROR_X);
|
||||
TileBank.GetRBrush().MirrorX(PC_TILE_FLAG_MIRROR_X);
|
||||
}
|
||||
break;
|
||||
case MouseModeSelect:
|
||||
{
|
||||
if (!Selection.IsValid()) return(false); // No Selection
|
||||
CRect R=Selection.GetRect();
|
||||
Map.MirrorX(TILE_FLAG_MIRROR_X,&R);
|
||||
Map.MirrorX(PC_TILE_FLAG_MIRROR_X,&R);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -598,15 +598,15 @@ BOOL CLayerTile::MirrorY(CCore *Core)
|
|||
{
|
||||
CTileBank &TileBank=Core->GetTileBank();
|
||||
|
||||
TileBank.GetLBrush().MirrorY(TILE_FLAG_MIRROR_Y);
|
||||
TileBank.GetRBrush().MirrorY(TILE_FLAG_MIRROR_Y);
|
||||
TileBank.GetLBrush().MirrorY(PC_TILE_FLAG_MIRROR_Y);
|
||||
TileBank.GetRBrush().MirrorY(PC_TILE_FLAG_MIRROR_Y);
|
||||
}
|
||||
break;
|
||||
case MouseModeSelect:
|
||||
{
|
||||
if (!Selection.IsValid()) return(false); // No Selection
|
||||
CRect R=Selection.GetRect();
|
||||
Map.MirrorY(TILE_FLAG_MIRROR_Y,&R);
|
||||
Map.MirrorY(PC_TILE_FLAG_MIRROR_Y,&R);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -617,6 +617,33 @@ BOOL CLayerTile::MirrorY(CCore *Core)
|
|||
return(TRUE);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
BOOL CLayerTile::SetColFlags(CCore *Core,int Flags)
|
||||
{
|
||||
switch(Mode)
|
||||
{
|
||||
case MouseModePaint:
|
||||
{
|
||||
CTileBank &TileBank=Core->GetTileBank();
|
||||
|
||||
TileBank.GetLBrush().SetFlags(Flags<<PC_TILE_FLAG_COLLISION_SHIFT,PC_TILE_FLAG_MIRROR_XY);
|
||||
TileBank.GetRBrush().SetFlags(Flags<<PC_TILE_FLAG_COLLISION_SHIFT,PC_TILE_FLAG_MIRROR_XY);
|
||||
}
|
||||
break;
|
||||
case MouseModeSelect:
|
||||
{
|
||||
if (!Selection.IsValid()) return(false); // No Selection
|
||||
CRect R=Selection.GetRect();
|
||||
Map.SetFlags(Flags<<PC_TILE_FLAG_COLLISION_SHIFT,PC_TILE_FLAG_MIRROR_XY,&R);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
BOOL CLayerTile::CopySelection(CCore *Core)
|
||||
{
|
||||
|
|
|
@ -29,9 +29,9 @@ public:
|
|||
int GetType() {return(LAYER_TYPE_TILE);}
|
||||
int GetSubType() {return(SubType);}
|
||||
|
||||
void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||
void RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active);
|
||||
void RenderSelection(CCore *Core,Vector3 &ThisCam);
|
||||
virtual void Render(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||
virtual void RenderGrid(CCore *Core,Vector3 &CamPos,BOOL Active);
|
||||
virtual void RenderSelection(CCore *Core,Vector3 &ThisCam);
|
||||
|
||||
void FindCursorPos(CCore *Core,Vector3 &CamPos,CPoint &MousePos);
|
||||
void RenderCursor(CCore *Core,Vector3 &CamPos,BOOL Is3d);
|
||||
|
@ -62,6 +62,7 @@ virtual void GUIChanged(CCore *Core);
|
|||
|
||||
BOOL MirrorX(CCore *Core);
|
||||
BOOL MirrorY(CCore *Core);
|
||||
BOOL SetColFlags(CCore *Core,int Flags);
|
||||
|
||||
BOOL CopySelection(CCore *Core);
|
||||
BOOL PasteSelection(CCore *Core);
|
||||
|
|
|
@ -230,6 +230,26 @@ int Ofs=(R->bottom+R->top)-1;
|
|||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CMap::SetFlags(int Flags,int Mask,CRect *R)
|
||||
{
|
||||
if (!R)
|
||||
{ // No rect, use full
|
||||
R=new CRect(0,0,GetWidth(),GetHeight());
|
||||
}
|
||||
|
||||
for (int Y=R->top; Y<R->bottom; Y++)
|
||||
{
|
||||
for (int X=R->left; X<R->right; X++)
|
||||
{
|
||||
sMapElem &ThisElem=Get(X,Y);
|
||||
ThisElem.Flags&=Mask;
|
||||
ThisElem.Flags|=Flags;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void CMap::Paste(CMap &Src,CRect *R)
|
||||
{
|
||||
|
|
|
@ -19,12 +19,6 @@ BOOL operator==(sMapElem const &v1) // Doesnt Check flags
|
|||
}
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MapElemFlagMirrorX= 1<<0,
|
||||
MapElemFlagMirrorY= 1<<1,
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
class CFile;
|
||||
class CPoint;
|
||||
|
@ -45,6 +39,7 @@ public:
|
|||
void Delete();
|
||||
void MirrorX(int Flag,CRect *R=NULL);
|
||||
void MirrorY(int Flag,CRect *R=NULL);
|
||||
void SetFlags(int Flags,int Mask,CRect *R=NULL);
|
||||
|
||||
sMapElem &Get(int X,int Y);
|
||||
void Set(int X,int Y,sMapElem &Blk,BOOL Force=FALSE);
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
[General Info]
|
||||
Version=1
|
||||
LastClass=CMapEditDoc
|
||||
LastClass=CLayerCollisionGUI
|
||||
LastTemplate=CDialog
|
||||
NewFileInclude1=#include "stdafx.h"
|
||||
NewFileInclude2=#include "mapedit.h"
|
||||
LastPage=0
|
||||
|
||||
ClassCount=15
|
||||
ClassCount=16
|
||||
Class1=CAddLayerDlg
|
||||
Class2=CChildFrame
|
||||
Class3=CGLEnabledView
|
||||
|
@ -25,19 +25,21 @@ Class13=CMapSizeDlg
|
|||
Class14=CMultiBar
|
||||
Class15=CNewMapGUI
|
||||
|
||||
ResourceCount=12
|
||||
Resource1=IDD_MAPSIZE
|
||||
Resource2=IDD_NEWMAP
|
||||
ResourceCount=13
|
||||
Resource1=IDD_MULTIBAR (English (U.S.))
|
||||
Resource2=IDR_MAINFRAME (English (U.S.))
|
||||
Resource3=IDR_MAPEDITYPE (English (U.S.))
|
||||
Resource4=IDD_ADDLAYER
|
||||
Resource5=IDD_LAYERTILE_GUI
|
||||
Resource6=IDD_LAYERTILE_TOOLBAR
|
||||
Resource7=IDR_TOOLBAR (English (U.S.))
|
||||
Resource8=IDR_MAINFRAME (English (U.S.))
|
||||
Resource9=IDD_ABOUTBOX (English (U.S.))
|
||||
Resource10=IDD_MULTIBAR (English (U.S.))
|
||||
Resource11=IDD_LAYER_LIST_DIALOG
|
||||
Resource12=IDD_LAYERSHADE_GUI
|
||||
Resource4=IDD_ABOUTBOX (English (U.S.))
|
||||
Resource5=IDD_LAYER_LIST_DIALOG
|
||||
Resource6=IDD_ADDLAYER
|
||||
Resource7=IDD_NEWMAP
|
||||
Resource8=IDD_LAYERTILE_GUI
|
||||
Resource9=IDD_LAYERTILE_TOOLBAR
|
||||
Resource10=IDD_LAYERSHADE_GUI
|
||||
Resource11=IDR_TOOLBAR (English (U.S.))
|
||||
Resource12=IDD_MAPSIZE
|
||||
Class16=CLayerCollisionGUI
|
||||
Resource13=IDD_LAYERCOLLISION_GUI
|
||||
|
||||
[CLS:CAddLayerDlg]
|
||||
Type=0
|
||||
|
@ -67,6 +69,9 @@ Type=0
|
|||
BaseClass=CDialog
|
||||
HeaderFile=LayerShadeGUI.h
|
||||
ImplementationFile=LayerShadeGUI.cpp
|
||||
LastObject=IDC_LAYERSHADE_COUNTTEXT
|
||||
Filter=D
|
||||
VirtualFilter=dWC
|
||||
|
||||
[CLS:CLayerTileGUI]
|
||||
Type=0
|
||||
|
@ -110,7 +115,7 @@ Type=0
|
|||
BaseClass=CDocument
|
||||
HeaderFile=MapEditDoc.h
|
||||
ImplementationFile=MapEditDoc.cpp
|
||||
LastObject=ID_RESET_VIEW
|
||||
LastObject=ID_MAP_SETSIZE
|
||||
Filter=N
|
||||
VirtualFilter=DC
|
||||
|
||||
|
@ -160,15 +165,23 @@ Control3=IDC_LAYERLIST_DELETE,button,1342242816
|
|||
[DLG:IDD_LAYERSHADE_GUI]
|
||||
Type=1
|
||||
Class=CLayerShadeGUI
|
||||
ControlCount=8
|
||||
Control1=IDC_LAYERSHADE_TEXT0,static,1342308352
|
||||
Control2=IDC_LAYERSHADE_EDITR0,edit,1350770688
|
||||
Control3=IDC_LAYERSHADE_EDITG0,edit,1350770816
|
||||
Control4=IDC_LAYERSHADE_EDITB0,edit,1350770816
|
||||
Control5=IDC_LAYERSHADE_TEXT1,static,1342308352
|
||||
Control6=IDC_LAYERSHADE_EDITR1,edit,1350639744
|
||||
Control7=IDC_LAYERSHADE_EDITG1,edit,1350639744
|
||||
Control8=IDC_LAYERSHADE_EDITB1,edit,1350639744
|
||||
ControlCount=16
|
||||
Control1=IDC_LAYERSHADE_EDITR0,edit,1350770688
|
||||
Control2=IDC_LAYERSHADE_EDITG0,edit,1350770816
|
||||
Control3=IDC_LAYERSHADE_EDITB0,edit,1350770816
|
||||
Control4=IDC_LAYERSHADE_COUNTTEXT,static,1342312449
|
||||
Control5=IDC_LAYERSHADE_EDITR1,edit,1350770688
|
||||
Control6=IDC_LAYERSHADE_EDITG1,edit,1350770816
|
||||
Control7=IDC_LAYERSHADE_EDITB1,edit,1350770816
|
||||
Control8=IDC_LAYERSHADE_EDITR2,edit,1350770688
|
||||
Control9=IDC_LAYERSHADE_EDITG2,edit,1350770816
|
||||
Control10=IDC_LAYERSHADE_EDITB2,edit,1350770816
|
||||
Control11=IDC_LAYERSHADE_TEXT7,static,1342312449
|
||||
Control12=IDC_LAYERSHADE_EDITR3,edit,1350770688
|
||||
Control13=IDC_LAYERSHADE_EDITG3,edit,1350770816
|
||||
Control14=IDC_LAYERSHADE_EDITB3,edit,1350770816
|
||||
Control15=IDC_LAYERSHADE_COUNTEDIT,edit,1350576256
|
||||
Control16=IDC_SPIN2,msctls_updown32,1342177302
|
||||
|
||||
[DLG:IDD_LAYERTILE_GUI]
|
||||
Type=1
|
||||
|
@ -318,3 +331,23 @@ Type=1
|
|||
Class=?
|
||||
ControlCount=0
|
||||
|
||||
[DLG:IDD_LAYERCOLLISION_GUI]
|
||||
Type=1
|
||||
Class=CLayerCollisionGUI
|
||||
ControlCount=6
|
||||
Control1=IDC_LAYERCOLLISION_NORMAL,button,1342242816
|
||||
Control2=IDC_LAYERCOLLISION_DAMAGE,button,1342242816
|
||||
Control3=IDC_LAYERCOLLISION_SLIPPERY,button,1342242816
|
||||
Control4=IDC_LAYERCOLLISION_ELECTRIC,button,1342242816
|
||||
Control5=IDC_LAYERCOLLISION_STICKY,button,1342242816
|
||||
Control6=IDC_LAYERCOLLISION_WATER,button,1342242816
|
||||
|
||||
[CLS:CLayerCollisionGUI]
|
||||
Type=0
|
||||
HeaderFile=layercollisiongui.h
|
||||
ImplementationFile=layercollisiongui.cpp
|
||||
BaseClass=CDialog
|
||||
Filter=D
|
||||
VirtualFilter=dWC
|
||||
LastObject=IDC_LAYERCOLLISION_DAMAGE
|
||||
|
||||
|
|
|
@ -116,24 +116,10 @@ SOURCE=.\LayerDef.h
|
|||
# Begin Source File
|
||||
|
||||
SOURCE=.\LayerShade.cpp
|
||||
|
||||
!IF "$(CFG)" == "MapEdit - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "MapEdit - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LayerShade.h
|
||||
|
||||
!IF "$(CFG)" == "MapEdit - Win32 Release"
|
||||
|
||||
!ELSEIF "$(CFG)" == "MapEdit - Win32 Debug"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
|
@ -362,6 +348,14 @@ SOURCE=.\AddLayerDlg.h
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LayerCollisionGUI.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LayerCollisionGUI.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LayerList.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
|
@ -511,7 +511,7 @@ BEGIN
|
|||
WS_VSCROLL | WS_TABSTOP,WS_EX_DLGMODALFRAME
|
||||
END
|
||||
|
||||
IDD_LAYERTILE_GUI DIALOG DISCARDABLE 0, 0, 151, 47
|
||||
IDD_LAYERTILE_GUI DIALOG DISCARDABLE 0, 0, 156, 47
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
|
@ -522,7 +522,7 @@ BEGIN
|
|||
PUSHBUTTON "Delete",IDD_LAYERTILE_BTN_DELETE,50,25,45,15
|
||||
END
|
||||
|
||||
IDD_LAYERTILE_TOOLBAR DIALOG DISCARDABLE 0, 0, 151, 16
|
||||
IDD_LAYERTILE_TOOLBAR DIALOG DISCARDABLE 0, 0, 156, 16
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
|
@ -532,23 +532,48 @@ BEGIN
|
|||
WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_LAYERSHADE_GUI DIALOG DISCARDABLE 0, 0, 186, 36
|
||||
IDD_LAYERSHADE_GUI DIALOG DISCARDABLE 0, 0, 156, 76
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
LTEXT "RGB0",IDC_LAYERSHADE_TEXT0,5,7,24,8
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR0,5,15,20,12,ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG0,25,15,20,12,ES_AUTOHSCROLL |
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR0,45,15,20,12,ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG0,65,15,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB0,45,15,20,12,ES_AUTOHSCROLL |
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB0,85,15,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
LTEXT "RGB1",IDC_LAYERSHADE_TEXT1,85,5,24,8
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR1,85,15,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG1,105,15,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB1,125,15,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER
|
||||
CTEXT "Count",IDC_LAYERSHADE_COUNTTEXT,5,5,25,10,SS_SUNKEN
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR1,45,30,20,12,ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG1,65,30,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB1,85,30,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR2,45,45,20,12,ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG2,65,45,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB2,85,45,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
CTEXT "RGB",IDC_LAYERSHADE_TEXT7,45,5,60,8,SS_SUNKEN
|
||||
EDITTEXT IDC_LAYERSHADE_EDITR3,45,60,20,12,ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITG3,65,60,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_EDITB3,85,60,20,12,ES_AUTOHSCROLL |
|
||||
ES_NUMBER | WS_GROUP
|
||||
EDITTEXT IDC_LAYERSHADE_COUNTEDIT,5,15,25,12,ES_AUTOHSCROLL |
|
||||
ES_READONLY | ES_NUMBER | NOT WS_TABSTOP
|
||||
CONTROL "Spin2",IDC_SPIN2,"msctls_updown32",UDS_SETBUDDYINT |
|
||||
UDS_ALIGNRIGHT | UDS_AUTOBUDDY,31,10,11,20
|
||||
END
|
||||
|
||||
IDD_LAYERCOLLISION_GUI DIALOG DISCARDABLE 0, 0, 156, 36
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
PUSHBUTTON "Normal",IDC_LAYERCOLLISION_NORMAL,0,5,50,10
|
||||
PUSHBUTTON "Damage",IDC_LAYERCOLLISION_DAMAGE,50,5,50,10
|
||||
PUSHBUTTON "Slippery",IDC_LAYERCOLLISION_SLIPPERY,100,5,50,10
|
||||
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,0,15,50,10
|
||||
PUSHBUTTON "Sticky",IDC_LAYERCOLLISION_STICKY,50,15,50,10
|
||||
PUSHBUTTON "Water",IDC_LAYERCOLLISION_WATER,100,15,50,10
|
||||
END
|
||||
|
||||
|
||||
|
@ -595,7 +620,7 @@ BEGIN
|
|||
IDD_LAYERTILE_GUI, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 144
|
||||
RIGHTMARGIN, 149
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 40
|
||||
END
|
||||
|
@ -603,7 +628,7 @@ BEGIN
|
|||
IDD_LAYERTILE_TOOLBAR, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 144
|
||||
RIGHTMARGIN, 149
|
||||
TOPMARGIN, 4
|
||||
BOTTOMMARGIN, 9
|
||||
END
|
||||
|
@ -611,7 +636,15 @@ BEGIN
|
|||
IDD_LAYERSHADE_GUI, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 179
|
||||
RIGHTMARGIN, 149
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 69
|
||||
END
|
||||
|
||||
IDD_LAYERCOLLISION_GUI, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 149
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 29
|
||||
END
|
||||
|
|
|
@ -34,9 +34,9 @@ BEGIN_MESSAGE_MAP(CMapEditDoc, CDocument)
|
|||
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
|
||||
ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
|
||||
ON_COMMAND(ID_2D_3D_TOGGLE, On2d3dToggle)
|
||||
ON_COMMAND(ID_RESET_VIEW, OnResetView)
|
||||
ON_COMMAND(ID_TOOLBAR_TILEPALETTE, OnToggleTileview)
|
||||
ON_COMMAND(ID_TOGGLE_GRID, OnToggleGrid)
|
||||
ON_COMMAND(ID_RESET_VIEW, OnResetView)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
@ -296,3 +296,11 @@ void CMapEditDoc::FocusView()
|
|||
{
|
||||
theApp.GetMainWnd()->SetFocus(); // Put control back to Window :o)
|
||||
}
|
||||
|
||||
/*********************************************************************************/
|
||||
void CMapEditDoc::SetColFlag(int Flag)
|
||||
{
|
||||
Core.SetColFlag(Flag);
|
||||
FocusView();
|
||||
}
|
||||
|
||||
|
|
|
@ -35,18 +35,7 @@ public:
|
|||
void RButtonControl(UINT nFlags, CPoint &point,BOOL DownFlag);
|
||||
void MouseWheel(UINT nFlags, short zDelta, CPoint &pt);
|
||||
void MouseMove(UINT nFlags, CPoint &point);
|
||||
/*
|
||||
void ToggleTileView(CMapEditView *View);
|
||||
void ToggleGrid(CMapEditView *View);
|
||||
void MirrorX(CMapEditView *View);
|
||||
void MirrorY(CMapEditView *View);
|
||||
void CopySelection(CMapEditView *View);
|
||||
void PasteSelection(CMapEditView *View);
|
||||
void ActiveBrushLeft(CMapEditView *View);
|
||||
void ActiveBrushRight(CMapEditView *View);
|
||||
void MapSetSize(CMapEditView *View);
|
||||
void Toggle2d3d(CMapEditView *View);
|
||||
*/
|
||||
|
||||
void TileBankLoad();
|
||||
void TileBankDelete();
|
||||
void TileBankReload();
|
||||
|
@ -57,6 +46,7 @@ public:
|
|||
void AddLayer(int Layer);
|
||||
void DeleteLayer(int Layer);
|
||||
|
||||
void SetColFlag(int Flag);
|
||||
// Operations
|
||||
public:
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#define IDD_LAYERTILE_GUI 173
|
||||
#define IDD_LAYERTILE_TOOLBAR 174
|
||||
#define IDD_LAYERSHADE_GUI 175
|
||||
#define IDD_LAYERCOLLISION_GUI 177
|
||||
#define IDC_TOOLBAR_COMBO 1018
|
||||
#define IDC_LAYER_LIST 1019
|
||||
#define IDD_LAYERTILE_BTN_UPDATE 1029
|
||||
|
@ -41,6 +42,22 @@
|
|||
#define IDC_LAYERSHADE_EDITR1 1064
|
||||
#define IDC_LAYERSHADE_EDITG1 1065
|
||||
#define IDC_LAYERSHADE_EDITB1 1066
|
||||
#define IDC_LAYERSHADE_COUNTEDIT 1074
|
||||
#define IDC_LAYERSHADE_COUNTTEXT 1075
|
||||
#define IDC_SPIN2 1076
|
||||
#define IDC_LAYERCOLLISION_NORMAL 1078
|
||||
#define IDC_LAYERSHADE_EDITR2 1081
|
||||
#define IDC_LAYERSHADE_EDITG2 1082
|
||||
#define IDC_LAYERCOLLISION_DAMAGE 1082
|
||||
#define IDC_LAYERSHADE_EDITB2 1083
|
||||
#define IDC_LAYERCOLLISION_SLIPPERY 1083
|
||||
#define IDC_LAYERCOLLISION_ELECTRIC 1084
|
||||
#define IDC_LAYERCOLLISION_STICKY 1085
|
||||
#define IDC_LAYERSHADE_TEXT7 1086
|
||||
#define IDC_LAYERCOLLISION_WATER 1086
|
||||
#define IDC_LAYERSHADE_EDITR3 1087
|
||||
#define IDC_LAYERSHADE_EDITG3 1088
|
||||
#define IDC_LAYERSHADE_EDITB3 1089
|
||||
#define ID_TOOLBAR_LAYERBAR 32773
|
||||
#define ID_TOOLBAR_TILEPALETTE 32774
|
||||
#define ID_TOOLBAR_COMBO 32777
|
||||
|
@ -66,9 +83,9 @@
|
|||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_3D_CONTROLS 1
|
||||
#define _APS_NEXT_RESOURCE_VALUE 177
|
||||
#define _APS_NEXT_RESOURCE_VALUE 178
|
||||
#define _APS_NEXT_COMMAND_VALUE 32800
|
||||
#define _APS_NEXT_CONTROL_VALUE 1070
|
||||
#define _APS_NEXT_CONTROL_VALUE 1080
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -72,11 +72,11 @@ sLvlTab LvlTable[]=
|
|||
};
|
||||
|
||||
extern int s_globalLevelSelectThing;
|
||||
int Lvl=13;
|
||||
//int Lvl=13;
|
||||
/*****************************************************************************/
|
||||
void CLevel::init()
|
||||
{
|
||||
s_globalLevelSelectThing=Lvl;
|
||||
// s_globalLevelSelectThing=Lvl;
|
||||
for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++)
|
||||
{
|
||||
TileLayers[i]=0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue