Commit Graph
36712 Commits
Author SHA1 Message Date
Michael Votawandteejusb b52ea2257b wrap global function in anonymous namespace 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 97cefc6d71 Reduce the precision of nps to 3 decimal places, and don't use ssprint to join all of it together (very very long charts would cause a stack overflow on Windows) 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 6a7dd95212 Removed ASSERTs. StepParityGenerator::analyzeNoteData() now returns a boolean to indicate whether it succeeded at analyzing the note data.
Fixed issue where getFootPlacementPermutations would return no permutations in some circumstances
2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 4e7432a5a0 Several "structural" changes, and some memory optimizations:
- Replaced use of bare '-1' values with StepParity::INVALID_COLUMN
- Removed StepParityGraph object, moved its responsibilities to StepParityGenerator
- Removed some unnecessary data from State object, added 'combinedColumns' and 'whatNoteTheFootIsHitting'
- Created stateCache to allow reuse of state objects
- Fixed a very small bug with TechCounts (missing 'previousPreviousHeel != INVALID_COLUMN')
2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 61ee3bc329 Replaced costs array with just a single cost value 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb cbfd09658f Check that previousPreviousRightHeel is a valid column placement 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb e5ccaca5f1 Removed use of this. Added additional comments from SL implementation. 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb a2a2684d0f Remove VERSION_TECH_STATS, because we're not actually updating SSC version 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb ea35af311e Reset FILE_CACHE_VERSION to 228 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 6917d51d4d Replacing spaces with tabs 2025-02-11 19:39:03 -08:00
teejusb 49263f3c3e Mostly stylistic changes 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 53ebe4cce1 Removed now unnecessary tracking of previous/current foot placements (we can get this from row.whereTheFootIs).
Add full and half crossovers
2025-02-11 19:39:03 -08:00
Michael Votawandteejusb c9af5d78a3 fix typo (missing comma) 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb c7af0a4436 Integrated noteCount, whereTheFeetAre, and columns into Row object (makes tech counts a little cleaner) 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 212b99a4c5 Changed StageLayout into a struct and consolidated layout math functions into it.
Added convenience methods for determining if a given column is an up, down, or side arrow.
Added explicit tech counts for up footswitches and down footswitches
2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 36c4223a38 Destroy array of costs after we're done with them 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb d5817b6264 Fixed typo (missing semicolon) 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 5f7720a8b8 Added costs for "slow" bracketing (to prioritize jumps), twisted backwards foot.
Removed costs for JUMP, CROWDED_BRACKET, and OTHER
Added cutoffs for counting footswitches and doublesteps below a certain speed as tech
2025-02-11 19:39:03 -08:00
Michael Votawandteejusb f70cb4c6aa Jacks and Doublesteps don't count if they're preceded by a jump 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 033cb10f17 Footswitches don't count if it's just using a different part of the same foot. 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 9c959d7dee Cutoff for jacks is 170bpm 1/8th notes, and not after jumps 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb ed2b5f8d5e Removing accidentally duplicated lua methods, un-needed SetGrooveStatsHash method (that's getting handled in a different PR) 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 905e44330a Added methods to load/write tech counts to cache. 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb bd897b676a Replacing use of CalculateRadarValues with CalculateStepStats, and ReCalculateRadarValuesAndLastSecond with ReCalculateStepStatsAndLastSecond 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb afa44ee4df Added methods for calculating and caching tech counts 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 6109105f97 Added TechCounts and all of the StepParity classes 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 10a4a972b0 Added method to NoteData to get number of mines at given row. 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 28270cee31 Made StepsTypeToString publicly available 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 6788df0238 Added MeasureInfo to CMakeData-data.cmake 2025-02-11 19:39:03 -08:00
Michael Votawandteejusb 429fab2fbc Added MeasureInfo calculations, and loader/writer for #MEASUREINFO cache 2025-02-11 19:39:03 -08:00
sukibabyandteejusb 200a44d8a1 Remove references to m_sUrl; disable GetUrl with a warning; add a missing brace to IsZero() since we removed a URL variable from it 2025-01-26 18:07:28 -08:00
sukibabyandteejusb cc5670e8d1 Remove GotoURL
"Report" button has not been removed from CrashHandlerChild / Crash.mm / DialogDriver_Win32, but functionality has been removed.
2025-01-25 23:53:44 -08:00
Brandon Wandteejusb 6947276894 Add fix and note for Routine chart loading in edit mode. 2025-01-25 11:17:52 -08:00
glitchbearandteejusb 71c4fa6bc0 Revert Crash.cpp changes that attempted to restore display settings due to causing instability after crash
This reverts parts of commit e37c1a9e72184669b59d15b2b7064518c5fc98a4.
2025-01-23 19:43:05 -08:00
phantom10111andteejusb 3266fda819 GameState: Expose GetPlayerFailType() to Lua
FailType for a given Player can be overriden with respect to preferences, but
Lua has no way to check it. Expose a function to allow doing that, in order to
not accidentally submit invalid scores to GrooveStats.
2025-01-20 10:03:52 -08:00
sukibabyandteejusb 6aa81a9dd2 (Win32 refresh) GraphicsWindow
Bring in std::optional<DEVMODE> to gracefully handle the case where the function may not return anything valid. This helps to avoid undefined behavior caused by unexpected/invalid return values, as an extra protection to supplement the check if we can identify the refresh rate.
2025-01-20 09:47:51 -08:00
sukibabyandteejusb 03c71aec90 (Win32 refresh) AppInstance
Use wchar as well as GetModuleFileNameW for native unicode support. Added some logging to catch any cases of unexpected behavior on the OS side.
2025-01-20 09:47:13 -08:00
sukibabyandteejusb cbd186dab2 (Win32 refresh) arch_setup
This eluded the update to use `_WIN32` preprocessor macro across the codebase.

Also adding an error message so we don't fail silently if we can't get the command line arguments.
2025-01-20 09:46:34 -08:00
sukibabyandteejusb 3a51f00147 (Win32 refresh) Update DirectXHelpers.cpp
The DirectInput / DirectSound version defs need to be exposed to other parts of the engine, so they are moved to the header instead of the cpp file.

The includes can be consolidated after that.

I'm also replacing the usage of a raw array of char *'s with an RString and using c_str() to get its value - a small change, but raw arrays are unreliable.
2025-01-20 09:46:15 -08:00
sukibabyandteejusb f783588adb (Win32 refresh) CommandLine
Directly use CommandLineToArgvW, replacing legacy code. Support Unicode natively by natively using std::string and wchar.  shellapi.h is brought in for CommandLineToArgvW
2025-01-20 09:45:43 -08:00
sukibabyandteejusb 54232bed78 (Win32 refresh) DialogUtil
Fixes a 20 year old font leak issue which can be avoided by storing the font handle in a unique_ptr.
2025-01-20 09:44:24 -08:00
sukibabyandteejusb 641fac232a (Win32 refresh) GotoURL
Mitigate some security concerns, update API calls (RegOpenKeyExW & ShellExecuteEx), support unicode natively, const correctness, etc. - not doing anything new, just updating what's here to be more modern.
2025-01-15 22:51:48 -08:00
Scott Brennerandteejusb 30a03e0ab9 Update .github/workflows/ci.yml 2025-01-15 08:59:10 -08:00
Scott Brennerandteejusb 45e071255e Native submodule checkout in CI workflow 2025-01-15 08:59:10 -08:00
sukibabyandteejusb aba00ed8ec Improve precision in BGAnimationLayer
Floating point time is being stored as a float here, we can prevent precision loss by changing some of these to double during the lifetime of the function to get a more accurate result.
2025-01-15 08:58:40 -08:00
sukibabyandteejusb 1fa31c64c6 Improve precision in ArrowEffects
Floating point time is being stored as a float here, we can prevent precision loss by changing some of these to double during the lifetime of the function to get a more accurate result.
2025-01-15 08:58:40 -08:00
Rafał Florczakandteejusb 96ee25800a Use size_t and the respective %zu specifier for size-related variables
This change eliminates various compilation warnings and extra casts.
2025-01-15 08:22:21 -08:00
Rafał Florczakandteejusb 2fb879d150 Revert "Create FailWithMessage/AssertWithMessage"
This reverts commit fbe0e0b658.
2025-01-12 09:38:28 -08:00
teejusbandScott Brenner e372dd6360 Update Build/README.md
Co-authored-by: Scott Brenner <scott@scottbrenner.me>
2025-01-05 16:30:48 -08:00
21238b90ff Apply suggestions from code review
👍

Co-authored-by: Scott Brenner <scott@scottbrenner.me>
2025-01-05 16:30:48 -08:00