While I believe the opposite behavior was intentional at first, it has proven to be problematic and makes alignment a tedious task for copied planes.
Signed-off-by: Nev3r <apophycens@gmail.com>
- Add modeltilt variable, for more manual control of the model tilting. By default this just copies standingslope, but doesn't get cleared in the air.
- Shadows & trailing bananas now tilt to match the ground they are on.
- Rocket Sneakers & afterimages now tilt to match the player's current orientation.
While I believe the opposite behavior was intentional at first, it has proven to be problematic and makes alignment a tedious task for copied planes.
Signed-off-by: Nev3r <apophycens@gmail.com>
- Removed unused vars from the slope struct. I'm pretty sure they were meant for something at some point, but right now there's nothing using them and frankly I find it hard to understand what they were meant for.
- Removed unused slope flags.
- Flipped dynamic slope flag naming convention.
Signed-off-by: Nev3r <apophycens@gmail.com>
* Moved dynamic slope-related data into its own thinker.
* Vertex slopes no longer use the mapthings directly.
Signed-off-by: Nev3r <apophycens@gmail.com>
Needs to be tested in gravity flip
Also flips the normal on linedef based slopes so that it's facing the correct direction
Also makes it so slopelaunch doesn't always remove the standingslope (going down some slopes would cause it to be constantly unset and reset)
* Made the name of P_PrepareSlopeToWallTransfer (now P_GetWallTransferMomz) make sense.
* Bugfixed the case where you couldn't reliably guess the angle of the wall you just hit.
* Seriously reworked a lot of stuff behind the scenes, thanks to Red's comments.
* More consistent behaviour.
* Launching power is now scaled to the slope's angle relative to the wall you hit, so no massive launches when you hit the side of a steep slope.
* The code is a lot messier and the function name doesn't make any sense any more, so I need to clean that up in the morning.
* Need to figure out how to prevent tiny launches that uncurl you when spindashing up against walls.
* Spindashing trails now takes into account vertical momentum as well as horizontal - it was stupid not seeing your spintrail just because you weren't moving very fast horizontally!
No exe uploaded because it's almost 2am.
Also, the teetering angle on slopes is now FRACUNIT/2 because there's literally no way to stand still on a slope that steep unless it doesn't have physics.
When I first wrote this, I thought the .h file that contained a function declaration needed to have the same name as the .c file the function was in. Now I know that's not the case, off to p_local.h with you.
*Didn't take into account object scale
*Doubled force when on the ground (ignore what the comment of the line I moved says, it was relevant for slopes...)
This also led to a mistake with slopes, where I was double-multiplying by the gravity constant to get half (because of a quirk of numbers...)