diff --git a/Utils/Libs/DaveLib/facestore.cpp b/Utils/Libs/DaveLib/facestore.cpp index 6b275fcfa..05a0f4e8d 100644 --- a/Utils/Libs/DaveLib/facestore.cpp +++ b/Utils/Libs/DaveLib/facestore.cpp @@ -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 &OutTriList,vector &OutVtxList) diff --git a/Utils/MapEdit/Elem.cpp b/Utils/MapEdit/Elem.cpp index d6e19151c..8933fe72a 100644 --- a/Utils/MapEdit/Elem.cpp +++ b/Utils/MapEdit/Elem.cpp @@ -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) diff --git a/Utils/MapEdit/GUILayerCollision.cpp b/Utils/MapEdit/GUILayerCollision.cpp index 0dd737dbc..a40148930 100644 --- a/Utils/MapEdit/GUILayerCollision.cpp +++ b/Utils/MapEdit/GUILayerCollision.cpp @@ -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);} + diff --git a/Utils/MapEdit/GUILayerCollision.h b/Utils/MapEdit/GUILayerCollision.h index 13a7e5696..2c6e8a697 100644 --- a/Utils/MapEdit/GUILayerCollision.h +++ b/Utils/MapEdit/GUILayerCollision.h @@ -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() }; diff --git a/Utils/MapEdit/LayerDef.h b/Utils/MapEdit/LayerDef.h index a733b41d1..18c57d01a 100644 --- a/Utils/MapEdit/LayerDef.h +++ b/Utils/MapEdit/LayerDef.h @@ -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<