Commit graph

2499 commits

Author SHA1 Message Date
AJ Martinez
6173ca47aa SPB Attack: emblems/medals preliminary 2023-03-03 12:15:00 -08:00
AJ Martinez
79d8e4e109 WIP: SPB Attack - temp menu draws OOB, no unlocks 2023-03-03 12:14:58 -08:00
James R
45fb60d247 Only toggle director when you yourself spawn or when the first player in the level spawns 2023-03-02 23:34:41 -08:00
James R
5cb54f29fe Sync player mobj health to bumper count
Fixes players killed twice if P_DamageMobj is called with
DMG_TIMEOVER and gametyperules GTR_BUMPERS.

Moves death condition out of K_HandleBumperChanges and
lets losing last bumper organically kill the player by
decreasing their health.
2023-03-02 22:05:30 -08:00
toaster
e11738b481 Merge branch 'droptarget-collide-plus' into 'master'
More fun with Drop Target punting

See merge request KartKrew/Kart!995
2023-03-02 13:34:02 +00:00
James R
b2913b9a19 Let Drop Targets hit the thrower immediately after bouncing off a wall 2023-03-01 08:20:20 -08:00
James R
8bd83b69c3 Spawn MT_LOOPENDPOINT and MT_LOOPCENTERPOINT mapthings 2023-02-28 20:27:11 -08:00
James R
7738d6bb7c Activate loop endpoints 2023-02-28 20:27:11 -08:00
James R
b3511a9149 Player orbiting physics 2023-02-28 20:27:11 -08:00
James R
49bb2a377e Add P_SpawnItemLine, spawn a row of mapthings between two points 2023-02-28 19:14:35 -08:00
James R
290d3fd3e8 Do not selectively reset mobj interpolation state at the beginning of P_MobjThinker
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.
2023-02-28 19:14:35 -08:00
James R
2d063445a6 Automatically toggle director depending on number of players
- 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.
2023-02-26 05:55:44 -08:00
James R
e6da831e36 HUD target player with most points
- 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.
2023-02-24 23:21:47 -08:00
James R
deac3a373f Battle: replace Karma Bomb with death
- Lose 2 points when you die.
- Respawn with 3 bumpers.
2023-02-24 23:21:47 -08:00
James R
923b8414a1 Merge branch 'refactor-kitemcap' into 'master'
Refactor kitemcap

See merge request KartKrew/Kart!955
2023-02-22 11:23:51 +00:00
James R
b4b1543e0e Add 5 second fuse for empty kart, flickers right before despawning 2023-02-22 00:16:40 -08:00
James R
4adf585590 Give TARGET HUD tracking to UFO Catcher 2023-02-21 20:12:37 -08:00
James R
061e5b01ec Refactor trackercap
- 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.
2023-02-21 18:27:46 -08:00
James R
be4c341316 Rename kitemcap to trackercap 2023-02-21 17:48:14 -08:00
Oni
3389c882b3 Merge branch 'gachabom-sprites' into 'master'
Add Gacha Bom sprites

See merge request KartKrew/Kart!950
2023-02-21 06:39:58 +00:00
James R
1f496e05ec Refactor objects/orbinaut.c for Gacha Bom
- 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.
2023-02-20 20:57:17 -08:00
James R
5cce81f4cd Add fuse to Pogo Spring
15 seconds, flickers for the last second.
2023-02-18 16:09:05 -08:00
Oni
a096f10236 Merge branch 'normalize-magician-box-offsets' into 'master'
Normalize magician box offsets

See merge request KartKrew/Kart!941
2023-02-18 23:47:33 +00:00
James R
ba908edf55 Add player sprzoff to Heavy Magician Box 2023-02-18 14:49:38 -08:00
James R
8770d76a4e Add P_SpawnMobjFromMobjUnscaled, does not scale offsets 2023-02-18 14:39:43 -08:00
James R
b1fac18844 Add Garden Top arrows
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.
2023-02-18 03:15:04 -08:00
James R
e8ab92fa64 p_mobj.c: guard some cases where a mobj could be removed 2023-02-14 04:17:04 -08:00
James R
33145ab2ae p_mobj.c: reference count kitemcap and overlaycap
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.
2023-02-14 04:17:04 -08:00
James R
98a4a90129 PARANOIA: do mobj scramble last 2023-02-14 04:16:57 -08:00
AJ Martinez
32ea795639 Fault rework cleanup for merge 2023-02-13 15:31:39 -07:00
AJ Martinez
101db619e6 Add visual flicker in and out when faulting 2023-02-03 02:23:52 -07:00
Oni
271dae4643 Merge branch 'refcount-goofin' into 'master'
Additional P_SetTarget mobj_t pointer fixes on player struct

See merge request KartKrew/Kart!875
2023-01-25 01:00:42 +00:00
Oni
13563ce922 Merge branch 'acs' into 'master'
Action Code Script

See merge request KartKrew/Kart!728
2023-01-22 03:22:32 +00:00
Oni
584b714e72 Merge branch 'fix-z-movement-discard-mom' into 'master'
Let P_ZMovement use momentum changes from P_CheckPosition call

Closes #365

See merge request KartKrew/Kart!869
2023-01-22 03:15:42 +00:00
Oni
90274359db Merge branch 'magician-spectator' into 'master'
Heavy Magician adjustment

See merge request KartKrew/Kart!876
2023-01-22 01:59:48 +00:00
James R
65eedaa9ee Merge branch 'overlay-offsets' into 'master'
MT_OVERLAY exception flags

See merge request KartKrew/Kart!878
2023-01-21 20:26:23 +00:00
James R
6e058d66e1 Merge branch 'capsuletest' into 'master'
Add capsuletest cvar

See merge request KartKrew/Kart!884
2023-01-21 20:26:06 +00:00
James R
d7d365f1e4 P_ZMovement: take object's momentum after P_CheckPosition 2023-01-21 17:24:16 +00:00
toaster
d2d7421072 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into acs
# Conflicts:
#	src/CMakeLists.txt
2023-01-21 15:32:13 +00:00
toaster
2e35a40b80 SF_IRONMAN: handle randomised skin and hurt/death states differently
- 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
2023-01-21 14:43:54 +00:00
toaster
1ae8a6dec5 P_SpawnPlayer: Guarantee correct fake skin on player object at spawn 2023-01-21 12:30:01 +00:00
toaster
a4a74a7d2f Do not continue to run thinker for MT_MAGICIANBOX if removed by running out of lifespan 2023-01-21 12:30:00 +00:00
James R
610e2c66be Adjust Garden Top physics
- 110% -> 150% top speed
- no friction decrease if grinding
- 250% -> 300% gravity when grinding (for slope sliding)
- 275% -> 325% max boost when releasing grind
- 60% minimum boost speed when relasing grind
2023-01-14 18:11:46 -08:00
toaster
9ed9147640 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into overlay-offsets 2023-01-12 16:30:48 +00:00
toaster
51a9a6d363 P_RefreshItemCapsuleParts: Check for NULL before P_MobjWasRemoved 2023-01-12 16:14:16 +00:00
toaster
1ac869cbb3 P_RefreshItemCapsuleParts: Correctly assign part->tracer's OV_DONTSCREENOFFSET 2023-01-12 16:14:12 +00:00
James R
ba27c87ff0 Add capsuletest cvar
- 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.
2023-01-11 21:46:21 -08:00
toaster
c7525fb5a6 Introduce MT_OVERLAY exception flags
- Applied via threshold of Overlay mobj
    - OV_DONTSCREENOFFSET
        - spritexoffset, spriteyoffset
        - Given to Item Capsule quantity numbers
    - OV_DONT3DOFFSET
        - sprxoffset, spryoffset, sprzoffset
    - OV_DONTXYSCALE
        - spritexscale, spriteyscale
    - OV_DONTROLL
        - rollangle, pitch, roll
Makes overlay on UFO emerald follow the emerald's spriteyoffset now
2023-01-08 18:16:04 +00:00
toaster
2a87cfcdf1 Additional P_SetTarget mobj_t pointer fixes on player struct
* 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
2023-01-08 15:15:44 +00:00
toaster
3d9137a9cf Pre-emptively fixes a possible issue where a player who is exiting would have their realtime adjusted on respawn, affecting final results. 2023-01-08 14:02:02 +00:00