Fixed save-files and rumble

This commit is contained in:
KiritoDv 2024-04-03 02:19:17 -06:00
parent 59dc1cf083
commit 648e173a3c
3 changed files with 14 additions and 38 deletions

View File

@ -44,26 +44,15 @@ s32 Save_Write(void) {
gSaveFile.save.checksum = Save_Checksum(&gSaveFile.save); gSaveFile.save.checksum = Save_Checksum(&gSaveFile.save);
gSaveFile.backup = gSaveFile.save; gSaveFile.backup = gSaveFile.save;
gSaveIOBuffer = gSaveFile; gSaveIOBuffer = gSaveFile;
osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_WRITE_SAVE), OS_MESG_PRI_NORMAL); Save_WriteData();
osRecvMesg(&gSaveMsgQueue, &sp1C, OS_MESG_BLOCK);
if (sp1C.data32 != SI_SAVE_SUCCESS) {
return -1;
}
return 0; return 0;
} }
s32 Save_Read(void) { s32 Save_Read(void) {
return 0;
OSMesg* sp24; OSMesg* sp24;
s32 i; s32 i;
osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_READ_SAVE), OS_MESG_PRI_NORMAL); Save_ReadData();
osRecvMesg(&gSaveMsgQueue, &sp24, OS_MESG_BLOCK);
if (sp24->data32 != SI_SAVE_SUCCESS) {
return -1;
}
gSaveFile = gSaveIOBuffer; gSaveFile = gSaveIOBuffer;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) { if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {

View File

@ -88,7 +88,7 @@ void Controller_ReadData(void) {
} }
} else { } else {
osContStartReadData(&gSerialEventQueue); osContStartReadData(&gSerialEventQueue);
osRecvMesg(&gSerialEventQueue, NULL, OS_MESG_BLOCK); osRecvMesg(&gSerialEventQueue, NULL, OS_MESG_NOBLOCK);
osContGetReadData(sNextController); osContGetReadData(sNextController);
} }
osSendMesg(&gControllerMsgQueue, OS_MESG_32(SI_CONT_READ_DONE), OS_MESG_PRI_NORMAL); osSendMesg(&gControllerMsgQueue, OS_MESG_32(SI_CONT_READ_DONE), OS_MESG_PRI_NORMAL);
@ -113,10 +113,6 @@ void Save_WriteData(void) {
void Controller_Rumble(void) { void Controller_Rumble(void) {
s32 i; s32 i;
// osContStartQuery(&gSerialEventQueue);
osRecvMesg(&gSerialEventQueue, NULL, OS_MESG_BLOCK);
// osContGetQuery(sControllerStatus);
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if ((gControllerPlugged[i] != 0) && (sControllerStatus[i].err_no == 0)) { if ((gControllerPlugged[i] != 0) && (sControllerStatus[i].err_no == 0)) {
if (sControllerStatus[i].status & 1) { if (sControllerStatus[i].status & 1) {

View File

@ -195,27 +195,17 @@ void Main_SetVIMode(void) {
// } // }
} }
void SerialInterface_ThreadEntry(void* arg0) { void SerialInterface_ThreadUpdate() {
OSMesg sp34; OSMesg sp34;
Controller_Init();
while (1) {
osRecvMesg(&gSerialThreadMsgQueue, &sp34, OS_MESG_BLOCK);
switch (sp34.data32) { switch (sp34.data32) {
case SI_READ_CONTROLLER:
Controller_ReadData();
break;
case SI_READ_SAVE: case SI_READ_SAVE:
Save_ReadData(); Save_ReadData();
break; break;
case SI_WRITE_SAVE: case SI_WRITE_SAVE:
Save_WriteData(); Save_WriteData();
break; break;
case SI_RUMBLE:
Controller_Rumble();
break;
}
} }
} }
@ -263,10 +253,11 @@ void Graphics_ThreadUpdate(){
gSysFrameCount++; gSysFrameCount++;
Graphics_InitializeTask(gSysFrameCount); Graphics_InitializeTask(gSysFrameCount);
osRecvMesg(&gControllerMsgQueue, NULL, OS_MESG_BLOCK); osRecvMesg(&gControllerMsgQueue, NULL, OS_MESG_NOBLOCK);
osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_RUMBLE), OS_MESG_PRI_NORMAL); osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_RUMBLE), OS_MESG_PRI_NORMAL);
Controller_UpdateInput(); Controller_UpdateInput();
Controller_ReadData(); Controller_ReadData();
Controller_Rumble();
osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_READ_CONTROLLER), OS_MESG_PRI_NORMAL); osSendMesg(&gSerialThreadMsgQueue, OS_MESG_32(SI_READ_CONTROLLER), OS_MESG_PRI_NORMAL);
if (gControllerPress[3].button & U_JPAD) { if (gControllerPress[3].button & U_JPAD) {
Main_SetVIMode(); Main_SetVIMode();