Commit Graph

35923 Commits

Author SHA1 Message Date
Tracy Ward b0765e9c56 Merge: Remove DirectX from README.md (#1925) 2019-10-26 00:40:14 -04:00
Prcuvu 35fe976d5b Update README.md 2019-10-26 10:42:54 +08:00
Elias Kunnas 0bd2365ebc Use libXtst again with CMake (#1908)
* Use libXtst again with CMake

It seems that Xtst was never used after the transition to CMake.

This is related to https://github.com/stepmania/stepmania/issues/1902.

* Travis: install libxtst-dev
2019-10-24 08:22:42 -07:00
Tracy Ward 9bf8f40a1c Merge: Upgrade to libtomcrypt 1.18.2 (#1919) 2019-10-23 20:10:16 -04:00
Prcuvu 333abe5934 Upgrade to libtomcrypt 1.18.2 2019-10-15 17:43:01 +08:00
Martin Kröning 65a69ea874 Linux: Use GLVND if available. (#1860)
Fixes #1859.
Uses CMake's FindModule for OpenGL.
2019-10-13 13:30:41 -07:00
Tracy Ward 81ce0e94d9 Merge: Windows x64 build support (#1899) 2019-10-13 15:56:04 -04:00
Prcuvu a51971f58d Remove existing DLLs in Program folder before copying 2019-10-14 01:03:08 +08: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
Tracy Ward 04f7a8c466 Rewrite BG/FG changes parsing (#1916)
* Handle commas and equals in BG/FG change tags

Rewrote parsing of BGCHANGES and FGCHANGES tags to be able to
handle people putting commas and equals in the filenames. For the
value positions which can be filenames, check to see if we can
recognize any filename from the song directory followed by a comma,
equal, or end of string. If we can, use that. If not, just treat it
the same as before, looking for the next comma or equal.
2019-10-12 11:41:39 -04:00
Tracy Ward fd92cc2ed8 Delay writing image cache index while loading songs (#1917) 2019-10-12 11:37:38 -04:00
Tracy Ward f104e813c4 Delay writing image cache index until after load complete
While loading all songs, disable writing the index file for the image
cache, in order to speed up loading and cache generation, similar to
how the song cache index file write is delayed.
2019-10-12 11:24:13 -04:00
Prcuvu 44b76446bb Merge branch '5_1-new' into win64 2019-10-06 00:55:50 +08:00
Tracy Ward 2cbac72293 Pull changes from upstream 2019-10-05 10:40:17 -04:00
Tracy Ward 7ae3cfe99c Remove dependency on DirectX SDK (#1905)
Backport removal of DirectX SDK requirement
2019-10-05 10:35:37 -04:00
Prcuvu 8674dcca33 Update AppVeyor CI badge [ci skip] (#1909) 2019-10-05 07:30:28 -07: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
Prcuvu b1e5d9f46d A missing data type to change 2019-10-05 05:34:06 +08:00
Prcuvu 96db8d3be7 Update VDI format for Windows x64
Update VDI format to utilize 64-bit pointer types for stack tracing.
Revise mapconv and CrashHandlerChild.
Tested on both 32-bit and 64-bit builds to be working properly.
2019-10-05 05:08:20 +08:00
Tracy Ward d7f9c8d7b6 Remove more DX CMake bits
There is also a weird bit in here that seems like it should be
whether to use system or included libpng, but it actually does
the directx include dir on one side.
2019-10-04 11:34:24 -04:00
Tracy Ward 8e7c4df49c backport legacy credits from master (#1906)
* Restore lost Stepmania Team credits

Back in 2009, an overhaul was made to the theme to replace the credits
screen. That new screen had a short list of credits, along with a note to
"remake this list". That never happened, and over time, the original credits
list was lost in the shuffle. People that worked on Stepmania in the past,
who felt their contributions were enough to warrant credit, should still
get credit.

This list was pulled directly from the git history under hash
fb1165e6be
It could probably be cleaned up a bit. (For instance, the theme has been
completely redone. Should we still include the Graphics and Theme sections?
Also, the web section. And the thanks section? Those are pretty much just
shoutouts.)

* Name change. Deal with it >8)

* Change encoding of restored credits to utf-8

The list used "fancy" quotes. I should have saved this at utf-8 to
begin with.
2019-10-04 07:37:07 -07:00
Tracy Ward c1e4d56f5e Fix indentation in CMakeData-os.cmake 2019-10-04 09:53:20 -04: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 2bce815a1a Fix build errors with RageDisplay_D3D using Windows SDK
Also: Implement d3d9 screenshots without d3dx9

This only implements the two most likely surface formats. Does anybody
actually use 16-bit rendering anymore? (If yes, I'll do the slower path
through StretchRect to convert)

(backport from master, where it was two commits)
2019-10-04 09:35:44 -04:00
Tracy Ward 6aedffabf3 Add GetErrorString to DirectXHelpers; Add error list
* Another thing lost was DXGetErrorString. Re-implement it.
* Include a partial list of errors.

(backported from master, where it was two commits)

Note: If we ever drop support for windows older than win8, we can
remove this and just call FormatMessage.
2019-10-04 09:29:01 -04:00
Tracy Ward e9ca966af7 Allow CreateScreenshot to return nullptr
RageDisplay_D3D::CreateScreenshot will be returning nullptr until I get
around to re-implementing it without using d3dx, which is another thing that
did not make the move into the Windows SDK.

(backport from master)
2019-10-04 09:00:24 -04:00
Tracy Ward dce0d0f91c Fix potential security issue with FormatMessage use
From MSDN:

Security Remarks
If this function is called without FORMAT_MESSAGE_IGNORE_INSERTS, the
Arguments parameter must contain enough parameters to satisfy all insertion
sequences in the message string, and they must be of the correct type.
Therefore, do not use untrusted or unknown message strings with inserts
enabled because they can contain more insertion sequences than Arguments
provides, or those that may be of the wrong type. In particular, it is
unsafe to take an arbitrary system error code returned from an API and use
FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS.

(backport from master)
2019-10-04 08:58:05 -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
Tracy Ward cdc4bd9da2 Replace missing dxguid.lib functionality
One thing that did not make it into the move to the Windows SDK is the
dxguid.lib library, which defined the IIDs for all of the DirectX interfaces.
This replaces that, defining the ones we use. Currently, we only need to
define the DirectInput IIDs, so that is all that is here.

(backport from master)
2019-10-04 08:48:19 -04:00
Tracy Ward 46e1410932 Remove DirectX SDK search from CMake
The DirectX APIs are now part of the Windows SDK. We should stop relying on
the ancient SDK. This is step one.

(backport from master)
2019-10-04 08:45:34 -04:00
Tracy Ward 238ad72847 sync 5_1-new with upstream 2019-10-04 08:02:54 -04:00
Tracy Ward 75f7d8876d Merge pull request #1903 from Prcuvu/cmake_use_folders
Reenable CMake USE_FOLDERS
2019-10-04 06:59:44 -04:00
Prcuvu 2a8ca62ba6 CrashHandlerChild rva type fix 2019-10-04 15:41:05 +08:00
Prcuvu 4baa25710d Create a thread for exception handler for separate stack 2019-10-04 15:28:17 +08:00
Prcuvu b26b711e47 Reenable USE_FOLDERS 2019-10-04 14:09:11 +08:00
dguzek 187349bfd0 Merge pull request #1900 from RhythmLunatic/mainline
Fix pump couples mode
2019-10-03 14:40:05 -04:00
Prcuvu 31604f48ce Use static array for new stack instead of calling VirtualAlloc 2019-10-03 14:01:59 +08:00
Prcuvu 1fa9bb387c Fix for *nix build 2019-10-03 12:17:53 +08:00
Prcuvu dea6917f02 Explicitly expand size_t on min and max overload 2019-10-03 09:44:07 +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
Prcuvu 7e96188088 Reserve register parameter stack space for MainExceptionHandler
Windows x64 functions always assume there is at least 4 QWORDs' length of space
reserved for register parameters (RCX, RDX, R8 and R9) after the caller return
address even though there are less than 4 parameters. MSVC compiler will try to
utilize vacant space there. If we forget to reserve that block, the exception
handler will abort.

Reference: https://docs.microsoft.com/en-us/cpp/build/stack-usage
2019-10-03 04:51:08 +08:00
RhythmLunatic 63735535bf Fix pump couples mode 2019-10-02 11:07:47 -05: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 1dc2c9cc1f Fix indentation [ci skip] 2019-10-01 18:09:22 +08:00
Prcuvu 90eb7407fc Find DirectX libraries based on platform architecture 2019-10-01 17:07:45 +08:00
Prcuvu d63957ed0b Fix CMake syntax 2019-10-01 16:48:00 +08:00
Tracy Ward 60d6ebce92 replace "asm nop" with an intrinsic in msvc
MS is deprecating inline assembly, and has completely removed it from
the x64 compiler. The solution is to use compiler intrinsics. This will
hopefully make building for x64 easier in the future. (I might even
spend some time attempting to build it for x64).
2019-10-01 15:04:16 +08:00
Prcuvu 67ebec3320 Do not specify /arch:SSE2 to silence a MSVC warning 2019-10-01 15:03:21 +08:00
Prcuvu ef4376cb6e Implement a working CrashHandler::ExceptionHandler for Windows x64 2019-10-01 14:56:09 +08:00