Commit graph

196 commits

Author SHA1 Message Date
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
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Jools Wills 094c9ccd09
Merge pull request #308 from tomaz82/utils
Add String and FilesSystem utils
2017-11-16 18:38:15 +00:00
Tomas Jakobsson ae5f9a0342 Move StringUtil to utils subfolder
Added utils/FileSystemUtils which will replace some boost::filesystem functions in the future
2017-11-16 19:18:20 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson 232f36f866 Implement StringUtil which has stolen some functions from Font and added unicode2Chars 2017-11-10 19:54:03 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
Tomas Jakobsson d3e87739e3 fix warnings 2017-10-28 22:07:31 +02:00
D. Polders fd40e84ba5 Fix build warnings (mostly adding explicit type casting) 2017-10-18 16:22:27 +02:00
jrassa c7b3db244e carousel enhancements 2017-08-18 22:03:40 -04:00
jrassa 60971b2c73 fix default font sizes when running in vertical orientation 2017-07-27 23:05:46 -04:00
pjft d0cdbf2159 Adding support for Virtual Systems
- Refactoring System Environment data
- Added Virtual System Manager class
- Added "all", "favorites" and "last played" systems
- Added GuiInfoPopup class for notifications
- Added Favorites to metadata, as well as a shortcut to toggle favorites
- Added warning if enabling systems but themes don't support it
- Added "filter by favorites" per system
- Adjusted "Go to Random Game" behavior to account for the fact that we now have an "All Games" system
- Added "sort by system name" for the collections
2017-07-07 20:16:21 +01:00
fieldofcows 6872f47277 Fix WSOD by loading textures on demand in a separate thread when a user configurable texture memory threshold is reached 2017-01-29 22:46:22 +00:00
Alec Lofquist c870caee03 Fix newlines messing up cursor offset.
Fix an uninitialized value in TextEditComponent.
2014-10-18 15:46:14 -05:00
Alec Lofquist 885efcf431 Fixed Font::getWrappedCursorOffset. 2014-10-18 15:32:18 -05:00
Alec Lofquist 50d2ba2291 Fall back to the DroidSansFallbackFull.ttf font on Linux. 2014-09-27 17:19:37 -05:00
Aloshi 030c840cfb Fixed uninitialized max glyph size in Font. 2014-09-27 16:09:49 -05:00
Aloshi 7c31d7ca0a Hopefully fixed compiling on Linux. 2014-08-31 09:57:38 -05:00
Aloshi c4d0e0229e Added fallback font support. Untested on Linux (but should fail gracefully). 2014-08-30 15:36:56 -05:00
Aloshi 9f040f4c71 Fixed deinitialization/reinitialization for fonts. 2014-08-11 18:05:18 -05:00
Aloshi 2b22e1fe0b Rewrote font code to use multiple textures.
Will corrupt after playing a game.
2014-07-27 16:44:02 -05:00
Aloshi dbdbcde6cd Renamed folders to match their projects properly. 2014-06-20 20:03:05 -05:00