Fixes P_MoveOrigin not interpolating if used before
P_MobjThinker, i.e. during player think.
These are reset at the start of a tic anyway, before
anything else, with R_UpdateMobjInterpolators.
- Upon becoming a spectator: if there are any players who
can be spectated, e.g. haven't finished the level, then
turn on director cam.
- Removes director cvar.
- Replace battlewanted global with g_hiscore, keeps track
of the current highest number of points.
- Adds HUD tracking for player(s) with the hiscore.
- Should target both players in a tie.
- Don't clear every tic. This is what P_RemoveTracker is
for.
- Link in P_SpawnMobj. Should cover all cases.
- Remove excess objects. These were leftover from when
Shrink destroyed items. Just track Jawz, SPB and Break
the Capsules.
- Add flags variable to toggle much of Orbinaut behavior.
- Don't spawn afterimages for Gacha Bom.
- Animate facing angle of Gacha Bom when thrown backward.
- Let tossed Gacha Bom drive forward after landing.
Two arrows. One above the player, floating. One below the
player, on the ground.
Both arrows use the player's facing angle. Arrows are only
visible to their own player (other players can't see them).
The floating arrow is a papersprite. You can see the arrow
turn with you as you turn your camera.
The grounded arrow is a splat with additive blending. It
tilts to match the slope of the ground you're driving on.
With the old code, if the object at the head of the list
was removed, it would leave the reference behind,
extending the lifetime of the thinker until P_RunKartItems
or P_RunOverlays was run.
- P_DamageMobj
- Become skin temporarily to show off the hurt frames
- Sets charflags, so P_PlayerThink can handle reversion
- Add sparkles for losing disguise
- P_KillPlayer
- Sets charflags, so P_PlayerThink can handle reversion
- Add extra sound for losing disguise
- G_PlayerReborn
- Sets charflags in not-betweenmaps case as well, so P_PlayerThink can handle reversion
- P_SpawnPlayer
- Use set skin for spawn again (partial revert of previously committed code)
- P_PlayerThink
- More specific conditions for fakeskin reversion
- Not hurt, dead, or respawning (except for last part of drop)
- Add sound and sparkles for reapplying disguise
- capsuletest off - default behavior.
- capsuletest multiplayer - always spawn non time attack
capsules, even in FREE PLAY.
- capsuletest timeattack - always spawn time attack
capsules, even in multiplayer.
* CL_ClearPlayer (player departing server)
- In GS_LEVEL, decrement refcount for all relevant pointer
- Clearer comments
* G_PlayerReborn (initialisation before any player spawn)
- Preserve skybox data and hoverhyudoro (except between maps)
- Clean up follower handling
* Cross-codebase: use P_SetTarget for setting skybox-specific pointers, to match p_saveg.c
- `skyboxcenterpnts` and `skyboxviewpnts`
- P_InitSkyboxPoint`, which calls `P_SetTarget`
- `waypoint->mobj`
- Make sure NULL before using `P_SetTarget` on
- `tubewaypoints`
- Use `P_SetTarget`
- Use `UINT32_MAX` for the invalid mobjnum, since 0 is a valid one.
- `waypointcap` and `kitemcap`
- NULL before reset
Our international nightmare is over.
- Includes a struct definition for symmetrical objects
made out of papersprite sides.
- Dimensions of papersprite sides are looked up using
sprite cache.
- Monitors may contain multiple types of items.
- Item RNG is deterministic from the time the monitor is
spawned but the item types are not stored in memory.
Instead the RNG seed is restored every time an item type
needs to be determined. Item types need to be determined
every time the icon on the monitor's screen changes and
when the monitor is popped and drops all its items.
- Monitors sparkle like emeralds if there is an emerald
inside.
- Monitors take damage from players simply bumping into
them. The damage scales up with speed and weight.
- Activating a lightning shield in proximity decimates the
monitor into being able to be destroyed in one hit by
anything thereafter.
- All throwable / deployable items destroy a monitor in
one hit.