Differences from Lua version:
- Does not set cusval
- Does not have individual states for pulley, hook
- Simply sets sprite on S_INVISIBLE
- Does not do P_CheckPosition, sets Z directly
- Does not spawn chain visual every tic
- Spawns a single object and vertically stretches it to
the correct length
- MT_IPULLUP has MF_SCENERY and a short-circuiting
thinker, also MF_NOBLOCKMAP so there is never any
collision against it (it is a controller)
- MT_PULLUPHOOK has MF_NOCLIP to avoid extra collisions
while moving
- Removed hitlag sparks and extra quakes from player death
- Removed dontdraw flag from NO CONTESTED player
- Moved most dead kart code to objects/destroyed-kart.cpp
- You can spawn in Tutorial Challenge, but only if a single can has been picked up already
- Don't print a (DEVELOP-only, but still annoying) error when it doesn't spawn in Tutorial Challenge
- CD spawns instantly
- 3x scale, scale down to 1x over 1 second
- Do not pickup instantly
- Afterimages in the air, additive
- Thrown arc straight upward, less high if player is
closer
- The goal here is to make it more obvious if a CD drops,
and make the CD more visible.
- Rainbow sparkles scaled up by x3.
- Play long "powering down" noise when a Prison with a CD
inside is destroyed.
- CD spawns after noise stops playing.
- Spawn a twinkle (Gainax).
- Flickers while "powering down" noise is playing.
- Enlarges and disappears in sync with the "CD dropped"
sound effect.
- Darken the map while all of this is happening.
- Scramble can help point out memory leaks from mobjs
never being freed
- However it can also cause false positive crashes, since
there is sometimes a 1 or 2 tic window between when
P_RemoveMobj is called and all pointers to that mobj are
set to NULL
- Presumably we have code that NULL checks but does not
check P_MobjWasRemoved and such instances may be hard to
find so it's just easier to not scramble
Before
- Each time / once only activates when the mobj's sector
changes
- The activation may depend on the mobj touching the floor
- If the mobj is in the air when the sector changes, the
action will never be activated
After
- Each time / once actions that require floor touching
also activate every time the mobj lands on the ground
from the air (regardless of whether the sector changed)