Commit Graph
403 Commits
Author SHA1 Message Date
din e799b292da ITGIO Support for Linux 2020-05-08 19:49:40 -05:00
aeubanks e16017bd1a Clean up InputHandler_SextetStream (#1985)
Before, this ended up calling a virtual method in the constructor,
which C++ does not allow, and I got weird crashes.

This removes a lot of unused code and gets rid of unnecessary abstractions.
2020-04-30 13:24:23 -07:00
Prcuvu b38377403e Add LOG->Warn on fallback to English, for consistency on all platforms 2020-02-08 17:08:25 +08:00
Prcuvu 2baade1dd7 ArchHooks modified for macOS 2020-02-08 17:03:27 +08:00
Prcuvu d893c84b7b ArchHooks modified for Unix 2020-02-08 16:08:02 +08:00
Prcuvu de4dc62846 Split Chinese language into Simplified script and Traditional script
ArchHooks function modified for Windows.
2020-02-08 15:46:00 +08:00
Prcuvu 532c430d8f Fix XInput library linkage for compatibility down to Windows Vista 2019-12-31 16:04:17 +08:00
Matias Hilden cb10b61d34 fix leftover macro loop in JACK sound driver 2019-12-08 13:52:07 +02:00
Martin Natano 7dae1384e6 Sort input devices on Linux (#1926)
* Remove unused function

* Sort input devices on Linux

The readdir() function doesn't guarantee any specific ordering, so the
numbers of joysticks might change when restarting StepMania.
(Empirically this usually only happens after a reboot.)

Let's sort the input devices alphabetically before opening them to have
more consistent numbering and avoid annoying remapping of controllers.
2019-10-29 08:05:29 -07:00
Tracy Ward 81ce0e94d9 Merge: Windows x64 build support (#1899) 2019-10-13 15:56:04 -04:00
Tracy Ward a5a4bb5827 Add support for Raw Thrills I/O (DDR X2 US cabinets) on Windows (#1894) 2019-10-13 03:59:35 -04:00
Prcuvu 44b76446bb Merge branch '5_1-new' into win64 2019-10-06 00:55:50 +08:00
x0rbl 77e2776dad Raw Thrills I/O: Add support for the physical coin counter inside the coin door 2019-10-04 17:44:32 -07:00
Tracy Ward 626e58700e Fix build errors with IH_DirectInput using the Win SDK
* dxguid.lib no longer exists.
* older SDKs (like the v140_xp toolset) don't provide XUSER_MAX_COUNT.
2019-10-04 09:46:51 -04:00
Tracy Ward dfb524a547 Fix incorrect usage of GetLastError in LLW_Win32
GetLastError must be called before any other function which could possibly
change it, otherwise we will lose the error code.

(backport from master)
2019-10-04 08:56:03 -04:00
Prcuvu 1fa9bb387c Fix for *nix build 2019-10-03 12:17:53 +08:00
Prcuvu 4026d41c16 More Windows API type inconsistency fix 2019-10-03 09:33:27 +08:00
Prcuvu 54c067f48d Fix Windows x64 type inconsistency regarding RageTexture 2019-10-03 08:58:14 +08:00
dguzek 17135e0e21 Merge pull request #1868 from RhythmLunatic/mainline
Support any size splash on linux (Again)
2019-10-02 10:18:13 -04:00
Prcuvu 4f864911fc Use SetClassLongPtr compatible for both Windows x86 and x64 2019-10-01 14:14:38 +08:00
Prcuvu e5321deed4 Fix DLGPROC prototype 2019-10-01 14:10:56 +08:00
RhythmLunatic 91c31431e8 back to DOS line endings 2019-09-21 13:48:13 -05:00
x0rbl b4806b0038 Raw Thrills I/O: Added comments listing the author and a summary 2019-09-20 15:37:12 -07:00
x0rbl 6841d0574d Raw Thrills I/O: Minor code cleanup 2019-09-19 00:18:39 -07:00
x0rbl 9481834180 Add pad support for Raw Thrills I/O (DDR X2 US cabinets) on Windows 2019-09-18 03:12:04 -07:00
Martin Kröning 8ab7c7fab9 5_1-new: Fix building with clang/clang++ (#1866)
* Have clang and libc++ working.

If any clang users run into problems, remember to have libc++ and libc++abi set up.
Fixes
stepmania/src/arch/ArchHooks/ArchHooks.h:37:27: error:
      variable has incomplete type 'tm'
        virtual void SetTime( tm ) { }
                                 ^
/usr/include/wchar.h:83:8: note: forward declaration of 'tm'
struct tm;
       ^

* Add noexcept to swap.

See https://github.com/stepmania/stepmania/commit/e860773799f01d02f281c8c39421e7e34658788d#commitcomment-32674320

* Use standard c++11 for handling unexpected exceptions

The cxxabi.h header can make linking difficult.
2019-08-20 18:19:52 -07:00
RhythmLunatic deab68b012 Back to C++ 11 2019-08-13 23:47:59 -05:00
RhythmLunatic 0a9718374b support any size splash on linux 2019-08-13 23:43:35 -05:00
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
RhythmLunatic 8b8cb969d1 Add missing PacDrive Win32 driver 2019-04-18 09:14:41 -05:00
Colby Klein 96384e4c05 Fix ShowMouseCursor preference on windows 2019-03-18 15:52:50 -07:00
Colby Klein b80f5e3ed4 microsoft why 2019-03-17 10:55:09 -07:00
Tatsh b8a79cd0f6 Allow linking against system libraries for almost everything (#1790) 2019-02-16 08:32:52 -08:00
electromuis 021d494157 Padmiss support (#1771)
* Add support for folder based MemoryCard usage
* Add support for the padmiss.com network by saving scores to individual files.
2019-01-19 08:07:13 -08:00
Tatsh d395028bd4 Mac fixes (#1776)
* macOS build fixes (#1773)

* macOS build fixes

Add missing headers
Threads_Pthreads: do not call pthread_setname_np() on macOS as it does not do
the same as on Linux
DebugStr() -> os_log()

* Make the project build with Makefiles on macOS

* Fix getting modifier key state on Mac (#1774)

We really need to clean up all Carbon calls here (many will go away when the
project switches to SDL2 for all platforms)

* Fix Xcode build; bump minimum version of macOS (#1775)

* Build fixes for the "Unix Makefiles" generator
Pass CMAKE_BUILD_TYPE to the external projects
* Fix indent
2018-12-31 19:28:59 -08:00
Dan Guzek 9088a2e57f backport macOS AudioDevice cleanup into 5_1-new (#1735)
* Replaced Deprecated AudioDevice Functions

* Fixed an oversight.

I still didn’t see any issues.
2018-09-11 04:18:57 -07:00
Rorroh f49bcdb5f6 Fixed keyboard ghosting bug (stepmania/stepmania#1736) (#1737) 2018-08-26 18:20:31 -07:00
Chris Pable c200600c65 Fix audio drivers with a low sample count maximum value (#1697) 2018-08-02 08:28:24 -07:00
Gareth Francis e7b8cc2785 Preserve event timestamps in X11 input driver
The X11 XKeyEvent structure (and others) include a timestamp
field, with 1ms resolution.
This was previously ignored causing the input timestamps to be
set to the middle of each frame.
If the timestamps are passed through then the event timestamps are
not coupled to the framerate and the polling issues are resolved.
2018-06-08 17:19:51 +01:00
Gareth Francis 144fba2e15 Bugfix/1698 linux event m_bShutdown undefined (#1699)
* Fix build
2018-06-07 13:17:02 -07:00
Gareth Francis 252e1e7b1f Initialise variables to ensure input thread is started (#1696)
* Initialise variables to ensure input thread is started

m_bShutdown was not initialised. This meant that the input
thread would never be started seemingly at random.

In my case m_bShutdown was always false when running in fullscreen
but not in windowed mode for some reason
2018-05-26 04:30:19 -07:00
Gareth Francis 23889bd7c8 Avoid crash in ~LightsDriver_SystemMessage (#1663)
* Avoid crash in ~LightsDriver_SystemMessage

This will avoid a crash caused by the fact LIGHTSMAN is destroyed
after the other MAN objects

* Rework code path for turning lights off on exit

Calls to LightsDriver::reset removed from each driver to avoid any crashes

LightsDriver::reset renamed to Rest to match surrounding style

Added LightsManager::TurnOffAllLights, called before XXXMAN objects are deleted
2018-05-10 18:04:44 -07:00
Gareth Francis 1369c1fb39 Turn lights out on exit (#1646)
* Add LightsDriver::reset

Function will reset all lights to off
Function needs to be called by each of the driver implementations
as needed during destruction

* Reset lights to off on exit
2018-02-28 11:52:01 -08:00
concubidated c7dcdf95c7 Uodate user data directory to 5.1 for Linux
This has already been fixed for OSX and Windows
2017-12-30 18:16:03 -08:00
Drew Barbarello 557be7cf1b 5 1 new backport x11 fs rework (#1485)
* Use XRandR 1.2 to set fullscreen resolution for single output

Squash of roothorick's PR #497
(also includes Kyzentun's CMake changes from PR #716)

* Cherry-pick json c++1x stuff (b9e3d7174e)

* Cherry-pick c++11 support from 5bba5c0038 and 9f8b045309

* rework Linux (X11) fullscreen, improve display-related Graphics Options

Implement option to select between monitors for exclusive fullscreen mode
on X11 (using XRandR 1.2), or use a fullscreen borderless window.

Reimplement resolution/refresh rate/display mode-related option rows
using Lua, update choices dynamically so only known-good groupings of
resolution/refresh rate/aspect ratio can be selected.

Minimally update Windows/MacOS LowLevelWindow implementations to support
changes made for Linux side. Fullscreen Borderless Window/multi monitor
support from X11 not implemented for those in this commit.

* allow forcibly disabling xinerama use on Linux

When libXinerama is available, SM tries to use it to find the proper
monitor indexes to use to set _NET_WM_FULLSCREEN_MONITORS (on borderless
fullscreen). xfwm4 seems to assume that monitors are numbered in increasing
order from left to right (rather than using the Xinerama-assigned numbers),
so _NET_WM_FULLSCREEN_MONITORS misbehaves on Xfce.

This commit bypasses use of libXinerama, and instead forces SM to induce fullscreen
on the desired monitor in the backup, hacky way: remove all window hints, move window
to desired monitor, then add _NET_WM_STATE_FULLSCREEN hint. This works on
mutter and Xfce.

* Remove multiple warnings on redundant define.

This used to be hard-coded due to pthread related items, but now it's dynamically determined.

* fix _fallback menu behavior for unrecognized aspect ratios

* Fix error recreating existing FS texture

* Bump deployment target to 10.7 to use libc++ on XCode 8

* Add explicit casts to please clang

* Update changelog
2017-06-18 08:55:16 -07:00
Chris Pable 55281cebd2 keep xp on life support a bit longer, check for vista+ stuff (#1456) 2017-05-25 00:34:33 -07:00
Austen 631523ace3 XInput support for the DirectInput driver (#1443)
* XInput support for the DirectInput driver

The XBox360 controller driver for windows has a flaw where the DirectInput backwards-compatible driver registers dance pad arrows as a hat and will not allow opposite arrows to be pressed at the same time. This is not a problem in the XInput interface since the arrows are registered as a DPad and each arrow is a button.

This patch adds XInput support for the DirectInput driver. On initialization XInput controllers will be detected and registered first, followed by enumerating DirectInput devices. During DirectInput enumeration any XInput-capable controllers will be bypassed so that they aren't registered twice.

* Fix joystick input for xinput driver

Needed to compensate for deadzones, magnitude of the inputs, and that the Y axis was reversed.

* Remove unnecesarry using statement for vectors
2017-05-23 14:57:55 -07:00
Dan Guzek a7d4919d83 Merge pull request #1302 from dguzek/macOS-10-12
fix compilation on macOS 10.12
2016-12-01 16:29:13 -05:00
Kyzentun Keeslala 3d98fc7a60 Add oitg_zoom_mode_actor. Turn off minimaid lights when exiting. 2016-08-29 12:43:04 -06:00
Kyzentun Keeslala 832fd0e1b6 Use case insensitive lookup when removing invalid sound drivers, the same lookup used when creating the sound driver. Change ffmpeg fetching to fetch from stepmania's mirror because ffmpeg.org moved theirs. 2016-08-04 16:57:31 -06:00