44 Commits

Author SHA1 Message Date
f55e8a42cc GCC nonstring fixes 2025-04-19 19:53:52 -07:00
5ccbf0d225 AsyncIOPosix: Add mode_t argument to open 2025-04-19 19:53:51 -07:00
d65bef16ed Fix corrupted memory cards 2025-04-19 19:53:51 -07:00
Lioncash
2b1bfa0422 Card: Make querying functions const member functions where applicable
These don't modify member state, so they can be made const .
2025-04-19 19:53:50 -07:00
Lioncash
d02e783905 Directory: Make indexForFile() a const member function
This doesn't modify instance state, so it can be turned into a const
member function.
2025-04-19 19:53:50 -07:00
Lioncash
72457c3246 General: Use std::array for constructors where applicable
Same behavior, but ensures input absolutely satisfies the total amount
of data that needs to be copied.
2025-04-19 19:53:50 -07:00
Lioncash
b7a5e3b36c Directory: Avoid use of unnamed struct in union
Anonymous structs have a limitation on GCC when involving non-trivial
default constructors, as it's a compiler extension and not actually
standard C++ to use anonymous structs. We can give the struct a concrete
name, which fixes this issue.
2025-04-19 19:53:50 -07:00
Lioncash
42c4ae8daa Revert "Revert "General: Use std::array where applicable""
This reverts commit 698e37d6a41770f53d1a9e9f5c4559102a4b2ad5.
2025-04-19 19:53:50 -07:00
c037818600 Revert "General: Use std::array where applicable" 2025-04-19 19:53:50 -07:00
Lioncash
ee3ea90954 Card: Eliminate a few hardcoded constants 2025-04-19 19:53:50 -07:00
Lioncash
62b03a7cde Card: Zero out game array within setCurrentGame for nullptr
Previously this was zeroing out the maker array, which it shouldn't be
doing.
2025-04-19 19:53:50 -07:00
Lioncash
8895960bad General: Use std::array where applicable
Same behavior, but with stronger typing. We can also eliminate usages of
magic values in some places.
2025-04-19 19:53:50 -07:00
Lioncash
7a813a7365 General: Avoid indirect includes
Ensures all inclusions are made where necessary.
2025-04-19 19:53:49 -07:00
Jack Andersen
2a463de413 Windows build fixes 2025-04-19 19:53:45 -07:00
Jack Andersen
8017bdf6c8 Better CMake dependency handling 2025-04-19 19:53:41 -07:00
13e6688ed9 Fix raw pointer bug 2025-04-19 19:53:40 -07:00
8c4d6d4210 Prevent garbage data from being written to memcard 2025-04-19 19:53:40 -07:00
Jack Andersen
8ce7a33f65 New code style refactor 2025-04-19 19:53:40 -07:00
Jack Andersen
6479678a82 Add public waitForCompletion method 2025-04-19 19:53:40 -07:00
Jack Andersen
474013b151 Implement Win32 AsyncIO 2025-04-19 19:53:40 -07:00
Jack Andersen
83bf0a47d7 Use asynchronous I/O for Card access 2025-04-19 19:53:39 -07:00
Jack Andersen
1ae9444fe8 Huge compile performance refactor 2025-04-19 19:53:38 -07:00
Jack Andersen
53cd75525b string_view refactor 2025-04-19 19:53:35 -07:00
Jack Andersen
382abc6455 Checksum recalculate fix for getStatus() 2025-04-19 19:53:25 -07:00
Jack Andersen
a1f6ebb4ca Specify binary mode when reopening card file 2025-04-19 19:53:25 -07:00
Jack Andersen
3f7d937a05 Card writing bug fixes 2025-04-19 19:53:25 -07:00
Jack Andersen
aa37daf0f3 More stable index-flipping for write ops 2025-04-19 19:53:25 -07:00
06a19cd1d3 Revert file index 0 avoidance 2025-04-19 19:53:25 -07:00
Jack Andersen
537a8f684d FileHandle refactor 2025-04-19 19:53:25 -07:00
Jack Andersen
e60054ae91 Checksum and Card copy fixes 2025-04-19 19:53:25 -07:00
2bc1904fac Better block allocation handling 2025-04-19 19:53:25 -07:00
Jack Andersen
247eae5913 This had better fix S_ISREG on Windows 2025-04-19 19:53:25 -07:00
Jack Andersen
e185d25292 stat include to make windows happy 2025-04-19 19:53:25 -07:00
Jack Andersen
b76aa3acf9 getStatus and setStatus implementation 2025-04-19 19:53:25 -07:00
Jack Andersen
b6e878f343 Changes to support CMemoryCardSys integration 2025-04-19 19:53:25 -07:00
2a6ed838d4 Fix file copy operation 2025-04-19 19:53:25 -07:00
e4cf066cd6 Proper getSerial implementation 2025-04-19 19:53:25 -07:00
5287818c4f Handle no-copy/no-move permissions 2025-04-19 19:53:25 -07:00
a1beab1181 Formatting pass 2025-04-19 19:53:24 -07:00
Jack Andersen
c75c6c74c5 Add winsupport from hecl 2025-04-19 19:53:20 -07:00
061753f92f Add directory iteration 2025-04-19 19:53:19 -07:00
ce78cefe8d Clarify API usage
IconAddress makes no sense, points to the start of the banner, with the icon directly following,
2025-04-19 19:53:19 -07:00
731682d9a3 Complete base API 2025-04-19 19:53:17 -07:00
1c1f1d9adc Finalize directory structure
Remove unrelated classes from Card.{cpp,hpp}
2025-04-19 19:53:15 -07:00