#ifndef _VARIABLES_H_
#define _VARIABLES_H_

#include "z64.h"
#include "segment_symbols.h"
#include "macros.h"

// pre-boot variables
extern u32 osTvType;
extern u32 osRomType;
extern uintptr_t osRomBase;
extern u32 osResetType;
extern u32 osCicId;
extern u32 osVersion;
extern size_t osMemSize;
extern s32 osAppNmiBuffer[0x10];
extern u16 gFramebuffer1[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x80000500
extern u8 D_80025D00[];

// data
extern UNK_TYPE1 D_800969C0;
extern u8 D_80096B20;
extern vu8 gViConfigUseDefault;
extern u8 gViConfigAdditionalScanLines;
extern u32 gViConfigFeatures;
extern f32 gViConfigXScale;
extern f32 gViConfigYScale;
extern OSPiHandle* gCartHandle;
extern u32 sDmaMgrDmaBuffSize;
extern vs32 gIrqMgrResetStatus;
extern volatile OSTime sIrqMgrResetTime;
extern volatile OSTime sIrqMgrRetraceTime;
extern s32 sIrqMgrRetraceCount;
extern const char* sCpuExceptions[18];
extern const char* sFpuExceptions[6];
extern FaultDrawer* sFaultDrawContext;
extern FaultDrawer sFaultDrawerDefault;
// extern UNK_TYPE4 D_80096C20;
extern UNK_TYPE4 D_80096C30;
extern StackEntry* sStackInfoListStart;
extern StackEntry* sStackInfoListEnd;
// extern UNK_TYPE1 sGfxPrintFontTLUT;
// extern UNK_TYPE1 sGfxPrintUnkTLUT;
// extern UNK_TYPE1 sGfxPrintUnkData;
// extern UNK_TYPE1 sGfxPrintFontData;
// extern UNK_TYPE4 D_80097500;
// extern UNK_TYPE4 D_80097524;
// extern u32 sRandInt;
extern OSViMode osViModeNtscHpf1;
extern OSViMode osViModePalLan1;
extern s16 sintable[0x400];
extern __osHwInt __osHwIntTable[];
// extern UNK_TYPE1 D_80097DE4;
// extern UNK_TYPE4 D_80097E08;
extern OSThread* __osThreadTail;
extern OSThread* __osRunQueue;
extern OSThread* __osActiveQueue;
extern OSThread* __osRunningThread;
extern OSThread* __osFaultedThread;
extern u32 __osSiAccessQueueEnabled;
extern UNK_TYPE4 D_80097E40;
extern u64 osClockRate;
extern s32 osViClock;
extern UNK_TYPE4 __osShutdown;
extern UNK_TYPE4 __OSGlobalIntMask;
extern OSDevMgr __osPiDevMgr;
extern OSPiHandle* __osPiTable;
extern OSPiHandle* __osCurrentHandle[];
extern UNK_TYPE4 __osPiAccessQueueEnabled;
extern OSViMode osViModeNtscHpn1;
extern s32 __osPfsInodeCacheChannel;
extern u8 __osPfsInodeCacheBank;
extern UNK_TYPE4 D_80097F10;
extern char spaces[];
extern char zeroes[];
extern OSTimer* __osTimerList;
// extern UNK_TYPE4 D_80097F80;
extern float D_80097F90;
// extern UNK_TYPE1 D_80097FA0;
// extern UNK_TYPE1 D_80097FA4;
// extern UNK_TYPE1 D_80097FA5;
// extern UNK_TYPE4 D_80097FB0;
extern OSViMode osViModeNtscLan1;
extern OSViMode osViModeMpalLan1;
// extern __OSViContext D_80098060[2];
extern __OSViContext* __osViCurr;
extern __OSViContext* __osViNext;
// extern UNK_TYPE4 sCartRomNeedsInit;
extern OSViMode osViModeFpalLan1;
// extern u8 ldigs[];
// extern u8 udigs[];
// extern OSDevMgr __osViDevMgr;
extern u32 __additional_scanline;
// extern UNK_TYPE1 D_80098180;
extern char bootThreadName[];
extern char idleThreadName[];
extern char irqmgrThreadName[];
extern char mainThreadName[];
extern f32 D_800981B0;
extern char D_800981C0[];
extern const char dmamgrString800981C4[];
extern const char dmamgrString800981D4[];
extern const char dmamgrString800981E4[];
extern const char dmamgrString800981F4[];
extern const char dmamgrThreadName[];
extern char D_80098210[];
extern char yaz0String80098220[];
extern char yaz0String8009823C[];
extern char D_80098280[];
extern char D_80098290[];
extern char D_800982A4[];
extern char D_800982B0[];
extern char D_800982BC[];
extern char D_800982D0[];
extern char D_800982E8[];
extern char D_80098300[];
extern char D_80098318[];
extern char D_80098330[];
extern char D_80098344[];
extern char D_80098358[];
extern char D_80098370[];
extern char D_80098388[];
extern char D_800983A0[];
extern char D_800983B8[];
extern char D_800983CC[];
extern char D_800983DC[];
extern char D_800983F8[];
extern char D_80098414[];
extern char D_8009842C[];
extern char D_80098448[];
extern char D_80098460[];
extern char D_80098474[];
extern char D_80098488[];
extern char D_80098494[];
extern char D_800984A0[];
extern char D_800984B4[55];
extern char D_800984EC[54];
extern char D_80098524[71];
extern char D_8009856C[74];
extern char D_800985B8[];
extern char D_800985C8[];
extern char D_800985DC[];
extern char D_800985EC[];
extern char D_80098600[];
extern char D_80098610[];
extern char D_80098618[];
extern char D_8009861C[];
extern char D_8009862C[];
extern char D_80098634[];
extern char D_80098648[];
extern char D_80098664[];
extern char D_80098680[];
extern char D_8009869C[];
extern char D_800986B8[];
extern char D_800986D4[];
extern char D_800986F0[];
extern char D_8009870C[];
extern char D_80098728[];
extern char D_80098744[];
extern char D_80098760[];
extern char D_80098780[];
extern char D_80098784[];
extern char D_80098788[];
extern char D_8009878C[];
extern char D_80098790[];
extern char D_80098794[];
extern char D_80098798[];
extern char D_8009879C[];
extern char D_800987A0[];
extern char D_800987A4[];
extern char D_800987B0[];
extern char D_800987B4[];
extern char D_800987CC[];
extern char D_800987EC[];
extern char D_8009880C[];
extern char D_8009882C[];
extern char D_8009884C[];
extern char D_8009886C[];
extern char D_8009888C[];
extern char D_800988AC[];
extern char D_800988CC[];
extern char D_800988EC[];
extern char D_8009890C[];
extern char D_8009892C[];
extern char D_80098930[];
extern char D_80098934[];
extern char D_80098938[];
extern char D_8009893C[];
extern char D_80098940[];
extern char D_80098944[];
extern char D_80098948[];
extern char D_8009894C[];
extern char D_80098950[];
extern char D_80098954[];
extern char D_8009895C[];
extern char D_80098968[];
extern char D_80098970[];
extern char D_80098978[];
extern char D_80098980[];
extern char D_8009898C[];
extern char D_800989A4[];
extern char D_800989B0[];
extern char D_800989BC[];
extern char D_800989CC[];
extern char D_800989D8[];
extern char D_800989F4[];
extern char D_80098A00[];
extern char D_80098A0C[];
extern char D_80098A1C[];
extern char D_80098A20[34];
extern const char D_80098A44[];
extern const char D_80098A68[];
extern char D_80098A88[53];
extern char D_80098AC0[49];
extern char D_80098AF4[51];
extern char D_80098B28[];
extern char D_80098B4C[];
extern char D_80098B68[];
extern char D_80098B84[];
extern char D_80098BA0[];
extern char D_80098BBC[];
extern const char faultThreadName[];
extern char D_80098BE0[];
extern char D_80098BF8[];
extern char D_80098BFC[];
extern char D_80098C04[];
extern char D_80098C08[];
extern char D_80098C10[];
extern char D_80098C28[];
extern char D_80098C2C[];
extern char D_80098C34[];
extern char D_80098C38[];
extern char D_80098C40[];
extern char D_80099050[];
extern char D_80099054[];
extern char D_8009905C[];
extern char D_80099064[];
extern char D_80099070[];
extern const char D_80099078[];
extern const char D_8009907C[];
extern const char D_80099080[];
extern char D_800990B0[];
extern f32 D_800990C0[9];
extern f32 D_800990E4;
extern f32 D_800990E8;
extern f32 D_800990EC;
extern f32 D_800990F0;
extern f32 D_800990F4;
extern f32 D_800990F8;
extern f32 D_800990FC;
extern f32 D_80099100;
extern f32 D_80099104;
extern f32 D_80099108;
extern f32 D_8009910C;
extern u16 D_800991A0[64];
extern du P[5];
extern du rpi;
extern du pihi;
extern du pilo;
extern fu zero;
// extern UNK_TYPE1 D_80099270;
extern UNK_PTR __osIntTable;
extern f64 D_800992C0;
extern f64 D_800992F0;
extern f64 D_800992F8;
extern char D_80099300[];
extern char D_80099304[];
extern unsigned int D_8009930C[6];
extern f32 D_80099400;
extern f64 D_80099428;
extern f64 D_80099430;
extern f64 D_80099438;
// extern UNK_TYPE4 D_80099440;
extern f32 __libm_qnan_f;
extern f64 D_80099460[9];
extern char D_800994A8[];
extern char D_800994AC[];
extern char D_800994B0[];
// extern UNK_TYPE1 D_800994B1;
extern f64 D_800994B8;
extern f64 D_800994C0;
extern f64 D_800994C8;
extern char gBuildTeam[];
extern char gBuildDate[];
extern char gBuildMakeOption[];
// extern StackEntry sBootThreadInfo;
// extern OSThread sIdleThread;
// extern u8 sIdleThreadStack[0x400];
// extern StackEntry sIdleThreadInfo;
// extern u8 sBootThreadStack[0x400];
extern IrqMgr gIrqMgr;
// extern u8 sIrqMgrStack[0x500];
// extern StackEntry sIrqMgrStackInfo;
// extern OSThread gMainThread;
// extern u8 sMainStack[0x900];
// extern StackEntry sMainStackInfo;
// extern OSMesg sPiMgrCmdBuff[50];
// extern OSMesgQueue gPiMgrCmdQ;
extern OSViMode gViConfigMode;
extern u8 D_8009B290;
extern StackEntry sDmaMgrStackInfo;
extern u16 numDmaEntries;
extern OSMesgQueue sDmaMgrMsgQueue;
extern OSMesg sDmaMgrMsgs[32];
extern OSThread sDmaMgrThread;
extern u8 sDmaMgrStack[0x500];
extern u8 sYaz0DataBuffer[0x400];
extern u8* sYaz0CurDataEnd;
extern u32 sYaz0CurRomStart;
extern u32 sYaz0CurSize;
extern u8* sYaz0MaxPtr;
extern u8* D_8009BE20;
// extern UNK_TYPE4 D_8009BE30;
// extern UNK_TYPE4 D_8009BE34;
// extern FaultClient romInfoFaultClient;
extern FaultThreadStruct* sFaultContext;
extern f32 D_8009BE54;
extern u32 faultCustomOptions;
extern u32 faultCopyToLog;
extern u8 sFaultStack[0x600];
extern StackEntry sFaultThreadInfo;
extern FaultThreadStruct gFaultStruct;
extern FaultDrawer sFaultDrawerStruct;
// extern UNK_TYPE4 D_8009CD10;
// extern Arena gSystemArena;
extern u32 sRandFloat;
// extern UNK_TYPE4 sArenaLockMsg;
extern OSTask tmp_task;

extern OSMesg siAccessBuf[1];
extern OSMesgQueue __osSiAccessQueue;

extern UNK_TYPE1 D_8009CF60;
// extern UNK_TYPE4 D_8009CF70;
extern OSThread __osThreadSave;
extern OSPiHandle D_8009D130;
extern OSPiHandle D_8009D1A8;
// extern OSThread D_8009D220;
// extern u8 piManagerStack[0x1000];
// extern OSMesgQueue D_8009E3D0;
// extern OSMesg D_8009E3E8[1];
extern OSMesg D_8009E3F0[1];
extern OSMesgQueue __osPiAccessQueue;
extern __OSInode __osPfsInodeCache;
extern __OSEventState __osEventStateTab[16];
extern OSTimer D_8009E590;
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSPifRam __osPfsPifRam;
extern OSPiHandle CartRomHandle;
extern OSThread viThread;
extern u8 viThreadStack[0x1000];
extern OSMesgQueue viEventQueue;
// extern OSMesg viEventBuf[5];
// extern OSIoMesg viRetraceMsg;
// extern OSIoMesg viCounterMsg;
extern u16 viRetrace;
extern DmaEntry dmadata[1568];
// extern UNK_TYPE1 D_80186028;
// extern UNK_TYPE1 D_801AAAB0;
extern u64 gJpegUCode[];
extern ActorInit En_A_Obj_InitVars;
extern ColliderCylinderInit enAObjCylinderInit;
extern InitChainEntry enAObjInitVar;
extern Gfx* enAObjDisplayLists[2];
extern UNK_PTR D_801ADF30[5];
extern UNK_PTR D_801ADF44[12];
extern u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER];
extern u8 sDropTableAmounts[DROP_TABLE_SIZE * DROP_TABLE_NUMBER];
extern s32 D_801AE194[32];
extern u8 D_801AE214[32];
// extern UNK_TYPE4 D_801AE240;
// extern UNK_TYPE4 D_801AE250;
extern UNK_PTR D_801AE260[3];
// extern UNK_TYPE4 D_801AE26C;
// extern UNK_TYPE4 D_801AE27C;
// extern UNK_TYPE4 D_801AE28C;
// extern UNK_TYPE4 D_801AE29C;
// extern UNK_TYPE4 D_801AE2AC;
// extern UNK_TYPE4 D_801AE2BC;
// extern UNK_TYPE4 D_801AE2CC;
// extern UNK_TYPE4 D_801AE2DC;
extern F3DVertex sEffectShieldParticleVertices[4];
extern EffInfo sEffInfoTable[5];
extern EffectSsInfo EffectSS2Info;
// extern UNK_TYPE1 D_801AE3B0;
// extern UNK_TYPE1 D_801AE3B4;
// extern UNK_TYPE4 D_801AE3B8;
// extern UNK_TYPE4 D_801AE3BC;
// extern UNK_TYPE1 D_801AE3C0;
// extern UNK_TYPE1 D_801AE3C4;
// extern UNK_TYPE1 D_801AE3C8;
// extern UNK_TYPE1 D_801AE3CC;
// extern UNK_TYPE4 D_801AE3D0;
// extern UNK_TYPE4 D_801AE3D4;
// extern UNK_TYPE4 D_801AE3D8;
// extern UNK_TYPE4 D_801AE3DC;
// extern UNK_TYPE4 D_801AE3E0;
// extern UNK_TYPE4 D_801AE3EC;
// extern UNK_TYPE1 D_801AE3F8;
// extern UNK_TYPE4 D_801AE3FC;
// extern UNK_TYPE4 D_801AE404;
// extern UNK_TYPE1 D_801AE47C;
// extern UNK_TYPE1 D_801AE480;
// extern UNK_TYPE1 D_801AE484;
// extern UNK_TYPE1 D_801AE485;
// extern UNK_TYPE1 D_801AE486;
// extern UNK_TYPE1 D_801AE488;
// extern UNK_TYPE1 D_801AE489;
// extern UNK_TYPE1 D_801AE48A;
// extern UNK_TYPE1 D_801AE48C;
// extern UNK_TYPE1 D_801AE490;
extern EffectSsOverlay particleOverlayTable[39];
// extern FlagSetEntry sFlagEntries[];
// extern s32 sEntryIndex;
// extern u32 sCurrentBit;
// extern s32 sTimer;
extern Color_RGBA8 D_801AEC80;
extern s801AEC84 D_801AEC84[13];
extern f32 actorMovementScale;
extern f32 D_801AECF0;
extern f32 D_801AECF4;
extern s16 D_801AED48[8];
// extern UNK_TYPE4 D_801AED58;
extern Color_RGBA8 actorDefaultHitColor;
// extern UNK_TYPE1 D_801AED8C;
// extern UNK_TYPE4 D_801AED98;
// extern UNK_TYPE4 D_801AEDA4;
// extern UNK_TYPE1 D_801AEDB0;
// extern UNK_TYPE4 D_801AEDD4;
// extern UNK_TYPE4 D_801AEE28;
// extern UNK_TYPE4 D_801AEE30;
// extern UNK_TYPE4 D_801AEE38;
// extern UNK_TYPE2 D_801AEE4C;
extern Gfx D_801AEF88[];
extern Gfx D_801AEFA0[];
// extern UNK_TYPE1 D_801AEFA8;
// extern UNK_TYPE1 D_801AEFB8;
// extern UNK_TYPE1 D_801AEFBC;
// extern UNK_TYPE1 D_801AEFC0;
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX];
extern s32 gMaxActorId;
extern u32 D_801B4620[32];
extern u16 D_801B46A0[16];
extern u8 D_801B46C0[16];
extern s16 bgSpecialSceneParamsDefault[1];
// extern UNK_TYPE1 D_801B46D2;
extern BgSpecialSceneMaxMemory bgSpecialSceneMaxMemory[1];
extern BgSpecialSceneMeshSubdivision bgSpecialSceneMeshSubdivisions[3];
extern BgSpecialSceneMaxObjects bgSpecialSceneMaxObjects[1];
// extern UNK_TYPE1 D_801B4708;
// extern UNK_TYPE1 D_801B4710;
// extern UNK_TYPE1 D_801B4738;
// extern UNK_TYPE1 D_801B4768;
// extern UNK_TYPE1 D_801B4798;
// extern UNK_TYPE1 D_801B47CC;
// extern UNK_TYPE1 D_801B47F0;
// extern UNK_TYPE1 D_801B4824;
// extern UNK_TYPE1 D_801B4848;
// extern UNK_TYPE1 D_801B486C;
// extern UNK_TYPE1 D_801B4890;
// extern UNK_TYPE1 D_801B48B0;
// extern UNK_TYPE1 D_801B48D4;
// extern UNK_TYPE1 D_801B48F8;
// extern UNK_TYPE1 D_801B491C;
// extern UNK_TYPE1 D_801B4944;
// extern UNK_TYPE1 D_801B4974;
// extern UNK_TYPE1 D_801B49A4;
// extern UNK_TYPE1 D_801B49D4;
// extern UNK_TYPE1 D_801B4A04;
// extern UNK_TYPE1 D_801B4A34;
// extern UNK_TYPE1 D_801B4A5C;
// extern UNK_TYPE1 D_801B4A8C;
// extern UNK_TYPE1 D_801B4ABC;
// extern UNK_TYPE1 D_801B4AE0;
// extern UNK_TYPE1 D_801B4B08;
// extern UNK_TYPE1 D_801B4B38;
// extern UNK_TYPE1 D_801B4B60;
// extern UNK_TYPE1 D_801B4B90;
// extern UNK_TYPE1 D_801B4BB8;
// extern UNK_TYPE1 D_801B4BDC;
// extern UNK_TYPE1 D_801B4C04;
// extern UNK_TYPE1 D_801B4C34;
// extern UNK_TYPE1 D_801B4C5C;
// extern UNK_TYPE1 D_801B4C84;
// extern UNK_TYPE1 D_801B4CAC;
// extern UNK_TYPE1 D_801B4CD4;
// extern UNK_TYPE1 D_801B4CFC;
// extern UNK_TYPE1 D_801B4D24;
// extern UNK_TYPE1 D_801B4D34;
// extern UNK_TYPE1 D_801B4D44;
// extern UNK_TYPE1 D_801B4D68;
// extern UNK_TYPE1 D_801B4D8C;
// extern UNK_TYPE1 D_801B4DB0;
// extern UNK_TYPE1 D_801B4DD4;
// extern UNK_TYPE1 D_801B4DF8;
// extern UNK_TYPE1 D_801B4E2C;
// extern UNK_TYPE1 D_801B4E5C;
// extern UNK_TYPE1 D_801B4E90;
// extern UNK_TYPE1 D_801B4EB4;
// extern UNK_TYPE1 D_801B4ED8;
// extern UNK_TYPE1 D_801B4EDC;
// extern UNK_TYPE1 D_801B4EE4;
// extern UNK_TYPE1 D_801B4EF0;
// extern UNK_TYPE1 D_801B4EF4;
// extern UNK_TYPE1 D_801B4EF8;
// extern UNK_TYPE1 D_801B4F20;
// extern UNK_TYPE1 D_801B4F50;
// extern UNK_TYPE1 D_801B4F78;
// extern UNK_TYPE1 D_801B4FA0;
// extern UNK_TYPE1 D_801B4FC8;
// extern UNK_TYPE1 D_801B4FF0;
// extern UNK_TYPE1 D_801B5018;
// extern UNK_TYPE1 D_801B5034;
// extern UNK_TYPE1 D_801B5050;
// extern UNK_TYPE1 D_801B506C;
// extern UNK_TYPE1 D_801B507C;
// extern UNK_TYPE1 D_801B5094;
// extern UNK_TYPE1 D_801B50BC;
// extern UNK_TYPE1 D_801B50EC;
// extern UNK_TYPE1 D_801B511C;
// extern UNK_TYPE1 D_801B5150;
// extern UNK_TYPE1 D_801B5180;
// extern UNK_TYPE1 D_801B51A8;
// extern UNK_TYPE1 D_801B51D8;
// extern UNK_TYPE1 D_801B51FC;
// extern UNK_TYPE1 D_801B5220;
// extern UNK_TYPE1 D_801B5250;
// extern UNK_TYPE1 D_801B5280;
// extern UNK_TYPE1 D_801B52B0;
// extern UNK_TYPE1 D_801B52E0;
// extern UNK_TYPE1 D_801B5308;
// extern UNK_TYPE1 D_801B5338;
// extern UNK_TYPE1 D_801B535C;
// extern UNK_TYPE1 D_801B5380;
// extern UNK_TYPE1 D_801B53A4;
// extern UNK_TYPE1 D_801B53C8;
// extern UNK_TYPE1 D_801B53EC;
// extern UNK_TYPE1 D_801B5410;
// extern UNK_TYPE1 D_801B5434;
// extern UNK_TYPE1 D_801B5458;
// extern UNK_TYPE1 D_801B547C;
// extern UNK_TYPE1 D_801B54A0;
// extern UNK_TYPE1 D_801B54C4;
// extern UNK_TYPE1 D_801B54E8;
// extern UNK_TYPE1 D_801B550C;
// extern UNK_TYPE1 D_801B5530;
// extern UNK_TYPE1 D_801B5554;
// extern UNK_TYPE1 D_801B5578;
// extern UNK_TYPE1 D_801B559C;
// extern UNK_TYPE1 D_801B55C0;
// extern UNK_TYPE1 D_801B55E4;
// extern UNK_TYPE1 D_801B5608;
// extern UNK_TYPE1 D_801B562C;
// extern UNK_TYPE1 D_801B5650;
// extern UNK_TYPE1 D_801B5674;
// extern UNK_TYPE1 D_801B5698;
// extern UNK_TYPE1 D_801B56BC;
// extern UNK_TYPE1 D_801B56E0;
// extern UNK_TYPE1 D_801B5704;
// extern UNK_TYPE1 D_801B5728;
// extern UNK_TYPE1 D_801B574C;
// extern UNK_TYPE1 D_801B5770;
// extern UNK_TYPE1 D_801B577C;
// extern UNK_TYPE1 D_801B57A4;
// extern UNK_TYPE1 D_801B57CC;
// extern UNK_TYPE1 D_801B57F4;
// extern UNK_TYPE1 D_801B5824;
// extern UNK_TYPE1 D_801B5834;
// extern UNK_TYPE1 D_801B5844;
// extern UNK_TYPE1 D_801B5864;
// extern UNK_TYPE1 D_801B5884;
// extern UNK_TYPE1 D_801B58A0;
// extern UNK_TYPE1 D_801B58BC;
// extern UNK_TYPE1 D_801B58D8;
// extern UNK_TYPE1 D_801B58F4;
// extern UNK_TYPE1 D_801B5904;
// extern UNK_TYPE1 D_801B5928;
// extern UNK_TYPE1 D_801B5950;
// extern UNK_TYPE1 D_801B5978;
// extern UNK_TYPE1 D_801B59A8;
// extern UNK_TYPE1 D_801B59D0;
// extern UNK_TYPE1 D_801B59F4;
// extern UNK_TYPE1 D_801B5A00;
// extern UNK_TYPE1 D_801B5A0C;
// extern UNK_TYPE1 D_801B5A30;
// extern UNK_TYPE1 D_801B5A64;
// extern UNK_TYPE1 D_801B5A94;
// extern UNK_TYPE1 D_801B5ABC;
// extern UNK_TYPE1 D_801B5AF0;
// extern UNK_TYPE1 D_801B5B18;
// extern UNK_TYPE1 D_801B5B40;
// extern UNK_TYPE1 D_801B5B70;
// extern UNK_TYPE1 D_801B5B98;
// extern UNK_TYPE1 D_801B5BC8;
// extern UNK_TYPE1 D_801B5BFC;
// extern UNK_TYPE1 D_801B5C30;
// extern UNK_TYPE1 D_801B5C58;
// extern UNK_TYPE1 D_801B5C80;
// extern UNK_TYPE1 D_801B5CB0;
// extern UNK_TYPE1 D_801B5CCC;
// extern UNK_TYPE1 D_801B5CE8;
// extern UNK_TYPE1 D_801B5D10;
// extern UNK_TYPE1 D_801B5D40;
// extern UNK_TYPE1 D_801B5D74;
// extern UNK_TYPE1 D_801B5D9C;
// extern UNK_TYPE1 D_801B5DC4;
// extern UNK_TYPE1 D_801B5DD4;
// extern UNK_TYPE1 D_801B5DFC;
// extern UNK_TYPE1 D_801B5E2C;
// extern UNK_TYPE1 D_801B5E48;
// extern UNK_TYPE1 D_801B5E64;
// extern UNK_TYPE1 D_801B5E8C;
// extern UNK_TYPE1 D_801B5EB4;
// extern UNK_TYPE1 D_801B5EDC;
// extern UNK_TYPE1 D_801B5F0C;
// extern UNK_TYPE1 D_801B5F34;
// extern UNK_TYPE1 D_801B5F5C;
// extern UNK_TYPE1 D_801B5F8C;
// extern UNK_TYPE1 D_801B5FB0;
// extern UNK_TYPE1 D_801B5FD4;
// extern UNK_TYPE1 D_801B5FF8;
// extern UNK_TYPE1 D_801B601C;
// extern UNK_TYPE1 D_801B6044;
// extern UNK_TYPE1 D_801B6074;
// extern UNK_TYPE1 D_801B60A4;
// extern UNK_TYPE1 D_801B60D8;
// extern UNK_TYPE1 D_801B610C;
// extern UNK_TYPE1 D_801B6130;
// extern UNK_TYPE1 D_801B6154;
// extern UNK_TYPE1 D_801B617C;
// extern UNK_TYPE1 D_801B61AC;
// extern UNK_TYPE1 D_801B61DC;
// extern UNK_TYPE1 D_801B620C;
// extern UNK_TYPE1 D_801B623C;
// extern UNK_TYPE1 D_801B626C;
// extern UNK_TYPE1 D_801B6294;
// extern UNK_TYPE1 D_801B62C4;
// extern UNK_TYPE1 D_801B62F4;
// extern UNK_TYPE1 D_801B631C;
// extern UNK_TYPE1 D_801B634C;
// extern UNK_TYPE1 D_801B6374;
// extern UNK_TYPE1 D_801B63A4;
// extern UNK_TYPE1 D_801B63CC;
// extern UNK_TYPE1 D_801B63FC;
// extern UNK_TYPE1 D_801B6418;
// extern UNK_TYPE1 D_801B6434;
// extern UNK_TYPE1 D_801B645C;
// extern UNK_TYPE1 D_801B648C;
// extern UNK_TYPE1 D_801B64B4;
// extern UNK_TYPE1 D_801B64D8;
// extern UNK_TYPE1 D_801B64FC;
// extern UNK_TYPE1 D_801B652C;
// extern UNK_TYPE1 D_801B655C;
// extern UNK_TYPE1 D_801B6584;
// extern UNK_TYPE1 D_801B65AC;
// extern UNK_TYPE1 D_801B65DC;
// extern UNK_TYPE1 D_801B660C;
// extern UNK_TYPE1 D_801B6640;
// extern UNK_TYPE1 D_801B6674;
// extern UNK_TYPE1 D_801B6698;
// extern UNK_TYPE1 D_801B66C0;
// extern UNK_TYPE1 D_801B66E8;
// extern UNK_TYPE1 D_801B6710;
// extern UNK_TYPE1 D_801B6740;
// extern UNK_TYPE1 D_801B6774;
// extern UNK_TYPE1 D_801B679C;
// extern UNK_TYPE1 D_801B67C4;
// extern UNK_TYPE1 D_801B67EC;
// extern UNK_TYPE1 D_801B681C;
// extern UNK_TYPE1 D_801B684C;
// extern UNK_TYPE1 D_801B6880;
// extern UNK_TYPE1 D_801B68A8;
// extern UNK_TYPE1 D_801B68D0;
// extern UNK_TYPE1 D_801B68F8;
// extern UNK_TYPE1 D_801B692C;
// extern UNK_TYPE1 D_801B6954;
// extern UNK_TYPE1 D_801B697C;
// extern UNK_TYPE1 D_801B69A4;
// extern UNK_TYPE1 D_801B69CC;
// extern UNK_TYPE1 D_801B69FC;
// extern UNK_TYPE1 D_801B6A30;
// extern UNK_TYPE1 D_801B6A58;
// extern UNK_TYPE1 D_801B6A80;
// extern UNK_TYPE1 D_801B6AA8;
// extern UNK_TYPE1 D_801B6AD0;
// extern UNK_TYPE1 D_801B6AF8;
// extern UNK_TYPE1 D_801B6B28;
// extern UNK_TYPE1 D_801B6B50;
// extern UNK_TYPE1 D_801B6B78;
// extern UNK_TYPE1 D_801B6BA0;
// extern UNK_TYPE1 D_801B6BC8;
// extern UNK_TYPE1 D_801B6BF0;
// extern UNK_TYPE1 D_801B6C18;
// extern UNK_TYPE1 D_801B6C48;
// extern UNK_TYPE1 D_801B6C70;
// extern UNK_TYPE1 D_801B6C98;
// extern UNK_TYPE1 D_801B6CC0;
// extern UNK_TYPE1 D_801B6CF0;
// extern UNK_TYPE1 D_801B6D24;
// extern UNK_TYPE1 D_801B6D4C;
// extern UNK_TYPE1 D_801B6D74;
// extern UNK_TYPE1 D_801B6D90;
// extern UNK_TYPE1 D_801B6DB8;
// extern UNK_TYPE1 D_801B6DE0;
// extern UNK_TYPE1 D_801B6E08;
// extern UNK_TYPE1 D_801B6E30;
// extern UNK_TYPE1 D_801B6E58;
// extern UNK_TYPE1 D_801B6E80;
// extern UNK_TYPE1 D_801B6EA8;
// extern UNK_TYPE1 D_801B6ED0;
// extern UNK_TYPE1 D_801B6EF8;
// extern UNK_TYPE1 D_801B6F20;
// extern UNK_TYPE1 D_801B6F50;
// extern UNK_TYPE1 D_801B6F78;
// extern UNK_TYPE1 D_801B6FA0;
// extern UNK_TYPE1 D_801B6FB0;
// extern UNK_TYPE1 D_801B6FD8;
// extern UNK_TYPE1 D_801B7008;
// extern UNK_TYPE1 D_801B703C;
// extern UNK_TYPE1 D_801B7064;
// extern UNK_TYPE1 D_801B708C;
// extern UNK_TYPE1 D_801B70BC;
// extern UNK_TYPE1 D_801B70E4;
// extern UNK_TYPE1 D_801B7114;
// extern UNK_TYPE1 D_801B7148;
// extern UNK_TYPE1 D_801B7170;
// extern UNK_TYPE1 D_801B71A0;
// extern UNK_TYPE1 D_801B71D4;
// extern UNK_TYPE1 D_801B7204;
// extern UNK_TYPE1 D_801B7210;
// extern UNK_TYPE1 D_801B7244;
// extern UNK_TYPE1 D_801B7278;
// extern UNK_TYPE1 D_801B729C;
// extern UNK_TYPE1 D_801B72C0;
// extern UNK_TYPE1 D_801B72E4;
// extern UNK_TYPE1 D_801B7308;
// extern UNK_TYPE1 D_801B732C;
// extern UNK_TYPE1 D_801B7354;
// extern UNK_TYPE1 D_801B7384;
// extern UNK_TYPE1 D_801B73AC;
// extern UNK_TYPE1 D_801B73D4;
// extern UNK_TYPE1 D_801B74C4;
// extern UNK_TYPE1 D_801B759C;
// extern UNK_TYPE1 D_801B75F4;
// extern UNK_TYPE1 D_801B767C;
// extern UNK_TYPE1 D_801B7684;
// extern UNK_TYPE1 D_801B768C;
// extern UNK_TYPE1 D_801B7694;
// extern UNK_TYPE1 D_801B769C;
// extern UNK_TYPE1 D_801B76A4;
// extern UNK_TYPE1 D_801B76AC;
// extern UNK_TYPE1 D_801B777C;
// extern UNK_TYPE1 D_801B784C;
// extern UNK_TYPE1 D_801B791C;
// extern UNK_TYPE1 D_801B7984;
// extern UNK_TYPE1 D_801B79EC;
// extern UNK_TYPE1 D_801B79F4;
// extern UNK_TYPE1 D_801B7AE4;
// extern UNK_TYPE1 D_801B7B14;
// extern UNK_TYPE1 D_801B7B44;
// extern UNK_TYPE1 D_801B7B74;
// extern UNK_TYPE1 D_801B7BA4;
// extern UNK_TYPE1 D_801B7BAC;
// extern UNK_TYPE1 D_801B7BDC;
// extern UNK_TYPE1 D_801B7C0C;
// extern UNK_TYPE1 D_801B7C3C;
// extern UNK_TYPE1 D_801B7C44;
// extern UNK_TYPE1 D_801B7C54;
// extern UNK_TYPE1 D_801B7C5C;
// extern UNK_TYPE1 D_801B7C64;
// extern UNK_TYPE1 D_801B7D34;
// extern UNK_TYPE1 D_801B7D3C;
// extern UNK_TYPE1 D_801B7D44;
// extern UNK_TYPE1 D_801B7D4C;
// extern UNK_TYPE1 D_801B7D54;
// extern UNK_TYPE1 D_801B7D5C;
// extern UNK_TYPE1 D_801B7D64;
// extern UNK_TYPE1 D_801B7DCC;
// extern UNK_TYPE1 D_801B7DD4;
// extern UNK_TYPE1 D_801B7E3C;
// extern UNK_TYPE1 D_801B7F0C;
// extern UNK_TYPE1 D_801B7F14;
// extern UNK_TYPE1 D_801B7F1C;
// extern UNK_TYPE1 D_801B7F24;
// extern UNK_TYPE1 D_801B7F2C;
// extern UNK_TYPE1 D_801B7F34;
// extern UNK_TYPE1 D_801B7F3C;
// extern UNK_TYPE1 D_801B7FAC;
// extern UNK_TYPE1 D_801B807C;
// extern UNK_TYPE1 D_801B8084;
// extern UNK_TYPE1 D_801B8154;
// extern UNK_TYPE1 D_801B8224;
// extern UNK_TYPE1 D_801B82F4;
// extern UNK_TYPE1 D_801B82FC;
// extern UNK_TYPE1 D_801B8304;
// extern UNK_TYPE1 D_801B83D4;
// extern UNK_TYPE1 D_801B83DC;
// extern UNK_TYPE1 D_801B8434;
// extern UNK_TYPE1 D_801B843C;
// extern UNK_TYPE1 D_801B8444;
// extern UNK_TYPE1 D_801B8514;
// extern UNK_TYPE1 D_801B85E4;
// extern UNK_TYPE1 D_801B8664;
// extern UNK_TYPE1 D_801B8754;
// extern UNK_TYPE1 D_801B875C;
// extern UNK_TYPE1 D_801B87C4;
// extern UNK_TYPE1 D_801B8894;
// extern UNK_TYPE1 D_801B8964;
// extern UNK_TYPE1 D_801B8A34;
// extern UNK_TYPE1 D_801B8B04;
// extern UNK_TYPE1 D_801B8BD4;
// extern UNK_TYPE1 D_801B8CAC;
// extern UNK_TYPE1 D_801B8CB4;
// extern UNK_TYPE1 D_801B8D8C;
// extern UNK_TYPE1 D_801B8E5C;
// extern UNK_TYPE1 D_801B8F2C;
// extern UNK_TYPE1 D_801B8F34;
// extern UNK_TYPE1 D_801B900C;
// extern UNK_TYPE1 D_801B90D4;
// extern UNK_TYPE1 D_801B91A4;
// extern UNK_TYPE1 D_801B91AC;
// extern UNK_TYPE1 D_801B927C;
// extern UNK_TYPE1 D_801B9354;
// extern UNK_TYPE1 D_801B9424;
// extern UNK_TYPE1 D_801B94F4;
// extern UNK_TYPE1 D_801B95C4;
// extern UNK_TYPE1 D_801B95CC;
// extern UNK_TYPE1 D_801B969C;
// extern UNK_TYPE1 D_801B976C;
// extern UNK_TYPE1 D_801B979C;
extern CameraStateParams cameraStates[91];
// extern UNK_TYPE1 D_801B9CE2;
extern UNK_PTR D_801B9CE4;
extern camera_update_func cameraUpdateFuncs[71];
// extern UNK_TYPE2 D_801B9E04;
// extern UNK_TYPE4 D_801B9E08;
// extern UNK_TYPE4 D_801B9E0C;
// extern UNK_TYPE4 D_801B9E10;
// extern UNK_TYPE4 D_801B9E14;
// extern UNK_TYPE2 D_801B9E18;
// extern UNK_TYPE2 D_801B9E34;
// extern UNK_TYPE4 D_801B9E50;
// extern UNK_TYPE4 D_801B9E54;
// extern UNK_TYPE4 D_801B9E58;
// extern UNK_TYPE4 D_801B9E5C;
// extern UNK_TYPE4 D_801B9E60;
// extern UNK_TYPE1 D_801B9E64;
// extern UNK_TYPE1 D_801B9E84;
// extern UNK_TYPE4 D_801B9EB4;
// extern UNK_TYPE4 D_801B9ED4;
// extern UNK_TYPE4 D_801B9F04;
// extern UNK_TYPE2 D_801B9F0C;
extern UNK_TYPE4 D_801B9F10;
extern DamageTable sDamageTablePresets[23];
extern f32 damageMultipliers[16];
extern Collider defaultCollider;
extern ColliderTouch defaultColliderTouch;
extern ColliderBump defaultColliderBump;
extern ColliderInfo defaultColliderInfo;
extern ColliderJntSphElementDim defaultColliderJntSphElementDim;
extern Cylinder16 defaultColliderCylinderDim;
extern TriNorm defaultColliderTrisElementDim;
extern ColliderQuadDim defaultColliderQuadDim;
extern Vec3f defaultLinePoint;
extern ColChkResetFunc sATResetFuncs[COLSHAPE_MAX];
extern ColChkResetFunc sACResetFuncs[COLSHAPE_MAX];
extern ColChkResetFunc sOCResetFuncs[COLSHAPE_MAX];
extern ColChkBloodFunc sBloodFuncs[6];
extern HitInfo sHitInfo[14];
extern ColChkApplyFunc sColChkApplyFuncs[COLSHAPE_MAX];
extern ColChkVsFunc sACVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
extern ColChkVsFunc sOCVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX];
extern CollisionCheckInfo defaultColChkInfo;
extern ColChkApplyFunc sApplyDamageFuncs[COLSHAPE_MAX];
extern ColChkLineFunc sOCLineCheckFuncs[COLSHAPE_MAX];
extern EffShieldParticleInit shieldParticleInitMetal;
extern EffShieldParticleInit shieldParticleInitWood;
// extern UNK_TYPE4 D_801BB090;
// extern UNK_TYPE1 D_801BB094;
// extern UNK_TYPE1 D_801BB0DC;
// extern UNK_TYPE2 D_801BB0FC;
// extern UNK_TYPE1 D_801BB100;
// extern UNK_TYPE2 D_801BB124;
// extern UNK_TYPE2 D_801BB128;
extern u8 D_801BB12C;
// extern UNK_TYPE1 D_801BB130;
extern cutscene_update_func sCsStateHandlers1[5];
extern cutscene_update_func sCsStateHandlers2[5];
// extern UNK_TYPE2 D_801BB15C;
// extern UNK_TYPE4 D_801BB160;
extern s801BB170 D_801BB170[118];
// extern UNK_TYPE1 D_801BC210;
extern Gfx D_801BC240[9];
extern Gfx D_801BC288[3];
// extern UNK_TYPE1 D_801BC2A0;
// extern UNK_TYPE1 D_801BC3F0;
// extern UNK_TYPE1 D_801BC400;
// extern UNK_TYPE1 D_801BC410;
// extern UNK_TYPE1 D_801BC41E;
extern ActorCutscene actorCutscenesGlobalCutscenes[8];
extern s16 actorCutsceneCurrent;
extern s16 actorCutsceneCurrentLength;
extern s16 actorCutsceneEnding;
extern s16 actorCutsceneCurrentCamera;
extern Actor* actorCutsceneCurrentCutsceneActor;
// extern UNK_TYPE4 actorCutsceneStartMethod;
extern GlobalContext* actorCutscenesGlobalCtxt;
extern s16 actorCutsceneReturnCamera;
extern s16 D_801BD8C6;
extern GameStateOverlay gGameStateOverlayTable[];
extern s32 graphNumGameStates;
// extern UNK_TYPE2 D_801BDA70;
// extern UNK_TYPE2 D_801BDA74;
// extern UNK_TYPE2 D_801BDA78;
// extern UNK_TYPE2 D_801BDA7C;
extern s32 D_801BDA9C;
extern UNK_TYPE4 D_801BDAA0;
// extern UNK_TYPE4 D_801BDAA4;
// extern UNK_TYPE2 D_801BDAA8;
// extern UNK_TYPE2 D_801BDAAA;
// extern UNK_TYPE2 D_801BDAAC;
// extern UNK_TYPE2 D_801BDAAE;
// extern UNK_TYPE2 D_801BDAB0;
// extern UNK_TYPE2 D_801BDAB2;
// extern UNK_TYPE2 D_801BDAB4;
// extern UNK_TYPE2 D_801BDAB6;
// extern UNK_TYPE4 D_801BDAC0;
// extern UNK_TYPE4 D_801BDAC4;
// extern UNK_TYPE4 D_801BDAC8;
// extern UNK_TYPE4 D_801BDACC;
// extern UNK_TYPE4 D_801BDAF0;
// extern UNK_TYPE4 D_801BDAF8;
// extern UNK_TYPE1 D_801BDB00;
// extern UNK_TYPE1 D_801BDB08;
// extern UNK_TYPE1 D_801BDB18;
extern u8 kanfontOrdering[92];
// extern UNK_TYPE4 D_801BDB90;
// extern UNK_TYPE4 D_801BDB94;
// extern UNK_TYPE4 D_801BDB98;
// extern UNK_TYPE2 D_801BDB9C;
// extern UNK_TYPE1 D_801BDBA0;
// extern UNK_TYPE1 D_801BDBA4;
// extern UNK_TYPE1 D_801BDBA8;
extern u8 D_801BDBB0;
// extern UNK_TYPE1 D_801BDBB4;
// extern UNK_TYPE1 D_801BDBB8;
// extern UNK_TYPE1 D_801BDBBC;
// extern UNK_TYPE1 D_801BDBC0;
// extern UNK_TYPE1 D_801BDBC4;
extern u8 D_801BDBC8;
// extern UNK_TYPE1 D_801BDBCC;
// extern UNK_TYPE1 D_801BDCF4;
// extern UNK_TYPE1 D_801BE38E;
// extern UNK_TYPE1 D_801BE38F;
// extern UNK_TYPE1 D_801BE390;
// extern UNK_TYPE1 D_801BE4D4;
// extern UNK_TYPE1 D_801BE4F4;
// extern UNK_TYPE1 D_801BE534;
// extern UNK_TYPE1 D_801BE6D4;
// extern UNK_TYPE1 D_801BE874;
// extern UNK_TYPE4 D_801BE894;
// extern UNK_TYPE4 D_801BE8BC;
// extern UNK_TYPE4 D_801BE8E4;
// extern UNK_TYPE1 D_801BE90C;
// extern UNK_TYPE1 D_801BE92C;
// extern UNK_TYPE1 D_801BE944;
// extern actor_init_var_func sInitChainHandlers[11];
// extern UNK_TYPE2 sHeartsPrimColors;
// extern UNK_TYPE2 D_801BE992;
// extern UNK_TYPE2 D_801BE994;
// extern UNK_TYPE2 sHeartsEnvColors;
// extern UNK_TYPE2 D_801BE9A6;
// extern UNK_TYPE2 D_801BE9A8;
// extern UNK_TYPE2 sHeartsPrimFactors;
// extern UNK_TYPE2 sHeartsEnvFactors;
// extern UNK_TYPE2 sHeartsDDPrimColors;
// extern UNK_TYPE2 D_801BE9E2;
// extern UNK_TYPE2 D_801BE9E4;
// extern UNK_TYPE2 sHeartsDDEnvColors;
// extern UNK_TYPE2 D_801BE9F6;
// extern UNK_TYPE2 D_801BE9F8;
// extern UNK_TYPE2 sHeartsDDPrimFactors;
// extern UNK_TYPE2 D_801BEA0A;
// extern UNK_TYPE2 D_801BEA0C;
// extern UNK_TYPE2 sHeartsDDEnvFactors;
// extern UNK_TYPE2 D_801BEA1E;
// extern UNK_TYPE2 D_801BEA20;
// extern UNK_TYPE1 HeartTextures;
// extern UNK_TYPE1 HeartDDTextures;
//extern LightsPosBindFunc posBindFuncs[3];
//extern LightsBindFunc dirBindFuncs[3];
// extern UNK_TYPE4 D_801BEAD4;
// extern UNK_TYPE4 D_801BEAD8;
// extern UNK_TYPE1 D_801BEAE0;
// extern UNK_TYPE4 D_801BEAF4;
// extern UNK_TYPE4 D_801BEAF8;
// extern UNK_TYPE4 D_801BEB04;
// extern UNK_TYPE4 D_801BEB08;
// extern UNK_TYPE4 D_801BEB14;
// extern UNK_TYPE4 D_801BEB18;
// extern UNK_TYPE4 D_801BEB24;
// extern UNK_TYPE4 D_801BEB28;
// extern UNK_TYPE1 D_801BEB38;
// extern UNK_TYPE4 D_801BEBB8;
// extern UNK_TYPE4 D_801BEBD8;
// extern UNK_TYPE2 D_801BEBF8;
// extern UNK_TYPE2 D_801BEBFA;
// extern UNK_TYPE2 D_801BEBFC;
// extern UNK_TYPE2 D_801BEC10;
extern UNK_PTR D_801BEC14;
// extern UNK_TYPE4 D_801BEC1C;
// extern UNK_TYPE4 D_801BEC20;
// extern UNK_TYPE1 D_801BEC24;
// extern UNK_TYPE1 D_801BEC2C;
// extern UNK_TYPE2 D_801BEC5C;
// extern UNK_TYPE2 D_801BEC5E;
// extern UNK_TYPE4 D_801BEC70;
// extern UNK_TYPE1 D_801BEC84;
// extern UNK_TYPE1 D_801BECA4;
// extern UNK_TYPE1 D_801BECC4;
// extern UNK_TYPE1 D_801BECE4;
// extern UNK_TYPE1 D_801BED00;
// extern UNK_TYPE2 D_801BED24;
// extern UNK_TYPE1 D_801BED3C;
// extern UNK_TYPE1 D_801BED40;
// extern UNK_TYPE1 D_801BED4C;
// extern UNK_TYPE1 D_801BED54;
// extern UNK_TYPE1 D_801BED55;
// extern UNK_TYPE1 D_801BED56;
// extern UNK_TYPE1 D_801BED88;
// extern UNK_TYPE1 D_801BEFC8;
// extern UNK_TYPE1 D_801BF15C;
// extern UNK_TYPE1 D_801BF170;
// extern UNK_TYPE1 D_801BF176;
// extern UNK_TYPE1 D_801BF177;
// extern UNK_TYPE1 D_801BF178;
// extern UNK_TYPE1 D_801BF3B4;
// extern UNK_TYPE2 D_801BF550;
// extern UNK_TYPE2 D_801BF554;
// extern UNK_TYPE2 D_801BF558;
// extern UNK_TYPE4 D_801BF55C;
// extern UNK_TYPE4 D_801BF580;
// extern UNK_TYPE4 D_801BF594;
// extern UNK_TYPE4 D_801BF5A4;
// extern UNK_TYPE2 D_801BF5B0;
extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE1 D_801BF68C;
// extern UNK_TYPE1 D_801BF6C0;
// extern UNK_TYPE1 D_801BF79E;
// extern UNK_TYPE2 D_801BF884;
// extern UNK_TYPE2 D_801BF888;
// extern UNK_TYPE2 D_801BF88C;
// extern UNK_TYPE2 D_801BF890;
// extern UNK_TYPE2 D_801BF898;
// extern UNK_TYPE2 D_801BF89C;
// extern UNK_TYPE2 D_801BF8A0;
// extern UNK_TYPE2 D_801BF8A4;
// extern UNK_TYPE2 D_801BF8A8;
// extern UNK_TYPE2 D_801BF8AC;
// extern UNK_TYPE2 D_801BF8B0;
// extern UNK_TYPE2 D_801BF8DC;
// extern UNK_TYPE2 D_801BF8E0;
// extern UNK_TYPE2 D_801BF8E4;
// extern UNK_TYPE4 D_801BF8E8;
// extern UNK_TYPE4 D_801BF8F0;
// extern UNK_TYPE4 D_801BF8F4;
// extern UNK_TYPE4 D_801BF8F8;
// extern UNK_TYPE4 D_801BF8FC;
// extern UNK_TYPE4 D_801BF930;
// extern UNK_TYPE4 D_801BF934;
// extern UNK_TYPE1 D_801BF968;
// extern UNK_TYPE1 D_801BF96A;
// extern UNK_TYPE1 D_801BF96C;
// extern UNK_TYPE1 D_801BF96E;
// extern UNK_TYPE2 D_801BF970;
// extern UNK_TYPE1 D_801BF972;
// extern UNK_TYPE2 D_801BF974;
// extern UNK_TYPE2 D_801BF978;
// extern UNK_TYPE2 D_801BF97C;
// extern UNK_TYPE4 D_801BF980;
// extern UNK_TYPE1 D_801BF988;
// extern UNK_TYPE1 D_801BF998;
// extern UNK_TYPE2 D_801BF9B0;
// extern UNK_TYPE1 D_801BF9B4;
// extern UNK_TYPE1 D_801BF9BC;
// extern UNK_TYPE1 D_801BF9C4;
// extern UNK_TYPE1 D_801BF9C8;
// extern UNK_TYPE1 D_801BF9CC;
// extern UNK_TYPE2 D_801BF9D4;
// extern UNK_TYPE2 D_801BF9D6;
// extern UNK_TYPE2 D_801BF9D8;
// extern UNK_TYPE2 D_801BF9DA;
// extern UNK_TYPE2 D_801BF9DC;
// extern UNK_TYPE2 D_801BF9DE;
// extern UNK_TYPE2 D_801BF9E0;
// extern UNK_TYPE2 D_801BF9E2;
// extern UNK_TYPE2 D_801BF9E4;
// extern UNK_TYPE2 D_801BF9E6;
// extern UNK_TYPE2 D_801BF9E8;
// extern UNK_TYPE2 D_801BF9EA;
// extern UNK_TYPE2 D_801BF9EC;
// extern UNK_TYPE2 D_801BF9F0;
// extern UNK_TYPE2 D_801BF9F4;
// extern UNK_TYPE2 D_801BF9F8;
// extern UNK_TYPE2 D_801BF9FC;
// extern UNK_TYPE2 D_801BFA00;
// extern UNK_TYPE2 D_801BFA04;
// extern UNK_TYPE2 D_801BFA1C;
// extern UNK_TYPE2 D_801BFA34;
// extern UNK_TYPE2 D_801BFA4C;
// extern UNK_TYPE2 D_801BFA64;
// extern UNK_TYPE2 D_801BFA74;
// extern UNK_TYPE4 D_801BFA84;
// extern UNK_TYPE1 D_801BFAB0;
// extern UNK_TYPE1 D_801BFAB8;
// extern UNK_TYPE1 D_801BFAC4;
// extern UNK_TYPE1 D_801BFACC;
// extern UNK_TYPE1 D_801BFAD4;
// extern UNK_TYPE2 D_801BFAF4;
// extern UNK_TYPE2 D_801BFAF6;
// extern UNK_TYPE2 D_801BFAF8;
// extern UNK_TYPE2 D_801BFAFA;
// extern UNK_TYPE1 D_801BFAFC;
// extern UNK_TYPE1 D_801BFB04;
// extern UNK_TYPE1 D_801BFB0C;
// extern UNK_TYPE1 D_801BFB14;
// extern UNK_TYPE1 D_801BFB1C;
// extern UNK_TYPE1 D_801BFB24;
// extern UNK_TYPE2 D_801BFB2C;
// extern UNK_TYPE2 D_801BFB30;
// extern UNK_TYPE2 D_801BFB34;
// extern UNK_TYPE1 D_801BFB38;
// extern UNK_TYPE1 D_801BFB6C;
// extern UNK_TYPE2 D_801BFBCC;
// extern UNK_TYPE2 D_801BFBD0;
// extern UNK_TYPE2 D_801BFBD4;
// extern UNK_TYPE2 D_801BFBD8;
// extern UNK_TYPE2 D_801BFBDC;
// extern UNK_TYPE2 D_801BFBE0;
// extern UNK_TYPE2 D_801BFBE4;
// extern UNK_TYPE2 D_801BFBE8;
// extern UNK_TYPE1 D_801BFBEC;
// extern UNK_TYPE1 D_801BFBF0;
// extern UNK_TYPE1 D_801BFBF4;
// extern UNK_TYPE1 D_801BFBF8;
// extern UNK_TYPE1 D_801BFBFC;
// extern UNK_TYPE1 D_801BFC00;
// extern UNK_TYPE1 D_801BFC04;
// extern UNK_TYPE1 D_801BFC08;
// extern UNK_TYPE1 D_801BFC0C;
// extern UNK_TYPE1 D_801BFC10;
// extern UNK_TYPE1 D_801BFC14;
// extern UNK_TYPE1 D_801BFC40;
// extern UNK_TYPE2 D_801BFC50;
// extern UNK_TYPE2 D_801BFC60;
// extern UNK_TYPE2 D_801BFC62;
// extern UNK_TYPE2 D_801BFC64;
// extern UNK_TYPE2 D_801BFC6C;
// extern UNK_TYPE2 D_801BFC7C;
// extern UNK_TYPE1 D_801BFC8C;
// extern UNK_TYPE2 D_801BFC98;
// extern UNK_TYPE2 D_801BFCA8;
// extern UNK_TYPE1 D_801BFCB8;
// extern UNK_TYPE4 D_801BFCC4;
// extern UNK_TYPE2 D_801BFCE4;
// extern UNK_TYPE2 D_801BFCE8;
// extern UNK_TYPE2 D_801BFCEA;
// extern UNK_TYPE2 D_801BFCEC;
// extern UNK_TYPE2 D_801BFCEE;
// extern UNK_TYPE2 D_801BFCF0;
// extern UNK_TYPE2 D_801BFCF2;
// extern UNK_TYPE2 D_801BFCF4;
// extern UNK_TYPE2 D_801BFCF8;
// extern UNK_TYPE2 D_801BFCFC;
// extern UNK_TYPE2 D_801BFD0C;
// extern UNK_TYPE1 D_801BFD1C;
// extern UNK_TYPE1 D_801BFD24;
// extern UNK_TYPE1 D_801BFD2C;
// extern UNK_TYPE1 D_801BFD40;
// extern UNK_TYPE1 D_801BFD54;
// extern UNK_TYPE1 D_801BFD64;
// extern UNK_TYPE2 D_801BFD6C;
// extern UNK_TYPE1 D_801BFD84;
// extern UNK_TYPE1 D_801BFD8C;
// extern UNK_TYPE1 D_801BFD94;
// extern UNK_TYPE2 D_801BFD98;
// extern UNK_TYPE1 D_801BFD9E;
// extern UNK_TYPE1 D_801BFDD0;
// extern UNK_TYPE1 D_801BFDE8;
// extern UNK_TYPE1 D_801BFE00;
// extern UNK_TYPE1 D_801BFE14;
// extern UNK_TYPE2 D_801BFF34;
// extern UNK_TYPE1 D_801BFF3C;
// extern UNK_TYPE1 D_801BFF90;
// extern UNK_TYPE1 D_801BFF98;
// extern UNK_TYPE1 D_801BFFA0;
// extern UNK_TYPE1 D_801BFFB0;
// extern UNK_TYPE1 D_801BFFFC;
// extern UNK_TYPE1 D_801C0000;
// extern UNK_TYPE1 D_801C0001;
// extern UNK_TYPE1 D_801C0002;
// extern UNK_TYPE1 D_801C0008;
// extern UNK_TYPE1 D_801C0010;
// extern UNK_TYPE1 D_801C0024;
// extern UNK_TYPE1 D_801C0034;
// extern UNK_TYPE1 D_801C0040;
// extern UNK_TYPE1 D_801C005C;
// extern UNK_TYPE1 D_801C0060;
// extern UNK_TYPE1 D_801C0070;
// extern UNK_TYPE1 D_801C0084;
// extern UNK_TYPE1 D_801C00A0;
// extern UNK_TYPE1 D_801C00AC;
// extern UNK_TYPE1 D_801C00BC;
// extern UNK_TYPE1 D_801C00D4;
// extern UNK_TYPE1 D_801C00EC;
// extern UNK_TYPE1 D_801C0114;
// extern UNK_TYPE1 D_801C013C;
// extern UNK_TYPE1 D_801C0164;
// extern UNK_TYPE1 D_801C018C;
// extern UNK_TYPE1 D_801C01A4;
// extern UNK_TYPE1 D_801C01CC;
// extern UNK_TYPE1 D_801C01F4;
// extern UNK_TYPE1 D_801C021C;
// extern UNK_TYPE1 D_801C0244;
// extern UNK_TYPE1 D_801C026C;
// extern UNK_TYPE1 D_801C0294;
// extern UNK_TYPE1 D_801C02A8;
// extern UNK_TYPE1 D_801C02BC;
// extern UNK_TYPE1 D_801C02D0;
// extern UNK_TYPE1 D_801C02E4;
extern UNK_PTR D_801C02F8;
// extern UNK_TYPE1 D_801C0340;
// extern UNK_TYPE1 D_801C0368;
// extern UNK_TYPE1 D_801C03A0;
// extern UNK_TYPE1 D_801C03C0;
// extern UNK_TYPE1 D_801C03E0;
// extern UNK_TYPE1 D_801C0410;
// extern UNK_TYPE1 D_801C0428;
// extern UNK_TYPE1 D_801C0460;
// extern UNK_TYPE1 D_801C0490;
// extern UNK_TYPE1 D_801C0510;
// extern UNK_TYPE1 D_801C0538;
// extern UNK_TYPE1 D_801C0560;
// extern UNK_TYPE1 D_801C0580;
// extern UNK_TYPE1 D_801C05A8;
// extern UNK_TYPE1 D_801C05C8;
// extern UNK_TYPE1 D_801C05D8;
// extern UNK_TYPE1 D_801C05F0;
// extern UNK_TYPE2 D_801C05F2;
// extern UNK_TYPE1 D_801C05FA;
// extern UNK_TYPE1 D_801C0608;
// extern UNK_TYPE1 D_801C0628;
// extern UNK_TYPE1 D_801C0678;
// extern UNK_TYPE1 D_801C0698;
// extern UNK_TYPE1 D_801C06B8;
// extern UNK_TYPE1 D_801C06E0;
// extern UNK_TYPE1 D_801C06F8;
// extern UNK_TYPE1 D_801C0718;
// extern UNK_TYPE1 D_801C0730;
// extern UNK_TYPE1 D_801C0740;
// extern UNK_TYPE1 D_801C0750;
// extern UNK_TYPE1 D_801C0778;
// extern UNK_TYPE1 D_801C0784;
// extern UNK_TYPE1 D_801C07AC;
// extern UNK_TYPE1 D_801C07C0;
// extern UNK_TYPE1 D_801C07F0;
// extern UNK_TYPE1 D_801C0820;
// extern UNK_TYPE1 D_801C0838;
// extern UNK_TYPE1 D_801C0850;
// extern UNK_TYPE1 D_801C0860;
extern UNK_PTR D_801C0870;
// extern UNK_TYPE1 D_801C0890;
// extern UNK_TYPE1 D_801C08A0;
// extern UNK_TYPE1 D_801C08A1;
// extern UNK_TYPE1 D_801C08C0;
// extern UNK_TYPE1 D_801C08FC;
// extern UNK_TYPE1 D_801C0910;
// extern UNK_TYPE1 D_801C0924;
// extern UNK_TYPE1 D_801C0938;
// extern UNK_TYPE1 D_801C094C;
// extern UNK_TYPE4 D_801C0954;
// extern UNK_TYPE4 D_801C0958;
extern UNK_PTR D_801C095C;
// extern UNK_TYPE1 D_801C0964;
// extern UNK_TYPE1 D_801C096C;
// extern UNK_TYPE1 D_801C0970;
// extern UNK_TYPE4 D_801C0994;
// extern UNK_TYPE1 D_801C09B8;
// extern UNK_TYPE1 D_801C09DC;
// extern UNK_TYPE1 D_801C0A00;
// extern UNK_TYPE1 D_801C0A24;
// extern UNK_TYPE1 D_801C0A48;
// extern UNK_TYPE1 D_801C0A6C;
// extern UNK_TYPE1 D_801C0A90;
// extern UNK_TYPE1 D_801C0AB4;
// extern UNK_TYPE1 D_801C0ABC;
// extern UNK_TYPE1 D_801C0AC4;
// extern UNK_TYPE1 D_801C0ADC;
extern UNK_PTR D_801C0AF4;
extern UNK_PTR D_801C0AFC;
extern UNK_PTR D_801C0B04;
extern UNK_PTR D_801C0B0C;
// extern UNK_TYPE1 D_801C0B14;
// extern UNK_TYPE1 D_801C0B1C;
// extern UNK_TYPE1 D_801C0B20;
// extern UNK_TYPE1 D_801C0B90;
// extern UNK_TYPE4 D_801C0BA8;
// extern UNK_TYPE4 D_801C0BAC;
// extern UNK_TYPE4 D_801C0BB0;
// extern UNK_TYPE1 D_801C0BB4;
// extern UNK_TYPE4 D_801C0BB8;
// extern UNK_TYPE1 D_801C0BC0;
// extern UNK_TYPE1 D_801C0BD0;
// extern UNK_TYPE4 D_801C0BE0;
// extern UNK_TYPE4 D_801C0BE4;
// extern UNK_TYPE4 D_801C0BE8;
// extern UNK_TYPE4 D_801C0BEC;
// extern UNK_TYPE4 D_801C0BF0;
// extern UNK_TYPE4 D_801C0BF4;
// extern UNK_TYPE1 D_801C0BF8;
// extern UNK_TYPE1 D_801C0BFC;
// extern UNK_TYPE1 D_801C0C00;
// extern UNK_TYPE4 D_801C0C0C;
// extern UNK_TYPE1 D_801C0C30;
// extern UNK_TYPE1 D_801C0C54;
// extern UNK_TYPE1 D_801C0C78;
// extern UNK_TYPE1 D_801C0C94;
// extern UNK_TYPE1 D_801C0CA8;
// extern UNK_TYPE4 D_801C0CE8;
// extern UNK_TYPE1 D_801C0D24;
// extern UNK_TYPE1 D_801C0D60;
// extern UNK_TYPE1 D_801C0D6C;
// extern UNK_TYPE1 D_801C0D78;
// extern UNK_TYPE4 D_801C0D94;
// extern UNK_TYPE4 D_801C0D98;
// extern UNK_TYPE4 D_801C0D9C;
// extern UNK_TYPE4 D_801C0DA0;
// extern UNK_TYPE1 D_801C0DA8;
// extern UNK_TYPE1 D_801C0DD8;
// extern UNK_TYPE1 D_801C0DE4;
// extern UNK_TYPE4 D_801C0DF0;
// extern UNK_TYPE1 D_801C0E04;
// extern UNK_TYPE4 D_801C0E2C;
// extern UNK_TYPE4 D_801C0E40;
// extern UNK_TYPE1 D_801C0E7C;
// extern UNK_TYPE1 D_801C0E94;
// extern UNK_TYPE1 D_801C0EA0;
// extern UNK_TYPE1 D_801C0EAC;
// extern UNK_TYPE1 D_801C0EB8;
extern Gfx sSetupDL[438];
extern Gfx sFillSetupDL[12];
extern Gfx gEmptyDL[1];
extern Vec3f D_801C1D10;
extern room_draw_func roomDrawFuncs[4];
extern u32 gBitFlags[32];
extern u16 gEquipMasks[];
extern u16 gEquipNegMasks[];
extern u32 gUpgradeMasks[8];
extern u32 gUpgradeNegMasks[];
extern u8 gEquipShifts[];
extern u8 gUpgradeShifts[8];
extern u16 gUpgradeCapacities[][4];
extern u32 gGsFlagsMask[];
extern u32 gGsFlagsShift[];
extern void* gItemIcons[];
extern u8 gItemSlots[];
extern s16 gItemPrices[];
extern u16 gScenesPerRegion[11][27];
extern u32 D_801C2410[];
extern s16 gLinkFormObjectIndexes[8];
extern RomFile objectFileTable[643];
extern SceneTableEntry gSceneTable[];
extern UNK_PTR D_801C5C50;
// extern UNK_TYPE1 D_801C5C9C;
extern UNK_PTR D_801C5CB0;
extern MtxF sMtxFClear;
// extern UNK_TYPE1 D_801C5D10;
// extern UNK_TYPE1 D_801C5D20;
// extern UNK_TYPE1 D_801C5D60;
// extern UNK_TYPE1 D_801C5D80;
extern Vec3f D_801C5DB0;
// extern UNK_TYPE1 D_801C5DD0;
// extern UNK_TYPE1 D_801C5DE0;
// extern UNK_TYPE1 D_801C5DF0;
// extern UNK_TYPE1 D_801C5E00;
extern s32 D_801C5E30[]; // D_801C5E30
extern u16 D_801C5E48[]; // D_801C5E48
extern s32 D_801C5E88[]; // D_801C5E88
extern s32 D_801C5E9C[]; // D_801C5E9C
extern s32 D_801C5EB0[]; // D_801C5EB0
extern s16 D_801C5EC4[]; // D_801C5EC4
extern struct_801C5F44 D_801C5F44[]; // D_801C5F44
// extern UNK_TYPE4 D_801C5FC0;
// extern UNK_TYPE4 D_801C5FC4;
// extern UNK_TYPE4 D_801C5FC8;
// extern UNK_TYPE4 D_801C5FCC;
// extern UNK_TYPE4 D_801C5FD0;
// extern UNK_TYPE2 D_801C66D0;
// extern UNK_TYPE4 D_801C6798;
// extern UNK_TYPE1 D_801C67B0;
// extern UNK_TYPE4 D_801C67C8;
// extern UNK_TYPE4 D_801C67CC;
// extern UNK_TYPE4 D_801C67E8;
// extern UNK_TYPE4 D_801C67F0;
// extern UNK_TYPE4 D_801C67F4;
// extern UNK_TYPE1 D_801C6818;
// extern UNK_TYPE4 D_801C6838;
// extern UNK_TYPE1 D_801C6840;
// extern UNK_TYPE1 D_801C6850;
// extern UNK_TYPE1 D_801C6870;
// extern UNK_TYPE1 D_801C6890;
// extern UNK_TYPE1 D_801C6898;
// extern UNK_TYPE1 D_801C68C0;
extern Inventory gSaveDefaultInventory;
extern u16 gSaveDefaultChecksum;
// extern UNK_TYPE1 D_801C6970;
// extern UNK_TYPE1 D_801C6998;
extern Inventory D_801C69BC;
extern u16 D_801C6A44;
// extern UNK_TYPE1 D_801C6A48;
// extern UNK_TYPE1 D_801C6A50;
// extern UNK_TYPE1 D_801C6A58;
// extern UNK_TYPE1 D_801C6A70;
// extern UNK_TYPE2 D_801C6A74;
// extern UNK_TYPE2 D_801C6A78;
// extern UNK_TYPE2 D_801C6A7C;
// extern UNK_TYPE2 D_801C6A80;
// extern UNK_TYPE2 D_801C6A84;
// extern UNK_TYPE2 D_801C6A88;
// extern UNK_TYPE2 D_801C6A8C;
// extern UNK_TYPE2 D_801C6A90;
// extern UNK_TYPE2 D_801C6A94;
// extern UNK_TYPE1 D_801C6A98;
// extern UNK_TYPE1 D_801C6AB8;
// extern UNK_TYPE1 D_801C6B28;
// extern UNK_TYPE1 D_801C6B98;
// extern UNK_TYPE1 D_801CED40;
// extern UNK_TYPE1 D_801CFB08;
// extern UNK_TYPE2 D_801CFC78;
// extern UNK_TYPE1 D_801CFC7A;
// extern UNK_TYPE1 D_801CFC7C;
// extern UNK_TYPE1 D_801CFC7E;
// extern UNK_TYPE1 D_801CFC84;
// extern UNK_TYPE1 D_801CFC88;
// extern UNK_TYPE1 D_801CFC8C;
// extern UNK_TYPE1 D_801CFC8E;
// extern UNK_TYPE1 D_801CFC92;
// extern UNK_TYPE1 D_801CFC98;
// extern UNK_TYPE2 D_801CFCA4;
// extern UNK_TYPE2 D_801CFCAC;
// extern UNK_TYPE1 D_801CFCB8;
// extern UNK_TYPE2 D_801CFCD8;
// extern UNK_TYPE2 D_801CFCE4;
// extern UNK_TYPE2 D_801CFCF0;
// extern UNK_TYPE2 D_801CFCF4;
// extern UNK_TYPE2 D_801CFCF8;
// extern UNK_TYPE2 D_801CFCFC;
// extern UNK_TYPE2 D_801CFD00;
// extern UNK_TYPE2 D_801CFD04;
// extern UNK_TYPE2 D_801CFD08;
// extern UNK_TYPE2 D_801CFD0C;
// extern UNK_TYPE2 D_801CFD10;
// extern UNK_TYPE2 D_801CFD1C;
// extern UNK_TYPE2 D_801CFD28;
// extern UNK_TYPE2 D_801CFD2C;
// extern UNK_TYPE2 D_801CFD30;
// extern UNK_TYPE2 D_801CFD34;
// extern UNK_TYPE2 D_801CFD38;
// extern UNK_TYPE2 D_801CFD3C;
// extern UNK_TYPE2 D_801CFD40;
// extern UNK_TYPE2 D_801CFD44;
// extern UNK_TYPE2 D_801CFD48;
// extern UNK_TYPE2 D_801CFD54;
// extern UNK_TYPE2 D_801CFD60;
// extern UNK_TYPE2 D_801CFD64;
// extern UNK_TYPE2 D_801CFD68;
// extern UNK_TYPE2 D_801CFD6C;
// extern UNK_TYPE2 D_801CFD70;
// extern UNK_TYPE2 D_801CFD74;
// extern UNK_TYPE2 D_801CFD78;
// extern UNK_TYPE2 D_801CFD7C;
// extern UNK_TYPE2 D_801CFD80;
// extern UNK_TYPE2 D_801CFD84;
// extern UNK_TYPE2 D_801CFD88;
// extern UNK_TYPE2 D_801CFD8C;
// extern UNK_TYPE2 D_801CFD90;
extern UNK_PTR D_801CFD94;
// extern UNK_TYPE2 D_801CFD98;
// extern UNK_TYPE2 D_801CFD9C;
// extern UNK_TYPE2 D_801CFDA0;
// extern UNK_TYPE1 D_801CFDA4;
// extern UNK_TYPE1 D_801CFDC8;
// extern UNK_TYPE1 D_801CFDEC;
// extern UNK_TYPE1 D_801CFE04;
// extern UNK_TYPE1 D_801CFE1C;
// extern UNK_TYPE1 D_801CFE34;
// extern UNK_TYPE1 D_801CFE4C;
// extern UNK_TYPE1 D_801CFE5C;
// extern UNK_TYPE1 D_801CFE68;
// extern UNK_TYPE1 D_801CFE74;
// extern UNK_TYPE1 D_801CFEA4;
// extern UNK_TYPE1 D_801CFED4;
// extern UNK_TYPE1 D_801CFF04;
// extern UNK_TYPE1 D_801CFF34;
// extern UNK_TYPE1 D_801CFF64;
// extern UNK_TYPE1 D_801CFF70;
// extern UNK_TYPE1 D_801CFF7C;
// extern UNK_TYPE1 D_801CFF88;
// extern UNK_TYPE1 D_801CFF94;
// extern UNK_TYPE1 D_801D0000;
// extern UNK_TYPE1 D_801D0001;
// extern UNK_TYPE1 D_801D001F;
// extern UNK_TYPE1 D_801D0188;
// extern UNK_TYPE1 D_801D023A;
// extern UNK_TYPE1 D_801D0250;
// extern UNK_TYPE2 D_801D0268;
// extern UNK_TYPE1 D_801D027C;
// extern UNK_TYPE1 D_801D0284;
// extern UNK_TYPE1 D_801D028C;
// extern UNK_TYPE1 D_801D02C0;
// extern UNK_TYPE1 D_801D02D8;
// extern UNK_TYPE1 D_801D02F8;
// extern UNK_TYPE1 D_801D0330;
// extern UNK_TYPE1 D_801D0334;
// extern UNK_TYPE1 D_801D0340;
// extern UNK_TYPE1 D_801D034C;
// extern UNK_TYPE1 D_801D0358;
// extern UNK_TYPE1 D_801D0364;
// extern UNK_TYPE1 D_801D0378;
extern char D_801D039C[];
// extern UNK_TYPE1 D_801D03A4;
// extern UNK_TYPE1 D_801D03A8;
// extern UNK_TYPE1 D_801D03C8;
// extern UNK_TYPE1 D_801D03E8;
// extern UNK_TYPE1 D_801D03F0;
// extern UNK_TYPE1 D_801D0401;
// extern UNK_TYPE1 D_801D0408;
// extern UNK_TYPE1 D_801D0428;
// extern UNK_TYPE1 D_801D045A;
// extern UNK_TYPE1 D_801D0462;
// extern UNK_TYPE1 D_801D0468;
// extern UNK_TYPE1 D_801D0470;
extern char D_801D06F0[];
// extern UNK_TYPE1 D_801D0710;
extern char D_801D0714[];
// extern UNK_TYPE1 D_801D07C4;
// extern UNK_TYPE1 D_801D07DC;
// extern UNK_TYPE1 D_801D080C;
// extern UNK_TYPE1 D_801D083C;
// extern UNK_TYPE1 D_801D086C;
// extern UNK_TYPE1 D_801D0890;
// extern UNK_TYPE1 D_801D089C;
// extern UNK_TYPE1 D_801D08CC;
// extern UNK_TYPE1 D_801D08D8;
// extern UNK_TYPE1 D_801D08E4;
// extern UNK_TYPE1 D_801D08E8;
// extern UNK_TYPE1 D_801D0900;
extern ActorInit Player_InitVars;
// extern UNK_TYPE1 D_801D0B70;
// extern UNK_TYPE1 D_801D0B8C;
// extern UNK_TYPE4 D_801D0BA8;
// extern UNK_TYPE4 D_801D0BAC;
// extern UNK_TYPE4 D_801D0BB0;
// extern UNK_TYPE1 D_801D0C80;
// extern UNK_TYPE1 D_801D0CB0;
extern const TransitionInit TransitionFade_InitVars;
// extern UNK_TYPE1 D_801D0D00;
extern const TransitionInit TransitionCircle_InitVars;
extern UNK_TYPE4 D_801D0D50;
// extern UNK_TYPE1 D_801D0D54;
// extern UNK_TYPE2 D_801D0D58;
// extern UNK_TYPE2 D_801D0D5C;
extern Input* D_801D0D60;
// extern UNK_TYPE2 D_801D0D64;
// extern UNK_TYPE1 D_801D0D7A;
// extern UNK_TYPE1 D_801D0D80;
// extern UNK_TYPE1 D_801D11F4;
// extern UNK_TYPE1 D_801D1230;
// extern UNK_TYPE1 D_801D1234;
// extern UNK_TYPE4 D_801D1238;
// extern UNK_TYPE1 D_801D1244;
// extern UNK_TYPE1 D_801D12C0;
// extern UNK_TYPE1 D_801D12D0;
// extern UNK_TYPE1 D_801D12D4;
// extern UNK_TYPE1 D_801D12D8;
// extern UNK_TYPE1 D_801D12DC;
// extern UNK_TYPE2 D_801D1330;
// extern UNK_TYPE1 D_801D1342;
// extern UNK_TYPE2 D_801D1344;
// extern UNK_TYPE1 D_801D1368;
// extern UNK_TYPE2 D_801D1374;
// extern UNK_TYPE1 D_801D1388;
// extern UNK_TYPE2 D_801D13D8;
// extern UNK_TYPE2 D_801D13DC;
// extern UNK_TYPE2 D_801D13E0;
// extern UNK_TYPE2 D_801D13E4;
// extern UNK_TYPE4 D_801D13E8;
// extern UNK_TYPE1 D_801D13EC;
// extern UNK_TYPE1 D_801D13F0;
// extern UNK_TYPE1 D_801D13F4;
// extern UNK_TYPE1 D_801D13F8;
// extern UNK_TYPE1 D_801D1420;
// extern UNK_TYPE2 D_801D142C;
// extern UNK_TYPE2 D_801D1434;
// extern UNK_TYPE2 D_801D1438;
// extern UNK_TYPE2 D_801D143C;
// extern UNK_TYPE2 D_801D1440;
// extern UNK_TYPE2 D_801D1444;
// extern UNK_TYPE2 D_801D1448;
// extern UNK_TYPE2 D_801D144C;
// extern UNK_TYPE2 D_801D1450;
// extern UNK_TYPE2 D_801D1454;
// extern UNK_TYPE2 D_801D1458;
// extern UNK_TYPE2 D_801D145C;
// extern UNK_TYPE2 D_801D1460;
// extern UNK_TYPE1 D_801D1464;
// extern UNK_TYPE1 D_801D1468;
// extern UNK_TYPE1 D_801D146C;
// extern UNK_TYPE2 D_801D14DC;
// extern UNK_TYPE2 D_801D14E0;
// extern UNK_TYPE2 D_801D14E4;
// extern UNK_TYPE2 D_801D14E8;
// extern UNK_TYPE4 D_801D14F0;
extern s32 gFramerateDivisor;
extern f32 gFramerateDivisorF;
extern f32 gFramerateDivisorHalf;
extern f32 gFramerateDivisorThird;
extern u32 retryCount;
extern u32 cfbIdx[3];
extern s32 gScreenWidth;
extern s32 gScreenHeight;
extern u32 startHeapSize;
extern PadMgr* padmgrContext;
// extern UNK_TYPE4 controllerInputsCaptured;
// extern UNK_TYPE4 D_801D1538;
extern UNK_PTR D_801D1540;
// extern f32 sFactorialTbl[13];
extern Vec3f D_801D15B0;
extern Vec3s D_801D15BC;
extern Mtx D_801D1DE0;
extern MtxF D_801D1E20;
extern UNK_PTR D_801D1E60;
extern UNK_PTR D_801D1E64;
// extern UNK_TYPE1 D_801D1E70;
// extern UNK_TYPE1 D_801D2E80;
// extern UNK_TYPE1 D_801D2F80;
// extern UNK_TYPE1 D_801D3070;
// extern UNK_TYPE1 D_801D3700;
// extern UNK_TYPE1 D_801D3D90;
// extern UNK_TYPE1 D_801D3F90;
// extern UNK_TYPE1 D_801D4190;
// extern UNK_TYPE1 D_801D4390;
// extern UNK_TYPE1 D_801D4590;
// extern UNK_TYPE1 D_801D4790;
// extern UNK_TYPE1 D_801D4990;
// extern UNK_TYPE1 D_801D4B90;
extern UNK_PTR D_801D4D90;
extern UNK_PTR D_801D4D98;
extern UNK_PTR D_801D4DB0;
// extern UNK_TYPE1 D_801D4DB4;
// extern UNK_TYPE1 D_801D4FB4;
// extern UNK_TYPE4 D_801D51B4;
// extern UNK_TYPE4 D_801D53B4;
// extern UNK_TYPE1 D_801D55B4;
// extern UNK_TYPE1 D_801D57B4;
// extern UNK_TYPE1 D_801D57C4;
// extern UNK_TYPE1 D_801D57D4;
// extern UNK_TYPE4 D_801D57E4;
// extern UNK_TYPE4 D_801D5804;
// extern UNK_TYPE2 D_801D5824;
// extern UNK_TYPE2 D_801D58A2;
// extern UNK_TYPE1 D_801D58AA;
// extern UNK_TYPE1 D_801D5928;
// extern UNK_TYPE1 D_801D5B24;
// extern UNK_TYPE1 D_801D5B28;
// extern UNK_TYPE1 D_801D5D24;
// extern UNK_TYPE1 D_801D5D28;
// extern UNK_TYPE1 D_801D5F24;
// extern UNK_TYPE4 D_801D5FB4;
// extern UNK_TYPE4 D_801D5FB8;
// extern UNK_TYPE4 D_801D5FBC;
// extern UNK_TYPE4 D_801D5FC0;
// extern UNK_TYPE1 D_801D5FD4;
extern UNK_PTR D_801D5FE0;
// extern UNK_TYPE1 D_801D5FE4;
// extern UNK_TYPE4 D_801D5FE8;
// extern UNK_TYPE4 D_801D5FEC;
// extern UNK_TYPE4 D_801D5FF0;
// extern UNK_TYPE4 D_801D5FF4;
// extern UNK_TYPE1 D_801D5FF8;
// extern UNK_TYPE4 D_801D5FFC;
extern UNK_PTR D_801D6000;
// extern UNK_TYPE1 D_801D6010;
// extern UNK_TYPE1 D_801D6014;
// extern UNK_TYPE1 D_801D6028;
// extern UNK_TYPE1 D_801D6098;
// extern UNK_TYPE1 D_801D6100;
extern UNK_PTR D_801D6188;
extern UNK_PTR D_801D618C;
// extern UNK_TYPE4 D_801D6190;
// extern UNK_TYPE4 D_801D6194;
// extern UNK_TYPE1 D_801D6200;
// extern UNK_TYPE1 D_801D6600;
// extern UNK_TYPE1 D_801D6608;
// extern UNK_TYPE1 D_801D6610;
// extern UNK_TYPE1 D_801D662C;
// extern UNK_TYPE1 D_801D6648;
// extern UNK_TYPE1 D_801D664C;
// extern UNK_TYPE1 D_801D6650;
// extern UNK_TYPE4 D_801D6654;
// extern UNK_TYPE1 D_801D6658;
// extern UNK_TYPE1 D_801D665C;
// extern UNK_TYPE1 D_801D6660;
// extern UNK_TYPE1 D_801D666C;
// extern UNK_TYPE1 D_801D6680;
// extern UNK_TYPE1 D_801D6684;
// extern UNK_TYPE4 D_801D6694;
// extern UNK_TYPE1 D_801D6698;
// extern UNK_TYPE1 D_801D669E;
// extern UNK_TYPE1 D_801D669F;
// extern UNK_TYPE1 D_801D66A0;
// extern UNK_TYPE2 D_801D66A4;
// extern UNK_TYPE1 D_801D66A8;
// extern UNK_TYPE1 D_801D66AC;
// extern UNK_TYPE1 D_801D66B0;
// extern UNK_TYPE1 D_801D66B4;
// extern UNK_TYPE1 D_801D66B8;
// extern UNK_TYPE1 D_801D66BC;
// extern UNK_TYPE1 D_801D66C0;
// extern UNK_TYPE4 D_801D66C4;
// extern UNK_TYPE1 D_801D66C8;
// extern UNK_TYPE2 D_801D66CC;
// extern UNK_TYPE1 D_801D66D0;
// extern UNK_TYPE1 D_801D66D4;
// extern UNK_TYPE4 D_801D66D8;
// extern UNK_TYPE4 D_801D66DC;
// extern UNK_TYPE1 D_801D66E0;
// extern UNK_TYPE1 D_801D66E4;
// extern UNK_TYPE1 D_801D66E8;
// extern UNK_TYPE1 D_801D66EC;
// extern UNK_TYPE1 D_801D66F0;
// extern UNK_TYPE4 D_801D66F4;
// extern UNK_TYPE4 D_801D66F8;
// extern UNK_TYPE1 D_801D66FC;
// extern UNK_TYPE1 D_801D6700;
// extern UNK_TYPE1 D_801D6780;
// extern UNK_TYPE1 D_801D6794;
// extern UNK_TYPE1 D_801D6FB4;
// extern UNK_TYPE1 D_801D6FB8;
// extern UNK_TYPE1 D_801D6FBC;
// extern UNK_TYPE1 D_801D6FC0;
// extern UNK_TYPE1 D_801D6FC4;
// extern UNK_TYPE1 D_801D6FC8;
// extern UNK_TYPE4 D_801D6FCC;
// extern UNK_TYPE1 D_801D6FD0;
// extern UNK_TYPE1 D_801D6FD4;
// extern UNK_TYPE1 D_801D6FD8;
// extern UNK_TYPE1 D_801D6FDC;
// extern UNK_TYPE1 D_801D6FE0;
// extern UNK_TYPE1 D_801D6FE4;
// extern UNK_TYPE1 D_801D6FE8;
// extern UNK_TYPE4 D_801D6FEC;
// extern UNK_TYPE4 D_801D6FF0;
// extern UNK_TYPE2 D_801D6FF4;
// extern UNK_TYPE2 D_801D6FF8;
// extern UNK_TYPE4 D_801D6FFC;
// extern UNK_TYPE1 D_801D7000;
// extern UNK_TYPE1 D_801D7004;
// extern UNK_TYPE1 D_801D7008;
// extern UNK_TYPE1 D_801D700C;
// extern UNK_TYPE4 D_801D7010;
// extern UNK_TYPE4 D_801D7014;
// extern UNK_TYPE4 D_801D7018;
// extern UNK_TYPE4 D_801D701C;
// extern UNK_TYPE1 D_801D701E;
// extern UNK_TYPE1 D_801D701F;
// extern UNK_TYPE1 D_801D7020;
// extern UNK_TYPE1 D_801D7028;
// extern UNK_TYPE1 D_801D702C;
// extern UNK_TYPE1 D_801D7030;
// extern UNK_TYPE1 D_801D7038;
// extern UNK_TYPE1 D_801D703C;
// extern UNK_TYPE1 D_801D7040;
// extern UNK_TYPE1 D_801D7044;
// extern UNK_TYPE4 D_801D7E04;
// extern UNK_TYPE1 D_801D7EA4;
// extern UNK_TYPE1 D_801D7F44;
// extern UNK_TYPE1 D_801D84E4;
extern UNK_PTR D_801D84F0;
// extern UNK_TYPE1 D_801D84F4;
// extern UNK_TYPE1 D_801D8508;
// extern UNK_TYPE1 D_801D850C;
// extern UNK_TYPE4 D_801D8510;
// extern UNK_TYPE1 D_801D8514;
// extern UNK_TYPE1 D_801D8518;
// extern UNK_TYPE1 D_801D851C;
// extern UNK_TYPE1 D_801D8520;
// extern UNK_TYPE1 D_801D8524;
// extern UNK_TYPE1 D_801D8528;
// extern UNK_TYPE1 D_801D852C;
// extern UNK_TYPE1 D_801D8530;
// extern UNK_TYPE4 D_801D8534;
// extern UNK_TYPE1 D_801D8538;
// extern UNK_TYPE1 D_801D853C;
// extern UNK_TYPE2 D_801D853E;
// extern UNK_TYPE1 D_801D8544;
extern UNK_PTR D_801D889C;
extern UNK_PTR D_801D88A0;
extern UNK_PTR D_801D88A4;
// extern UNK_TYPE1 D_801D88A8;
// extern UNK_TYPE1 D_801D88B8;
// extern UNK_TYPE1 D_801D8A48;
// extern UNK_TYPE1 D_801D8B20;
extern UNK_PTR D_801D8B24;
// extern UNK_TYPE2 D_801D8B28;
// extern UNK_TYPE1 D_801D8B2C;
// extern UNK_TYPE1 D_801D8B30;
// extern UNK_TYPE1 D_801D8BB0;
// extern UNK_TYPE2 D_801D8BD0;
// extern UNK_TYPE4 D_801D8BD4;
// extern UNK_TYPE1 D_801D8BE0;
// extern UNK_TYPE1 D_801D8E3C;
// extern UNK_TYPE4 D_801D8E40;
// extern UNK_TYPE2 D_801D8E44;
// extern UNK_TYPE1 D_801D8E48;
// extern UNK_TYPE1 D_801D8E50;
// extern UNK_TYPE1 D_801D8F70;
// extern UNK_TYPE1 D_801D9090;
// extern UNK_TYPE1 D_801D9C10;
// extern UNK_TYPE1 D_801DA350;
// extern UNK_TYPE1 D_801DA510;
// extern UNK_TYPE1 D_801DAC50;
// extern UNK_TYPE1 D_801DADD0;
// extern UNK_TYPE1 D_801DAE10;
extern UNK_PTR D_801DB450;
// extern UNK_TYPE1 D_801DB470;
// extern UNK_TYPE1 D_801DB474;
extern UNK_PTR D_801DB478[7];
// extern UNK_TYPE1 D_801DB494;
// extern UNK_TYPE1 D_801DB49C;
// extern UNK_TYPE2 D_801DB4A0;
extern UNK_TYPE D_801DB4A4;
extern f32 D_801DB4B0;
extern s8 D_801DB4B8;
// extern UNK_TYPE1 D_801DB4C0;
// extern UNK_TYPE1 D_801DB4C4;
// extern UNK_TYPE1 D_801DB4C8;
// extern UNK_TYPE1 D_801DB4CC;
// extern UNK_TYPE1 D_801DB4D4;
// extern UNK_TYPE1 D_801DB4D8;
// extern UNK_TYPE4 D_801DB4DC;
// extern UNK_TYPE1 D_801DB4E0;
// extern UNK_TYPE1 D_801DB528;
// extern UNK_TYPE1 D_801DB570;
// extern UNK_TYPE1 D_801DB5B8;
// extern UNK_TYPE1 D_801DB600;
// extern UNK_TYPE1 D_801DB648;
// extern UNK_TYPE1 D_801DB690;
// extern UNK_TYPE1 D_801DB6D8;
// extern UNK_TYPE1 D_801DB720;
// extern UNK_TYPE1 D_801DB750;
// extern UNK_TYPE1 D_801DB798;
// extern UNK_TYPE1 D_801DB870;
// extern UNK_TYPE1 D_801DB8B8;
// extern UNK_TYPE1 D_801DB900;
extern UNK_PTR D_801DB930;
extern AudioSpec D_801DB958[21];

// rodata
extern f32 D_801DBDF0;
extern f32 D_801DBE68;
extern f32 D_801DBE6C;
extern f32 D_801DBE70;
extern f32 D_801DBE74;
extern f32 D_801DBE78;
extern f32 D_801DBE7C;
extern f32 D_801DBE80;
extern f32 D_801DBE84;
extern f32 D_801DBE88;
extern f32 D_801DBE8C;
extern f32 D_801DBE90;
extern f32 D_801DBE94;
extern f32 D_801DBE98;
extern f32 D_801DBE9C;
extern f32 D_801DBEA0;
extern f32 D_801DBF10;
extern f32 D_801DBF14;
extern f32 D_801DBF18;
extern f32 D_801DBF1C;
extern f32 D_801DBF20;
extern f32 D_801DC068;
extern f32 D_801DC06C;
extern f32 D_801DC070;
extern f32 D_801DC074;
extern f32 D_801DC080;
extern f32 D_801DC084;
extern f32 D_801DC09C;
extern f32 D_801DC0A0;
extern f32 D_801DC0B0;
extern f32 D_801DC0B4;
extern f32 D_801DC0C0;
extern f32 D_801DC0C4;
extern f32 D_801DC0C8;
extern f32 D_801DC0CC;
extern f32 D_801DC0D0;
extern f32 D_801DC0D4;
extern f32 D_801DC100;
extern f32 D_801DC104;
extern f32 D_801DC108;
extern f32 D_801DC10C;
extern f32 D_801DC110;
extern f32 D_801DC114;
extern char D_801DC120[];
extern char D_801DC134[];
extern char D_801DC148[];
extern char D_801DC15C[];
extern char D_801DC170[];
extern char D_801DC184[];
extern char D_801DC198[];
extern char D_801DC1AC[];
extern char D_801DC1C0[];
extern char D_801DC1D4[];
extern char D_801DC1E8[];
extern char D_801DC1FC[];
extern char D_801DC210[];
extern char D_801DC224[];
extern char D_801DC238[];
extern char D_801DC24C[];
extern char D_801DC260[];
extern char D_801DC274[];
extern char D_801DC288[];
extern char D_801DC29C[];
extern char D_801DC2B0[];
extern char D_801DC2C4[];
extern char D_801DC2D8[];
extern char D_801DC2EC[];
extern char D_801DC300[];
extern char D_801DC314[];
extern char D_801DC328[];
extern char D_801DC33C[];
extern char D_801DC350[];
extern char D_801DC364[];
extern char D_801DC378[];
extern char D_801DC38C[];
extern char D_801DC3A0[];
extern char D_801DC3B4[];
extern char D_801DC3C8[];
extern char D_801DC3DC[];
extern char D_801DC3F0[];
extern char D_801DC404[];
extern char D_801DC418[];
extern char D_801DC42C[];
extern char D_801DC440[];
extern char D_801DC454[];
extern char D_801DC468[];
extern char D_801DC47C[];
extern char D_801DC490[];
extern char D_801DC4A4[];
extern char D_801DC4B8[];
extern char D_801DC4CC[];
extern char D_801DC4E0[];
extern char D_801DC4F4[];
extern char D_801DC508[];
extern char D_801DC51C[];
extern char D_801DC530[];
extern char D_801DC544[];
extern char D_801DC558[];
extern char D_801DC56C[];
extern char D_801DC580[];
extern char D_801DC594[];
extern char D_801DC5A8[];
extern char D_801DC5BC[];
extern char D_801DC5D0[];
extern char D_801DC5E4[];
extern char D_801DC5F8[];
extern char D_801DC60C[];
extern char D_801DC620[];
extern char D_801DC634[];
extern char D_801DC648[];
extern char D_801DC65C[];
extern char D_801DC670[];
extern char D_801DC684[];
extern char D_801DC698[];
extern char D_801DC6AC[];
extern char D_801DC6C0[];
extern char D_801DC6D4[];
extern char D_801DC6E8[];
extern char D_801DC6FC[];
extern char D_801DC710[];
extern char D_801DC724[];
extern char D_801DC738[];
extern char D_801DC74C[];
extern char D_801DC760[];
extern char D_801DC774[];
extern char D_801DC788[];
extern char D_801DC79C[];
extern char D_801DC7B0[];
extern char D_801DC7C4[];
extern char D_801DC7D8[];
extern char D_801DC7EC[];
extern char D_801DC800[];
extern char D_801DC814[];
extern char D_801DC828[];
extern char D_801DC83C[];
extern char D_801DC850[];
extern char D_801DC864[];
extern char D_801DC878[];
extern char D_801DC88C[];
extern char D_801DC8A0[];
extern char D_801DC8B4[];
extern char D_801DC8C8[];
extern char D_801DC8DC[];
extern char D_801DC8F0[];
extern char D_801DC900[];
extern char D_801DC910[];
extern char D_801DC920[];
extern char D_801DC930[];
extern char D_801DC940[];
extern char D_801DC950[];
extern char D_801DC960[];
extern char D_801DC970[];
extern char D_801DC984[];
extern char D_801DC998[];
// extern UNK_TYPE1 D_801DC9AC;
// extern UNK_TYPE1 D_801DC9B0;
// extern UNK_TYPE1 D_801DC9B4;
extern char D_801DC9D0[];
extern char D_801DC9D8[];
extern char D_801DC9F8[];
extern char D_801DCA10[];
extern f32 D_801DCA14;
extern f32 D_801DCA18;
extern f32 D_801DCA1C;
extern f32 D_801DCA20;
extern f32 D_801DCA24;
extern f32 D_801DCA28;
extern f32 D_801DCA2C;
extern f32 D_801DCA30;
extern f32 D_801DCA34;
extern f32 D_801DCA38;
extern f32 D_801DCA3C;
extern f32 D_801DCA40;
extern f32 D_801DCA44;
extern f32 D_801DCA48;
extern f32 D_801DCA4C;
extern f32 D_801DCA50;
extern f32 D_801DCA54;
extern f32 D_801DCA6C;
extern f32 D_801DCA70;
extern f32 D_801DCA74;
extern f32 D_801DCA78;
extern f32 D_801DCA7C;
extern f32 D_801DCA80;
extern f32 D_801DCA84;
extern f32 D_801DCA88;
extern f32 D_801DCA8C;
extern f32 D_801DCA90;
extern f32 D_801DCA94;
extern f32 D_801DCA98;
extern f32 D_801DCA9C;
extern f32 D_801DCAA0;
extern f32 D_801DCAA4;
extern f32 D_801DCAA8;
extern f32 D_801DCAAC;
extern f32 D_801DCAB0;
extern f32 D_801DCAB4;
extern f32 D_801DCAB8;
extern f32 D_801DCABC;
extern f32 D_801DCAC0;
extern f32 D_801DCAC4;
extern f32 D_801DCAC8;
extern f32 D_801DCACC;
extern f32 D_801DCAD0;
extern f32 D_801DCAD4;
extern f32 D_801DCAD8;
extern f32 D_801DCADC;
extern f32 D_801DCAE0;
extern f32 D_801DCB68;
extern f32 D_801DCB6C;
extern f32 D_801DCB70;
extern f32 D_801DCB74;
extern f32 D_801DCB78;
extern f32 D_801DCB7C;
extern f32 D_801DCB80;
extern f32 D_801DCB84;
extern f32 D_801DCB88;
extern f32 D_801DCB8C;
extern f32 D_801DCB90;
extern f32 D_801DCB94;
extern f32 D_801DCB98;
extern f32 D_801DCB9C;
extern f32 D_801DCBA0;
extern f32 D_801DCBA4;
extern f32 D_801DCBA8;
extern f32 D_801DCBAC;
extern char D_801DCBB0[];
extern char D_801DCBC4[];
extern char D_801DCBE4[];
// extern UNK_TYPE1 D_801DCBFC;
extern char D_801DCC00[];
extern char D_801DCC10[];
extern char D_801DCC20[];
extern char D_801DCC64[];
extern char D_801DCC94[];
extern char D_801DCCB8[];
extern char D_801DCCC8[];
extern char D_801DCCE8[];
extern char D_801DCCF8[];
extern char D_801DCD18[];
extern f32 D_801DCD28;
extern f32 D_801DCD2C;
extern f32 D_801DCD30;
extern f32 D_801DCD34;
extern f32 D_801DCD38;
extern f32 D_801DCD3C;
extern f32 D_801DCD40;
extern f32 D_801DCD44;
extern f32 D_801DCD48;
extern f32 D_801DCD4C;
extern f32 D_801DCD50;
extern f32 D_801DCD54;
extern f32 D_801DCD58;
extern f32 D_801DCD5C;
extern f32 D_801DCD60;
extern f32 D_801DCD64;
extern f32 D_801DCD68;
extern f32 D_801DCD6C;
extern f32 D_801DCD70;
extern f32 D_801DCD74;
extern f32 D_801DCD78;
extern f32 D_801DCD7C;
extern f32 D_801DCD80;
extern f32 D_801DCD84;
extern f32 D_801DCD88;
extern f32 D_801DCD8C;
extern f32 D_801DCD90;
extern f32 D_801DCD94;
extern f32 D_801DCD98;
extern f32 D_801DCD9C;
extern f32 D_801DCDA0;
extern f32 D_801DCDA4;
extern f32 D_801DCDB0;
extern f32 D_801DCDB4;
extern f32 D_801DCDC0;
extern f32 D_801DCDC4;
extern f32 D_801DCDC8;
extern f32 D_801DCDCC;
extern f32 D_801DCDD0;
extern f32 D_801DCDD4;
extern f32 D_801DCDD8;
extern f32 D_801DCDE4;
extern f32 D_801DCDE8;
extern f32 D_801DCDEC;
extern f32 D_801DCDF0;
extern f32 D_801DCDF4;
extern f32 D_801DCDF8;
extern f32 D_801DCDFC;
extern f32 D_801DCE00;
extern f32 D_801DCE04;
extern f32 D_801DCE08;
extern f32 D_801DCE0C;
extern f32 D_801DCE10;
extern f32 D_801DCE14;
extern f32 D_801DCE18;
extern f32 D_801DCE1C;
extern f32 D_801DCE20;
extern f32 D_801DCE24;
extern f32 D_801DCE28;
extern f32 D_801DCE2C;
extern f32 D_801DCE30;
extern f32 D_801DCE34;
extern f32 D_801DCE38;
extern f32 D_801DCE3C;
extern f32 D_801DCE40;
extern f32 D_801DCE44;
extern f32 D_801DCE48;
extern f32 D_801DCE4C;
extern f32 D_801DCE50;
extern f32 D_801DCE54;
extern f32 D_801DCE58;
extern f32 D_801DCE5C;
extern f32 D_801DCE60;
extern f32 D_801DCE64;
extern f32 D_801DCE68;
extern f32 D_801DCE6C;
extern f32 D_801DCE70;
extern f32 D_801DCE74;
extern f32 D_801DCE78;
extern f32 D_801DCE7C;
extern f32 D_801DCE80;
extern f32 D_801DCE84;
extern f32 D_801DCE88;
extern f32 D_801DCE8C;
extern f32 D_801DCE90;
extern f32 D_801DCE94;
extern f32 D_801DCE98;
extern f32 D_801DCE9C;
extern f32 D_801DCEA0;
extern f32 D_801DCEA4;
extern f32 D_801DCEA8;
extern f32 D_801DCEAC;
extern f32 D_801DCEB0;
extern f32 D_801DCEB4;
extern f32 D_801DCEB8;
extern f32 D_801DCEBC;
extern f32 D_801DCEC0;
extern f32 D_801DCEC4;
extern f32 D_801DCEC8;
extern f32 D_801DCECC;
extern f32 D_801DCED0;
extern f32 D_801DCED4;
extern f32 D_801DCED8;
extern f32 D_801DCEDC;
extern f32 D_801DCEE0;
extern f32 D_801DCEE4;
extern f32 D_801DCEE8;
extern f32 D_801DCEEC;
extern f32 D_801DCEF0;
extern f32 D_801DCEF4;
extern f32 D_801DCEF8;
extern f32 D_801DCEFC;
extern f32 D_801DCF00;
extern f32 D_801DCF04;
extern f32 D_801DCF08;
extern f32 D_801DCF0C;
extern f32 D_801DCF10;
extern f32 D_801DCF14;
extern f32 D_801DCF18;
extern f32 D_801DCF1C;
extern f32 D_801DCF34;
extern f32 D_801DCF38;
extern f32 D_801DCF3C;
extern f32 D_801DCF40;
extern f32 D_801DCF44;
extern f32 D_801DCF48;
extern f32 D_801DCF4C;
extern f32 D_801DCF50;
extern f32 D_801DCF54;
extern f32 D_801DCF58;
extern f32 D_801DCF5C;
extern f32 D_801DCF60;
extern f32 D_801DCF64;
extern f32 D_801DCF68;
extern f32 D_801DCF6C;
extern f32 D_801DCF70;
extern f32 D_801DCF74;
extern f32 D_801DCF78;
extern f32 D_801DCF7C;
extern f32 D_801DCF80;
extern f32 D_801DCF84;
extern f32 D_801DCF8C;
extern f32 D_801DCF90;
extern f32 D_801DCF98;
extern f32 D_801DCF9C;
extern f32 D_801DCFA0;
extern f32 D_801DCFA4;
extern f32 D_801DCFA8;
extern f32 D_801DCFAC;
extern f32 D_801DCFB0;
extern f32 D_801DCFB8;
extern f32 D_801DCFBC;
extern f32 D_801DCFC0;
extern f32 D_801DCFC4;
extern f32 D_801DCFC8;
extern f32 D_801DCFCC;
extern f32 D_801DCFD0;
extern f32 D_801DCFD4;
extern f32 D_801DD00C;
extern f32 D_801DD010;
extern f32 D_801DD014;
extern f32 D_801DD018;
extern f32 D_801DD01C;
extern f32 D_801DD020;
extern f32 D_801DD024;
extern f32 D_801DD028;
extern f32 D_801DD02C;
extern f32 D_801DD030;
extern f32 D_801DD034;
extern f32 D_801DD038;
extern f32 D_801DD03C;
extern f32 D_801DD040;
extern f32 D_801DD044;
extern f32 D_801DD048;
extern f32 D_801DD04C;
extern f32 D_801DD050;
extern f32 D_801DD054;
extern f32 D_801DD058;
extern f32 D_801DD060;
extern f32 D_801DD064;
extern f32 D_801DD068;
extern f32 D_801DD06C;
extern f32 D_801DD070;
extern f32 D_801DD074;
extern f32 D_801DD078;
extern f32 D_801DD07C;
extern f32 D_801DD080;
extern f32 D_801DD084;
extern f32 D_801DD088;
extern f32 D_801DD08C;
extern f32 D_801DD090;
extern f32 D_801DD094;
extern f32 D_801DD098;
extern f32 D_801DD09C;
extern f32 D_801DD0A0;
extern f32 D_801DD0A4;
extern f32 D_801DD0A8;
extern f32 D_801DD0AC;
extern f32 D_801DD0B0;
extern f32 D_801DD0B4;
extern f32 D_801DD0B8;
extern f32 D_801DD0BC;
extern f32 D_801DD0C0;
extern f32 D_801DD0C4;
extern f32 D_801DD0C8;
extern f32 D_801DD0CC;
extern f32 D_801DD0D0;
extern f32 D_801DD0D4;
extern f32 D_801DD0D8;
extern f32 D_801DD0DC;
extern f32 D_801DD0E0;
extern f32 D_801DD0E4;
extern f32 D_801DD0E8;
extern f32 D_801DD0EC;
extern f32 D_801DD0F0;
extern f32 D_801DD0F4;
extern f32 D_801DD0F8;
extern f32 D_801DD0FC;
extern f32 D_801DD100;
extern f32 D_801DD104;
extern f32 D_801DD108;
extern f32 D_801DD10C;
extern f32 D_801DD110;
extern f32 D_801DD114;
extern f32 D_801DD118;
extern f32 D_801DD11C;
extern f32 D_801DD120;
extern f32 D_801DD124;
extern f32 D_801DD128;
extern f32 D_801DD12C;
extern f32 D_801DD130;
extern f32 D_801DD134;
extern f32 D_801DD138;
extern f32 D_801DD13C;
extern f32 D_801DD140;
extern f32 D_801DD144;
extern f32 D_801DD148;
extern f32 D_801DD14C;
extern f32 D_801DD150;
extern f32 D_801DD154;
extern f32 D_801DD158;
extern f32 D_801DD15C;
extern f32 D_801DD160;
extern f32 D_801DD164;
extern f32 D_801DD168;
extern f32 D_801DD16C;
extern f32 D_801DD170;
extern f32 D_801DD174;
extern f32 D_801DD178;
extern f32 D_801DD1B0;
extern f32 D_801DD1B4;
extern f32 D_801DD1B8;
extern f32 D_801DD1BC;
extern f32 D_801DD1C0;
extern f32 D_801DD1C4;
extern f32 D_801DD1C8;
extern f32 D_801DD1CC;
extern f32 D_801DD1D0;
extern f32 D_801DD1D4;
extern f32 D_801DD1D8;
extern f32 D_801DD1DC;
extern f32 D_801DD1E0;
extern f32 D_801DD1E4;
extern f32 D_801DD1E8;
extern f32 D_801DD1EC;
extern f32 D_801DD1F0;
extern f32 D_801DD1F4;
extern f32 D_801DD1F8;
extern f32 D_801DD1FC;
extern f32 D_801DD200;
extern f32 D_801DD204;
extern f32 D_801DD208;
extern f32 D_801DD20C;
extern f32 D_801DD210;
extern f32 D_801DD214;
extern f32 D_801DD218;
extern f32 D_801DD21C;
extern f32 D_801DD220;
extern f32 D_801DD224;
extern f32 D_801DD228;
extern f32 D_801DD22C;
extern f32 D_801DD230;
extern f32 D_801DD234;
extern f32 D_801DD238;
extern f32 D_801DD23C;
extern f32 D_801DD240;
extern f32 D_801DD244;
extern f32 D_801DD248;
extern f32 D_801DD24C;
extern f32 D_801DD250;
extern f32 D_801DD254;
extern f32 D_801DD258;
extern f32 D_801DD25C;
extern f32 D_801DD260;
extern f32 D_801DD264;
extern f32 D_801DD268;
extern f32 D_801DD26C;
extern f32 D_801DD270;
extern f32 D_801DD274;
extern f32 D_801DD278;
extern f32 D_801DD27C;
extern f32 D_801DD2A0;
extern f32 D_801DD2A4;
extern f32 D_801DD2A8;
extern f32 D_801DD2AC;
extern f32 D_801DD2B0;
extern f32 D_801DD2B4;
extern f32 D_801DD2B8;
extern f32 D_801DD2BC;
extern f32 D_801DD2C0;
extern f32 D_801DD2C4;
extern f32 D_801DD344;
extern f32 D_801DD348;
extern f32 D_801DD34C;
extern f32 D_801DD350;
extern f32 D_801DD354;
extern f32 D_801DD358;
extern f32 D_801DD35C;
extern f32 D_801DD360;
extern f32 D_801DD364;
extern f32 D_801DD368;
extern f32 D_801DD36C;
extern f32 D_801DD370;
extern f32 D_801DD374;
extern f32 D_801DD38C;
extern f32 D_801DD390;
extern f32 D_801DD394;
extern f32 D_801DD398;
extern f32 D_801DD39C;
extern f32 D_801DD3A0;
extern f32 D_801DD3A4;
extern f32 D_801DD3A8;
extern f32 D_801DD3AC;
extern f32 D_801DD3B0;
extern f32 D_801DD3B4;
extern f32 D_801DD3B8;
extern f32 D_801DD3BC;
extern f32 D_801DD3C0;
extern f32 D_801DD3C4;
extern f32 D_801DD3C8;
extern f32 D_801DD3CC;
extern f32 D_801DD3D0;
extern f32 D_801DD3D4;
extern f32 D_801DD3D8;
extern f32 D_801DD3DC;
extern f32 D_801DD3E0;
extern f32 D_801DD3E4;
extern f32 D_801DD3E8;
extern f32 D_801DD3EC;
extern f32 D_801DD3F0;
extern f32 D_801DD3F4;
extern f32 D_801DD3F8;
extern f32 D_801DD3FC;
extern f32 D_801DD400;
extern f32 D_801DD404;
extern f32 D_801DD408;
extern f32 D_801DD40C;
extern f32 D_801DD410;
extern f32 D_801DD414;
extern f32 D_801DD418;
extern f32 D_801DD41C;
extern f32 D_801DD420;
extern f32 D_801DD424;
extern f32 D_801DD43C;
extern f32 D_801DD440;
extern f32 D_801DD444;
extern f32 D_801DD448;
extern f32 D_801DD44C;
extern f32 D_801DD450;
extern f32 D_801DD454;
extern f32 D_801DD458;
extern f32 D_801DD45C;
extern f32 D_801DD460;
extern f32 D_801DD5AC;
extern f32 D_801DD5B0;
extern f32 D_801DD5C0;
extern f32 D_801DD5C4;
extern f32 D_801DD5C8;
extern f32 D_801DD5CC;
extern f32 D_801DD5D0;
extern f32 D_801DD5D4;
extern f32 D_801DD5D8;
extern f32 minCylinderIntersectAmount;
extern f32 D_801DD5E0;
extern f32 D_801DD5E4;
extern f32 D_801DD5E8;
extern f32 D_801DD5EC;
extern f32 D_801DD5F0;
extern f32 D_801DD5F4;
extern f32 D_801DD5F8;
extern f32 D_801DD5FC;
extern char D_801DD600[];
extern char D_801DD604[];
extern f32 D_801DD6FC;
extern f32 D_801DD770;
extern f32 D_801DD774;
extern f32 D_801DD780;
extern f32 D_801DD7B0;
extern f32 D_801DD7C0;
extern f32 D_801DD7E0;
extern f32 D_801DD7E4;
extern f32 D_801DD7E8;
extern f32 D_801DD7EC;
// extern UNK_TYPE2 D_801DD880;
// extern UNK_TYPE1 D_801DD8E0;
// extern UNK_TYPE4 D_801DD900;
extern f32 D_801DD940;
extern f32 D_801DD944;
extern f32 D_801DD948;
extern f32 D_801DD94C;
extern f32 D_801DD950;
extern f32 D_801DD954;
extern f32 D_801DD958;
extern f32 D_801DD95C;
extern f32 D_801DD960;
extern f32 D_801DD964;
extern f32 D_801DD968;
extern f32 D_801DD96C;
extern f32 D_801DD970;
extern f32 D_801DD974;
extern f32 D_801DD978;
extern f32 D_801DD97C;
extern f32 D_801DD980;
extern f32 D_801DD984;
extern f32 D_801DD988;
extern f32 D_801DD98C;
extern f32 D_801DD990;
extern f32 D_801DD9EC;
extern f32 D_801DD9F0;
extern f32 D_801DD9F4;
extern f32 D_801DD9F8;
extern f32 D_801DD9FC;
extern f32 D_801DDA7C;
extern f32 D_801DDA80;
extern f32 D_801DDA84;
extern f32 D_801DDA90;
extern f32 D_801DDA94;
extern f32 D_801DDA98;
extern f32 D_801DDA9C;
extern f32 D_801DDAA0;
extern f32 D_801DDAB0;
extern f32 D_801DDAB4;
extern const f32 D_801DDAB8;
extern f32 D_801DDAC0;
extern f32 D_801DDAC4;
extern f32 D_801DDAC8;
extern f32 D_801DDACC;
extern f32 D_801DDAD0;
extern f32 D_801DDAD4;
extern f32 D_801DDAD8;
extern f32 D_801DDADC;
extern f32 D_801DDAE0;
extern f32 D_801DDAE4;
extern f32 D_801DDAE8;
extern f32 D_801DDAEC;
extern f32 D_801DDAF0;
extern f32 D_801DDAF4;
extern f32 D_801DDAF8;
extern f32 D_801DDAFC;
extern f32 D_801DDBA8;
extern f32 D_801DDBAC;
extern f32 D_801DDBB0;
extern f32 D_801DDBB4;
extern f32 D_801DDBB8;
extern f32 D_801DDBBC;
extern f32 D_801DDBC0;
extern f32 D_801DDBC4;
extern f32 D_801DDBC8;
extern f32 D_801DDBCC;
extern f32 D_801DDCF8;
extern f32 D_801DDCFC;
extern f32 D_801DDD00;
extern f32 D_801DDD04;
extern f32 D_801DDD08;
extern f32 D_801DDD0C;
extern f32 D_801DDD10;
extern f32 D_801DDD14;
extern f32 D_801DDD20;
extern f32 D_801DDD24;
extern f32 D_801DDD28;
extern f32 D_801DDD2C;
extern f32 D_801DDD30;
extern f32 D_801DDD34;
extern f32 D_801DDD38;
extern f32 D_801DDD3C;
extern f32 D_801DDD40;
extern f32 D_801DDD44;
extern f32 D_801DDD48;
extern f32 D_801DDD4C;
extern f32 D_801DDD50;
extern f32 D_801DDD54;
extern f32 D_801DDD58;
extern f32 D_801DDD5C;
extern f32 D_801DDD60;
extern f32 D_801DDD64;
extern f32 D_801DDD68;
extern f32 D_801DDD6C;
extern f32 D_801DDD70;
extern f32 D_801DDD74;
extern f32 D_801DDD78;
extern f32 D_801DDD7C;
extern f32 D_801DDD80;
extern f32 D_801DDD84;
extern f32 D_801DDD88;
extern f32 D_801DDD8C;
extern f32 D_801DDD90;
extern f32 D_801DDD94;
extern f32 D_801DDD98;
extern f32 D_801DDD9C;
extern f32 D_801DDDA0;
extern f32 D_801DDDA4;
extern f32 D_801DDDA8;
extern f32 D_801DDDAC;
extern f32 D_801DDDB0;
extern f32 D_801DDDB4;
extern f32 D_801DDDB8;
extern f32 D_801DDDBC;
extern f32 D_801DDDC0;
extern f32 D_801DDDC4;
extern f32 D_801DDDC8;
extern f32 D_801DDDCC;
extern f32 D_801DDDD0;
extern f32 D_801DDDD4;
extern f32 D_801DDDD8;
extern f32 D_801DDDDC;
extern f32 D_801DDDE0;
extern f32 D_801DDDE4;
extern f32 D_801DDDE8;
extern f32 D_801DDDEC;
extern f32 D_801DDDF0;
extern f32 D_801DDDF4;
extern f32 D_801DDDF8;
extern f32 D_801DDDFC;
extern f32 D_801DDE00;
extern f32 D_801DDE04;
extern f32 D_801DDE90;
extern f32 D_801DDE94;
extern f32 D_801DDE98;
extern f32 D_801DDE9C;
extern f32 D_801DDEA0;
extern f32 D_801DDEA4;
extern f32 D_801DDEA8;
extern f32 D_801DDEAC;
extern f32 D_801DDEB0;
extern f32 D_801DDEB4;
extern f32 D_801DDEB8;
extern f32 D_801DDEBC;
extern f32 D_801DDEC0;
extern f32 D_801DDEC4;
extern f32 D_801DDEC8;
extern f32 D_801DDECC;
extern f32 D_801DDED0;
extern f32 D_801DDED4;
extern f32 D_801DDED8;
extern f32 D_801DDEDC;
extern f32 D_801DDEE0;
extern f32 D_801DDEE4;
extern f32 D_801DDEE8;
extern f32 D_801DDEEC;
extern f32 D_801DDEF0;
extern f32 D_801DDEF4;
extern f32 D_801DDEF8;
extern f32 D_801DDEFC;
extern f32 D_801DDF00;
extern f32 D_801DDF04;
extern f32 D_801DDF08;
extern f32 D_801DDF0C;
extern f32 D_801DDF10;
extern f32 D_801DDF14;
extern f32 D_801DDF18;
extern f32 D_801DDF1C;
extern f32 D_801DDF20;
extern f32 D_801DDF24;
extern f32 D_801DDF28;
extern f32 D_801DDF2C;
extern f32 D_801DDF30;
extern f32 D_801DDF34;
extern f32 D_801DDF38;
extern f32 D_801DDF3C;
extern f32 D_801DDF40;
extern f32 D_801DDF44;
extern f32 D_801DDF48;
extern f32 D_801DDF4C;
extern f32 D_801DDF50;
extern f32 D_801DDF54;
extern f32 D_801DDF58;
extern f32 D_801DDF5C;
extern f32 D_801DDF60;
extern f32 D_801DDF64;
extern f32 D_801DDF68;
extern f32 D_801DDF6C;
extern f32 D_801DDF70;
extern f32 D_801DDF74;
extern f32 D_801DDF78;
extern f32 D_801DDF7C;
extern f32 D_801DDF80;
extern f32 D_801DDF84;
extern f32 D_801DDF88;
extern f32 D_801DDF8C;
extern f32 D_801DDF90;
extern f32 D_801DDF94;
extern char D_801DDFA0[];
extern char D_801DDFAC[];
extern char D_801DDFB8[];
extern f32 D_801DDFC4;
extern f32 D_801DDFC8;
extern f32 D_801DDFCC;
extern f32 D_801DDFD0;
extern f32 D_801DDFD4;
extern f32 D_801DDFD8;
extern f32 D_801DDFDC;
extern f32 D_801DDFE0;
extern f32 D_801DDFE4;
extern char D_801DE020[];
extern char D_801DE030[];
extern char D_801DE03C[];
extern char D_801DE04C[];
extern char D_801DE058[];
extern char D_801DE064[];
extern char D_801DE074[];
extern char D_801DE084[];
extern char D_801DE094[];
extern char D_801DE0A0[];
extern char D_801DE0A8[];
extern char D_801DE0B4[];
extern char D_801DE0C0[];
extern char D_801DE0CC[];
extern char D_801DE0D8[];
extern char D_801DE0E4[];
extern char D_801DE0F0[];
extern char D_801DE0FC[];
extern char D_801DE10C[];
extern char D_801DE118[];
extern char D_801DE12C[];
extern char D_801DE138[];
extern char D_801DE144[];
extern char D_801DE154[];
extern char D_801DE164[];
extern char D_801DE170[];
extern char D_801DE180[];
extern char D_801DE18C[];
extern char D_801DE19C[];
extern char D_801DE1A8[];
extern char D_801DE1B8[];
extern char D_801DE1C4[];
extern char D_801DE1D0[];
extern char D_801DE1E0[];
extern char D_801DE1F0[];
extern char D_801DE200[];
extern char D_801DE20C[];
extern char D_801DE21C[];
extern char D_801DE22C[];
extern char D_801DE234[];
extern char D_801DE244[];
extern char D_801DE258[];
extern char D_801DE268[];
extern char D_801DE278[];
extern char D_801DE280[];
extern char D_801DE290[];
extern char D_801DE29C[];
extern char D_801DE2A8[];
extern char D_801DE2B8[];
extern char D_801DE2C4[];
extern char D_801DE2D4[];
extern char D_801DE2E4[];
extern char D_801DE2F4[];
extern char D_801DE304[];
extern char D_801DE314[];
extern char D_801DE320[];
extern char D_801DE328[];
extern char D_801DE330[];
extern char D_801DE340[];
extern char D_801DE350[];
extern char D_801DE360[];
extern char D_801DE370[];
extern char D_801DE384[];
extern char D_801DE38C[];
extern char D_801DE398[];
extern char D_801DE3A4[];
extern char D_801DE3B0[];
extern char D_801DE3C4[];
extern char D_801DE3D4[];
extern char D_801DE3E0[];
extern char D_801DE3F4[];
extern char D_801DE400[];
extern char D_801DE40C[];
extern char D_801DE418[];
extern char D_801DE424[];
extern char D_801DE434[];
extern char D_801DE444[];
extern char D_801DE450[];
extern char D_801DE458[];
extern char D_801DE460[];
extern char D_801DE478[];
extern char D_801DE48C[];
extern char D_801DE49C[];
extern char D_801DE4AC[];
extern char D_801DE4BC[];
extern char D_801DE4C8[];
extern char D_801DE4D4[];
extern char D_801DE4E0[];
extern char D_801DE4F0[];
extern char D_801DE500[];
extern char D_801DE510[];
extern char D_801DE520[];
extern char D_801DE530[];
extern char D_801DE53C[];
extern char D_801DE548[];
extern char D_801DE558[];
extern char D_801DE568[];
extern char D_801DE578[];
extern char D_801DE580[];
extern char D_801DE58C[];
extern char D_801DE598[];
extern char D_801DE5A8[];
extern f32 D_801DE5C0;
extern f32 D_801DE5D0;
// extern UNK_TYPE1 D_801DE5E0;
extern f32 D_801DE820;
extern f32 D_801DE824;
extern f32 D_801DE828;
extern f32 D_801DE82C;
extern f32 D_801DE830;
extern f32 D_801DE834;
extern f32 D_801DE838;
extern f32 D_801DE83C;
extern f32 D_801DE840;
extern f32 D_801DE844;
extern f32 D_801DE848;
extern f32 D_801DE84C;
extern f32 D_801DE850;
extern f32 D_801DE854;
extern f32 D_801DE858;
extern f32 D_801DE85C;
extern f32 D_801DE860;
extern f32 D_801DE864;
extern f32 D_801DE868;
extern f32 D_801DE884;
// extern UNK_TYPE1 D_801DE890;
extern f32 D_801DF090;
extern f32 D_801DF094;
extern f32 D_801DF0A0;
extern char D_801DF0B0[];
// extern UNK_TYPE1 D_801DF0C0;
extern f32 D_801DF120;
extern f32 D_801DF124;
extern f32 D_801DF148;
extern f32 D_801DF3AC;
extern f32 D_801DF3B0;
extern f32 D_801DF3B4;
extern f32 D_801DF3B8;
extern f32 D_801DF3BC;
extern f32 D_801DF3C0;
extern f32 D_801DF3C4;
extern f32 D_801DF3C8;
extern UNK_PTR D_801DF83C;
extern f32 D_801DF8E0;
extern f32 D_801DF970;
extern f32 D_801DF974;
extern f32 D_801DF978;
extern f32 D_801DF97C;
extern f32 D_801DF980;
extern f32 D_801DF984;
extern f32 D_801DF988;
extern f32 D_801DF98C;
extern f32 D_801DF990;
extern f32 D_801DF994;
extern f32 D_801DF998;
extern f32 D_801DF99C;
extern f32 D_801DF9A0;
extern f32 D_801DF9A4;
extern f32 D_801DF9A8;
extern f32 D_801DF9AC;
extern f32 D_801DF9B0;
extern f32 D_801DF9B4;
extern char D_801DF9C0[];
extern char D_801DF9D0[];
extern f32 D_801DF9E0;
extern f32 D_801DF9E4;
extern f32 D_801DF9E8;
extern f32 D_801DF9EC;
extern f32 D_801DF9F0;
extern f32 D_801DF9F4;
extern f32 D_801DF9F8;
extern char D_801DFA00[];
extern char D_801DFA0C[];
extern f32 D_801DFC3C;
extern f32 D_801DFC40;
extern f32 D_801DFC44;
extern f32 D_801DFC50;
extern f32 D_801DFC54;
extern f32 D_801DFC58;
extern f32 D_801DFC5C;
extern char D_801DFC60[];
extern u8 D_801DFC70[7];
// extern UNK_TYPE1 D_801DFC77;
extern char D_801DFC80[];
extern char D_801DFC9C[];
extern char D_801DFCC0[];
extern char D_801DFCCC[];
extern char D_801DFCE0[];
extern char D_801DFCFC[];
extern char D_801DFD10[];
extern char D_801DFD2C[];
extern char D_801DFD40[];
extern char D_801DFD50[];
extern char D_801DFD5C[];
extern char schedThreadName[];
extern char audioThreadName[];
extern char padmgrThreadName[];
extern char graphThreadName[];
extern char D_801DFD90[];
extern char D_801DFD9C[];
extern char D_801DFDA8[];
extern char D_801DFDE0[];
extern char D_801DFDFC[];
extern char D_801DFE18[];
extern char D_801DFE48[];
extern char D_801DFE6C[];
extern char D_801DFE8C[];
// extern UNK_TYPE1 D_801DFEC0;
extern char D_801DFEF0[];
extern char D_801DFF0C[];
extern char D_801DFF28[];
extern char D_801DFF58[];
extern char D_801DFF7C[];
// extern UNK_TYPE1 D_801DFF9C;
// extern UNK_TYPE1 D_801DFFCC;
// extern UNK_TYPE1 D_801DFFE0;
// extern UNK_TYPE1 D_801E0000;
extern char D_801E0038[];
extern char D_801E0060[];
extern char D_801E0088[];
extern char D_801E0094[];
extern char D_801E00A8[];
extern char D_801E00BC[];
extern char D_801E00E8[];
extern f32 D_801E0120;
extern f32 D_801E0124;
extern f32 D_801E0128;
extern f32 D_801E012C;
extern f32 Math3D_Normalize_min_length;
extern f32 D_801E0134;
extern f32 D_801E0138;
extern f32 D_801E013C;
extern f32 D_801E0140;
extern f32 Math3D_AngleBetweenVectors_min_length;
extern f32 D_801E0148;
extern f32 D_801E014C;
extern f32 Math3D_UnitNormalVector_min_length;
extern f32 Math3D_NormalizedDistanceFromPlane_min_length;
extern f32 D_801E0158;
extern f32 D_801E015C;
extern f32 D_801E0160;
extern f32 D_801E0164;
extern f32 D_801E0168;
extern f32 D_801E016C;
extern f32 D_801E0170;
extern f32 D_801E0174;
extern f32 D_801E0178;
extern f32 D_801E017C;
extern f32 D_801E0180;
extern f32 D_801E0184;
extern f32 D_801E0188;
extern f32 D_801E018C;
extern f32 D_801E0190;
extern f32 D_801E0194;
extern f32 D_801E0198;
extern f32 D_801E019C;
extern f32 D_801E01A0;
extern f32 D_801E01A4;
extern f32 D_801E01A8;
extern f32 D_801E01AC;
extern f32 D_801E01B0;
extern f32 D_801E01B4;
extern f32 D_801E01B8;
extern f32 D_801E01BC;
extern f32 D_801E01C0;
extern f32 D_801E01C4;
extern f32 Math3D_ColSphereSphereIntersectAndDistance_min_intersect;
extern f32 D_801E01CC;
extern f32 D_801E01D0;
extern f32 D_801E01D4;
extern f32 D_801E01F0;
extern f32 D_801E01F4;
extern f32 D_801E01F8;
extern f32 D_801E0200;
extern f32 D_801E0204;
extern f32 D_801E0208;
extern f32 D_801E020C;
extern f32 D_801E0210;
extern f32 D_801E0214;
extern f32 D_801E0218;
extern f32 D_801E021C;
extern f32 D_801E0220;
extern f32 D_801E0224;
extern f32 D_801E0228;
extern char D_801E0230[];
extern char D_801E0238[];
extern char D_801E023C[];
extern char D_801E0240[];
extern char D_801E0248[];
extern char D_801E0250[];
extern char D_801E0258[];
extern char D_801E026C[];
extern f32 D_801E02A0;
extern f32 D_801E02B0;
extern f32 D_801E02B4;
extern f32 D_801E02B8;
extern f32 D_801E02D0;
extern char D_801E0300[];
extern char D_801E0330[];
extern char D_801E033C[];
extern char D_801E0348[];
extern char D_801E0354[];
extern f32 D_801E0384;
extern f32 D_801E0388;
extern f32 D_801E038C;
extern f32 D_801E04E0;
extern f32 D_801E04E4;
extern f32 D_801E04E8;
extern f32 D_801E04EC;
extern f32 D_801E04F0;
extern f32 D_801E04F4;
extern f32 D_801E04F8;
extern f32 D_801E04FC;
extern f32 D_801E0500;
extern f32 D_801E0504;
extern f32 D_801E0508;
extern f32 D_801E050C;
extern f32 D_801E0534;
extern f32 D_801E0538;
extern f32 D_801E05B4;
extern f32 D_801E05B8;
extern f32 D_801E05D0;
extern f32 D_801E05D4;
// extern UNK_TYPE1 D_801E0BD0;
// extern UNK_TYPE1 D_801E0BFC;
extern f32 D_801E0CEC;
extern f32 D_801E0CF0;
extern f32 D_801E0CF4;
extern f32 D_801E0CF8;
extern f32 D_801E0CFC;
extern f32 D_801E0D20;
extern f32 D_801E0D24;
extern f32 D_801E0D28;
extern f32 D_801E0D2C;
extern f32 D_801E0D30;
extern f32 D_801E0D34;
extern f64 D_801E0D58;
extern f32 D_801E0D60;
extern f32 D_801E0D64;
extern f32 D_801E0D68;
extern f32 D_801E0D8C;
extern f32 D_801E0D90;
extern f32 D_801E0D94;
extern f32 D_801E0D98;
extern f32 D_801E0D9C;
extern f32 D_801E0DBC;
extern f32 D_801E0DC0;
extern f32 D_801E0DC4;
extern f32 D_801E0DC8;
extern f32 D_801E0DCC;
extern f32 D_801E0DD0;
extern f32 D_801E0DD4;
extern f64 D_801E0DD8;
extern f64 D_801E0DE0;
extern f32 D_801E0DE8;
extern f32 D_801E0DEC;
extern f32 D_801E0DF0;
extern f32 D_801E0DF4;
extern f32 D_801E0DF8;
extern f32 D_801E0DFC;
extern f32 D_801E0E00;
extern f32 D_801E0E04;
extern f32 D_801E0E08;
extern f32 D_801E0E0C;
extern f32 D_801E0E10;
extern f32 D_801E0E14;
extern f32 D_801E0E18;
extern f32 D_801E0E1C;
extern f32 D_801E0E20;
extern f32 D_801E0E24;
extern f64 D_801E0EB0;
// extern UNK_TYPE4 D_801E1068;
extern UNK_PTR D_801E10B0;
// extern UNK_TYPE2 D_801E1102;
// extern UNK_TYPE4 D_801E1104;
// extern UNK_TYPE4 D_801E1108;
// extern UNK_TYPE4 D_801E110C;
// extern UNK_TYPE2 D_801E1180;
// extern UNK_TYPE1 D_801E1420;
// extern UNK_TYPE2 D_801E1630;
// extern UNK_TYPE1 D_801E1E40;
// extern UNK_TYPE1 D_801E1E80;
// extern UNK_TYPE1 D_801E2160;
// extern UNK_TYPE1 D_801E3790;
extern u64 gJpegUCodeData[];
// extern UNK_TYPE1 D_801E3FA0;

// bss
extern EffTables sEffTable;
// extern UNK_TYPE1 D_801E4514;
// extern UNK_TYPE1 D_801E4E08;
// extern UNK_TYPE1 D_801E531C;
// extern UNK_TYPE1 D_801E69E0;
// extern UNK_TYPE1 D_801E9AA0;
// extern UNK_TYPE1 D_801ED4C0;
// extern UNK_TYPE1 D_801ED890;
// extern UNK_TYPE1 D_801ED894;
// extern UNK_TYPE1 D_801ED8A0;
// extern UNK_TYPE1 D_801ED8B0;
// extern UNK_TYPE1 D_801ED8B4;
// extern UNK_TYPE1 D_801ED8B8;
// extern UNK_TYPE1 D_801ED8BC;
// extern UNK_TYPE1 D_801ED8C0;
// extern UNK_TYPE1 D_801ED8C4;
extern f32 D_801ED8C8;
extern f32 D_801ED8CC;
extern f32 D_801ED8D0;
// extern UNK_TYPE1 D_801ED8D4;
// extern UNK_TYPE1 D_801ED8D8;
// extern UNK_TYPE1 D_801ED8DC;
extern Mtx D_801ED8E0;
// extern UNK_TYPE1 D_801ED920;
extern FaultClient D_801ED930;
extern FaultAddrConvClient D_801ED940;
extern char D_801ED950[80];
extern char D_801ED9A0[80];
extern Vec3f D_801ED9F0;
extern Vec3f D_801ED9FC;
extern Vec3f D_801EDA08;
extern Vec3f D_801EDA18;
extern Vec3f D_801EDA24;
extern Vec3f D_801EDA30;
extern MtxF D_801EDA40;
extern Vec3f D_801EDA80;
extern Vec3f D_801EDA8C;
extern Vec3f D_801EDA98;
extern char D_801EDAA8[80];
extern char D_801EDAF8[80];
extern Vec3f D_801EDB48;
extern Vec3f D_01EDB54;
extern Vec3f D_01EDB60;
extern Vec3f D_01EDB70;
extern Vec3f D_801EDB7C;
extern Vec3f D_801EDB88;
extern f32 D_801EDB98;
extern f32 D_801EDB9C;
extern f32 D_801EDBA0;
// extern UNK_TYPE1 D_801EDBA4;
extern Sphere16 D_801EDBA8;
extern TriNorm D_801EDBB0;
// extern UNK_TYPE1 D_801EDBD4;
// extern UNK_TYPE1 D_801EDBD8;
// extern UNK_TYPE1 D_801EDBDC;
// extern UNK_TYPE1 D_801EDBE0;
extern s16 D_801EDBF0;
// extern UNK_TYPE1 D_801EDBF4;
// extern UNK_TYPE1 D_801EDBF8;
// extern UNK_TYPE1 D_801EDC00;
// extern UNK_TYPE1 D_801EDC04;
// extern UNK_TYPE1 D_801EDC08;
// extern UNK_TYPE1 D_801EDC0C;
// extern UNK_TYPE1 D_801EDC10;
// extern UNK_TYPE1 D_801EDC14;
// extern UNK_TYPE1 D_801EDC28;
// extern UNK_TYPE1 D_801EDC30;
// extern UNK_TYPE1 D_801EDC8C;
// extern UNK_TYPE1 D_801EDC90;
// extern UNK_TYPE1 D_801EDC92;
// extern UNK_TYPE1 D_801EDC94;
// extern UNK_TYPE1 D_801EDC96;
// extern UNK_TYPE1 D_801EDDD0;
// extern UNK_TYPE1 D_801EDDD4;
// extern UNK_TYPE1 D_801EDDD8;
// extern UNK_TYPE1 D_801EDDE0;
// extern UNK_TYPE1 D_801EDDF0;
extern Vec3f D_801EDE00;
extern Vec3f D_801EDE10;
extern Vec3f D_801EDE20;
extern Vec3f D_801EDE30;
extern TriNorm D_801EDE40;
extern TriNorm D_801EDE78;
extern LineSegment D_801EDEB0;
extern TriNorm D_801EDEC8;
extern TriNorm D_801EDF00;
extern Vec3f D_801EDF38;
extern Vec3f D_801EDF48;
extern TriNorm D_801EDF58;
extern TriNorm D_801EDF90;
extern LineSegment D_801EDFC8;
extern Vec3f D_801EDFE0;
extern Vec3f D_801EDFF0;
extern TriNorm D_801EE000;
extern TriNorm D_801EE038;
extern TriNorm D_801EE070[2];
extern Vec3f D_801EE0D8;
extern TriNorm D_801EE0E8[2];
extern TriNorm D_801EE150;
extern TriNorm D_801EE188;
extern Vec3f D_801EE1C0;
extern Vec3f D_801EE1D0;
extern Vec3f D_801EE1E0;
extern Vec3f D_801EE1F0;
// extern UNK_TYPE1 D_801EE1F4;
// extern UNK_TYPE1 D_801EE1F8;
extern EffSparkParams D_801EE200;
extern TriNorm D_801EE6C8;
extern TriNorm D_801EE700;
extern EffSparkParams D_801EE738;
extern EffSparkParams D_801EEC00;
extern EffSparkParams D_801EF0C8;
extern TriNorm D_801EF590;
extern TriNorm D_801EF5C8;
extern TriNorm D_801EF600;
extern TriNorm D_801EF638;
extern SaveContext gSaveContext;
// extern UNK_TYPE2 D_801F3F38;
// extern UNK_TYPE1 D_801F3F3A;
// extern UNK_TYPE1 D_801F3F3B;
// extern UNK_TYPE1 D_801F3F3C;
// extern UNK_TYPE1 D_801F3F42;
// extern UNK_TYPE1 D_801F3F4A;
// extern UNK_TYPE1 D_801F3F5A;
extern GameInfo* gGameInfo;
// extern UNK_TYPE1 D_801F3F80;
// extern UNK_TYPE1 D_801F3F83;
// extern UNK_TYPE1 D_801F48C8;
// extern UNK_TYPE1 D_801F4D40;
// extern UNK_TYPE2 D_801F4D42;
// extern UNK_TYPE1 D_801F4D48;
// extern UNK_TYPE1 D_801F4DC8;
// extern UNK_TYPE1 D_801F4DCA;
// extern UNK_TYPE2 D_801F4DCC[8];
// extern UNK_TYPE1 D_801F4DDC;
// extern UNK_TYPE1 D_801F4DE0;
// extern UNK_TYPE2 D_801F4DE2;
extern ActorCutscene* actorCutscenes;
extern s16 actorCutsceneCount;
extern u8 actorCutsceneWaiting[16];
// extern UNK_TYPE1 D_801F4E08;
extern u8 actorCutsceneNextCutscenes[16];
// extern UNK_TYPE1 D_801F4E20;
extern u8 D_801F4E30;
// extern UNK_TYPE1 D_801F4E31;
// extern UNK_TYPE1 D_801F4E32;
// extern UNK_TYPE1 D_801F4E38;
// extern UNK_TYPE1 D_801F4E3C;
// extern UNK_TYPE1 D_801F4E40;
// extern UNK_TYPE1 D_801F4E44;
// extern UNK_TYPE1 D_801F4E48;
// extern UNK_TYPE1 D_801F4E4C;
// extern UNK_TYPE1 D_801F4E4E;
// extern UNK_TYPE1 D_801F4E50;
// extern UNK_TYPE1 D_801F4E54;
// extern UNK_TYPE1 D_801F4E58;
// extern UNK_TYPE1 D_801F4E5C;
// extern UNK_TYPE1 D_801F4E60;
// extern UNK_TYPE1 D_801F4E64;
// extern UNK_TYPE1 D_801F4E68;
extern f32 D_801F4E70;
// extern UNK_TYPE1 D_801F4E74;
extern u16 D_801F4E78;
extern s16 D_801F4E7A;
// extern UNK_TYPE1 D_801F4E80;
// extern UNK_TYPE1 D_801F4EE0;
// extern UNK_TYPE1 D_801F4EE8;
// extern UNK_TYPE1 D_801F4EF8;
// extern UNK_TYPE1 D_801F4F00;
// extern UNK_TYPE1 D_801F4F10;
// extern UNK_TYPE1 D_801F4F14;
// extern UNK_TYPE1 D_801F4F18;
// extern UNK_TYPE1 D_801F4F1C;
// extern UNK_TYPE1 D_801F4F20;
// extern UNK_TYPE1 D_801F4F24;
// extern UNK_TYPE1 D_801F4F28;
// extern UNK_TYPE1 D_801F4F2C;
// extern UNK_TYPE1 D_801F4F2E;
// extern UNK_TYPE1 D_801F4F30;
// extern UNK_TYPE1 D_801F4F31;
// extern UNK_TYPE1 D_801F4F32;
// extern UNK_TYPE1 D_801F4F33;
// extern UNK_TYPE1 D_801F4F34;
// extern UNK_TYPE1 D_801F4F38;
// extern UNK_TYPE1 sBeatingHeartsDDPrim;
// extern UNK_TYPE1 sBeatingHeartsDDEnv;
// extern UNK_TYPE1 sHeartsDDPrim;
// extern UNK_TYPE1 D_801F4F56;
// extern UNK_TYPE1 D_801F4F58;
// extern UNK_TYPE1 D_801F4F5A;
// extern UNK_TYPE1 D_801F4F60;
// extern UNK_TYPE1 D_801F4F66;
// extern UNK_TYPE1 D_801F4F68;
// extern UNK_TYPE1 D_801F4F6A;
extern LightsBuffer sLightsBuffer;
extern Arena sZeldaArena;
// extern UNK_TYPE1 D_801F5130;
// extern UNK_TYPE1 D_801F5270;
// extern UNK_TYPE1 D_801F528E;
// extern UNK_TYPE1 D_801F53B0;
// extern UNK_TYPE1 D_801F56B0;
// extern UNK_TYPE1 D_801F5730;
// extern UNK_TYPE1 D_801F57B4;
// extern UNK_TYPE1 D_801F5834;
// extern NmiBuff* gNMIBuffer;
// extern UNK_TYPE1 D_801F5850;
// extern UNK_TYPE1 D_801F58B0;
// extern UNK_TYPE1 D_801F59AC;
// extern UNK_TYPE1 D_801F59B0;
// extern UNK_TYPE1 D_801F59C8;
// extern UNK_TYPE1 D_801F59D0;
// extern UNK_TYPE1 D_801F59DC;
// extern UNK_TYPE1 D_801F59E0;
// extern UNK_TYPE1 D_801F59E4;
// extern UNK_TYPE1 D_801F59E8;
// extern UNK_TYPE1 D_801F59EC;
// extern UNK_TYPE1 D_801F59F0;
// extern UNK_TYPE1 D_801F59F4;
// extern UNK_TYPE1 D_801F59F8;
// extern UNK_TYPE1 D_801F5AC0;
// extern UNK_TYPE1 D_801F69D0;
// extern UNK_TYPE1 D_801F6A10;
// extern UNK_TYPE1 D_801F6AD4;
// extern UNK_TYPE1 D_801F6AD5;
// extern UNK_TYPE1 D_801F6ADA;
// extern UNK_TYPE1 D_801F6AE0;
// extern UNK_TYPE1 D_801F6AF0;
// extern UNK_TYPE1 D_801F6AF2;
// extern UNK_TYPE4 D_801F6B00;
// extern UNK_TYPE4 D_801F6B04;
// extern UNK_TYPE4 D_801F6B08;
// extern UNK_TYPE1 D_801F6B0C;
// extern UNK_TYPE1 D_801F6B0E;
// extern UNK_TYPE1 D_801F6B10;
// extern UNK_TYPE1 D_801F6B12;
// extern UNK_TYPE1 D_801F6B14;
// extern UNK_TYPE1 D_801F6B16;
// extern UNK_TYPE1 D_801F6B18;
// extern UNK_TYPE1 D_801F6B1A;
// extern UNK_TYPE1 D_801F6B1C;
// extern UNK_TYPE1 D_801F6B1E;
// extern UNK_TYPE1 D_801F6B20;
// extern UNK_TYPE1 D_801F6B22;
// extern UNK_TYPE1 D_801F6B30;
// extern UNK_TYPE1 D_801F6B34;
// extern UNK_TYPE1 D_801F6B38;
// extern UNK_TYPE1 D_801F6B3C;
extern ShrinkWindowContext gShrinkWindowContext;
extern ShrinkWindowContext* gShrinkWindowContextPtr;
// extern UNK_TYPE4 D_801F6B50;
// extern UNK_TYPE1 D_801F6B58;
// extern UNK_TYPE1 D_801F6BF0;
// extern UNK_TYPE1 D_801F6C00;
// extern UNK_TYPE1 D_801F6C04;
// extern UNK_TYPE1 D_801F6C10;
extern Input D_801F6C18;
// extern UNK_TYPE1 D_801F6C30;
// extern UNK_TYPE1 D_801F6D0C;
extern UNK_TYPE4 D_801F6D10;
// extern UNK_TYPE1 D_801F6D18;
extern Color_RGBA8 D_801F6D30;
// extern UNK_TYPE1 D_801F6D38;
// extern UNK_TYPE4 D_801F6D4C;
// extern UNK_TYPE1 D_801F6D50;
extern u8 D_801F6DFC;
// extern UNK_TYPE1 D_801F6DFD;
extern SlowlyTask D_801F6E00;
extern s32 D_801F6FC0;
extern StackEntry slowlyStackEntry;
extern u8 slowlyStack[0x1000];
extern UNK_TYPE1 D_801F7FE8;
extern UNK_TYPE1 D_801F7FF0;
extern struct_801F8010 D_801F8010;
extern struct_801F8020 D_801F8020;
extern VisMono sMonoColors;
extern UNK_TYPE1 D_801F8048;
extern FaultAddrConvClient sGraphFaultAddrConvClient;
extern FaultClient sGraphFaultClient;
extern GfxMasterList* gGfxMasterDL;
extern CfbInfo sGraphCfbInfos[3];
extern OSMesgQueue sSiIntMsgQ;
extern OSMesg sSiIntMsgBuf[1];
extern u32 gSegments[NUM_SEGMENTS];
extern SchedContext gSchedContext;
extern IrqMgrClient irqClient;
extern OSMesgQueue irqMgrMsgQ;
extern OSMesg irqMgrMsgBuf[60];
extern OSThread sGraphThread;
extern u8 sGraphStack[6144];
extern u8 schedStack[1536];
extern u8 audioStack[2048];
extern u8 padmgrStack[1280];
extern StackEntry sGraphStackInfo;
extern StackEntry schedStackEntry;
extern StackEntry audioStackEntry;
extern StackEntry padmgrStackEntry;
extern AudioMgr audioContext;
extern PadMgr D_801FB620;
extern FaultClient sSchedFaultClient;
extern OSTime sRSPGFXStartTime;
extern OSTime sRSPAudioStartTime;
extern OSTime sRSPOtherStartTime;
extern OSTime sRDPStartTime;
extern u64* gAudioSPDataPtr;
extern u32 gAudioSPDataSize;
extern volatile OSTime D_801FBAE0;
extern volatile OSTime D_801FBAE8;
extern volatile OSTime D_801FBAF0;
extern volatile OSTime lastRenderFrameDuration;
extern volatile OSTime gRSPAudioTotalTime;
extern volatile OSTime sRSPGFXTotalTime;
extern volatile OSTime sRSPOtherTotalTime;
// extern UNK_TYPE1 D_801FBB18;
extern volatile OSTime gRDPTotalTime;
// extern UNK_TYPE1 D_801FBB28;
extern OSViMode D_801FBB30;
extern u32* gFramebuffers[2];
extern OSViMode* D_801FBB88;
extern u16* gZBufferPtr;
extern void* D_801FBB90;
extern u64* gGfxSPTaskOutputBufferPtr;
extern u32 gGfxSPTaskOutputBufferSize;
// extern UNK_TYPE1 D_801FBB9C;
// extern UNK_TYPE1 D_801FBBA0;
extern u16 (*gZBuffer)[SCREEN_WIDTH * SCREEN_HEIGHT];
extern u16 (*gWorkBuffer)[SCREEN_WIDTH * SCREEN_HEIGHT];
extern u64 (*gGfxSPTaskOutputBuffer)[0x3000];
extern void* gGfxSPTaskOutputBufferEnd;
// extern UNK_TYPE1 D_801FBBB4;
// extern UNK_TYPE1 D_801FBBB8;
// extern UNK_TYPE1 D_801FBBBC;
// extern UNK_TYPE1 D_801FBBC0;
extern u64 (*gGfxSPTaskOutputBuffer2)[0x3000];
extern void* gGfxSPTaskOutputBufferEnd2;
extern UNK_TYPE2 D_801FBBCC;
extern UNK_TYPE2 D_801FBBCE;
// extern UNK_TYPE1 D_801FBBD0;
// extern UNK_TYPE1 D_801FBBD2;
// extern UNK_TYPE1 D_801FBBD4;
// extern UNK_TYPE1 D_801FBBE0;
extern Vec3f D_801FBBF0;
extern LineSegment Math3D_ColSphereTri_line;
extern Vec3f Math3D_ColSphereTri_point;
// extern UNK_TYPE1 D_801FBC28;
// extern UNK_TYPE1 D_801FBC2C;
// extern UNK_TYPE1 D_801FBC30;
// extern UNK_TYPE1 D_801FBC38;
// extern UNK_TYPE1 D_801FBC3A;
// extern UNK_TYPE1 D_801FBC3C;
// extern UNK_TYPE1 D_801FBC3E;
// extern UNK_TYPE1 D_801FBC40;
// extern UNK_TYPE1 D_801FBC42;
// extern UNK_TYPE1 D_801FBC44;
// extern UNK_TYPE1 D_801FBC46;
// extern UNK_TYPE1 D_801FBC48;
// extern UNK_TYPE1 D_801FBC58;
extern Vec3f Math3D_NormalVector_temp1;
extern Vec3f Math3D_NormalVector_temp2;
extern f32 D_801FBC8C;
extern f32 D_801FBC90;
extern f32 D_801FBC98;
extern f32 D_801FBCA4;
extern f32 D_801FBCAC;
extern f32 D_801FBCB0;
extern f32 D_801FBCB4;
extern f32 D_801FBCB8;
extern f32 D_801FBCBC;
extern f32 D_801FBCC0;
extern f32 D_801FBCC4;
extern f32 D_801FBCC8;
extern f32 D_801FBCCC;
extern f32 D_801FBCD0;
extern f32 D_801FBCD4;
extern f32 D_801FBCD8;
extern f32 D_801FBCDC;
// extern UNK_TYPE1 D_801FBCE0;
// extern UNK_TYPE1 D_801FBCE4;
// extern UNK_TYPE1 D_801FBCE8;
// extern UNK_TYPE1 D_801FBCF0;
// extern UNK_TYPE1 D_801FBCF4;
// extern UNK_TYPE1 D_801FBCF8;
// extern UNK_TYPE1 D_801FBD00;
// extern UNK_TYPE1 D_801FBD04;
// extern UNK_TYPE1 D_801FBD08;
// extern UNK_TYPE1 D_801FBD10;
// extern UNK_TYPE1 D_801FBD20;
// extern UNK_TYPE1 D_801FBD24;
// extern UNK_TYPE1 D_801FBD28;
// extern UNK_TYPE1 D_801FBD30;
// extern UNK_TYPE1 D_801FBD34;
// extern UNK_TYPE1 D_801FBD38;
// extern UNK_TYPE1 D_801FBD40;
// extern UNK_TYPE1 D_801FBD44;
// extern UNK_TYPE1 D_801FBD48;
// extern UNK_TYPE1 D_801FBD50;
// extern UNK_TYPE1 D_801FBD54;
// extern UNK_TYPE1 D_801FBD58;
extern Vec3f Math3D_UnitNormalVector_temp;
// extern UNK_TYPE1 D_801FBD70;
// extern UNK_TYPE1 D_801FBD74;
// extern UNK_TYPE1 D_801FBD78;
extern Vec3f D_801FBD80[2];
extern Vec3f D_801FBD98;
extern Vec3f D_801FBDA4;
// extern UNK_TYPE1 D_801FBDB0;
// extern UNK_TYPE1 D_801FBDB4;
// extern UNK_TYPE1 D_801FBDB8;
// extern UNK_TYPE1 D_801FBDC0;
// extern UNK_TYPE1 D_801FBDD8;
// extern UNK_TYPE1 D_801FBDDC;
// extern UNK_TYPE1 D_801FBDE0;
extern Vec3f D_801FBDE8;
extern MtxF* sMatrixStack;
extern MtxF* sCurrentMatrix;
// extern UNK_TYPE1 D_801FBE10;
// extern UNK_TYPE1 D_801FBE28;
// extern UNK_TYPE1 D_801FBE2C;
// extern UNK_TYPE4 D_801FBE30;
extern u8 sys_flashromStack[0x1000];
extern StackEntry sys_flashromStackEntry;
extern OSThread sys_flashromOSThread;
extern s80185D40 D_801FD008;
extern OSMesg D_801FD034;
// extern UNK_TYPE1 D_801FD120;
// extern UNK_TYPE1 D_801FD140;
// extern UNK_TYPE1 D_801FD158;
// extern UNK_TYPE1 D_801FD198;
// extern UNK_TYPE1 D_801FD1E0;
// extern UNK_TYPE1 D_801FD1F0;
// extern UNK_TYPE1 D_801FD250;
// extern UNK_TYPE1 D_801FD254;
// extern UNK_TYPE1 D_801FD258;
// extern UNK_TYPE1 D_801FD25C;
// extern UNK_TYPE1 D_801FD260;
// extern UNK_TYPE1 D_801FD264;
// extern UNK_TYPE1 D_801FD268;
// extern UNK_TYPE1 D_801FD278;
// extern UNK_TYPE1 D_801FD288;
// extern UNK_TYPE1 D_801FD28C;
// extern UNK_TYPE1 D_801FD28D;
// extern UNK_TYPE1 D_801FD28E;
// extern UNK_TYPE1 D_801FD28F;
// extern UNK_TYPE1 D_801FD290;
// extern UNK_TYPE1 D_801FD291;
// extern UNK_TYPE1 D_801FD294;
// extern UNK_TYPE1 D_801FD298;
// extern UNK_TYPE1 D_801FD29C;
// extern UNK_TYPE1 D_801FD2A0;
// extern UNK_TYPE1 D_801FD2A8;
// extern UNK_TYPE1 D_801FD3A8;
// extern UNK_TYPE1 D_801FD3A9;
// extern UNK_TYPE1 D_801FD3AA;
// extern UNK_TYPE1 D_801FD3AB;
// extern UNK_TYPE1 D_801FD3AC;
// extern UNK_TYPE1 D_801FD3AE;
// extern UNK_TYPE1 D_801FD3AF;
// extern UNK_TYPE1 D_801FD3B0;
// extern UNK_TYPE1 D_801FD3B4;
// extern UNK_TYPE1 D_801FD3B7;
// extern UNK_TYPE1 D_801FD3B8;
// extern UNK_TYPE1 D_801FD3D8;
// extern UNK_TYPE1 D_801FD3D9;
// extern UNK_TYPE1 D_801FD3DA;
// extern UNK_TYPE1 D_801FD3E0;
// extern UNK_TYPE1 D_801FD3EC;
// extern UNK_TYPE1 D_801FD3F0;
// extern UNK_TYPE1 D_801FD3FC;
// extern UNK_TYPE1 D_801FD400;
// extern UNK_TYPE1 D_801FD404;
// extern UNK_TYPE1 D_801FD408;
// extern UNK_TYPE1 D_801FD40C;
// extern UNK_TYPE1 D_801FD410;
// extern UNK_TYPE1 D_801FD420;
// extern UNK_TYPE1 D_801FD42C;
// extern UNK_TYPE1 D_801FD430;
// extern UNK_TYPE1 D_801FD431;
// extern UNK_TYPE1 D_801FD432;
// extern UNK_TYPE1 D_801FD433;
// extern UNK_TYPE1 D_801FD434;
// extern UNK_TYPE1 D_801FD435;
// extern UNK_TYPE1 D_801FD436;
// extern UNK_TYPE1 D_801FD438;
// extern UNK_TYPE1 D_801FD43A;
// extern UNK_TYPE1 D_801FD43B;
// extern UNK_TYPE1 D_801FD43E;
// extern UNK_TYPE1 D_801FD442;
// extern UNK_TYPE1 D_801FD448;
// extern UNK_TYPE1 D_801FD44C;
// extern UNK_TYPE1 D_801FD44D;
// extern UNK_TYPE1 D_801FD450;
// extern UNK_TYPE1 D_801FD454;
// extern UNK_TYPE1 D_801FD458;
// extern UNK_TYPE1 D_801FD45C;
// extern UNK_TYPE1 D_801FD460;
// extern UNK_TYPE1 D_801FD461;
// extern UNK_TYPE1 D_801FD462;
// extern UNK_TYPE1 D_801FD463;
// extern UNK_TYPE1 D_801FD464;
// extern UNK_TYPE1 D_801FD468;
// extern UNK_TYPE1 D_801FD46C;
// extern UNK_TYPE1 D_801FD470;
// extern UNK_TYPE1 D_801FD4A0;
// extern UNK_TYPE1 D_801FD4D0;
// extern UNK_TYPE1 D_801FD500;
// extern UNK_TYPE1 D_801FD518;
// extern UNK_TYPE1 D_801FD530;
// extern UNK_TYPE1 D_801FD533;
// extern UNK_TYPE1 D_801FD590;
// extern UNK_TYPE1 D_801FD598;
// extern UNK_TYPE1 D_801FD5A0;
// extern UNK_TYPE1 D_801FD5A4;
// extern UNK_TYPE1 D_801FD5B8;
// extern UNK_TYPE1 D_801FD5C4;
// extern UNK_TYPE1 D_801FD5C8;
// extern UNK_TYPE1 D_801FD5E8;
// extern UNK_TYPE1 D_801FD608;
// extern UNK_TYPE1 D_801FD610;
// extern UNK_TYPE1 D_801FD710;
// extern UNK_TYPE1 D_801FD8C0;
// extern UNK_TYPE1 D_801FDB00;
// extern UNK_TYPE1 D_801FE100;
// extern UNK_TYPE1 D_801FE4C0;
// extern UNK_TYPE1 D_801FE640;
// extern UNK_TYPE1 D_801FE6D0;
extern SoundRequest D_801FE7C0[1];
// extern UNK_TYPE1 D_801FFBC0;
// extern UNK_TYPE1 D_801FFBC8;
// extern UNK_TYPE1 D_801FFBD0;
// extern UNK_TYPE1 D_801FFBD8;
// extern UNK_TYPE1 D_801FFC80;
// extern UNK_TYPE1 D_801FFC84;
// extern UNK_TYPE1 D_801FFC90;
// extern UNK_TYPE1 D_801FFD00;
// extern UNK_TYPE1 D_801FFD34;
// extern UNK_TYPE1 D_801FFD40;
// extern UNK_TYPE1 D_80200000;
// extern UNK_TYPE1 D_80200002;
// extern UNK_TYPE1 D_80200004;
// extern UNK_TYPE1 D_80200008;
// extern UNK_TYPE1 D_8020001E;
// extern UNK_TYPE1 D_802000C9;
// extern UNK_TYPE1 D_802000D4;
// extern UNK_TYPE1 D_80200140;
// extern UNK_TYPE1 D_8020034A;
// extern UNK_TYPE1 D_80200B88;
// extern UNK_TYPE1 D_80200BBA;
// extern UNK_TYPE1 D_80200BCC;
// extern UNK_TYPE1 D_80200BCE;
// extern UNK_TYPE1 D_80200BD0;
// extern UNK_TYPE1 D_80200C70;
// extern UNK_TYPE1 D_80200C71;
// extern UNK_TYPE1 D_80200C76;
// extern UNK_TYPE1 D_80200C78;
// extern UNK_TYPE1 D_80200C7C;
// extern UNK_TYPE1 D_80200C80;
// extern UNK_TYPE1 D_80200C92;
// extern UNK_TYPE1 D_80200C94;
// extern UNK_TYPE1 D_80200C98;
// extern UNK_TYPE1 D_80200C9A;
// extern UNK_TYPE1 D_80200C9E;
// extern UNK_TYPE1 D_80200CA0;
// extern UNK_TYPE1 D_80200CF0;
// extern UNK_TYPE1 D_80200D38;
// extern UNK_TYPE1 D_80200D70;
// extern UNK_TYPE1 D_802011F0;
// extern UNK_TYPE1 D_8020178C;
// extern UNK_TYPE1 D_802017B0;
// extern UNK_TYPE1 D_80201D68;
// extern UNK_TYPE1 D_80201D6C;
// extern UNK_TYPE1 D_802023FC;
// extern UNK_TYPE1 D_80202878;
// extern UNK_TYPE1 D_80202880;
// extern UNK_TYPE1 D_802028BC;
extern OSMesgQueue D_80202980;
// extern UNK_TYPE1 D_802029D8;
extern OSMesgQueue D_80202AB0;
extern OSMesg D_80202AC8[0x10];
extern OSMesgQueue D_80202B08;
extern OSMesg D_80202B20[0x10];
extern OSMesgQueue D_80202B60;
extern OSMesg D_80202B78[0x40];
extern OSMesgQueue D_80203278;
extern OSMesg D_80203290[1];
// extern UNK_TYPE1 D_80203294;
// extern UNK_TYPE1 D_802034C0;
// extern UNK_TYPE1 D_802034C4;
// extern UNK_TYPE1 D_802034C8;
// extern UNK_TYPE4 D_802034D0;
// extern UNK_TYPE1 D_802034D4;
// extern UNK_TYPE1 D_802034D8;
// extern UNK_TYPE1 D_802034DC;
// extern UNK_TYPE1 D_802034E8;
// extern UNK_TYPE2 D_802034F0;
// extern UNK_TYPE1 D_802034F8;
// extern UNK_TYPE1 D_802034FC;
// extern UNK_TYPE1 D_80203500;
// extern UNK_TYPE4 D_80203528;
// extern UNK_TYPE1 D_8020352C;
// extern UNK_TYPE1 D_8020352E;
// extern UNK_TYPE1 D_80203530;
// extern UNK_TYPE4 D_8020360C;
// extern UNK_TYPE1 D_80203618;
// extern UNK_TYPE1 D_8020361C;
// extern UNK_TYPE1 D_80203620;
// extern UNK_TYPE1 D_80203624;
// extern UNK_TYPE1 D_80203628;
// extern UNK_TYPE1 D_80203630;
// extern UNK_TYPE1 D_80203640;
// extern UNK_TYPE1 D_80203650;
// extern UNK_TYPE1 D_80203660;
// extern UNK_TYPE1 D_80203690;
// extern UNK_TYPE1 D_802036A0;
// extern UNK_TYPE1 D_802036B0;
// extern UNK_TYPE1 D_802036C0;
// extern UNK_TYPE1 D_802036C4;
// extern UNK_TYPE1 D_80203794;
// extern UNK_TYPE1 D_80203798;
// extern UNK_TYPE1 D_802037D0;
// extern UNK_TYPE1 D_802037D4;
// extern UNK_TYPE1 D_802038A4;
// extern UNK_TYPE1 D_802038A8;
// extern UNK_TYPE1 D_802038C2;
// extern UNK_TYPE1 D_802038CE;
// extern UNK_TYPE1 D_802038E0;
// extern UNK_TYPE1 D_802038E4;
// extern UNK_TYPE1 D_80203970;
// extern UNK_TYPE1 D_802039B4;
// extern UNK_TYPE1 D_802039B8;
// extern UNK_TYPE1 D_802039D2;
// extern UNK_TYPE1 D_802039DE;
// extern UNK_TYPE1 D_802039F0;
// extern UNK_TYPE1 D_802039FC;
// extern UNK_TYPE1 D_80203B80;
// extern UNK_TYPE1 D_80203B88;
// extern UNK_TYPE1 D_80203B90;
// extern UNK_TYPE1 D_80204590;
// extern UNK_TYPE1 D_80204594;
// extern UNK_TYPE1 D_80204598;
// extern UNK_TYPE1 D_802045A4;
// extern UNK_TYPE1 D_80204FA4;
// extern UNK_TYPE1 D_80204FA8;
// extern UNK_TYPE1 D_80204FB4;
// extern UNK_TYPE1 D_80204FB8;
// extern UNK_TYPE1 D_80204FC0;
// extern UNK_TYPE1 D_80204FCC;
// extern UNK_TYPE1 D_80204FD8;
// extern UNK_TYPE1 D_80205008;
// extern UNK_TYPE1 D_80205038;
// extern UNK_TYPE1 D_802050B9;
// extern UNK_TYPE1 D_802050C0;
// extern UNK_TYPE1 D_802050C4;
// extern UNK_TYPE4 D_802050CC;
// extern UNK_TYPE4 D_802050D0;
// extern UNK_TYPE1 D_80205228;
// extern UNK_TYPE1 D_8020522B;
// extern UNK_TYPE1 D_80205390;
// extern UNK_TYPE1 D_802053C8;
// extern UNK_TYPE1 D_802057B0;
// extern UNK_TYPE1 D_80205830;
// extern UNK_TYPE1 D_802084B0;
// extern UNK_TYPE1 D_80208530;
// extern UNK_TYPE1 D_80208598;
// extern UNK_TYPE1 D_802085A8;
// extern UNK_TYPE1 D_802085B8;
// extern UNK_TYPE1 D_802085C8;
// extern UNK_TYPE1 D_802085D8;
// extern UNK_TYPE1 D_802085F8;
// extern UNK_TYPE1 D_802085FC;
// extern UNK_TYPE1 D_80208604;
// extern UNK_TYPE1 D_8020861C;
// extern UNK_TYPE1 D_80208634;
// extern UNK_TYPE1 D_8020864C;
// extern UNK_TYPE1 D_80208650;
// extern UNK_TYPE1 D_80208654;
// extern UNK_TYPE4 D_80208E68;
// extern UNK_TYPE4 D_80208E6C;
// extern UNK_TYPE4 D_80208E70;
// extern UNK_TYPE4 D_80208E74;

// post-code buffers
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE];
extern u8 gGfxSPTaskStack[0x400];
extern GfxPool gGfxPools[2];
extern u8 gAudioHeap[0x138000];
extern u8 gSystemHeap[UNK_SIZE];

extern u8 D_80780000[0x4600];
extern u8 D_80784600[0x56200];
extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH];

// keep objects

extern Gfx D_040008D0[];
extern UNK_TYPE D_040032B0;
extern UNK_TYPE D_0400CF58;
extern UNK_TYPE D_0400CF88;
extern UNK_TYPE D_0400CF98;
extern UNK_TYPE D_0400D0A8;
extern UNK_TYPE D_0400D0B0;
extern UNK_TYPE D_0400D0C8;
extern UNK_TYPE D_0400D100;
extern UNK_TYPE D_0400D218;
extern UNK_TYPE D_0400D220;
extern UNK_TYPE D_0400D228;
extern UNK_TYPE D_0400D2D0;
extern UNK_TYPE D_0400D3E8;
extern UNK_TYPE D_0400D3F8;
extern UNK_TYPE D_0400D488;
extern UNK_TYPE D_0400D490;
extern UNK_TYPE D_0400D500;
extern UNK_TYPE D_0400D520;
extern UNK_TYPE D_0400D568;
extern UNK_TYPE D_0400D638;
extern UNK_TYPE D_0400D660;
extern UNK_TYPE D_0400D698;
extern UNK_TYPE D_0400D728;
extern UNK_TYPE D_0400D9C8;
extern UNK_TYPE D_0400D9D0;
extern UNK_TYPE D_0400DA70;
extern UNK_TYPE D_0400DA88;
extern UNK_TYPE D_0400DAA8;
extern UNK_TYPE D_0400DAC0;
extern UNK_TYPE D_0400DAC8;
extern UNK_TYPE D_0400DAD8;
extern UNK_TYPE D_0400DAE0;
extern UNK_TYPE D_0400DAF0;
extern UNK_TYPE D_0400DB10;
extern UNK_TYPE D_0400DB18;
extern UNK_TYPE D_0400DB30;
extern UNK_TYPE D_0400DBB0;
extern UNK_TYPE D_0400DBE8;
extern UNK_TYPE D_0400DC48;
extern UNK_TYPE D_0400DC50;
extern UNK_TYPE D_0400DCA8;
extern UNK_TYPE D_0400DCD0;
extern UNK_TYPE D_0400DCD8;
extern UNK_TYPE D_0400DCF8;
extern UNK_TYPE D_0400DD30;
extern UNK_TYPE D_0400DD38;
extern UNK_TYPE D_0400DD40;
extern UNK_TYPE D_0400DD50;
extern UNK_TYPE D_0400DD58;
extern UNK_TYPE D_0400DD80;
extern UNK_TYPE D_0400DDB0;
extern UNK_TYPE D_0400DDF8;
extern UNK_TYPE D_0400DE00;
extern UNK_TYPE D_0400DE08;
extern UNK_TYPE D_0400DE10;
extern UNK_TYPE D_0400DE28;
extern UNK_TYPE D_0400DE30;
extern UNK_TYPE D_0400DE58;
extern UNK_TYPE D_0400DE60;
extern UNK_TYPE D_0400DEA0;
extern UNK_TYPE D_0400DEA8;
extern UNK_TYPE D_0400DF78;
extern UNK_TYPE D_0400DF90;
extern UNK_TYPE D_0400DFA0;
extern UNK_TYPE D_0400DFD0;
extern UNK_TYPE D_0400DFE0;
extern UNK_TYPE D_0400DFE8;
extern UNK_TYPE D_0400DFF8;
extern UNK_TYPE D_0400E000;
extern UNK_TYPE D_0400E070;
extern UNK_TYPE D_0400E088;
extern UNK_TYPE D_0400E120;
extern UNK_TYPE D_0400E150;
extern UNK_TYPE D_0400E1F0;
extern UNK_TYPE D_0400E200;
extern UNK_TYPE D_0400E208;
extern UNK_TYPE D_0400E270;
extern UNK_TYPE D_0400E290;
extern UNK_TYPE D_0400E2A8;
extern UNK_TYPE D_0400E2B8;
extern UNK_TYPE D_0400E2C0;
extern UNK_TYPE D_0400E2D0;
extern UNK_TYPE D_0400E2D8;
extern UNK_TYPE D_0400E2E8;
extern UNK_TYPE D_0400E318;
extern UNK_TYPE D_0400E398;
extern UNK_TYPE D_0400E3A0;
extern UNK_TYPE D_0400E3A8;
extern UNK_TYPE D_0400E3C0;
extern UNK_TYPE D_0400E3D8;
extern UNK_TYPE D_0400E408;
extern UNK_TYPE D_0400E410;
extern UNK_TYPE D_0400E418;
extern CollisionHeader D_0400E710; // Pink Deku Flower collision
extern AnimationHeader D_0400EB7C; // Deku Flower intense flutter animation
extern Gfx D_0400ED80; // Pink Deku Flower display list
extern SkeletonHeader D_04011518; // Pink Deku Flower skeleton
extern AnimationHeader D_040117A8; // Deku Flower small flutter animation
extern CollisionHeader D_040118D8; // Gold Deku Flower collision
extern Gfx D_04011BD0; // Gold Deku Flower display list
extern SkeletonHeader D_040127E8; // Gold Deku Flower skeleton
extern UNK_TYPE D_04012860;
extern UNK_TYPE D_040128BC;
extern UNK_TYPE D_04015FA0;
extern UNK_TYPE D_04016360;
extern UNK_TYPE D_0401A4D0;
extern UNK_TYPE D_0401A538;
extern Gfx D_0401A620[];
extern Gfx D_0401C430[];
extern UNK_TYPE D_0401F740;
extern UNK_TYPE D_0401F7C0;
extern UNK_TYPE D_0401F8C0;
extern UNK_TYPE D_0401FA40;
extern UNK_TYPE D_04020BB8;
extern UNK_TYPE D_040221B8;
extern UNK_TYPE D_04023100;
extern UNK_TYPE D_04023130;
extern Gfx D_04023210[];
extern UNK_TYPE D_04023288;
extern Gfx D_04023348[];
extern Gfx D_04023428[];
extern UNK_TYPE D_04025850;
extern UNK_TYPE D_04025DD0;
extern UNK_TYPE D_040281DC;
extern UNK_TYPE D_04028FEC;
extern UNK_TYPE D_04029140;
extern Gfx D_04029CB0[];
extern Gfx D_04029CF0[];
extern UNK_TYPE D_04029D20;
extern AnimationHeader D_0402B494;
extern AnimatedMaterial D_0402C818;
extern AnimatedMaterial D_0402C890;
extern AnimatedMaterial D_0402C908;
extern AnimatedMaterial D_0402C980;
extern AnimatedMaterial D_0402C9F8;
extern FlexSkeletonHeader D_0402CA98;
extern Gfx D_0402E510[];
extern UNK_TYPE D_0402E65C;
extern UNK_TYPE D_0402F0EC;
extern Gfx D_04030100[]; // Floor shockwave ring
extern Gfx D_040301B0[];
extern UNK_TYPE D_04032270;
extern UNK_TYPE D_04035710;
extern UNK_TYPE D_040367B0;
extern UNK_TYPE D_040377B0;
extern UNK_TYPE D_04037850;
extern Gfx D_040378F0[]; // gExplosionSplashTex1
extern Gfx D_04037DF0[]; // gExplosionSplashTex2
extern Gfx D_040382F0[]; // gExplosionSplashTex3
extern Gfx D_040387F0[]; // gExplosionSplashTex4
extern Gfx D_04038CF0[]; // gExplosionSplashTex5
extern Gfx D_040391F0[]; // gExplosionSplashTex6
extern Gfx D_040396F0[]; // gExplosionSplashTex7
extern Gfx D_04039BF0[]; // gExplosionSplashTex8
extern Gfx D_0403A0F0[]; // gExplosionSplashDL
extern UNK_TYPE D_0403C190;
extern UNK_TYPE D_0403F230;
extern UNK_TYPE D_04044300;
extern Gfx D_04048DF0[];
extern UNK_TYPE D_04050D10;
extern UNK_TYPE D_04051180;
extern UNK_TYPE D_04051238;
extern AnimationHeader D_0405140C;
extern UNK_TYPE D_040527F0;
extern UNK_TYPE D_040528B0;
extern Gfx D_04054A90[];
extern UNK_TYPE D_04055628;
extern Gfx D_04057B10[];
extern Gfx D_04058BA0[];
extern Gfx D_04089070[];
extern TexturePtr D_0408DBE0[]; // gDust1Tex
extern TexturePtr D_0408DFE0[]; // gDust2Tex
extern TexturePtr D_0408E3E0[]; // gDust3Tex
extern TexturePtr D_0408E7E0[]; // gDust4Tex
extern TexturePtr D_0408EBE0[]; // gDust5Tex
extern TexturePtr D_0408EFE0[]; // gDust6Tex
extern TexturePtr D_0408F3E0[]; // gDust7Tex
extern TexturePtr D_0408F7E0[]; // gDust8Tex
extern UNK_TYPE D_04050550;
extern UNK_TYPE D_04050648;
extern UNK_TYPE D_040510B0;
extern UNK_TYPE D_04054940;
extern Gfx D_0405AAB0[];
extern UNK_TYPE D_0405B6F0;
extern UNK_TYPE D_0405BEF0;
extern UNK_TYPE D_0405C6F0;
extern UNK_TYPE D_0405CEF0;
extern UNK_TYPE D_0405E6F0;
extern Gfx D_0405F6F0[];
extern UNK_TYPE D_0405F7C0;
extern UNK_TYPE D_0405FFC0;
extern UNK_TYPE D_040607C0;
extern UNK_TYPE D_04060FC0;
extern UNK_TYPE D_040617C0;
extern UNK_TYPE D_04061FC0;
extern UNK_TYPE D_04061FE0;
extern UNK_TYPE D_04062000;
extern UNK_TYPE D_04062020;
extern UNK_TYPE D_04062040;
extern UNK_TYPE D_04062060;
extern Gfx D_040622C0[];
extern UNK_TYPE D_0406AB30;
extern UNK_TYPE D_0406B730;
extern UNK_TYPE D_0406BB0C;
extern UNK_TYPE D_0406F380;
extern UNK_TYPE D_04073F00;
extern UNK_TYPE D_04075400;
extern Gfx D_04075A40[];
extern Gfx D_04075B30[];
extern Gfx D_04076BC0[];
extern Gfx D_04077480[];
extern UNK_TYPE D_04079B10;
extern Gfx D_0407AB10[]; // sun (sparkles when small) displaylist
extern Gfx D_0407AB58[];
extern UNK_TYPE D_0407AFB0;
extern Gfx D_0407D590[];
extern UNK_TYPE D_0407D650;
extern UNK_TYPE D_0407F218;
extern UNK_TYPE D_040815D0;
extern UNK_TYPE D_04081628;
extern UNK_TYPE D_04083534;
extern UNK_TYPE D_04091BE0;
extern UNK_TYPE D_04091CE0;

extern Gfx D_05000C40[];
extern UNK_TYPE D_05001D20;
extern UNK_TYPE D_050061E8;
extern UNK_TYPE D_05006420;
extern UNK_TYPE D_050066B0;
extern UNK_TYPE D_05007498;
extern Gfx D_05007890[];
extern UNK_TYPE D_050078A0;
extern UNK_TYPE D_05007938;
extern Gfx D_05007980[];
extern UNK_TYPE D_05007E00;
extern UNK_TYPE D_05008018;
extern UNK_TYPE D_050085F0;
extern Gfx D_05017EA0[]; // pot displaylist
extern Gfx D_05018090[]; // pot break shard displaylist
extern UNK_TYPE D_050182A8;
extern UNK_TYPE D_0501B508;
extern UNK_TYPE D_0501C058;
extern Gfx D_0501D980[];
extern Gfx D_050219E0[];
extern UNK_TYPE D_05023008;
extern UNK_TYPE D_0502324C;

// other segments
extern GfxMasterList D_0E000000;

extern UNK_TYPE D_0F000000;


#endif
