Commit Graph

36688 Commits

Author SHA1 Message Date
Michael Votaw afa44ee4df Added methods for calculating and caching tech counts 2025-02-11 19:39:03 -08:00
Michael Votaw 6109105f97 Added TechCounts and all of the StepParity classes 2025-02-11 19:39:03 -08:00
Michael Votaw 10a4a972b0 Added method to NoteData to get number of mines at given row. 2025-02-11 19:39:03 -08:00
Michael Votaw 28270cee31 Made StepsTypeToString publicly available 2025-02-11 19:39:03 -08:00
Michael Votaw 6788df0238 Added MeasureInfo to CMakeData-data.cmake 2025-02-11 19:39:03 -08:00
Michael Votaw 429fab2fbc Added MeasureInfo calculations, and loader/writer for #MEASUREINFO cache 2025-02-11 19:39:03 -08:00
sukibaby 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
sukibaby 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 W 6947276894 Add fix and note for Routine chart loading in edit mode. 2025-01-25 11:17:52 -08:00
glitchbear 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
phantom10111 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
sukibaby 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
sukibaby 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
sukibaby 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
sukibaby 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
sukibaby 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
sukibaby 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
sukibaby 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 Brenner 30a03e0ab9 Update .github/workflows/ci.yml 2025-01-15 08:59:10 -08:00
Scott Brenner 45e071255e Native submodule checkout in CI workflow 2025-01-15 08:59:10 -08:00
sukibaby 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
sukibaby 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ł Florczak 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ł Florczak 2fb879d150 Revert "Create FailWithMessage/AssertWithMessage"
This reverts commit fbe0e0b658.
2025-01-12 09:38:28 -08:00
teejusb e372dd6360 Update Build/README.md
Co-authored-by: Scott Brenner <scott@scottbrenner.me>
2025-01-05 16:30:48 -08:00
sukibaby 21238b90ff Apply suggestions from code review
👍

Co-authored-by: Scott Brenner <scott@scottbrenner.me>
2025-01-05 16:30:48 -08:00
sukibaby 54a53b4b2d Delete Build/INSTALL.md
Move INSTALL.md contents into README.md
2025-01-05 16:30:48 -08:00
sukibaby d837599530 Prevent leaking compilation path to log file
The current code leaks the build path of the machine the game is compiled on
2025-01-05 12:35:32 -08:00
sukibaby f57c71bd23 Ensure a consistent definition of TimingSegment::EPSILON
Since the EPSILON variable in the header file was declared but not assigned any value, it could lead to undefined behavior or calculation errors when the variable is used without initialization.  This ensures a consistent value is always used and is also defined at compile time for further safety.
2024-12-24 22:42:58 -08:00
Scott Brenner dd6956f1cf Raise pull requests for version updates against the 'beta' branch 2024-12-22 07:53:12 -08:00
Scott Brenner 93cf73fe34 Create dependabot.yml 2024-12-21 11:53:35 -08:00
sukibaby 4af78281cf Properly destroy closed WebSocketHandles 2024-12-17 09:02:53 -08:00
sukibaby 29d6531a50 Rearrange ShutdownGame() to prevent network based crash
This prevents a crash that occurs when trying to exit the game while a connection attempt is being made (such as closing the game while it's in the middle of trying to connect to GrooveStats).
2024-12-17 09:02:53 -08:00
Brandon W ff8e018fbf Fix a case where we receive no hints on the number of frames in a file. 2024-12-08 08:07:20 -08:00
sukibaby 83af23787c Revision to ActorMultiVertex changes
Following the discovery of the underlying bugs in BitmapText causing issues with performance of Step Statistics, I wanted to revisit some changes I made to ActorMultiVertex in ae6d7cecb5. Some things were reverted to prefer original behavior.
2024-12-06 21:08:21 -08:00
Yauhen Artsiukhou ada419f1ff Fix lights driver regression after restart button added
Relates pull: #347
2024-12-04 12:59:20 -08:00
sukibaby 7b45a5f599 RageTimer bug fix
Fast data types are good for audio processing, but not so much for timekeeping. This PR should resolve a number of smaller issues.
2024-12-04 09:41:26 -08:00
Scott Brenner ffc576a210 Fix CI badge in README.md 2024-12-01 14:31:33 -08:00
sukibaby 3eae2f2052 Preference to handle the debug overlay, create fake classes to disable unwanted debug lines (for now)
Ideally this would also have an option to allow AutoSync,  AutoPlay, and Assist Tick with the debug overlay disabled, but that would require migrating that functionality elsewhere.
2024-11-30 22:56:28 -08:00
sukibaby 2147aa435a NotesLoader::GetMainAndSubTitlesFromFullTitle
Minor cleanup on `GetMainAndSubTitlesFromFullTitle` to use a range-based for loop, and also is slightly improved so that separators of any length will work, whereas the original code only works when the separator is one character long.
2024-11-28 11:22:08 -08:00
glitchbear b46f929178 Fixed display settings and refresh rate selection for exclusive fullscreen mode. Now applies the selected settings to the preferred display instead of the primary display. 2024-11-28 11:14:08 -08:00
glitchbear 29ae636255 Testing refresh rate being selected based on fetching the preferred display rather than primary. 2024-11-28 11:14:08 -08:00
glitchbear a3a22040a2 Clean up strings and fix behavior when switching to windowed mode 2024-11-28 11:14:08 -08:00
glitchbear 2dcd4eb2ee Add option to select output display in Windows 2024-11-28 11:14:08 -08:00
sukibaby 758ae970e2 Go back to using float time values in ScreenEdit
This fixes a regression where record mode can't tell if you're trying to input a hold or not.
2024-11-28 11:03:52 -08:00
Brandon W ee16093adc Create a "GameplayHelpers" file and move the margin gathering code
in there.
2024-11-28 11:01:24 -08:00
Brandon W 98b7f28c26 Fixes for Google style guide. 2024-11-06 01:20:31 -08:00
Brandon W 1626398244 Fix for movies shorter than the buffer size. 2024-10-22 16:45:24 -07:00
sukibaby a6a60e2e56 Remove std prefix from int types
std::int* -> int*
2024-10-08 20:52:52 -07:00
sukibaby fbe0e0b658 Create FailWithMessage/AssertWithMessage
Migrate some very frequently called macros from global.h to global.cpp. This reduces Windows release executable size by 43 KB.

After moving ASSERT_M and FAIL_M into void functions, these two virtuals in RageFileBasic.h won't compile as they don't return a value. This changes them to return a default value.
2024-10-08 20:52:25 -07:00