Commit graph

26391 commits

Author SHA1 Message Date
AJ Martinez
b81fdef870 Fix some low-hanging comments 2024-03-02 00:24:34 -07:00
AJ Martinez
36c2f19bc4 Top-end difficulty 1.0->1.05 2024-03-02 00:21:02 -07:00
AJ Martinez
1ccd24c280 Stronger bot rubberbanding, weaker high-end bots 2024-03-01 22:07:33 -07:00
James R
1e44088373 Bring back OpenGL "USE AT ROBOTNIK'S RISK" warning screen 2024-03-01 18:38:16 -08:00
James R
13af88b318 player_t.powerupVFXTimer tic_t -> UINT8 2024-03-01 18:03:54 -08:00
SteelT
cb21a9c8cd Flicker player and add hitlag when collecting a powerup 2024-03-01 18:03:52 -08:00
AJ Martinez
0d417a5055 Use guard break sound for Special UFO destruction 2024-03-01 18:36:19 -07:00
AJ Martinez
36c6af6eae Reduce time gain on stacked invincibility 2024-03-01 18:27:33 -07:00
AJ Martinez
0114c82fe8 Grant short tripwire leniency when passing tripwire 2024-03-01 18:14:44 -07:00
SteelT
126c43b250 Rename BATTLE_POWERUP_ANIM_TIME to BATTLE_POWERUP_VFX_TIME 2024-03-01 20:03:57 -05:00
VelocitOni
255c9222b0 More priority sounds
Raised priority from 64 -> 255, even if I manually raised them in sounds.pk3, we may as well keep this change.
2024-03-01 20:03:57 -05:00
SteelT
5181c7a6c2 Associate sounds with powerups and set g_darkness 2024-03-01 20:03:57 -05:00
SteelT
f3a715eae1 Battle powerup feedback sound definitions 2024-03-01 20:03:57 -05:00
James R
e00b676dd8 Replays: fix camera reset when promoting splits
- Off-by-one error
2024-03-01 16:56:44 -08:00
Eidolon
915d997b79 Don't initialize waypoints in GS_TITLESCREEN
Fixes error logs when titlemap loads
2024-03-01 18:43:00 -06:00
AJ Martinez
af06d575fd Set wavedash power everywhere wavedashboost is directly awarded, increase threshold 2024-03-01 17:18:42 -07:00
Oni
2641ba2380 Merge branch 'tether-refinements' into 'master'
Bot tether refinements

See merge request KartKrew/Kart!1975
2024-03-01 23:51:49 +00:00
AJ Martinez
19c62d37b9 Scale wavedash boost power to initial charge, not to remaining boost 2024-03-01 16:41:35 -07:00
Eidolon
ad538b3bb9 Fix returning to menu after TA replay 2024-03-01 17:38:22 -06:00
Eidolon
20cb01fb94 (demo v9) Demo save unlocks and mapmusrng
Fixes KartKrew/Kart#1093
2024-03-01 17:27:41 -06:00
AJ Martinez
dcf9d37c8e Grant a (weak) boost even for low-charge wavedash attempts 2024-03-01 16:18:07 -07:00
AJ Martinez
385fc27303 Special UFO: Don't wait for hitstop to play new damage hum 2024-03-01 15:53:57 -07:00
AJ Martinez
a87e557e4e Immediately update UFO health hum 2024-03-01 15:51:18 -07:00
James R
a9e181cde5 Prevent CV_NOSHOWHELP cvars from being accessed or modified through the console at all 2024-03-01 07:34:20 -08:00
James R
b3ff71ad0f Fix cv_mentalsonic too 2024-03-01 07:31:44 -08:00
James R
fff200d174 Save 4thgear cheat in replays
For a cvar cheat to save in replays do this:

- Make sure it's a netvar
  - Only netvars are saved in replays
  - Use OnlineCheat
- Make sure it's not CV_HIDDEN
  - CV_HIDDEN cvars are not added to the linked list, so
    replays cannot find them
  - Use CV_NOSHOWHELP instead, to prevent people from
    modifying it in console
- Use CV_Set or CV_SetValue to change a cvar's value
  - Setting cvar_t.value directly will not change its
    string value
  - The string value is used to determine how it should be
    saved in replays
2024-03-01 07:28:19 -08:00
James R
adebfb000c Replays: keep party in sync with current viewpoints
- More and more parts of the game rely on parties
- Parties are assumed to match the displayplayers
- This fixes A/B/C/D nametags
2024-03-01 06:09:07 -08:00
James R
3179183df7 Replays: do not initialize displayplayers to INT32_MAX
- Only demo playback does this and it's a mystery why
2024-03-01 06:04:20 -08:00
James R
1eb5dabbd0 Improve displayplayers command
- Tabulate data
- Show party members
2024-03-01 06:03:21 -08:00
James R
567a7cf4f1 Add G_LocalSplitscreenPartyMember 2024-03-01 06:03:21 -08:00
AJ Martinez
b5e4311704 Merge remote-tracking branch 'origin/master' into tether-refinements 2024-03-01 00:42:38 -07:00
AJ Martinez
80990c82b0 Remove debug bot tether block indicator 2024-02-29 21:56:19 -07:00
AJ Martinez
840c8d497e Bot behavior for charged instawhip 2024-02-29 21:46:29 -07:00
James R
6642449908 Improve finish line distance big jump prevention
- Freeze finish line distance (instead of recalculating it
  from old nextwaypoint)
- Reset auto respawn timer right before it runs out
  (instead of AS SOON as finish line distance returns to
  normal)
- Do not ever update respawn waypoint while auto respawn
  timer is ticking
- Do not interact with finish line while auto respawn
  timer is ticking
2024-02-29 18:29:49 -08:00
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