Commit graph

1265 commits

Author SHA1 Message Date
Antonio Martinez
57c4fccd03 gameplay prototyping lightning round 2024-08-27 19:42:56 -07:00
Sally Coolatta
87a223d5e2 New ice slope physics
Make them stronger by the same factor as acceleration is weakened. This feels a lot more natural, since your top speed tends to be higher on ice, which was making them feel strangely easier to climb ... even though driving on ice is hard mode (even in real life)

Also fixes an oversight where P_SpawnFriction was using the outdated movefactor constants from SRB2 instead of the ones from SRB2Kart that the rest of the codebase was using, by unifying it into one function.
2024-08-24 22:19:08 -04:00
Ashnal
ee74b747ac Exp hud math for target 500 at 1.0 exp 2024-08-24 23:27:20 +00:00
Ashnal
9cfa67dae6 WIP Exp math
temp changes to distribution debugger
2024-08-19 00:10:45 -04:00
Ashnal
6f455bc1fb Remove amps from finish line cross 2024-08-18 21:05:01 -04:00
Ashnal
b4827de43d WIP basic exp
modifies item odds based on checkpoint and finishlin grading
2024-08-18 20:54:16 -04:00
Antonio Martinez
89544772b3 Amps for checkpoints (and small amp fixes) 2024-08-13 17:54:31 -07:00
Ashnal
df4e99b050 WIP Race Checkpoints
MobjList count

WIP: Checkpoints grant lap bonus

help?

can't allocate vector

 fixed tagged line iteration and collision detection

Multiplayer animations and map retart fixes

Clear between maps
2024-08-13 20:20:21 -04:00
Antonio Martinez
2b61497536 WIP - Overdrive polish 2024-07-22 20:35:28 -07:00
Sally Coolatta
f1f7edbe9a Show last lap time on HUD
Inspired by RoyKirbs' Joypolis journey
2024-04-11 03:05:11 -04:00
Lach
f274d24560 Fix Poh-Bee behaviour for flipped waypoints 2024-04-09 23:34:18 +10:00
James R
4ce2dbf1bc Battle: half screen shake radius, strength and max strength 2024-04-02 17:28:30 -07:00
toaster
7f6de407f1 Copyright update: Add Kart Krew (2024) in general for high-traffic inherited sourcefiles 2024-04-02 17:42:38 +01:00
toaster
c3112ea0c8 K_PlayerIsEmptyHandedInSpecial
Replaces the simple condition in K_HandleLapIncrement for successful player exit
Essentially means you can get EMPTY HANDED? for crossing the finish line before the player with the emerald does
2024-03-30 16:15:35 +00:00
AJ Martinez
494843d78f Rerandomize Heavy Magician when recovering in GTR_BUMPERS 2024-03-27 22:02:57 -07:00
Sally Coolatta
4259c4287e Cap screen shake amount to 75% of camera height 2024-03-24 18:07:06 -04:00
Sally Coolatta
9b93f56111 Add pre-Podium intermission music 2024-03-10 14:08:59 -04:00
SteelT
9e434dbc3c Play sound s3kb2 on player FAULT 2024-03-09 15:56:51 -05:00
Oni
169df9ee59 Merge branch 'new-record-jingle' into 'master'
Faster TA tally, new TA music

See merge request KartKrew/Kart!2029
2024-03-07 05:30:45 +00:00
AJ Martinez
279d802959 Faster TA tally, new TA music 2024-03-06 20:19:51 -07:00
James R
46291135a0 Disable lap cheat prevention when starting lap 1 (first lap from POSITION room) 2024-03-06 18:19:35 -08:00
James R
1ba91ef853 Respawn: only ignore finish lines when traveling back to first waypoint
This fixes lightsnaking through a finish line on sprint
maps not giving you a lap.

- On circuit maps, lightsnake stops at the finish line
  waypoint (there's only one finish line)
- On sprint maps, there are multiple finish lines but you
  can't have multiple finish line waypoints, therefore
  lightsnake goes right through
- So we have to make sure the player can cross a finish
  line while in lightsnake to account for this
- Because lightsnake sends you back to the respawn
  waypoint in a straight line, it may inadvertently cross
  a finish line and remove a lap
- So here's the change: the player should no-clip through
  the finish line ONLY while traveling back to the first
  waypoint
  - Because after that, lightsnake follows the map's
    waypoints and is intentionally crossing sprint maps'
    finish lines
2024-03-05 04:52:12 -08: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
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
1919471ae4 Update waypoints on same tic as crossing finish line
Fix 1 tic delay between crossing finish line and next
waypoint updating. May influence respawn behavior.
2024-02-23 22:44:36 -08:00
Eidolon
92339d36a9 Merge branch 'fix-ghost-fast-forward' into 'master'
Time Attack ghosts: sync with level timer instead of when the player crosses the finish line

Closes #829

See merge request KartKrew/Kart!1895
2024-02-06 01:12:35 +00:00
Eidolon
e993117f23 Merge branch 'fix-one-time-each-time-floor-activators' into 'master'
Activate sector each time / once actions every time mobj lands on the ground

Closes #990

See merge request KartKrew/Kart!1904
2024-02-06 01:01:44 +00:00
James R
c0fff1a0c4 Activate sector each time / once actions when mobj touches the ground
Before

- Each time / once only activates when the mobj's sector
  changes
- The activation may depend on the mobj touching the floor
- If the mobj is in the air when the sector changes, the
  action will never be activated

After

- Each time / once actions that require floor touching
  also activate every time the mobj lands on the ground
  from the air (regardless of whether the sector changed)
2024-02-01 18:57:06 -08:00
James R
6123ac3c39 Time Attack ghosts: sync with level timer instead of when the player crosses the finish line 2024-01-30 17:27:34 -08:00
toaster
6fdec66dc3 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into srb2-tidy 2024-01-26 00:29:06 +00:00
AJ Martinez
1a44474cda Activate FAULT HUD when VOID 2024-01-19 19:34:27 -07:00
AJ Martinez
9cbeca9595 Fix fault exit conditions triggering before hitlag ended 2024-01-19 16:40:22 -07:00
Eidolon
bdc0795704 Fix several Clang compile warnings 2024-01-16 06:11:43 -05:00
toaster
325079a39a Delete everything major flagged up by listunusedsprites
Notable deletions:
- Metal Sonic Race
    - Includes all the specialised recording/playback apparatus which made g_demo.c harder to read
- A bunch of hyperspecialised code inside several A_ actions
- EXCEPTION: intentfully left in the spriteless SMK stuff for Sal's add-on down the line.
2024-01-11 01:21:43 +00:00
AJ Martinez
cb11627bb5 Half screenshake in Battle 2024-01-06 00:50:47 -07:00
AJ Martinez
cd638fd5e2 Move screenshake adjustments to "screenshake" cvar 2023-12-30 16:22:04 -07:00
toaster
920201621f Count PF_VOID as FAULTing during POSITION for the purpose of Challenges 2023-12-26 16:56:55 +00:00
James R
0c991e8434 Fix Z calculation for FOF activators
Boundsec needs to be the target sector, not the control
sector.
2023-12-23 12:15:28 -08:00
James R
69541b9422 Hardcode bustable rocks -- Angel Island + Endless Mine 2023-12-08 17:42:17 -08:00
toaster
eb50c05a6d Lap animation polish
- Only play when your latestlap increases, since the thumbs up/down is what affects your Grade
- If knocked back over the line, stay on your latest lap value instead of going back down
2023-11-19 23:21:00 +00:00
toaster
46f7b3a519 Ring Award/Drain special: For negative rings, nonzero args[2] makes the minimum value -20 instead of 0
Requested in VC for Drifting Tutorial
2023-11-18 23:11:28 +00:00
AJ Martinez
a2438a14c2 Fix standard race times being modified on line cross 2023-11-02 07:06:28 -07:00
AJ Martinez
506ab31f7f Mania-style time trials 2023-11-02 06:51:51 -07:00
Sally Coolatta
de9780ab3f Bot controller is stored on the sector now
- Moved destination tag off of linedef tag and into args.
- Bot controller values can be changed mid-level with ACS. (Linedefs using type 2004 will still be activated on level load.)
- Add flag to make bots fastfall
2023-10-21 03:36:26 -04:00
AJ Martinez
6f65d55009 Correct to safelap instantly to prevent finish distance spike 2023-10-18 22:40:24 -07:00
Oni
c72a2cf94a Merge branch 'rideroid-hardcode' into 'master'
Lat Hardcode

See merge request KartKrew/Kart!1515
2023-10-08 21:22:18 +00:00
James R
adb3eb7463 ACS_Execute, ACS_ExecuteAlways: handle map stringargs 2023-10-07 20:40:39 -07:00
Lat
baa668895a Move transfer line dismount hack to linedef type 2005 2023-10-07 12:22:53 +02:00
James R.
7b3010c93d Fix many instances of splitscreen view number if there are duplicate displayplayers
- Avoid iterating displayplayers to find view number and
  prefer R_GetViewNumber.
- Iterate over all matching displayplayers if necessary,
  instead of stopping at the first match.
2023-10-03 21:28:33 -07:00