Commit Graph

71 Commits

Author SHA1 Message Date
Luke Street 4cf61b7d5e Use UTF-8 exclusively internally 2021-06-28 18:58:22 -04:00
Phillip Stephens 1111fb4839
Fix corruption issues while writing memory card to disk 2021-05-02 15:05:34 -07:00
Luke Street b585305009 Add AsyncIONX.cpp 2020-10-21 00:45:02 -04:00
Luke Street 6f5cb6f972 GCC nonstring fixes 2020-10-21 00:44:45 -04:00
Lioncash 1b813f0c70 Util: Make operator|= and &= constexpr for bitwise enums
Maintains parity with hecl's version of the macro, etc.
2020-04-05 10:00:12 -04:00
Phillip Stephens 35e5c7c90f
Merge pull request #12 from lioncash/const
General: Make member functions const where applicable
2019-09-03 00:37:32 -07:00
Phillip Stephens d48ba9523f
Merge pull request #13 from lioncash/explicit
General: Use explicit where applicable
2019-09-03 00:37:23 -07:00
Lioncash 9d3a436e70 Card: Use UINT32_MAX for FileHandle's default initializer
Avoids a sign conversion
2019-09-02 08:45:07 -04:00
Lioncash e96db1e032 General: Use explicit where applicable
Makes conversions explicit in order to prevent error-prone implicit
conversions.
2019-09-02 08:42:37 -04:00
Lioncash ed2a6b3ce8 Card: Make querying functions const member functions where applicable
These don't modify member state, so they can be made const .
2019-09-02 08:26:43 -04:00
Lioncash 66ce5ed823 Directory: Make indexForFile() a const member function
This doesn't modify instance state, so it can be turned into a const
member function.
2019-09-02 08:20:50 -04:00
Lioncash 69d24d1027 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.
2019-09-02 08:14:44 -04:00
Lioncash 1779e14bcc 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.
2019-09-02 03:30:58 -04:00
Lioncash e186d1498f Revert "Revert "General: Use std::array where applicable""
This reverts commit 698e37d6a4.
2019-09-02 00:34:16 -04:00
Phillip Stephens 698e37d6a4
Revert "General: Use std::array where applicable" 2019-09-01 11:26:50 -07:00
Lioncash 3e64021400 General: Use std::array where applicable
Same behavior, but with stronger typing. We can also eliminate usages of
magic values in some places.
2019-08-31 22:14:42 -04:00
Phillip Stephens 222fb5c179
Add missing include 2019-08-31 01:58:06 -07:00
Lioncash 7e3a2370c5 General: Avoid indirect includes
Ensures all inclusions are made where necessary.
2019-08-30 10:35:03 -04:00
Lioncash d906c2526b Card: Amend doxygen comments
Amends broken or missing doxygen parameters. While we're at it, we can
expand the documentation a little bit to be somewhat more explanatory
about the functions.
2019-08-12 23:56:39 -04:00
Jack Andersen dc436ffb32 Make stuff constexpr 2019-07-19 18:26:25 -10:00
Jack Andersen 8053d1125b Windows build fixes 2019-06-12 15:33:09 -10:00
Jack Andersen 51c7163cfd Better CMake dependency handling 2019-06-11 16:04:15 -10:00
Phillip Stephens da4008bf50 Prevent garbage data from being written to memcard 2019-06-02 20:31:57 -07:00
Jack Andersen 630119350b Add True and False tests for bitwise enums 2019-04-02 18:29:35 -10:00
Jack Andersen 3a6ee9a70c Minor bitwise enum macro change 2018-12-15 20:30:54 -10:00
Jack Andersen f126245eef New code style refactor 2018-12-07 19:20:24 -10:00
Jack Andersen a1e2242691 _SYS_STR macro fix 2018-10-18 14:57:43 -10:00
Jack Andersen bd1c3e99f2 Windows build fixes 2018-10-14 10:12:52 -10:00
Jack Andersen e84546be2d Convert to pragma once 2018-10-06 17:41:40 -10:00
Jack Andersen 37461f2165 Add public waitForCompletion method 2018-06-16 10:08:13 -10:00
Jack Andersen 3b10be80f7 Implement Win32 AsyncIO 2018-02-06 15:36:51 -10:00
Jack Andersen bdf4bd07a8 Use asynchronous I/O for Card access 2018-02-05 23:34:01 -10:00
Jack Andersen 8052a6372e Huge compile performance refactor 2017-12-28 22:07:49 -10:00
Jack Andersen bd73c89b54 UWP fix 2017-12-06 18:10:32 -10:00
Jack Andersen c6fcf45546 Windows fixes 2017-11-13 17:36:10 -10:00
Jack Andersen ffbe61508f string_view refactor 2017-11-12 20:18:30 -10:00
Jack Andersen 09e0582282 Use MoveFileEx for Win32 file renaming 2017-11-05 20:57:34 -10:00
Jack Andersen 3cf7aee617 Windows fix 2017-10-29 21:28:05 -10:00
Jack Andersen 03f16f7f48 Checksum recalculate fix for getStatus() 2017-02-06 16:25:08 -10:00
Jack Andersen bb972f8f36 Specify binary mode when reopening card file 2017-02-03 22:19:36 -10:00
Jack Andersen 537cceca49 Card writing bug fixes 2017-02-03 17:43:49 -10:00
Jack Andersen 11d1c676c4 More stable index-flipping for write ops 2017-02-02 20:21:49 -10:00
Jack Andersen 408ac735b4 FileHandle refactor 2017-01-23 21:40:47 -10:00
Jack Andersen b5f5104877 Checksum and Card copy fixes 2017-01-23 15:50:54 -10:00
Jack Andersen 6892853a14 Ensure WideStringConvert.hpp is included 2016-12-28 12:49:09 -10:00
Jack Andersen f629a52adf Ensure CARD_UCS2 is conditionally defined 2016-12-28 12:43:24 -10:00
Jack Andersen 0869c7b5b5 This had better fix S_ISREG on Windows 2016-12-28 12:05:48 -10:00
Jack Andersen 7315a1dedd getStatus and setStatus implementation 2016-12-28 11:39:10 -10:00
Jack Andersen 223ea9a56e Changes to support CMemoryCardSys integration 2016-12-27 22:50:25 -10:00
Phillip Stephens 8d2d1134ae Proper getSerial implementation 2016-12-23 01:48:32 -08:00