Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLFW to replace LowLevelWindow #1073

Open
wants to merge 58 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
b8bf18e
[CMake] Rename poorly named glfw to glew
jameskr97 Jul 19, 2021
ea66302
Squashed 'extern/glfw/' content from commit d1fc694bb5
jameskr97 Jan 6, 2022
cc657f5
Merge commit 'ea663024056ad81949f01f3486083589f0657455' as 'extern/glfw'
jameskr97 Jan 6, 2022
8a0f811
[CMake] Build and link glfw
jameskr97 Jul 19, 2021
5c01004
[CMake] Remove glew
jameskr97 Jul 19, 2021
dcff12d
[CMake] Build and link glad
jameskr97 Jul 19, 2021
3f03047
[RageDisplay_OGL] Replace glew with glad
jameskr97 Jul 20, 2021
a4cc785
[RageDisplay_GLES2] Remove GLES2
jameskr97 Jul 20, 2021
ab50f2a
[Utility] Create ActionDelegate
jameskr97 Jul 20, 2021
8a0113a
[Platform] Create IWindowBackend and GLFW implementation
jameskr97 Jul 20, 2021
85ba889
[RageDisplay] Replace LowLevelWindow with GLFWWindowBackend
jameskr97 Jul 20, 2021
efde737
[Main] Comment out SMMain main function
jameskr97 Jul 20, 2021
4e6afa9
[glad] Fix glew to glad references on Windows
jameskr97 Jul 20, 2021
6dd015e
[GLFW] Turn off waiting for vsync
jameskr97 Jul 20, 2021
2468626
[GLFW] Add input conversion to legacy and handling
jameskr97 Jul 21, 2021
51a7c2b
[CMake] Remove LowLeveWindow on macOS
jameskr97 Jul 21, 2021
b8be370
[CMake] Remove LowLevelWindow on Linux
jameskr97 Jul 21, 2021
b6bd206
[Etterna] Organize StepMania.{h,cpp}
jameskr97 Jul 21, 2021
b8b7391
[CMake] Remove LowLevelWiindow from Windows, and remaining references
jameskr97 Jul 21, 2021
f171b4a
[RageDisplay] Register focus and close actions, Remove GL extension sort
jameskr97 Jul 21, 2021
e1166bf
[macOS][GLFW] Support for Retina displays
jameskr97 Jul 21, 2021
26e84f8
[GLFW][LoadingWindow] Replace LoadingWin with GLFW, add accessor for …
jameskr97 Jul 22, 2021
4729fb0
[PlatformMac] Update getWindowDimensions to be content area without t…
jameskr97 Jul 22, 2021
dfb41d6
[GraphicsWindow] Reformat header and remove unused functions
jameskr97 Jul 30, 2021
68a838d
[GraphicsWindow] Add function to SetHwnd
jameskr97 Jul 30, 2021
e2ce12f
[D3D] Replace GraphicsWindow init with raw GLFWWindowBackend
jameskr97 Jul 31, 2021
68ced91
[GLFW] SetHwnd on Windows
jameskr97 Jul 31, 2021
ba8b392
[RageDisplay] Move GLFWWindowBackned to be defined in RageDisplay
jameskr97 Jul 31, 2021
bec98e6
[RageDisplay] Add std:: before vector declarations.
jameskr97 Jul 31, 2021
2412996
[GraphicsWindow] Removed window creation that was replaced with GLFW
jameskr97 Jul 31, 2021
d689de6
[GraphicsWindow] Remove unused include
jameskr97 Jul 31, 2021
74e05b6
[PrefsManager] Set default for video renderers
jameskr97 Aug 2, 2021
a88aa09
[GLFW] Add error callback
jameskr97 Aug 2, 2021
0aa1021
[RageDisplay] Remove unused function
jameskr97 Aug 2, 2021
62bb9f2
[GLFW] Add function to get refresh rate.
jameskr97 Aug 2, 2021
647a7c5
[Platform/Window] Add VideoMode.hpp
jameskr97 Aug 2, 2021
7f7e638
[RageDisplay] Remove VideoModeParams and ActualVideoModeParams
jameskr97 Aug 2, 2021
0a2bb5e
[VideoMode] Comment section of unused VideoModeParams
jameskr97 Aug 2, 2021
149df28
[VideoMode] Replace usages of VideoModeParams with VideoMode
jameskr97 Aug 2, 2021
f36debe
[IWindow] Update IWindow, and any impls to use VideoMode struct
jameskr97 Aug 2, 2021
02ccaac
[Win32/Graphics] Fix compilation with VideoMode, add GraphicsWindow::…
jameskr97 Aug 2, 2021
10f9da0
[IWindow/GLFW] Separate context setting and resetting function
jameskr97 Aug 3, 2021
79f423f
[IWindow] Replace title and size variables with VideoMode
jameskr97 Aug 3, 2021
1976935
[RageD3D] Don't try to swap buffers on D3D.
jameskr97 Aug 3, 2021
40976dd
[OGL] Ensure graphics are updated when the window is resized
jameskr97 Aug 3, 2021
1a68a05
[IWindow] Change callback function headers, and add callbacks
jameskr97 Aug 3, 2021
e58a9e7
Update vector reference to use std prefix
jameskr97 Sep 17, 2021
cc353fb
Update RageDisplay func to use new videoMode struct after rebase
jameskr97 Sep 25, 2021
cd703b9
Remove `ALWAYS` parameter on crashpad
jameskr97 Sep 25, 2021
c720cc5
Switch forward declaration from class to struct
jameskr97 Sep 26, 2021
0ef3db1
Remove duplicate access modifier
jameskr97 Oct 10, 2021
dea92ce
Remove unused ControllerStateDisplay
jameskr97 Oct 10, 2021
c3277d0
Change resize registration
jameskr97 Oct 11, 2021
c790d15
Fix `DISPLAY:GetDisplayRefreshRate` referencing incorrect refresh rate
jameskr97 Oct 17, 2021
380522f
Add IWindow interface to allow for updating window video mode
jameskr97 Oct 17, 2021
740414b
Remove duplicate VideoMode
jameskr97 Oct 18, 2021
5a38c31
Fix d3d not properly resizing
jameskr97 Oct 20, 2021
977f17a
Fix bad signature after rebase, and remove input related functions.
jameskr97 Oct 25, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 33 additions & 30 deletions CMake/Modules/MacOSXBundleInfo.plist.in
Original file line number Diff line number Diff line change
@@ -1,35 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
<key>CFBundleName</key>
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSHighResolutionCapable</key>
<string>False</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
<key>CFBundleName</key>
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
<key>CSResourcesFileMapped</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<string>True</string>
</dict>
</plist>
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ target_link_libraries(Etterna PRIVATE websocketpp)
target_link_libraries(Etterna PRIVATE libluajit)
target_link_libraries(Etterna PRIVATE discord-rpc)
target_link_libraries(Etterna PRIVATE muFFT)
target_link_libraries(Etterna PRIVATE glfw)
target_link_libraries(Etterna PRIVATE ogg)
target_link_libraries(Etterna PRIVATE vorbis)
target_link_libraries(Etterna PRIVATE pcre)
Expand All @@ -105,6 +104,8 @@ target_link_libraries(Etterna PRIVATE fmt::fmt)
target_link_libraries(Etterna PRIVATE plog::plog)
target_link_libraries(Etterna PRIVATE nowide::nowide)
target_link_libraries(Etterna PRIVATE ghc_filesystem)
target_link_libraries(Etterna PRIVATE glfw)
target_link_libraries(Etterna PRIVATE glad)

# If the user wants crashpad, and the target exists (in-case
# the user wants it, but crashpad couldn't find python)
Expand Down
3 changes: 2 additions & 1 deletion extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,14 @@ add_subdirectory(stb)
## Remaining Libraries
add_subdirectory(luajit)
add_subdirectory(muFFT)
add_subdirectory(glew-1.5.8)
add_subdirectory(pcre)
add_subdirectory(zlib)
add_subdirectory(mad-0.15.1b)
add_subdirectory(fmt)
add_subdirectory(boost/nowide)
add_subdirectory(filesystem)
add_subdirectory(glfw)
add_subdirectory(glad)

## Vorbis depends on ogg
add_subdirectory(newogg)
Expand Down
1 change: 0 additions & 1 deletion extern/crashpad/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ ExternalProject_Add(crashpad_init
# Re-running gn every single time is not the most efficient, though it has a very short runtime
# on subsequent runs, and if nothing is changed the build step will do nothing.c
ExternalProject_Add_Step(crashpad_init gn_configure
ALWAYS 1
USES_TERMINAL 1
WORKING_DIRECTORY ${SOURCE_DIR}
COMMAND ${EXE_DEPOT_GN} gen ${BINARY_DIR} "--args=target_cpu=\"${GN_TARGET_CPU}\" is_debug=${GN_IS_DEBUG} extra_cflags=\"${GN_WIN_LINK_FLAG}\"" && ${EXE_DEPOT_NINJA} -C ${BINARY_DIR} crashpad_handler
Expand Down
2 changes: 2 additions & 0 deletions extern/glad/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
add_library(glad src/glad.c)
target_include_directories(glad PUBLIC include)
Loading