2016-05-18 00:42:11 +00:00
|
|
|
// SONIC ROBO BLAST 2
|
2014-11-19 00:45:57 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
2016-05-18 00:42:11 +00:00
|
|
|
// Copyright (C) 2004 by Stephen McGranahan
|
|
|
|
// Copyright (C) 2015-2016 by Sonic Team Junior.
|
2014-11-19 00:45:57 +00:00
|
|
|
//
|
2016-05-18 00:42:11 +00:00
|
|
|
// This program is free software distributed under the
|
|
|
|
// terms of the GNU General Public License, version 2.
|
|
|
|
// See the 'LICENSE' file for more details.
|
2014-11-19 00:45:57 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
2016-05-18 00:42:11 +00:00
|
|
|
/// \file p_slopes.c
|
|
|
|
/// \brief ZDoom + Eternity Engine Slopes, ported and enhanced by Kalaron
|
2014-11-19 00:45:57 +00:00
|
|
|
|
|
|
|
#ifndef P_SLOPES_H__
|
|
|
|
#define P_SLOPES_H__
|
|
|
|
|
|
|
|
#ifdef ESLOPE
|
2015-04-27 02:50:50 +00:00
|
|
|
void P_ResetDynamicSlopes(void);
|
|
|
|
void P_RunDynamicSlopes(void);
|
2014-11-19 00:45:57 +00:00
|
|
|
// P_SpawnSlope_Line
|
|
|
|
// Creates one or more slopes based on the given line type and front/back
|
|
|
|
// sectors.
|
|
|
|
void P_SpawnSlope_Line(int linenum);
|
|
|
|
|
|
|
|
//
|
|
|
|
// P_CopySectorSlope
|
|
|
|
//
|
|
|
|
// Searches through tagged sectors and copies
|
|
|
|
//
|
|
|
|
void P_CopySectorSlope(line_t *line);
|
|
|
|
|
2015-08-03 23:06:42 +00:00
|
|
|
pslope_t *P_SlopeById(UINT16 id);
|
|
|
|
|
2014-11-19 00:45:57 +00:00
|
|
|
// Returns the height of the sloped plane at (x, y) as a fixed_t
|
|
|
|
fixed_t P_GetZAt(pslope_t *slope, fixed_t x, fixed_t y);
|
|
|
|
|
2015-04-29 05:35:54 +00:00
|
|
|
// Lots of physics-based bullshit
|
2015-05-23 03:07:07 +00:00
|
|
|
void P_QuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope);
|
2016-06-12 18:27:34 +00:00
|
|
|
void P_ReverseQuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope);
|
2015-04-29 05:35:54 +00:00
|
|
|
void P_SlopeLaunch(mobj_t *mo);
|
2017-01-23 01:39:12 +00:00
|
|
|
fixed_t P_GetWallTransferMomZ(mobj_t *mo, pslope_t *slope);
|
2015-05-13 21:15:32 +00:00
|
|
|
void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope);
|
2015-04-29 05:35:54 +00:00
|
|
|
void P_ButteredSlope(mobj_t *mo);
|
|
|
|
|
2014-11-19 00:45:57 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// EOF
|
|
|
|
#endif // #ifdef ESLOPE
|