#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; fixed_t x; fixed_t y; fixed_t z; // 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. bool DoRipping; TMap LastRipped; int PushTime; FCheckPosition(bool rip=false) { DoRipping = rip; PushTime = 0; FromPMove = false; } inline fixed_t _f_ceilingz() { return FLOAT2FIXED(ceilingz); } inline fixed_t _f_floorz() { return FLOAT2FIXED(floorz); } inline fixed_t _f_dropoffz() { return FLOAT2FIXED(dropoffz); } }; #endif