Leon Styhre
ce50c1121b
Enabled linear interpolation for font texture magnification when running on display resolutions at or above approximately 1920x1080.
2022-09-02 21:30:16 +02:00
Leon Styhre
9b1fb95865
Enabled linear interpolation for font texture minifications.
2022-09-02 21:03:19 +02:00
Leon Styhre
039c27fa8e
Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing).
2022-09-02 20:48:45 +02:00
Leon Styhre
7b279a7c73
Made SVG rasterizations slightly more accurate.
2022-08-31 21:17:13 +02:00
Leon Styhre
6126016289
Cleaned up some font-related code.
2022-08-30 19:31:57 +02:00
Leon Styhre
2c86e4f99e
Removed the deprecated SVG force rasterization flag from the cache manager.
2022-08-28 20:21:58 +02:00
Leon Styhre
48a9571609
Refactored RatingComponent to improve rendering accuracy and performance.
2022-08-28 20:11:20 +02:00
Leon Styhre
5dae37f558
Added support for caching SVG images.
2022-08-23 22:24:24 +02:00
Leon Styhre
047d080346
Fixed a small text abbreviation issue.
2022-08-21 21:24:46 +02:00
Leon Styhre
e2fb03dbf3
Fixed an issue where the tile property for the image element did not work correctly with SVG images.
2022-08-21 19:06:51 +02:00
Leon Styhre
ce217c48a4
Added support for vertical abbreviations of multiline text entries.
2022-08-21 16:33:29 +02:00
Leon Styhre
67488467c3
(Linux) The data installation directory is now excluded for themes and resources when built as an AppImage.
2022-08-20 11:30:15 +02:00
Leon Styhre
225a602a74
If the same raster image is used with different interpolation methods then these are now cached separately.
2022-08-16 22:37:36 +02:00
Leon Styhre
967b98008b
Fixed an issue where raster graphic images could get scaled incorrectly.
2022-08-16 21:04:39 +02:00
Leon Styhre
899ace3eb6
Added a manualUnloadAll function to TextureResource.
...
Also converted some variables to static inline and cleand up some code.
2022-08-14 21:31:02 +02:00
Leon Styhre
fdf63a9ad0
Fixed an issue where the 'quit' custom event would not trigger on application shutdown.
2022-05-18 22:57:03 +02:00
Leon Styhre
53ad5a3152
Fixed an issue where the texture buffer sometimes couldn't fit Chinese characters.
2022-05-09 20:12:08 +02:00
Leon Styhre
f990d91841
Reverted the previous commit.
2022-05-04 00:42:28 +02:00
Leon Styhre
f86ab2ea89
Increased the font texture size slightly.
2022-05-03 23:35:47 +02:00
Leon Styhre
91460495be
Added size restrictions to fonts and textures to avoid crashes caused by invalid theme configuration.
2022-04-10 11:53:44 +02:00
Leon Styhre
c4cae406e9
Fixed a font loading crash caused by an insufficient font texture size.
...
Also added a preventive measure for similar crashes in the future and made some general cleanup of the font code.
2022-04-02 11:59:52 +02:00
Leon Styhre
06a037d8cf
Shader flags are now sent as bit masks instead of via discreet values.
...
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
Leon Styhre
f0c35d8509
Refactored the rendering code into proper classes.
2022-03-14 19:51:48 +01:00
Leon Styhre
a7db474a64
Unified the OpenGL and OpenGL ES renderers and removed the fixed function pipeline.
...
Also made some other rendering optimizations and cleaned up some code.
2022-03-13 23:52:32 +01:00
Leon Styhre
32251e0264
Fixed multiple issues with the shader post-processing.
...
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +01:00
Leon Styhre
755b2c9f50
Changed some render variables to more verbose names.
...
Also fixed an issue with fade transitions for legacy themes.
2022-03-11 23:51:41 +01:00
Leon Styhre
63af859618
Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
...
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +01:00
Leon Styhre
ed540359c5
Updated GIFAnimComponent to a fully working state.
2022-03-05 20:56:47 +01:00
Leon Styhre
35970dd95d
(Windows) Fixed a few MSVC compiler warnings.
2022-02-11 23:45:25 +01:00
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
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