Commit Graph

62 Commits

Author SHA1 Message Date
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
Kyzentun Keeslala d3ca850ea6 Forgot to add mmmagic.h 2016-02-16 20:11:58 -07:00
Kyzentun Keeslala 4b0e6f3e0a Moved minimaid linking command to proper place in src/CMakeLists.txt. Removed wrapper function pointers from LightsDriver_LinuxMinimaid.h because it doesn't load a dynamic lib. Link udev when linking libmmmagic. 2016-02-16 20:06:46 -07:00
Kyzentun Keeslala 385c1dd525 Forgot to add mmmagic cmake project file. 2016-02-14 22:58:57 -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
Naftuli Tzvi Kay aa0e8690b7 Compile dependencies statically into the binary.
On Linux when building this under RPM, RPM insisted on linking in
standard system libraries like libpng, libjpeg-turbo, libGLEW,
Lua, etc. This patch causes all dependencies to be statically
compiled into the binary, which is ideal as the alternative is
segfaulting because of incompatible library changes.

StepMania also uses a modified Lua library which exports functions
that don't exist in any standard Lua library, so there's no easy
way around this.
2016-02-12 12:07:38 -08:00
Prcuvu de5f3721ef Cleaning up deprecated binaries and VS projects. 2015-10-06 19:23:48 +08:00
Jason Felds fdac0835b8 Use ffmpeg 2.1.3 on Windows.
Once again, thanks to Zeranoe's builds.
2015-10-04 14:39:07 -04:00
Prcuvu 457adef083 Remove lua.c from CMake project. 2015-10-02 19:10:03 +08:00
Jason Felds 0382929bd4 Build vorbis & vorbisfile in Windows now. 2015-09-20 13:13:47 -04:00
Jason Felds baebe951b8 Enable static compiling of ogg.
Using "newogg" as the directory since I wish to reserve libogg for eventual `git submodule`-ing.
2015-09-20 09:36:38 -04:00
Prcuvu 4ca2ea289f Remove old jpeg.lib. 2015-09-19 15:40:13 +08:00
Jason Felds 95d73e9df1 ...these other files were command line programs.
They are not needed here.
2015-09-13 13:30:41 -04:00
Jason Felds 66b371a6bb Corrections to the jpeg compilation fix.
* Only compile one memory manager.
* Remove the no longer used jpeg.dll file.
2015-09-13 13:27:06 -04:00
Jason Felds 68b3620bac Allow proper compiling of libjpeg for windows.
This expands on #777 to work with jconfig.h properly.

To facilitate these operations, a new macro was added for doing compile tests.

Note that this commit does NOT bring in the other files associated with this version of libjpeg.

At some point, it would be desirable to automatically get the files as part of the cmake configuration step, similar to ffmpeg.
2015-09-13 13:10:58 -04:00
Jason Felds 381870f9ea Allow libmad to be compiled in Windows.
This removes the need for an externally built library, thus officially removing the deprecated Xbox projects.

Other minimal changes were made to ensure consistency. Comments will be made in the PR.

Thanks to @Prcuvu for the initial push.
2015-09-07 09:50:01 -04:00
Jason Felds 42ad044817 Linux broke somehow. Restore it with system jpeg. 2015-06-19 20:53:13 -04:00
Jason Felds 028229f881 Allow for assembly free[r] tomcrypt builds. 2015-04-16 18:31:29 -04:00
Jason Felds 33f183938e Allow for system pcre to take precedence. 2015-03-22 15:46:53 -04: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
Jason Felds 9738ba9b20 Move JSON to separate project (2011) 2014-03-21 21:22:25 -04:00
Jason Felds 0b1de9ba87 Correct my mistake from 83df0ad3d6.
...3+ years too late!

This should compile in all systems due to NotesLoaderJson inclusion.
2014-03-21 21:11:19 -04:00
Jason Felds 9912c51e88 Move LUA to separate project (2011) 2014-03-16 14:03:02 -04:00
Jason Felds c578ac69d4 Move GLEW to separate project (2011)
Note: glext.h was removed due to it not being used.
2014-03-16 13:09:07 -04:00
Jason Felds f4eca5cc78 Move PNG to separate project (2011) 2014-03-16 12:04:01 -04:00
Jason Felds 70f7d18b1b Move PCRE to separate project (2011) 2014-03-16 11:40:49 -04:00
Ben "root" Anderson f56df1c44b Bundling ffmpeg, initial attempt. This builds on MinGW; Linux is untested as of yet. 2014-02-09 17:23:19 -06:00
Ben "root" Anderson 3945a618e0 extern/for_mingw revamp 2013-11-07 11:55:03 -06:00
Ben "root" Anderson eb5999f8a8 libpng 1.6 was having issues. Here is 1.5. 2013-10-31 20:18:21 -05:00
Ben "root" Anderson a5eb4376ae Nuke extern libz as mingw-64 packs in a libz and it causes issues with libpng 2013-10-29 23:58:52 -05:00
Ben "root" Anderson dfbda90abe More prebuilts 2013-10-24 14:08:37 -05:00
Ben "root" Anderson f61cd1cfbb First wave of pack-in libs 2013-10-24 11:36:49 -05:00
Jason Felds ae95752408 I'm guessing more HGEOL crap. 2012-05-04 21:58:21 -04:00
AJ Kelly 48ce8eca53 update libpng.lib for windows to latest; should hopefully fix any issues 2012-04-28 18:23:03 -05:00
Thai Pangsakulyanont f9b0998ced remove some files 2012-04-24 00:14:52 +07:00
Thai Pangsakulyanont 503814c435 update libpng to 1.5.10, add precompiled library for ffmpeg 0.10.2 for mac, and Xcode 4.3 project in a separate project.
This should make it possible to build StepMania 5 on Mac OS X.
The catch is that it will only work with Snow Leopard and up, but I think this is better than nothing.

We can support PowerPC / 10.4-10.5 again when someone can make the old Xcode 3 project work.
2012-04-24 00:11:28 +07:00
Austen Dicken 0c94594541 remove the need for libtheora since we have ffmpeg to handle
theora videos
2012-03-12 23:26:34 -05:00
AJ Kelly a17311c38e missing stdint.h for fixing the windows compile 2012-03-11 03:09:18 -05:00
AJ Kelly 0463d3bee7 ffmpeg fixes/changes from cvpcs 2012-03-10 21:07:38 -06:00
Austen Dicken 220a23f452 Update ffmpeg support to 0.10 2012-03-10 18:45:31 -06:00
Colby Klein a191da3f20 Add libjpeg sources, build as a target on OS X. Should hopefully not break building on Windows. Also cleaned up some settings in the project file. Note: this doesn't fix PPC. 2011-12-26 11:30:11 -08:00
Jason Felds 70f1a05c6f Have Glew be compiled on its own.
This is designed to be compatible with VS2008.

It has not been tested yet for VS2010.
2011-12-19 20:13:00 -05:00
AJ Kelly 37c3f724d5 libjpeg-8c lib for windows 2011-08-27 03:47:31 -05:00
AJ Kelly 877143a54e update libjpg in extern folder to v8. still need the .lib file for windows, possibly? idk 2011-08-22 04:17:00 -05:00
Jason Felds 55ad3779d8 Time to actually include all of zlib.
Windows users, you may have to make adjustments.
2011-07-20 18:33:44 -04:00
Jason Felds 9ae1292231 Die XBox Die 2011-07-20 18:20:30 -04:00
AJ Kelly 5c419d4e44 why was this still here? we don't support xbox anymore 2011-06-27 11:29:17 -05:00
Jason Felds 6bb3fa8d0e Downgrade to libpng 1.5.1.
This restores PNG screenshot colors.
2011-05-26 22:52:30 -04:00
AJ Kelly aa58884f8f add NotesLoader/WriterJson 2011-05-10 18:59:09 -05:00
Jason Felds 1657ed4dee Add the other libpng stuff.
We can remove and strip each on a case by case basis.

MAC OS X builds now. Time to get the others.
2011-05-08 17:16:18 -04:00