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)
{
if (BlankFlag)
@ -440,18 +463,27 @@ int ColFlags=Flags >> PC_TILE_FLAG_COLLISION_SHIFT;
if (ColFlags)
{
/*
switch (ColFlags)
{
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_DEATH: glColor4f(0.0f,0.5f,0.5f,0.5); break;
case PC_TILE_COLLISION_DESTRUCTABLE:glColor4f(0.5f,0.7f,0.6f,0.5); break;
case PC_TILE_COLLISION_NORMAL: glColor4f(1.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_SLIPPERY: glColor4f(0.0f,1.0f,0.0f,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);
if (Render3d)

View file

@ -38,15 +38,18 @@ void GUILayerCollision::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(GUILayerCollision, CDialog)
//{{AFX_MSG_MAP(GUILayerCollision)
ON_BN_CLICKED(IDC_LAYERCOLLISION_NORMAL, OnLayercollisionNormal)
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_STICKY, OnLayercollisionSticky)
ON_BN_CLICKED(IDC_LAYERCOLLISION_WATER, OnLayercollisionWater)
ON_BN_CLICKED(IDC_LAYERCOLLISION_MOVE_LEFT, OnLayercollisionMoveLeft)
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_DEATH, OnLayercollisionDeath)
ON_BN_CLICKED(IDC_LAYERCOLLISION_DESTRUCTABLE, OnLayercollisionDestructable)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
@ -54,12 +57,28 @@ END_MESSAGE_MAP()
// GUILayerCollision message handlers
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::OnLayercollisionDeath() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DEATH);}
void GUILayerCollision::OnLayercollisionDestructable() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_DESTRUCTABLE);}
void GUILayerCollision::OnLayercollisionSlippery() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SLIPPERY);}
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
//{{AFX_MSG(GUILayerCollision)
afx_msg void OnLayercollisionNormal();
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 OnLayercollisionSticky();
afx_msg void OnLayercollisionWater();
afx_msg void OnLayercollisionMoveLeft();
afx_msg void OnLayercollisionMoveRight();
afx_msg void OnLayercollisionNormal();
afx_msg void OnLayercollisionSlippery();
afx_msg void OnLayercollisionSolid();
afx_msg void OnLayercollisionDeath();
afx_msg void OnLayercollisionDestructable();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

View file

@ -42,32 +42,40 @@ enum LAYER_SUBVIEW
enum TILE_FLAG
{
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_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_COLLISION_SOLID =6,
PC_TILE_COLLISION_DEATH =7,
PC_TILE_COLLISION_DESTRUCTABLE =8,
PC_TILE_COLLISION_NORMAL =0,
PC_TILE_COLLISION_DAMAGE =1,
PC_TILE_COLLISION_SLIPPERY =2,
PC_TILE_COLLISION_ELECTRIC =3,
PC_TILE_COLLISION_DESTRUCTABLE_WALL =4,
PC_TILE_COLLISION_DEATH_LIQUID =5,
PC_TILE_COLLISION_SOLID =6,
PC_TILE_COLLISION_DEATH_FALL =7,
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_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_DEATH =PC_TILE_COLLISION_DEATH<<PC_TILE_FLAG_COLLISION_SHIFT,
PC_TILE_FLAG_COLLISION_DESTRUCTABLE =PC_TILE_COLLISION_DESTRUCTABLE<<PC_TILE_FLAG_COLLISION_SHIFT,
PC_TILE_FLAG_COLLISION_SHIFT =2,
PC_TILE_FLAG_COLLISION_NORMAL =PC_TILE_COLLISION_NORMAL<<PC_TILE_FLAG_COLLISION_SHIFT,
PC_TILE_FLAG_COLLISION_SOLID =PC_TILE_COLLISION_SOLID<<PC_TILE_FLAG_COLLISION_SHIFT,
PC_TILE_FLAG_COLLISION_SLIPPERY =PC_TILE_COLLISION_SLIPPERY<<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_MASK = ~PC_TILE_FLAG_MIRROR_XY,
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,
};
enum

View file

@ -2,7 +2,7 @@
[General Info]
Version=1
LastClass=CMapEditDoc
LastClass=GUILayerCollision
LastTemplate=CDialog
NewFileInclude1=#include "stdafx.h"
NewFileInclude2=#include "mapedit.h"
@ -37,27 +37,27 @@ Class25=CMapEditDoc
Class26=CMapEditView
ResourceCount=21
Resource1=IDD_LAYER_COLLISION
Resource2=IDD_LAYER_THING_POS
Resource3=IDD_MULTIBAR (English (U.S.))
Resource4=IDD_LAYER_THING
Resource5=IDD_RESIZE
Resource6=IDD_ADDLAYER
Resource7=IDD_LAYER_SHADE
Resource8=IDD_TILEBANK
Resource9=IDD_LAYER_TRIGGER
Resource10=IDD_LAYER_PLATFORM
Resource1=IDD_LAYER_PLATFORM
Resource2=IDR_MAINFRAME (English (U.S.))
Resource3=IDD_TILEBANK
Resource4=IDR_TOOLBAR (English (U.S.))
Resource5=IDD_LAYER_SHADE
Resource6=IDD_ELEMLIST
Resource7=IDD_LAYER_THING_POS
Resource8=IDD_LAYER_ACTOR
Resource9=IDD_LAYER_COLLISION
Resource10=IDD_ABOUTBOX (English (U.S.))
Resource11=IDR_MAPEDITYPE (English (U.S.))
Resource12=IDD_TOOLBAR
Resource13=IDD_LAYER_LIST
Resource14=IDD_ABOUTBOX (English (U.S.))
Resource15=IDD_LAYER_ACTOR
Resource16=IDD_NEWMAP
Resource17=IDD_LAYER_FX
Resource18=IDD_ELEMLIST
Resource19=IDD_LAYER_HAZARD
Resource20=IDR_MAINFRAME (English (U.S.))
Resource21=IDR_TOOLBAR (English (U.S.))
Resource12=IDD_LAYER_THING
Resource13=IDD_TOOLBAR
Resource14=IDD_LAYER_FX
Resource15=IDD_ADDLAYER
Resource16=IDD_MULTIBAR (English (U.S.))
Resource17=IDD_LAYER_LIST
Resource18=IDD_LAYER_TRIGGER
Resource19=IDD_RESIZE
Resource20=IDD_NEWMAP
Resource21=IDD_LAYER_HAZARD
[CLS:CChildFrame]
Type=0
@ -94,7 +94,7 @@ Type=0
BaseClass=CDialog
HeaderFile=GUILayerCollision.h
ImplementationFile=GUILayerCollision.cpp
LastObject=GUILayerCollision
LastObject=IDC_LAYERCOLLISION_SOLID
Filter=D
VirtualFilter=dWC
@ -270,16 +270,19 @@ Control14=IDC_ACTOR_COLLISION,button,1342243363
[DLG:IDD_LAYER_COLLISION]
Type=1
Class=GUILayerCollision
ControlCount=9
ControlCount=12
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
Control5=IDC_LAYERCOLLISION_DESTRUCT_WALL,button,1342242816
Control6=IDC_LAYERCOLLISION_DEATH_LIQUID,button,1342242816
Control7=IDC_LAYERCOLLISION_SOLID,button,1342242816
Control8=IDC_LAYERCOLLISION_DEATH,button,1342242816
Control9=IDC_LAYERCOLLISION_DESTRUCTABLE,button,1342242816
Control8=IDC_LAYERCOLLISION_DEATH_FALL,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]
Type=1

View file

@ -508,7 +508,7 @@ END
IDD_ADDLAYER DIALOGEX 0, 0, 118, 130
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "Select Layer To Add."
FONT 8, "MS Sans Serif"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
DEFPUSHBUTTON "OK",IDOK,60,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
END
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 41
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 71
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 "Damage",IDC_LAYERCOLLISION_DAMAGE,0,30,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
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,
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,50,30,50,10
PUSHBUTTON "Destroy Wall",IDC_LAYERCOLLISION_DESTRUCT_WALL,0,55,50,
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
IDD_ELEMLIST DIALOG DISCARDABLE 0, 0, 156, 26
@ -939,7 +945,7 @@ BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 149
TOPMARGIN, 7
BOTTOMMARGIN, 34
BOTTOMMARGIN, 64
END
IDD_ELEMLIST, DIALOG

View file

@ -75,9 +75,11 @@
#define IDC_LAYERSHADE_XYTEXT2 1084
#define IDC_LAYERCOLLISION_STICKY 1085
#define IDC_LAYERSHADE_XYTEXT3 1085
#define IDC_LAYERCOLLISION_DESTRUCT_WALL 1085
#define IDC_LAYERSHADE_TEXT7 1086
#define IDC_LAYERCOLLISION_WATER 1086
#define IDC_ACTOR_SPEED_TEXT 1086
#define IDC_LAYERCOLLISION_DEATH_LIQUID 1086
#define IDC_LAYERSHADE_EDITR3 1087
#define IDC_LAYERCOLLISION_SOLID 1087
#define IDC_ACTOR_SPEED 1087
@ -85,13 +87,18 @@
#define IDC_LAYERSHADE_EDITG3 1088
#define IDC_LAYERCOLLISION_DEATH 1088
#define IDC_LAYERSHADE_SHADEG3 1088
#define IDC_LAYERCOLLISION_DEATH_FALL 1088
#define IDC_LAYERSHADE_EDITB3 1089
#define IDC_LAYERSHADE_SHADEB3 1089
#define IDC_LAYERCOLLISION_DESTRUCTABLE 1089
#define IDC_LAYERCOLLISION_DESTRUCT_FLOOR 1089
#define IDC_LAYERSHADE_TRANSTEXT 1090
#define IDC_LAYERCOLLISION_MOVE_LEFT 1090
#define IDC_LAYERSHADE_GFXR0 1091
#define IDC_LAYERCOLLISION_MOVE_RIGHT 1091
#define IDC_ACTOR_SPEED_SPIN 1092
#define IDC_LAYERSHADE_GFXG0 1092
#define IDC_LAYERCOLLISION_DEATH_INSTANT 1092
#define IDC_LAYERSHADE_GFXB0 1093
#define IDC_ACTOR_PLAYER 1094
#define IDC_LAYERSHADE_GFXR1 1094

View file

@ -66,6 +66,27 @@ void CMkLevelLayerCollision::Process(CMkLevel *Core)
/** 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)
{
sLayerHdr Hdr;
@ -86,7 +107,7 @@ int Height=Map.GetHeight();
sExpColTile &ThisElem=Map.Get(X,Y);
u8 OutElem;
OutElem=ThisElem.Tile;
OutElem=s_collisionTileRemapTable[ThisElem.Tile];
OutElem|=ThisElem.Flags<<COLLISION_TYPE_FLAG_SHIFT;
/*
OutElem=0;

View file

@ -107,7 +107,10 @@ vector<int> Counts;
OutName+="_";
OutName+=Name;
Core->AddInfItem(OutName,Counts[i]);
// if (Counts[i])
{
Core->AddInfItem(OutName,Counts[i]);
}
}

View file

@ -1148,8 +1148,8 @@ int Vtx[3];
void CMkLevel::AddInfItem(const char *Name,int Val)
{
sInfItem Item;
Item.Name=Name;
GString ReplaceBadFileChars(GString s); // Dodgy extern from TexGrab Lib!
Item.Name=ReplaceBadFileChars(Name);
Item.Name.Upper();
Item.Val=Val;

View file

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