Commit Graph

5154 Commits

Author SHA1 Message Date
Martin Natano 0b0787f344 Replace COMPILE_ASSERT() with standard static_assert() 2023-04-20 11:21:29 +02:00
Martin Natano 78fb2e9fc3 Decouple <cstddef> 2023-04-20 11:21:29 +02:00
Martin Natano 093675cdc3 Use attributes where possible 2023-04-20 11:21:29 +02:00
Martin Natano a93fc07896 Remove unused defines 2023-04-20 11:21:29 +02:00
Martin Natano b68ca517e6 Clean up math functions
- Remove checking for standard functions from the build system
- Prefix all invocations with std::
- Replace suffixed functions with unprefixed versions
- Include <cmath> in all files that use it and remove the global include

e.g. floorf(x) -> std::floor(x)
2023-04-19 19:31:40 +02:00
Gareth Francis f39ed52dbf Remove calls to dwmFlush - Were never called before and cause frame drops with opengl renderer 2023-03-29 13:01:01 -07:00
Martin Natano 79674c15fe Fix windows build 2023-03-17 23:33:16 +01:00
Martin Natano 2d9cc038cd Downgrade to C++17 2023-03-17 20:07:15 +01:00
Martin Natano d107e2b8c1 Add setup script for linux 2023-03-17 20:07:15 +01:00
teejusb 76433e58cf Remove default values on SetPreferredSongs/Courses 2023-03-17 01:12:00 -07:00
teejusb fbed947b9c Allow PreferredSongs/PreferredCourses to be set from absolute paths 2023-03-17 01:12:00 -07:00
Crash Cringle efaf38b8ed Fix for "10th score" leaderboard bug, Reduce load from GAMESTATE::StoreRankingName()
- Fixes bug where 10th scores get erased when two players play the same song multiple times and rank on the leaderboard more than once
- Only clamping leaderboards and deduping high scores for songs/courses once overall instead of once per player
- Instead of looping through every song and course on the machine multiple times -> Only loop through the songs/course played in the past session
2023-03-16 18:19:09 -07:00
teejusb 20854530ed Rename the file to LightsDriver_LinuxPacDrive 2023-03-15 22:20:02 -07:00
din 2feaa6a90e PacDrive Order added w/information 2023-03-15 22:20:02 -07:00
Crash Cringle f60c1c7f82 Add new Sorting Capabilities for Profile list 2023-03-13 19:56:07 -07:00
teejusb 4e19ce0d5d Add Linux Pacdrive 2023-03-10 10:19:08 -08:00
Martin Natano 11ac50e7d1 Initialize std:array members 2023-02-20 18:08:42 +01:00
Martin Natano 98f4916313 Fix RageFastSin() 2023-02-20 18:08:33 +01:00
Martin Natano 7981676f53 Fix HiddenPtr::isNull() 2023-02-19 19:04:23 +01:00
teejusb c2b9b09418 Allow Windows users to select a device to use with WaveOut 2023-02-18 09:00:58 -08:00
Telperion fdfc9848b8 handle Mmod choice for per-chart #DISPLAYBPM
I think this is the only thing that needs to change??
2023-02-08 10:30:26 -08: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
Lamar Cooley f62938787a Add new Preference, Maximum Number of Credits
Grant users the ability to change the maximum amount of credits available rather than the constant cap at 20.

(cherry picked from commit 2ec2355d7a7d9fec9410cf6b7d2b5c31a4406074)
(cherry picked from commit 48245ab51600ede16096e70e27c94345918eaed7)
2023-01-24 13:04:27 -08:00
teejusb bdb067764a mmmagic.dll -> mmmagic64.dll
Co-authored-by: camsta4 <camsta4@gmail.com>
2022-12-19 20:19:16 -08:00
teejusb ef144a7f9d Remove WITH_MINIMAID CMake option
Always build ITGmania with Minimaid

There's no harm in always having this built as it's configurable based on the LightsDriver field.

Update mmmagic.dll -> mmmagic64.dll to conform with the new dll filename

Also fix PacDrive.h header
2022-12-19 20:19:16 -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 95e55f5cdd Last RString MSVC compiler error. Eliminate gotos to fix more MSVC compiler errors. 2022-10-03 16:21:19 -07:00
Brian Phlipot 0cc289fa1c More explicit RString creation to fix Windows build. 2022-10-03 16:21:19 -07:00
Brian Phlipot c1a3455ce4 Explicitly create RStrings to avoid MSVC compiler errors. 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 55cdb3cf24 Replace std::stof with StringToFloat
std::stof throws an exception on invalid input causing a crash.

fixes https://github.com/itgmania/itgmania/issues/50
2022-07-23 19:56:38 +02:00
Martin Natano 1b959d6762 Use type switch in JsonEncode
lua_isnumber and lua_isstring try to coerce the values to their
respective type, so a type switch is more reliable.

Fixes https://github.com/Simply-Love/Simply-Love-SM5/issues/406
2022-07-04 20:24:22 +02:00
Martin Natano 1010798e26 Update logo 2022-06-29 21:15:43 +02:00
Martin Natano 61f12e8165 Prevent out-of-bounds array access
Fixes https://github.com/itgmania/itgmania/issues/27
2022-06-27 20:10:52 +02:00
tertu marybig 9b348090a7 HyperShuffle implementation
Also add it to _fallback
2022-06-23 11:09:40 -07:00
teejusb 7d88febd51 Switch to loading the PacDrive64.dll + Update Default 2022-06-21 12:22:29 -07:00
SheepyChris 95a07e6803 Add line labels to definition of default video card settings 2022-06-18 11:43:33 -07:00
SheepyChris 25ae3c07f5 Update default Graphics settings 2022-06-18 11:43:33 -07:00
teejusb 8f12a5c45c NotesLoaderSSC - Add empty string check before parsing #DISPLAYBPM, preventing crash on malformed step data 2022-06-12 21:21:20 -07:00
Martin Natano 742a3c1c26 Fix ScreenSelectProfile::Finish()
Unload all profiles first, so we don't end up in a situation where two
players might have the same profile assigned during iteration.
2022-06-12 23:02:25 +02:00
Ivana Kellyerova 96d9d87325 Prevent same player from late joining 2022-06-12 10:03:33 -07:00
Ivana Kellyerova 02b9925b12 Allow ScreenSelectProfile to Finish() with guest players
Passing a -3 as profile index to ScreenSelectProfile's SetProfileIndex now
allows a player to play without having a local or USB profile assigned.

Also adds a message (PlayerProfileSet) that's broadcast anytime a player selects
a profile or chooses to play as a guest and subscribes ScreenSelectMusic to it.
2022-06-11 22:53:07 +02:00
Martin Natano 64b4676a14 Add WITH_CLUB_FANTASTIC build option 2022-06-11 13:43:03 +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
Martin Natano 62f8ed5c5c Always allow fast load when reloading 2022-06-10 19:33:23 +02:00
Martin Natano 463ad58e91 Make sure SM profiles are loaded from USB
This changes the defaults to this:
MemoryCardProfileSubdir=ITGmania
MemoryCardProfileImportSubdirs=StepMania 5.1;StepMania 5
2022-06-09 18:30:56 +02:00