Commit graph

22224 commits

Author SHA1 Message Date
toaster
fe8db18066 Store non-looping information in musicdef
Preface with a `\` (ie `Lump VOTEEA,\VOTEEB`) to indicate the preference is not to loop.
This is for special jingles that have definitive conclusions.
2023-03-30 23:28:51 +01:00
toaster
2c0645cba2 Improve Stereo text header drawing
- Use LSTitleHighString at the top of the menu for the music's title/Sound Test
- Only show Track for relevant entries
- Show cv_soundtest.value in hex for that Classic Sonic soundtest flavour
2023-03-30 18:36:09 +01:00
toaster
99f4641700 Improve level select icon handling
- Make it full base resolution...
- ...but use ClipRect to make it fit inside the window of the Stereo
2023-03-30 18:31:18 +01:00
toaster
5a802219ce M_SoundTestNextPrev: Set cv_soundtest to 0 when returning to the soundtest entry 2023-03-30 01:11:22 +01:00
toaster
e5c3b566bf Stereo Volume
Access to soundvolume and musicvolume through the Stereo Mode menu
- Draws a knob and volume bar (with loudness warning)
- Changes which cvar is associated with it depending on selected song/lack of
    - If on any regular song, use digital music volume
    - If on soundtest, use sound volume
        - unless on entry 0 aka N/A, where no volume is visible at all
2023-03-30 01:01:16 +01:00
toaster
f9975d6a71 stereospecial_e
No more magic numbers for M_DrawSoundTest
2023-03-29 23:28:45 +01:00
toaster
2446e53ff9 Start on Stereo Mode visuals
- Buttons have been implemented.
    - They push down when you press an input.
        - FUTURE WORK: Back doesn't get the opportunity to do so. Delay the exit of this menu?
    - Certain ones have special properties.
        - PLAY locks down when playing and not paused
        - PAUSE locks down when playing and paused
        - TRACK is a wheel/slidery thing
        - BACK should get pressed when you're exiting (see previous FUTURE WORK)
        - FUTURE WORK: The detection of these currently uses magic numbers.
- The Stereo itself is now drawn.
    - FUTURE WORK: The screen's contents are still the testing visuals.
2023-03-29 16:14:38 +01:00
toaster
d19a7d9a57 Add M_MenuConfirmHeld and M_MenuBackHeld, to go with M_MenuExtraHeld. 2023-03-29 16:04:48 +01:00
toaster
53fc4aec0a Adjustments to user handling of Stereo
Per VC discussion:
- Pressing STOP does not NULL your selected song
    - ...unless you press it a second time while already stopped
- Pressing PLAY should de-activate pause if active, not restart the track
- Pressing PAUSE while paused should not de-activate pause
- Removed the Extra functionality from TRACK.
2023-03-29 16:04:13 +01:00
toaster
bc07cfa94b S_SoundTestTogglePause
Instead of a fake S_StopMusic-based Pause, make it use the S_PauseAudio/S_ResumeAudio system.
2023-03-29 13:39:40 +01:00
toaster
b1b6756e6a S_AttemptToRestoreMusic
Per review, combine all spots where s_sound.c attempts to restore music into one gamestate-specific switch case system.
2023-03-29 12:56:28 +01:00
toaster
9a343bd465 mapheader_t: PositionMusic property
A little off-piste, but a trivial addition since I'm changing this part of the code.
- Plays in Position outside of Encore
- Shows up first in the Sound Test sequence for that map
2023-03-28 15:14:09 +01:00
toaster
48eca2d8cf readlevelheader: Correct incorrect associated music debug message 2023-03-28 13:56:55 +01:00
toaster
3e476568ea mapheader_t: AssociatedMusic property
Enables things like the Goin' Down!? segment in Speed Highway to be connected directly to access to that map.
2023-03-28 13:50:05 +01:00
toaster
8e8c2273e9 S_FindMusicDef: Handle NULL/empty string explicitly 2023-03-28 13:47:25 +01:00
toaster
1f82285c39 S_SoundTestDefLocked: Account for Sealed Stars-style LF2_FINISHNEEDED completion lock. 2023-03-28 13:13:22 +01:00
toaster
8bd3786895 S_UpdateSoundTest: Add a "dotracks" parameter
- Integrates the maps with multiple tracks into the Next/Prev sequence, if true.
- For testing, currently active - but I may add features later that would be more fitting.
2023-03-28 13:06:39 +01:00
toaster
4f4976024c S_UpdateSoundTest: Corrections
- Fix inverted skipnull condition for forward sequence traversal
- Remove comment stating we used a naive implementation. The author of this commit used a triple pointer in the last one, this is anything but naive
2023-03-28 12:42:22 +01:00
toaster
90d5cb3752 S_PopulateSoundTestSequence: Sound Test sequence system
- Called on game start and file add
- Creates a seperate linked list sequence for map-related order
    - All tracks without associated map in level order
    - All tracks with maps in a cup in cup order
    - All tracks with maps in Lost and Found
2023-03-28 01:41:53 +01:00
toaster
3d40e83700 S_SoundTestPlay: Exit early into S_SoundTestStop if current entry is NULL 2023-03-28 01:31:39 +01:00
toaster
53b24067ee Accidentially committed extras_tutorial to this branch 2023-03-28 00:43:37 +01:00
toaster
6e48a671ee extras-1.c - convert magic numbers for Extras menu listings to enums
Makes this code much less fragile to changing entries.
2023-03-26 21:54:33 +01:00
toaster
8f592c196f Stereo mode
- Minimum viable implementation
- New horizontal menu
    - FUTURE WORK: visuals are extremely basic
- Accessible from both Extras and in-game Pause if SECRET_SOUNDTEST is unlocked
- Rather than the Shadow-the-Hedgehog style free select of SRB2's Sound Test, it's a Best Of The Hacks And Fan Music Sega CD player.
    - Back
        - Exit menu
    - Stop
       - Stops Stereo music entirely
    - Pause
      - Pauses Stereo music without losing place in sequence
          - FUTURE WORK: This should probably just pause the actual player ala minimised viewport
    - Play
      - Begins Stereo music on non-NULL musicdef entry
    - Track
      - For NULL soundtest entry:
          - Switches between sfx
      - For musicdefs with multiple tracks:
          - Switches between them
    - Prev and Next
        - Changes musicdef entry
            - FUTURE WORK: This is extremely naive and doesn't respect the following
                - Cup order
                - Unlocks
- Overrides all game-requested music changes when in Play or Pause mode
    - This makes it an actual fun in-game feature as a menuification of the `tunes` command, not just a pure novelty.
2023-03-25 23:37:07 +00:00
toaster
afff038e34 s_sound.c: Only call P_RestoreMusic in GS_LEVEL
This function isn't supposed to be called outside of it
2023-03-25 22:43:54 +00:00
toaster
42cc95f6ed menubehaviourflags_t / (menu_t).behaviourflags
- MBF_UD_LR_FLIPPED
    - Genericisation of the control flip for PAUSE_PlaybackMenuDef
- MBF_SOUNDLESS
    - Do not create sound for default menu actions
2023-03-25 22:39:07 +00:00
toaster
a0fa45bcec S_PlaysimMusicDisabled
Simplifies/unifies conditions that except regular music play other sections of the game can modify
2023-03-25 22:16:58 +00:00
toaster
86bf07b118 Merge branch 'battle-test' into 'master'
Add battletest cvar, force Battle mode instead of Prisons in FREE PLAY

See merge request KartKrew/Kart!1090
2023-03-24 20:09:26 +00:00
James R
5cce791c80 Add battletest cvar, force Battle mode instead of Prisons in FREE PLAY 2023-03-23 19:31:23 -07:00
Oni
f0f6c3643e Merge branch 'multi-musicdef' into 'master'
Multi Musicdef

See merge request KartKrew/Kart!1084
2023-03-24 00:10:43 +00:00
Oni
b9bbb6cb8a Merge branch 'conditions-cascading' into 'master'
Conditions Cascading

Closes #366

See merge request KartKrew/Kart!1053
2023-03-23 23:51:30 +00:00
toaster
449d330694 Merge branch 'ballhog-blammo' into 'master'
K_BananaBallhogCollide: Handle use after deletes (resolves #488)

Closes #488

See merge request KartKrew/Kart!1075
2023-03-23 22:29:50 +00:00
toaster
f5cbccf4b3 Merge branch 'emergency-spindash-visual' into 'master'
VFX for overcharged and emergency spindashes

See merge request KartKrew/Kart!1065
2023-03-23 22:29:26 +00:00
toaster
5c1e063483 K_BananaBallhogCollide: wipe T2 if it's not safe to access 2023-03-23 22:13:24 +00:00
toaster
d2c2c87a22 Merge branch 'acs-default-args-fix' into 'master'
Fix ACS default args being undefined instead of 0

See merge request KartKrew/Kart!1078
2023-03-23 21:59:33 +00:00
Eidolon
44b4971232 Merge branch 'rhi-improvements' into 'master'
Various RHI improvements

See merge request KartKrew/Kart!1085
2023-03-23 21:56:26 +00:00
toaster
243c708ab2 Merge branch 'always-map-controls' into 'master'
Call G_MapEventsToControls before M_Responder and G_Responder

Closes #480

See merge request KartKrew/Kart!1082
2023-03-23 21:49:26 +00:00
toaster
62a573090b musicdef_t: Permit multiple tracks (music lumps) associated with the same entry
- Now supports "Lump MENU2,MENU3".
- Automagically appends (A) and (B) instead of having to user-specify them as part of the track name.
2023-03-23 20:08:44 +00:00
Eidolon
ba5ee56b8e Rename RHI update_buffer_contents to update_buffer
Consistency with update_texture
2023-03-23 13:30:17 -05:00
Eidolon
e088577924 Use GLM in RHI for uniforms and color parameters 2023-03-23 13:19:48 -05:00
Eidolon
ddf9de1757 Adjust ImGui frame starts to allow ImGui in passes 2023-03-23 11:31:44 -05:00
Eidolon
88e888ae8d Move legacy FinishUpdate draws to i_video_common 2023-03-23 11:26:25 -05:00
Eidolon
ecf785f405 Add glm CPM dependency 2023-03-23 11:20:26 -05:00
Chromatian Keiske
205de5503f Merge branch 'momentum-angle-consistency' into 'master'
Raise threshold for K_MomentumAngle to fall back on facing angle

Closes #483

See merge request KartKrew/Kart!1081
2023-03-23 08:36:29 +00:00
Chromatian Keiske
ada076a5cb Merge branch 'fix-non-player-chasing-spb' into 'master'
Fix SPB chase crashing if not chasing a player

Closes #484

See merge request KartKrew/Kart!1079
2023-03-23 08:31:19 +00:00
Chromatian Keiske
fd122e7d62 Merge branch 'paranoia-mobj-reference-count' into 'master'
Tune up PARANOIA warnings for mobj reference count

See merge request KartKrew/Kart!1070
2023-03-23 08:11:04 +00:00
Gunla
42f860a838 Merge branch 'common-garden-shield' into 'master'
Don't lose Garden Top when stumbling; normalize item odds

See merge request KartKrew/Kart!1076
2023-03-23 01:12:40 +00:00
Gunla
e5d4e2604e Merge branch 'fix-no-contest-after-win' into 'master'
Don't NO CONTEST a player who has already finished, if they die afterward

See merge request KartKrew/Kart!1073
2023-03-23 01:11:59 +00:00
Gunla
d0e78d985f Merge branch 'tie-sign' into 'master'
Fix sign posts for ties + youfuckedup facing wrong direction

See merge request KartKrew/Kart!1072
2023-03-23 01:11:01 +00:00
Gunla
6f6df2cfe2 Merge branch 'fix-perpetual-damage-floor-respawn' into 'master'
Reset TERRAIN when respawning

See merge request KartKrew/Kart!1068
2023-03-23 01:00:49 +00:00
Gunla
b7fc20c355 Merge branch 'epic-debug' into 'master'
Minimap debugwaypoints and debugfinishline

See merge request KartKrew/Kart!1067
2023-03-23 00:59:48 +00:00