mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-09 03:37:49 +03:00
Fixed save-files and rumble
This commit is contained in:
parent
59dc1cf083
commit
648e173a3c
@ -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)) {
|
||||||
|
@ -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) {
|
||||||
|
@ -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();
|
||||||
|
Loading…
Reference in New Issue
Block a user