lair .data fully define

This commit is contained in:
Banjo Kazooie
2022-11-27 16:25:40 -06:00
parent d0fd443274
commit 19b5bc0749
7 changed files with 472 additions and 100 deletions

View File

@@ -2074,10 +2074,10 @@ segments:
- [0x10A3C40, c, code_BBD0] #DONE
- [0x10A4230, c, code_C1C0] #DONE
- [0x10A4730, c, code_C6C0] #DONE
- [0x10A4930, bin, data_C8C0] #.data, code_0]
- [0x10A51A0, bin, data_D130] #.data, code_42A0]
- [0x10A4930, .data, code_0]
- [0x10A51A0, .data, code_42A0]
- [0x10A5390, .data, code_5640]
- [0x10A53E0, bin, data_D370] #.data, code_5ED0]
- [0x10A53E0, .data, code_5ED0]
- [0x10A6430, .data, code_86F0]
- [0x10A64E0, .data, code_9C40]
- [0x10A6560, .data, code_A170]

View File

@@ -270,6 +270,8 @@ enum unkflags_1{
UNKFLAGS1_7F_SANDCASTLE_OPEN_CC = 0x7F,
UNKFLAGS1_84_SANDCASTLE_OPEN_BGS = 0x84,
UNKFLAGS1_86_SANDCASTLE_SHOCKSPRING_JUMP_UNLOCKED = 0x86,
UNKFLAGS1_87_SANDCASTLE_OPEN_GV,// 0X87

View File

@@ -9,14 +9,13 @@ OSMesg D_8027E138;
OSMesgQueue D_8027E140;
OSMesg D_8027E158;
OSThread D_8027E160;
u8 pad_8027E310[0x800];
extern u8 D_8027EB10;
u8 D_8027E310[0x800];
/* .code */
void func_802407C0(void){
osCreateMesgQueue(&D_8027E120, &D_8027E138, 1);
osCreateMesgQueue(&D_8027E140, &D_8027E158, 1);
osCreateThread(&D_8027E160, 2, func_80240924, NULL, &D_8027EB10, 10);
osCreateThread(&D_8027E160, 2, func_80240924, NULL, &D_8027E310[0x800], 10);
osStartThread(&D_8027E160);
}

View File

@@ -21,14 +21,14 @@ extern struct {
}D_8027EF18;
/* .data */
extern struct{
struct{
N_AL_Struct81s *unk0;
N_AL_Struct81s *unk4;
N_AL_Struct81s *unk8;
}D_802758C0 = {NULL, NULL, NULL};
extern N_ALSndPlayer *D_802758CC = &D_8027EEC0;
extern s32 D_802758D0 = 1;
extern s16 D_802758D4 = 0;
N_ALSndPlayer *D_802758CC = &D_8027EEC0;
s32 D_802758D0 = 1;
s16 D_802758D4 = 0;
/* .code */
void func_80243070(Struct87s *arg0) {

View File

@@ -85,65 +85,132 @@ extern ActorInfo D_80394CF0;
extern ActorInfo D_80394C94;
/* .data */
extern ActorAnimationInfo D_80392CB0[];
extern ActorInfo lair_D_80392D90 = { 0x270, 0x2D8, 0x3B2, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80392DB4 = { 0x110, 0x214, 0x4AB, 0x1, D_80392CB0, func_803896D4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392DD8 = { 0x113, 0x217, 0x4A9, 0x1, D_80392CB0, func_803896F4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392DFC = { 0x115, 0x219, 0x4AA, 0x1, D_80392CB0, func_80389714, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392E20 = { 0x11B, 0x221, 0x4B5, 0x1, D_80392CB0, func_80389734, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392E44 = { 0x11C, 0x222, 0x4B2, 0x1, D_80392CB0, func_8038975C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392E68 = { 0x11D, 0x223, 0x4B0, 0x1, D_80392CB0, func_80389784, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392E8C = { 0x232, 0x23C, 0x4B8, 0x1, D_80392CB0, func_803897AC, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392EB0 = { 0x23F, 0x246, 0x534, 0x1, D_80392CB0, func_80386D20, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392ED4 = { 0x241, 0x248, 0x540, 0x1, D_80392CB0, func_80386780, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392EF8 = { 0x109, 0x20D, 0x4A1, 0x1, D_80392CB0, lair_func_80386550, func_80326224, func_80325888, 0, 0, 0.0f, 0x85};
extern ActorInfo D_80392F1C = { 0x264, 0x2E5, 0x550, 0x19, D_80392CB0, func_80388524, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80392F40 = { 0x224, 0x230, 0x4BF, 0xB, D_80392CB0, lair_func_803863F0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
extern ActorInfo D_80392F64 = { 0x225, 0x231, 0x4D5, 0xE, D_80392CB0, lair_func_803864B0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
extern ActorInfo D_80392F88 = { 0x111, 0x215, 0x4A4, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80392FAC = { 0x112, 0x216, 0x4A5, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80392FD0 = { 0x114, 0x218, 0x4A6, 0x1, NULL, lair_func_80389204, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80392FF4 = { 0x10D, 0x211, 0x4A3, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80393018 = { 0x22C, 0x23A, 0x4D9, 0x1, NULL, func_803882B0, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_8039303C = { 0x164, 0x259, 0x507, 0x1, NULL, func_803880BC, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80393060 = { 0x165, 0x25A, 0x508, 0x1, NULL, func_8038824C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80393084 = { 0x240, 0x247, 0x48A, 0x1, NULL, func_80386D78, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_803930A8 = { 0x242, 0x249, 0x2DD, 0x1, NULL, func_803867A8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_803930CC = { 0x11F, 0x225, 0x4B3, 0x1, NULL, func_8038A064, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_803930F0 = { 0x10A, 0x20E, 0x4A2, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_80393114 = { 0x11A, 0x220, 0x4B7, 0x1, NULL, func_80389FF4, func_80326224, func_80325E78, 0, 0, 0.0f, 0x91};
extern ActorInfo D_80393138 = { 0x11E, 0x224, 0x4AF, 0x1, NULL, func_8038A014, func_80326224, func_80325E78, 0, 0, 0.0f, 0x83};
extern ActorInfo D_8039315C = { 0x227, 0x234, 0x4D6, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x93};
extern ActorInfo D_80393180 = { 0x228, 0x235, 0x4D7, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8B};
extern ActorInfo D_803931A4 = { 0x229, 0x236, 0x4D8, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8B};
extern ActorInfo D_803931C8 = { MARKER_121_GLASS_EYE, ACTOR_227_GLASS_EYE, ASSET_4BD_MODEL_GLASS_EYE, 0x1, NULL, func_8038A034, func_80326224, func_80325888, 0, 0, 0.0f, 0x89};
extern ActorInfo D_803931EC = { 0x116, 0x21A, 0x4AC, 0x1, NULL, func_803893B8, func_80326224, func_80325E78, 0, 0, 0.0f, 0x82};
extern ActorInfo D_80393210 = { 0x117, 0x21B, 0x4AD, 0x1, NULL, lair_func_803894B0, func_80326224, func_80325E78, 0, 0, 0.0f, 0x82};
extern ActorInfo D_80393234 = { 0x10B, 0x20F, 0x4B4, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x90};
extern ActorInfo D_80393258 = { 0x10C, 0x210, 0x4AE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x84};
extern ActorInfo D_8039327C = { 0x10E, 0x212, 0x4A7, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x7F};
extern ActorInfo D_803932A0 = { 0x120, 0x226, 0x4BC, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x87};
extern ActorInfo D_803932C4 = { 0x122, 0x228, 0x4BE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8C};
extern ActorInfo D_803932E8 = { 0x10F, 0x213, 0x4A8, 0x1, NULL, func_803875F0, func_80326224, func_80325E78, 0, 0, 0.0f, 0x80};
extern ActorInfo D_8039330C = { 0x118, 0x21E, 0x4B1, 0x1, NULL, lair_func_8038A084, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8F};
extern ActorInfo D_80393330 = { 0x119, 0x21F, 0x4B6, 0x1, NULL, func_8038A0A4, func_80326224, func_80325E78, 0, 0, 0.0f, 0x92};
extern ActorInfo D_80393354 = { 0x266, 0x2E3, 0x563, 0x1, NULL, func_803870DC, func_80326224, lair_func_80387560, 0, 0, 0.0f, 0};
extern ActorInfo D_80393378 = { 0x17D, 0x1E1, 0x517, 0x1, NULL, func_80389D08, func_80326224, func_80389E10, 0, 0, 0.0f, 0x8D};
extern ActorInfo D_8039339C = { 0x234, 0x23E, 0x4E1, 0x12, D_80392CB0, func_8038982C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
extern ActorInfo D_803933C0 = { 0x163, 0x258, 0x511, 0x12, D_80392CB0, func_80389898, func_80326224, func_8038664C, 0, 0, 0.0f, 0x8E};
extern ActorInfo D_803933E4 = { 0x160, 0x255, 0x509, 0x15, D_80392CB0, func_80389934, func_80326224, func_80325888, 0, 0, 0.0f, 0};
extern ActorInfo D_80393408 = { 0x102, 0x203, 0x491, 0x1, D_80392CB0, func_80387730, func_80326224, func_80387DA8, 0, 0, 0.0f, 0};
extern struct31s D_8039342C;
extern s16 D_80393452[]; //enum bkprog_e
extern s16 D_80393466[];
extern s16 D_8039347A[]; //notedoor_notes_required_to_open
extern s16 D_80393490[];
extern s32 D_803934A0[3];
extern struct31s D_803934AC;
extern struct42s D_803934D4;
extern s32 D_80393504[4];
ActorAnimationInfo D_80392CB0[] = {
{ 0, 0.0f},
{ 0, 0.0f},
{ 0xD4, 0.15f},
{ 0xD5, 0.5f},
{ 0, 0.0f},
{ 0, 0.0f},
{ 0xD4, 0.15f},
{ 0xD5, 0.5f},
{ 0xD5, 1e+08f},
{0x1E3, 0.73},
{0x1E3, 1e+08f},
{0x1F0, 1.0f},
{0x1F1, 0.7f},
{0x1F1, 1e+08f},
{0x1F2, 1.0f},
{0x1F3, 0.4f},
{0x1F3, 1e+08f},
{ 0, 0.0f},
{0x218, 1e+08f},
{0x218, 1.0f},
{0x218, 1e+08f},
{0x235, 1e+08f},
{0x235, 1e+08f},
{0x235, 1.0f},
{0x235, 1e+08f},
{0x271, 1e+08f},
{0x271, 3.0f},
{0x271, 1e+08f}
};
ActorInfo lair_D_80392D90 = { 0x270, 0x2D8, 0x3B2, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392DB4 = { 0x110, 0x214, 0x4AB, 0x1, D_80392CB0, func_803896D4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392DD8 = { 0x113, 0x217, 0x4A9, 0x1, D_80392CB0, func_803896F4, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392DFC = { 0x115, 0x219, 0x4AA, 0x1, D_80392CB0, func_80389714, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392E20 = { 0x11B, 0x221, 0x4B5, 0x1, D_80392CB0, func_80389734, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392E44 = { 0x11C, 0x222, 0x4B2, 0x1, D_80392CB0, func_8038975C, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392E68 = { 0x11D, 0x223, 0x4B0, 0x1, D_80392CB0, func_80389784, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392E8C = { 0x232, 0x23C, 0x4B8, 0x1, D_80392CB0, func_803897AC, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392EB0 = { 0x23F, 0x246, 0x534, 0x1, D_80392CB0, func_80386D20, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392ED4 = { 0x241, 0x248, 0x540, 0x1, D_80392CB0, func_80386780, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392EF8 = { 0x109, 0x20D, 0x4A1, 0x1, D_80392CB0, lair_func_80386550, func_80326224, func_80325888, 0, 0, 0.0f, 0x85};
ActorInfo D_80392F1C = { 0x264, 0x2E5, 0x550, 0x19, D_80392CB0, func_80388524, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80392F40 = { 0x224, 0x230, 0x4BF, 0xB, D_80392CB0, lair_func_803863F0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
ActorInfo D_80392F64 = { 0x225, 0x231, 0x4D5, 0xE, D_80392CB0, lair_func_803864B0, func_80326224, func_80325888, 0, 0, 0.0f, 0x88};
ActorInfo D_80392F88 = { 0x111, 0x215, 0x4A4, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392FAC = { 0x112, 0x216, 0x4A5, 0x1, NULL, func_80388FC8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392FD0 = { 0x114, 0x218, 0x4A6, 0x1, NULL, lair_func_80389204, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392FF4 = { 0x10D, 0x211, 0x4A3, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80393018 = { 0x22C, 0x23A, 0x4D9, 0x1, NULL, func_803882B0, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8039303C = { 0x164, 0x259, 0x507, 0x1, NULL, func_803880BC, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80393060 = { 0x165, 0x25A, 0x508, 0x1, NULL, func_8038824C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80393084 = { 0x240, 0x247, 0x48A, 0x1, NULL, func_80386D78, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803930A8 = { 0x242, 0x249, 0x2DD, 0x1, NULL, func_803867A8, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803930CC = { 0x11F, 0x225, 0x4B3, 0x1, NULL, func_8038A064, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803930F0 = { 0x10A, 0x20E, 0x4A2, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80393114 = { 0x11A, 0x220, 0x4B7, 0x1, NULL, func_80389FF4, func_80326224, func_80325E78, 0, 0, 0.0f, 0x91};
ActorInfo D_80393138 = { 0x11E, 0x224, 0x4AF, 0x1, NULL, func_8038A014, func_80326224, func_80325E78, 0, 0, 0.0f, 0x83};
ActorInfo D_8039315C = { 0x227, 0x234, 0x4D6, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x93};
ActorInfo D_80393180 = { 0x228, 0x235, 0x4D7, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8B};
ActorInfo D_803931A4 = { 0x229, 0x236, 0x4D8, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8B};
ActorInfo D_803931C8 = { MARKER_121_GLASS_EYE, ACTOR_227_GLASS_EYE, ASSET_4BD_MODEL_GLASS_EYE, 0x1, NULL, func_8038A034, func_80326224, func_80325888, 0, 0, 0.0f, 0x89};
ActorInfo D_803931EC = { 0x116, 0x21A, 0x4AC, 0x1, NULL, func_803893B8, func_80326224, func_80325E78, 0, 0, 0.0f, 0x82};
ActorInfo D_80393210 = { 0x117, 0x21B, 0x4AD, 0x1, NULL, lair_func_803894B0, func_80326224, func_80325E78, 0, 0, 0.0f, 0x82};
ActorInfo D_80393234 = { 0x10B, 0x20F, 0x4B4, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x90};
ActorInfo D_80393258 = { 0x10C, 0x210, 0x4AE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x84};
ActorInfo D_8039327C = { 0x10E, 0x212, 0x4A7, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x7F};
ActorInfo D_803932A0 = { 0x120, 0x226, 0x4BC, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x87};
ActorInfo D_803932C4 = { 0x122, 0x228, 0x4BE, 0x1, NULL, func_80388524, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8C};
ActorInfo D_803932E8 = { 0x10F, 0x213, 0x4A8, 0x1, NULL, func_803875F0, func_80326224, func_80325E78, 0, 0, 0.0f, 0x80};
ActorInfo D_8039330C = { 0x118, 0x21E, 0x4B1, 0x1, NULL, lair_func_8038A084, func_80326224, func_80325E78, 0, 0, 0.0f, 0x8F};
ActorInfo D_80393330 = { 0x119, 0x21F, 0x4B6, 0x1, NULL, func_8038A0A4, func_80326224, func_80325E78, 0, 0, 0.0f, 0x92};
ActorInfo D_80393354 = { 0x266, 0x2E3, 0x563, 0x1, NULL, func_803870DC, func_80326224, lair_func_80387560, 0, 0, 0.0f, 0};
ActorInfo D_80393378 = { 0x17D, 0x1E1, 0x517, 0x1, NULL, func_80389D08, func_80326224, func_80389E10, 0, 0, 0.0f, 0x8D};
ActorInfo D_8039339C = { 0x234, 0x23E, 0x4E1, 0x12, D_80392CB0, func_8038982C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803933C0 = { 0x163, 0x258, 0x511, 0x12, D_80392CB0, func_80389898, func_80326224, func_8038664C, 0, 0, 0.0f, 0x8E};
ActorInfo D_803933E4 = { 0x160, 0x255, 0x509, 0x15, D_80392CB0, func_80389934, func_80326224, func_80325888, 0, 0, 0.0f, 0};
ActorInfo D_80393408 = { 0x102, 0x203, 0x491, 0x1, D_80392CB0, func_80387730, func_80326224, func_80387DA8, 0, 0, 0.0f, 0};
struct31s D_8039342C = {
{0.31f, 0.37f},
{0.17f, 0.22f},
{0.0f, 0.01f},
{0.9f, 0.9f},
0.0f, 0.0f
};
s16 D_80393454[] = {
BKPROG_31_MM_OPEN,
BKPROG_32_TTC_OPEN,
BKPROG_33_CC_OPEN,
BKPROG_34_BGS_OPEN,
BKPROG_35_FP_OPEN,
BKPROG_36_GV_OPEN,
BKPROG_37_MMM_OPEN,
BKPROG_38_RBB_OPEN,
BKPROG_39_CCW_OPEN,
0
};
/* .bss */
s16 D_80393468[] = {
0,
0,
UNKFLAGS1_7F_SANDCASTLE_OPEN_CC,
UNKFLAGS1_84_SANDCASTLE_OPEN_BGS,
UNKFLAGS1_8B_SANDCASTLE_OPEN_FP,
UNKFLAGS1_87_SANDCASTLE_OPEN_GV,
UNKFLAGS1_8C_SANDCASTLE_OPEN_MMM,
UNKFLAGS1_90_SANDCASTLE_OPEN_RBB,
UNKFLAGS1_93_SANDCASTLE_OPEN_CCW,
0
};
s16 D_8039347C[] = {50, 180, 260, 350, 450, 640, 765, 810, 828, 846, 864, 882}; //notedoor_notes_required_to_open
s16 D_80393494[] = {0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B};
s32 D_803934A0[3] = {0x00, 0xFF, 0x00};
struct31s D_803934AC = {
{1.0f, 2.0f},
{2.4f, 5.0f},
{0.0f, 3.2f},
{3.8f, 5.0f},
0.31f, 0.93f
};
struct42s D_803934D4 = {
{{-80.0f, 30.0f, -80.0f}, {80.0f, 270.0f, 80.0f}},
{{40.0f, 0.0f, -50.0f}, {100.0f, 200.0f, 50.0f}},
};
s32 D_80393504[4] = {0x87, 0x87, 0x87, 0xB4};
//chcobweb
@@ -219,7 +286,7 @@ void lair_func_80386550(Actor *this)
func_80326310(this);
func_80328B8C(this, 10, 0.98f, 1);
this->pitch = 270.f;
this->pitch = 270.0f;
}
break;
@@ -458,8 +525,8 @@ void func_803870DC(Actor *this) {
f32 sp64[3];
s32 temp_s7;
phi_v1 = func_8031FF1C(D_80393452[this->unkF4_8])
|| (D_80393466[this->unkF4_8] != 0 && func_803203FC(D_80393466[this->unkF4_8]));
phi_v1 = func_8031FF1C(D_80393454[this->unkF4_8 - 1])
|| (D_80393468[this->unkF4_8 - 1] != 0 && func_803203FC(D_80393468[this->unkF4_8 - 1]));
if (!this->unk16C_4) {
this->unk16C_4 = TRUE;
@@ -600,7 +667,7 @@ void func_80387730(Actor *this) {
marker_despawn(this->marker);
return;
}
if ((this->unkF4_8 >= 2U) && (this->unkF4_8 < 8U) && func_803203FC(D_80393490[this->unkF4_8])) {
if ((this->unkF4_8 >= 2U) && (this->unkF4_8 < 8U) && func_803203FC(D_80393494[this->unkF4_8 - 2])) {
marker_despawn(this->marker);
return;
}
@@ -620,7 +687,7 @@ void func_80387730(Actor *this) {
if ((ml_vec3f_distance(spAC, this->position) < 500.0f) && (func_803114C4() != 0xF64)) {
func_802FACA4(0xC);
}
if (itemscore_noteScores_getTotal() >= D_8039347A[this->unkF4_8]) {
if (itemscore_noteScores_getTotal() >= D_8039347C[this->unkF4_8 - 1]) {
if (this->marker->unk14_21) {
func_8032BC60(this, 5, sp90);
func_8032BC60(this, 6, sp84);

View File

@@ -23,15 +23,43 @@ void func_8038AE2C(Actor *this);
Actor *func_8038B898(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
/* .data */
extern ActorAnimationInfo D_80393520[];
extern ActorInfo D_80393560 = { 0x231, 0x23B, 0x4DF, 0x1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
extern ActorInfo D_80393584 = { 0x244, 0x2DB, 0x450, 0x1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
extern f32 D_803935A8[][2][3];
extern Struct_lair_42A0_0 D_80393620[];
extern f32 D_80393670[];
extern f32 D_80393688[];
extern f32 D_803936A8[];
extern f32 D_803936E4[];
ActorAnimationInfo D_80393520[] = {
{ 0, 0.0f},
{0x213, 2.66f},
{0x212, 2.0f},
{0x214, 6.4f},
{0x215, 3.4f},
{0x216, 1.0f},
{0x28F, 5.167f},
{0x290, 6.26f}
};
ActorInfo D_80393560 = { 0x231, 0x23B, 0x4DF, 1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
ActorInfo D_80393584 = { 0x244, 0x2DB, 0x450, 1, D_80393520, func_8038AE2C, func_80326224, func_8038B898, 0, 0, 3.0f, 0};
f32 D_803935A8[][2][3] = {
{{1.0f, 1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}},
{{1.0f, 1.0f, 1.0f}, {0.0f, 1.0f, 1.0f}},
{{1.0f, 1.0f, 1.0f}, {1.0f, 0.4f, 0.0f}},
{{1.0f, 1.0f, 1.0f}, {0.3f, 0.6f, 1.0f}},
{{1.0f, 1.0f, 1.0f}, {1.0f, 1.0f, 0.0f}}
};
Struct_lair_42A0_0 D_80393620[] = {
{MAP_6A_GL_TTC_AND_CC_PUZZLE, 0x5A, 0x8, 0x72, 0x62, 0x6A, 0x240},
{MAP_6F_GL_FP_LOBBY, 0x5B, 0x8, 0x73, 0x63, 0x6B, 0x240},
{MAP_6F_GL_FP_LOBBY, 0x5C, 0x9, 0x74, 0x64, 0x6C, 0x241},
{MAP_77_GL_RBB_LOBBY, 0x5D, 0x8, 0x75, 0x65, 0x6D, 0x240},
{MAP_6C_GL_RED_CAULDRON_ROOM, 0x5E, 0x8, 0x76, 0x66, 0x6E, 0x240},
{MAP_79_GL_CCW_LOBBY, 0x5F, 0x8, 0x77, 0x67, 0x6F, 0x240},
{MAP_93_GL_DINGPOT, 0x60, 0x0, 0x78, 0x68, 0x70, 0x240},
{0, 0x61, 0x0, 0x79, 0x69, 0x71, 0x240},
{MAP_8E_GL_FURNACE_FUN, 0x8A, 0x8, 0x90, 0x8C, 0x8E, 0x240},
{MAP_93_GL_DINGPOT, 0x8B, 0x8, 0x91, 0x8D, 0x8F, 0x241}
};
f32 D_80393670[] = {0.083f, 0.202f, 0.285f, 0.371f, 0.417f, -1.0f};
f32 D_80393688[] = {0.571f, 0.608f, 0.645f, 0.685f, 0.716f, 0.75f, 0.791f, -1.0f};
f32 D_803936A8[] = {0.293f, 0.376f, 0.42f, 0.453f, 0.488f, 0.522f, 0.556f, 0.59f, 0.626f, 0.661f, 0.693f, 0.729f, 0.764f, 0.863f, -1.0f};
f32 D_803936E4[] = {0.03f, 0.09f, 0.2f, 0.25f, 0.32f, 0.4f, 0.45f, 1.0f};
/* .code */
bool func_8038A690(Actor *this) {

View File

@@ -85,31 +85,307 @@ extern void func_8029A95C(s32); // set transformation
extern struct FF_StorageStruct *D_8037DCB8;
/* .data */
extern Struct_lair_5ED0_0 D_80393760[FF_QNF_CNT - 1];
extern struct FF_QuestionTypeInfo FF_QuestionTypeInfoArr[5]; //D_80394340
extern Struct_lair_5ED0_0 D_80393760[FF_QNF_CNT - 1] = {
{{ 0, 0, 0x192, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x199, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0, 0x194}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x193, 0, 0x195}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x194, 0, 0x196}, 8, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x195, 0, 0x197}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x196, 0x19B, 0x198}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x197, 0, 0x199}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x192, 0x198, 0, 0x19A}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x199, 0x19C, 0}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x197, 0, 0x19E, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19A, 0, 0x19F, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x1A0, 0}, 8, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19B, 0, 0x1A3, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19C, 0, 0x1A6, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19D, 0, 0x1AB, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x1AC, 0}, 8, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x1AD, 0x1A3}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19E, 0x1A2, 0, 0x1A4}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A3, 0, 0x1A5}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A4, 0, 0x1A6}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x19F, 0x1A5, 0, 0x1A7}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A6, 0, 0x1A8}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A7, 0, 0x1A9}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A8, 0x1AE, 0x1AA}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1A9, 0, 0x1AB}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1A0, 0x1AA, 0, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1A1, 0, 0x1AF, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1A2, 0, 0x1B3, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1A9, 0, 0x1B4, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1AC, 0, 0x1B5, 0x1B0}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1AF, 0, 0x1B1}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B0, 0, 0x1B2}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B1, 0, 0x1B3}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1AD, 0x1B2, 0x1B6, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1AE, 0, 0x1BD, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1AF, 0, 0x1C0, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1B3, 0, 0x1C1, 0x1B7}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B6, 0, 0x1B8}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B7, 0, 0x1B9}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B8, 0, 0x1BA}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1B9, 0x1C2, 0x1BB}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1BA, 0, 0x1BC}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1BB, 0, 0x1BD}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1B4, 0x1BC, 0, 0x1BE}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1BD, 0, 0x1BF}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1BE, 0x1C3, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1B5, 0, 0x1C4, 0}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1B6, 0, 0x1C8, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1BA, 0, 0x1C9, 0}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1BF, 0, 0x1CA, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C0, 0, 0, 0x1C5}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1C4, 0, 0x1C6}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1C5, 0x1CD, 0x1C7}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1C6, 0, 0x1C8}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C1, 0x1C7, 0, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C2, 0, 0x1D0, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C3, 0, 0x1D5, 0x1CB}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1CA, 0, 0x1CC}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1CB, 0, 0}, 8, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C6, 0, 0x1D6, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x1D7, 0x1CF}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1CE, 0, 0x1D0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1C9, 0x1CF, 0, 0x1D1}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1D0, 0, 0x1D2}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1D1, 0, 0x1D3}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1D2, 0x1D8, 0x1D4}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1D3, 0, 0x1D5}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1CA, 0x1D4, 0, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1CD, 0, 0x1D9, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1CE, 0, 0x1DD, 0}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1D3, 0, 0x1DE, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1D6, 0, 0x1E0, 0x1DA}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1D9, 0, 0x1DB}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1DA, 0, 0x1DC}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1DB, 0, 0x1DD}, 3, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1D7, 0x1DC, 0x1E1, 0}, 4, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1D8, 0, 0x1E2, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0, 0x1E3, 0}, 8, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1D9, 0, 0x1E5, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1DD, 0, 0x1E6, 0}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1DE, 0, 0x1EB, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1DF, 0, 0, 0x1E4}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1E3, 0, 0x1E5}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1E0, 0x1E4, 0, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1E1, 0, 0, 0x1E7}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1E6, 0x1EF, 0x1E8}, 5, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1E7, 0, 0x1E9}, 1, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1E8, 0, 0x1EA}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1E9, 0, 0x1EB}, 2, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1E2, 0x1EA, 0, 0x1EC}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1EB, 0, 0x1ED}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1EC, 0, 0x1EE}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{ 0, 0x1ED, 0, 0}, 0, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}},
{{0x1E7, 0, 0x191, 0}, 6, 0, 0, {0, 0, 0}, 0.0f, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}
};
extern struct FF_QuestionTypeInfo FF_QuestionTypeInfoArr[5] = {
{ 0x0, 100},
{ 0x64, 118},
{ 0xDA, 51},
{0x10D, 30},
{0x12B, 6}
};
extern struct {
u8 unk0;
// u8 pad1[1];
s16 unk2;
s16 unk4;
u8 UNK_06;
u8 UNK_07;
f32 unk8;
} D_80394354[];
} D_80394354[] = {
{0, 0x401 /*SFX_401_*/, 32000, 1.0f},
{1, COMUSIC_C_EGG_COLLECTED, 0x7FFF, 3.0f},
{1, COMUSIC_B_RED_FEATHER_COLLECTED, 32000, 3.0f},
{1, COMUSIC_15_EXTRA_LIFE_COLLECTED, 32000, 3.5f},
{1, COMUSIC_16_HONEYCOMB_COLLECTED, 0x7FFF, 3.0f},
{1, COMUSIC_9_NOTE_COLLECTED, 32000, 3.0f},
{1, COMUSIC_14_GOLD_FEATHER_COLLECTED, 0x7FFF, 3.0f},
{1, COMUSIC_17_EMPTY_HONEYCOMB_COLLECTED, 0x7FFF, 3.0f},
{2, TALK_PIC_1D_GOBI, 0, 0.0f},
{2, TALK_PIC_15_CLANKER, 0, 0.0f},
{2, TALK_PIC_1B_TRUNKER, 0, 0.0f},
{2, TALK_PIC_17_VILE_4, 0, 0.0f},
{2, TALK_PIC_13_BLUBBER, 0, 0.0f},
{2, TALK_PIC_10_MUMBO_1, 0, 0.0f},
{2, TALK_PIC_12_CONGA, 0, 0.0f},
{2, TALK_PIC_F_BOTTLES, 0, 0.0f},
{2, TALK_PIC_11_CHIMPY, 0, 0.0f},
{2, TALK_PIC_18_TIPTUP, 0, 0.0f},
{2, TALK_PIC_1C_RUBEE, 0, 0.0f},
{2, TALK_PIC_1F_TEEHEE, 0, 0.0f},
{2, TALK_PIC_3E_SNORKEL, 0, 0.0f},
{2, TALK_PIC_41_GRUNTILDA_3, 0, 0.0f},
{2, TALK_PIC_43_BOGGY, 0, 0.0f},
{2, TALK_PIC_44_WOZZA, 0, 0.0f},
{2, TALK_PIC_50_NAMBUT, 0, 0.0f},
{2, TALK_PIC_51_POLAR_BEAR_CUBS, 0, 0.0f},
{2, TALK_PIC_55_ADULT_EEYRIE, 0, 0.0f},
{2, TALK_PIC_57_BRENTILDA, 0, 0.0f},
{2, TALK_PIC_58_TOOTY_3, 0, 0.0f},
{2, TALK_PIC_5A_LOGGO, 0, 0.0f},
{2, TALK_PIC_14_NIPPER, 0, 0.0f},
{2, TALK_PIC_19_TANKTUP, 0, 0.0f},
{2, TALK_PIC_20_JINJO_YELLOW, 0, 0.0f},
{1, COMUSIC_57_TURBO_TRAINERS, 32000, 10.0f},
{1, COMUSIC_58_WADING_BOOTS, 32000, 10.0f},
{1, COMUSIC_25_USING_GOLD_FEATHERS, 32000, 10.0f},
{1, COMUSIC_5A_FP_IGLOO_SAD, 32000, 10.0f},
{1, COMUSIC_44_CCW_NABNUT, 32000, 10.0f},
{1, COMUSIC_41_MUMBOS_HUT, 32000, 10.0f},
{3, COMUSIC_2_MM, 0x103F, 10.0f},
{3, COMUSIC_5_TTC_VACATION_VERSION, 0x60FF, 10.0f},
{3, COMUSIC_1C_CC_ALTERNATIVE, 0x407F, 10.0f},
{3, COMUSIC_6_BGS, 0x6F4F, 10.0f},
{3, COMUSIC_20_GV_ALTERNATIVE, 0x67FE, 10.0f},
{3, COMUSIC_F_MMM_ALTERNATIVE, 0xCFFF, 10.0f},
{3, COMUSIC_3_FP_TWINKLIES_TALKING, 0x43FF, 10.0f},
{3, COMUSIC_2F_CCW_HUBROOM, 0x0007, 10.0f},
{3, COMUSIC_33_RBB_ALTERNATIVE, 0x71BF, 10.0f},
{1, COMUSIC_4B_CCW_ZUBBA_FIGHT, 32000, 10.0f},
{1, COMUSIC_6B_FP_ALTERNATIVE, 32000, 10.0f},
{3, COMUSIC_5_TTC_VACATION_VERSION, 0x7800, 10.0f},
};
// ?
extern struct {
s16 unk0;
s16 UNK_01;
} D_803945B8[];
s16 map;
s16 exit;
} D_803945B8[] = {
{MAP_3A_RBB_BOSS_BOOM_BOX, 2},
{MAP_10_BGS_MR_VILE, 2},
{MAP_13_GV_MEMORY_GAME, 2},
{MAP_5A_CCW_SUMMER_ZUBBA_HIVE, 3},
{MAP_11_BGS_TIPTUP, 2},
{MAP_A_TTC_SANDCASTLE, 2}
};
extern struct {
s16 unk0;
s16 UNK_01;
} D_803945D0[];
} D_803945D0[] = {
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x1B},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x1E},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x20},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x25},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x1C},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x21},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x22},
{MAP_C_MM_TICKERS_TOWER, 0x08},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x23},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x24},
{MAP_C_MM_TICKERS_TOWER, 0x06},
{MAP_C_MM_TICKERS_TOWER, 0x07},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x16},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x18},
{MAP_5_TTC_BLUBBERS_SHIP, 0x02},
{MAP_A_TTC_SANDCASTLE, 0x03},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x0E},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x19},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x1A},
{MAP_A_TTC_SANDCASTLE, 0x02},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x0F},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x14},
{MAP_6_TTC_NIPPERS_SHELL, 0x02},
{MAP_5_TTC_BLUBBERS_SHIP, 0x03},
{MAP_B_CC_CLANKERS_CAVERN, 0x0D},
{MAP_21_CC_WITCH_SWITCH_ROOM, 0x04},
{MAP_21_CC_WITCH_SWITCH_ROOM, 0x05},
{MAP_22_CC_INSIDE_CLANKER, 0x07},
{MAP_B_CC_CLANKERS_CAVERN, 0x09},
{MAP_B_CC_CLANKERS_CAVERN, 0x0A},
{MAP_B_CC_CLANKERS_CAVERN, 0x10},
{MAP_22_CC_INSIDE_CLANKER, 0x06},
{MAP_B_CC_CLANKERS_CAVERN, 0x0E},
{MAP_B_CC_CLANKERS_CAVERN, 0x11},
{MAP_B_CC_CLANKERS_CAVERN, 0x0F},
{MAP_22_CC_INSIDE_CLANKER, 0x08},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x13},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x15},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x16},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x17},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x14},
{MAP_11_BGS_TIPTUP, 0x05},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x18},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x19},
{MAP_11_BGS_TIPTUP, 0x06},
{MAP_11_BGS_TIPTUP, 0x07},
{MAP_10_BGS_MR_VILE, 0x04},
{MAP_D_BGS_BUBBLEGLOOP_SWAMP, 0x1A},
{MAP_27_FP_FREEZEEZY_PEAK, 0x38},
{MAP_27_FP_FREEZEEZY_PEAK, 0x3B},
{MAP_41_FP_BOGGYS_IGLOO, 0x04},
{MAP_27_FP_FREEZEEZY_PEAK, 0x38},
{MAP_27_FP_FREEZEEZY_PEAK, 0x2F},
{MAP_27_FP_FREEZEEZY_PEAK, 0x39},
{MAP_7F_FP_WOZZAS_CAVE, 0x04},
{MAP_53_FP_CHRISTMAS_TREE, 0x09},
{MAP_27_FP_FREEZEEZY_PEAK, 0x30},
{MAP_27_FP_FREEZEEZY_PEAK, 0x3A},
{MAP_53_FP_CHRISTMAS_TREE, 0x0A},
{MAP_27_FP_FREEZEEZY_PEAK, 0x30},
{MAP_12_GV_GOBIS_VALLEY, 0x25},
{MAP_12_GV_GOBIS_VALLEY, 0x2A},
{MAP_13_GV_MEMORY_GAME, 0x01},
{MAP_16_GV_RUBEES_CHAMBER, 0x03},
{MAP_12_GV_GOBIS_VALLEY, 0x26},
{MAP_12_GV_GOBIS_VALLEY, 0x2B},
{MAP_12_GV_GOBIS_VALLEY, 0x2C},
{MAP_14_GV_SANDYBUTTS_MAZE, 0x0C},
{MAP_14_GV_SANDYBUTTS_MAZE, 0x0D},
{MAP_14_GV_SANDYBUTTS_MAZE, 0x0E},
{MAP_15_GV_WATER_PYRAMID, 0x03},
{MAP_12_GV_GOBIS_VALLEY, 0x2D},
{MAP_1B_MMM_MAD_MONSTER_MANSION, 0x1F},
{MAP_1B_MMM_MAD_MONSTER_MANSION, 0x20},
{MAP_1D_MMM_CELLAR, 0x08},
{MAP_1C_MMM_CHURCH, 0x03},
{MAP_1B_MMM_MAD_MONSTER_MANSION, 0x1D},
{MAP_1B_MMM_MAD_MONSTER_MANSION, 0x1B},
{MAP_1B_MMM_MAD_MONSTER_MANSION, 0x1E},
{MAP_2B_MMM_SECRET_CHURCH_ROOM, 0x02},
{MAP_26_MMM_NAPPERS_ROOM, 0x03},
{MAP_26_MMM_NAPPERS_ROOM, 0x05},
{MAP_1C_MMM_CHURCH, 0x04},
{MAP_8D_MMM_INSIDE_LOGGO, 0x01},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x20},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x22},
{MAP_34_RBB_ENGINE_ROOM, 0x09},
{MAP_3C_RBB_KITCHEN, 0x04},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x12},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x15},
{MAP_3C_RBB_KITCHEN, 0x03},
{MAP_3B_RBB_STORAGE_ROOM, 0x04},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x21},
{MAP_31_RBB_RUSTY_BUCKET_BAY, 0x23},
{MAP_34_RBB_ENGINE_ROOM, 0x0F},
{MAP_8B_RBB_ANCHOR_ROOM, 0x03},
{MAP_45_CCW_AUTUMN, 0x0D},
{MAP_44_CCW_SUMMER, 0x08},
{MAP_5A_CCW_SUMMER_ZUBBA_HIVE, 0x05},
{MAP_43_CCW_SPRING, 0x05},
{MAP_45_CCW_AUTUMN, 0x05},
{MAP_46_CCW_WINTER, 0x02},
{MAP_44_CCW_SUMMER, 0x0A},
{MAP_40_CCW_HUB, 0x05},
{MAP_46_CCW_WINTER, 0x07},
{MAP_44_CCW_SUMMER, 0x09},
{MAP_5F_CCW_SUMMER_NABNUTS_HOUSE, 0x02},
{MAP_45_CCW_AUTUMN, 0x0E},
{MAP_12_GV_GOBIS_VALLEY, 0x27},
{MAP_E_MM_MUMBOS_SKULL, 0x02},
{MAP_5F_CCW_SUMMER_NABNUTS_HOUSE, 0x01},
{MAP_2_MM_MUMBOS_MOUNTAIN, 0x1D},
{MAP_B_CC_CLANKERS_CAVERN, 0x1D},
{MAP_10_BGS_MR_VILE, 0x03},
{MAP_12_GV_GOBIS_VALLEY, 0x28},
{MAP_7_TTC_TREASURE_TROVE_COVE, 0x10},
{MAP_27_FP_FREEZEEZY_PEAK, 0x31},
{MAP_1_SM_SPIRAL_MOUNTAIN, 0x13}
};
/* .code */
// FF: get total number of questions per type
@@ -564,8 +840,8 @@ void func_8038D4BC(void)
// trigger warp after a delay
timedFunc_set_3(0.25f,
(TFQM3)func_802E4078,
D_803945B8[D_8037DCB8->unkC].unk0,
D_803945B8[D_8037DCB8->unkC].UNK_01,
D_803945B8[D_8037DCB8->unkC].map,
D_803945B8[D_8037DCB8->unkC].exit,
1
);
}