Starship/src/main/3440.c

59 lines
1.4 KiB
C
Raw Normal View History

2023-10-06 15:52:48 +03:00
#include "common.h"
2023-10-07 14:30:03 +03:00
extern s32 func_800071FC(s32*);
extern s32 func_800072E0(s32*);
2023-10-14 10:00:11 +03:00
extern void osContInit(s32*, u8*, s32*);
extern s32 osSendMesg(s32*, s32, s32);
2023-10-07 14:30:03 +03:00
extern s8 D_800DD8B0;
extern s8 D_800DD8B1;
extern s8 D_800DD8B2;
extern s8 D_800DD8B3;
extern s8 D_800DD8B8;
extern s8 D_800DD8B9;
extern s8 D_800DD8BA;
extern s8 D_800DD8BB;
extern s32 D_800DD8F0;
extern s32 D_800E2128;
2023-10-06 16:58:53 +03:00
extern s32 D_800E2318;
extern u8 D_80137E80;
extern s32 D_80144F60;
2023-10-06 15:52:48 +03:00
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/3440/func_80002840.s")
2023-10-07 14:30:03 +03:00
void func_8000291C(void) {
u8 sp1F;
2023-10-14 10:00:11 +03:00
osContInit(&D_800E2128, &sp1F, &D_800DD8F0);
2023-10-07 14:30:03 +03:00
D_800DD8B0 = sp1F & 1;
D_800DD8B8 = 0;
D_800DD8B1 = (sp1F >> 1) & 1;
D_800DD8B9 = 0;
D_800DD8B2 = (sp1F >> 2) & 1;
D_800DD8BA = 0;
D_800DD8B3 = (sp1F >> 3) & 1;
D_800DD8BB = 0;
}
2023-10-06 15:52:48 +03:00
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/3440/func_800029A8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/3440/func_80002AF4.s")
2023-10-06 16:58:53 +03:00
void func_80002BE8(void) {
if ((D_80137E80 == 0) && (func_800072E0(&D_80144F60) == 0)) {
2023-10-14 10:00:11 +03:00
osSendMesg(&D_800E2318, 15, 0);
2023-10-06 16:58:53 +03:00
return;
}
2023-10-14 10:00:11 +03:00
osSendMesg(&D_800E2318, 14, 0);
2023-10-06 16:58:53 +03:00
}
2023-10-06 16:48:51 +03:00
void func_80002C50(void) {
if ((D_80137E80 == 0) && (func_800071FC(&D_80144F60) == 0)) {
2023-10-14 10:00:11 +03:00
osSendMesg(&D_800E2318, 15, 0);
2023-10-06 16:48:51 +03:00
return;
}
2023-10-14 10:00:11 +03:00
osSendMesg(&D_800E2318, 14, 0);
2023-10-06 16:48:51 +03:00
}
2023-10-06 15:52:48 +03:00
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/3440/func_80002CB8.s")