Leon Styhre
a443f86235
Removed a huge amount of unnecessary Window* function arguments.
2022-01-19 18:01:54 +01:00
Leon Styhre
0c8efee8ad
General refactoring and code cleanup.
2022-01-16 18:18:28 +01:00
Leon Styhre
8a6652552f
Set the clang-format option SpaceBeforeCpp11BracedList to true.
2022-01-16 12:09:55 +01:00
Leon Styhre
c7964b7ebc
Renamed GameList to Gamelist throughout the codebase.
2022-01-15 13:38:09 +01:00
Leon Styhre
dde456cbc8
Removed the unnecessary Renderer::getWindowFlags() function.
2022-01-14 18:23:51 +01:00
Leon Styhre
8596aca68c
Added an OpenGL ES 2.0 renderer.
2022-01-13 19:39:49 +01:00
Leon Styhre
90fa63f91c
Removed support for supplying a separate format than internalFormat when creating OpenGL textures.
2022-01-12 22:25:41 +01:00
Leon Styhre
d85c966e49
Added logging of the display refresh rate on startup.
2022-01-12 21:26:43 +01:00
Leon Styhre
f80658696c
Removed some unnecessary time measurement constants.
2022-01-09 23:50:08 +01:00
Leon Styhre
0c552dd8fb
Added a GLSL shader to convert the color model BGRA to RGBA.
...
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +01:00
Leon Styhre
254b00a3d8
Large refactoring to improve thread safety and improve singleton pattern usage.
2022-01-04 21:21:26 +01:00
Leon Styhre
2d8d1e6831
(macOS) Reduced the CPU usage significantly while running in the background.
2021-12-14 18:17:46 +01:00
Leon Styhre
08bba3cbaf
(macOS) Removed the Monterey VSync workaround as Apple has patched its OS.
2021-12-14 17:15:04 +01:00
Leon Styhre
045e56ae3f
(Windows) Changed the fullscreen mode to SDL_WINDOW_BORDERLESS.
...
Also removed the 'AMD and Intel GPU game launch workaround' menu option.
2021-12-09 18:53:22 +01:00
Leon Styhre
0978c697a2
(macOS) Updated a code comment as the issue described was resolved with SDL 2.0.18
2021-12-08 21:19:24 +01:00
Leon Styhre
515577c8f9
(Unix) Changed the fullscreen mode to SDL_WINDOW_FULLSCREEN_DESKTOP.
...
Also removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options and menu entry.
2021-12-05 13:51:39 +01:00
Leon Styhre
af52d9b0ac
Changed most increment and decrement operators from postfix to prefix for es-core.
2021-11-17 17:48:49 +01:00
Leon Styhre
1005dfcdb7
(macOS) Added a Monterey VSync bug workaround.
2021-11-12 19:49:24 +01:00
Leon Styhre
3e12fcb420
General refactoring and minor optimizations throughout the codebase.
2021-11-09 22:40:08 +01:00
Leon Styhre
db5fb48cf8
OCD commit to fix some spelling inconsistencies.
2021-09-21 22:53:08 +02:00
Leon Styhre
63767347f2
Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags.
2021-09-19 14:37:10 +02:00
Leon Styhre
0b6d987263
Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags.
2021-09-18 09:53:26 +02:00
Leon Styhre
655340a94c
OCD commit.
2021-08-19 21:51:42 +02:00
Leon Styhre
91879c9b4a
Cleaned up some rendering code.
2021-08-19 21:39:01 +02:00
Leon Styhre
6e882dd564
Added support for upscaling bitmap images using linear filtering.
2021-08-19 20:16:42 +02:00
Leon Styhre
b6b431f0fd
Fixed two debug messages that contained incorrect function names.
2021-08-17 22:51:28 +02:00
Leon Styhre
12c853bc31
Moved the remaining math functions to a math utility namespace.
2021-08-17 22:11:16 +02:00
Leon Styhre
7b5d673050
Replaced the internal Vector2i data type and functions with the GLM library equivalent.
...
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre
1fb0ccef0d
Replaced the internal Vector2f data type and functions with the GLM library equivalent.
2021-08-16 18:25:01 +02:00
Leon Styhre
64a7b8e54a
Replaced the internal Vector3f and Vector4f data types and functions with the GLM library equivalents.
2021-08-15 22:03:17 +02:00
Leon Styhre
722468129e
Replaced all internal matrix data types and functions with the GLM library equivalents.
...
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre
1c31a8a49e
Hack to be able to build on Raspberry Pi.
2021-07-08 18:08:43 +02:00
Leon Styhre
23fdc00044
Formatted the es-core source tree using clang-format.
2021-07-07 20:31:46 +02:00
Leon Styhre
dc29b97e91
Changed es_settings.cfg to es_settings.xml
2021-06-16 19:05:24 +02:00
Leon Styhre
75430f210a
Some cosmetic code cleanup.
2021-06-11 17:02:06 +02:00
Leon Styhre
08aefdb48e
(macOS) Made the application work properly on high DPI displays.
2021-05-02 12:35:16 +02:00
Leon Styhre
330a539241
Made a Windows-specific fix for the white screen flashing during startup.
2021-03-20 08:52:08 +01:00
Leon Styhre
cd19ef7b16
Properly fixed the white screen flash seen on application startup.
2021-03-19 20:05:34 +01:00
Leon Styhre
adaec71f5b
Some minor code cleanup.
2021-03-19 18:25:37 +01:00
Leon Styhre
5f727f8c00
Improved the scaling of the scanline shader in relation to screen resolution.
2021-03-18 19:52:48 +01:00
Leon Styhre
ded5b1d29b
Greatly improved the shader post processing code and fixed some related bugs.
2021-03-17 20:29:43 +01:00
Leon Styhre
f08b434bc6
Fixed two regressions that could lead to crashes.
2021-03-17 20:16:22 +01:00
Leon Styhre
6a57a44df9
Improved the sizes of some menu GUI elements on 4:3 aspect ratio displays.
2021-03-09 17:17:33 +01:00
Leon Styhre
b44a21dc5a
(Unix) Added a menu option to enable or disable the desktop compositor.
2021-02-22 21:13:06 +01:00
Leon Styhre
ec5f1c1b5f
Fixed the annoying white screen flashing when starting the application.
2021-01-25 18:11:18 +01:00
Leon Styhre
4d2ef89864
Added multi-monitor support.
2021-01-24 23:44:50 +01:00
Leon Styhre
f7207edca5
(Windows) Fixed an issue with reliably launching games.
2021-01-24 13:51:40 +01:00
Leon Styhre
88235a0f06
Started to add support for multi-monitor setups.
2021-01-24 12:03:44 +01:00
Leon Styhre
97a6558472
(Windows) Made the application have the correct fullscreen size on high DPI displays.
2021-01-21 21:52:28 +01:00
Leon Styhre
632d11e46f
Minor code update.
2021-01-16 23:01:13 +01:00
Leon Styhre
ef25c675f7
Fixed an issue where separator lines would not get rendered on lower resolutions.
2021-01-16 22:55:38 +01:00
Leon Styhre
ee8e0a0c89
Some minor code cleanup.
2021-01-15 18:47:01 +01:00
Leon Styhre
11bf8046d8
Added screen resolution modifiers to get proper high resolution scaling.
2021-01-13 19:42:06 +01:00
Leon Styhre
001a46341e
Small improvements to the VSync setup and logging.
2021-01-07 00:17:59 +01:00
Leon Styhre
c95334756d
Fixed a lot of MSVC compiler warnings.
2020-12-29 12:54:24 +01:00
Leon Styhre
0365e9c572
Fixed some MSVC compiler warnings.
2020-12-29 11:06:01 +01:00
Leon Styhre
0cce86beca
Created a common pixel conversion function for both renderers.
2020-12-18 16:49:11 +01:00
Leon Styhre
debf072a0e
Rewrote some code from C to C++
2020-12-16 23:59:00 +01:00
Leon Styhre
dc620aa11b
Cosmetic log output change to the renderer.
2020-11-29 20:33:17 +01:00
Leon Styhre
fe4bb0b7e9
Allowed non-accelerated rendering.
2020-11-27 21:04:49 +01:00
Leon Styhre
0b6dce687e
Changed to C++ casts throughout the application.
2020-11-17 23:06:54 +01:00
Leon Styhre
9bea6bb17e
Added a game info overlay to the screensaver.
...
Also refactored Window and SystemScreensaver and added a fade-in effect for the shaded background when opening menus.
2020-11-12 00:46:59 +01:00
Leon Styhre
8db04c5fcb
Added SPDX license identifiers to all source files.
2020-09-21 19:17:34 +02:00
Leon Styhre
2a852170a8
(Windows) Fixed some build issues and got the OpenGL shaders to work.
...
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre
a34bc45e56
Added an opacity shader.
2020-09-12 19:17:26 +02:00
Leon Styhre
3643c08caf
Updates to the OpenGL shader handling.
2020-09-12 12:14:48 +02:00
Leon Styhre
fd10aba815
Updated the GLSL shader logic and added a postprocessing function.
2020-09-04 18:59:19 +02:00
Leon Styhre
d512c2b11d
Implemented OpenGL GLSL shader support.
2020-08-30 22:19:37 +02:00
Leon Styhre
77076c22f4
(Unix) Added border to borderless window if the resolution was manually changed.
...
Also fixed a mistake introduced in the last commit.
2020-08-23 22:40:15 +02:00
Leon Styhre
d6baa2d132
(macOS) Add a window border if the user has changed the resolution from the command line.
2020-08-23 22:19:37 +02:00
Leon Styhre
796d2c9ec8
(macOS) Disabled unusable command line arguments.
2020-08-23 21:53:21 +02:00
Leon Styhre
b8c6366349
(macOS) Made the game launching more seamless.
2020-08-23 18:41:08 +02:00
Leon Styhre
88a5962926
Changed '#ifdef' to '#if defined()' throughout the code.
2020-08-23 17:04:30 +02:00
Leon Styhre
af5a48ed10
Removed unnecessary #ifdefs for the SDL2 include files.
2020-08-23 16:15:06 +02:00
Leon Styhre
b0624f2bc9
Updates to make the application work correctly (more or less) on macOS.
2020-08-18 17:48:21 +02:00
Leon Styhre
ad960b28ac
Various updates to make the application compile on macOS.
2020-08-17 19:15:05 +02:00
Leon Styhre
8fcb56cfb3
Made game launching on Windows much more seamless.
...
Also added an option to hide the taskbar.
2020-07-18 13:21:44 +02:00
Leon Styhre
fe0e09ec7b
Changed log level for missing or empty game systems from Info to Debug.
...
Also did some small changes to the OpenGL logging.
2020-07-12 12:09:01 +02:00
Leon Styhre
5a7fb828a6
Added proper error handling for resource files and improved overall logging.
2020-07-08 17:01:47 +02:00
Leon Styhre
76aa239855
Initial update to make the application build and run on Windows.
...
Much more work will be needed to get the Windows port working properly.
2020-07-03 20:23:51 +02:00
Leon Styhre
e4fdd1e20d
Code cleanup and code documentation update.
...
As of this commit, the initial code cleanup and code documentation has been completed for the entire application.
2020-06-28 18:39:18 +02:00
Leon Styhre
5b17edde8b
Additional changes for SDL2 include files.
...
Of course I had to miss some things..
2020-06-26 18:11:24 +02:00
Leon Styhre
eeae8033bd
Use SDL2 include files instead of those for SDL version 1.
...
This resolves an irritating issue in the code editor where SDL2-specific functions could't be found. Not entirely sure about the SDL include file logic for other operating systems than Linux so the #ifdef directives may need to be updated further at a later date.
2020-06-26 18:03:55 +02:00
Leon Styhre
1f74723533
Another code cleanup and code documentation update.
2020-06-26 17:17:35 +02:00
Leon Styhre
0387d515fb
Update to fully support Clang/LLVM.
...
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
2020-06-25 19:52:38 +02:00
Leon Styhre
8fefc9232c
Reorganized all resources to a subdirectory structure and added the CMake install prefix to the resource search path.
...
CMAKE_INSTALL_PREFIX and CMAKE_INSTALL_DATAROOTDIR are now used to resolve the resource path. As of this commit, there are only two paths where resources are searched, under the user home directory and under this install prefix directory (which defaults to /usr/local/share/emulationstation/resources but can be set to for instance /opt/share/emulationstation/resources using the appropriate CMake flags).
2020-06-21 19:35:43 +02:00
Leon Styhre
f5d3c8ac0b
Removed code for restarting the application, fixed system reboot and power off (and changed these names), fixed some small cosmetic issues with log file output and main menu
2020-05-15 17:58:25 +02:00
Leon Styhre
ffcf52c710
Made game launching more seamless and prevent minimizing of window when switching applications. Also added menu entry to choose between normal fullscreen mode and borderless fullscren mode
2020-05-15 17:51:32 +02:00
Tomas Jakobsson
b6f0f5c2c7
Fix clearcolors
2020-04-01 16:13:59 +02:00
Tomas Jakobsson
72786c83a0
Prepare for GLES 2.0
2020-01-03 18:04:58 +01:00
John Rassa
8d759c7c5d
add 'animate' to theme properties for imagegrid; fix blurriness on image upscaling
2019-10-09 18:51:33 -04:00
Shanti Gilbert
20b367009c
Fixes compiling when Renderer_GLES10 is used
2019-09-02 14:50:14 -05:00
Tomas Jakobsson
71ac016c3d
Make sure all vertices are properly rounded
2019-08-31 18:19:43 +02:00
Tomas Jakobsson
489d7de096
Eliminate drawRect that takes int's and make sure everything uses the float version properly, this way everything is rounded the same way
...
Only round the transforms when setting them on the GPU, to make sure everything is rounded the same, but only at the final moment
2019-08-31 17:58:36 +02:00
John Rassa
fc58af98fd
support for color gradients in drawRect and ImageComponent
2019-08-29 19:47:16 -04:00
Tomas Jakobsson
9de16045c9
whitespace cleanup
...
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Tomas Jakobsson
a02a747c50
Redid the entire Renderer
...
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00