Commit Graph
36450 Commits
Author SHA1 Message Date
Gareth Francisandteejusb befae57e73 InputHandler_Linux_Joystick cleanup 2024-04-10 20:17:11 -07:00
Gareth Francisandteejusb ef86cbbda3 Remove limit of 4 joysticks in InputHandler_Linux_Joystick 2024-04-10 20:17:11 -07:00
Gareth Francisandteejusb 7009a16dea RageUtil::UnicodeUpperLower: Prevent negative characters from segfaulting under GCC 2024-04-10 14:09:10 -07:00
Scott Brennerandteejusb 65f33b5699 Update Build/README.md 2024-04-09 23:43:17 -07:00
Scott Brennerandteejusb f1062ae5ed Skip build suite for changes to Markdown files 2024-04-09 23:42:45 -07:00
Scott Brennerandteejusb eaa7d03a03 Modify runner for macOS (Intel) build 2024-04-09 21:44:55 -07:00
phantom10111andteejusb 208494b735 Fix coloring of BitmapText with overlapping attributes
When AddAttribute() is called multiple times with overlapping ranges, old
attributes need to be removed and/or fixed. Otherwise the old colors might
show up when the text is rendered.
2024-04-09 00:34:47 -07:00
phantom10111andteejusb 17c4e7a2ff Reset input redirection on screen change
It's possible for LUA to redirect input and not bring it back when screen is
ending (and there are existing bugs like this in Simply Love). Considering that
each screen is a separate entity, it seems like this shouldn't be possible and
each screen should handle redirection separately. Split redirection state per
each screen in the stack and clear it once screen is ending.
2024-04-04 11:16:51 -05:00
nabulatorandteejusb 04c234831b bump ffmpeg to n5.1.4 to compile on Arch Linux as per @Drayux comment 2024-04-04 09:21:16 -05:00
Curtis Ruedenandteejusb ce3cb266a1 Guard against division by zero crash
Closes #197.
2024-04-03 12:26:27 -05:00
teejusb 3138447138 It's fine to play tick/metronome for failed players. 2024-03-22 15:18:53 -07:00
quietly-turningandteejusb f13abec73d fix typos in LuaDocumentation.xml 2024-03-20 13:29:43 -05:00
quietly-turningandteejusb 4f4fe7b540 validate LuaDoc XML as GitHub Workflow CI 2024-03-20 13:29:00 -05:00
SugoiFactoryandteejusb 7ac42c7f73 Don't skip high scores with a 0 in the Score field
Since itgmania is storing white counts in the Score field of stats.xml, ignoring these scores will eliminate quints when retrieving high scores.
2024-03-20 03:30:50 -05:00
teejusb 410c4b2f9e Update IXWebSocket to v11.4.5 from v11.4.3 2024-03-12 16:53:36 -07:00
phantom10111andteejusb c0c0d58219 Fix coloring of multiline BitmapText
BitmapText internally stores characters with newlines removed, since they don't
need to be rendered. Due to this, BitmapText::AddAttributes() needs to
recalculate attribute positions and lengths in order to apply them in the
correct place. Unfortuantely the code would calculate the position incorrectly
and completely ignore length. Fix it so that everything is correct even in
multiline text.
2024-03-12 16:15:48 -07:00
teejusb 0464764876 Update Simply Love 2024-03-06 22:30:07 -08:00
hayoreoandteejusb 338fdd8892 Add pump mirrors and language. 2024-03-06 16:10:21 -08:00
hayoreoandteejusb db7b7b425c Add LR and UD Mirror.
Adds a left-right and up-down mirror for 4-panel and solo modes.
2024-03-06 16:10:21 -08:00
Michael Votawandteejusb ede0b53f2b Updated notes on SORT parameter to indicate that it can actually be used with other parameters just fine, but the resutls can get kind of weird. 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb f8ce3c7db2 Explicitly get song bpm when checking if song matches songCriteria (m_fSpecifiedBPMMax and m_fSpecifiedBPMMin are only set if #DISPLAYBPM is used in simfile) 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 44d3711743 Removing already outdated comment 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb dcb1a2e3db Equals signs also need to be escaped when parsing #SONGSELECT parameters. 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb bf5404a71a CourseWriterCRS now correctly escapes control characters for certain parameters
CourseLoaderCRS handles escaped control characters and commas
Added new parsing functions to CourseLoaderCRS, ParseCommaSeparatedList, and ParseRangedValue
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb e8947d9f70 Added a new SmEscape parameter to allow us to specify what characters to escape (defaults to '\\', ':', ';')
Added new SmEscape function to handle escaping a vector of strings
Added SmUnescape() to remove the '\\' preceding an escaped character.
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 1d332bf960 Modified MsdFile::ReadBuf() so that escaped characters are still skipped when bUnescape == false
As of this commit, this won't affect anything except CourseLoaderCRS, because everywhere else is passing `true` for the bUnescape parameter.
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 68e0674164 Default bUseSongSelect to false when initializing CourseEntry (otherwise it might be true, which causes CourseWriterCRS to write the cache incorrectly) 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 20938b6c3c Updated CourseFormat.txt to replace the .. with - 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 79ddb377ad Removed comments to myself 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 5665d08a5f Removed now un-used CourseLoaderCRS::ParseCourseSongSort
Replaced '..' with '-' for ranged parameter delimiter
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 5b76ab1ba9 Uncommenting these lines from the original #SONG parsing, because I'm not sure why I commented it out to begin with. 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 0fe9c71fa3 Added description for the new #SONGSELECT course tag. 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 7831c42c83 Instead of calling rnd(), just select the average between iMaxDist and iMinDist.
This fixes an issue where a Course entry that only specifies a meter range will potentially select different songs for each difficulty.
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb d73e210f57 Added Artists, min/max bpm, min/max duration to CourseEntry::GetTextDescription() 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb e657a75153 Added OldStyleStringToSongSort() function to map best/worst/gradebest/gradeworst to their SongSort counterparts.
Added CourseLoaderCRS::SetCourseSongSort() to parse and set SONGSELECT's SORT parameter.
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 84553d4a50 Refactored code for writing #SONG entries in CourseWriterCRS
Added method for writing #SONGSELECT entries
Added new boolean flag bUseSongSelect to CourseEntry
Added new function StringToSongSort()
Renamed "LIVES" to "GAINLIVES"
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb be87de401a Added additional criteria to StepsCriteria and SongCriteria
Added new m_sSongName property to Song class
Slight refactor in Song::LoadSongFromDir() to set m_sSongName
Implemented the basics of #SONGSELECT course parameter
2024-03-06 01:45:26 -08:00
Michael Votawandteejusb 343f2de657 Changed SongCriteria.m_sGroupName to a vector m_vsGroupNames, to allow for the potential to select a song from more than one group. 2024-03-06 01:45:26 -08:00
Michael Votawandteejusb f44357c3f5 Added BPMRANGE song option for Courses.
Started breaking out some of the logic in CourseLoaderCRS into smaller functions for readibility.
2024-03-06 01:45:26 -08:00
teejusb 93f27a4ae2 Version bump to 0.8.0 2024-03-03 00:09:32 -08:00
teejusb 0c1115350d Allow setting the alpha of the beatbars 2024-03-03 00:08:55 -08:00
Crash Cringleandteejusb 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
glitchbearandteejusb ad5f3e0653 Windows support for fullscreen borderless window mode 2024-03-02 23:47:12 -08:00
Crash Cringleandteejusb d788071d4d Add sorting by Block level
(cherry picked from commit e1c8326a6a71f4a15c3f123391dc3f3331ee4a7b)
2024-02-25 09:36:21 -08:00
Crash Cringleandteejusb 3fd0bd8ade Creating mapping of preferred sort section name to songs. 2024-02-25 09:36:21 -08:00
Crash Cringleandteejusb 6cd43782d5 Add lua docs for GetPreferredSortSongsBySectionName, update comment, remove duplicate code 2024-02-25 09:36:21 -08:00
Crash Cringleandteejusb a7a8f51c33 Ensure the music wheel rebuilds when using SORT_PREFERRED.
The songs for each sort are not updated despite changes that might occur during the session. This commit ensures that the music wheel will be rebuilt when setting the sort to PREFERRED. This is needed because the songs in this particular sort are prone to change during a session because two players can have different preferred songs. Additionally, profiles can change during a session. This commit will properly rebuild the music wheel  when the sort is changed to SORT_PREFERRED.
2024-02-25 09:36:21 -08:00
Crash Cringleandteejusb 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
Crash Cringleandteejusb b16efb06f7 fall through if sorting by player top grades without a profile 2024-02-25 09:36:11 -08:00
Crash Cringleandteejusb 24876804ef Add Top Grades sort per profile. This allows each player to see their top grades based on the currently used profile.
The present implementation adds 2 new sorts for this, TOP_P1_Grades and TOP_P2_GRADES following the naming convention of TOP_GRADES which returns the machine grades.

I named the sort TopP1Grades rather than TopGradesP1 to prevent the "conflicting" banner error.

Eventually, I'd like to condense this to be 1 sort fed a playernumber or profile parameter in the future.

(cherry picked from commit 731ae501d8a14a196984bf7578afaa9351c22c5c)
2024-02-25 09:36:11 -08:00