This commit is contained in:
Daveo 2001-07-05 21:17:31 +00:00
parent 6e945b8ca6
commit 50d0c8ef48
14 changed files with 66 additions and 43 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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