Commit Graph
35906 Commits
Author SHA1 Message Date
PrcuvuandGitHub 44b76446bb Merge branch '5_1-new' into win64 2019-10-06 00:55:50 +08:00
Tracy WardandGitHub 7ae3cfe99c Remove dependency on DirectX SDK (#1905)
Backport removal of DirectX SDK requirement
2019-10-05 10:35:37 -04:00
PrcuvuandColby Klein 8674dcca33 Update AppVeyor CI badge [ci skip] (#1909) 2019-10-05 07:30:28 -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 WardandColby Klein 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 WardandGitHub 238ad72847 sync 5_1-new with upstream 2019-10-04 08:02:54 -04:00
Tracy WardandGitHub 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
dguzekandGitHub 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
dguzekandGitHub 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 WardandPrcuvu 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
Prcuvu 3cd1bdcc8f Add WinDDK x64 libraries 2019-10-01 14:45:55 +08:00
Prcuvu b9a4d71c23 Add FFmpeg 2.1.3 Windows x64 libraries and auto copy binaries on configuration 2019-10-01 14:37:46 +08: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
Prcuvu b55760811b Make libmad work on Windows x64 2019-10-01 14:04:28 +08:00
Wesley CastroandColby Klein 8f8ce5c48d Fix accessing pointer from temporary object. (#1897) 2019-09-26 10:36:13 -07:00
RhythmLunatic 91c31431e8 back to DOS line endings 2019-09-21 13:48:13 -05:00
Martin KröningandColby Klein 75d9400cb0 5.1: Travis Rework and macOS (#1870)
* Rework .travis.yml, build on macOS

* Align AppVeyor building to Travis building
2019-09-05 16:51:44 -07:00
MaT1g3RandColby Klein 568cd64d69 Fix grammar error in README (#1879) 2019-09-03 22:22:57 -07:00
Martin KröningandColby Klein 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
dguzekandGitHub 4db93fc774 Merge pull request #1867 from mwkroening/appveyor-irc
Use batch syntax for commenting CI IRC postings.
2019-08-10 16:33:11 -04:00
Martin Kröning 71cec195cb Use batch syntax for commenting CI IRC postings. 2019-08-10 18:42:52 +02:00