This commit is contained in:
parent
aaa262218e
commit
a19fb1096a
11 changed files with 195 additions and 92 deletions
|
@ -416,6 +416,29 @@ float ScaleU,ScaleV;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
struct sColTab
|
||||||
|
{
|
||||||
|
u8 R,G,B;
|
||||||
|
};
|
||||||
|
sColTab ColTable[]=
|
||||||
|
{
|
||||||
|
{255,255,255}, // PC_TILE_COLLISION_NORMAL:
|
||||||
|
{255, 0, 0}, // PC_TILE_COLLISION_DAMAGE:
|
||||||
|
{ 0,255, 0}, // PC_TILE_COLLISION_SLIPPERY:
|
||||||
|
{255, 0,255}, // PC_TILE_COLLISION_ELECTRIC:
|
||||||
|
{200,127,180}, // PC_TILE_COLLISION_DESTRUCTABLE_WALL:
|
||||||
|
{ 0, 0,255}, // PC_TILE_COLLISION_DEATH_LIQUID:
|
||||||
|
{ 0,255,255}, // PC_TILE_COLLISION_SOLID:
|
||||||
|
{200, 0, 0}, // PC_TILE_COLLISION_DEATH_FALL:
|
||||||
|
{127,200,180}, // PC_TILE_COLLISION_DESTRUCTABLE_FLOOR:
|
||||||
|
{255,127,127}, // PC_TILE_COLLISION_DEATH_INSTANT:
|
||||||
|
|
||||||
|
{ 0,127, 0}, // PC_TILE_COLLISION_MOVE_LEFT:
|
||||||
|
{ 0,127,127}, // PC_TILE_COLLISION_MOVE_RIGHT:
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
void CElem::Render(int Flags,bool Render3d)
|
void CElem::Render(int Flags,bool Render3d)
|
||||||
{
|
{
|
||||||
if (BlankFlag)
|
if (BlankFlag)
|
||||||
|
@ -440,18 +463,27 @@ int ColFlags=Flags >> PC_TILE_FLAG_COLLISION_SHIFT;
|
||||||
|
|
||||||
if (ColFlags)
|
if (ColFlags)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
switch (ColFlags)
|
switch (ColFlags)
|
||||||
{
|
{
|
||||||
case PC_TILE_COLLISION_NORMAL: glColor4f(1.0f,1.0f,1.0f,0.5); break;
|
case PC_TILE_COLLISION_NORMAL: glColor4f(1.0f,1.0f,1.0f,0.5); break;
|
||||||
case PC_TILE_COLLISION_DAMAGE: glColor4f(1.0f,0.0f,0.0f,0.5); break;
|
|
||||||
case PC_TILE_COLLISION_SLIPPERY: glColor4f(0.0f,1.0f,0.0f,0.5); break;
|
|
||||||
case PC_TILE_COLLISION_ELECTRIC: glColor4f(1.0f,0.0f,1.0f,0.5); break;
|
|
||||||
case PC_TILE_COLLISION_STICKY: glColor4f(1.0f,1.0f,0.0f,0.5); break;
|
|
||||||
case PC_TILE_COLLISION_WATER: glColor4f(0.0f,0.0f,1.0f,0.5); break;
|
|
||||||
case PC_TILE_COLLISION_SOLID: glColor4f(0.0f,1.0f,1.0f,0.5); break;
|
case PC_TILE_COLLISION_SOLID: glColor4f(0.0f,1.0f,1.0f,0.5); break;
|
||||||
case PC_TILE_COLLISION_DEATH: glColor4f(0.0f,0.5f,0.5f,0.5); break;
|
case PC_TILE_COLLISION_SLIPPERY: glColor4f(0.0f,1.0f,0.0f,0.5); break;
|
||||||
case PC_TILE_COLLISION_DESTRUCTABLE:glColor4f(0.5f,0.7f,0.6f,0.5); break;
|
case PC_TILE_COLLISION_MOVE_LEFT: glColor4f(0.5f,1.0f,0.0f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_MOVE_RIGHT: glColor4f(0.0f,1.0f,0.5f,0.5); break;
|
||||||
|
|
||||||
|
case PC_TILE_COLLISION_DAMAGE: glColor4f(1.0f,0.0f,0.0f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_ELECTRIC: glColor4f(1.0f,0.0f,1.0f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_DEATH_LIQUID: glColor4f(0.0f,0.0f,1.0f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_DEATH_FALL: glColor4f(0.0f,0.5f,0.5f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_DEATH_INSTANT: glColor4f(0.1f,0.5f,0.5f,0.5); break;
|
||||||
|
|
||||||
|
case PC_TILE_COLLISION_DESTRUCTABLE_WALL: glColor4f(0.7f,0.5f,0.6f,0.5); break;
|
||||||
|
case PC_TILE_COLLISION_DESTRUCTABLE_FLOOR: glColor4f(0.5f,0.7f,0.6f,0.5); break;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
sColTab &ThisCol=ColTable[ColFlags];
|
||||||
|
glColor4ub(ThisCol.R,ThisCol.G,ThisCol.B,127);
|
||||||
}
|
}
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
if (Render3d)
|
if (Render3d)
|
||||||
|
|
|
@ -38,15 +38,18 @@ void GUILayerCollision::DoDataExchange(CDataExchange* pDX)
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(GUILayerCollision, CDialog)
|
BEGIN_MESSAGE_MAP(GUILayerCollision, CDialog)
|
||||||
//{{AFX_MSG_MAP(GUILayerCollision)
|
//{{AFX_MSG_MAP(GUILayerCollision)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_NORMAL, OnLayercollisionNormal)
|
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_DAMAGE, OnLayercollisionDamage)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DAMAGE, OnLayercollisionDamage)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SLIPPERY, OnLayercollisionSlippery)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DEATH_FALL, OnLayercollisionDeathFall)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DEATH_INSTANT, OnLayercollisionDeathInstant)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DEATH_LIQUID, OnLayercollisionDeathLiquid)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DESTRUCT_FLOOR, OnLayercollisionDestructFloor)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_DESTRUCT_WALL, OnLayercollisionDestructWall)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_ELECTRIC, OnLayercollisionElectric)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_ELECTRIC, OnLayercollisionElectric)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_STICKY, OnLayercollisionSticky)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_MOVE_LEFT, OnLayercollisionMoveLeft)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_WATER, OnLayercollisionWater)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_MOVE_RIGHT, OnLayercollisionMoveRight)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_NORMAL, OnLayercollisionNormal)
|
||||||
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_SLIPPERY, OnLayercollisionSlippery)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SOLID, OnLayercollisionSolid)
|
ON_BN_CLICKED(IDC_LAYERCOLLISION_SOLID, OnLayercollisionSolid)
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_DEATH, OnLayercollisionDeath)
|
|
||||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_DESTRUCTABLE, OnLayercollisionDestructable)
|
|
||||||
//}}AFX_MSG_MAP
|
//}}AFX_MSG_MAP
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
@ -54,12 +57,28 @@ END_MESSAGE_MAP()
|
||||||
// GUILayerCollision message handlers
|
// GUILayerCollision message handlers
|
||||||
|
|
||||||
void GUILayerCollision::OnLayercollisionNormal() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_NORMAL);}
|
void GUILayerCollision::OnLayercollisionNormal() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_NORMAL);}
|
||||||
void GUILayerCollision::OnLayercollisionDamage() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DAMAGE);}
|
|
||||||
void GUILayerCollision::OnLayercollisionSlippery() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SLIPPERY);}
|
|
||||||
void GUILayerCollision::OnLayercollisionElectric() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_ELECTRIC);}
|
|
||||||
void GUILayerCollision::OnLayercollisionSticky() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_STICKY);}
|
|
||||||
void GUILayerCollision::OnLayercollisionWater() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_WATER);}
|
|
||||||
void GUILayerCollision::OnLayercollisionSolid() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SOLID);}
|
void GUILayerCollision::OnLayercollisionSolid() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SOLID);}
|
||||||
void GUILayerCollision::OnLayercollisionDeath() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DEATH);}
|
void GUILayerCollision::OnLayercollisionSlippery() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SLIPPERY);}
|
||||||
void GUILayerCollision::OnLayercollisionDestructable() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DESTRUCTABLE);}
|
void GUILayerCollision::OnLayercollisionMoveLeft() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_MOVE_LEFT);}
|
||||||
|
void GUILayerCollision::OnLayercollisionMoveRight() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_MOVE_RIGHT);}
|
||||||
|
|
||||||
|
void GUILayerCollision::OnLayercollisionDamage() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DAMAGE);}
|
||||||
|
void GUILayerCollision::OnLayercollisionElectric() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_ELECTRIC);}
|
||||||
|
void GUILayerCollision::OnLayercollisionDeathLiquid() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DEATH_LIQUID);}
|
||||||
|
void GUILayerCollision::OnLayercollisionDeathFall() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DEATH_FALL);}
|
||||||
|
void GUILayerCollision::OnLayercollisionDeathInstant() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DEATH_INSTANT);}
|
||||||
|
|
||||||
|
void GUILayerCollision::OnLayercollisionDestructWall() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DESTRUCTABLE_WALL);}
|
||||||
|
void GUILayerCollision::OnLayercollisionDestructFloor() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DESTRUCTABLE_FLOOR);}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,15 +35,18 @@ protected:
|
||||||
|
|
||||||
// Generated message map functions
|
// Generated message map functions
|
||||||
//{{AFX_MSG(GUILayerCollision)
|
//{{AFX_MSG(GUILayerCollision)
|
||||||
afx_msg void OnLayercollisionNormal();
|
|
||||||
afx_msg void OnLayercollisionDamage();
|
afx_msg void OnLayercollisionDamage();
|
||||||
afx_msg void OnLayercollisionSlippery();
|
afx_msg void OnLayercollisionDeathFall();
|
||||||
|
afx_msg void OnLayercollisionDeathInstant();
|
||||||
|
afx_msg void OnLayercollisionDeathLiquid();
|
||||||
|
afx_msg void OnLayercollisionDestructFloor();
|
||||||
|
afx_msg void OnLayercollisionDestructWall();
|
||||||
afx_msg void OnLayercollisionElectric();
|
afx_msg void OnLayercollisionElectric();
|
||||||
afx_msg void OnLayercollisionSticky();
|
afx_msg void OnLayercollisionMoveLeft();
|
||||||
afx_msg void OnLayercollisionWater();
|
afx_msg void OnLayercollisionMoveRight();
|
||||||
|
afx_msg void OnLayercollisionNormal();
|
||||||
|
afx_msg void OnLayercollisionSlippery();
|
||||||
afx_msg void OnLayercollisionSolid();
|
afx_msg void OnLayercollisionSolid();
|
||||||
afx_msg void OnLayercollisionDeath();
|
|
||||||
afx_msg void OnLayercollisionDestructable();
|
|
||||||
//}}AFX_MSG
|
//}}AFX_MSG
|
||||||
DECLARE_MESSAGE_MAP()
|
DECLARE_MESSAGE_MAP()
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,22 +50,30 @@ enum TILE_FLAG
|
||||||
PC_TILE_COLLISION_DAMAGE =1,
|
PC_TILE_COLLISION_DAMAGE =1,
|
||||||
PC_TILE_COLLISION_SLIPPERY =2,
|
PC_TILE_COLLISION_SLIPPERY =2,
|
||||||
PC_TILE_COLLISION_ELECTRIC =3,
|
PC_TILE_COLLISION_ELECTRIC =3,
|
||||||
PC_TILE_COLLISION_STICKY =4,
|
PC_TILE_COLLISION_DESTRUCTABLE_WALL =4,
|
||||||
PC_TILE_COLLISION_WATER =5,
|
PC_TILE_COLLISION_DEATH_LIQUID =5,
|
||||||
PC_TILE_COLLISION_SOLID =6,
|
PC_TILE_COLLISION_SOLID =6,
|
||||||
PC_TILE_COLLISION_DEATH =7,
|
PC_TILE_COLLISION_DEATH_FALL =7,
|
||||||
PC_TILE_COLLISION_DESTRUCTABLE =8,
|
PC_TILE_COLLISION_DESTRUCTABLE_FLOOR =8,
|
||||||
|
PC_TILE_COLLISION_DEATH_INSTANT =9,
|
||||||
|
PC_TILE_COLLISION_MOVE_LEFT =10,
|
||||||
|
PC_TILE_COLLISION_MOVE_RIGHT =11,
|
||||||
|
|
||||||
PC_TILE_FLAG_COLLISION_SHIFT =2,
|
PC_TILE_FLAG_COLLISION_SHIFT =2,
|
||||||
PC_TILE_FLAG_COLLISION_NORMAL =PC_TILE_COLLISION_NORMAL<<PC_TILE_FLAG_COLLISION_SHIFT,
|
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_SOLID =PC_TILE_COLLISION_SOLID<<PC_TILE_FLAG_COLLISION_SHIFT,
|
PC_TILE_FLAG_COLLISION_SOLID =PC_TILE_COLLISION_SOLID<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
PC_TILE_FLAG_COLLISION_DEATH =PC_TILE_COLLISION_DEATH<<PC_TILE_FLAG_COLLISION_SHIFT,
|
PC_TILE_FLAG_COLLISION_SLIPPERY =PC_TILE_COLLISION_SLIPPERY<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
PC_TILE_FLAG_COLLISION_DESTRUCTABLE =PC_TILE_COLLISION_DESTRUCTABLE<<PC_TILE_FLAG_COLLISION_SHIFT,
|
PC_TILE_FLAG_COLLISION_MOVE_LEFT =PC_TILE_COLLISION_MOVE_LEFT<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_MOVE_RIGHT =PC_TILE_COLLISION_MOVE_RIGHT<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
|
||||||
|
PC_TILE_FLAG_COLLISION_DAMAGE =PC_TILE_COLLISION_DAMAGE<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_ELECTRIC =PC_TILE_COLLISION_ELECTRIC<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_DEATH_LIQUID =PC_TILE_COLLISION_DEATH_LIQUID<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_DEATH_FALL =PC_TILE_COLLISION_DEATH_FALL<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_DEATH_INSTANT =PC_TILE_COLLISION_DEATH_INSTANT<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
|
||||||
|
PC_TILE_FLAG_COLLISION_DESTRUCTABLE_WALL =PC_TILE_COLLISION_DESTRUCTABLE_WALL<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
PC_TILE_FLAG_COLLISION_DESTRUCTABLE_FLOOR =PC_TILE_COLLISION_DESTRUCTABLE_FLOOR<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||||
|
|
||||||
PC_TILE_FLAG_COLLISION_MASK = ~PC_TILE_FLAG_MIRROR_XY,
|
PC_TILE_FLAG_COLLISION_MASK = ~PC_TILE_FLAG_MIRROR_XY,
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[General Info]
|
[General Info]
|
||||||
Version=1
|
Version=1
|
||||||
LastClass=CMapEditDoc
|
LastClass=GUILayerCollision
|
||||||
LastTemplate=CDialog
|
LastTemplate=CDialog
|
||||||
NewFileInclude1=#include "stdafx.h"
|
NewFileInclude1=#include "stdafx.h"
|
||||||
NewFileInclude2=#include "mapedit.h"
|
NewFileInclude2=#include "mapedit.h"
|
||||||
|
@ -37,27 +37,27 @@ Class25=CMapEditDoc
|
||||||
Class26=CMapEditView
|
Class26=CMapEditView
|
||||||
|
|
||||||
ResourceCount=21
|
ResourceCount=21
|
||||||
Resource1=IDD_LAYER_COLLISION
|
Resource1=IDD_LAYER_PLATFORM
|
||||||
Resource2=IDD_LAYER_THING_POS
|
Resource2=IDR_MAINFRAME (English (U.S.))
|
||||||
Resource3=IDD_MULTIBAR (English (U.S.))
|
Resource3=IDD_TILEBANK
|
||||||
Resource4=IDD_LAYER_THING
|
Resource4=IDR_TOOLBAR (English (U.S.))
|
||||||
Resource5=IDD_RESIZE
|
Resource5=IDD_LAYER_SHADE
|
||||||
Resource6=IDD_ADDLAYER
|
Resource6=IDD_ELEMLIST
|
||||||
Resource7=IDD_LAYER_SHADE
|
Resource7=IDD_LAYER_THING_POS
|
||||||
Resource8=IDD_TILEBANK
|
Resource8=IDD_LAYER_ACTOR
|
||||||
Resource9=IDD_LAYER_TRIGGER
|
Resource9=IDD_LAYER_COLLISION
|
||||||
Resource10=IDD_LAYER_PLATFORM
|
Resource10=IDD_ABOUTBOX (English (U.S.))
|
||||||
Resource11=IDR_MAPEDITYPE (English (U.S.))
|
Resource11=IDR_MAPEDITYPE (English (U.S.))
|
||||||
Resource12=IDD_TOOLBAR
|
Resource12=IDD_LAYER_THING
|
||||||
Resource13=IDD_LAYER_LIST
|
Resource13=IDD_TOOLBAR
|
||||||
Resource14=IDD_ABOUTBOX (English (U.S.))
|
Resource14=IDD_LAYER_FX
|
||||||
Resource15=IDD_LAYER_ACTOR
|
Resource15=IDD_ADDLAYER
|
||||||
Resource16=IDD_NEWMAP
|
Resource16=IDD_MULTIBAR (English (U.S.))
|
||||||
Resource17=IDD_LAYER_FX
|
Resource17=IDD_LAYER_LIST
|
||||||
Resource18=IDD_ELEMLIST
|
Resource18=IDD_LAYER_TRIGGER
|
||||||
Resource19=IDD_LAYER_HAZARD
|
Resource19=IDD_RESIZE
|
||||||
Resource20=IDR_MAINFRAME (English (U.S.))
|
Resource20=IDD_NEWMAP
|
||||||
Resource21=IDR_TOOLBAR (English (U.S.))
|
Resource21=IDD_LAYER_HAZARD
|
||||||
|
|
||||||
[CLS:CChildFrame]
|
[CLS:CChildFrame]
|
||||||
Type=0
|
Type=0
|
||||||
|
@ -94,7 +94,7 @@ Type=0
|
||||||
BaseClass=CDialog
|
BaseClass=CDialog
|
||||||
HeaderFile=GUILayerCollision.h
|
HeaderFile=GUILayerCollision.h
|
||||||
ImplementationFile=GUILayerCollision.cpp
|
ImplementationFile=GUILayerCollision.cpp
|
||||||
LastObject=GUILayerCollision
|
LastObject=IDC_LAYERCOLLISION_SOLID
|
||||||
Filter=D
|
Filter=D
|
||||||
VirtualFilter=dWC
|
VirtualFilter=dWC
|
||||||
|
|
||||||
|
@ -270,16 +270,19 @@ Control14=IDC_ACTOR_COLLISION,button,1342243363
|
||||||
[DLG:IDD_LAYER_COLLISION]
|
[DLG:IDD_LAYER_COLLISION]
|
||||||
Type=1
|
Type=1
|
||||||
Class=GUILayerCollision
|
Class=GUILayerCollision
|
||||||
ControlCount=9
|
ControlCount=12
|
||||||
Control1=IDC_LAYERCOLLISION_NORMAL,button,1342242816
|
Control1=IDC_LAYERCOLLISION_NORMAL,button,1342242816
|
||||||
Control2=IDC_LAYERCOLLISION_DAMAGE,button,1342242816
|
Control2=IDC_LAYERCOLLISION_DAMAGE,button,1342242816
|
||||||
Control3=IDC_LAYERCOLLISION_SLIPPERY,button,1342242816
|
Control3=IDC_LAYERCOLLISION_SLIPPERY,button,1342242816
|
||||||
Control4=IDC_LAYERCOLLISION_ELECTRIC,button,1342242816
|
Control4=IDC_LAYERCOLLISION_ELECTRIC,button,1342242816
|
||||||
Control5=IDC_LAYERCOLLISION_STICKY,button,1342242816
|
Control5=IDC_LAYERCOLLISION_DESTRUCT_WALL,button,1342242816
|
||||||
Control6=IDC_LAYERCOLLISION_WATER,button,1342242816
|
Control6=IDC_LAYERCOLLISION_DEATH_LIQUID,button,1342242816
|
||||||
Control7=IDC_LAYERCOLLISION_SOLID,button,1342242816
|
Control7=IDC_LAYERCOLLISION_SOLID,button,1342242816
|
||||||
Control8=IDC_LAYERCOLLISION_DEATH,button,1342242816
|
Control8=IDC_LAYERCOLLISION_DEATH_FALL,button,1342242816
|
||||||
Control9=IDC_LAYERCOLLISION_DESTRUCTABLE,button,1342242816
|
Control9=IDC_LAYERCOLLISION_DESTRUCT_FLOOR,button,1342242816
|
||||||
|
Control10=IDC_LAYERCOLLISION_MOVE_LEFT,button,1342242816
|
||||||
|
Control11=IDC_LAYERCOLLISION_MOVE_RIGHT,button,1342242816
|
||||||
|
Control12=IDC_LAYERCOLLISION_DEATH_INSTANT,button,1342242816
|
||||||
|
|
||||||
[DLG:IDD_LAYER_FX]
|
[DLG:IDD_LAYER_FX]
|
||||||
Type=1
|
Type=1
|
||||||
|
|
|
@ -508,7 +508,7 @@ END
|
||||||
IDD_ADDLAYER DIALOGEX 0, 0, 118, 130
|
IDD_ADDLAYER DIALOGEX 0, 0, 118, 130
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
|
||||||
CAPTION "Select Layer To Add."
|
CAPTION "Select Layer To Add."
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif", 0, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK",IDOK,60,110,50,14
|
DEFPUSHBUTTON "OK",IDOK,60,110,50,14
|
||||||
PUSHBUTTON "Cancel",IDCANCEL,5,110,50,14
|
PUSHBUTTON "Cancel",IDCANCEL,5,110,50,14
|
||||||
|
@ -660,20 +660,26 @@ BEGIN
|
||||||
COMBOBOX IDC_LAYERSHADE_DEF_LIST,5,85,145,100,CBS_DROPDOWNLIST
|
COMBOBOX IDC_LAYERSHADE_DEF_LIST,5,85,145,100,CBS_DROPDOWNLIST
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 41
|
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 71
|
||||||
STYLE WS_CHILD
|
STYLE WS_CHILD
|
||||||
FONT 8, "MS Sans Serif"
|
FONT 8, "MS Sans Serif"
|
||||||
BEGIN
|
BEGIN
|
||||||
PUSHBUTTON "Normal",IDC_LAYERCOLLISION_NORMAL,0,5,50,10
|
PUSHBUTTON "Normal",IDC_LAYERCOLLISION_NORMAL,0,5,50,10
|
||||||
PUSHBUTTON "Damage",IDC_LAYERCOLLISION_DAMAGE,50,5,50,10
|
PUSHBUTTON "Damage",IDC_LAYERCOLLISION_DAMAGE,0,30,50,10
|
||||||
PUSHBUTTON "Slippery",IDC_LAYERCOLLISION_SLIPPERY,100,5,50,10
|
PUSHBUTTON "Slippery",IDC_LAYERCOLLISION_SLIPPERY,100,5,50,10
|
||||||
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,0,15,50,10
|
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,50,30,50,10
|
||||||
PUSHBUTTON "Sticky",IDC_LAYERCOLLISION_STICKY,50,15,50,10
|
PUSHBUTTON "Destroy Wall",IDC_LAYERCOLLISION_DESTRUCT_WALL,0,55,50,
|
||||||
PUSHBUTTON "Water",IDC_LAYERCOLLISION_WATER,100,15,50,10
|
|
||||||
PUSHBUTTON "Solid",IDC_LAYERCOLLISION_SOLID,0,25,50,10
|
|
||||||
PUSHBUTTON "Death",IDC_LAYERCOLLISION_DEATH,50,25,50,10
|
|
||||||
PUSHBUTTON "Destructable",IDC_LAYERCOLLISION_DESTRUCTABLE,100,25,50,
|
|
||||||
10
|
10
|
||||||
|
PUSHBUTTON "Death Liquid",IDC_LAYERCOLLISION_DEATH_LIQUID,0,40,50,
|
||||||
|
10
|
||||||
|
PUSHBUTTON "Solid",IDC_LAYERCOLLISION_SOLID,50,5,50,10
|
||||||
|
PUSHBUTTON "Death Fall",IDC_LAYERCOLLISION_DEATH_FALL,50,40,50,10
|
||||||
|
PUSHBUTTON "Destroy Floor",IDC_LAYERCOLLISION_DESTRUCT_FLOOR,50,55,
|
||||||
|
50,10
|
||||||
|
PUSHBUTTON "Move Left",IDC_LAYERCOLLISION_MOVE_LEFT,0,15,50,10
|
||||||
|
PUSHBUTTON "Move Right",IDC_LAYERCOLLISION_MOVE_RIGHT,50,15,50,10
|
||||||
|
PUSHBUTTON "Death Instant",IDC_LAYERCOLLISION_DEATH_INSTANT,100,40,
|
||||||
|
50,10
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_ELEMLIST DIALOG DISCARDABLE 0, 0, 156, 26
|
IDD_ELEMLIST DIALOG DISCARDABLE 0, 0, 156, 26
|
||||||
|
@ -939,7 +945,7 @@ BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 149
|
RIGHTMARGIN, 149
|
||||||
TOPMARGIN, 7
|
TOPMARGIN, 7
|
||||||
BOTTOMMARGIN, 34
|
BOTTOMMARGIN, 64
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_ELEMLIST, DIALOG
|
IDD_ELEMLIST, DIALOG
|
||||||
|
|
|
@ -75,9 +75,11 @@
|
||||||
#define IDC_LAYERSHADE_XYTEXT2 1084
|
#define IDC_LAYERSHADE_XYTEXT2 1084
|
||||||
#define IDC_LAYERCOLLISION_STICKY 1085
|
#define IDC_LAYERCOLLISION_STICKY 1085
|
||||||
#define IDC_LAYERSHADE_XYTEXT3 1085
|
#define IDC_LAYERSHADE_XYTEXT3 1085
|
||||||
|
#define IDC_LAYERCOLLISION_DESTRUCT_WALL 1085
|
||||||
#define IDC_LAYERSHADE_TEXT7 1086
|
#define IDC_LAYERSHADE_TEXT7 1086
|
||||||
#define IDC_LAYERCOLLISION_WATER 1086
|
#define IDC_LAYERCOLLISION_WATER 1086
|
||||||
#define IDC_ACTOR_SPEED_TEXT 1086
|
#define IDC_ACTOR_SPEED_TEXT 1086
|
||||||
|
#define IDC_LAYERCOLLISION_DEATH_LIQUID 1086
|
||||||
#define IDC_LAYERSHADE_EDITR3 1087
|
#define IDC_LAYERSHADE_EDITR3 1087
|
||||||
#define IDC_LAYERCOLLISION_SOLID 1087
|
#define IDC_LAYERCOLLISION_SOLID 1087
|
||||||
#define IDC_ACTOR_SPEED 1087
|
#define IDC_ACTOR_SPEED 1087
|
||||||
|
@ -85,13 +87,18 @@
|
||||||
#define IDC_LAYERSHADE_EDITG3 1088
|
#define IDC_LAYERSHADE_EDITG3 1088
|
||||||
#define IDC_LAYERCOLLISION_DEATH 1088
|
#define IDC_LAYERCOLLISION_DEATH 1088
|
||||||
#define IDC_LAYERSHADE_SHADEG3 1088
|
#define IDC_LAYERSHADE_SHADEG3 1088
|
||||||
|
#define IDC_LAYERCOLLISION_DEATH_FALL 1088
|
||||||
#define IDC_LAYERSHADE_EDITB3 1089
|
#define IDC_LAYERSHADE_EDITB3 1089
|
||||||
#define IDC_LAYERSHADE_SHADEB3 1089
|
#define IDC_LAYERSHADE_SHADEB3 1089
|
||||||
#define IDC_LAYERCOLLISION_DESTRUCTABLE 1089
|
#define IDC_LAYERCOLLISION_DESTRUCTABLE 1089
|
||||||
|
#define IDC_LAYERCOLLISION_DESTRUCT_FLOOR 1089
|
||||||
#define IDC_LAYERSHADE_TRANSTEXT 1090
|
#define IDC_LAYERSHADE_TRANSTEXT 1090
|
||||||
|
#define IDC_LAYERCOLLISION_MOVE_LEFT 1090
|
||||||
#define IDC_LAYERSHADE_GFXR0 1091
|
#define IDC_LAYERSHADE_GFXR0 1091
|
||||||
|
#define IDC_LAYERCOLLISION_MOVE_RIGHT 1091
|
||||||
#define IDC_ACTOR_SPEED_SPIN 1092
|
#define IDC_ACTOR_SPEED_SPIN 1092
|
||||||
#define IDC_LAYERSHADE_GFXG0 1092
|
#define IDC_LAYERSHADE_GFXG0 1092
|
||||||
|
#define IDC_LAYERCOLLISION_DEATH_INSTANT 1092
|
||||||
#define IDC_LAYERSHADE_GFXB0 1093
|
#define IDC_LAYERSHADE_GFXB0 1093
|
||||||
#define IDC_ACTOR_PLAYER 1094
|
#define IDC_ACTOR_PLAYER 1094
|
||||||
#define IDC_LAYERSHADE_GFXR1 1094
|
#define IDC_LAYERSHADE_GFXR1 1094
|
||||||
|
|
|
@ -66,6 +66,27 @@ void CMkLevelLayerCollision::Process(CMkLevel *Core)
|
||||||
/** Write ********************************************************************/
|
/** Write ********************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
static const u8 s_collisionTileRemapTable[17]=
|
||||||
|
{
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
};
|
||||||
|
|
||||||
int CMkLevelLayerCollision::Write(FILE *File,const char *LayerName,const char *MapName)
|
int CMkLevelLayerCollision::Write(FILE *File,const char *LayerName,const char *MapName)
|
||||||
{
|
{
|
||||||
sLayerHdr Hdr;
|
sLayerHdr Hdr;
|
||||||
|
@ -86,7 +107,7 @@ int Height=Map.GetHeight();
|
||||||
sExpColTile &ThisElem=Map.Get(X,Y);
|
sExpColTile &ThisElem=Map.Get(X,Y);
|
||||||
u8 OutElem;
|
u8 OutElem;
|
||||||
|
|
||||||
OutElem=ThisElem.Tile;
|
OutElem=s_collisionTileRemapTable[ThisElem.Tile];
|
||||||
OutElem|=ThisElem.Flags<<COLLISION_TYPE_FLAG_SHIFT;
|
OutElem|=ThisElem.Flags<<COLLISION_TYPE_FLAG_SHIFT;
|
||||||
/*
|
/*
|
||||||
OutElem=0;
|
OutElem=0;
|
||||||
|
|
|
@ -107,8 +107,11 @@ vector<int> Counts;
|
||||||
OutName+="_";
|
OutName+="_";
|
||||||
OutName+=Name;
|
OutName+=Name;
|
||||||
|
|
||||||
|
// if (Counts[i])
|
||||||
|
{
|
||||||
Core->AddInfItem(OutName,Counts[i]);
|
Core->AddInfItem(OutName,Counts[i]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1148,8 +1148,8 @@ int Vtx[3];
|
||||||
void CMkLevel::AddInfItem(const char *Name,int Val)
|
void CMkLevel::AddInfItem(const char *Name,int Val)
|
||||||
{
|
{
|
||||||
sInfItem Item;
|
sInfItem Item;
|
||||||
|
GString ReplaceBadFileChars(GString s); // Dodgy extern from TexGrab Lib!
|
||||||
Item.Name=Name;
|
Item.Name=ReplaceBadFileChars(Name);
|
||||||
Item.Name.Upper();
|
Item.Name.Upper();
|
||||||
Item.Val=Val;
|
Item.Val=Val;
|
||||||
|
|
||||||
|
|
|
@ -155,6 +155,7 @@ hazard_src := hazard \
|
||||||
fx_src := fx \
|
fx_src := fx \
|
||||||
fxbaseanim \
|
fxbaseanim \
|
||||||
fxbasetrail \
|
fxbasetrail \
|
||||||
|
fxjfish \
|
||||||
fxfallingtile \
|
fxfallingtile \
|
||||||
fxsteam \
|
fxsteam \
|
||||||
fxsplash \
|
fxsplash \
|
||||||
|
|
Loading…
Add table
Reference in a new issue