Commit Graph

5518 Commits

Author SHA1 Message Date
sukibaby 9787e01acf Add braces to Song::ReloadFromSongDir
The LOG->Warn line is being executed unconditionally due to the the lack of braces. The indentation is misleading as a result. This adds braces to ensure the intended behavior is performed.
2025-03-11 21:34:22 -07:00
sukibaby 674fdb4fcb Correct an invalid jpeg quality parameter.
With our new libjpeg_turbo library, a quality of 150 doesn't seem to be valid, so I'm changing this to 95. I chose 95 over 100 because the libjpeg_turbo project uses a quality of 95 for all testing and benchmarking shown in their documentation, and notes that a quality of 95 "has been determined to be perceptually lossless under most viewing conditions".
2025-03-10 22:39:26 -07:00
sukibaby 22216f02e3 Only save high quality jpeg screenshots.
Removing the case where `StepMania::SaveScreenshot` may request to save a low quality jpeg. The file size difference between a quality 70 and quality 95 jpeg is very small by modern storage standards.
2025-03-10 22:39:26 -07:00
Crash Cringle c6ad4685a7 Add null checks for all ->GetGroup->getsomething calls 2025-03-09 10:05:01 -07:00
Crash Cringle cd73c169ab Rework Pack.ini Sort Title sorting logic to better handle duplicate sort titles (falls back on group name) 2025-03-09 10:05:01 -07:00
Crash Cringle ff06dda985 Partially revert 36892b4 (Create RandomSeed.h) in BitmapText.
This appears to have unintended effects on jitter, distort, and rainbowscroll. Reverted for now for reevaluation on implementation here later.
2025-03-08 23:17:16 -08:00
Crash Cringle ca1a7a0dc4 Prevent a crash when loading a group with no additions in SongManager::LoadSongDir
When reloading and only loading additions, ensure we do not delete/readd groups that were already loaded.
2025-03-07 16:51:26 -08:00
teejusb 906cb93d55 Prevent some parsing warnings 2025-03-05 08:35:09 -08:00
Crash Cringle c3886adb07 Update Banner handling for new sorts 2025-03-03 23:36:06 -08:00
Crash Cringle b482c26612 Give these sorts sections so it's clear where they start and end 2025-03-03 23:36:06 -08:00
Crash Cringle 6201e1ab94 Add Recently Played and Most Played per Profile as sorts 2025-03-03 23:36:06 -08:00
sukibaby 6707922be8 Remove dead code from RageSoundReader_MP3.cpp
Unused.
2025-03-03 23:33:53 -08:00
Rafał Florczak 3c0b480b93 Replace the vendored libjpeg with the submodule of libjpeg-turbo 3.1.0
Co-authored-by: phantom10111 <phantom10111@gmail.com>
2025-03-03 23:33:15 -08:00
sukibaby e1bf59458f Check the ShowMouseCursor preference on Windows
Respect the user's setting in Preferences.ini. Hides the cursor if ShowMouseCursor is set to 0, shows the cursor if ShowMouseCursor is set to 1.
2025-03-03 23:28:13 -08:00
Crash Cringle b770e9ad6b Use Log->Warn 2025-03-03 23:25:32 -08:00
Crash Cringle dbbcc57112 Explicitly require and use capital NULL and ITG everywhere for sync bias, comment fix, nullptr check for group 2025-03-03 23:25:32 -08:00
Crash Cringle 35570a0880 Condense trim/check empty pack.ini logic to vector looping 2025-03-03 23:25:32 -08:00
Crash Cringle 8f6d5b44b9 Move sync offset application to song load (as early as possible) 2025-03-03 23:25:32 -08:00
Crash Cringle 9d61cb4c06 Okay we use -9ms here because this counters the +9ms folks add to their charts. Ensure we clear the series map when freeing songs 2025-03-03 23:25:32 -08:00
Crash Cringle 6fbbf931ac Use std::string instead of RString for mappings 2025-03-03 23:25:32 -08:00
Crash Cringle 218d5734a3 Change group map to an unordered_map 2025-03-03 23:25:32 -08:00
Crash Cringle 830bf1bb8d Change series map value from a vector to an unordered set, remove series prefixing, ensure always defaulting to group disk name for sorting 2025-03-03 23:25:32 -08:00
Crash Cringle dd60d36093 Implement changes from feedback 2025-03-03 23:25:32 -08:00
Crash Cringle 694a724770 Move ASSERT_Ms to debugging and replace with warns, include <array>
(See feedback in PR)
Co-authored-by: sukibaby <163092272+sukibaby@users.noreply.github.com>
2025-03-03 23:25:32 -08:00
Crash Cringle 437f72b13d Update src/ScreenOptionsMasterPrefs.cpp
Co-authored-by: sukibaby <163092272+sukibaby@users.noreply.github.com>
2025-03-03 23:25:32 -08:00
Crash Cringle 0b3ed6d4f9 Update src/SongManager.cpp
Co-authored-by: sukibaby <163092272+sukibaby@users.noreply.github.com>
2025-03-03 23:25:32 -08:00
Crash Cringle fc98959db4 Update src/SongManager.cpp
Co-authored-by: sukibaby <163092272+sukibaby@users.noreply.github.com>
2025-03-03 23:25:32 -08:00
Crash Cringle ec814a6b74 Add version to Pack.ini, auto populate this value in the Pack.ini if it isn't manually provided 2025-03-03 23:25:32 -08:00
Crash Cringle 48b5b35e23 Rewrite a few comments 2025-03-03 23:25:32 -08:00
Crash Cringle 53a26f2fa4 Add some nullptr handling 2025-03-03 23:25:32 -08:00
Crash Cringle ac767b3ce8 Move GetGroup to SONGMAN, rename variables consistently, move "pack.ini" to constant var, flip sync bias sign 2025-03-03 23:25:32 -08:00
Crash Cringle ea588c8504 Remove extra fields for now 2025-03-03 23:25:32 -08:00
Crash Cringle e8f0d55d6e Add SONGMAN:HasGroupIni(string groupName) which returns true/false 2025-03-03 23:25:32 -08:00
Crash Cringle 05cd7ed922 reimplement "SyncBias" as something that tells us the sync of the pack so we may adjust accordingly rather than the blanket sync to apply to the pack. 2025-03-03 23:25:32 -08:00
Crash Cringle f59a5b1e72 Rename group.ini back to pack.ini to avoid conflict with the existing waiei standard. See: https://github.com/waiei/Group.ini-lua 2025-03-03 23:25:32 -08:00
Crash Cringle a7cb3b0264 Remove unnecessary GetSongs accessor from Group object 2025-03-03 23:25:32 -08:00
Crash Cringle 13e6aaacb3 start addressing review/feedback 2025-03-03 23:25:32 -08:00
Crash Cringle 00342feadc Add new preference: DefaultGroupOffsetSeconds to dictate the default sync bias on the machine when no group.ini is present (or if there is no SyncOffset field in said file).
- Generally Supports either ITG (9ms) or NULL (0ms).
- Alternatively, one could edit the preference manually to put a different value
- Name/Description probably worth ironing out
2025-03-03 23:25:32 -08:00
Crash Cringle 835ca35065 Ensure the Group Offset is applied when Reloading a Song from Disk 2025-03-03 23:25:32 -08:00
Crash Cringle fe1bfbdde2 Fix the AutoSync Relay showing Global Offset instead of the song Offset when Auto Syncing
- Unrelated to group.ini
2025-03-03 23:25:32 -08:00
Crash Cringle 01eea5cd42 Remove additional leftover debug message 2025-03-03 23:25:32 -08:00
Crash Cringle 1bf9dd004d Use the Translit field from Group.ini, Migrate Banner code to Group class 2025-03-03 23:25:32 -08:00
Crash Cringle 520173ef5d Safe delete Groups 2025-03-03 23:25:32 -08:00
Crash Cringle c06059b274 Further Group enhancements.
- Adjust the variable scope of group attributes
- Remove the now redundant GroupBannerPaths vector and replace its usage.
- Migrate ini loading logic to Group class
- Better clarity on comments for Group
- Remove GetTotalSongs in favor of GetSongs.
- Add Year as a value to Group.ini
- Ensure new group and song maps are cleared properly when freeing songs
2025-03-03 23:25:32 -08:00
Crash Cringle 096d3093e4 Add Group files to cmake 2025-03-03 23:25:32 -08:00
Crash Cringle 5abaf5318a Move group into its own class, add Credit and AuthorsNotes fields, Begin exposing methods to lua 2025-03-03 23:25:32 -08:00
Crash Cringle 1aa44cacb6 Rename Pack -> Group for consistency. Remove leftover logging and extra lines from debugging.
Misc patches via PR review.
2025-03-03 23:25:32 -08:00
Crash Cringle e55475a295 Add enums for ITG/NULL in pack.ini for SyncOffset 2025-03-03 23:25:32 -08:00
Crash Cringle 798201cce4 Add Pack Offset and Group Banners to pack.ini, Remove debug logging 2025-03-03 23:25:32 -08:00
Crash Cringle 5e6f3378a8 Thrown together Initial working implementation of pack.ini
# Conflicts:
#	src/MusicWheel.cpp
2025-03-03 23:25:32 -08:00