Commit Graph
4984 Commits
Author SHA1 Message Date
din 67b2d06406 Linux_LED refactor 2021-03-22 23:40:05 -05:00
din fa4109b652 stac support 2021-03-21 13:42:03 -05:00
Gareth FrancisandGitHub aeb5c7598f Handle exceptions in int conversions (#2092)
* RageUtil: Add exception-safe wrappers around std::stoi, stol, stoll

* Replace use of std::stoi with exception-safe StringToInt
2021-02-15 12:36:51 -08:00
Crystal SquirrelandGitHub 3f756be055 Merge pull request #2084 from natano/input-mapping-disambiguate
Mark keypad buttons as such in the input mapping screen
2021-01-28 08:51:40 +00:00
Crystal SquirrelandGitHub ba4a25d04e Merge pull request #2062 from FMS-Cat/RateModsAffectFGChanges
feature: Add a preference, RateModsAffectFGChanges
2021-01-28 08:50:12 +00:00
Martin Natano 5c27754b39 Mark keypad buttons as such in the input mapping screen
Both the slash key and the numpad slash key were displayed as 'Key /',
so it's not obvious to the user which key actually has been bound. Let's
display them as 'Key /' and 'KP /' instead. Same for other KP keys.
2021-01-18 21:54:30 +01:00
Colby Klein aab36dae8d macos apparently wants the arm64 define instead sometimes 2021-01-08 08:37:44 -08:00
Colby Klein 261daef933 fix build and no audio out on macOS 11, closes issue #2080 2021-01-08 07:58:35 -08:00
dinandGitHub a7f666ecdb PIUIO Btn board lights, menu lights added. (#2073) 2020-12-17 11:45:58 -08:00
ArusekkandGitHub 95d782d3fc input: Low-effort X11 mouse support (#2042)
A simple wrapper around XLookupKeysym, which does not return
expected XK_Pointer_* for button events.
Tested on Gentoo Linux.
2020-11-23 12:21:17 -08:00
FMS-Cat b457c098d8 comment: fix incorrect comments 2020-10-20 13:24:44 +09:00
FMS-Cat 7d2a70db23 feat (RateModsAffectFGChanges): Actually implemented
I'm trying to transfer the nITG implementation for now
2020-10-20 02:16:02 +09:00
FMS-Cat a6dd6f4ad7 feat (RateModsAffectFGChanges): add a PREFSMAN RateModsAffectFGChanges 2020-10-20 01:38:55 +09:00
Tracy WardandGitHub 6a645b4710 Fix CMake error when configuring with WITH_LIBXTST=NO (#2060) 2020-10-06 13:25:19 -07:00
quietly-turningandGitHub 3968c94782 Merge pull request #2043 from Arusekk/wreturn-type
Fix -Wreturn-type and its undefined behavior
2020-09-15 19:48:15 -04:00
dinandquietly-turning 771d0a1c7d check pacdrive functions before calling them
Before, if the PacDrive32.dll provided by Ultimarc wasn't found,
stepmania would attempt to write to the Pac-Drive anyway, resulting in a
call on a null pointer.

This adds a quick check against PacDriveConnected during the update, and
checks if the pacdrive functions exist before calling them.
2020-09-14 23:20:56 -04:00
Kevin Turnerandquietly-turning 2f97420f81 Updated light-setting code to use switch statements
I will say, the version of this that didn't have break statements had
way, way more flashy light patterns than the boring, correctly
functioning version of this.

Also, the preference now defaults to "minimaid"
2020-09-11 16:48:07 -04:00
Kevin Turnerandquietly-turning ad2825ba3c Cleaned up if-else code and made pref check case-insenstive 2020-09-11 16:46:07 -04:00
Kevin Turnerandquietly-turning 47d6d82962 Add preference to change PacDrive light ordering
The currently proposed light ordering presents a problem for those who have bought a LumenAR or have followed the OpenITG standard for wiring lights. With this change, the default ordering stays the same, but users have the option to define "openitg" or "lumenar" as their preferred light ordering in Preferences.ini under the newly defined "PacDriveLightOrdering" preference.
2020-09-11 16:45:42 -04:00
quietly-turning 72cd6edf5c give Lua access to tomcrypt's SHA256
This adds Lua hooks to CryptManager for libtomcrypt's SHA256 hash
function.  It follows along with the C++ patterns Glenn wrote a decade
and a half ago for CryptMananger's MD5 and SHA1 hooks.

StepMania's CMakeProject-tomcrypt file has been updated to build with
sha256 symbols.  Invoking cmake to build with system tomcrypt works fine
as-is.

Note that these functions return binary formatted strings, but themers
can convert to hexadecimal format using the global Lua function
BinaryToHex().
2020-09-09 15:37:01 -04:00
quietly turning fdef606b46 expose RageUtil's BinaryToHex to Lua
The hashing functions that CryptManger currently exposes to Lua
return hash strings formatted in binary.  Themes using those hash
functions may want to compare hex strings.

RageUtil already had a BinaryToHex utility; this commit exposes it
as a global function, following along with other utility functions
in RageUtil.
2020-09-09 15:16:24 -04:00
Arusekk 74331b6b3c Fix -Wreturn-type and its undefined behavior
Silence the following warning message:
src/NotesWriterSM.cpp:260:11: warning: control reaches end of non-void function [-Wreturn-type]

This warning had meaningful implications for some reason.
When I compiled the current version with stack protector enabled,
GCC optimized out successful return from the function, and encouraged
undefined behavior far less intuitive than an unspecified value.

Whenever saving a steps file on a -DCMAKE_BUILD_TYPE=Release build,
the game printed a message about stack protection violation,
and aborted itself, even though no violation took place.

GCC version:
gcc (Gentoo 10.2.0 p1) 10.2.0
2020-07-28 21:43:07 +02:00
Ben Kirzhner b959bcfc39 Merge branch '5_1-new' into catalina-workaround 2020-07-04 21:49:03 -07:00
Colby Klein 39d516f6de simplified FTOC for aarch64
this isn't actually a good solution, really RageVColor shouldn't be
doing this conversion at all and should be refactored/removed.

this gets gameplay running a bit smoother, much closer to holding 60fps
2020-06-27 09:54:58 -07:00
quietly-turningandGitHub 2b11f88b81 Merge branch '5_1-new' into tomcrypt-header 2020-06-25 21:53:21 -04:00
quietly-turningandGitHub 89229ed915 Merge pull request #1855 from mwkroening/gtk3
Upgrade to gtk3
2020-06-24 17:49:14 -04:00
Colby Klein 6c48eb3d5c Fix compile on raspberry pi 4/A72
Game runs pretty close to fine, needed to use system libpng and haven't
attempted to use ffmpeg, however.

I'm seeing in the 50fps range in gameplay with no performance tweaks
but having set -mtune=cortex-a72. There's a lot of perf opportunities,
so consistent 60 is certainly within reason without too much pain.
2020-06-23 16:58:00 -07:00
Seán de BúrcaandMartin Kröning 6649a116ed Update gtk+ LoadingWindow to use gtk3 2020-06-21 23:31:02 +02:00
Martin KröningandMartin Kröning 43ecbf918b Use standard tomcrypt header 2020-06-21 22:55:00 +02:00
Martin Kröning 7ecc7b262b Upgrade libpng to tag v1.6.37
gtk_image_new_from_file results in a segmentation fault with the new version.
2020-06-20 12:37:56 +02:00
Martin KröningandMartin Kröning 37e60ffc97 Adjust to vanilla libpng 2020-06-20 12:35:04 +02:00
Martin Kröning 092cffa182 Find system jsoncpp via pkg-config, add system include 2020-06-18 23:27:12 +02:00
Martin KröningandMartin Kröning 960c57c4f3 Only add bundled inc dirs, when using bundled libs
Fixes #1881
2020-06-18 22:36:02 +02:00
Martin Kröning f075d6a617 JsonUtil: Adapt functions to vanilla jsoncpp 2020-06-18 20:56:40 +02:00
Arusekk 46f3e8aa9d Unix backtrace call detection
If the supposed return address is a pointer to the beginning of an
executable page, and the page before is an oversized file mapping,
like vvar before vdso, the backtrace would be terminated by SIGBUS.

To avoid this, check not for readable, but for executable instead.
2020-06-17 10:04:54 +02:00
Martin Kröning 98e1a20cc3 Don't disable exceptions on macOS 2020-06-13 23:36:10 +02:00
Martin Kröning 67bce17382 Extract logic to NoteDataUtil::StringInterpretsAs 2020-06-13 23:36:10 +02:00
Martin KröningandMartin Kröning dc25295879 Catch stoi invalid_argument in BGCHANGES 2020-06-13 23:35:33 +02:00
Martin Kröning 10e3a2f2e8 Don't cast doubles to enums
C:\Repos\StepMania\src\Grade.cpp(56): error C2440: 'type cast': cannot convert from 'double' to 'Grade' [C:\Repos\StepMania\Build\src\StepMania.vcxproj]
  C:\Repos\StepMania\src\Grade.cpp(56): note: Conversions between enumeration and floating point values are no longer allowed
2020-06-13 15:40:50 +02:00
RhythmLunatic b300bb516d Format it like the other lines 2020-06-12 15:21:08 -05:00
RhythmLunatic 0befd8bf10 Write description tag to cache 2020-06-12 15:19:26 -05:00
quietly turning 3ba2b8ba54 fix Course.cpp for 5_1-new
random_up_to() was written for SM5.2 and RageUtil's RandomInt() seems
a suitable replacement for 5_1-new.
2020-06-07 20:09:37 -04:00
Jonathan Albertandquietly turning f49229809d Minor fixes 2020-06-07 20:07:49 -04:00
Jonathan Albertandquietly turning 1e6b0d7f35 Fix trail generation in endless mode courses 2020-06-07 20:07:17 -04:00
Jonathan Albertandquietly turning 3bb1045ce1 Fix crash when getting matching steps in endless courses 2020-06-07 20:01:08 -04:00
Jonathan Albertandquietly turning ff75af1f20 Fix song selection in trail generation (for nonstop/oni) 2020-06-07 20:00:32 -04:00
quietly-turningandGitHub 42f989b684 Merge pull request #1923 from eliask/fix-lrc-parsing-crash
Fix LRC parsing crash for unrecognized values
2020-06-06 00:11:45 -04:00
Richard Loxley 9ab72f4fb5 Fix issue 2005: incorrect announcer sound files are played on the evaluation screen if the current theme doesn't have exactly 7 grade tiers.
This change maps the new grade tiers evenly to the 7 old grade tiers to trigger the correct sound files.
It also extends that mapping to the grade tiers used for playing cheering for the top few tiers.
2020-06-04 16:40:28 +01:00
RhythmLunatic 12e983ba51 add GetCurrentSections 2020-05-26 22:36:53 -05:00
Marshall Polaris a10f16cb3c Log errors while reading joystick input 2020-05-15 21:24:16 -07:00