Skip to content

Commit

Permalink
- Basic accommodation for shrunk disc images without requisite size a…
Browse files Browse the repository at this point in the history
…lignment.
  • Loading branch information
Extrems committed Dec 23, 2019
1 parent 454e8d8 commit 208d7c7
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 6 deletions.
5 changes: 3 additions & 2 deletions cube/swiss/source/devices/fat/deviceHandler-FAT.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "main.h"
#include "ata.h"
#include "patcher.h"
#include "dvd.h"

const DISC_INTERFACE* carda = &__io_gcsda;
const DISC_INTERFACE* cardb = &__io_gcsdb;
Expand Down Expand Up @@ -371,7 +372,7 @@ s32 deviceHandler_FAT_setupFile(file_handle* file, file_handle* file2) {
}

// If disc 1 is fragmented, make a note of the fragments and their sizes
if(!(frags = getFragments(file, &fragList[totFrags*3], maxFrags, 0, 0, DEVICE_CUR))) {
if(!(frags = getFragments(file, &fragList[totFrags*3], maxFrags, 0, DISC_SIZE, DEVICE_CUR))) {
return 0;
}
totFrags += frags;
Expand All @@ -384,7 +385,7 @@ s32 deviceHandler_FAT_setupFile(file_handle* file, file_handle* file2) {
}
devices[DEVICE_CUR]->closeFile(file);
// TODO fix 2 disc patched games
if((frags = getFragments(file2, &fragList[totFrags*3], maxFrags, 0x80000000, 0, DEVICE_CUR))) {
if((frags = getFragments(file2, &fragList[totFrags*3], maxFrags, 0x80000000, DISC_SIZE, DEVICE_CUR))) {
totFrags += frags;
}
devices[DEVICE_CUR]->closeFile(file2);
Expand Down
5 changes: 3 additions & 2 deletions cube/swiss/source/devices/gcloader/deviceHandler-gcloader.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "main.h"
#include "gcloader.h"
#include "patcher.h"
#include "dvd.h"

const DISC_INTERFACE* gcloader = &__io_gcloader;
FATFS *gcloaderfs = NULL;
Expand Down Expand Up @@ -74,7 +75,7 @@ s32 deviceHandler_GCLOADER_setupFile(file_handle* file, file_handle* file2) {
memset((void*)discFragList, 0, fragListSize);

// If disc 1 is fragmented, make a note of the fragments and their sizes
if(!(disc1Frags = getFragments(file, &discFragList[0], maxDiscFrags, 0, 0, DEVICE_CUR))) {
if(!(disc1Frags = getFragments(file, &discFragList[0], maxDiscFrags, 0, DISC_SIZE, DEVICE_CUR))) {
return 0;
}
devices[DEVICE_CUR]->deinit(file);
Expand All @@ -91,7 +92,7 @@ s32 deviceHandler_GCLOADER_setupFile(file_handle* file, file_handle* file2) {
if(totFrags+1 == maxDiscFrags) {
return 0;
}
if(!(disc2Frags = getFragments(file2, &discFragList[0], maxDiscFrags, 0, 0, DEVICE_CUR))) {
if(!(disc2Frags = getFragments(file2, &discFragList[0], maxDiscFrags, 0, DISC_SIZE, DEVICE_CUR))) {
return 0;
}
totFrags += disc2Frags;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "main.h"
#include "wkf.h"
#include "patcher.h"
#include "dvd.h"

const DISC_INTERFACE* wkf = &__io_wkf;
int wkfFragSetupReq = 0;
Expand Down Expand Up @@ -135,7 +136,7 @@ s32 deviceHandler_WKF_setupFile(file_handle* file, file_handle* file2) {
}

// If disc 1 is fragmented, make a note of the fragments and their sizes
if(!(frags = getFragments(file, &fragList[totFrags*3], maxFrags, 0, 0, DEVICE_CUR))) {
if(!(frags = getFragments(file, &fragList[totFrags*3], maxFrags, 0, DISC_SIZE, DEVICE_CUR))) {
return 0;
}
totFrags += frags;
Expand All @@ -147,7 +148,7 @@ s32 deviceHandler_WKF_setupFile(file_handle* file, file_handle* file2) {
return 0;
}
// TODO fix 2 disc patched games
if(!(frags = getFragments(file2, &fragList[totFrags*3], maxFrags, 0x80000000, 0, DEVICE_CUR))) {
if(!(frags = getFragments(file2, &fragList[totFrags*3], maxFrags, 0x80000000, DISC_SIZE, DEVICE_CUR))) {
return 0;
}
totFrags += frags;
Expand Down

0 comments on commit 208d7c7

Please sign in to comment.