Commit graph

1251 commits

Author SHA1 Message Date
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
toaster
25b4eb4f13 Merge branch 'linedef-80-respawn' into 'master'
Respawn things at Z position offset by linedef 80

Closes #542

See merge request KartKrew/Kart!1528
2023-09-26 22:07:46 +00:00
toaster
36f7c57ca5 Merge branch 'fix-shakes' into 'master'
Some quake improvements

See merge request KartKrew/Kart!1523
2023-09-26 20:36:04 +00:00
toaster
15a87a8a77 P_DoQuakeOffset: Prevent two calls to FixedDiv 2023-09-26 21:34:08 +01:00
James R.
c743af4d77 P_SpawnMapThing, P_RaiseTaggedThingsToFakeFloor: save raised Z position for respawning later
P_RespawnSpecials just calls P_SpawnMapThing again, so
this works.
2023-09-24 15:36:46 -07:00
Sally Coolatta
ca0b5902ba Fix use of easing functions, add distance buffer 2023-09-23 07:57:54 -04:00
Sally Coolatta
e6a19362fc Center mobj quake on the z axis 2023-09-23 07:57:54 -04:00
Sally Coolatta
2230c855ae Some quake improvements
- Use easing functions for quake intensity
- Camera distance takes Z height into account
2023-09-23 07:57:54 -04:00
James R.
472f7d060c Kill HW3SOUND related code (in files that are actually used) 2023-09-22 02:00:42 -07:00
toaster
35a06ed175 P_SetupSignObject: Set old_z to fix interp on spawning 2023-09-19 22:40:12 +01:00
toaster
036577402d Change Scroller Direction (linedef 435): Do not crash on Tag_Find for sidedef scrollers 2023-09-18 10:22:44 +01:00
AJ Martinez
882deda563 Do pusher drawangle changes in demos 2023-09-14 16:03:41 -07:00
AJ Martinez
54dc82452c Wind/current uses drawangle 2023-09-14 15:52:42 -07:00
Sal
0675a4e527 Tally screen 2023-09-09 05:27:55 +00:00
toaster
1d3a7c717e Merge branch 'let-release-build' into 'master'
Various fixes to let release builds compile

See merge request KartKrew/Kart!1448
2023-09-01 20:45:54 +00:00