Commit graph

174 commits

Author SHA1 Message Date
Leon Styhre 4eb763d816 Replaced the ambiguous alignment properties with specific horizontal and vertical properties. 2022-02-11 00:19:08 +01:00
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 a233b96c2a Removed some unnecessary typedefs and replaced the remaining ones with the more modern 'using' keyword.
Also harmonized the names of some user defined types and made some other minor cleanup.
2022-01-11 21:57:00 +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 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 fa993a0489 Fixed a texture corruption issue caused by too aggressive optimizations. 2021-12-27 21:24:34 +01:00
Leon Styhre ab92a4135a Fixed an issue where using fallback fonts at very low resolutions could lead to a crash. 2021-12-14 17:12:39 +01:00
Leon Styhre 0314b2d439 Fixed a performance regression caused by excessive mutex locks. 2021-11-18 17:20:59 +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 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre 999b9a6c04 Improved thread safety in TextureData and TextureDataManager. 2021-11-15 23:33:16 +01:00
Leon Styhre 14e1b800fa Made two optimizations in TextureData. 2021-11-07 18:18:41 +01:00
Leon Styhre 8b5386df79 Fixed an issue where corrupt SVG graphics could crash the application. 2021-11-03 17:26:19 +01:00
Leon Styhre 2f09c21d3f Reversed a previous change that caused multiple texturing issues. 2021-10-30 17:05:04 +02:00
Leon Styhre ee80792e0f (Windows) Fixed two MSVC compiler warnings. 2021-10-29 20:10:43 +02:00
Leon Styhre 0dc6f1e17a Removed the deprecated SVG scaleDuringLoad functionality. 2021-10-29 19:43:07 +02:00
Leon Styhre 58345863b3 Changed an RGBA vector getter from copy to reference to reduce CPU usage. 2021-10-26 18:23:52 +02:00
Leon Styhre 3d3d951842 Renamed alwaysRasterize to forceRasterization.
Also removed an unnecessary function call in ImageComponent.
2021-10-26 18:22:41 +02:00
Leon Styhre 848e0a1a94 Fixed an SVG graphics corruption issue. 2021-10-26 18:13:31 +02:00
Leon Styhre 7ed0267f5b Made a large optimization to the SVG rasterization logic. 2021-10-25 18:39:58 +02:00
Leon Styhre dd94aeec96 Fixed two casting issues. 2021-10-23 15:53:31 +02:00
Leon Styhre 6cee6d2732 Fixed multiple image scaling and rasterization issues. 2021-10-23 15:45:44 +02:00
Leon Styhre 08888e00af Clarified the use of bundled include files. 2021-10-06 18:41:21 +02:00
Leon Styhre c78386e648 Fixed an issue where defining a really small font size would crash the application. 2021-09-30 19:49:18 +02:00
Leon Styhre 081fbc5665 Made an optimization for SVG graphics to avoid a lot of unnecessary re-rasterizations. 2021-09-27 20:59:33 +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 5580de74b1 Bundled the bold font version of Fontfabric Akrobat. 2021-08-22 14:08:24 +02:00
Leon Styhre 6e882dd564 Added support for upscaling bitmap images using linear filtering. 2021-08-19 20:16:42 +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 74e21e8c03 Replaced some internal math functions with equivalents from the GLM library. 2021-08-17 20:55:29 +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 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 651b7a4d02 Fixed an issue with an endless loop when attempting to load a corrupt image file. 2021-07-02 20:33:50 +02:00
Leon Styhre b59f2da3e3 Now skipping missing font file checks for bundled fonts. 2021-07-02 18:51:01 +02:00
Leon Styhre a277b9693b Fixed an issue where missing theme font files would crash the application. 2021-07-02 18:34:04 +02:00
Leon Styhre aeb74055d0 Added a function to ImageComponent to crop fully transparent areas around an image. 2021-06-12 21:08:35 +02:00
Leon Styhre 4b1c7c7f0a Update to make compilation work with NanoSVG as a Git subtree. 2021-06-07 21:56:13 +02:00
Leon Styhre f3f86c6e20 Changed to unique_ptr for the threading in VideoFFmpegComponent and TextureDataManager. 2021-05-12 22:49:24 +02:00
Leon Styhre 23903de1cf Minor cosmetic code cleanup. 2021-03-27 10:26:13 +01:00
Leon Styhre 08e6f1b0dd Fixed some minor memory leaks in UIModeController, InputManager and Font. 2021-03-19 18:34:10 +01:00
Leon Styhre 79d9150f65 Very minor code cleanup. 2021-03-14 09:36:50 +01:00
Leon Styhre 5099593d73 The gamelist description text no longer scrolls above the starting position. 2021-03-13 16:52:15 +01:00
Leon Styhre 172182a4e8 Fixed an issue where long words would sometimes render partly outside the designated text area. 2021-03-09 17:19:26 +01:00
Leon Styhre 0fe853fcb8 Added the Ubuntu Condensed font to handle some rare special characters. 2021-02-07 14:29:54 +01:00
Leon Styhre 74ba7d0590 The 'Gamelist on startup' setting now shows the full system names. 2021-01-30 15:52:10 +01:00
Leon Styhre 0974e7b593 Replaced the main application font. 2021-01-28 20:06:12 +01:00
Leon Styhre 969be161d9 Some minor log output changes. 2021-01-25 18:15:01 +01:00
Leon Styhre b5b70a4931 Increased the font texture buffers to avoid crashes when running at low resolutions. 2021-01-16 20:56:14 +01:00
Leon Styhre 69fa54f61a Fixed two MSVC compiler warnings. 2021-01-16 18:13:00 +01:00
Leon Styhre 09e5095a08 Fixed an issue where large text sizes at high resolutions would crash the application. 2021-01-16 18:05:48 +01:00
Leon Styhre b0bd77eb7f Log output improvement for TextureData. 2021-01-15 20:09:01 +01:00
Leon Styhre 0bc707a828 Added support for scaling textures during load for raster files. 2021-01-15 18:39:19 +01:00
Leon Styhre 1148f941a9 Added support for scaling SVG graphics files directly when loading them. 2021-01-14 22:25:44 +01:00
Leon Styhre 34e10ec319 Minor code cleanup and log output changes. 2021-01-13 19:48:31 +01:00
Leon Styhre c95334756d Fixed a lot of MSVC compiler warnings. 2020-12-29 12:54:24 +01:00
Leon Styhre e6847a09c7 (Windows) Fixed some MinGW compile errors. 2020-12-28 23:49:34 +01:00
Leon Styhre 9ec3f19482 (Windows) Added support for the MSVC compiler. 2020-12-28 23:23:01 +01:00
Leon Styhre 963f93e0f8 Replaced the custom math functions with standard C++ functions. 2020-12-28 11:29:32 +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 0b6dce687e Changed to C++ casts throughout the application. 2020-11-17 23:06:54 +01:00
Leon Styhre f334eb7037 Changed the font size and line spacing for the GPU statistics overlay. 2020-11-16 17:46:36 +01:00
Leon Styhre 2b189f9d19 Fixed an issue where the game image would sometimes not refresh after scraping. 2020-11-14 17:18:00 +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 c2b3b029e5 Fixed a massive memory leak related to SVG images.
Also did a general update and cleanup of TextureData.
2020-10-11 18:46:06 +02:00
Leon Styhre 8db04c5fcb Added SPDX license identifiers to all source files. 2020-09-21 19:17:34 +02:00
Leon Styhre 79b5bfffef Some minor cosmetic changes. 2020-09-04 19:05:48 +02:00
Leon Styhre 88a5962926 Changed '#ifdef' to '#if defined()' throughout the code. 2020-08-23 17:04:30 +02:00
Leon Styhre ffcb578fe7 (macOS) Updates to make ES find resources and themes within the application installation directory. 2020-08-21 21:49:45 +02:00
Leon Styhre 7b76aa005f Fixed a large memory leak when reloading the system view. 2020-08-15 09:28:47 +02:00
Leon Styhre d3d57ae69a Fixed the VRAM statistics overlay that was using megabytes instad of mebibytes. 2020-08-08 22:33:27 +02:00
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +02:00
Leon Styhre b5485b4ca9 Changed log levels from numbers to text. 2020-07-26 23:30:45 +02:00
Leon Styhre 70d0057295 Both user changes and scraper changes are now color marked in the metadata editor.
User changes are marked with blue and scraper changes with red.
2020-07-15 17:44:27 +02:00
Leon Styhre 29c50ff5a1 Reintroduced the ES executable directory on Unix as a path to look for resources and themes. 2020-07-12 12:47:39 +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
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 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 b560429a20 Moved the CMake install prefix function to FileSystemUtil and implemented the same logic also for theme loading. 2020-06-21 21:08:54 +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 67aa6b3dbd Huge code cleanup and code documentation update.
Includes lots of conversions from tabs to spaces. Only cosmetic code changes in this commit.
2020-06-21 14:25:28 +02:00
Leon Styhre 5f5d12535d Rewrote parts of the font loading code and bundled the required fonts with ES instead of relying on the OS providing them. This fixes the display of star symbols for favorites in the gamelists 2020-05-15 18:03:42 +02:00
Tomas Jakobsson 71ac016c3d Make sure all vertices are properly rounded 2019-08-31 18:19:43 +02: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
pjft 0d76ec52a5 Adjust mutex for SVG initialization and resizing 2018-06-12 22:30:42 +01:00
Tomas Jakobsson 1a4d13b6b3 Remove builtin resources 2018-02-08 19:27:44 +01:00
Tomas Jakobsson 3d3fb2c277 Switched over the last functions in Utils.cpp to Utils::String, step 3 of 5 in the quest to remove boost::filesystem 2018-01-27 18:04:28 +01:00
Tomas Jakobsson ed2eb3d4d0 Move more functionality from Util.cpp to utils/StringUtil.cpp in the quest too remove the need for boost 2018-01-27 02:12:16 +01:00
Tomas Jakobsson c1f8e7294c Update and rename some Utils::FileSystem functions
Replace boost::filesystem::is_directory
with    Utils::FileSystem::isDirectory

Replace boost::filesystem::is_regular_file
with    Utils::FileSystem::isRegularFile

Replace boost::filesystem::is_symlink
with    Utils::FileSystem::isSymlink

Replace boost::filesystem::exists
with    Utils::FileSystem::exists

Replace boost::filesystem::create_directory
with    Utils::FileSystem::createDirectory

Replace boost::filesystem::remove
with    Utils::FileSystem::removeFile
2018-01-23 12:07:20 +01:00
Tomas Jakobsson 05caef2f28 Remove all namespace fs = boost::filesystem; 2017-12-28 15:03:11 +01:00
D. Polders 1ed075a5e4 * Add ConfirmationPopUp when switching UIMode.
* Split out UIMode controller in separate class (in es-app).
* Fix passphrase input for wX360 controllers by ignoring hat-inputs
* Fix font fallback mechanism on rpi for non ascii characters using new Unicode2Chars() method.
* Fix UIMode not being saved due to popup window.
2017-11-19 00:28:36 +01:00