Commit graph

27392 commits

Author SHA1 Message Date
AJ Martinez
bd2573cfa9 Merge branch 'my-son-is-still-useless' into 'master'
Stat rebalance nightmare vortex

See merge request KartKrew/Kart!2053
2024-03-10 07:20:04 +00:00
AJ Martinez
8763ecb1d8 TA rebalance: Mecha too 2024-03-09 22:45:14 -07:00
AJ Martinez
c8083b88a0 TA rebalance: reduce crack 2024-03-09 22:41:49 -07:00
James R
02699d72a7 Finish Beam: play sound when nearby
- Loudest 320 FU away from the beam
- Quietest 1280 FU away
2024-03-09 20:42:00 -08:00
Gunla
c00acff8f7 Merge branch 'fix-underwater-strafing' into 'master'
Fix underwater strafing activating below minimum speed and pushing you backward

Closes #1001

See merge request KartKrew/Kart!2048
2024-03-10 03:58:48 +00:00
Oni
bcd0cf8138 Merge branch 'fix-jawz-reticle' into 'master'
Fix multiple Jawz reticles spawning on top of each other while player is in hitlag

Closes #1036

See merge request KartKrew/Kart!2062
2024-03-10 03:42:34 +00:00
James R.
92b1e2c7e9 Merge branch 'player-fault-sound' into 'master'
Play sound on player FAULT

See merge request KartKrew/Kart!2068
2024-03-10 02:35:00 +00:00
James R
cee4c6106b Lap cheat prevention: always reset lap to safelap when timer is reset
- This was done implicitly by respawn
- However, it is sometimes possible to:
  - Cross the finish line forward
    - Gain a lap
    - Lap cheat prevention activates afterward
  - Drive backward over the finish line again
    - Must still have the lap cheat prevention timer
      running
    - Do not lose a lap
    - Timer resets once you're behind the line
  - Now:
    - You are behind the finish line
    - Lap cheat prevention is not active
    - You still have the lap gained from crossing the
      finish line the first time
- To fix this:
  - Reset your current lap to your lap safe when the timer
    resets
  - Safelap does not change while lap cheat prevention is
    active
  - Basically I am fixing an oversight in the lap cheat
    prevention system, because the timer, safelap and your
    current waypoints are all tied together already
    - It's just the current lap that was not being tied
      together with the rest of it
2024-03-09 17:03:48 -08:00
James R
7d23dd49af Let base game textures be 4096x4096 max, print developer warning in DEVELOP
- In the future we should make sure no textures exceed
  2048x2048, but this fine for release
- The warning will not show up in release builds
2024-03-09 16:14:54 -08:00
James R
6d7dd8adac Disallow textures >2048 in size, print a console warning 2024-03-09 16:14:13 -08:00
James R
2ee595419c Let texture loading skip some textures
- Set numtextures correctly if textures are skipped (no
  textures are skipped in this commit)
2024-03-09 15:35:08 -08:00
Eidolon
304675b3bf Add placeholder disclaimer screen 2024-03-09 16:35:37 -06:00
James R
161125fc83 mainwads is inclusive 2024-03-09 13:56:03 -08:00
SteelT
9e434dbc3c Play sound s3kb2 on player FAULT 2024-03-09 15:56:51 -05:00
Eidolon
875d32800f Disallow patches >2048 in size
Our technical hardware support baseline is GLES2, which has a minimum
supported texture size of 2048x2048. This means we cannot allow anything
larger without introducing compatibility issues between GL players and
software players. Even if Software is able to handle larger images,
GL hardware may not, even on the same device. This additionally prevents
an issue with Twodee where the patch atlas can't handle images larger
than 2048x2048 due to the page size.
2024-03-09 14:39:35 -06:00
toaster
4bc21875c6 If g_pointlimit is 0, don't stringdance points on the HUD
Fixes Versus HUD
2024-03-09 20:33:24 +00:00
toaster
a96e39b22f G_UpdateVisited, G_DoCompleted: Clean up tutorialchallenge behaviour
- Permit saving "this map has been beaten" for the Tutorial Challenge map if you conquered it
    - This was previously short circuited because it wasn't a dedicated course
- Only trigger an extra UpdateUnlockablesAndExtraEmblems check if you haven't yet completed it
2024-03-09 20:33:24 +00:00
toaster
4fd95a3060 M_DrawChallengePreview: Fix being able to see SECRET_MAP stages that don't have necessary mapvisited
Applies to our Round Stars AND Tutorial Challenge
2024-03-09 20:33:24 +00:00
toaster
55cbf07a28 Patch over MapWarp not meshing with Time Attack
Prints a message saying your time wasn't recorded and you should try a different mode
2024-03-09 20:33:24 +00:00
toaster
fc3a0683ba Got_Mapcmd: Don't promote GTR_BOSS|GTR_SPECIAL to GPEVENT_SPECIAL unless the roundqueue size is 0
The original purpose was to make using the map command allow for multiple tries, ala standard console testing, but the condition was way too permissive and was promoting all esoteric map overrides to undue importance for the end of the Cup's evaluation.
2024-03-09 20:33:24 +00:00
toaster
4aa13105c4 Fix problems exposed by a Round Star potentially being the first entry in a Cup
- Don't assume that the first Round in a Cup defines the default gametype for it
    - Now consistently uses GT_RACE
    - It was written this way to try and permit non-Race cups in future...
    - But there are much more solid ways to approach this down the line, instead of overloading this pre-existing data.
- cup-select.c: Don't assume `roundqueue.position == 1` means starting a fresh Cup from scratch
- G_HandleSaveLevel: Allow saving GP backups for overridden Courses at the front of the roundqueue
2024-03-09 20:33:24 +00:00
toaster
161b46f3aa Store gametype string in gpringsav.bkp for overridden Rounds, too 2024-03-09 20:33:24 +00:00
toaster
e5964f862a Rejigger Grand Prix rank-related oversight exacerbated by MapWarp
If a stage is taken out of the running for Grand Prix mode and replaced with another, the rank data wasn't corrected. We were merely getting lucky that the one Round Star regularly accessible had the same number of laps as the course it replaced.
Now, Laps, Rings, and Prisons can be adjusted up or down depending on the number of each element you're expected to have with a perfect GP tally.

Related: To make it more friendly to call in multiple places, RankCapsules_CountFromMap has now been adjusted to take a course ID instead of a virtres_t.
2024-03-09 20:33:24 +00:00
toaster
c1fadac0a5 Permit gametype to be changed by MapWarp
- Simplest possible solution for the time remaining: If the current gametype doesn't overlap with the nextmapoverride's TOL, do G_GuessGametypeByTOL.
    - Future work: Allow an optional extra parameter to MapWarp to specify a specific Gametype by name.
- Fixes for tutorialchallenge
    - NEXTMAP_TUTORIALCHALLENGE is integrated into the above, to reduce duplicate code
    - Call D_GametypeChanged, which was previously missing
2024-03-09 20:33:24 +00:00
toaster
6f0710818f Add VSENT jingle to successful Versus conclusion 2024-03-09 20:33:24 +00:00
toaster
8180033ae1 Since Versus intros have special behaviour in time attack, also allow them to avoid the white fade/warp sound of MapWarp 2024-03-09 20:33:24 +00:00
toaster
4a36d5f947 MT_SPIKEDTARGET: Don't encoremap 2024-03-09 20:33:24 +00:00
toaster
748ef17cf7 Merge branch 'fix-challenge-grid-load-again' into 'master'
Use correct type for unlock IDs in loading

Closes #1134

See merge request KartKrew/Kart!2065
2024-03-09 20:32:31 +00:00
Oni
abe8963295 Merge branch 'limit-tumble-height' into 'master'
Limit added tumble height

Closes #1130

See merge request KartKrew/Kart!2060
2024-03-09 19:56:09 +00:00
Eidolon
161d4480e6 Force rhi to only load shaders from shaders.pk3
Loading custom shaders is dangerous and error-prone and I don't want to
implicitly allow this to occur without having good barriers in place.
2024-03-09 13:51:49 -06:00
Eidolon
49f644d5e9 Use correct type for unlock IDs in loading 2024-03-09 12:41:03 -06:00
James R
556035687c Versus: always reset music, even in Time Attack 2024-03-09 06:35:53 -08:00
James R
9e99efc08c Refactor level music playing code
- Use one function so we don't duplicate the checks for
  music that isn't supposed to be interrupted by a restart
2024-03-09 06:32:37 -08:00
AJ Martinez
9538979e2b Merge remote-tracking branch 'origin/master' into my-son-is-still-useless 2024-03-09 06:46:22 -07:00
AJ Martinez
07fa2296b1 Tripwire speed threshold 200 -> 220% 2024-03-09 06:44:17 -07:00
James R
717dcf0209 restartlevel: preserve last map's gametype
- gametype can be changed without changing gamemap,
  through the pause menu option
2024-03-09 05:20:49 -08:00
James R
d2d57a774b Fix multiple Jawz reticles spawning on top of each other while player is in hitlag 2024-03-09 04:56:33 -08:00
AJ Martinez
8c46258ba9 Promote driftboost vars to UINT16 2024-03-09 04:30:05 -08:00
James R
b12dba0393 Underwater: SF_MACHINE characters play a different sound effect when resurfacing 2024-03-09 01:10:14 -08:00
James R
2b121bf3d0 Underwater: tweak bubble VFX
- Spawn around the player, not just on a single point
- 1.5x scaled
- Opaque, not translucent
- Carries player momentum
2024-03-09 01:10:14 -08:00
James R
33a31f9979 Underwater: do not spawn bubbles around player using Bubble Shield 2024-03-09 01:10:13 -08:00
James R
44ff1d26cc Underwater: player must be submerged for 15 seconds to play a "gasp" when they resurface 2024-03-09 01:10:13 -08:00
James R
fc86b5b1db Let water sound effects be heard from slightly further away (louder) 2024-03-09 01:08:01 -08:00
AJ Martinez
81b8e7c9f1 Allow final failsafe in RESPAWNST_DROP (take 2) 2024-03-09 01:39:52 -07:00
Oni
1b3c63f24a Merge branch 'adventure-air-booster-hardcode' into 'master'
Hardcode Adventure Air Booster & Dimension Disaster objects

Closes #1116

See merge request KartKrew/Kart!2038
2024-03-09 08:28:51 +00:00
Lach
8d7cc11346 Typo correction: Lightning -> Lighting 2024-03-09 19:25:43 +11:00
AJ Martinez
e41b6fcd2f Limit added tumble height 2024-03-09 00:15:07 -07:00
Lach
dd52fb7620 Disable directional lighting on Ark Arrow models 2024-03-09 17:37:54 +11:00
AJ Martinez
becf2a4226 Merge remote-tracking branch 'origin/master' into my-son-is-still-useless 2024-03-08 23:06:02 -07:00
AJ Martinez
f9b88432eb Merge branch 'no-postrace-sting-sound' into 'master'
Don't play local Ring Sting sound postrace

See merge request KartKrew/Kart!2056
2024-03-09 06:03:51 +00:00