Commit Graph
25 Commits
Author SHA1 Message Date
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
Kyzentun Keeslala 10c304a80d Add libmmmagic lights support to linux. Mostly copy paste of windows driver. 2016-02-13 17:53:39 -07:00
Jason Felds 166e4c8287 Allow optional logging of timing segment mods.
For those with many songs, it gets annoying.
2015-11-01 06:49:31 -05:00
Jason Felds 47d59c9dd7 Default to linking with /MT instead of /MD for VS. 2015-10-27 19:33:05 -04:00
Jason Felds e0290fc856 Compile the Texture Font Generator with cmake.
This program is not built by default. Enable one of the following options to utilize it:

* WITH_FULL_RELEASE
* WITH_TEXTURE_GENERATOR

It is heavily advised to make sure the MFC library is installed for Visual Studio and the computer is restarted afterwards.

As a bonus, `zlib1.dll` can go away now.

The old visual studio projects are still in play in case others still struggle with the code fixes.
2015-10-27 18:11:37 -04:00
Jason Felds 3dd2f54678 Add IRC feedback from Windows build servers. 2015-10-25 13:12:14 -04:00
Jason Felds d0df75205f Allow customizing the number of jobs for ffmpeg.
Yes, it is now possible to use a different number of jobs for ffmpeg and stepmania proper.
2015-10-25 07:07:48 -04:00
Jason Felds 7ed09304d0 Merge pull request #895 from latot/master
Remove WITH_VERSION_INFO, version info by default
2015-10-22 20:53:44 -04:00
latot 47b0f83aed Remove WITH_VERSION_INFO, version info by default 2015-10-22 21:21:47 -03:00
latot e6717903c3 WITH_SYSTEM_FFMPEG add description 2015-10-22 20:51:05 -03:00
Jason Felds b0465a8622 Revert "Default to GPL off for ffmpeg." 2015-10-04 14:33:06 -04:00
Jason Felds 27ef5301ec Default to GPL off for ffmpeg. 2015-10-04 12:53:56 -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 91361e5d29 Allow changing WAV and OGG settings for all OSes.
As before, set WITH_WAV and WITH_OGG to off to limit your playing experience. Why this would be done is beyond me, but it's available.
2015-09-12 11:58:57 -04:00
Jason Felds b143f5afca Improve and enhance WITH_MP3.
* All OSes can now take advantage of it.
* Mad is not linked if not utilized.
* Mac OS X side has a cleaner library list setup now.
2015-09-12 11:23:45 -04:00
Jason Felds 2448e67641 Switch portable tomcrypt to ON by default. 2015-09-09 20:47:46 -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
Jason Felds 0075192ada ...silly typo. 2015-08-20 18:24:50 -04:00
Jason Felds 4344d0114a Have Windows build with Minimaid on by default. 2015-08-20 16:50:10 -04:00
Renaud Lepage a2183d15c1 Reactivating Crash Manager on the Linux platform 2015-05-25 09:57:43 -07:00
Jason Felds b934a25cb2 Try to not need WITH_LIBVA. 2015-05-19 20:08:15 -04:00
Jason Felds edecedd3ee Allow disabling CrystalHD for ffmpeg. 2015-05-08 22:12:47 -04:00
Jason Felds 028229f881 Allow for assembly free[r] tomcrypt builds. 2015-04-16 18:31:29 -04:00
Jason Felds e4807b9b85 Allow for the va library to be used with ffmpeg.
This needs verifying.
2015-04-15 18:22:36 -04:00
Jason Felds 361df3a496 Provide initial cpack support. Mainly for devs.
There are two targets you may not be familiar with, `install` and `package`.
* For Linux, `install` now defaults to `/usr/local`, but you can set it back to `/opt` with `cmake -DCMAKE_INSTALL_PREFIX=/opt` if you wish.
* For Windows, `install` may not work, but this is not a target you would want usually.
* For Linux, `package` has not been tested yet. It will likely create an archive file of what is installed.
* For Windows, `package` will create an NSIS package that can be used to install StepMania. One minor change as a result is that the binary and companion dlls will be placed in `bin` instead of `Program` now, but it makes no difference code-wise.

Mac OS X users: for now, use the `dmg` target instead.

This commit does *not* deprecate the original nsi script yet. The Texture Font Generator program has not been addressed yet.
2015-04-11 23:47:42 -04:00