Match failure.

Add C++17 std::filesystem Extension

Reporter: time-killer-games  |  Status: open  |  Last Modified: May 22, 2020, 09:17:26 PM

TODO:

  • get BSD pr merged so the Makefile won't throw an error (UNIX_BASED is defined in my BSD pr)
  • replace try/catch exceptions with if checks to prevent segfaulting without making bigger/slower exe
  • replace filename_normalize logic written in Win32/POSIX with C++17 std::filesystem::canonical
  • replace create_directory with create_directories (this one is a one line fix so it'll be a quickie)
  • replace overriding logic using macros to actually replace the current code so no override required
  • add special protections on directory_destroy() since Josh is a big stinky cheese butt poopy head!
  • add file_find_first(), file_find_next(), and file_find_close() (file_find_close() is a redundant stub tho)
  • anything Josh, Robert, or fundies can add to this that I am missing. Please suggest your ideas.

Note i want this extension to be self-contained, meaning that all code can be used as-is in other projects unrelated to enigma without relying on code found in the rest of ENIGMA's repository.

Right now, the only things I duplicated into the extension for self-containment, are a few small string utility functions, which takes up about maybe 25 lines of code at most, and won't need maintenance practically ever, due to the how it was written, and how reliable the code itself is. I doubt it'll change.

codecov[bot]  
>Codecov Report

Merging #2009 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2009   +/-   ##
=======================================
  Coverage   30.95%   30.95%           
=======================================
  Files         197      197           
  Lines       19115    19115           
=======================================
  Hits         5918     5918           
  Misses      13197    13197           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f0a9026...f0a9026. Read the comment docs.

EnigmaBot  

UNMATCHED: Error: The following images are found in master but not the pull request:
enigma_room_transition_test[SDL][OpenGL1][OpenAL][Precise][None][None][Paths_GTest].png

Please sign in to post comments, or you can view this issue on GitHub.