Arthur Eubanks
9131dc6b68
Prefix some calls with std::
...
These depend on C++ argument dependent name lookup and won't work with
an upcoming cleanup.
2025-04-22 23:19:28 -07:00
Crash Cringle
ed5c87a10d
Use structured bindings
2025-04-22 22:26:39 -07:00
Crash Cringle
8524210969
Change vector of vector of strings arrayGroupSongDirs to a map so we know precisely which directories are valid.
2025-04-22 22:26:39 -07:00
Crash Cringle
5e4f5ae4e5
Update SanityCheckGroup to return whether the group has passed the check or not rather and log a warning if failed rather than exit the game.
2025-04-22 22:26:39 -07:00
teejusb
7d0a31ef1a
nullptr check + use const ref
2025-03-23 01:57:37 -07:00
Crash Cringle
0270cda54d
Add additional NULL checks just in case
2025-03-22 12:02:04 -07:00
Crash Cringle
7d5a62a537
Add Group() for USB songs
2025-03-22 12:02:04 -07: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
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
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
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
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
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
e8f0d55d6e
Add SONGMAN:HasGroupIni(string groupName) which returns true/false
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
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
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
sukibaby
e0b254968d
std::size_t -> size_t
...
Removing std prefix from all size_t.
2024-10-01 01:46:26 -07:00
sukibaby
abf89ec2b1
Replace SAFE_DELETE / SAFE_DELETE_ARRAY macros
...
SAFE_DELETE -> RageUtil::SafeDelete
SAFE_DELETE_ARRAY -> RageUtil::SafeDeleteArray
Update JsonUtil.h to include RageUtil.h - MSVC doesn't need it included for some reason, but GCC and XCode does.
2024-09-30 15:13:32 -07:00
Crash Cringle
becd375544
Only UpdateMeterSort when necessary (when sorting), account for other games and styles.
...
Songs are already sorted by title so no need to do so again (otherwise big boi lag)
2024-03-02 23:48:04 -08:00
Crash Cringle
d788071d4d
Add sorting by Block level
...
(cherry picked from commit e1c8326a6a71f4a15c3f123391dc3f3331ee4a7b)
2024-02-25 09:36:21 -08:00
Crash Cringle
3fd0bd8ade
Creating mapping of preferred sort section name to songs.
2024-02-25 09:36:21 -08:00
Crash Cringle
6cd43782d5
Add lua docs for GetPreferredSortSongsBySectionName, update comment, remove duplicate code
2024-02-25 09:36:21 -08:00
Crash Cringle
58be4d521e
Allow songs to exist in multiple Sections in Preferred Sort.
...
This commit fixes a bug that causes the music wheel to freak out when a song is placed in multiple sections.
This can occur when a user's preferred songs have a song located in two different sections.
This is only applied to Preferred Sorting because Preferred sorting is the only sort where it is possible for a song to be a part of multiple sections (e.g. A song only has 1 Title therefore it would only appear in 1 section of the SORT_TITLE).
Preferred sorting allows users to create custom groups/sections by creating a file that defines the songs and their respective sections as they should appear in the sorting. Players are now able to include a song in multiple sections. Themers are now able to display the Preferred Sort of two players on 1 screen (This previously would have caused duplicate section names to occur)
2024-02-25 09:36:21 -08:00
Martin Natano
bacecae1f7
Decouple <vector>
2023-04-21 22:13:41 +02:00
Martin Natano
78fb2e9fc3
Decouple <cstddef>
2023-04-20 11:21:29 +02:00
Martin Natano
2d9cc038cd
Downgrade to C++17
2023-03-17 20:07:15 +01:00
teejusb
fbed947b9c
Allow PreferredSongs/PreferredCourses to be set from absolute paths
2023-03-17 01:12:00 -07:00
Brian Phlipot
d079940fea
Address PR feedback.
2023-02-02 11:54:17 -08:00
Brian Phlipot
4a6b1a743c
Enable more compiler warnings and treat them as errors.
2023-02-02 11:54:17 -08:00
Martin Natano
43050643d6
Revert back to ignoring FastLoad when reloading from operator menu
...
Many people (especially chart authors) expect that behaviour.
2022-10-28 17:40:02 +02:00
Brian Phlipot
a0e805e511
Add std:: prefixes to all shuffle calls. Use unique_ptr instead of shared_ptr.
2022-10-03 16:21:19 -07:00
Brian Phlipot
37aff00d6e
Require C++20 for building Stepmania.
2022-10-03 16:21:19 -07:00
Michael Sundqvist
0cba3579de
Remove global "using namespace std;" declarations, use "std::" prefixes on all std elements
...
Fix whitespace changes
2022-07-31 22:14:38 +02:00
Martin Natano
f60707b506
Add support for incremental updates to ScreenReloadSongs
2022-06-10 19:33:23 +02:00
Martin Natano
49127f6a92
Remove RageUtil_CachedObject
...
I don't notice any performance drawback in gameplay, but it was
massively slowing down ScreenReloadSongs.
2022-06-10 19:33:23 +02:00