This commit is contained in:
Daveo 2001-05-30 17:02:54 +00:00
parent aaa262218e
commit a19fb1096a
11 changed files with 195 additions and 92 deletions

View file

@ -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)

View file

@ -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);}

View file

@ -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()
}; };

View file

@ -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,
}; };

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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]);
} }
}
} }

View file

@ -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;

View file

@ -155,6 +155,7 @@ hazard_src := hazard \
fx_src := fx \ fx_src := fx \
fxbaseanim \ fxbaseanim \
fxbasetrail \ fxbasetrail \
fxjfish \
fxfallingtile \ fxfallingtile \
fxsteam \ fxsteam \
fxsplash \ fxsplash \