Commit graph

26457 commits

Author SHA1 Message Date
James R
69ed099490 Symmetrical safelap behavior
- Do not increment lap during lightsnake
  - Symmetrical with decrement behavior
- Let lap be restored to higher safelap
  - Prevent headaches if lap is erroneously decremented
2024-02-29 18:26:57 -08:00
AJ Martinez
4f5063f71f Fix sliptide extensions activating out of fast drifts 2024-02-29 18:34:36 -07:00
Oni
f7f98ff6d1 Merge branch 'last-lap-points' into 'master'
Fix player->lappoints for ending last lap (resolves #1086)

Closes #1086

See merge request KartKrew/Kart!1969
2024-03-01 01:13:09 +00:00
AJ Martinez
d4d426e64b Add "let's get fired up!" cheat (4th Gear) 2024-02-29 17:43:07 -07:00
toaster
2ac891abe8 Fix player->lappoints for ending last lap
- Previous order:
    - K_HandleLapIncrement
        - K_UpdateAllPlayerPositions
            - Sets player->position
            - !! Relies on player->exiting
        - Set lap points
            - !! Based on player->position
        - Set latestlap
        - P_DoPlayerExit
            - Set player->exiting
            - K_UpdateAllPlayerPositions
                - Sets player->position
                - Relies on player->exiting
            - Overwrites latestlap if not set
            - K_InitPlayerTally
                - Based on lap points
- New order:
    - K_HandleLapIncrement
        - Set latestlap
        - If ending last lap, P_DoPlayerExit
            - Set player->exiting
            - K_UpdateAllPlayerPositions
                - Sets player->position
                - Relies on player->exiting
            - Overwrites latestlap if not set
            - [NO LONGER INITS TALLY]
        - OTHERWISE, K_UpdateAllPlayerPositions
            - Sets player->position
            - Relies on player->exiting
        - Set lap points
            - Based on player->position
    - P_PlayerAfterThink
        - If player is exiting and no tally, K_InitPlayerTally

Hopefully you can see the magnitude of the gordian knot I had to untangle to fix this
2024-02-29 20:50:04 +00:00
James R
3402c3af64 Polyobjects: add po_movecount member to mobj_t instead of using lastlook
- Polyobject carrying set lastlook on mobjs for internal
  tracking
- lastlook is used by some objects to track their own
  state
- Ring Shooter uses lastlook to remember which player
  summoned it
- A Ring Shooter spawned right next to a polyobject would
  become buggy; If its owner player pressed the respawn
  button again before the Ring Shooter despawned, that
  player would be teleported back to the Ring Shooter
  instead of spawning a new Ring Shooter (which would be
  the correct behavior)
2024-02-29 03:36:07 -08:00
James R
4ccb9b22c8 Ring Shooter: add a 2 second cooldown after respawning before you can touch a Ring Shooter
This does not prevent you from using the respawn button to
summon a Ring Shooter.

- Ring Shooter only tracks the last player who touched it,
  to prevent that player from reusing it
- If another player touches the Ring Shooter, it loses
  track of the original user
- Near a Block Lightsnake waypoint, this would enter an
  endless loop where both players are able to touch the
  Ring Shooter and use it to respawn, placing them right
  above the Ring Shooter (and the cycle repeats)
2024-02-29 03:28:53 -08:00
Oni
1990c10635 Merge branch 'title-tempest' into 'master'
Title and Credits attract fixes

Closes #1056 and #1055

See merge request KartKrew/Kart!1950
2024-02-29 10:25:25 +00:00
Oni
786e4a098d Merge branch 'throwdir-restoration' into 'master'
Improve analog handling / input display

See merge request KartKrew/Kart!1967
2024-02-29 10:25:07 +00:00
Oni
54c58580e6 Merge branch 'waypoint-distance-check' into 'master'
Prevent waypoints from updating much further ahead in the course

Closes #912

See merge request KartKrew/Kart!1966
2024-02-29 10:24:36 +00:00
AJ Martinez
0052d15fc8 Improve analog handling and input display 2024-02-28 20:08:25 -07:00
James R
9d4f57ddfb Auto respawn after 35 tics if distancetofinish jumped too much 2024-02-28 18:13:01 -08:00
James R
b4402a9486 Do not let distancetofinish change too drastically
- When updating nextwaypoint, check if distancetofinish
  jumps more than 32768 units (8192 in 1/4 scale maps)
- If it jumps this much, do not update the waypoints
- This prevents nextwaypoint from skipping ahead in a map
  where waypoints from later in the course overlap
  waypoints from earlier
2024-02-28 18:10:46 -08:00
James R
3179669ce7 Refactor player waypoint code
- Condense K_GetPlayerNextWaypoint and
  K_UpdateDistanceFromFinishLine into slightly smaller
  functions
- Rename K_GetPlayerNextWaypoint to
  K_SetPlayerNextWaypoint
- Add K_UpdatePlayerWaypoints
2024-02-28 18:06:32 -08:00
James R
9d9dac6e96 debugwaypoints: raise HUD a little
This is still obscuring lap counter if cheatchecks are
present.
2024-02-28 17:45:22 -08:00
AJ Martinez
64dd306138 Revert "Make ticcmd throwdir -1, 0, or 1, add deadzone"
This reverts commit 9028668104.
2024-02-28 18:33:07 -07:00
AJ Martinez
20c0c4d591 WIP: Limit bot tethering while turning 2024-02-28 18:19:49 -07:00
Eidolon
e1db54198f Merge branch 'cmake-find-ogg' into 'master'
cmake: Add FindOgg find module

See merge request KartKrew/Kart!1948
2024-02-29 01:10:43 +00:00
Eidolon
4de5b57d27 Merge branch 'tree-cleanup' into 'master'
Delete unused stuff in tree

See merge request KartKrew/Kart!1965
2024-02-29 01:10:21 +00:00
Oni
762a029dd9 Merge branch 'splitscreen-spectate-switch' into 'master'
Splitscreen Spectate Switch (resolves #981)

Closes #981

See merge request KartKrew/Kart!1964
2024-02-29 00:53:02 +00:00
SteelT
48a1d8cb8a Delete some more unused stuff 2024-02-28 19:52:03 -05:00
Eidolon
f6016e2568 Delete unused stuff in tree
steveharvey-kill.mp4
2024-02-28 18:32:11 -06:00
toaster
0093dd13e6 M_Responder: "Quick" event polish
- Quick Retry (Y in modeattacking) now cannot be fired in demo.playback
- Add Quick Spectate (L+R+A+Start) per request
    - Only fires in Playing() + if gametype has spectator
    - Should support local splitscreen players, but can't test it by myself
    - If this input is held down in its full combination by p1, the pause menu itself will not open
    - Does NOT have any functionality if the player is already a spectator, it's just a quick bail
2024-02-29 00:27:09 +00:00
Oni
1da25c45ca Merge branch 'spb-speed' into 'master'
Waypoints: thingarg3 is SPB speed (0-100)

Closes #767

See merge request KartKrew/Kart!1963
2024-02-29 00:08:12 +00:00
toaster
038016252a The pause menu Spectator toggle now supports splitscreen again (resolves #981) 2024-02-28 20:05:11 +00:00
toaster
edf4f7c205 Got_TeamChange: Successfully remove PF_WANTSTOJOIN if you use changeteam spectator to cancel your join 2024-02-28 20:02:23 +00:00
Oni
693c177572 Merge branch 'gears' into 'master'
Replace Easy, Normal, Hard speed with Gear 1, 2, 3; also debugchallenges and console changes

See merge request KartKrew/Kart!1962
2024-02-28 03:12:54 +00:00
James R
ba2a49c58d Waypoints: thingarg3 is SPB speed (0-100)
- thingarg3 = 0 -- same as 100 (default speed)
- thingarg3 = 1 -- extremely slow
- thingarg3 = 50 -- half speed
2024-02-27 19:07:28 -08:00
Eidolon
6ac53d8eed Ensure deferred title start at the end of tic 2024-02-27 20:32:43 -06:00
Eidolon
7bf5d6413c Clear console hud on init credits slide
Fixes KartKrew/Kart#1056
2024-02-27 19:51:23 -06:00
Eidolon
012b82bd9c Defer StartTitle after demo conclusion
Fixes KartKrew/Kart#1055
2024-02-27 19:51:23 -06:00
Eidolon
5ddab93579 Add DeferredStartTitle in P_Ticker 2024-02-27 19:51:23 -06:00
Eidolon
da48e91754 Set deferredtitle false when starting title
Oops
2024-02-27 19:51:23 -06:00
Oni
2204a1de8a Merge branch 'fault-softlock' into 'master'
Fix FAULT softlock and spectating and rejoining

Closes #1058

See merge request KartKrew/Kart!1960
2024-02-28 01:10:46 +00:00
Oni
7e184a003e Merge branch 'gl-is-legacy' into 'master'
Warn about OpenGL's shortcomings

See merge request KartKrew/Kart!1961
2024-02-28 01:10:35 +00:00
Oni
abc2892b15 Merge branch 'tutorial-profile-music' into 'master'
Let Profile menu music play in the Tutorial

Closes #1073

See merge request KartKrew/Kart!1958
2024-02-28 01:09:38 +00:00
Oni
4346096fee Merge branch 'accessibility-overlap' into 'master'
Menus/Accessibility: shorten "Screenshake Strength" to "Screenshake"

Closes #1078

See merge request KartKrew/Kart!1959
2024-02-28 00:59:30 +00:00
James R
90361d703d Console: use CTRL_+ and CTRL_- to change font size 2024-02-27 06:40:06 -08:00
James R
b7652413e5 debugchallenges: conditionset searching/display
New values:

- On / -1 - old behavior
- Tag / -2 - display conditionset number for each tile
- 1+ - highlight tiles that match this conditionset number
2024-02-27 06:40:06 -08:00
James R
2ad3902ff0 Menus/Grand Prix: tooltips for difficulty selection 2024-02-27 06:40:05 -08:00
James R
96543a537a Unlocks: add IsGear condition, restrict IsDifficulty to GP
- IsDifficulty is a GP difficulty requirement
- IsGear is a gear game speed requirement
2024-02-27 06:19:47 -08:00
James R
ed832c5486 Rename Easy, Normal, Hard to Gear 1, 2, 3 in non-GP contexts 2024-02-27 06:18:36 -08:00
James R
e67f7bf59d Unlocks: require parameter for IsDifficulty condition 2024-02-27 06:15:24 -08:00
AJ Martinez
1813ea562e Warn about OpenGL's shortcomings 2024-02-27 02:46:12 -07:00
James R
9ea986a751 G_PlayerReborn: always clear nocontrol
Fault behavior relies on nocontrol. If you were able to
spectate and rejoin after faulting, you would be caught in
a state of nocontrol == UINT16_MAX with no way out.
2024-02-26 22:38:14 -08:00
James R
9288b7f079 Menus/Accessibility: shorten "Screenshake Strength" to "Screenshake"
The longer text doesn't quite fit on screen.
2024-02-26 22:04:19 -08:00
James R
f052228854 Let Profile menu music play in the Tutorial 2024-02-26 21:59:55 -08:00
Eidolon
b48924f539 Fix skincolor spraycan cache
Fixes KartKrew/Kart#1080
2024-02-26 23:18:33 -06:00
Eidolon
9f00befccf Fix -nodata triggering gamedata save 2024-02-26 23:18:33 -06:00
Eidolon
cad558343d Fix challenge grid loading in ubjson data 2024-02-26 23:18:33 -06:00