diff --git a/CHANGELOG.md b/CHANGELOG.md index b0167836b..e70f7e2c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * Added scraping of box back covers when using TheGamesDB * Set the option "Scrape actual folders" as enabled by default and moved it higher up in the scraper options menu * Added the ability to set a manual sortname specifically for custom collections using the metadata editor +* When scraping in semi-automatic mode, horizontal scrolling of long game names are no longer reset when automatically selecting the result * Added an OpenGL ES 2.0 renderer (borrowed from the RetroPie fork of EmulationStation) * Added logging of the display refresh rate on startup * Added a color model conversion shader for converting from BGRA to RGBA @@ -26,14 +27,18 @@ * Moved all Platform functions to the utility namespace instead of using the global namespace * Renamed GameList to Gamelist throughout the codebase * Renamed Gamelist.cpp and Gamelist.h to GamelistFileParser.cpp and GamelistFileParser.h and moved it to its own namespace instead of the global namespace +* Renamed GuiGameScraper.cpp and GuiGameScraper.h to GuiScraperSingle.cpp and GuiScraperSingle.h +* Set the clang-format option SpaceBeforeCpp11BracedList to true and reformatted the codebase * Removed some unnecessary typedefs and replaced the remaining ones with the more modern "using" keyword * Removed the deprecated VideoVlcComponent +* Lots of general code cleanup and refactoring ### Bug fixes * During some menu operations that reloaded the gamelist view, the cached background could miss some elements as they were not rendered in time * Changing some values using the metadata editor could lead to an incorrect sort order if the changes were done from within a grouped custom collection * Changing the setting "Group unthemed custom collections" could lead to incorrect custom collections sorting under some circumstances +* When multi-scraping in semi-automatic mode and a long game name was scrolling, the start position was not reset when scraping the next game * Clearing a game in the metadata editor would sometimes not remove all media files (if there were both a .jpg and a .png for a certain file type) * The ScummVM platform entry was missing for TheGamesDB which resulted in very inaccurate scraper searches * During multi-scraping the busy indicator was not displayed after a result was acquired but before the thumbnail was completely downloaded diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9f1847ce6..8380f8c52 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,9 +118,8 @@ But as clang-format won't change the actual code content or fix all code style c * As a general rule, use C++ syntax instead of C syntax, for example `static_cast(someFloatVariable)` instead of `(int)someFloatVariable` * Always declare one variable per line, never combine multiple declarations of the same type * Name member variables starting with an `m` such as `mMyMemberVariable` and name static variables starting with an `s` such as `sMyStaticVariable` -* Use braced initializations when possible, e.g. `float myFloat{1.5f}` as this is generally the safest way to do it +* Use braced initializations when possible, e.g. `float myFloat {1.5f}` as this is generally the safest way to do it (except when using the auto keyword) * Short function definitions can be placed in either the .h or .cpp file depending on the situation -* Avoid overoptimizations, especially if it sacrifices readability, makes the code hard to expand on or is error prone * Try to be coherent with the existing codebase regarding names, structure etc., it should not be obvious what person wrote which parts * For the rest, check the code and have fun :) diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md index 7f0523062..fce686352 100644 --- a/INSTALL-DEV.md +++ b/INSTALL-DEV.md @@ -867,8 +867,12 @@ To format a file from the command line, simply run: The -i flag will make an inplace edit of the file. +Alternatively the `tools/reformat_codebase.sh` script can be executed to format the entire codebase in one go. + But the recommended approach is to run clang-format from within the editor. If using VSCode, there is an extension available named Clang-Format. After installing this, simply open a source file, right click and choose `Format Document` or use the applicable keyboard shortcut. The first time you do this, you will have to make a choice to perform the formatting using clang-format. The rest should be completely automatic. +Whatever you do, don't set up your editor to run clang-format on commit because if something goes wrong (which has happened in the past) you will potentially commit a lot of garbage which could take some effort to clean up. Adding to this, string literals can get strange formatting from time to time and there are occasionally clang-format bugs that may cause other problems. So always review the formatted code manually before commit. + In some instances you may want to avoid getting code formatted, and you can accomplish this by simply enclosing the lines with the two comments "clang-format off" and "clang-format on", such as this: ```c++ diff --git a/USERGUIDE-DEV.md b/USERGUIDE-DEV.md index 4a7cf8cc3..e3c32c45a 100644 --- a/USERGUIDE-DEV.md +++ b/USERGUIDE-DEV.md @@ -1062,10 +1062,6 @@ Cover art, front of box/case. Back of box/case. -**Fan art images** - -Fan art, i.e. not official media from the game developer. - **Marquee (wheel) images** Logotype for the game. @@ -1078,6 +1074,10 @@ These are only used for generating miximages. Images of cartridges, diskettes, tapes, CD-ROMs etc. that were used to distribute the games. These are only used for generating miximages. +**Fan art images** + +Fan art. Disabled by default as not everyone may want these images, and because they slow down the scraping. + #### Miximage settings These are the settings for the miximage generator, which can either be run from the scraper (single-game scraper or multi-scraper) or from the offline generator. The miximage combines the screenshot, marquee, box/cover and physical media images to make a composite picture that is displayed in the gamelist view. There are various settings for the generator.