Commit graph

91 commits

Author SHA1 Message Date
toaster
7f0df71558 R_SkinAvailableEX
- Most R_SkinAvailable calls should be returning index into demo.skinlist (same numerical value as when demo was recorded), for demo sync
- A handful of general things permit exception for this
- Expose `replaynumskins` (calculated as `(demo.playback ? demo.numskins : numskins)`) to Lua
    - There's *always* more that can be done for this, but this is the minimum spec that can at least be somewhat stable
2024-03-05 13:21:38 -08:00
toaster
24b850a492 LoadRecordGhosts: Use local unlock state, not consoleplayer availabilities (which might not be set yet) to determine whether a ghost should be visible 2024-03-05 13:21:38 -08:00
James R
9f982a574e Add LapsPerSection property to map headers, fixes finish line distance in hybrid section-circuit maps
- It is possible to have a circuit map separated into
  sections, where there are multiple "laps" before making
  a full loop
- Normally the lap count is used to multiply the finish
  line distance, but it fails for these maps
- The LapsPerSection property fixes the calculation by
  specifying how many laps make up a full loop
  - Default = 1 lap (most maps)
2024-03-03 03:06:52 -08:00
Oni
19555bcdc9 Merge branch 'fix-waypoint-errors-titlemap' into 'master'
Don't initialize waypoints in GS_TITLESCREEN

See merge request KartKrew/Kart!1983
2024-03-03 01:57:36 +00:00
Eidolon
915d997b79 Don't initialize waypoints in GS_TITLESCREEN
Fixes error logs when titlemap loads
2024-03-01 18:43:00 -06:00
Eidolon
20cb01fb94 (demo v9) Demo save unlocks and mapmusrng
Fixes KartKrew/Kart#1093
2024-03-01 17:27:41 -06:00
toaster
d1ebd9a2d1 Make Special Mode time attack match Normal GP behaviour, as requested for practice 2024-02-26 20:25:08 +00:00
Oni
74bfac57e4 Merge branch 'time-attack-annoyances' into 'master'
Time attack annoyances

Closes #1062 and #1064

See merge request KartKrew/Kart!1947
2024-02-25 07:23:49 +00:00
Eidolon
f4f7c5b1eb Add fault start mapthing 36 and prefer it for TA
Fixes KartKrew/Kart#1063
2024-02-24 19:15:00 -06:00
Eidolon
217f19158f Play and don't reset nonsynced level music in TA
Fixes KartKrew/Kart#1064
2024-02-24 18:07:57 -06:00
Eidolon
3c63b84299 Skip titlecard for modeattacking except VERSUS
Fixes KartKrew/Kart#1062
2024-02-24 17:38:28 -06:00
toaster
b70e59755f Tie SPB Attack and Encore together
- A method to access Encore in Time Attack
    - so we have SOME Encore singleplayer content on launch
- Also available for Versus mode (in Special Attack)
    - Finally, Encore rematches have a way to access them!
    - Obviously will not spawn a chasing SPB, it's just a signal for "hard mode"
- Relevant gametype + unlock checks have been abstracted into M_EncoreAttackTogglePermitted
2024-02-17 23:11:58 +00:00
toaster
3f78c9d2e6 Merge branch 'master' of https://git.do.srb2.org/KartKrew/Kart into separate-spb-attack-records
# Conflicts:
#	src/menus/play-local-race-time-attack.c
#	src/p_setup.cpp
2024-02-11 23:27:33 +00:00
James R
d7e0a4d01a Add S_LoadSongCredit/S_UnloadSongCredit, refactor cursongcredit
- cursongcredit behaves the same as before
- Always compose song credit string
- g_realsongcredit always stores the song credit for the
  current music, even if no song credit is displayed on
  the HUD
2024-02-09 18:13:35 -08:00
James R.
6b831a0fa2 Merge branch 'fix-show-character-ghosts' into 'master'
Time Attacking: fix "Show Character" option for ghosts

Closes #1013

See merge request KartKrew/Kart!1896
2024-02-09 23:47:50 +00:00
James R
56e710266c M_TokenizerOpen: pass size in as argument instead of calling strlen implicitly
This function is used for parsing TEXTMAP and the data is
not NUL-terminated.
2024-02-08 18:16:41 -08:00
Eidolon
0e1f688139 Merge branch 'allow-battle-capsule-in-tutorial' into 'master'
Allow MT_BATTLECAPSULE to spawn in tutorials

Closes #949

See merge request KartKrew/Kart!1890
2024-02-06 01:45:18 +00:00
Eidolon
5d33c19974 Merge branch 'mandatory-udmf' into 'master'
Make UDMF mandatory for play

See merge request KartKrew/Kart!1889
2024-02-06 01:00:27 +00:00
Oni
4ea946067a Merge branch 'srb2-tidy' into 'master'
Clear out unused SRB2/Kart stuff from info tables

See merge request KartKrew/Kart!1811
2024-02-03 19:40:52 +00:00
James R
b0538a5271 Time Attacking: fix "Show Character" option for ghosts
- player_t.skin is not set yet, so use cv_skin and
  R_SkinAvailable instead
- Refactor P_LoadRecordGhosts to de-duplicate some code
2024-01-30 19:18:51 -08:00
Eidolon
007fbc52da Make UDMF mandatory for play
As per many previous conversations, we need to enforce the UDMF
requirement now if we want to introduce a new hardware renderer in the
future. Requiring UDMF ensures that maps are always built with extended
nodes, which both solves vertex imprecision issues and ensures all
subsectors are closed, making writing a hardware renderer significantly
easier and less prone to subsector bugs.
2024-01-29 19:38:26 -06:00
Eidolon
f975df6d6d Allow MT_BATTLECAPSULE to spawn in tutorials
Fixes KartKrew/Kart#949
2024-01-29 18:48:49 -06:00
Sal
3958c15dfe New Credits 2024-01-28 23:31:30 +00:00
James R
378fb8ed07 Save SPB Attack replays with "spb-" in the file name
- Files
  - spb-time-best
  - spb-time-lap
  - spb-last
- Menu
  - Toggling SPB Attack refreshes the menu (to show/hide
    certain replay options)
2024-01-27 04:30:38 -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
James R
7d6239e06c Add round end camera system
- Spins and zooms around a center point
- Freezes the level while spinning
- Pans over to follow and object after spinning ends
- Timing and speed completely customizable
2024-01-22 16:42:29 -08:00
Oni
973d5ba658 Merge branch 'objective-hud' into 'master'
Add persistent objective messages via K_AddMessage, expose to ACS

See merge request KartKrew/Kart!1843
2024-01-20 00:19:17 +00:00
AJ Martinez
c5bafc7b4c Clear HUD messages on level transition 2024-01-18 14:55:10 -07:00
Sal
9382031337 OpenGL sprite+model directional light 2024-01-17 12:05:12 -08:00
Oni
a86f8a1508 Merge branch 'sealed-star-exit-fade' into 'master'
Sealed Star: fade out music near the finish line

Closes #622

See merge request KartKrew/Kart!1842
2024-01-17 04:56:51 +00:00
Oni
379cb55e86 Merge branch 'automedal-timing-adjustment' into 'master'
Round times, add best * 110% as another gold time

See merge request KartKrew/Kart!1797
2024-01-17 01:36:30 +00:00
James R
1a0b927cf2 Add Music_LevelVolume, Music_ResetLevelVolume: change music volume from gameplay contexts
- Tunes opt into using this volume by setting
  Tune::use_level_volume to true
2024-01-15 16:29:01 -08:00
James R
db4e2e692b Add LobbySize option to level headers, controls whether the map appears in vote, based on player count
- Prevents a map from appearing on the vote screen if
  there are too many players
- LobbySize
  - Duel - 2 players max
  - Small - 5 players max
  - Medium - 10 players max
  - Large - 16 players max (default if not set)
- Future proofing
  - Doesn't count bot players in gametypes that don't
    support bots
2024-01-13 22:56:17 -08: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
Eidolon
c60b3557ab Round times, add best * 110% as another gold time 2024-01-07 21:01:25 -06:00
Oni
10f8bb5a3f Merge branch 'battle-release' into 'master'
Battle is (almost) ready for release

Closes #681

See merge request KartKrew/Kart!1788
2024-01-06 06:08:28 +00:00
Eidolon
79c7fe848e Fix sector specialflags typo in p_setup.cpp 2024-01-05 18:42:57 -06:00
James R
b7c9c92749 Music_Seek: argument in milliseconds instead of tics 2024-01-05 15:56:23 -08:00
Eidolon
7521e42e62 Add automedal time configs and calculation 2024-01-03 12:24:33 -06:00
Eidolon
746da46321 Read staff ghosts from pk3 directory 2024-01-02 21:05:43 -06:00
Eidolon
3d36f99609 Convert p_setup.c -> p_setup.cpp 2024-01-02 21:00:41 -06:00
Renamed from src/p_setup.c (Browse further)