#ifndef BANJO_KAZOOIE_CORE2_C9E70_H
#define BANJO_KAZOOIE_CORE2_C9E70_H
#include <ultra64.h>
#include "structs.h"
#include "core2/gc/zoombox.h"
typedef struct {
union{
s16 adjacentTiles[4];
struct{
s16 tileBelow;
s16 tileLeft;
s16 tileAbove;
s16 tileRight;
};
};
u8 tileType;
u8 unk9;
s16 unkA;
u8 unkC[3];
f32 unk10;
u8 pad14[0xC];
}Furnace_Fun_Board;
struct FF_StorageStruct_48_sub {
f32 unk0[3];
f32 unkC;
f32 UNK_10;
u32 unk14[3];
u8 unk20;
u8 UNK_21;
u8 UNK_22;
u8 UNK_23;
};
struct FF_StorageStruct_48 {
* Judging by how this var is referenced throughout the
* code, I thought may instead be four standalone vars
* of the same type, instead of in an array.
*
* But near the end of the file (e.g. in func_8038E968),
* they're indexed by $a0, so it must be an array...
*/
struct FF_StorageStruct_48_sub data[4];
};
struct FF_StorageStruct {
BKModel *unk0;
Furnace_Fun_Board *currentBoardTile;
s16 currentTileId;
u8 currFfMode;
u8 ffQuestionType;
u8 questionTypeTableIndex;
u8 questionAssetIndex;
s8 unkE;
s8 unkF;
u8 unk10;
u8 unk11;
u8 unk12;
f32 unk14;
u8 UNK_18;
u8 UNK_19;
u8 UNK_1A;
u8 UNK_1B;
u32 unlockedMoves;
GcZoombox *zoombox;
f32 playerPosition[3];
f32 playerRotation[3];
s16 unk3C[5];
u8 UNK_46;
u8 UNK_47;
struct FF_StorageStruct_48 *unk48;
};
#endif