Gremlins happened whenever P_TryMove and P_SlideMove/P_BounceMove disagreed on what an object collided with. When TryMove said you collided with a line, but P_BounceMove said that you didn't, then you'd get gremlin'd.
To fix this, P_TryMove now can edit a struct to contain information on what it collides with. P_SlideMove and P_BounceMove no longer try to detect walls on their own and now requires this result from P_TryMove. If a slide/bounce is needed without moving the object, then you'd want to use P_CheckMove to get the result.
Lua is not supported right now.
This makes it significantly easier to save/restore the state of these variables, whenever we need to do so for calling movement functions in the middle of other movement functions. This will also make it easier to move it out of global variable hell if desired later.
Only prohibits when there's a valid stepdown if the object is on a sloping surface.
Fixes Mega Aqua Lake without breaking Water Palace or a modified Nova Shore (after addition of an extra downward slope)
Only prohibit if slope surface is TOO different along the direction of movement, rather than even slightly different across any axis.
Fixes MK's indev Mirage Saloon
- Randomize banana angles when thrown
- Spin bananas when mid-air
- Add MF_SLOPE flag to control whenever or not pitch/roll are set for an object (replaces MF_BOXICON)
Move globalweather to before P_SpawnSpecials so that specials can properly change weather and have it communicated in savegames
# Conflicts:
# src/p_saveg.c
# src/p_setup.c
- Battle Capsules for Break The Targets, to improve conveyability
- No Contest players have a special X icon
Also fixes a few issues with minimap rendering
- obviously written before netsplits and bots
- mixing up array indices and loop iteration for local players
- mixing up SPB object and target
- old version of hyudoro with double time in Race
- using explicit gametype comparisons instead of gametype rules
- SPBs with hitlag disappeared from the minimap