Commit Graph
193 Commits
Author SHA1 Message Date
TatshandColby Klein 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 GuzekandColby Klein c3c085dc9e backport fullscreen fix for macOS (#1524)
This backports the recent fullscreen fix for macOS on the master branch to the 5_1-new branch.  Credit goes to GitHub user aeubanks for the original fix.
2017-08-14 14:06:01 -07:00
Drew BarbarelloandColby Klein 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 PableandColby Klein 55281cebd2 keep xp on life support a bit longer, check for vista+ stuff (#1456) 2017-05-25 00:34:33 -07:00
Colby Klein c5f51d1e5a Call DwmFlush on VSync (might help with stuttering). Note: Requires Windows Vista or later. 2017-05-24 03:37:25 -07:00
Dan GuzekandJason Felds a7d4919d83 Merge pull request #1302 from dguzek/macOS-10-12
fix compilation on macOS 10.12
2016-12-01 16:29:13 -05:00
Jason Felds bec18a0d36 Fix minor windows pedantic warnings. 2016-03-27 22:03:15 -04:00
Jason Felds edabf4605b Clean up three sets of warnings:
* Ensure all switches have a default when working with enums.
* Match defined new[] calls with delete[] calls.
* Respect variable initialization order.
2016-03-24 18:30:29 -04:00
Kyzentun Keeslala 79f4037088 Changed GetDisplayResolutions on Windows to ignore modes with less than 32bpp and not test modes that have already been tested. Changed ScreenOptionsMasterPrefs to cache the resolutions list once when the screen starts instead of fetching it multiple times. 2016-01-14 16:33:19 -07:00
Kyzentun Keeslala d810b10d98 Added code to disable x11 dpms on startup and restore it on exit. 2016-01-05 16:28:14 -07:00
latot 47b0f83aed Remove WITH_VERSION_INFO, version info by default 2015-10-22 21:21:47 -03:00
Jason Felds de1313ab4d Merge pull request #855 from wolfman2000/wolf-linux-backtrace
Backtrace stuff ahoy!
2015-10-08 20:10:29 -04:00
Jason Felds f372df0d2c Allow building with backtrace symbols. 2015-10-08 19:46:52 -04:00
Jason Felds 41a2d829e4 FINALLY shut ffmpeg up!
In all seriousness, no need for this definition anymore.
2015-10-08 19:06:26 -04:00
Jason Felds 6f53f1c3e5 Backtrace stuff ahoy!
* Properly detect and utilize libdl.
* Set the backtrace method appropriately.
* Remove an unused backtrace format. No references existed.
2015-10-08 18:42:44 -04:00
Jason Felds d9a3c9cf97 Use cmake to determine which string func we need.
On a side note, better to default to linux names when possible.
2015-10-07 19:00:16 -04:00
Jason Felds b8700f11a7 Finally bring ffmpeg 2.1.3 to Mac OS X.
This replaces #611.
2015-10-03 22:32:14 -04:00
Jason Felds b7c62ee645 Missed a spot on Linux. 2015-10-02 22:18:31 -04:00
Jason Felds 99b79e5410 Generate verstub.cpp through raw cmake.
There is no need for an extra program.

As a bonus, generate a consistent windows vdi file.

There is still an issue with actually *reading* the vdi, but that's for someone else to tackle.
2015-10-02 21:56:02 -04:00
Jason Felds b3a5a82b5c Bring us closer to working with MinGW again.
The biggest obstacle right now deals with FFMPEG. I insist on being able to utilize the git clone/submodule (5_1_0) section. I'm just struggling with the commands.

As part of this commit, some linux files are restored in the compilation chain. This is for consistency with the old Makefile approach.

Assistance will be needed at this point to complete MinGW support.
2015-09-27 17:07:15 -04:00
Jason Felds 537af8d866 Remember to fill in new char's.
...we seriously need to use a standard <string>.

*glares at Yaniel*
2015-09-26 21:03:46 -04:00
Jason Felds 8512665f27 NOW all of the buffer calls should be dead. 2015-09-19 20:06:33 -04:00
Jason Felds 4feddab08e Allow VS2015 to compile StepMania. 2015-09-14 22:45:56 -04:00
Jason Felds e093d204c8 Use proper cmake detection of features.
This attempts to organize all needed items and places appropriate defines
in a single location. Redundant comparisons/defines were removed when noticed.

A few caveats, however:

* This may be better targeted towards the 5_1_0 branch instead of master right now.
* Cmake will run a little slower on configuration/generation now. That's due to the sanity checks it runs.
* There are some more checks to be added later, but this should be a solid start.

Thanks to the [libical](https://github.com/libical/libical) project for inspiration.
2015-09-05 10:51:17 -04:00
Prcuvu 2ff411c7fc Use Visual Studio implemented functions. 2015-09-01 12:21:11 +08:00
Renaud Lepage a2183d15c1 Reactivating Crash Manager on the Linux platform 2015-05-25 09:57:43 -07:00
Jason Felds dc94728628 Introduce cmake (min 2.8.12) to StepMania.
tl-dr: view the Build directory to see.

This is intended to replace the project files that we presently maintain
so that only a single set is needed instead of multiples.

The following setups were used for testing:

* Windows 8 and Visual Studio 2013 Desktop Express
* Windows 7 and Visual Studio 2012
* Mac OS X Mavericks and Xcode
* Ubuntu and makefiles
* Fedora 21 and makefiles

All three operating systems can generate projects, compile, link, and
run. Windows and Mac OS X users will find their compiled binary in the
same location as before, but Linux users will be surprised: it goes
straight into the root directory, along with a symlinked GtkModules.so
as appropriate. There is no more need for a manual symlinking step.

Known issues:

* At this time, MinGW likely does not work. Extra time will be needed.
* The WITH_JPEG option may go away, and we'll just always require it.
* Some linux libraries can use the system equivalents, but that is not up yet.

For more information, check out the Build directory.
2015-03-21 20:15:15 -04:00
freem 2d4c431c3e 32-bit verinc.exe; I don't know what you guys were thinking 2015-02-01 23:24:31 -06:00
Ben "root" Anderson 615d4e6ef6 That shit was deprecated back in Windows XP! Service pack nothing, I'm talking RELEASE DAY. 2015-01-29 15:29:33 -06:00
Jason Felds 0a4902c648 ...and the Mac side. 2015-01-28 22:09:38 -05:00
Jason Felds 7a6db33644 Adapt to recent version_num changes.
...I don't get what's going on either.
2015-01-28 21:45:23 -05:00
Ben "root" Anderson 7a33b8a44a Program version is now in a const from a generated file, not a static macro. Plus all the mess I had to make to get that to work. 2015-01-28 19:21:24 -06:00
Ben "root" Anderson 0d394e269d Declare version_* in only one place. Define them in ver.cpp (at least on autotools). 2015-01-28 16:45:19 -06:00
Thai Pangsakulyanont a4f9df9cbc Merge branch 'master' of https://github.com/stepmania/stepmania into MacOSX10.9.sdk 2014-10-11 12:40:18 +07:00
freem 4629bdef5c Make the log mention Windows 8 instead of "unknown NT-based"
(fwiw, I don't like windows 8. also can someone tell me what version number windows 10 will be using?)
2014-10-06 17:50:47 -05:00
freem a34f05ee95 revert mapconv.exe back to older version
(even though it doesn't really work well with Visual Studio 2010 and NoteData:AddATIToList/RemoveATIFromList... see issue #262)
2014-08-27 12:33:46 -05:00
freem 84a8d3adfb replace psychopathic mapconv.exe with one compiled by "g++ (rev5, Built by MinGW-W64 project) 4.8.1"
This is probably the part where someone says "why do we have the compiled binaries in the source tree anyways if they're just going to cause problems like this?"
2014-08-05 13:52:10 -05:00
Thai Pangsakulyanont c4c0e9b0a1 [WIP] Update to Mac OS X 10.9 SDK
Untested Parts
--------------

`ArchHooks_MacOSX::DumpDebugInfo()`

- Used `sysctlbyname` to find the Mac OS X version instead of the deprecated `Gestalt`.
    - http://stackoverflow.com/questions/11072804/how-do-i-determine-the-os-version-at-runtime-in-os-x-or-ios-without-using-gesta

`MemoryCardDriverThreaded_MacOSX::Unmount( UsbStorageDevice *pDevice )`

- Updated to use `sync_volume_np` instead of deprecated `PBFlushVolSync`.
    - http://lists.apple.com/archives/carbon-dev/2010/Nov/msg00030.html
2014-07-25 09:14:06 +09:00
freem 5644917565 update windows resources file for next version 2014-02-19 21:28:39 -06:00
Colby Klein 03fa5d0f2e Merge pull request #52 from Suisse00/stepmania_pullrequest
Upgrade to VC++ 2013
2014-02-18 14:57:55 -08:00
Suisse00 ae3a056b2d Fixed compiling issue with lrintf() on VC++ 2013
Added a preprocessing condition which don't implement lrintf() with VC++
>= 2013 because it is in the SDK
2014-02-16 20:48:05 -05:00
Jason Felds 9bbefe2240 Attempt prep work for 64 bit just in case.
If SDL2 fails, someone (not me) will have to try to
keep these updated.
2014-02-12 19:40:27 -05:00
Renaud Lepage 5cce28d8ab Corrected per project spec 2014-01-26 19:41:40 -05:00
Renaud Lepage e9226aedc4 Centralize SpecialDirs. 2014-01-26 19:14:41 -05:00
Ben "root" Anderson 9538385a6a Remove misleading comment. The code is sit up for these to only be called once. 2014-01-21 23:02:10 -06:00
Ben "root" Anderson a3e241f471 Apparently Mac needs this too 2013-11-09 18:36:57 -06:00
Jason Felds 09f8219a67 Revert "Xcode 5 fixing, part 1."
This reverts commit bfab952b6a.
2013-11-06 23:33:31 -05:00
Jason Felds bfab952b6a Xcode 5 fixing, part 1.
Need someone on xcode 4.x to confirm this works.

Once this file gets fixed, the others will be removed.
2013-11-04 19:45:23 -05:00
Ben "root" Anderson f705817379 Let autoconf set this 2013-10-31 21:22:24 -05:00
Ben "root" Anderson 48ca0a5908 Move our winres.h out of the way so VS does not get confused 2013-10-31 20:43:51 -05:00