This commit is contained in:
parent
6e945b8ca6
commit
50d0c8ef48
14 changed files with 66 additions and 43 deletions
|
@ -369,8 +369,8 @@ void CFaceStore::ParseVtx4BBox(sVtx &ThisVtx)
|
|||
{
|
||||
if (BBox.XMin>+ThisVtx.vx) BBox.XMin=+ThisVtx.vx;
|
||||
if (BBox.XMax<+ThisVtx.vx) BBox.XMax=+ThisVtx.vx;
|
||||
if (BBox.YMin>-ThisVtx.vy) BBox.YMin=-ThisVtx.vy;
|
||||
if (BBox.YMax<-ThisVtx.vy) BBox.YMax=-ThisVtx.vy;
|
||||
if (BBox.YMin>+ThisVtx.vy) BBox.YMin=+ThisVtx.vy;
|
||||
if (BBox.YMax<+ThisVtx.vy) BBox.YMax=+ThisVtx.vy;
|
||||
}
|
||||
//***************************************************************************
|
||||
void CFaceStore::BuildOutTriList(vector<sTri> &OutTriList,vector<sVtx> &OutVtxList)
|
||||
|
|
|
@ -437,6 +437,8 @@ sColTab ColTable[]=
|
|||
{ 0,127,127}, // PC_TILE_COLLISION_MOVE_RIGHT:
|
||||
{ 0, 0,255}, // PC_TILE_COLLISION_DEATH_LIQUID:
|
||||
|
||||
{255,127,0}, // PC_TILE_COLLISION_SB_NOMOVE
|
||||
|
||||
};
|
||||
|
||||
void CElem::Render(int Flags,bool Render3d)
|
||||
|
|
|
@ -51,6 +51,7 @@ BEGIN_MESSAGE_MAP(GUILayerCollision, CDialog)
|
|||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SLIPPERY, OnLayercollisionSlippery)
|
||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SOLID, OnLayercollisionSolid)
|
||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SOAK_UP, OnLayercollisionSoakUp)
|
||||
ON_BN_CLICKED(IDC_LAYERCOLLISION_SB_NOMOVE, OnLayercollisionSbNomove)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
@ -72,3 +73,6 @@ void GUILayerCollision::OnLayercollisionDeathInstant() {theApp.GetCurrent()->Com
|
|||
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);}
|
||||
void GUILayerCollision::OnLayercollisionSoakUp() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SOAKUP);}
|
||||
|
||||
void GUILayerCollision::OnLayercollisionSbNomove() {theApp.GetCurrent()->Command(CmdMsg_SetColFlag,PC_TILE_COLLISION_SB_NOMOVE);}
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ protected:
|
|||
afx_msg void OnLayercollisionSlippery();
|
||||
afx_msg void OnLayercollisionSolid();
|
||||
afx_msg void OnLayercollisionSoakUp();
|
||||
afx_msg void OnLayercollisionSbNomove();
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
|
|
@ -59,6 +59,7 @@ enum TILE_FLAG
|
|||
PC_TILE_COLLISION_MOVE_LEFT =10,
|
||||
PC_TILE_COLLISION_MOVE_RIGHT =11,
|
||||
PC_TILE_COLLISION_DEATH_LIQUID =12,
|
||||
PC_TILE_COLLISION_SB_NOMOVE =13,
|
||||
|
||||
PC_TILE_FLAG_COLLISION_SHIFT =2,
|
||||
PC_TILE_FLAG_COLLISION_NORMAL =PC_TILE_COLLISION_NORMAL<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
|
@ -67,7 +68,7 @@ enum TILE_FLAG
|
|||
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_SOAKUP =PC_TILE_COLLISION_SOAKUP<<PC_TILE_FLAG_COLLISION_SHIFT,
|
||||
|
||||
PC_TILE_FLAG_COLLISION_SB_NOMOVE =PC_TILE_COLLISION_SB_NOMOVE<<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,
|
||||
|
|
|
@ -37,26 +37,26 @@ Class25=CMapEditDoc
|
|||
Class26=CMapEditView
|
||||
|
||||
ResourceCount=21
|
||||
Resource1=IDD_LAYER_THING
|
||||
Resource2=IDD_LAYER_FX
|
||||
Resource3=IDD_NEWMAP
|
||||
Resource4=IDD_LAYER_TRIGGER
|
||||
Resource5=IDD_TILEBANK
|
||||
Resource6=IDD_LAYER_SHADE
|
||||
Resource7=IDD_LAYER_ACTOR
|
||||
Resource8=IDD_LAYER_COLLISION
|
||||
Resource9=IDD_TOOLBAR
|
||||
Resource10=IDR_TOOLBAR (English (U.S.))
|
||||
Resource1=IDD_ELEMLIST
|
||||
Resource2=IDD_LAYER_PLATFORM
|
||||
Resource3=IDD_LAYER_LIST
|
||||
Resource4=IDD_LAYER_THING_POS
|
||||
Resource5=IDD_NEWMAP
|
||||
Resource6=IDD_TILEBANK
|
||||
Resource7=IDD_LAYER_COLLISION
|
||||
Resource8=IDD_TOOLBAR
|
||||
Resource9=IDD_ADDLAYER
|
||||
Resource10=IDD_LAYER_TRIGGER
|
||||
Resource11=IDR_MAPEDITYPE (English (U.S.))
|
||||
Resource12=IDD_ELEMLIST
|
||||
Resource13=IDD_ADDLAYER
|
||||
Resource14=IDD_LAYER_PLATFORM
|
||||
Resource15=IDD_RESIZE
|
||||
Resource16=IDR_MAINFRAME (English (U.S.))
|
||||
Resource17=IDD_ABOUTBOX (English (U.S.))
|
||||
Resource18=IDD_LAYER_THING_POS
|
||||
Resource19=IDD_MULTIBAR (English (U.S.))
|
||||
Resource20=IDD_LAYER_LIST
|
||||
Resource12=IDD_LAYER_SHADE
|
||||
Resource13=IDD_RESIZE
|
||||
Resource14=IDD_LAYER_THING
|
||||
Resource15=IDD_MULTIBAR (English (U.S.))
|
||||
Resource16=IDD_LAYER_FX
|
||||
Resource17=IDR_TOOLBAR (English (U.S.))
|
||||
Resource18=IDD_LAYER_ACTOR
|
||||
Resource19=IDR_MAINFRAME (English (U.S.))
|
||||
Resource20=IDD_ABOUTBOX (English (U.S.))
|
||||
Resource21=IDD_LAYER_HAZARD
|
||||
|
||||
[CLS:CChildFrame]
|
||||
|
@ -94,7 +94,7 @@ Type=0
|
|||
BaseClass=CDialog
|
||||
HeaderFile=GUILayerCollision.h
|
||||
ImplementationFile=GUILayerCollision.cpp
|
||||
LastObject=IDC_LAYERCOLLISION_SOAK_UP
|
||||
LastObject=IDC_LAYERCOLLISION_SB_NOMOVE
|
||||
Filter=D
|
||||
VirtualFilter=dWC
|
||||
|
||||
|
@ -270,7 +270,7 @@ Control14=IDC_ACTOR_COLLISION,button,1342243363
|
|||
[DLG:IDD_LAYER_COLLISION]
|
||||
Type=1
|
||||
Class=GUILayerCollision
|
||||
ControlCount=13
|
||||
ControlCount=14
|
||||
Control1=IDC_LAYERCOLLISION_NORMAL,button,1342242816
|
||||
Control2=IDC_LAYERCOLLISION_DAMAGE,button,1342242816
|
||||
Control3=IDC_LAYERCOLLISION_SLIPPERY,button,1342242816
|
||||
|
@ -284,6 +284,7 @@ Control10=IDC_LAYERCOLLISION_MOVE_LEFT,button,1342242816
|
|||
Control11=IDC_LAYERCOLLISION_MOVE_RIGHT,button,1342242816
|
||||
Control12=IDC_LAYERCOLLISION_DEATH_INSTANT,button,1342242816
|
||||
Control13=IDC_LAYERCOLLISION_SOAK_UP,button,1342242816
|
||||
Control14=IDC_LAYERCOLLISION_SB_NOMOVE,button,1342242816
|
||||
|
||||
[DLG:IDD_LAYER_FX]
|
||||
Type=1
|
||||
|
|
|
@ -660,27 +660,28 @@ BEGIN
|
|||
COMBOBOX IDC_LAYERSHADE_DEF_LIST,5,85,145,100,CBS_DROPDOWNLIST
|
||||
END
|
||||
|
||||
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 71
|
||||
IDD_LAYER_COLLISION DIALOG DISCARDABLE 0, 0, 156, 106
|
||||
STYLE WS_CHILD
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
PUSHBUTTON "Normal",IDC_LAYERCOLLISION_NORMAL,0,5,50,10
|
||||
PUSHBUTTON "Damage",IDC_LAYERCOLLISION_DAMAGE,0,30,50,10
|
||||
PUSHBUTTON "Damage",IDC_LAYERCOLLISION_DAMAGE,0,50,50,10
|
||||
PUSHBUTTON "Slippery",IDC_LAYERCOLLISION_SLIPPERY,100,5,50,10
|
||||
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,50,30,50,10
|
||||
PUSHBUTTON "Destructable",IDC_LAYERCOLLISION_DESTRUCT_WALL,0,55,75,
|
||||
PUSHBUTTON "Electric",IDC_LAYERCOLLISION_ELECTRIC,50,50,50,10
|
||||
PUSHBUTTON "Destructable",IDC_LAYERCOLLISION_DESTRUCT_WALL,0,74,75,
|
||||
10
|
||||
PUSHBUTTON "Death Liquid",IDC_LAYERCOLLISION_DEATH_LIQUID,0,40,50,
|
||||
PUSHBUTTON "Death Liquid",IDC_LAYERCOLLISION_DEATH_LIQUID,0,60,50,
|
||||
10
|
||||
PUSHBUTTON "Solid",IDC_LAYERCOLLISION_SOLID,50,5,50,10
|
||||
PUSHBUTTON "Death Fall",IDC_LAYERCOLLISION_DEATH_FALL,50,40,50,10
|
||||
PUSHBUTTON "Falling Floor",IDC_LAYERCOLLISION_DESTRUCT_FLOOR,75,55,
|
||||
PUSHBUTTON "Death Fall",IDC_LAYERCOLLISION_DEATH_FALL,50,60,50,10
|
||||
PUSHBUTTON "Falling Floor",IDC_LAYERCOLLISION_DESTRUCT_FLOOR,75,74,
|
||||
75,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,
|
||||
PUSHBUTTON "Death Instant",IDC_LAYERCOLLISION_DEATH_INSTANT,100,60,
|
||||
50,10
|
||||
PUSHBUTTON "Soak Up",IDC_LAYERCOLLISION_SOAK_UP,100,15,50,10
|
||||
PUSHBUTTON "SB No Move",IDC_LAYERCOLLISION_SB_NOMOVE,0,25,50,10
|
||||
END
|
||||
|
||||
IDD_ELEMLIST DIALOG DISCARDABLE 0, 0, 156, 26
|
||||
|
@ -946,7 +947,7 @@ BEGIN
|
|||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 149
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 64
|
||||
BOTTOMMARGIN, 99
|
||||
END
|
||||
|
||||
IDD_ELEMLIST, DIALOG
|
||||
|
|
|
@ -103,6 +103,7 @@
|
|||
#define IDC_LAYERCOLLISION_SOAK_UP 1093
|
||||
#define IDC_ACTOR_PLAYER 1094
|
||||
#define IDC_LAYERSHADE_GFXR1 1094
|
||||
#define IDC_LAYERCOLLISION_SB_NOMOVE 1094
|
||||
#define IDC_LAYERSHADE_GFXG1 1095
|
||||
#define IDC_LAYERSHADE_GFXB1 1096
|
||||
#define IDC_ACTOR_TURNRATE_TEXT 1097
|
||||
|
|
|
@ -200,7 +200,7 @@ int i,ListSize=ModelList.size();
|
|||
for (i=0; i<ListSize; i++)
|
||||
{
|
||||
sMkLevelModel &ThisModel=ModelList[i];
|
||||
ThisModel.ElemID=Create3dElem(ThisModel.TriCount,ThisModel.TriStart,false); // always all models as global for the moment
|
||||
ThisModel.ElemID=Create3dElem(ThisModel.TriCount,ThisModel.TriStart,false,false); // always all models as global for the moment
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -586,7 +586,7 @@ sExpTile &SrcTile=InTileList[Tile];
|
|||
int ElemID;
|
||||
if (SrcTile.TriCount)
|
||||
{
|
||||
ElemID=Create3dElem(SrcTile.TriCount,SrcTile.TriStart,LocalGeom);
|
||||
ElemID=Create3dElem(SrcTile.TriCount,SrcTile.TriStart,LocalGeom,true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -597,7 +597,7 @@ int ElemID;
|
|||
}
|
||||
|
||||
//***************************************************************************
|
||||
int CMkLevel::Create3dElem(int TriCount,int TriStart,bool Local)
|
||||
int CMkLevel::Create3dElem(int TriCount,int TriStart,bool Local,bool IsTile)
|
||||
{
|
||||
CFace F;
|
||||
int i,ListSize;
|
||||
|
@ -642,7 +642,14 @@ CFaceStore &FaceList=ThisElem.FaceStore;
|
|||
|
||||
for (int p=0; p<3; p++)
|
||||
{
|
||||
F.vtx[p]=ThisTri.vtx[p];
|
||||
// F.vtx[p]=ThisTri.vtx[p];
|
||||
F.vtx[p].x=+ThisTri.vtx[p].x;
|
||||
F.vtx[p].y=-ThisTri.vtx[p].y;
|
||||
F.vtx[p].z=+ThisTri.vtx[p].z;
|
||||
if (IsTile)
|
||||
{
|
||||
F.vtx[p].y+=0.5f;
|
||||
}
|
||||
F.uvs[p].u=ThisTri.uv[p][0];
|
||||
F.uvs[p].v=ThisTri.uv[p][1];
|
||||
}
|
||||
|
@ -675,7 +682,11 @@ CFaceStore &FaceList=ThisElem.FaceStore;
|
|||
|
||||
for (int p=0; p<3; p++)
|
||||
{
|
||||
F.vtx[p]=ThisTri.vtx[p];
|
||||
// F.vtx[p]=ThisTri.vtx[p];
|
||||
F.vtx[p].x=+ThisTri.vtx[p].x;
|
||||
F.vtx[p].y=-ThisTri.vtx[p].y;
|
||||
F.vtx[p].z=+ThisTri.vtx[p].z;
|
||||
F.vtx[p].y+=0.5f; // Adjust for tile offset (2dElems Always Tile)
|
||||
F.uvs[p].u=ThisTri.uv[p][0];
|
||||
F.uvs[p].v=ThisTri.uv[p][1];
|
||||
}
|
||||
|
@ -1053,7 +1064,8 @@ int Pos=ftell(File);
|
|||
sVtx Out;
|
||||
|
||||
Out.vx=+In.vx;
|
||||
Out.vy=-In.vy+(Scale/2); // Offset it so the origin is centre centre
|
||||
// Out.vy=-In.vy;//+(Scale/2); // Offset it so the origin is centre centre
|
||||
Out.vy=+In.vy;//+(Scale/2); // Offset it so the origin is centre centre
|
||||
Out.vz=+In.vz;
|
||||
Min.vx=__min(Min.vx,Out.vx);
|
||||
Min.vy=__min(Min.vy,Out.vy);
|
||||
|
|
|
@ -114,7 +114,7 @@ public:
|
|||
protected:
|
||||
void BuildModel(CScene &ThisScene,GString &RootPath,int Node);
|
||||
|
||||
int Create3dElem(int TriCount,int TriStart,bool Local);
|
||||
int Create3dElem(int TriCount,int TriStart,bool Local,bool IsTile);
|
||||
int Create2dElem(int Tile,bool Local);
|
||||
|
||||
CMkLevelLayer *FindLayer(int Type,int SubType);
|
||||
|
|
|
@ -37,7 +37,7 @@ void CFXBubble::think(int _frames)
|
|||
{
|
||||
if (renderFrame!=FRM__BUBBLEPOP)
|
||||
{
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP,false);
|
||||
// CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP,false);
|
||||
renderFrame=FRM__BUBBLEPOP;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -25,7 +25,7 @@ void CFXThwack::init(DVECTOR const &_Pos)
|
|||
Angle=getRnd()&4095;
|
||||
Scale=2048+1024+(getRnd()&2047);
|
||||
Flags |=FX_FLAG_HAS_LIFE;
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_KAPOW_V1,false);
|
||||
// CSoundMediator::playSfx(CSoundMediator::SFX_KAPOW_V1,false);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -796,7 +796,7 @@ void CModelGfx::SetModel(int Type)
|
|||
|
||||
/*****************************************************************************/
|
||||
static const int MXO=0;
|
||||
static const int MYO=-8;
|
||||
static const int MYO=-8*0;
|
||||
void CModelGfx::Render(DVECTOR &Pos,SVECTOR *Angle,VECTOR *Scale)
|
||||
{
|
||||
#define BLOCK_MULT 16
|
||||
|
|
Binary file not shown.
Loading…
Add table
Reference in a new issue