Commit graph

216 commits

Author SHA1 Message Date
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre ac6cc41059 Added a command line option to rotate the application screen 180 degrees.
Also fixed a shader post-processing bug when rotating the application screen.
2022-03-12 00:40:03 +01:00
Leon Styhre c35a297d9a Large update to get the new theme engine up and running. 2022-01-29 18:41:22 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre a6be6225d8 Renamed SystemScreensaver to Screensaver. 2022-01-17 18:43:29 +01:00
Leon Styhre acd18bd1f8 Very minor change to the command line --help output. 2022-01-17 18:35:03 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre 750ee07351 Improved the structure of main.cpp
Also partially added support for Emscripten.
2022-01-12 21:38:37 +01:00
Leon Styhre b4e08ba92b Renamed Platform to utils/PlatformUtil 2022-01-10 18:56:04 +01:00
Leon Styhre 2d149c5161 Moved all Platform functions to the utility namespace. 2022-01-10 18:43:17 +01:00
Leon Styhre f80658696c Removed some unnecessary time measurement constants. 2022-01-09 23:50:08 +01:00
Leon Styhre c62a069448 Fixed an issue where the audio device was accessed after it had been closed. 2022-01-05 00:08:50 +01:00
Leon Styhre f8e201d347 Moved the CollectionSystemsManager cleanup from the destructor to a deinit function. 2022-01-04 23:14:12 +01:00
Leon Styhre 119dfc90f8 Changed ViewController::get() to ViewController::getInstance() 2022-01-04 21:49:22 +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 9e86908a47 (Windows) Fixed a window focusing issue when hiding the taskbar. 2021-12-09 20:23:09 +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 445b914379 Completely refactored MameNames. 2021-11-17 21:32:40 +01:00
Leon Styhre dd0f36f82b Changed most increment and decrement operators from postfix to prefix for es-app. 2021-11-17 17:35:34 +01:00
Leon Styhre 6bc4a09c9b Multiple thread safety improvements to AudioManager and VideoFFmpegComponent.
Also some general refactoring and re-enabling of some SDL_AudioStream functions.
2021-11-15 22:43:06 +01:00
Leon Styhre 0fecb43066 Increased the maximum supported display height to 7680 pixels. 2021-10-18 18:14:49 +02:00
Leon Styhre a2e12ace6a Lowered the minimal supported resolution from 640x480 to 224x224. 2021-09-30 19:51:04 +02:00
Leon Styhre 79849188d1 Fixed an issue where animations would play incorrectly when disabling a collection. 2021-09-19 20:43:36 +02:00
Leon Styhre 970b7dd63d (Windows) Fixed some MinGW compiler warnings. 2021-09-19 15:27:32 +02:00
Leon Styhre 42458a7d76 Very minor code cleanup. 2021-09-17 21:10:16 +02:00
Leon Styhre 5942b2815e Added support for selecting alternative emulators per game.
Also made some changes to the system-wide alternative emulators logic.
2021-09-04 11:21:55 +02:00
Leon Styhre 5381f38231 Added support for defining and choosing between alternative emulators. 2021-08-22 15:26:38 +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 d3be0b73d3 Changed the word 'front-end' to 'frontend'. 2021-08-12 12:03:11 +02:00
Leon Styhre e4ee4855df Changed the header text in main.cpp 2021-07-08 18:47:29 +02:00
Leon Styhre af5e32e121 Formatted the es-app source tree using clang-format. 2021-07-07 20:03:42 +02:00
Leon Styhre 11ae6ba6f5 Improved the support for portable installations. 2021-06-30 17:27:20 +02:00
Leon Styhre f6122ed94a Changed the descriptive name of ~/.emulationstation to the ES-DE home directory. 2021-06-25 00:00:49 +02:00
Leon Styhre 55a0cef4d1 The scripts and themes directories are now created during startup.
Also cleaned up some startup messages which now also refer to ~/.emulationstation as the base directory.
2021-06-24 23:29:03 +02:00
Leon Styhre c8af5816a3 Added a version setting which can be used to detect upgrades of the application. 2021-06-22 17:47:01 +02:00
Leon Styhre dc29b97e91 Changed es_settings.cfg to es_settings.xml 2021-06-16 19:05:24 +02:00
Leon Styhre fa624f9f2c Changed the logic for the systems configuration file, it now loads from the resources directory.
Also renamed the file from es_systems.cfg to es_systems.xml
2021-06-16 18:54:04 +02:00
Leon Styhre dde840c5f8 Added a game launch screen. 2021-06-14 19:15:22 +02:00
Leon Styhre 83b764cf1f Small cosmetic changes to the input device configuration screen. 2021-05-23 10:16:47 +02:00
Leon Styhre 0bde8dc79d Migrated to the SDL2 GameController API. 2021-05-22 22:18:00 +02:00
Leon Styhre 3ed17fbea2 Added a fullscreen game media viewer. 2021-05-16 13:12:31 +02:00
Leon Styhre 8bf304b867 Added check for non-numeric characters in the arguments for the --resolution flag. 2021-03-21 21:54:30 +01:00
Leon Styhre 924b3ac033 Fixed a memory leak in Settings. 2021-03-19 18:40:37 +01:00
Leon Styhre b90ab39cb7 Fixed a memory leak related to the navigation sounds. 2021-03-19 18:37:56 +01:00
Leon Styhre 84ecb7489e Moved the AudioManager initialization a bit forward during startup. 2021-03-17 20:08:33 +01:00
Leon Styhre 9779ca8bd5 The MAME names file processing is now done after displaying the splash screen. 2021-03-15 21:03:44 +01:00
Leon Styhre b115a94668 Added a sanity check to the --resolution flag to keep the values within reason. 2021-03-12 21:12:54 +01:00
Leon Styhre 90bd12ef1c (macOS) Disabled the save state functionality which removed the splash screen on startup. 2021-03-11 17:42:08 +01:00
Leon Styhre 2432e118a7 Added the ability to automatically generate the game systems directory structure. 2021-03-10 18:21:49 +01:00
Leon Styhre 9c957ee93c Fixed an issue where the --vsync command line option could crash the application. 2021-02-28 15:20:34 +01:00
Leon Styhre 97575fa7a4 (macOS) Fixed an issue where the mouse cursor would jump to the Dock on startup. 2021-01-28 21:32:25 +01:00
Leon Styhre 777480aa6e Small cosmetic change to the --display command line option. 2021-01-26 17:33:20 +01:00
Leon Styhre 7bb89693f3 Settings are now saved immediately when using some command line options. 2021-01-25 18:10:11 +01:00
Leon Styhre 4d2ef89864 Added multi-monitor support. 2021-01-24 23:44:50 +01:00
Leon Styhre cf489be504 Reorganized the command line options. 2021-01-24 22:17:36 +01:00
Leon Styhre 735ce39812 Some cosmetic code cleanup. 2021-01-19 22:29:13 +01:00
Leon Styhre 8b5f65c789 The mouse cursor is now hidden during application startup. 2021-01-19 20:14:37 +01:00
Leon Styhre c6687f8995 Removed a remnant from the PowerSaver. 2021-01-03 11:24:50 +01:00
Leon Styhre 9b6789529b (Windows) Fixed an issue with a potentially unclean application shutdown. 2020-12-31 13:50:55 +01:00
Leon Styhre 327676d7d7 Renamed CollectionSystemManager to CollectionSystemsManager. 2020-12-23 18:06:30 +01:00
Leon Styhre a27c961987 Some changes to the startup logging.
Also removed some unnecessary audio code.
2020-12-23 17:56:21 +01:00
Leon Styhre 214a7861f9 Modernized the audio handling code a bit. 2020-12-21 00:23:22 +01:00
Leon Styhre bb7097a1af Changed the order of two command line parameters. 2020-12-20 15:09:47 +01:00
Leon Styhre defb16b6da Fixed multiple issues with the UI modes (full/kiosk/kid).
Also improved the quit menu.
2020-12-17 23:45:29 +01:00
Leon Styhre 29abe2dc8c Removed the deprecated PowerSaver. 2020-12-16 17:57:10 +01:00
Leon Styhre 5de61ecb4d Removed two ambiguous NULL values. 2020-11-30 20:42:16 +01:00
Leon Styhre 208d3a9fb3 Fixed a crash when attempting to change the ROM directory. 2020-11-30 20:19:29 +01:00
Leon Styhre 0b6dce687e Changed to C++ casts throughout the application. 2020-11-17 23:06:54 +01:00
Leon Styhre 6368ae0cc1 OCD update renaming ScreenSaver to Screensaver. 2020-11-10 22:33:57 +01:00
Leon Styhre bbb2aa5217 Overhaul of the screensaver. 2020-11-10 22:18:20 +01:00
Leon Styhre 1a6bec2e3b Overhaul of settings code. 2020-11-05 18:18:11 +01:00
Leon Styhre 0b6d0bfcd6 Improved some logging as well as handling of a missing es_systems.cfg file. 2020-10-19 17:28:20 +02:00
Leon Styhre f5e36dec54 Added an application startup timer as debug logging output. 2020-10-18 12:45:19 +02:00
Leon Styhre 0beb40d9c9 Fixed a tiny memory leak.
Also fixed a Clang static analyzer error for SystemData.
2020-10-17 14:32:08 +02:00
Leon Styhre 2768380446 Fixed several errors reported by Valgrind. 2020-10-11 18:57:37 +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 863063ee47 Started to add SPDX license identifiers. 2020-09-13 20:32:22 +02:00
Leon Styhre 87bee7fae9 Added 'Desktop Edition' to the log output version info. 2020-09-13 20:07:02 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +02:00
Leon Styhre 796d2c9ec8 (macOS) Disabled unusable command line arguments. 2020-08-23 21:53:21 +02:00
Leon Styhre 46ab60ad4e (Windows) Fixed the broken build for this OS.
Also some other minor cosmetic code changes.
2020-08-23 21:27:01 +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 1d2b9f113b Added the ability to change the ROM directory if no game files were found on startup. 2020-08-15 10:12:19 +02:00
Leon Styhre 885bf61df0 Tweaked the description and setting name for the GPU statistics overlay. 2020-08-15 09:33:08 +02:00
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +02:00
Leon Styhre 1550c48187 Improved the input configuration logic.
Also added a command line option to force the input configuration even if a es_input.cfg file exists.
2020-08-03 11:39:04 +02:00
Leon Styhre 41c3c66eb7 (Windows) Added support for setting the root of a drive as the home folder.
This is mostly usable for portable installations, for example on a USB memory stick.
2020-07-27 14:23:40 +02:00
Leon Styhre bad9e772e9 Changed most setting values to lowercase in es_settings.cfg
Audio devices apparently need to be case sensitive.
2020-07-27 12:11:30 +02:00
Leon Styhre b5485b4ca9 Changed log levels from numbers to text. 2020-07-26 23:30:45 +02:00
Leon Styhre 329a8da441 Properly implemented hiding of games.
Also added a flag to force the Full UI mode from the command line.
2020-07-26 22:19:29 +02:00
Leon Styhre e2bd5d05b1 Fixed an issue where hidden files would still show up if they had a gamelist.xml entry. 2020-07-26 13:58:49 +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 ff1f329bd0 Added a Unix man page and a script to generate it.
The --help output text was changed slightly as well.
2020-07-16 14:24:48 +02:00
Leon Styhre 1b65eaac2e Improved input device configuration.
Default keyboard mappings are now applied if the user has not configured the keyboard.
2020-07-14 19:16:21 +02:00
Leon Styhre 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +02:00
Leon Styhre 6028777be4 Added creation of es_settings.cfg on first application startup and improved media directory error handling. 2020-07-11 10:10:07 +02:00
Leon Styhre 31da561695 Complete UTF-16 (Unicode) support added for Windows.
ROM names with Unicode characters are supported, as well as running ES from a directory that has Unicode characters in its name.
2020-07-10 18:32:23 +02:00