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