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
Tomas Jakobsson
747e400593
Allow to show hidden files on Windows
...
Skip hidden files earlier
2018-08-21 16:54:34 +02:00
Jools Wills
757dd43dd8
Merge pull request #325 from pjft/favorites-syntax
...
Fix empty collections not showing in carousel in Full Mode.
2018-04-12 15:29:29 +01:00
Mátyás Mustoha
63f4806ac5
Remove leftover debug code
2018-03-28 09:31:10 +02:00
pjft
c80d30493b
Fix empty collections not showing up in Carousel for Full mode
...
Also fixed empty favorites collection in Kiosk mode not initializing as intended after adding the first game, if empty at start.
2018-03-02 11:56:14 +00:00
Tomas Jakobsson
421e4a23df
The final traces of boost has been eliminated
2018-01-30 19:21:09 +01:00