Commit graph

22284 commits

Author SHA1 Message Date
James R
f5f85cc3e4 Refactor lives and rank increase to occur at level end transition, not when the player finishes
Fixes exploiting retries after finishing in good standing
to farm lives and rank. These are now applied when you can
no longer retry.

Extra life sound effect still plays as soon as you finish
the race.
2023-03-22 20:49:33 -07:00
Gunla
42f860a838 Merge branch 'common-garden-shield' into 'master'
Don't lose Garden Top when stumbling; normalize item odds

See merge request KartKrew/Kart!1076
2023-03-23 01:12:40 +00:00
Gunla
e5d4e2604e Merge branch 'fix-no-contest-after-win' into 'master'
Don't NO CONTEST a player who has already finished, if they die afterward

See merge request KartKrew/Kart!1073
2023-03-23 01:11:59 +00:00
Gunla
d0e78d985f Merge branch 'tie-sign' into 'master'
Fix sign posts for ties + youfuckedup facing wrong direction

See merge request KartKrew/Kart!1072
2023-03-23 01:11:01 +00:00
Gunla
6f6df2cfe2 Merge branch 'fix-perpetual-damage-floor-respawn' into 'master'
Reset TERRAIN when respawning

See merge request KartKrew/Kart!1068
2023-03-23 01:00:49 +00:00
Gunla
b7fc20c355 Merge branch 'epic-debug' into 'master'
Minimap debugwaypoints and debugfinishline

See merge request KartKrew/Kart!1067
2023-03-23 00:59:48 +00:00
Gunla
6196af65e5 Merge branch 'shield-loser' into 'master'
Shield Loser

Closes #490

See merge request KartKrew/Kart!1074
2023-03-23 00:58:22 +00:00
James R
d878d3941d Call G_MapEventsToControls before M_Responder and G_Responder
Fixes buffered keyup events not having any effect when
exiting the menu back to the Title Screen.
2023-03-22 16:49:36 -07:00
toaster
cb4d9b527e musicdef_t: Add hash field
Slight optimisation for S_FindMusicDef, but will net us some big wins with our next feature.
2023-03-22 23:34:01 +00:00
James R
9b5db6fedb Add K_MomentumThreshold, raise threshold for K_MomentumAngle to 6 FU, same as K_AirFailsafe 2023-03-22 15:47:08 -07:00
James R
54dd8b0252 K_UpdateSliptideZipIndicator: use K_MomentumAngle 2023-03-22 15:28:12 -07:00
James R
b419184591 cmake/Comptime.cmake: exclude remote refs HEAD from current branch search
remotes/origin/HEAD is valid, exists in my repo and I do
not know why but it makes checking out origin/master show
up as HEAD in game so KILL.
2023-03-22 15:23:44 -07:00
James R
7cd6f54882 Fix SPB chase crashing if not chasing a player 2023-03-22 15:04:43 -07:00
Sally Coolatta
825f78457c Fix default args being undefined instead of 0 2023-03-22 16:37:47 -04:00
AJ Martinez
312e847151 Merge branch 'fix-faulty-mobj-references' into 'master'
Fix faulty references for monitors and players

See merge request KartKrew/Kart!1071
2023-03-22 07:43:37 +00:00
James R
d2ffa9eeae Roulette: don't roll Garden Top if another player already has one
Makes Garden Top odds behave like normal shield odds.
2023-03-21 19:07:57 -07:00
James R
efdcec6734 Don't lose Garden Top from stumble damage
Move to K_PopPlayerShield
2023-03-21 19:05:00 -07:00
Gunla
9b1179518a Merge branch 'blue-target' into 'master'
Give Drop Target a weaker state when thrown forward

Closes #471

See merge request KartKrew/Kart!1049
2023-03-22 00:37:44 +00:00
toaster
bf64d7a0c1 K_BananaBallhogCollide: Handle use after deletes
- Return early if t1 was removed
- Don't call K_GetCollideAngle if t2 is removed
    - Only relevant here because this is one of the few contexts that causes a pre-K_GetCollideAngle deletion, other circumstances should be fine..?
2023-03-21 18:31:07 +00:00
toaster
01dbbc34d1 K_PopPlayerShield
- Split out from K_DropHnextList to make its handling more explicit, and to permit K_DropItems scenarioes to *not* drop shields.
- Always called on P_DamageMobj on any non DMG_STUMBLE damagetype, so shields always get digested on true pain.
    - Todo: Should shields be popped even on DMG_STING..?
- NOT called on Eggman Mark pickup.
- Add to Lua (alongside K_DropHnextList, which was inexplicably missing).
2023-03-21 13:48:30 +00:00
toaster
ae9a0b3ba2 P_DamageMobj: Correct typo so we keep shield only when damagetype is DMG_STUMBLE, not in every case BUT that 2023-03-21 13:03:45 +00:00
AJ Martinez
7868f21dd0 Merge branch 'controller-crudules' into 'master'
Controller Crudules

Closes #479 and #476

See merge request KartKrew/Kart!1066
2023-03-21 07:41:34 +00:00
James R
f93aa07dd7 Halve Garden Top speed
This is probably more correct because it would thrust 2x
speed in a straight line before.
2023-03-21 00:30:52 -07:00
James R
cec2ae0533 Lower base item speeds
Now that the player's speed is added linearly, these need
to be lowered to compensate.
2023-03-21 00:30:52 -07:00
James R
3284d46f52 Add player speed directly to missile items
Don't factor in character top speed...
2023-03-21 00:14:00 -07:00
James R
1570661f20 Don't NO CONTEST a player who has already finished, if they die afterward 2023-03-20 21:49:50 -07:00
James R
4b993a3de0 Signs: always use map thing's angle if it exists, else face direction player is moving from
If no map thing exists, should face toward the camera, not
away from it.
2023-03-20 21:01:42 -07:00
James R
15edab5e85 Delay spawning level sign posts, do not use youfuckedup face for tied sign posts
- Sign post spawning is delayed until after thinkers have
  run. This lets ties be tallied.
- Spawn normal (non error) sign for ties.
2023-03-20 20:59:12 -07:00
James R
a396ffe676 Init mobj references before mobj specific spawning in P_SpawnMobj
Fixes MT_MONITOR leaking references due to
Obj_MonitorSpawnParts called before P_AddThinker.

Thanks to toaster
2023-03-20 20:00:10 -07:00
James R
d0719ef5ba Fix mobj reference management of player->mo
Thanks to toaster
2023-03-20 20:00:10 -07:00
James R
67f4505a06 Revert "Add cv_scrambleremoved, disable scramble on P_RemoveMobj"
This reverts commit a55ddef528.
2023-03-20 19:57:00 -07:00
James R
17aaf178d5 PARANOIA: fix faulty references warning
- Print mobj address and mobj type in addition to
  reference count
- Print negative reference counts correctly
- Don't print warning twice for the same mobj (don't spam
  the console)
2023-03-20 19:57:00 -07:00
James R
509a023329 PARANOIA: add debug to P_SetTarget if references go negative
Prints mobj address, mobj type, thinker function,
reference count and source code line number.
2023-03-20 19:57:00 -07:00
James R
55467d190a Fix code formatting in P_SetTarget 2023-03-20 19:40:57 -07:00
James R
abc11fc16f Reset TERRAIN when respawning
Fixes damage floor TERRAIN applying for the entire
duration of lightsnake.
2023-03-19 22:40:43 -07:00
James R
b7ef8275c4 Add debugfinishline, highlight finish line linedefs and black fill solid walls
- Highlight is drawn across the screen at the horizon
  (player's eye level).
- Highlight alternates between red and white for 35 tics
  each.
2023-03-19 20:45:36 -07:00
James R
06fa67d9c5 Show waypoints on the minimap, if debugwaypoints is enabled
- Uses in level waypoint colors:
  - Green for player's next waypoint
  - Pink for shortcuts
  - Gray for disabled waypoints
  - Yellow for ego orb
  - Blue for ordinary waypoints
- The player's next waypoint appears slightly larger
2023-03-19 17:06:59 -07:00
AJ Martinez
8f77a1a975 Playable default controls 2023-03-19 16:02:16 -07:00
toaster
e27a15fd14 F_IntroResponder, G_Responder: Permit both Title Screen and Intro/titledemo to respond to trigger inputs over JOYAXISRANGE/2
Likewise, the author of this commit uses a trigger for A(ccel)
2023-03-19 18:06:19 +00:00
toaster
6832488117 G_MapEventsToControls: On second thought, only handle reassignment when a trigger axis is activated, to closer match button behaviour. 2023-03-19 18:00:18 +00:00
toaster
1acf00daa6 G_PlayerInputAnalog: Only attempt default binds for menu if no binds are reachable by GetValueFromControlTable for that button
- GetValueFromControlTable: Return 0 only if a single G_KeyIsAvailable returns true for any bind
    - Otherwise returns NO_BINDS_REACHABLE -- #define'd as (-1)
    - Does not cover the `menucontrolreserved` check, which could maybe be moved to the opposite end of the function if it causes problems.
2023-03-19 17:48:24 +00:00
toaster
22294c2c4d G_MapEventsToControls: Permit automagic controller reassignment for axis events greater than JOYAXISRANGE/2
The author of this commit uses a trigger for A(ccel) and was being misled by the absence of response.
2023-03-19 17:27:23 +00:00
toaster
5a7f7b58f0 HandleGamepadDeviceEvents: Call at all junctures where event_t are digested
Permits controllers to actually be added when starting with -server
2023-03-19 17:27:23 +00:00
toaster
dc63847e14 G_MapEventsToControls: Fix crash
- If G_GetDeviceGameKeyDownArray returns NULL, bail early.
- Also calls it once for all relevant event types, rather than possibly multiple times.
2023-03-19 17:27:23 +00:00
toaster
cd7d4f23c7 Merge branch 'eggman-drop-items' into 'master'
Drop items when hitting Egg Mark

See merge request KartKrew/Kart!1064
2023-03-19 17:27:02 +00:00
toaster
7d8fe85767 battleprisons rename compilation repair 2023-03-19 13:06:55 +00:00
toaster
4c0077e07c Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into conditions-cascading 2023-03-19 13:01:06 +00:00
toaster
bfbbfc2842 Merge branch 'prison-ufos' into 'master'
Prison UFOs

See merge request KartKrew/Kart!1060
2023-03-19 13:00:31 +00:00
toaster
421896b939 Jart review: Whitespace reinsertion 2023-03-19 12:51:16 +00:00
James R
0e71e7bb6d VFX for overcharged and emergency spindashes
- Bubble alternates flashing red for 6 tics during
  overcharge.
- Bubble shakes violently during emergency spindash.
2023-03-19 05:20:33 -07:00