565 Commits

Author SHA1 Message Date
d0k3
8ee0fac6c4 Use .tie extension for titledb entries 2020-07-09 22:51:59 +02:00
aspargas2
6e0b6d2d0a invalidate vbdri cached entry when a write fails 2020-06-30 19:22:18 +02:00
aspargas2
75cae95509 sort unsigned system tickets into the homebrew directory in ticket.db mounts 2020-06-30 19:22:18 +02:00
aspargas2
519855de5b fix write permission bypass bug
attempting to open a file in a bdri mount for reading only which did not exist but had a valid name would create the file without ever unlocking appropriate write permissions
2020-06-30 19:22:18 +02:00
aspargas2
6b6fe4741d minor visual fix
previously, it was possible to select and deselect drives on the root menu by using the shortcut keys to select all files, but this would not functionally do anything
2020-06-30 19:22:18 +02:00
aspargas2
fd4fd14ee7 allow deletion of files in virtual BDRI drives 2020-06-30 19:22:18 +02:00
aspargas2
8ffe774f77 remove remaining uses of brute-force ticket.db parsing 2020-06-30 19:22:18 +02:00
aspargas2
127008a274 fix oversight in AddBDRIEntry
this would cause an uninitialized u64 to be used for the entry size in certain circumstances
2020-06-30 19:22:18 +02:00
aspargas2
6e63fdf4bf avoid malloc(0) in vbdri 2020-06-30 19:22:18 +02:00
aspargas2
c70546d5ca implement virtual mounting of BDRI files 2020-06-30 19:22:18 +02:00
aspargas2
2b94b585eb improvements to bdri.c:
* fix a bug in ReadTicketFromDB that would fail to read tickets that were not a specific size
* fix the endianness of the title IDs outputted by ListBDRIEntryTitleIDs
* improve the speed of ReadBDRIEntry and GetBDRIEntrySize by taking advantage of the hash table
2020-06-30 19:22:18 +02:00
aspargas2
b51fc388c2 change a #include to make more sense 2020-06-30 19:22:18 +02:00
aspargas2
11c3a4a71b remove inaccurate comment
the title size field in a title info entry is infact not in bytes
2020-06-30 19:22:18 +02:00
aspargas2
fd93df60c5 deinit filesystems before booting a firm payload 2020-06-30 19:22:18 +02:00
aspargas2
77b83bc89e move structs that are only used locally from .h to .c in disadiff and bdri 2020-06-30 19:22:18 +02:00
santiago
244d24ee2a fix compiling on dkA r54, libc is bloaty so please stick with r53 for now 2020-06-01 17:13:30 -03:00
d0k3
da1dff7cd7 Legit CIAs: Change personalized ticket warning 2020-05-18 23:24:32 +02:00
d0k3
a7ce125d7f Allow building "pirate legit" CIAs (TMD & encryption intact) 2020-05-11 18:02:26 +02:00
d0k3
2793daa55f Take over title version when building CIA from NCSD 2020-05-11 17:19:27 +02:00
d0k3
182f1ebe43 Fix garbage data in converted CIAs
Partial fix for #587
2020-05-11 17:19:27 +02:00
d0k3
da28c0ef40 Fix #585 2020-05-11 17:19:27 +02:00
luigoalma
6541e52f05 Reinforcing alignment to buffer size 2020-03-28 07:05:42 -03:00
luigoalma
e763cbaf72 Changes to CIA building for DLC on legit cases
Ignore unowned content implied by ticket.
Standard building still should include everything due to fake ticket.
2020-03-28 07:05:42 -03:00
luigoalma
978c4f8b86 Fake ticket building changes 2020-03-28 07:05:42 -03:00
luigoalma
ccc0ddf300 Adding ability to check ticket content rights 2020-03-28 07:05:42 -03:00
luigoalma
f7b7459d9f Little stack usage optimization
Just in one function's buffer but still
2020-03-28 07:05:42 -03:00
luigoalma
d27cfc71e1 Indentation fixes
Indentation fixes everywhere
(mostly anyway under arm9/source/)
And some other tab to spaces
2020-03-28 07:05:42 -03:00
luigoalma
4e04849860 Support for variable sized tickets
Except for cia building or loading cia just yet.
Added more checks on ticket content index, mainly due to having effects
in the ticket format itself, and are unknown still.
Ability to determine ticket size.
Verify signature with ticket's proper size.
Changes to use the new Ticket struct with the flexible array member.
2020-03-28 07:05:42 -03:00
luigoalma
e0e72142bc Add BDRI function for getting size
In part, partial copy of ReadBDRIEntry changed just for getting size.
2020-03-28 07:05:42 -03:00
luigoalma
4e38973384 Fix a memory leak
When running CIA checker tool
2020-03-28 07:05:42 -03:00
luigoalma
2760bb4a38 Fixes to mymalloc functions 2020-03-28 07:05:42 -03:00
d0k3
98c1b25bb0 Allow fixing improperly decrypted NCSD/NCCH
... use "verify" for this. Also, there's a hint now when trying to CIA convert such files.
2020-01-02 21:08:45 +01:00
Wolfvak
940284c8da removed BEAT debug prints 2020-01-02 21:08:45 +01:00
Wolfvak
ce9f0a25ef add BEAT interactivity, fix typos and other small bugs 2020-01-02 21:08:45 +01:00
Wolfvak
e4b98e0932 drop in replacement for old BEAT code, not yet interactive 2020-01-02 21:08:45 +01:00
Wolfvak
9f50d2f03c Fix #573 2020-01-02 21:08:44 +01:00
d0k3
42f7fcfb7b Improved scroll speeds for wordwrapped texts 2020-01-02 21:08:44 +01:00
Wolfvak
6fb60e007a Fix #568 2020-01-02 21:08:44 +01:00
d0k3
622d0b053c FatFS R0.14 customization: public.sav detection 2020-01-02 21:08:44 +01:00
d0k3
e446bdbfa5 Update FatFS R0.13c -> R0.14 2020-01-02 21:08:44 +01:00
aspargas2
7729605f9a fix #563 2020-01-02 21:07:22 +01:00
d0k3
479fed35ef Further improvements to GBA VC save injection
... taking over @TurdPooChargers proposal.
2020-01-02 21:07:21 +01:00
d0k3
23a7ea7fd3 Beautified the GBA VC SD save handling code 2020-01-02 21:07:03 +01:00
d0k3
da412226be Fix #562 2020-01-02 21:07:03 +01:00
d0k3
cfae228bcf Disarm anti savegame restore on CTRtransfer 2019-10-28 22:31:21 +01:00
TurdPooCharger
a145e8d4a9 Add handling for SD GBA VC .sav CMAC.
When identifying a selected `00000001.sav`, cmac type testing is first attempted for 3DS saves with the **DISA** format. If a 3DS save data is not detected, the search continues at expected offsets for gba vc bottom slots in increasingly larger save sizes. For the GBA VC saves, this only calculates and corrects whichever of the two slots is newer or has the higher counter. There are five additional **CMAC_AGBSAVE_** types to differentiate the different gba save sizes. If a bottom slot was found but determined to be older based on comparing the counter values, the search defaults to **CMAC_AGBSAVE_SD**.

For the save counters, there are two scenarios where the value `00` is considered bigger than `FF` depending which slot has what value. If clarification is required, I will post a diagram at [issue #494](https://github.com/d0k3/GodMode9/issues/494) explaining what is meant by `00` bigger than `FF`.

Please make corrections and improvements to the coding as you see fit in your review. I am not well versed or efficient in the C/C++ programming language.
2019-10-28 21:47:43 +01:00
Wolfvak
499e301b7b - fix #555
- remove useless free(NULL) check
2019-10-28 14:16:55 -03:00
d0k3
624ac571e4 Improve GBA VC save injection
... see #548
2019-10-28 14:16:55 -03:00
d0k3
1889f4fd57 Simplify fsdrive code 2019-10-28 14:16:55 -03:00
d0k3
f184ad5701 Fix #554 2019-10-28 14:16:55 -03:00