gzdoom/src/playsim/p_checkposition.h
2019-07-14 13:24:18 +02:00

53 lines
1 KiB
C

#ifndef P_CHECKPOS_H
#define P_CHECKPOS_H
//============================================================================
//
// Used by P_CheckPosition and P_TryMove in place of the original
// set of global variables.
//
//============================================================================
struct FCheckPosition
{
// in
AActor *thing;
DVector3 pos;
// out
sector_t *sector;
double floorz;
double ceilingz;
double dropoffz;
FTextureID floorpic;
int floorterrain;
sector_t *floorsector;
FTextureID ceilingpic;
sector_t *ceilingsector;
bool touchmidtex;
bool abovemidtex;
bool floatok;
bool FromPMove;
line_t *ceilingline;
AActor *stepthing;
// [RH] These are used by PIT_CheckThing and P_XYMovement to apply
// ripping damage once per tic instead of once per move.
TMap<AActor*, bool> LastRipped;
bool DoRipping;
bool portalstep;
bool dropoffisportal;
int portalgroup;
int PushTime;
FCheckPosition(bool rip=false)
{
DoRipping = rip;
PushTime = 0;
FromPMove = false;
}
};
#endif