Commit Graph

75 Commits

Author SHA1 Message Date
Stephen Anthony 4c270091c9 Updated copyright to 2025. To anyone reading these logs, Happy New Year! 2024-12-31 19:25:08 -03:30
Stephen Anthony bff2fdd817 Fix spelling mistake in nearestNeightBour.
Use new C++20 feature 'using enum ...' in switch statements.
I'm not convinced this is best in all cases; for now I use it sparingly.
2024-05-10 21:21:03 -02:30
Stephen Anthony ce6cc2ef02 Move codebase to requiring C++20, and fix resultant non-standard code. 2024-05-08 19:13:23 -02:30
Stephen Anthony a404902294 Bumped copyright for 2024. Happy New Year for anyone following these commits! 2024-01-01 12:38:25 -03:30
Stephen Anthony e05761311a clang-tidy: Fix a few remaining warnings. 2023-11-17 18:58:05 -03:30
Stephen Anthony 78187876db clang-tidy: convert 'endl' to '\n' for performance. 2023-11-16 14:34:02 -03:30
Stephen Anthony 27c3e09b94 clang-tidy: Remove redundant header includes. 2023-11-16 12:26:39 -03:30
Stephen Anthony e030c8dea9 Fix missing first char when navigating ZIP files (fixes #989). 2023-09-12 13:57:23 -02:30
Stephen Anthony 9cc804d0e0 Updated files to 2023; an early Happy New Year to anyone reading this logs. 2022-12-30 14:11:04 -03:30
Stephen Anthony ff0bbf525f Yet more conversion of 'const char*' to string_view. 2022-12-21 20:20:30 -03:30
Stephen Anthony 31cc0884db Convert 'const string&' to 'string_view', as per C++17 recommendations. WIP. 2022-12-16 19:15:30 -03:30
Stephen Anthony b17a2e63b2 Some refactoring in ZipHandler. Debugging code present for now. 2022-12-04 18:38:43 -03:30
Stephen Anthony 61d6d89a21 Revert "Convert more defines to static constexpr."
This reverts commit 58382db331.

Mistakenly checked in debug code for another part of the codebase.
2022-12-01 19:08:27 -03:30
Stephen Anthony 58382db331 Convert more defines to static constexpr. 2022-12-01 19:04:01 -03:30
Stephen Anthony d1767d4d93 More 'const char* const' fixes. 2022-11-13 12:31:36 -03:30
Stephen Anthony 35bc4ac8b6 Some optimizations for FSNodeWINDOWS. 2022-10-10 18:26:45 -02:30
Stephen Anthony 19da02fb9c Final batch of fixes from clang-tidy (for now). 2022-08-21 19:33:08 -02:30
Stephen Anthony fc0a8c91a8 Second pass at fixes for suggestions from clang-tidy. 2022-08-21 13:53:52 -02:30
Stephen Anthony 4a2ed8f7d0 Refactored 'FilesystemNode' -> 'FSNode', in preparation for large overhaul of these classes. 2022-06-14 16:28:20 -02:30
Stephen Anthony 0b093cb152 Check in some WIP code; still working on issue 851. 2022-06-12 16:54:36 -02:30
Stephen Anthony b5cc7d41c9 Added getSize() to FSNodeZIP. This allows to detect too large files in ZIP files. 2022-06-11 19:15:44 -02:30
Stephen Anthony 3b9184ec5f Eliminated BSPF::getenv(), as only the UNIX version is used.
I spent a lot of time trying to eliminate warnings in the Windows version of this
function, only to realize it's only ever used in POSIX-specific code!
2022-04-08 19:51:15 -02:30
Stephen Anthony 6a74c61ac5 First pass at fixing warning from Visual Studio (const and C-style casts).
This isn't all the code, just checking in the WIP so far.
It's not exciting work like new features, etc, but is required to keep the codebase clean.
I actually find it kind of relaxing; taking a short break from new features.
2022-03-27 18:09:55 -02:30
Stephen Anthony 74b9eb2f73 Fix lockup on ZIP files containing errors (fixes #871). 2022-03-05 18:47:12 -03:30
Stephen Anthony 11d2f34bcb Update copyright to 2022. Happy New Year! 2021-12-31 16:07:17 -03:30
Thomas Jentzsch 10bde004ed fixed '~' handling in ZIP files (fixes #849) 2021-12-03 16:45:58 +01:00
Thomas Jentzsch e35f888761 Revert "fixed"
This reverts commit 708696fec5.
2021-12-03 16:45:09 +01:00
Thomas Jentzsch 708696fec5 fixed 2021-12-03 16:39:53 +01:00
Stephen Anthony bc877443c1 Move detection of MVC file out of FSNode class. There are several reasons for this:
- It more properly belongs in the class actually opening the ROM, since FSNode can represent more than just ROM files.
 - Some ports don't have proper FSNode support, so MVC would break there.
 - In general, it makes FSNode::read more general, able to read partial files.
2021-05-03 20:35:11 -02:30
Stephen Anthony 21438a82cc Yearly update to copyright for 2021. 2021-01-05 18:42:43 -03:30
Stephen Anthony b36729a825 Make variables initialized in c'tor initialization list use brace-syntax.
- This is on the advice of one of the static analyzers we use.
 - More classes have to be converted; this is only the first pass.
2020-12-20 12:06:10 -03:30
Stephen Anthony 28751b0732 Make FSNodeZIP::exists() actually inspect the ZIP contents, and not just the ZIP file itself.
This fixes issues with checking for a .pro file in a ZIP file always being true, even if there isn't one.
2020-07-27 23:27:21 -02:30
Stephen Anthony 25913b791e Begin the process of converting all file open/close operations to be done in FSNode.
This will eventually allow ZIP files (and any other compression scheme we use in the future)
to read and write as if they were normal files.  Basically an implementation of a mini-VFS.
2020-07-16 21:20:50 -02:30
Stephen Anthony 94d6715384 Add ability to use .pro file stored in a ZIP file (containing the ROM, with the same name). 2020-07-13 18:54:52 -02:30
Stephen Anthony 9ad47ae5f3 Updated copyright to 2020. Happy New Year to anyone reading this! 2019-12-31 13:48:56 -03:30
Stephen Anthony b2c70d7677 First pass at moving to default member initialization.
This fixes potential issues with forgetting to initialize in c'tors.
2019-12-28 21:14:52 -03:30
Stephen Anthony a06c44d7a6 Switch to using size_t for all file access.
Note that we'll never actually need this, but I got tired of constantly casting all over the place.
2019-12-27 21:05:38 -03:30
Stephen Anthony 730b2970c8 Many more fixes for suggestions from clang-tidy. 2019-12-24 22:11:36 -03:30
Stephen Anthony 359244c66d Fix opening ZIP files that don't contain any ROMs. 2019-08-14 15:05:21 -02:30
Stephen Anthony bcca945951 More reworking of the file selection mechanism.
- removed GameList, and integrated functionality directly into 'FSList' (which was mostly doing the same thing)
- have FSNode::getChildren() relabel directories, instead of Browser and Launcher dialogs
- MD5 calculations in ROM launcher are now cached, instead of being recalculated each time a directory is left and re-entered

Windows and macOS likely broken for a moment; this will be fixed next.
2019-06-22 21:09:42 -02:30
Christian Speckner 4d0da9b8e7 Merge branch 'master' into sqlite 2019-04-29 00:50:30 +02:00
Stephen Anthony 35ca8edbaf More fixes for ZIP_SUPPORT
- add extra commenting in FSNodeZIP concerning why another node is needed
- exclude zip files from the ROM launcher when ZIP_SUPPORT is disabled
2019-04-25 22:26:14 -02:30
Christian Speckner 126464f66f Switch MacOS to SettingsRepository, fix clash between bspf.hxx and Cocoa. 2019-04-26 00:23:53 +02:00
Stephen Anthony 00e464afc3 Enable conditional compilation for ZIP/zlib support. 2019-04-24 15:36:20 -02:30
Stephen Anthony 53b6a2ef89 Converted some more 'enum' to 'enum class'. 2019-04-13 20:57:46 -02:30
Stephen Anthony 275666b0af The annual copyright year update. 2019-01-01 11:35:51 -03:30
Stephen Anthony cacb1e3341 Make ZipHandler 64-bit throughout.
- although we will probably never deal with 4GB+ files, the underlying stream-reading code is 64-bit anyway
- fixes warnings in 32 <-> 64 bit conversions in OSX.
2018-09-05 11:14:28 -02:30
Stephen Anthony b0aba8ae26 Fix crash when opening ZIP files containing errors (including zero-byte files).
This fixes a regression in behaviour from 5.1.
2018-09-04 11:23:10 -02:30
Stephen Anthony 4edd626a3a Ignore '__MACOSX' directories stored in ZIP files.
Note that this seems to duplicate functionality in ZipHandler; that code is in the process of being rewritten.
2018-09-04 10:17:55 -02:30
Stephen Anthony fe0d29a795 Fix ZIP handling wrt what is a valid filename (take new extensions into account). 2018-08-31 23:29:19 -02:30