Commit graph

188 commits

Author SHA1 Message Date
Leon Styhre b43c991a9d Renamed Gamelist.cpp/Gamelist.h to GamelistFileParse. 2022-01-15 13:57:08 +01:00
Leon Styhre c7964b7ebc Renamed GameList to Gamelist throughout the codebase. 2022-01-15 13:38:09 +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 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 daf66c4b60 Added proper support for interpreting directories as files. 2021-12-17 20:18:47 +01:00
Leon Styhre a0743e6871 (Windows) Fixed an issue with the winregistryvalue find rule. 2021-12-16 17:36:09 +01:00
Leon Styhre 7c07c0d5cf Added a 'winregistryvalue' find rule and a %RUNINBACKGROUND% variable. 2021-11-22 20:03:05 +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 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre 966d2616be Added support for defining custom system sorting using the <systemsortname> tag. 2021-09-25 11:02:27 +02:00
Leon Styhre 0c3a7d7d94 Alternative emulators now work correctly when games are launched from collection systems. 2021-09-23 17:07:27 +02:00
Leon Styhre fad326c3bd Miscellaneous code cleanup. 2021-09-19 19:46:59 +02:00
Leon Styhre 260ad2d8f0 (Windows) Fixed a compile error. 2021-09-05 18:39:53 +02:00
Leon Styhre 8a51919f31 Added the ability to make complementary game systems customizations. 2021-09-05 17:39:11 +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 1461b2b0a7 Changed two error log messages related to alternative emulators. 2021-08-24 20:44:34 +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 e000e23f64 Added and clarified startup log warnings for missing or invalid es_systems.xml platform tags. 2021-07-10 13:07:44 +02:00
Leon Styhre af5e32e121 Formatted the es-app source tree using clang-format. 2021-07-07 20:03:42 +02:00
Leon Styhre 3a986b447d Game files that are actually recursive symlinks are now skipped during startup. 2021-07-01 17:58:09 +02:00
Leon Styhre 4160732ab0 (Windows) Added a find rule to search the Windows Registry for the emulator. 2021-06-26 12:00:09 +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 183cdddfa0 Implemented a new mechanism for finding emulators and cores. 2021-06-19 14:09:14 +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 824179e9a2 Added a 'directory to system name' mapping file to the ROM directory creation function. 2021-04-01 12:53:00 +02:00
Leon Styhre 90e3fe0fac Fixed a memory leak related to the gamelist placeholders. 2021-03-19 18:47:49 +01:00
Leon Styhre 0cf6914e16 (Windows) Fixed a MinGW compile error. 2021-03-14 10:48:43 +01:00
Leon Styhre 380881f69f (Windows) Fixed a compile error. 2021-03-10 18:52:39 +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 5bcb9446f4 Fixed a small memory leak in SystemData. 2021-02-28 16:56:50 +01:00
Leon Styhre e0e358e5f4 Fixed a memory leak when filtering MAME BIOSes and devices. 2021-02-28 16:37:22 +01:00
Leon Styhre 7da2f6b039 Fixed an issue where recursive symlinks in the ROM directory could cause endless loops. 2021-02-07 18:09:32 +01:00
Leon Styhre 7a079acb17 Minor cosmetic log output change for SystemData. 2021-02-07 12:36:33 +01:00
Leon Styhre 6713d0f7a5 Small cosmetic log output change when an unsupported platform has been entered into es_systems.cfg. 2021-02-07 12:24:22 +01:00
Leon Styhre 9c2d582f7d (Windows) Properly fixed a cosmetic log output issue when loading the game systems. 2021-02-07 11:49:50 +01:00
Leon Styhre 9be90fa39a (Windows) Fixed a cosmetic log output issue when loading the game systems. 2021-02-07 11:46:02 +01:00
Leon Styhre a7ed75b18c Removed some unnecessary processing for empty game systems.
Also made some minor cosmetic log output changes related to the loading of game systems and fixed an issue where infinitely recursive symlinks would not get caught.
2021-02-07 11:30:54 +01:00
Leon Styhre 735ce39812 Some cosmetic code cleanup. 2021-01-19 22:29:13 +01:00
Leon Styhre 9f04f1419c Changed logging from Warning to Info when missing the es_systems.cfg file. 2021-01-10 21:55:33 +01:00
Leon Styhre 5565170d93 Fixed an issue where randomly selecting an empty custom collection could crash the application. 2021-01-02 15:11:56 +01:00
Leon Styhre b1bb9743f2 Made the 'fullname' tag in es_systems.cfg mandatory. 2020-12-26 20:20:45 +01:00
Leon Styhre 327676d7d7 Renamed CollectionSystemManager to CollectionSystemsManager. 2020-12-23 18:06:30 +01:00
Leon Styhre bddc87bbcc Changed some more code from C to C++ 2020-12-17 20:43:52 +01:00
Leon Styhre debf072a0e Rewrote some code from C to C++ 2020-12-16 23:59:00 +01:00
Leon Styhre 024e073e86 Added support for %COREPATH% variable and reverted to a single Unix es_systems.cfg template file. 2020-12-15 18:42:38 +01:00
Leon Styhre e752904ab1 Added logic to retrieve default setting values. 2020-12-14 17:25:41 +01:00
Leon Styhre aefc80b222 Differentiated the system config template files for Unix. 2020-11-26 19:19:35 +01:00
Leon Styhre 1a6bec2e3b Overhaul of settings code. 2020-11-05 18:18:11 +01:00
Leon Styhre 94cc4b2158 Rewrote the random game function. 2020-10-31 11:33:43 +01:00
Leon Styhre 07efcd19d0 Simplified the detection of grouped custom collections. 2020-10-30 10:12:15 +01:00
Leon Styhre 1a0b2f8bb7 Multiple improvements to the handling of custom collections.
Also improved the random game and random system functions.
2020-10-21 21:56:31 +02:00
Leon Styhre 844d733c89 Fixed an issue where the random game function would return an empty result. 2020-10-20 22:02:33 +02: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 370914791e Removed unnecessary cleanup for empty game systems. 2020-10-18 19:18:02 +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 b83bacc160 Fixed a small memory leak. 2020-10-11 20:54:37 +02:00
Leon Styhre 54ea153d93 Game systems are now sorted by their full names. 2020-09-27 12:49:14 +02:00
Leon Styhre 707850b339 Added a system sorting function to SystemData. 2020-09-26 13:03:14 +02:00
Leon Styhre 1c831249da Moved game counting to the sort function and improved the custom collection handling. 2020-09-21 18:13:27 +02:00
Leon Styhre 14e2ede448 Moved a sorting function to the proper location inside the correct class. 2020-09-17 22:18:13 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +02:00
Leon Styhre 88a5962926 Changed '#ifdef' to '#if defined()' throughout the code. 2020-08-23 17:04:30 +02:00
Leon Styhre 541f7202d8 Added copying of macOS systems template upon application startup. 2020-08-19 22:17:32 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre d2dfbc5919 Fixed two issues with random game selection. 2020-08-06 23:41:44 +02:00
Leon Styhre 5f7ffe98c8 Added metadata flag to mark whether a file should be counted as a game.
This is useful for DOS games for instance, to exclude files such as installers, setup files etc.
2020-07-29 19:01:49 +02:00
Leon Styhre afe5d98c39 Enabled scraping for folders and changed file info to lowercase. 2020-07-28 21:08:17 +02:00
Leon Styhre ea59d9f9c4 Fixed multiple issues with random selection of systems and games. 2020-07-28 15:19:54 +02:00
Leon Styhre b21dbc4ada (Windows) Improved handling of hidden files and folders. 2020-07-27 13:06:46 +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 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 472a973f66 Added %ESPATH% variable support and fixed some other minor issues with the launch command. 2020-07-10 20:58:53 +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 adb5cb6664 Made the es_systems.cfg template install to the home directory during the first application startup. 2020-07-09 19:26:48 +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 2bea3021c3 Added proper emulator launch function for Windows and added logic for the new %EMUPATH% variable. 2020-07-07 21:27:48 +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 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 fb4c5708b7 Made pugixml an external dependency and fixed the cmake/cpack installation and package creation.
As pugixml seems to be well supported nowadays and seems to ship with most distributions it's pretty pointless to keep bundling it with EmulationStation.
2020-06-24 17:38:41 +02:00
Leon Styhre 6b62065595 Large code cleanup and code documentation update.
The initial code cleanup of es-app is now complete as of this commit.
2020-06-23 20:07:00 +02:00
Leon Styhre 0a02d710f3 Removed the last remnants of the usage of /etc and updated the documenation accordingly. 2020-06-22 19:46:09 +02:00
Leon Styhre ac91da6995 Removed unnecessary processing steps during startup by skipping systems with no games.
This seems to decrease the (non-optimized) loading time by about 6,5% with a large es_systems.cfg configuration file.
2020-06-21 22:11:29 +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 49161df0e6 Renamed platform.cpp/platform.h to Platform.cpp/Platform.h
The naming convention for the rest of the application is to start the file names with a capital letter.
2020-06-21 12:26:21 +02:00
Leon Styhre f635e5bd2d Improved error handling for missing configuration files and ROMs. 2020-06-18 19:49:47 +02:00
Leon Styhre fb0ab2f06c Added a ROM path variable for use with es_systems.cfg and custom collections.
The variable %ROMPATH% now expands to the ROMDirectory setting in es_settings.cfg which removes the need for absolute ROM paths (although absolute paths are still supported). Custom collections with absolute paths can still be loaded for backward compatibility with old custom collections.
2020-06-18 17:09:32 +02:00
Leon Styhre 90735d44e3 Major update to scraper including support for new media handling logic, ability to download more media file types (screenshot, cover, marquee, 3D box) and an improved scraper GUI. As well a rewrite of the navigation sound code. 2020-06-06 13:10:33 +02:00
Leon Styhre f2f7d34bb6 Monster commit. Rewrote gamelist sorting logic and made per-gamelist sort settings session-permanent. Cleaned up a lot of code and started to reformat for 100 characters line length. 2020-05-24 10:29:29 +02:00
Jools Wills 46047894f3
Merge pull request #578 from verybadsoldier/feature/save_metadata_on_change
Added an option to save meta data instantly when changed.
2019-12-18 04:06:23 +00:00
verybadsoldier a136179fc9 save also metadata that have default values. they might not had default values on start so they have to be saved 2019-12-13 21:38:01 +01:00
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Jools Wills bf02819125
Merge pull request #432 from raelgc/master
Skip mame bios/devices
2018-11-19 05:36:51 +00:00
Rael Gugelmin Cunha 065fd8edf1 Skip mame bios/devices 2018-11-04 15:26:03 -02:00