* 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
299 lines
5.8 KiB
CMake
299 lines
5.8 KiB
CMake
list(APPEND SM_DATA_LUA_SRC
|
|
"LuaBinding.cpp"
|
|
"LuaExpressionTransform.cpp"
|
|
"LuaReference.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_LUA_HPP
|
|
"LuaBinding.h"
|
|
"LuaExpressionTransform.h"
|
|
"LuaReference.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Lua" FILES ${SM_DATA_LUA_SRC} ${SM_DATA_LUA_HPP})
|
|
|
|
list(APPEND SM_DATA_FONT_SRC
|
|
"Font.cpp"
|
|
"FontCharAliases.cpp"
|
|
"FontCharmaps.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_FONT_HPP
|
|
"Font.h"
|
|
"FontCharAliases.h"
|
|
"FontCharmaps.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Fonts" FILES ${SM_DATA_FONT_SRC} ${SM_DATA_FONT_HPP})
|
|
|
|
list(APPEND SM_DATA_COURSE_SRC
|
|
"Course.cpp"
|
|
"CourseLoaderCRS.cpp"
|
|
"CourseUtil.cpp"
|
|
"CourseWriterCRS.cpp"
|
|
"Trail.cpp"
|
|
"TrailUtil.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_COURSE_HPP
|
|
"Course.h"
|
|
"CourseLoaderCRS.h"
|
|
"CourseUtil.h"
|
|
"CourseWriterCRS.h"
|
|
"Trail.h"
|
|
"TrailUtil.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Courses and Trails" FILES ${SM_DATA_COURSE_SRC} ${SM_DATA_COURSE_HPP})
|
|
|
|
list(APPEND SM_DATA_NOTEDATA_SRC
|
|
"NoteData.cpp"
|
|
"NoteDataUtil.cpp"
|
|
"NoteDataWithScoring.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_NOTEDATA_HPP
|
|
"NoteData.h"
|
|
"NoteDataUtil.h"
|
|
"NoteDataWithScoring.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Note Data" FILES ${SM_DATA_NOTEDATA_SRC} ${SM_DATA_NOTEDATA_HPP})
|
|
|
|
list(APPEND SM_DATA_NOTELOAD_SRC
|
|
"NotesLoader.cpp"
|
|
"NotesLoaderBMS.cpp"
|
|
"NotesLoaderDWI.cpp"
|
|
"NotesLoaderJson.cpp"
|
|
"NotesLoaderKSF.cpp"
|
|
"NotesLoaderSM.cpp"
|
|
"NotesLoaderSMA.cpp"
|
|
"NotesLoaderSSC.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_NOTELOAD_HPP
|
|
"NotesLoader.h"
|
|
"NotesLoaderBMS.h"
|
|
"NotesLoaderDWI.h"
|
|
"NotesLoaderJson.h"
|
|
"NotesLoaderKSF.h"
|
|
"NotesLoaderSM.h"
|
|
"NotesLoaderSMA.h"
|
|
"NotesLoaderSSC.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Notes Loaders" FILES ${SM_DATA_NOTELOAD_SRC} ${SM_DATA_NOTELOAD_HPP})
|
|
|
|
list(APPEND SM_DATA_NOTEWRITE_SRC
|
|
"NotesWriterDWI.cpp"
|
|
"NotesWriterJson.cpp"
|
|
"NotesWriterSM.cpp"
|
|
"NotesWriterSSC.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_NOTEWRITE_HPP
|
|
"NotesWriterDWI.h"
|
|
"NotesWriterJson.h"
|
|
"NotesWriterSM.h"
|
|
"NotesWriterSSC.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Notes Writers" FILES ${SM_DATA_NOTEWRITE_SRC} ${SM_DATA_NOTEWRITE_HPP})
|
|
|
|
list(APPEND SM_DATA_SCORE_SRC
|
|
"ScoreKeeper.cpp"
|
|
"ScoreKeeperNormal.cpp"
|
|
"ScoreKeeperRave.cpp"
|
|
"ScoreKeeperShared.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_SCORE_HPP
|
|
"ScoreKeeper.h"
|
|
"ScoreKeeperNormal.h"
|
|
"ScoreKeeperRave.h"
|
|
"ScoreKeeperShared.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Score Keepers" FILES ${SM_DATA_SCORE_SRC} ${SM_DATA_SCORE_HPP})
|
|
|
|
list(APPEND SM_DATA_SONG_SRC
|
|
"Song.cpp"
|
|
"SongCacheIndex.cpp"
|
|
"SongOptions.cpp"
|
|
"SongPosition.cpp"
|
|
"SongUtil.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_SONG_HPP
|
|
"Song.h"
|
|
"SongCacheIndex.h"
|
|
"SongOptions.h"
|
|
"SongPosition.h"
|
|
"SongUtil.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Songs" FILES ${SM_DATA_SONG_SRC} ${SM_DATA_SONG_HPP})
|
|
|
|
list(APPEND SM_DATA_STEPS_SRC
|
|
"Steps.cpp"
|
|
"StepsUtil.cpp"
|
|
"Style.cpp"
|
|
"StyleUtil.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_STEPS_HPP
|
|
"Steps.h"
|
|
"StepsUtil.h"
|
|
"Style.h"
|
|
"StyleUtil.h"
|
|
)
|
|
|
|
source_group("Data Structures\\\\Steps and Styles" FILES ${SM_DATA_STEPS_SRC} ${SM_DATA_STEPS_HPP})
|
|
|
|
list(APPEND SM_DATA_REST_SRC
|
|
"AdjustSync.cpp"
|
|
"Attack.cpp"
|
|
"AutoKeysounds.cpp"
|
|
"BackgroundUtil.cpp"
|
|
"BannerCache.cpp"
|
|
"Character.cpp"
|
|
"CodeDetector.cpp"
|
|
"CodeSet.cpp"
|
|
"CubicSpline.cpp"
|
|
"Command.cpp"
|
|
"CommonMetrics.cpp"
|
|
"ControllerStateDisplay.cpp"
|
|
"CreateZip.cpp"
|
|
"CryptHelpers.cpp"
|
|
"DateTime.cpp"
|
|
"Difficulty.cpp"
|
|
"DisplaySpec.cpp"
|
|
"EnumHelper.cpp"
|
|
"FileDownload.cpp"
|
|
"Game.cpp"
|
|
"GameCommand.cpp"
|
|
"GameConstantsAndTypes.cpp"
|
|
"GameInput.cpp"
|
|
"GameplayAssist.cpp"
|
|
"GamePreferences.cpp"
|
|
"Grade.cpp"
|
|
"HighScore.cpp"
|
|
"Inventory.cpp"
|
|
"JsonUtil.cpp"
|
|
"LocalizedString.cpp"
|
|
"LyricsLoader.cpp"
|
|
"ModsGroup.cpp"
|
|
"NoteTypes.cpp"
|
|
"OptionRowHandler.cpp"
|
|
"PlayerAI.cpp"
|
|
"PlayerNumber.cpp"
|
|
"PlayerOptions.cpp"
|
|
"PlayerStageStats.cpp"
|
|
"PlayerState.cpp"
|
|
"Preference.cpp"
|
|
"Profile.cpp"
|
|
"RadarValues.cpp"
|
|
"RandomSample.cpp"
|
|
"SampleHistory.cpp"
|
|
"ScreenDimensions.cpp"
|
|
"SoundEffectControl.cpp"
|
|
"StageStats.cpp"
|
|
"TimingData.cpp"
|
|
"TimingSegments.cpp"
|
|
"TitleSubstitution.cpp"
|
|
)
|
|
|
|
list(APPEND SM_DATA_REST_HPP
|
|
"AdjustSync.h"
|
|
"Attack.h"
|
|
"AutoKeysounds.h"
|
|
"BackgroundUtil.h"
|
|
"BannerCache.h"
|
|
"Character.h"
|
|
"CodeDetector.h"
|
|
"CodeSet.h"
|
|
"Command.h"
|
|
"CommonMetrics.h"
|
|
"ControllerStateDisplay.h"
|
|
"CreateZip.h"
|
|
"CryptHelpers.h"
|
|
"CubicSpline.h"
|
|
"DateTime.h"
|
|
"DisplaySpec.h"
|
|
"Difficulty.h"
|
|
"EnumHelper.h"
|
|
"FileDownload.h"
|
|
"Foreach.h"
|
|
"Game.h"
|
|
"GameCommand.h"
|
|
"GameConstantsAndTypes.h"
|
|
"GameInput.h"
|
|
"GameplayAssist.h"
|
|
"GamePreferences.h"
|
|
"Grade.h"
|
|
"HighScore.h"
|
|
"InputEventPlus.h"
|
|
"Inventory.h"
|
|
"JsonUtil.h"
|
|
"LocalizedString.h"
|
|
"LyricsLoader.h"
|
|
"ModsGroup.h"
|
|
"NoteTypes.h"
|
|
"OptionRowHandler.h"
|
|
"PlayerAI.h"
|
|
"PlayerNumber.h"
|
|
"PlayerOptions.h"
|
|
"PlayerStageStats.h"
|
|
"PlayerState.h"
|
|
"Preference.h"
|
|
"Profile.h"
|
|
"RadarValues.h"
|
|
"RandomSample.h"
|
|
"SampleHistory.h"
|
|
"ScreenDimensions.h"
|
|
"SoundEffectControl.h"
|
|
"SubscriptionManager.h"
|
|
"StageStats.h"
|
|
"ThemeMetric.h"
|
|
"TimingData.h"
|
|
"TimingSegments.h"
|
|
"TitleSubstitution.h"
|
|
)
|
|
|
|
if(WITH_NETWORKING)
|
|
list(APPEND SM_DATA_REST_SRC
|
|
"RoomWheel.cpp"
|
|
)
|
|
list(APPEND SM_DATA_REST_HPP
|
|
"RoomWheel.h"
|
|
)
|
|
endif()
|
|
|
|
source_group("Data Structures\\\\Misc Objects" FILES ${SM_DATA_REST_SRC} ${SM_DATA_REST_HPP})
|
|
|
|
list(APPEND SMDATA_ALL_DATA_SRC
|
|
${SM_DATA_COURSE_SRC}
|
|
${SM_DATA_FONT_SRC}
|
|
${SM_DATA_LUA_SRC}
|
|
${SM_DATA_NOTEDATA_SRC}
|
|
${SM_DATA_NOTELOAD_SRC}
|
|
${SM_DATA_NOTEWRITE_SRC}
|
|
${SM_DATA_SCORE_SRC}
|
|
${SM_DATA_SONG_SRC}
|
|
${SM_DATA_STEPS_SRC}
|
|
${SM_DATA_REST_SRC}
|
|
)
|
|
|
|
list(APPEND SMDATA_ALL_DATA_HPP
|
|
${SM_DATA_COURSE_HPP}
|
|
${SM_DATA_FONT_HPP}
|
|
${SM_DATA_LUA_HPP}
|
|
${SM_DATA_NOTEDATA_HPP}
|
|
${SM_DATA_NOTELOAD_HPP}
|
|
${SM_DATA_NOTEWRITE_HPP}
|
|
${SM_DATA_SCORE_HPP}
|
|
${SM_DATA_SONG_HPP}
|
|
${SM_DATA_STEPS_HPP}
|
|
${SM_DATA_REST_HPP}
|
|
)
|