1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-28 15:56:51 +00:00
oot/include/variables.h

3346 lines
78 KiB
C
Raw Normal View History

2020-03-17 04:31:30 +00:00
#ifndef _VARIABLES_H_
#define _VARIABLES_H_
#include "z64.h"
#include "segment_symbols.h"
2020-03-17 04:31:30 +00:00
extern u32 D_0300AA48;
extern u32 D_03012B20;
extern Gfx D_06025218[];
extern Gfx D_060252D8[];
extern Gfx D_06025438[];
extern Gfx D_06025598[];
extern Gfx D_06025658[];
extern Gfx D_060257B8[];
extern Gfx D_0602A738[];
extern Gfx D_0602CB48[];
2020-03-17 04:31:30 +00:00
//extern ? D_070380D4;
//extern ? D_0703811C;
//extern ? D_80000004;
//extern ? D_80000008;
//extern ? D_8000000C;
//extern ? D_80000010;
//extern ? D_80000020;
extern u32 osTvType;
extern u32 osRomBase;
extern u32 osResetType;
extern u32 osMemSize;
extern u8 osAppNmiBuffer[];
extern u8 D_80009320[];
extern u8 D_800093F0[];
extern s8 D_80009430;
extern u32 D_80009460;
extern u32 gDmaMgrDmaBuffSize;
extern vu8 gViConfigUseDefault;
2020-03-17 04:31:30 +00:00
extern u8 gViConfigAdditionalScanLines;
extern u32 gViConfigFeatures;
extern f32 gViConfigXScale;
extern f32 gViConfigYScale;
extern OSPiHandle* gCartHandle;
extern u32 gCurrentRegion;
extern u32 __osPiAccessQueueEnabled;
extern OSViMode osViModePalLan1;
extern u64 osClockRate;
extern s32 osViClock;
2020-03-17 04:31:30 +00:00
extern u32 __osShutdown;
extern u32 __OSGlobalIntMask;
extern OSThread* __osThreadTail[];
extern OSThread* __osRunQueue;
extern OSThread* __osActiveQueue;
extern OSThread* __osRunningThread;
2020-03-17 04:31:30 +00:00
extern OSThread* __osFaultedThread;
extern OSPiHandle* __osPiTable;
extern OSPiHandle* __osCurrentHandle[];
extern OSTimer* __osTimerList;
extern OSViMode osViModeNtscLan1;
extern OSViMode osViModeMpalLan1;
extern OSViContext* __osViCurr;
extern OSViContext* __osViNext;
extern OSViMode osViModeFpalLan1;
extern u32 __additional_scanline;
extern u8 gBuildTeam[];
extern u8 gBuildDate[];
extern u8 gBuildMakeOption[];
extern OSMesgQueue gPiMgrCmdQ;
extern OSViMode gViConfigMode;
extern u8 D_80013960;
extern OSMesg piAccessBuf;
extern OSMesgQueue __osPiAccessQueue;
extern OSPiHandle __Dom1SpeedParam;
extern OSPiHandle __Dom2SpeedParam;
extern OSThread __osThreadSave;
extern OSTimer __osBaseTimer;
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSPiHandle __CartRomHandle;
extern DmaEntry gDmaDataTable[0x60C];
//extern ? D_800D7288;
extern u8 D_801120C0[];
extern u8 D_80113070[];
extern u64 gJpegUCode[];
2020-03-17 04:31:30 +00:00
//extern ? D_80115440;
//extern ? D_80115760;
//extern ? D_80115770;
//extern ? D_8011578C;
//extern ? D_8011579C;
//extern ? D_801157AC;
//extern ? D_801157BC;
//extern ? D_801157CC;
//extern ? D_801157DC;
//extern ? D_801157EC;
//extern ? D_801157FC;
//extern ? D_801158C0;
//extern ? D_801158CC;
//extern ? D_801158D0;
//extern ? D_801158D4;
//extern ? D_801158D8;
//extern ? D_801158DC;
//extern ? D_801158E0;
//extern ? D_801158E4;
//extern ? D_801158E8;
//extern ? D_801158EC;
//extern ? D_801158F0;
//extern ? D_801158F4;
//extern ? D_801158F8;
//extern ? D_801158FC;
//extern ? D_80115908;
//extern ? D_80115914;
//extern ? D_80115920;
//extern ? D_8011592C;
//extern ? D_801159A4;
//extern ? D_801159A5;
2020-03-17 04:31:30 +00:00
//extern ? D_801159A6;
//extern ? D_801159A8;
//extern ? D_801159A9;
//extern ? D_801159AA;
extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX];
2020-03-25 22:39:51 +00:00
extern Gfx D_80116280[];
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // original name: "actor_dlftbls" 801162A0
extern s32 gMaxActorId; // original name: "MaxProfile"
2020-03-17 04:31:30 +00:00
//extern ? D_80119E2C;
//extern ? D_80119E52;
//extern ? D_80119E54;
//extern ? D_80119E94;
//extern ? D_80119EAC;
decompile z_camera (#398) * cleanup * name camera action functions * decompile a few small functions, name a few Camera struct members * decompile camera data, decompile a few camera functions * Split ASM for code_800BB0A0 * removing code_800BB0A0.s * PR Requests, Camera WIP * remove #define NON_MATCHING from db_camera * rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c * camera wip * rename some struct memebers, some decomp wip * pr updates * camera wip * name some fields in Camera Struct, being making sense of Camera_Update * Camera WIP * wip * wip * add z64camera.h header, begin creating CameraSetting macros * wip * wip * wip * wip * migrate camera bss to c * match a couple functions in db_camera * match some small db_camera functions * wip * migrate db_camera rodata, match a few functions * remote db_camera.rodata.s * match some of db_camera * identify types of some unknown data pieces * some small wip * Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs * add naming for a few more Camera struct members * wip * match func_80043F94 * Match Camera_Jump1 * document some of Camera_Jump1 * wip * match Camera_Jump3 * Match Camera_Update, FeelsAmazing * wip * wip * match Camera_SetParam * minor cleanup * wip * wip * match Camera_KeepOn0 * some documentation, modify some matching functions to match style of others. * match Camera_Demo1 * match camera_demo9 * document Camera_Demo1 and Camera_Demo9 * wip * Match camera_battle4 * match camera_unique2 * Match Camera_Unique3 * match camera_special6 * match Camera_Special5 * wip * document camera_special6 * naming updates * match camera_Unique1 * match Camera_Unique0 * wip * Match Camera_CalcUpFromPitchYawRoll * match func_80045508 * document Camera_Battle4 * document several camera functions, move camera data to separate file * rename phi/theta to pitch/yaw * wip * uniq9 wip * Camera_Unqiue9 OK * document Camera_Unique9 * name unk_160 in camera struct * wip * wip * minor updates * fix conflicts * wip * wip * Olib updates * wip * wip * rename most Math3D functions, few matches, documentation * wip * document most of math3d * wip * wip * wip * pr updates * Match Camera_Fixed4 * match func_80058E8C * pr updates * add missing comment block finalizer * Merge math3dupdates * match Camera_ChangeSetting * Match Camera_ChangeMode * match func_80058148 * Match Camera_Special9 * decompile the rest of camera data * match Camera_Demo5 * name a few camera functions in z_play * match func_80046CB4, some work on other fucntions * wip * impove some non matchings * fix function rename * match func_800588B4 * match Camera_Subj4 * wip * Camera_Demo3 matching, Camera_Battle1 big progress * Camera_Normal2 OK * wip * match Camera_Parallel1 * normalize some things across functions * match Camera_Normal1 * Match Camera_Normal3 * some cleanup * more cleanup * more cleanup , match Camera_CalcDefaultPitch * data formatting * Match Camera_Jump2 * document Camera_Jump2 * Match Camera_KeepOn3 * document some of Camera_KeepOn3 * improve some non_matchings * match func_80045C74 and func_800460A8 * code cleanup, documentation * match Camera_KeepOn1 * Match Camera_Subj3 * Match Camera_Battle1 * remove non_matching from func_80044adc and func_80046e20 * name several members of Battle1 * more documentation on Battle1 * cleanup * renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector * reorganize update structs, remove final references to params, remove CameraParams union * implement camera enums into player * Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player * remove non-global camera variables from variables.h * clean up some variable declarations * finish pr comment updates * fix some warnings * data formatting * finish commenting on data * delete unused asm * remove asm Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
extern s32 gDbgCamEnabled;
2020-03-17 04:31:30 +00:00
//extern ? D_8011DB20;
//extern ? D_8011DE00;
//extern ? D_8011DE18;
//extern ? D_8011DE20;
//extern ? D_8011DE2C;
//extern ? D_8011DE54;
//extern ? D_8011DE6C;
//extern ? D_8011DE78;
//extern ? D_8011DEAC;
//extern ? D_8011DEEC;
//extern ? D_8011DF5C;
//extern ? D_8011DF6C;
//extern ? D_8011DFAC;
//extern ? D_8011DFEC;
//extern ? D_8011E008;
//extern ? D_8011E028;
//extern ? D_8011E02A;
//extern ? D_8011E02C;
//extern ? D_8011E02E;
//extern ? D_8011E056;
//extern ? D_8011E058;
//extern ? D_8011E05A;
//extern ? D_8011E068;
//extern ? D_8011E06A;
//extern ? D_8011E06C;
//extern ? D_8011E06E;
//extern ? D_8011E096;
//extern ? D_8011E098;
//extern ? D_8011E09A;
2020-03-18 14:27:49 +00:00
extern s16 D_8011E0B0;
2020-03-17 04:31:30 +00:00
//extern ? D_8011E0D4;
extern GameStateOverlay gGameStateOverlayTable[6];
2020-03-17 04:31:30 +00:00
//extern ? D_8011FAF0;
extern u8 D_8011FB30;
extern u8 D_8011FB34;
2020-03-17 04:31:30 +00:00
extern u8 D_8011FB38;
extern u8 D_8011FB3C;
2020-03-17 04:31:30 +00:00
extern u16 D_8011FB40;
//extern ? D_8011FB44;
//extern ? D_8011FB48;
//extern ? D_8011FC1C;
//extern ? D_8011FD3C;
//extern ? D_8011FDCC;
//extern ? D_8011FDD0;
//extern ? D_8011FE00;
//extern ? D_8011FE20;
//extern ? D_8011FE48;
//extern ? D_8011FE70;
//extern ? D_8011FE7C;
//extern ? D_8011FE88;
//extern ? D_8011FE94;
//extern ? D_8011FEC4;
//extern ? D_8011FED0;
extern s32 gZeldaArenaLogSeverity;
extern MapData gMapDataTable;
2020-03-17 04:31:30 +00:00
extern s16 gSpoilingItems[3];
extern s16 gSpoilingItemReverts[3];
extern FlexSkeletonHeader* gPlayerSkelHeaders[2];
extern u8 gPlayerModelTypes[][5];
extern Gfx* D_80125D68[];
extern Gfx* D_80125DE8[];
extern Gfx* D_80125E08[];
extern Gfx* D_80125E18[];
extern Gfx* D_80125E58[];
extern Gfx* D_80125EF8[];
extern Gfx gCullBackDList[];
extern Gfx gCullFrontDList[];
extern Gfx gEmptyDL[];
2020-03-17 04:31:30 +00:00
extern u32 gBitFlags[32];
extern u16 gEquipMasks[4];
extern u16 gEquipNegMasks[4];
extern u32 gUpgradeMasks[8];
extern u32 gUpgradeNegMasks[8];
extern u8 gEquipShifts[4];
extern u8 gUpgradeShifts[8];
extern u16 gUpgradeCapacities[8][4];
extern u32 gGsFlagsMask[4];
extern u32 gGsFlagsShift[4];
extern void* gItemIcons[0x82];
2020-03-17 04:31:30 +00:00
extern u8 gItemSlots[56];
extern void (*gSceneCmdHandlers[26])(GlobalContext*, SceneCmd*);
extern s16 gLinkObjectIds[2];
extern u32 gObjectTableSize;
extern RomFile gObjectTable[OBJECT_ID_MAX];
2020-03-17 04:31:30 +00:00
extern EntranceInfo gEntranceTable[1556];
extern SceneTableEntry gSceneTable[SCENE_ID_MAX];
2020-03-17 04:31:30 +00:00
//extern ? D_8012A4A0;
extern u16 gSramSlotOffsets[];
2020-03-17 04:31:30 +00:00
//extern ? D_8012A690;
//extern ? D_8012A69C;
//extern ? D_8012A6A4;
//extern ? D_8012A704;
//extern ? D_8012A71C;
extern u8 gLetterTLUT[4][32]; // original name: "moji_tlut"
extern u8 gFontFF[]; // original name: "font_ff"
//extern ? D_8012AC90;
//extern ? D_8012ACA0;
//extern ? D_8012AD20;
//extern ? D_8012AD2C;
//extern ? D_8012AD40;
//extern ? D_8012ADC0;
//extern ? D_8012ADD8;
//extern ? D_8012AE18;
//extern ? D_8012AE24;
//extern ? D_8012AE30;
//extern ? D_8012AE3C;
//extern ? D_8012AEBC;
//extern ? D_8012AF0C;
//extern ? D_8012B000;
//extern ? D_8012B030;
//extern ? D_8012B060;
//extern ? D_8012BA90;
//extern ? D_8012BBA8;
//extern ? D_8012BFA8;
//extern ? D_8012C3A8;
//extern ? D_8012C7A8;
//extern ? D_8012CDC8;
//extern ? D_8012CEA0;
//extern ? D_8012CEE0;
//extern ? D_8012CEE4;
//extern ? D_8012CEE8;
//extern ? D_8012CEEC;
//extern ? D_8012CEF0;
//extern ? D_8012CEF4;
//extern ? D_8012CEF8;
//extern ? D_8012CF04;
//extern ? D_8012CF08;
//extern ? D_8012CF0C;
//extern ? D_8012CF10;
//extern ? D_8012CF14;
//extern ? D_8012CF18;
//extern ? D_8012CF24;
//extern ? D_8012CF30;
//extern ? D_8012CF34;
//extern ? D_8012CF38;
//extern ? D_8012CF3C;
//extern ? D_8012CF40;
//extern ? D_8012CF44;
//extern ? D_8012CF48;
//extern ? D_8012CF4C;
//extern ? D_8012CF50;
//extern ? D_8012CF60;
//extern ? D_8012CF64;
//extern ? D_8012CF68;
//extern ? D_8012CF6C;
//extern ? D_8012CF70;
//extern ? D_8012CF74;
//extern ? D_8012CF78;
//extern ? D_8012CF7C;
//extern ? D_8012CF80;
//extern ? D_8012CF84;
//extern ? D_8012CF88;
//extern ? D_8012CF94;
//extern ? D_8012CF98;
//extern ? D_8012CF9C;
//extern ? D_8012CFA4;
//extern ? D_8012CFA8;
//extern ? D_8012CFAC;
//extern ? D_8012CFB0;
//extern ? D_8012CFB4;
//extern ? D_8012CFC4;
//extern ? D_8012CFD0;
//extern ? D_8012CFE4;
//extern ? D_8012CFF8;
//extern ? D_8012D00C;
//extern ? D_8012D020;
//extern ? D_8012D034;
//extern ? D_8012D05C;
//extern ? D_8012D070;
//extern ? D_8012D084;
//extern ? D_8012D0AC;
//extern ? D_8012D0C0;
//extern ? D_8012D0D4;
//extern ? D_8012D0E4;
//extern ? D_8012D0F8;
//extern ? D_8012D103;
//extern ? D_8012D10C;
//extern ? D_8012D110;
//extern ? D_8012D114;
//extern ? D_8012D128;
//extern ? D_8012D13C;
//extern ? D_8012D14C;
//extern ? sDbCameraColors;
2020-03-17 04:31:30 +00:00
//extern ? D_8012D170;
//extern ? D_8012D172;
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX];
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
extern u8 gBossMarkState;
2020-03-17 04:31:30 +00:00
extern void* D_8012D1F0;
//extern ? D_8012D200;
//extern ? D_8012D207;
//extern ? D_8012D210;
//extern ? D_8012D230;
//extern ? D_8012D248;
//extern ? D_8012D260;
//extern ? D_8012D264;
extern s32 gScreenWidth;
extern s32 gScreenHeight;
2020-03-17 04:31:30 +00:00
extern u32 gSystemHeapSize;
extern Mtx gMtxClear;
extern MtxF gMtxFClear;
extern u8 D_8012DBB0;
extern u32 D_8012DBC0;
extern vu32 gIrqMgrResetStatus;
extern volatile OSTime gIrqMgrRetraceTime;
2020-03-17 04:31:30 +00:00
extern s32 gDebugArenaLogSeverity;
//extern ? sUCodeDisasGeometryModes;
//extern ? sUCodeDisasMtxFlags;
//extern ? sUCodeDisasRenderModeFlags;
2020-03-17 04:31:30 +00:00
//extern ? D_8012DDDC;
//extern ? sUCodeDisasModeHMacros;
//extern ? sUCodeDisasModeLMacros;
extern s16* gWaveSamples[9];
extern f32 gPitchBendFrequencyScale[256];
2020-03-17 04:31:30 +00:00
//extern ? D_8012F098;
//extern ? D_8012F0B0;
extern f32 D_8012F4B4[256];
extern f32 gNoteFrequencies[];
extern u8 gDefaultShortNoteVelocityTable[16];
extern u8 gDefaultShortNoteDurationTable[16];
extern AdsrEnvelope gDefaultEnvelope[3];
extern NoteSubEu gZeroNoteSub;
extern NoteSubEu gDefaultNoteSub;
extern u16 gHeadsetPanQuantization[0x10];
extern f32 gHeadsetPanVolume[128];
extern f32 gStereoPanVolume[128];
2020-03-17 04:31:30 +00:00
//extern ? D_8012FBAA;
//extern ? D_8012FFFF;
//extern ? D_80130001;
//extern ? D_80130002;
//extern ? D_80130004;
//extern ? D_80130006;
extern f32 gDefaultPanVolume[128];
extern s16 D_80130228[];
extern s16 D_80130328[];
2020-03-17 04:31:30 +00:00
//extern ? D_801304A0;
//extern ? D_801304AC;
//extern ? D_801304C0;
extern s32 gAudioContextInitalized;
2020-03-17 04:31:30 +00:00
//extern ? D_801304E8;
//extern ? D_80130500;
extern f32 D_80130510;
extern s32 D_80130514;
extern u8 D_80130570[8];
extern u8 D_80130578[4][7];
extern u8 D_80130594[4][7];
2020-03-17 04:31:30 +00:00
//extern ? D_801305B0;
//extern ? D_801305B4;
//extern ? D_801305B8;
//extern ? D_801305BC;
//extern ? D_801305C0;
//extern ? D_801305CC;
Morpha (ovl_Boss_Mo) (#438) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * give this a shot * fix conflict * one more try * it begins * more functions * another match * starting documentation * the big function works. also two more matches * small fix * data cleanup * removed .s * match with player * inching closer to matching * two more matches. almost there * OH MY GOD IT MATCHES * cleanup: part 1 of infinity * named a bunch of stuff * Naming particle fields * terminal commas * terminal commas * small enum fix * added description of droplet widths * merge * updating * Gfx * vt * xml * bgcheck * more on objects * unused stuff * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "44f5d7cb9" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "44f5d7cb9" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "6f874af4a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "6f874af4a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * object names * fixes * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "6f874af4a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "6f874af4a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "0305ec2c2" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "0305ec2c2" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * ZAPD works * .s * merge * starting work * more stuff * builds OK * first pass * PR fixes (Louis) * Bg_toki_hikari all functions matching (#781) * starting toki_hikari * func_808BA018 matched and some work on other func * init and draw matched, one to go * matched final function, removed ASM, updated spec * adding suggested changes * Volvagia (ovl_Boss_Fd) and related actors (#352) * Darkmeiro decompilation Bg_Gnd_Darkmeiro decompiled, matched, and documented. * Lots of functions matched. Some big ones are close. * Five left unmatched, one close. * Merged data and decompiled the giant function into something readable. Its branch structure has yet to be matched. * Three unmatched, one essentially matched, the rest matched. * More fixes. * Documented more of the structure and cleaned up a bit. * BossFd2, BgVbSima, and EnVbBall matched and documented * Also removed unneeded .s files * And need to name EnVbBall's functions * give this a shot * fix conflict * one more try * removing darkmeiro changes * and again * now OK from make clean * minor cleanup * One more matching function for BossFd * which means it doesn't need its .s * splitting * splitting * splitting * forgot some .s * fancy new names * fancy new names * trying again * sneaky .s files * sound effects and some hex to decimal conversions * Sound effects and static variable cleanup * format.sh and clean up static variables * sfx and formatting * ZAP and cleanup * small cleanup * cleanup and ZAP * ZAP * looking at the giant function again * looking at the giant function again * Only the big function left. * Those .s files aren't mine, officer * float literals might be fixed. regalloc still a nightmare * almost done with the big function * should make now * not much of a change * all functions match. rodata somehow doesn't. * forgot some things * lots of cleanup * and a little more * small error * large cleanup. Also BossFd has function names and inlined variable declarations * still more cleanup * the quest for 0.1f continues * forgot to put NON_MATCHING back in * Data structures fully documented. Still more cleanup. * DECR now works with BossFd2 * should match now * cleanup * small cleanup * cleanup and names * tiny thing * particles and headers and stuff * now with more enums * merge * test * end test * update * cleanup * object 2 * object 1 * doc object_fd2 * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "6f874af4a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "6f874af4a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * formatting * .s * merge actor * vertex arrays * a little more * formatting * merge opd * fixed damage check * cleanup * fixes * effect struct * review Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain> Co-authored-by: fig02 <fig02srl@gmail.com> * fix mistake in z_bg_hidan_hamstep (#771) if you're just going to close this pr just wait a week and review it then. * ovl_En_River_Sound 1 non-matching (#786) * ovl_En_River_Sound * Implement review suggestions, run through clang-format * Responding to PR comments * Use CHECK_QUEST_ITEM, run through clang-tidy. * EnTp, 1 nonmatching, and object_tp (#782) * Data imported, 8 easy functions matched * Init only remaining nonmatching, data in * some renaming & fiddling with Init, still nonmatching * fix colours * Init still not matching * Decompile object_tp * renames * Rename func_80B20DE0 * Horrible new idea * Known equivalent, docs next * Another attempt * Finished naming in object_tp * Named functions, more enums * DrawBridge -> Drawbridge * skulltulla -> Skulltula * Name almost all struct variables * Named most of the temps * delete asm * spec * Missed data file, whoops * Review * More review changes * cleanup en_dha (#787) * Set __FILE__ in asm_processor (#793) * Set __FILE__ in asm_processor * bss fix * Update to upstream version Co-authored-by: zelda2774 <zelda2774@invalid> * ovl_Efc_Erupc OK (#773) * a few good dead Gfx_TwoTexScrolls * EfcErupc OK, mostly documented * review * remove fake match Co-authored-by: Fig02 <fig02srl@gmail.com> * z_bg_mizu_movebg and object_mizu_objects (#747) * OK a few functions * BgMizuMovebg_Draw OK, make tweaks to bg_mizu_bwall * migrate data * create mizu_objects, defines for water temple water level * clean up some code * implement most suggestions * review * review2 * formatting Co-authored-by: Fig02 <fig02srl@gmail.com> * Document BodyBreak (en_part, body part spawner) (#797) * done * status defines * whoops * comment wording * size calc change * elseif * Improve the format in z_map_mark_data.c and cleanup mapmark.py (#798) * Cleanup mapmark.py script * Rename map mark defines * Remove unused entries from map_mark_data * `assert` macro OK (#755) * create assert macro and replace a bunch of __assert Signed-off-by: angie <angheloalf95@gmail.com> * Another bunch of assert Signed-off-by: angie <angheloalf95@gmail.com> * more assert Signed-off-by: angie <angheloalf95@gmail.com> * assert(false) Signed-off-by: angie <angheloalf95@gmail.com> * last assert used in matching code Signed-off-by: angie <angheloalf95@gmail.com> * the non-matchings Signed-off-by: angie <angheloalf95@gmail.com> * typo Signed-off-by: angie <angheloalf95@gmail.com> * format Signed-off-by: angie <angheloalf95@gmail.com> * change macro to uppercase Signed-off-by: angie <angheloalf95@gmail.com> * Apply suggestions from code review Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Change ASSERT(false) to ASSERT(0) Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * General object cleanup (#799) * Object cleanup * Fix running man * fix mm symbols * Updated to use latest version of ZAPD (#777) * Updated config file * Added missing files * Temporarily removed asm_processor changes. * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "96ffc1e62" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "96ffc1e62" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "179af7d11" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "179af7d11" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Cleanup and fixes. * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "50ad2fe78" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "50ad2fe78" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Makefile fix * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "b9120803e" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "b9120803e" git-subrepo: version: "0.4.3" origin: "???" commit: "???" Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com> * Decompile `object_zo` :dolphin: (#794) * Initial xml * most of in-code references * Add limbs and evrything else * Functions used by EnRiverSound * Fix forearm and use void* for textures * Run formatter * Change Hints in scene's XMLs (#800) * Remove blobhint * Add segments and offsets, and remove most hints * Change PathHint to Path * Add missing final new lines in scenes xmls * finished object_skb (#790) * finished object_skb * neglected the limbs and dlists, so I added them * adding the textures * fixing some names * ....forgot to change the c file.... * hopefully fixed formatting issue * EnFish, OK and documented (#795) * Matching * Some naming * spec * Name another function * Name animations, clarify use of GI_MAX and GI_NONE * Documented bottle range functions * Simplify squared distance function in EnIceHono, actor descriptions * Functions for dropped fish * More naming * Change 65535.5f to (0xFFFF + 0.5f) * Change 65535.5f to (0xFFFF + 0.5f) * name phases * Named other types, Docile functions * Naming complete * delete asm * format, remove outdated comment * Fix a few DrawFlexOpa arguments * Review changes * Change back to original playSound * Function comments per review * Update asm-processor and add make dependencies for global asm and early includes (#801) * Update asm-processor to latest master * Add make dependencies for global asm and early includes * Update asm-processor to latest master * Decompile the pause menu aka. ovl_kaleido_scope (+ minor changes) (#803) * Decompile ovl_kaleido_scope + minor cleanups * Add a common header for ovl_kaleido_scope * Start cleaning up and documenting kaleido_scope (+ some interface docs) * Improve and fix some kaleido_scope non matchings * Match KaleidoSetup_Init * Extract icon_item_fra/ger_static files * Add more documentation and matches to kaleido_scope * Improve the z_kaleido_collect.c non matching * Rename z_kaleido_8081EFF0.c to z_kaleido_prompt.c * Update most kaleido variables to be static * Improve GS flag macros * Improve z_lmap_mark.c and extract z_lmap_mark_data.c with a script * Various minor fixes and improvements * Minor fixes and review changes * Review changes part 2 * Rename gSetTileCustom to gDPSetTileCustom * Review changes part 3 * Delete `-j` from `make setup` and document use of `-jN` and `-j` in readme (#804) * Add nproc to make setup * Add cross-platform nproc equivalents * Scrap that, just ditch -j in makefile altogether * Clarified thread advice * ViMode progress (#802) * ViMode OK * Fix variable name in regconvert tool * ViMode: fix formatting * Add nonmatching impl for ViMode_Configure, respond to PR - Fixed struct field naming (unkXX -> unk_XX) - ViMode_Configure args are not flags for top/left etc; seem to be for video mode - Used @Random06457's implementation of `ViMode_LogPrint` * Use plain LOG_ADDRESS in ViMode_LogPrint * Incorporate PR feedback from Roman971 * Add scene macros (#792) * add scene macros * SCENECMD -> SCENE_CMD * light renaming * SCENE_CMD_ROOM_BEHAVIOR * update params names * Remove extra spaces * More review changes by fig * remove MM cmd ids * more review changes * last minute edit * I keep confusing both lights commands * Review changes * Yet another cutscene change * Unused02 is unused * Add UNK_09 macro and other minor fixes (#813) (cherry picked from commit d3a6d4d2e1794f3b12f22d7808d65f24ef4c220a) * Match BossFd_Fly (ovl_Boss_Fd OK) (#807) * Simplify PNGs rules in the makefile (#814) * simplify rules * update `-eh` * Add every unreserved object in an automated way (#805) * it's crashing * fix stuff * fix xmls * problematic objects * fix tabs * Fix suffixes * add missing new lines * Add comments to the problematic objects * Find and replace fixes * Add Fig's objects * I forgot to add a Name in a cutscene, so I'm adding it here * Update object decomp tutorial a little bit * Update problematic objects * Update docs/tutorial/object_decomp.md Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Change comments * comment out a few blobs * dammit tluts * Change a bunch of objects * update the last bunch * update comments on oA11 and oB2 * Ninja-edit to fix compatibility with ZAPD's PR 142 Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Add clean assets (#785) * makefile change * also delete * Add cleantools * rename cleanassets and assetclean * add rules to PHONY in makefile * Remove toolsclean * object_hata OK (#806) * everything except limbs * spec * object_hata OK * Replace symbols, unused data, enums, some cleanup * Fix compiler warnings in EnRiverSound * Address Roman's review * Correct limbs name * Changed unk_192 to timer, as well as add missing trailing comma for formating (#817) * Remove some unused duplicated C files (#818) * Removes qemu from the README.md (#819) * Removes qemu from the README.md * Increments the step references in other parts of the README.md * Update README.md Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> * Update README.md Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> * Update README.md Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> * Update README.md Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> * Match EnSkb_PostLimbDraw (obl_en_skb OK) (#821) * Small bgcheck documentation pass (#816) * implement some documentation * remove unnecessary comments related to decomp * eliminate comment function prototypes * Add `actorfixer.py` ~~and `graphovl.py`~~; and a few improvements to `extract_assets.py` (#783) * Only process touched files and abort the extraction if one file wasn't extracted properly Signed-off-by: angie <angheloalf95@gmail.com> * add actorfixer and graphovl Signed-off-by: angie <angheloalf95@gmail.com> * Re set execution permisions to diff.py Signed-off-by: angie <angheloalf95@gmail.com> * Add graphs/ to gitignore Signed-off-by: angie <angheloalf95@gmail.com> * Add looners flag to graphovl Signed-off-by: angie <angheloalf95@gmail.com> * Parse macros Signed-off-by: angie <angheloalf95@gmail.com> * cleanup Signed-off-by: angie <angheloalf95@gmail.com> * Add enum parser to graphovl Signed-off-by: angie <angheloalf95@gmail.com> * Remove redundant code Signed-off-by: angie <angheloalf95@gmail.com> * cleanup Signed-off-by: angie <angheloalf95@gmail.com> * Custom colors to graphovl! * Select multiples styles for graphovl * Add solarized light style * Add renames of #796 * Add unaccounted warning flag * remove graphovl * git subrepo clone https://github.com/AngheloAlf/graphovl.git tools/graphovl subrepo: subdir: "tools/graphovl" merged: "577e71592" upstream: origin: "https://github.com/AngheloAlf/graphovl.git" branch: "master" commit: "577e71592" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * remove graphovl * Add `graphovl/` to gitignore * Label a bug in Door_Shutter (#810) * comment * Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c Co-authored-by: pixel-stuck <mathmcclintic@gmail.com> * change message * typo * repeated myself * extra space lmao * change wording again * Update src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c * indent Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: pixel-stuck <mathmcclintic@gmail.com> * en_weather_tag Quick documentation pass (#808) * Quick documentation pass * Fill out the En_Weather_Tag enum * move the enum into the header * implement roman's suggestion * object_sa OK (#789) * object_sa OK * PR fixes (AngheloAlf) * PR fixes (Roman) * Improve z_jpeg documentation (#825) * Improve z_jpeg documentation * JpegWork::data is probably better than address * Rename Jpeg_SendTask to Jpeg_ScheduleDecoderTask * Rename njpegUCode to gJpegUCode * Rename GetU16 to GetUnalignedU16 and improve docs * Decompile a bunch of objects (#603) * Mostly done but shifted * still messed up * Almost OK * OBJECT_JYA_OBJ OK, OBJECT_GR OK * Done * Merge master and format * Cleanup * Cleanup 2 * Start object MB dont merge yet * Object_MB OK * Object_ydan_objects OK * General 'ydan' actor cleanup * Forgot some small things * Object_EC OK * add .gitkeep and run format * Object_sd OK but no textures cause of a zap issue * PR fixes * Fix object_sd * fix ydan * delete .gitkeep files * OBJECT_BOX as far as it can go with current ZAP * Fix undefined_syms * Start child link object * Push progress, dont merge yet * Object_mori_objects OK * Fixed? * Fix conflicts again * Seems like i missed some textures * Extract data for BgBombwall * More field * ZAP YEP 2.0 * Object_Box OK * Object_SD ok. Ready to merge * remove ASM and merge master * remove ASM * remove files wrongfully added to docs/ * Almost done * Change comment in z_player_lib.c * forgot some DLists in player_lib.c * Fix conflict, run format * Same as before but this time with Tex and TLUT * Last few things * fix object_GR and add limbs to object_sd * Nane -> Name * gChildDekuShieldMtx is now a matrix and not a blob * PR fixes (Fig) * add a space for comment in z_player_lib.c * re push and new lines * PR fixes (AngheloAlf) * PR fixes (Roman) * Fix Heishi2 * PR fixes (Fig) * Replace spacing in a file * PR fixes (Roman) * Track XML extraction time (#826) * extracted-assets.json * delete `.extracted-assets.json` in distclean * Move `rm .extracted-assets.json` to `assetclean` * Outname -> OutName for OBJECT_LINK_CHILD (#827) * Outname -> OutName * ANother child fix * TLUT -> tlut * Change nanoseconds to seconds in extract_assets.py (#829) * Match 2 more functions in z_eff_blure.c (#831) * Match ViMode_Configure (z_vimode.c OK) (#830) * warnings fixed (#835) * ZAPD update: libpng, zroom improvements and others (#811) * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "769f5702a" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "769f5702a" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Add `libpng` to readme * Remove `-ifp` since it doesn't exists anymore in ZAPD * Remove extra print I added * Add UNK_09 macro and other minor fixes * Simplify PNG rules * simplify gitignore * Update README.md Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update dockerfile * basic instructions for cygwin and mac * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "86160be69" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "86160be69" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Change nanoseconds to seconds in extract_assets.py Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * "Decompile" more objects. (#784) * Object_hakach_objects OK and fix a warning in z_play.c * Object Warp1 OK * Object_spot16_obj OK * object_cs Skeleton and limbs OK * Limbs are broken * Limbs OK * Object_CS OK * Object_jya_door OK * fix errors and add new lines * PR fixes (AngheloAlf) * PR fixes (EllipticEllipsis) * PR fixes (Fig) * Rename Spot16 and Jya * GraveYard -> Graveyard * PR fixes * -s * PR fixes * Object_RU1, Object_MA1, and warp pad objects Decompiled (#828) * Ruto limbs * RutoLimb enum * the enum doesn't go in en_door * Limb DLists * Name almost all textures and clean up EnRu1.c * remove padding * Name all but 1 animation and remove undefined syms * Object MA limbs OK * (MA1)Most textures * Small renames in EnMa1.c * Object MA1 OK * add base object for Mjin * Mjin OK * Update object_ma1.xml * PR fixes (Fig) * PR fixes * Missed one * Update assets/xml/objects/object_ru1.xml Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * En_River_Sound OK (#833) * match en_river_sound * remove asm * some docs * more docs * saria song * review stuff * z_sram OK (#834) * match z_sram * format and remove unused asm, also make some data static * review comments * another change * Match Jpeg_Decode (z_jpeg.c OK) (#839) * Match EnDaiku_UpdateText (En_Daiku OK) (#841) * Match 1 of the 2 remaining functions in Bg_Mizu_Movebg (#840) * Improve Audio_SequencePlayerProcessSequence (#844) Co-authored-by: zelda2774 <zelda2774@invalid> * Fix and rename nes_font_static (#753) * renames * change digits and control pad names * Add codepoints, rename blank char 0x7F * BgGndFiremeiro OK and documented (#850) * OK, data imported * Name everything * Delete asm * Add struct `LegacyLimb` and rename `AnimationHeader2` for `object_human` (#849) * Add LegacyLimb and rename AnimationHeader2 * Simplify SkelAnime_GetFrameDataLegacy * Minor fixes * Move LegacyLimb with the rest of the limbs * EnVali OK and documented, object_vali and object_bl completely analysed and documented (#845) * OK * Some naming * Name more, correct typo in Biri, extract skel * just Draws need names, fix typos in bili and warp1 * Decompile object_vali and add symbols * Few more names * Bari naming done * object_bl completed, symbols added * Label object_bl * Formatter * delete asm * review changes * review changes * review * Interface improvements (#822) * Add symbols, does NOT build OK * parameter OK with syms * Use `static` more and inline arrays * wip docs * Start on Interface_Draw, NOT OK yet * rename variables since interface dev is weird * nonmatching for now * kaleido * Update src/code/z_parameter.c Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com> * Make most texture rectangles use shifts * fix symbols for all interface things * done with interface_draw for now * Update z_parameter.c * format files * fix wrong function calls * fix bss * improvements in matching * remove button enum for now * (void)0 to fix warning * make conditional look nicer * fix * fix wrong combiner * Update src/overlays/actors/ovl_kaleido_scope/z_lmap_mark.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * format * remove "HUD" naming * review suggestions Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Migrate .bss for fault drawer and .data for item00 (#823) * Item00 and fault drawer * Test * Test2 * test3 * test4 * remove .data file for item00 * revert hex * WHY * PLEASE * PR fixes (Roman) and run clang-format version 10 * Fault_drawer was swapped ...again) * Decompile and label EnEiyer (#852) * En_Eiyer OK * Label EnEiyer * Style fixes * Rename colCyl -> collider * Use CLAMP_MIN * Format * Review changes * Match Camera_PrintSettings (z_camera OK) (#853) * Match Camera_PrintSettings * rm asm * Match Math3D_LineSegMakePerpLineSeg (#854) * Match Math3D_LineSegMakePerpLineSeg Also renamed to Math3D_LineVsLineClosestTwoPoints * Fix UB * Some actor.c docs (in preparation for en_test) (#820) * renames * format * format functions.h * clean * arg name * remove asm * Decompile obj_bean (magic bean and soft soil). 2 NON_MATCHINGs (#846) * did a bunch * Do a bunch more * all functions in C * Macros for draw and collision part of state flags * Done for now * remove ASM * PR fixes (Elliptic) * all angles are hex and take away bad names * PR fixes (Roman) * PR fixes * PR fixes (Fig) * restore map mark * Fix the other messed with files * Decompile some more objects (#848) * Object_FU limbs and skel OK * limbs OK * Object_FU textures OK * Object_FU face textures OK * Symbols in en_fu.c * en_fu.c limb enum * Remove Object_fu from undefined_syms, move textures to draw, and small cleanup * Object_bird OK * Object_Bird OK, added cutscene for shot sun, and song of storms * Rainbow Bridge CS * Great fairy CS * Cutscene -> Cs * remove '&' from Cutscenes * Cleanup object_bird * Update z_en_fu.c * Update z_en_fu.h * Update z_en_fu.c * Update z_en_fu.h * Update z_en_fu.h * DC intro CS * Zeldas lullaby CS * Nabooru Knuckle CS * Owl Lake Hylia CS * Sun song CS * Undefined sym in Boss Dodongo * Missed a few more * DC tex name * Windmill man limbs * z_En_Ossan and dependencies (#824) * fix colliderinit typo * fix initchain * reloc * progress * progress * Pick off a few easy functions, reduce number of warnings * more tough OKs * Getting closer to all OK, fix en_girla header * some hard OKs, 7 to go * two funcs remaining * func_80AC7094 OK! * Fix warnings, begin documentation * get most of object_ossan documented, document some of en_ossan * improve en_girla function names * more EnOssan documentation * more documentation * en_tana basically complete, en_girla vars all named, en_ossan documentation improvements * delete TIME ITSELF * object_oF1d_map OK * more names, fixed a poition typo * Nearly all en_ossan functions named, all variables named * format.sh * forgot to delete data * implement pr changes * EnOssan OK! implement most of Roman's suggestions * ugh * implement figs suggestions * implement roman's suggestion * Can't tell my left from my other left Co-authored-by: fig02 <fig02srl@gmail.com> * Some progress on z_vr_box.c (#838) * z_vr_box.c progress * Rename dpList to dlistBuf and SKYBOX_CLEAR_SKY to SKYBOX_NORMAL_SKY * Fix * renamed dlistBuf to dListBuf and split large string further * Change PreRenderContext to just be PreRender (#862) * Decompile Fishing and document object_fish (#856) * Start decompiling Fishing * Decompile more functions in Fishing * Decompile a few more functions in Fishing * Decompile func_80B6E9E0 and func_80B7825C (non matching) * Minor Fishing cleanups * Migrate fishing bss to C and match 3 functions * Decompile and match Fishing_Update * Migrate fishing data to C and minor cleanups * Fix the object_fish xml and use its symbols in Fishing * Partially document Fishing and object_fish * Add more documentation/cleanups to Fishing and object_fish * Use object_fish symbols in Demo_Ec and fix naming * Minor fixes to Fishing docs * Apply review suggestions for Fishing * Apply 2 more review suggestions for Fishing * Apply some review suggestions for Fishing * Extract all "place name" title cards (#858) * Forest and shadow temple * fire temple * Water temple * Spirit temple * Deku tree * jabu jabu * DC * Inside Ganons castle * GTG * Castle courtyard * great fairy's fountain * chamber of sages * shooting gallery * Temple of time * market * back alley * kokir shop * goron shop * zora shop * House of skulltula * bazarr * potion shop * gravekeepers hut * lakeside lab * hyrule field * kak * graveyard * zoras river * kokiri forest * lake hylia * zoras domain * zoras fountain * gerudo valley * lost woods * the rest of them * cleanup * final cleanup * PR fixes (Zel) * (Re) fix case * segment 0 * Fix map name static conflict * Comment about ZAPD * number 0 * Update place_title_cards.xml * Update spec * Fix all xmls to explicitly use offsets (#859) * Forest and shadow temple * fire temple * Water temple * Spirit temple * Deku tree * jabu jabu * DC * Inside Ganons castle * GTG * Castle courtyard * great fairy's fountain * chamber of sages * shooting gallery * Temple of time * market * back alley * kokir shop * goron shop * zora shop * House of skulltula * bazarr * potion shop * gravekeepers hut * lakeside lab * hyrule field * kak * graveyard * zoras river * kokiri forest * lake hylia * zoras domain * zoras fountain * gerudo valley * lost woods * the rest of them * cleanup * final cleanup * PR fixes (Zel) * Fra -> FRA and cleanup map_name_static * map_name_static * DONE * SHould be it * Done done done done * vector * remove another pr * ? * EnDekubaba OK and documented, object_dekubaba documented (#864) * 13 functions left, data imported * 2 left * 1 left * OK * Begin naming * sfx rename * spec * Begin naming, add LINK_IS_CHILD to EnDu * Fix spelling of its/it's * Document most of object_dekubaba, import symbols * Document draw functions, begin on actionfuncs * New actor function names, some float constants * Name almost everything * Delete asm * Name size, format * Review changes * Review changes * Brackets, format * Fix Sheik typo (#867) * db_camera (#842) * Decompile shrink_window.c * progress * progress * makefile * progress * match 8 functions * 1 more match * match 2 functions * decompile func_800B9638 * fix flow * migrate .bss * doc * name some stuff * fixes * comment fix * remove scene .c files * old z_camera .s files * revert z_camera change * revert unwanted z_camera change * fixes * remove unused files, run clang-format and fix non-matching * fix clang-format causing non-matching * remove newline + old comment in func_800B3BD4 * make db_camera global variables static * add s prefix to startic variables * change magic constants * rename "unk_50" * Match func_800B3BD4 and Match DbCamera_UpdateDemoControl (-bss) * Lots of progress on update * Mainly cleanup * run format.sh + remove unused asm * replace chevrons with add quotes * remove useless cast + use correct empty argument function declaration Co-authored-by: engineer124 <engineer124engineer124@gmail.com> * Match Interface_Draw (z_parameter OK) (#876) * Interface_Draw down to permuter score = 175 * Fix typo * Matched Interface_Draw! * clean-up * Another touch-up * a little more cleanup * No more direct gGameInfo->data access * Audio WIP (#836) * being code_800EC960 * wip * wip * more audio progress * migrate data in code_800E11F0 * wip * make ok * remove asm * wip * move some variables outside of gAudioContext to the AudioContext structure due to the size used in func_800E3094 * more progress * wip * wip * split code_800E11F0 * migrate rodata in code_800E11F0 * match functions that couldn't because of data issues * move code_800E4FE0 asm files * wip * more wip * fix global functions, and forward declarations * wip * wip * wip * ocarina wip * match a couple functions * some progress * separate some bss * match func_800EDA3C * some matching * more matches * migrate audio rodata * some matches * more matchess * start on synthesis * work on synthesis * fix function declaration * Merge branch 'master' into audio * match a few more functions * wip * wip * more matching, rename Audio_SetBGM to Audio_QueueSeqCmd * name several audio functions, and audiocontext members * more naming, rename code_800E11F0 to audio_load, code_800DAAC0 to audio_synthesis * audio wip * match a few more functions. * wip * add missing NON_MATCHING directive * wip * some matching, data reogranization * match cursed function * wip * wip * formatting * remove prefix from struct memebers * missed function rename * review Co-authored-by: fig02 <fig02srl@gmail.com> * ZAPD update: Gotta go fast! (#877) * copy over the xml * Rename anims * A bunch of renames * minor extract_assets fixes * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "820678b4e" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "820678b4e" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Change rgb5a1 to rgba16 * eye and eyebrows * some dlists * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "6be9af65d" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "6be9af65d" git-subrepo: version: "0.4.3" origin: "???" commit: "???" * Dancing Couple (ovl_En_Tg) (#866) * Match EnTg_Destroy * Match EnTg_Init * Matching EnTg_Update * Match func_80B18360 Moving both 'return phi;'s into a single return at the end of the function causes the assembly to not match. * Probably equivalent, non-matching func_80B183F8 * Matching EnTg_Draw * Matching update function * Matching func_80B18778 * All functions decompiled * Move data to C code * All functions matched excepted weird switch/case * Last matching function * Remove unused ASM * Name obvious symbols * Clang format * Name text-related functions and variables * Describe actor as Dancing Couple See https://github.com/zeldaret/oot/pull/866#discussion_r664726581 * Use named constants * Name drawing constants * Use THIS macro for void* * Name the function that sets environment color * Add comments to parts of code that aren't clear * Rename timesSpokenTo to nextDialogue, treat isTalking as boolean * z_en_ko OK (#869) * .data OK * Progress * push some old stuff * Finish a chain * Progress * Progress * Run mathfixer.py * Progress * match one more * Up to date * Match func_80A97610 * func_80A96FD0 * most of the way through the mega switch * small formatting thing. still stuck on the switch * start a big switch function * a little closer * done with matching for now starting objects * func_80A97738 OK! * func_80A995CC OK! * func_80A99864 OK! * en_ko OK! * Code clean-up pass * more EnKo cleanups, object_fa and object_kw1 textures documented * complete object_km1, more EnKo documentation * More documentation * delete asm * Clean-up rebase issues * bleh * Implement Dragorn's suggestions * fix spec, implement fig's suggestions * whoops (ill leave it for the docs tho lol) * whoops again * i made an ouchie * smile * last one for real Co-authored-by: Louis <35883445+louist103@users.noreply.github.com> Co-authored-by: fig02 <fig02srl@gmail.com> * z_en_bigokuta OK (#878) * start * Did some more * Progress * More * IDK * Chip away a little * im done * func_809BEBBC OK! * get rid of graphovl * revert random changes * Big Okuta OK! * more clean-ups * implement dragorn's suggestions * implement fig and louist's suggestions Co-authored-by: Louis <35883445+louist103@users.noreply.github.com> * z_obj_mure OK (#875) * almost matching init, matching data * more matchings, some non-matching progress * finishing up SpawnActor, fixing .data types * first decompile pass done, few non matchings * cleanup/update matchings and remove asm * format code * pick up some OKs * 1 non_matching left, some documentation * z_obj_mure OK... but at what cost? * implement suggested changes, some more documentation * Implement Fig's suggestions * review Co-authored-by: Sam Lyon <sam.c.lyon@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com> * convert remaining RGB5a1 to RGBA16 (#879) * Stalfos (en_test) OK and object_sk2 documented (#868) * fix colliderinit typo * migrate data * init has 1 problem * progress * progress * builds now * progress * progress * lots of funcs matched * many functions, fix warnings * 1 left * done * docs progress * remove graphovl * missed some * change some funcs * some more * another * format * more docs * cleanups1 * limbs, DLs, textures * limbs named (thanks elliptic) * more docs * Name animations, import symbols * Named sections of xml * more docs * rename limbs and use flag macros * name * review1 and use limb enum * review2 * agro -> aggro * review3 * review4 * review5 Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> * Use a temp symbol for RomStart/RomEnd symbols, makes the map show the right value for actual RomStart/RomEnd symbols (#880) * builds OK * first pass * PR fixes (Louis) * fixes * a little more * format * dragorn's stuff * more cleanup, merge, and format * now with work buffers * forgot sfx * update and draw Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain> Co-authored-by: Louis <35883445+louist103@users.noreply.github.com> Co-authored-by: Parker Burnett <burnettparker@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com> Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com> Co-authored-by: glankk <glankk@users.noreply.github.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Co-authored-by: zelda2774 <69368340+zelda2774@users.noreply.github.com> Co-authored-by: zelda2774 <zelda2774@invalid> Co-authored-by: mzxrules <mzxrules@gmail.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com> Co-authored-by: Nicholas Estelami <NEstelami@users.noreply.github.com> Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com> Co-authored-by: Zach Banks <zjbanks@gmail.com> Co-authored-by: Derek Hensley <hensley.derek58@gmail.com> Co-authored-by: Kenix3 <kenixwhisperwind@gmail.com> Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> Co-authored-by: pixel-stuck <mathmcclintic@gmail.com> Co-authored-by: Vijfhoek <me@vijf.life> Co-authored-by: Synray <31429825+Synray@users.noreply.github.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com> Co-authored-by: Random <28494085+Random06457@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: krimtonz <33664508+krimtonz@users.noreply.github.com> Co-authored-by: Aly Cerruti <aprime2003@gmail.com> Co-authored-by: Sam Lyon <sam.c.lyon@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-08-08 19:26:56 +00:00
extern u8 D_801305D0[];
//extern ? D_801305E0;
2020-03-17 04:31:30 +00:00
//extern ? D_801305F4;
//extern ? D_80130600;
//extern ? D_80130604;
//extern ? D_80130608;
//extern ? D_8013060C;
//extern ? D_80130610;
//extern ? D_80130614;
//extern ? D_80130618;
//extern ? D_8013061C;
//extern ? D_80130624;
//extern ? D_80130628;
//extern ? D_8013062C;
//extern ? D_80130630;
//extern ? D_80130634;
//extern ? D_80130638;
//extern ? D_8013063C;
//extern ? D_80130640;
//extern ? D_80130644;
//extern ? D_80130648;
//extern ? D_8013064C;
//extern ? D_80130650;
//extern ? D_80130654;
//extern ? D_80130658;
//extern ? D_801306DC;
//extern ? sOcarinaAllowedBtnMask;
//extern ? sOcarinaABtnMap;
//extern ? sOcarinaCUPBtnMap;
//extern ? sOcarinaCDownBtnMap;
//extern ? sOcarinaInpEnabled;
2020-03-17 04:31:30 +00:00
//extern ? D_80130F10;
//extern ? sCurOcarinaBtnVal;
//extern ? sPrevOcarinaNoteVal;
//extern ? sCurOcarinaBtnIdx;
//extern ? sLearnSongLastBtn;
2020-03-17 04:31:30 +00:00
//extern ? D_80130F24;
//extern ? D_80130F28;
//extern ? D_80130F2C;
//extern ? D_80130F30;
//extern ? D_80130F34;
//extern ? sPlaybackState;
2020-03-17 04:31:30 +00:00
//extern ? D_80130F3C;
//extern ? sNotePlaybackTimer;
//extern ? sPlaybackNotePos;
//extern ? sStaffPlaybackPos;
2020-03-17 04:31:30 +00:00
//extern ? D_80130F4C;
//extern ? sDisplayedNoteValue;
//extern ? sNotePlaybackVolume;
//extern ? sNotePlaybackVibrato;
//extern ? sNotePlaybackTone;
//extern ? sNormalizedNotePlaybackTone;
//extern ? sNormalizedNotePlaybackVolume;
2020-03-17 04:31:30 +00:00
//extern ? D_80130F68;
//extern ? sOcarinaNoteValues;
//extern ? sOcaMinigameApndPos;
//extern ? sOcaMinigameEndPos;
//extern ? sOcarinaSongs;
2020-03-17 04:31:30 +00:00
//extern ? D_80131100;
//extern ? D_80131840;
extern u8* gFrogsSongPtr; // D_80131854: pointer to a u8 array of the notes you need to play for the frogs
2020-03-17 04:31:30 +00:00
//extern ? D_80131858;
//extern ? sRecordSongPos;
2020-03-17 04:31:30 +00:00
//extern ? D_80131860;
//extern ? D_80131864;
//extern ? D_80131868;
//extern ? D_8013186C;
//extern ? D_80131870;
//extern ? D_80131874;
//extern ? D_80131878;
//extern ? D_8013187C;
//extern ? D_80131880;
//extern ? sPierresSong;
2020-03-17 04:31:30 +00:00
//extern ? D_8013188C;
extern OcarinaSong* gScarecrowCustomSongPtr;
extern u8* gScarecrowSpawnSongPtr;
2020-03-17 04:31:30 +00:00
//extern ? D_80131BEC;
//extern ? D_80131BF0;
extern OcarinaSongInfo gOcarinaSongNotes[];
2020-03-17 04:31:30 +00:00
//extern ? D_80131C80;
//extern ? D_80131C84;
//extern ? D_80131C88;
//extern ? D_80131C90;
//extern ? D_80131C94;
//extern ? D_80131C98;
//extern ? D_80131C9C;
//extern ? D_80131CA0;
//extern ? D_80131CA4;
//extern ? D_80131CA8;
//extern ? D_80131CAC;
//extern ? D_80131E08;
//extern ? D_80131E20;
//extern ? D_80131E38;
//extern ? D_80131E88;
//extern ? D_80131EBC;
//extern ? D_80131EC0;
//extern ? D_80131EC4;
//extern ? D_80131EC8;
//extern ? D_80131ED0;
//extern ? sAudioScreenPrintInd;
//extern ? sAudioScreenPrintOverflow;
2020-03-17 04:31:30 +00:00
//extern ? D_80131EDC;
//extern ? D_80131EE0;
//extern ? D_80131EE4;
//extern ? D_80131EFC;
//extern ? D_80131F00;
//extern ? D_80131F04;
//extern ? D_80131F08;
//extern ? D_80131F0C;
//extern ? D_80131F18;
//extern ? D_80131F1C;
//extern ? D_80131F20;
//extern ? D_80131F28;
//extern ? D_80131F2C;
//extern ? D_80131F30;
//extern ? D_80131F44;
//extern ? D_80131F4C;
//extern ? D_80131F50;
//extern ? D_80131F54;
//extern ? D_80131F64;
//extern ? D_80131F68;
//extern ? D_80131F6C;
extern Struct_8013331C *D_8013331C[];
2020-03-17 04:31:30 +00:00
//extern ? D_80133344;
extern char D_80133390[];
extern char D_80133398[];
extern u8 D_801333A0;
extern u8 D_801333A4;
extern SoundBankEntry* gSoundBanks[7];
extern u8 sBankSizes[7];
extern u8 D_801333CC;
extern u16 D_801333D0;
2020-03-17 04:31:30 +00:00
extern Vec3f D_801333D4;
extern f32 D_801333E0;
extern s8 D_801333E8;
extern u8 D_801333F0;
extern u8 D_801333F4;
extern u8 D_801333F8;
//extern ? sSeqCmdWrPos;
//extern ? sSeqCmdRdPos;
2020-03-17 04:31:30 +00:00
//extern ? D_80133408;
//extern ? D_8013340C;
//extern ? D_80133414;
//extern ? D_80133418;
extern AudioSessionSettings gAudioSessionPresets[18];
2020-03-17 04:31:30 +00:00
extern s32 gOverlayLogSeverity;
//extern ? D_80134480;
//extern ? D_80134484;
extern s32 gSystemArenaLogSeverity;
//extern ? D_801344C0;
extern u32 gOSSiAccessQueueCreated; // = 0;
extern u32 gOSContInitialized; // = 0
extern s32 __osPfsInodeCacheChannel;
extern u8 __osPfsInodeCacheBank;
extern s32 __osPfsLastChannel;
2020-03-17 04:31:30 +00:00
//extern ? D_80135130;
//extern ? D_80135158;
//extern ? D_801351A8;
//extern ? D_801351BC;
//extern ? D_801351F8;
//extern ? D_8013520C;
//extern ? D_80135220;
//extern ? D_80135230;
//extern ? D_80135244;
//extern ? D_80135264;
//extern ? D_80135278;
//extern ? D_801352B8;
//extern ? D_801352CC;
//extern ? D_801352E0;
//extern ? D_801352F4;
//extern ? D_80135308;
//extern ? D_8013531C;
//extern ? D_80135330;
//extern ? D_80135344;
//extern ? D_80135358;
//extern ? D_801353A4;
//extern ? D_801353B8;
//extern ? D_801353E0;
//extern ? D_801353F4;
//extern ? D_80135418;
//extern ? D_80135450;
//extern ? D_80135458;
//extern ? D_80135494;
//extern ? D_80135498;
//extern ? D_801354B4;
//extern ? D_801354E0;
//extern ? D_80135504;
//extern ? D_80135518;
//extern ? D_80135548;
//extern ? D_8013555C;
//extern ? D_80135594;
//extern ? D_801355C0;
//extern ? D_801355D4;
//extern ? D_801355E8;
//extern ? D_801355FC;
//extern ? D_80135610;
//extern ? D_80135624;
//extern ? D_80135638;
//extern ? D_8013564C;
//extern ? D_80135660;
//extern ? D_80135674;
//extern ? D_80135688;
//extern ? D_8013569C;
//extern ? D_801356C0;
//extern ? D_801356F8;
//extern ? D_8013571C;
//extern ? D_80135730;
//extern ? D_80135750;
//extern ? D_80135780;
//extern ? D_8013579C;
//extern ? D_801357C0;
//extern ? D_801357F8;
//extern ? D_8013581C;
//extern ? D_80135838;
//extern ? D_80135878;
//extern ? D_80135894;
//extern ? D_8013589C;
//extern ? D_80135958;
//extern ? D_8013595C;
//extern ? D_80135964;
//extern ? D_801359AC;
//extern ? D_801359B0;
//extern ? D_80135A4C;
//extern ? D_80135A54;
//extern ? D_80135ADC;
//extern ? D_80135AE8;
//extern ? D_80135BB4;
//extern ? D_80135BBC;
//extern ? D_80135BF4;
//extern ? D_80135C00;
//extern ? D_80135C24;
//extern ? D_80135FD8;
//extern ? D_80135FE8;
//extern ? D_80135FF0;
//extern ? D_80135FF4;
//extern ? D_80136010;
//extern ? D_80136028;
//extern ? D_80136040;
//extern ? D_80136048;
//extern ? D_80136078;
//extern ? D_8013607C;
//extern ? D_80136080;
//extern ? D_80136090;
//extern ? D_801360A0;
//extern ? D_801360B0;
//extern ? D_801360C0;
//extern ? D_801360D0;
//extern ? D_801360E0;
//extern ? D_801360F0;
//extern ? D_80136100;
//extern ? D_80136110;
//extern ? D_80136130;
//extern ? D_80136140;
//extern ? D_80136150;
//extern ? D_80136160;
//extern ? D_80136170;
//extern ? D_80136180;
//extern ? D_80136184;
//extern ? D_801361B8;
extern char D_80136208[];
extern char D_80136218[];
extern char D_80136228[];
extern char D_80136238[];
//extern ? D_8013627C;
//extern ? D_8013628C;
//extern ? D_8013629C;
//extern ? D_801362AC;
//extern ? D_801362BC;
//extern ? D_801362CC;
//extern ? D_801362E4;
//extern ? D_801362F4;
//extern ? D_80136304;
//extern ? D_80136340;
//extern ? D_80136354;
//extern ? D_80136358;
//extern ? D_80136374;
//extern ? D_80136384;
//extern ? D_80136398;
//extern ? D_801363A4;
//extern ? D_801363B4;
//extern ? D_801363C4;
//extern ? D_801363D4;
//extern ? D_801363E4;
//extern ? D_801363F4;
//extern ? D_80136408;
//extern ? D_80136434;
//extern ? D_80136458;
//extern ? D_80136480;
//extern ? D_80136490;
//extern ? D_801364A0;
//extern ? D_801364B4;
//extern ? D_801364C4;
//extern ? D_801364D4;
//extern ? D_801364D8;
//extern ? D_80136508;
//extern ? D_80136518;
//extern ? D_8013653C;
//extern ? D_8013654C;
//extern ? D_8013657C;
//extern ? D_80136598;
//extern ? D_801365BC;
//extern ? D_801365D4;
//extern ? D_801365E4;
//extern ? D_80136610;
//extern ? D_80136614;
//extern ? D_8013662C;
//extern ? D_8013663C;
//extern ? D_80136640;
//extern ? D_8013665C;
//extern ? D_80136684;
//extern ? D_801366A0;
//extern ? D_801366B8;
//extern ? D_801366D8;
//extern ? D_801366E8;
//extern ? D_801366FC;
//extern ? D_80136754;
//extern ? D_8013675C;
//extern ? D_8013678C;
//extern ? D_80136790;
//extern ? D_801367D8;
//extern ? D_80136818;
//extern ? D_8013681C;
//extern ? D_80136838;
//extern ? D_80136848;
//extern ? D_8013686C;
//extern ? D_80136870;
//extern ? D_8013688C;
//extern ? D_8013689C;
//extern ? D_801368B8;
//extern ? D_801368D8;
//extern ? D_801368E8;
//extern ? D_80136904;
//extern ? D_80136914;
//extern ? D_80136924;
//extern ? D_80136934;
//extern ? D_80136944;
//extern ? D_80136954;
//extern ? D_80136964;
//extern ? D_80136974;
//extern ? D_80136984;
//extern ? D_80136994;
//extern ? D_801369A4;
//extern ? D_801369B4;
//extern ? D_801369C4;
//extern ? D_801369D4;
//extern ? D_801369F4;
//extern ? D_80136A04;
//extern ? D_80136A14;
//extern ? D_80136A24;
//extern ? D_80136A34;
//extern ? D_80136A44;
extern char D_80136A54[];
extern char D_80136A68[];
extern char D_80136A7C[];
extern char D_80136A90[];
extern char D_80136AA4[];
extern char D_80136AB8[];
extern f32 D_80136D3C;
extern f32 D_80136D40;
extern f32 D_80136D44;
//extern ? D_801385A4;
//extern ? D_801385B8;
//extern ? D_801385F8;
//extern ? D_8013861C;
//extern ? D_80138620;
//extern ? D_80138634;
//extern ? D_80138654;
//extern ? D_8013866C;
//extern ? D_80138670;
//extern ? D_80138678;
//extern ? D_801386CC;
//extern ? D_801386D0;
//extern ? D_801386E4;
//extern ? D_801386F4;
//extern ? D_80138708;
//extern ? D_80138718;
//extern ? D_80138724;
//extern ? D_80138780;
//extern ? D_80138784;
//extern ? D_80138798;
//extern ? D_801387A8;
//extern ? D_801387BC;
//extern ? D_801387CC;
//extern ? D_80138810;
//extern ? D_80138834;
//extern ? D_80138858;
//extern ? D_8013887C;
//extern ? D_801388A4;
//extern ? D_801388B4;
//extern ? D_801388C4;
//extern ? D_801388CC;
//extern ? D_801388F0;
//extern ? D_801388F4;
//extern ? D_80138900;
//extern ? D_8013894C;
//extern ? D_80138950;
//extern ? D_80138960;
//extern ? D_80138980;
//extern ? D_80138990;
//extern ? D_801389A0;
//extern ? D_801389C0;
//extern ? D_801389D0;
//extern ? D_801389F0;
//extern ? D_80138A00;
//extern ? D_80138A10;
//extern ? D_80138A50;
//extern ? D_80138A60;
//extern ? D_80138A80;
//extern ? D_80138AA4;
//extern ? D_80138AB4;
//extern ? D_80138AC4;
//extern ? D_80138AE0;
//extern ? D_80138AF0;
//extern ? D_80138B30;
//extern ? D_80138B40;
//extern ? D_80138B68;
//extern ? D_80138B78;
//extern ? D_80138B8C;
//extern ? D_80138B9C;
//extern ? D_80138BB0;
//extern ? D_80138BC0;
//extern ? D_80138BC8;
//extern ? D_80138C14;
//extern ? D_80138C18;
//extern ? D_80138C20;
//extern ? D_80138C44;
//extern ? D_80138C48;
//extern ? D_80138C50;
//extern ? D_80138C74;
//extern ? D_80138C78;
//extern ? D_80138C80;
//extern ? D_80138CE0;
//extern ? D_80138CEC;
//extern ? D_80138D5C;
//extern ? D_80138D60;
//extern ? D_80138D68;
//extern ? D_80138DA4;
//extern ? D_80138DAC;
//extern ? D_80138DE8;
//extern ? D_80138E2C;
//extern ? D_80138E3C;
//extern ? D_80138E80;
//extern ? D_80138E90;
//extern ? D_80138E98;
//extern ? D_80138EBC;
//extern ? D_80138EC0;
//extern ? D_80138EC8;
//extern ? D_80138EEC;
//extern ? D_80138EF0;
//extern ? D_80138F04;
//extern ? D_80138F14;
//extern ? D_80138F28;
//extern ? D_80138FD0;
//extern ? D_80138FD8;
//extern ? D_80139038;
//extern ? D_80139060;
//extern ? D_80139094;
//extern ? D_801390B4;
//extern ? D_801390D4;
//extern ? D_801390F4;
//extern ? D_8013912C;
//extern ? D_80139140;
//extern ? D_80139168;
//extern ? D_801391B4;
//extern ? D_80139218;
//extern ? D_80139248;
//extern ? D_80139294;
//extern ? D_801392DC;
//extern ? D_8013930C;
//extern ? D_80139344;
//extern ? D_8013935C;
//extern ? D_8013938C;
//extern ? D_801393DC;
//extern ? D_801393FC;
//extern ? D_80139408;
//extern ? D_80139450;
//extern ? D_80139488;
//extern ? D_801394C0;
//extern ? D_801394F8;
//extern ? D_80139530;
//extern ? D_80139550;
//extern ? D_8013956C;
//extern ? D_80139588;
//extern ? D_801395A4;
//extern ? D_801395C0;
//extern ? D_801395DC;
//extern ? D_80139604;
//extern ? D_8013960C;
//extern ? D_80139614;
//extern ? D_80139644;
//extern ? D_80139654;
//extern ? D_8013965C;
//extern ? D_80139690;
//extern ? D_801396D4;
//extern ? D_80139714;
//extern ? D_80139754;
//extern ? D_80139764;
//extern ? D_80139794;
//extern ? D_801397C4;
//extern ? D_801397E4;
//extern ? D_801397F4;
//extern ? D_80139824;
//extern ? D_8013984C;
//extern ? D_801398C0;
//extern ? D_801398E4;
//extern ? D_80139910;
//extern ? D_80139930;
//extern ? D_80139960;
//extern ? D_80139964;
//extern ? D_80139968;
//extern ? D_8013996C;
//extern ? D_80139970;
//extern ? D_80139984;
//extern ? D_801399A4;
//extern ? D_801399CC;
//extern ? D_801399E8;
//extern ? D_80139A00;
//extern ? D_80139A24;
//extern ? D_80139A34;
//extern ? D_80139A48;
//extern ? D_80139A60;
//extern ? D_80139A84;
//extern ? D_80139AA8;
//extern ? D_80139AD4;
//extern ? D_80139AE8;
//extern ? D_80139B08;
//extern ? D_80139B28;
//extern ? D_80139B4C;
//extern ? D_80139B74;
//extern ? D_80139B98;
//extern ? D_80139BB4;
//extern ? D_80139BD8;
//extern ? D_80139BF0;
//extern ? D_80139C34;
//extern ? D_80139C58;
//extern ? D_80139C90;
//extern ? D_80139CC0;
//extern ? D_80139D00;
//extern ? D_80139D2C;
//extern ? D_80139D54;
//extern ? D_8013A580;
//extern ? D_8013A5B0;
//extern ? D_8013A5C8;
//extern ? D_8013A5D8;
//extern ? D_8013A5F0;
//extern ? D_8013A608;
//extern ? D_8013A620;
//extern ? D_8013A638;
//extern ? D_8013A640;
//extern ? D_8013A670;
//extern ? D_8013A674;
//extern ? D_8013A68C;
//extern ? D_8013A694;
//extern ? D_8013A6C4;
//extern ? D_8013A6C8;
//extern ? D_8013A6E0;
//extern ? D_8013A6E8;
//extern ? D_8013A714;
//extern ? D_8013A718;
//extern ? D_8013A738;
//extern ? D_8013A750;
//extern ? D_8013A768;
//extern ? D_8013A780;
//extern ? D_8013A788;
//extern ? D_8013A7B4;
//extern ? D_8013A7B8;
//extern ? D_8013A7D0;
//extern ? D_8013A7D8;
//extern ? D_8013A804;
//extern ? D_8013A808;
//extern ? D_8013A828;
//extern ? D_8013A840;
//extern ? D_8013A868;
//extern ? D_8013A880;
//extern ? D_8013A8BC;
//extern ? D_8013A8E4;
//extern ? D_8013A8FC;
//extern ? D_8013A94C;
//extern ? D_8013A988;
//extern ? D_8013A9B0;
//extern ? D_8013A9C8;
//extern ? D_8013AA04;
//extern ? D_8013AA2C;
//extern ? D_8013AA44;
//extern ? D_8013AA94;
//extern ? D_8013AAD0;
//extern ? D_8013AAF8;
//extern ? D_8013AB10;
//extern ? D_8013AB4C;
//extern ? D_8013AB74;
//extern ? D_8013AB8C;
//extern ? D_8013ABDC;
//extern ? D_8013AC18;
//extern ? D_8013AC58;
//extern ? D_8013AC7C;
//extern ? D_8013ACA0;
//extern ? D_8013ACB8;
//extern ? D_8013B830;
//extern ? D_8013B844;
//extern ? D_8013B858;
//extern ? D_8013B864;
//extern ? D_8013B868;
//extern ? D_8013B87C;
//extern ? D_8013B890;
//extern ? D_8013B8A4;
//extern ? D_8013B8B0;
//extern ? D_8013B8B4;
//extern ? D_8013B9E0;
//extern ? D_8013BA00;
//extern ? D_8013BA18;
//extern ? D_8013BA38;
//extern ? D_8013BA58;
//extern ? D_8013BA78;
//extern ? D_8013BA98;
//extern ? D_8013BAB8;
//extern ? D_8013BAFC;
//extern ? D_8013BD40;
//extern ? D_8013BD4C;
//extern ? D_8013BD5C;
//extern ? D_8013BD6C;
//extern ? D_8013BD7C;
//extern ? D_8013BD94;
//extern ? D_8013BDAC;
//extern ? D_8013BDBC;
//extern ? D_8013BE88;
//extern ? D_8013BE98;
//extern ? D_8013BEA4;
//extern ? D_8013BEB8;
//extern ? D_8013BEF4;
//extern ? D_8013BF00;
//extern ? D_8013BF30;
//extern ? D_8013BF6C;
//extern ? D_8013BF98;
//extern ? D_8013BFBC;
//extern ? D_8013BFE0;
//extern ? D_8013C004;
//extern ? D_8013C028;
//extern ? D_8013C04C;
//extern ? D_8013C07C;
//extern ? D_8013C084;
//extern ? D_8013C0A0;
//extern ? D_8013C0A4;
//extern ? D_8013C160;
extern char D_8013C190[];
//extern ? D_8013C1A0;
//extern ? D_8013C1B0;
//extern ? D_8013C1C0;
//extern ? D_8013C1E4;
//extern ? D_8013C218;
//extern ? D_8013C22C;
//extern ? D_8013C240;
//extern ? D_8013C2C0;
//extern ? D_8013C2F4;
//extern ? D_8013C330;
//extern ? D_8013C340;
//extern ? D_8013C350;
//extern ? D_8013C360;
//extern ? D_8013C370;
//extern ? D_8013C380;
//extern ? D_8013C390;
//extern ? D_8013C3D0;
//extern ? D_8013C3D8;
//extern ? D_8013C3E0;
//extern ? D_8013C3E4;
//extern ? D_8013C3F0;
//extern ? D_8013C3F8;
//extern ? D_8013C3FC;
//extern ? D_8013C400;
//extern ? D_8013C404;
//extern ? D_8013C408;
//extern ? D_8013C410;
//extern ? D_8013C414;
//extern ? D_8013C420;
//extern ? D_8013C428;
//extern ? D_8013C42C;
//extern ? D_8013C430;
//extern ? D_8013C434;
//extern ? D_8013C438;
//extern ? D_8013C440;
//extern ? D_8013C444;
//extern ? D_8013C44C;
//extern ? D_8013C450;
//extern ? D_8013C458;
//extern ? D_8013C470;
//extern ? D_8013C480;
//extern ? D_8013C490;
//extern ? D_8013C4C8;
//extern ? D_8013C500;
//extern ? D_8013C52C;
//extern ? D_8013C55C;
//extern ? D_8013C56C;
//extern ? D_8013C57C;
//extern ? D_8013C58C;
//extern ? D_8013C59C;
//extern ? D_8013C5AC;
//extern ? D_8013C5BC;
//extern ? D_8013C5CC;
//extern ? D_8013C5DC;
//extern ? D_8013C5EC;
//extern ? D_8013C5FC;
//extern ? D_8013C60C;
//extern ? D_8013C61C;
//extern ? D_8013C62C;
//extern ? D_8013C63C;
//extern ? D_8013C64C;
//extern ? D_8013C65C;
//extern ? D_8013C66C;
//extern ? D_8013C67C;
//extern ? D_8013C68C;
//extern ? D_8013C69C;
//extern ? D_8013C6D4;
//extern ? D_8013C6E8;
//extern ? D_8013C6FC;
//extern ? D_8013C710;
//extern ? D_8013C724;
//extern ? D_8013C738;
//extern ? D_8013C750;
//extern ? D_8013C760;
//extern ? D_8013C770;
//extern ? D_8013C780;
//extern ? D_8013C840;
extern char D_8013C860[];
extern char D_8013C874[];
extern f32 D_8013C888;
extern f32 D_8013C88C;
extern f32 D_8013C890;
extern f32 D_8013C894;
extern f32 D_8013C898;
//extern ? D_8013C8A0;
//extern ? D_8013C8B0;
//extern ? D_8013C8C0;
//extern ? D_8013C8D0;
//extern ? D_8013C8E0;
//extern ? D_8013CB20;
//extern ? D_8013CB2C;
//extern ? D_8013CB40;
//extern ? D_8013CB4C;
//extern ? D_8013CB58;
//extern ? D_8013CB68;
extern f32 D_8013CB80;
//extern ? D_8013CBA0;
//extern ? D_8013CBC0;
//extern ? D_8013CBD4;
//extern ? D_8013CBD8;
//extern ? D_8013CC18;
//extern ? D_8013CC60;
//extern ? D_8013CCA8;
//extern ? D_8013CCDC;
//extern ? D_8013CD20;
//extern ? D_8013CD6C;
//extern ? D_8013CDB4;
//extern ? D_8013CDEC;
//extern ? D_8013CE14;
//extern ? D_8013D700;
//extern ? D_8013D708;
//extern ? D_8013D75C;
//extern ? D_8013D760;
//extern ? D_8013D768;
//extern ? D_8013D774;
//extern ? D_8013D778;
//extern ? D_8013D788;
//extern ? D_8013D790;
//extern ? D_8013D7E0;
//extern ? D_8013D7E4;
//extern ? D_8013D7F4;
//extern ? D_8013D810;
//extern ? D_8013D864;
//extern ? D_8013D87C;
//extern ? D_8013D884;
//extern ? D_8013D894;
//extern ? D_8013D898;
//extern ? D_8013D8A8;
//extern ? D_8013D8E8;
//extern ? D_8013D908;
//extern ? D_8013D918;
//extern ? D_8013D928;
//extern ? D_8013D938;
//extern ? D_8013D948;
//extern ? D_8013D958;
//extern ? D_8013D968;
//extern ? D_8013D988;
//extern ? D_8013D998;
//extern ? D_8013D9C0;
//extern ? D_8013D9C8;
//extern ? D_8013D9D8;
//extern ? D_8013E770;
//extern ? D_8013E784;
//extern ? D_8013E798;
//extern ? D_8013E7AC;
//extern ? D_8013E7C0;
//extern ? D_8013E7D4;
//extern ? D_8013E7E8;
//extern ? D_8013E7FC;
//extern ? D_8013E810;
//extern ? D_8013E824;
//extern ? D_8013E838;
//extern ? D_8013E84C;
//extern ? D_8013E860;
//extern ? D_8013E874;
//extern ? D_8013E888;
//extern ? D_8013E89C;
//extern ? D_8013E8B0;
//extern ? D_8013E8C4;
//extern ? D_8013E8D8;
//extern ? D_8013E8EC;
extern u32* D_8013E960;
extern u32* D_8013E99C;
//extern ? D_8013E9B4;
//extern ? D_8013E9C4;
//extern ? D_8013E9E0;
//extern ? D_8013EA20;
//extern ? D_8013EAE0;
//extern ? D_8013EAE8;
//extern ? D_8013EAF4;
//extern ? D_8013EAFC;
//extern ? D_8013EB08;
//extern ? D_8013EB14;
//extern ? D_8013EB20;
//extern ? D_8013EB2C;
//extern ? D_8013EB38;
//extern ? D_8013EB44;
//extern ? D_8013EB50;
//extern ? D_8013EB5C;
//extern ? D_8013EB68;
//extern ? D_8013EB74;
//extern ? D_8013EB80;
//extern ? D_8013EB8C;
//extern ? D_8013EB98;
//extern ? D_8013EBA4;
//extern ? D_8013EBB0;
//extern ? D_8013EBBC;
//extern ? D_8013EBC8;
//extern ? D_8013EBD4;
//extern ? D_8013EBE0;
//extern ? D_8013EBEC;
//extern ? D_8013EBF8;
//extern ? D_8013EC04;
//extern ? D_8013EC10;
//extern ? D_8013EC1C;
//extern ? D_8013EC28;
//extern ? D_8013EC34;
//extern ? D_8013EC40;
//extern ? D_8013EC4C;
//extern ? D_8013EC58;
//extern ? D_8013EC64;
//extern ? D_8013EC70;
//extern ? D_8013EC7C;
//extern ? D_8013EC88;
//extern ? D_8013EC94;
//extern ? D_8013ECA0;
//extern ? D_8013ECAC;
//extern ? D_8013ECB8;
//extern ? D_8013ECC4;
//extern ? D_8013ECD0;
//extern ? D_8013ECDC;
//extern ? D_8013ECE8;
//extern ? D_8013ECF4;
//extern ? D_8013ED00;
//extern ? D_8013ED0C;
//extern ? D_8013ED18;
//extern ? D_8013ED24;
//extern ? D_8013ED30;
//extern ? D_8013ED3C;
//extern ? D_8013ED48;
//extern ? D_8013ED54;
//extern ? D_8013ED60;
//extern ? D_8013ED6C;
//extern ? D_8013ED78;
//extern ? D_8013ED84;
//extern ? D_8013ED90;
//extern ? D_8013ED9C;
//extern ? D_8013EDA8;
//extern ? D_8013EDB4;
//extern ? D_8013EDC0;
//extern ? D_8013EDCC;
//extern ? D_8013EDD8;
//extern ? D_8013EDE4;
//extern ? D_8013EDF0;
//extern ? D_8013EDFC;
//extern ? D_8013EE08;
//extern ? D_8013EE14;
//extern ? D_8013EE20;
//extern ? D_8013EE2C;
//extern ? D_8013EE38;
//extern ? D_8013EE44;
//extern ? D_8013EE50;
//extern ? D_8013EE5C;
//extern ? D_8013EE68;
//extern ? D_8013EE74;
//extern ? D_8013EE80;
//extern ? D_8013EE8C;
//extern ? D_8013EE98;
//extern ? D_8013EEA4;
//extern ? D_8013EEB0;
//extern ? D_8013EEBC;
//extern ? D_8013EEC8;
//extern ? D_8013EED4;
//extern ? D_8013EEE0;
//extern ? D_8013EEEC;
//extern ? D_8013EEF8;
//extern ? D_8013EF04;
//extern ? D_8013EF10;
//extern ? D_8013EF1C;
//extern ? D_8013F2C0;
//extern ? D_8013F2D0;
//extern ? D_8013F2E0;
//extern ? D_8013F2F0;
//extern ? D_8013F310;
//extern ? D_8013FF50;
//extern ? D_8013FF64;
//extern ? D_8013FF78;
//extern ? D_8013FF8C;
//extern ? D_8013FF94;
//extern ? D_8013FFB8;
//extern ? D_8013FFBC;
//extern ? D_8013FFD0;
//extern ? D_8013FFE4;
//extern ? D_8013FFF8;
//extern ? D_8014000C;
//extern ? D_80140020;
//extern ? D_80140034;
//extern ? D_80140048;
//extern ? D_80140050;
//extern ? D_80140074;
//extern ? D_80140078;
//extern ? D_8014008C;
//extern ? D_801400A0;
//extern ? D_801400B4;
//extern ? D_801400C8;
//extern ? D_801400DC;
//extern ? D_801400F0;
//extern ? D_80140104;
//extern ? D_8014010C;
//extern ? D_8014012C;
//extern ? D_80140130;
//extern ? D_80140144;
//extern ? D_80140158;
//extern ? D_8014016C;
//extern ? D_80140180;
//extern ? D_80140194;
//extern ? D_801401A8;
//extern ? D_801401BC;
//extern ? D_801401C4;
//extern ? D_801401E4;
//extern ? D_801401E8;
//extern ? D_801401FC;
//extern ? D_80140210;
//extern ? D_80140224;
//extern ? D_80140238;
//extern ? D_8014024C;
//extern ? D_80140258;
//extern ? D_8014026C;
//extern ? D_8014027C;
//extern ? D_80140290;
//extern ? D_801402A4;
//extern ? D_801402B8;
//extern ? D_801402C4;
//extern ? D_801402D8;
//extern ? D_801402E0;
//extern ? D_80140310;
//extern ? D_80140314;
//extern ? D_80140328;
//extern ? D_8014033C;
//extern ? D_80140350;
//extern ? D_80140358;
//extern ? D_8014038C;
//extern ? D_80140390;
//extern ? D_801403A4;
//extern ? D_801403B8;
//extern ? D_801403CC;
//extern ? D_801403E0;
//extern ? D_801403F4;
//extern ? D_80140410;
//extern ? D_8014042C;
//extern ? D_80140460;
//extern ? D_80140464;
//extern ? D_80140478;
//extern ? D_8014048C;
//extern ? D_801404B0;
//extern ? D_801404C4;
//extern ? D_801404CC;
//extern ? D_801404FC;
//extern ? D_80140500;
//extern ? D_80140514;
//extern ? D_80140528;
//extern ? D_8014054C;
//extern ? D_80140560;
//extern ? D_80140568;
//extern ? D_8014059C;
//extern ? D_801405A0;
//extern ? D_801405B4;
//extern ? D_801405C8;
//extern ? D_801405D0;
//extern ? D_80140604;
//extern ? D_80140608;
//extern ? D_8014061C;
//extern ? D_80140638;
//extern ? D_8014064C;
//extern ? D_80140680;
//extern ? D_8014068C;
//extern ? D_80140698;
//extern ? D_801406A4;
//extern ? D_801406B0;
//extern ? D_801406BC;
//extern ? D_801406C8;
//extern ? D_801406D4;
//extern ? D_801406F0;
//extern ? D_80140700;
//extern ? D_8014071C;
//extern ? D_8014072C;
//extern ? D_8014073C;
//extern ? D_80140754;
//extern ? D_80140764;
//extern ? D_80140774;
//extern ? D_8014078C;
//extern ? D_8014079C;
//extern ? D_801407AC;
//extern ? D_801407BC;
//extern ? D_801407D0;
//extern ? D_801407DC;
//extern ? D_8014080C;
//extern ? D_80140810;
//extern ? D_80140850;
//extern ? D_80140864;
//extern ? D_80140878;
//extern ? D_80140880;
//extern ? D_801408A4;
//extern ? D_801408B4;
//extern ? D_801408B8;
//extern ? D_801408C0;
//extern ? D_80140908;
//extern ? D_80140910;
//extern ? D_80140958;
//extern ? D_8014095C;
//extern ? D_80140964;
//extern ? D_801409AC;
//extern ? D_801409B4;
//extern ? D_801409FC;
//extern ? D_80140A00;
//extern ? D_80140A20;
//extern ? D_80140A44;
//extern ? D_80140A88;
//extern ? D_80140AB4;
//extern ? D_80140AD0;
//extern ? D_80140B0C;
//extern ? D_80140B3C;
//extern ? D_80140B5C;
//extern ? D_80140B74;
//extern ? D_80140BB8;
//extern ? D_80140BBC;
//extern ? D_80140BC0;
//extern ? D_80140BD4;
//extern ? D_80140BEC;
//extern ? D_80140C14;
//extern ? D_80140C58;
//extern ? D_80140C94;
//extern ? D_80140CA8;
//extern ? D_80140CC4;
//extern ? D_80140CDC;
//extern ? D_80140CF0;
//extern ? D_80140D08;
//extern ? D_80140D58;
//extern ? D_80140D5C;
//extern ? D_80140D60;
//extern ? D_80140D74;
//extern ? D_80140D80;
//extern ? D_80140D8C;
//extern ? D_80140D9C;
//extern ? D_80140DB8;
//extern ? D_80140DF0;
//extern ? D_80140E00;
//extern ? D_80140E18;
//extern ? D_80140E2C;
//extern ? D_80140E3C;
//extern ? D_80140E60;
//extern ? D_80140E70;
//extern ? D_80140E88;
//extern ? D_80140E98;
//extern ? D_80140EC4;
//extern ? D_80140EE0;
//extern ? D_80140EFC;
//extern ? D_80140F28;
//extern ? D_80140F30;
//extern ? D_80140F4C;
//extern ? D_80140F68;
//extern ? D_80140F84;
//extern ? D_80140F88;
//extern ? D_80140F94;
//extern ? D_80140FAC;
extern char D_80141030[];
//extern ? D_80141060;
//extern ? D_80141064;
//extern ? D_80141070;
//extern ? D_8014107C;
//extern ? D_80141088;
//extern ? D_801410A0;
//extern ? D_801410AC;
//extern ? D_801410B8;
//extern ? D_801410C4;
//extern ? D_801410D0;
//extern ? D_801410E4;
//extern ? D_801410F0;
//extern ? D_80141104;
//extern ? D_80141110;
//extern ? D_8014111C;
//extern ? D_80141128;
//extern ? D_80141134;
//extern ? D_80141140;
//extern ? D_80141144;
//extern ? D_80141150;
//extern ? D_8014115C;
//extern ? D_80141168;
//extern ? D_801411A0;
//extern ? D_801411AC;
//extern ? D_801411BC;
//extern ? D_801411C0;
//extern ? D_801411C8;
//extern ? D_801411D4;
//extern ? D_801411E0;
//extern ? D_801411F0;
//extern ? D_801411F4;
//extern ? D_80141200;
//extern ? D_8014120C;
//extern ? D_80141210;
//extern ? D_8014121C;
//extern ? D_80141228;
//extern ? D_80141234;
//extern ? D_80141240;
//extern ? D_8014124C;
//extern ? D_80141250;
//extern ? D_8014125C;
//extern ? D_80141268;
//extern ? D_80141274;
//extern ? D_80141280;
//extern ? D_8014128C;
//extern ? D_80141290;
//extern ? D_8014129C;
//extern ? D_801412A8;
//extern ? D_801412B4;
//extern ? D_801412BC;
//extern ? D_801412C8;
//extern ? D_801412D4;
//extern ? D_801412E0;
//extern ? D_801412EC;
//extern ? D_801412F0;
//extern ? D_801412FC;
//extern ? D_80141308;
//extern ? D_80141314;
//extern ? D_80141320;
//extern ? D_8014132C;
//extern ? D_80141334;
//extern ? D_80141340;
//extern ? D_80141348;
//extern ? D_80141380;
//extern ? D_801413A0;
//extern ? D_801413B0;
//extern ? D_801413C4;
//extern ? D_801413D4;
//extern ? D_801413F4;
//extern ? D_80141404;
//extern ? D_80141428;
//extern ? D_80141438;
//extern ? D_8014145C;
//extern ? D_8014146C;
//extern ? D_80141490;
//extern ? D_801414A0;
//extern ? D_801414C4;
//extern ? D_801414D4;
//extern ? D_801414F4;
//extern ? D_80141504;
//extern ? D_80141528;
//extern ? D_80141538;
//extern ? D_8014155C;
//extern ? D_8014156C;
//extern ? D_80141594;
//extern ? D_801415A4;
//extern ? D_801415CC;
//extern ? D_801415DC;
//extern ? D_80141604;
//extern ? D_80141614;
//extern ? D_8014163C;
//extern ? D_8014164C;
//extern ? D_80141670;
//extern ? D_80141680;
//extern ? D_801416A8;
//extern ? D_801416B8;
//extern ? D_801416E0;
//extern ? D_801416F0;
//extern ? D_80141718;
//extern ? D_80141728;
//extern ? D_80141750;
//extern ? D_80141760;
//extern ? D_80141784;
//extern ? D_80141798;
//extern ? D_801417C0;
//extern ? D_801417D0;
//extern ? D_801417E0;
//extern ? D_801417F4;
//extern ? D_80141804;
//extern ? D_80141814;
//extern ? D_80141824;
//extern ? D_80141850;
//extern ? D_80141860;
//extern ? D_80141884;
//extern ? D_801418A4;
//extern ? D_801418B4;
//extern ? D_801418C4;
//extern ? D_801418D4;
//extern ? D_801418FC;
//extern ? D_80141910;
//extern ? D_80141920;
//extern ? D_80141948;
//extern ? D_80141958;
//extern ? D_80141968;
//extern ? D_80141978;
//extern ? D_801419A0;
//extern ? D_801419B0;
//extern ? D_801419C0;
//extern ? D_801419D0;
//extern ? D_801419F8;
//extern ? D_80141A08;
//extern ? D_80141A18;
//extern ? D_80141A38;
//extern ? D_80141A60;
//extern ? D_80141A70;
//extern ? D_80141A80;
//extern ? D_80141A90;
//extern ? D_80141AA0;
//extern ? D_80141AC8;
//extern ? D_80141AD8;
//extern ? D_80141AE8;
//extern ? D_80141AF8;
//extern ? D_80141B20;
//extern ? D_80141B30;
//extern ? D_80141B40;
//extern ? D_80141B50;
//extern ? D_80141B78;
//extern ? D_80141B88;
//extern ? D_80141B98;
//extern ? D_80141BA8;
//extern ? D_80141BD0;
//extern ? D_80141BE0;
//extern ? D_80141BF0;
//extern ? D_80141C00;
//extern ? D_80141C28;
//extern ? D_80141C38;
//extern ? D_80141C48;
//extern ? D_80141C58;
//extern ? D_80141C68;
//extern ? D_80141C90;
//extern ? D_80141CA0;
//extern ? D_80141CB0;
//extern ? D_80141CC0;
//extern ? D_80141CD0;
//extern ? D_80141CF8;
//extern ? D_80141D08;
//extern ? D_80141D18;
//extern ? D_80141D28;
//extern ? D_80141D50;
//extern ? D_80141D60;
//extern ? D_80141D70;
//extern ? D_80141D80;
//extern ? D_80141DA8;
//extern ? D_80141DB8;
//extern ? D_80141DC8;
//extern ? D_80141DD8;
//extern ? D_80141E00;
//extern ? D_80141E10;
//extern ? D_80141E20;
//extern ? D_80141E30;
//extern ? D_80141E40;
//extern ? D_80141E68;
//extern ? D_80141E78;
//extern ? D_80141E88;
//extern ? D_80141E98;
//extern ? D_80141EC0;
//extern ? D_80141ED0;
//extern ? D_80141EE0;
//extern ? D_80141EF0;
//extern ? D_80141F18;
//extern ? D_80141F28;
//extern ? D_80141F38;
//extern ? D_80141F48;
//extern ? D_80141F70;
//extern ? D_80141F80;
//extern ? D_80141F90;
//extern ? D_80141FA0;
//extern ? D_80141FC8;
//extern ? D_80141FD8;
//extern ? D_80141FE8;
//extern ? D_80141FF8;
//extern ? D_80142008;
//extern ? D_80142030;
//extern ? D_80142040;
//extern ? D_80142050;
//extern ? D_80142060;
//extern ? D_80142088;
//extern ? D_80142098;
//extern ? D_801420A8;
//extern ? D_801420B8;
//extern ? D_801420E0;
//extern ? D_801420F0;
//extern ? D_80142100;
//extern ? D_80142110;
//extern ? D_80142138;
//extern ? D_80142148;
//extern ? D_80142158;
//extern ? D_80142168;
//extern ? D_80142190;
//extern ? D_801421A0;
//extern ? D_801421B0;
//extern ? D_801421C0;
//extern ? D_801421E8;
//extern ? D_801421F8;
//extern ? D_80142208;
//extern ? D_80142218;
//extern ? D_80142240;
//extern ? D_80142250;
//extern ? D_80142260;
//extern ? D_80142270;
//extern ? D_80142298;
//extern ? D_801422A8;
//extern ? D_801422B8;
//extern ? D_801422C8;
//extern ? D_801422F0;
//extern ? D_80142300;
//extern ? D_80142310;
//extern ? D_80142320;
//extern ? D_80142348;
//extern ? D_80142358;
//extern ? D_80142368;
//extern ? D_80142378;
//extern ? D_801423A0;
//extern ? D_801423B0;
//extern ? D_801423C0;
//extern ? D_801423D0;
//extern ? D_801423F8;
//extern ? D_80142408;
//extern ? D_80142418;
//extern ? D_80142428;
//extern ? D_80142450;
//extern ? D_80142460;
//extern ? D_80142470;
//extern ? D_80142480;
//extern ? D_801424A8;
//extern ? D_801424B8;
//extern ? D_801424C8;
//extern ? D_801424D8;
//extern ? D_80142500;
//extern ? D_80142510;
//extern ? D_80142520;
//extern ? D_80142530;
//extern ? D_80142558;
//extern ? D_80142568;
//extern ? D_80142578;
//extern ? D_80142588;
//extern ? D_801425B0;
//extern ? D_801425C0;
//extern ? D_801425D0;
//extern ? D_801425E0;
//extern ? D_80142608;
//extern ? D_80142618;
//extern ? D_80142628;
//extern ? D_80142638;
//extern ? D_80142660;
//extern ? D_80142670;
//extern ? D_80142680;
//extern ? D_80142690;
//extern ? D_801426B8;
//extern ? D_801426C8;
//extern ? D_801426D8;
//extern ? D_801426E8;
//extern ? D_80142710;
//extern ? D_80142720;
//extern ? D_80142730;
//extern ? D_80142740;
//extern ? D_80142768;
//extern ? D_80142778;
//extern ? D_80142788;
//extern ? D_80142798;
//extern ? D_801427C0;
//extern ? D_801427D0;
//extern ? D_801427E0;
//extern ? D_801427F0;
//extern ? D_80142818;
//extern ? D_80142828;
//extern ? D_80142838;
//extern ? D_80142848;
//extern ? D_80142870;
//extern ? D_80142880;
//extern ? D_80142890;
//extern ? D_801428A0;
//extern ? D_801428C8;
//extern ? D_801428D8;
//extern ? D_801428E8;
//extern ? D_801428F8;
//extern ? D_80142920;
//extern ? D_80142930;
//extern ? D_80142940;
//extern ? D_80142950;
//extern ? D_80142978;
//extern ? D_80142988;
//extern ? D_80142998;
//extern ? D_801429A8;
//extern ? D_801429D0;
//extern ? D_801429E0;
//extern ? D_801429F0;
//extern ? D_80142A00;
//extern ? D_80142A28;
//extern ? D_80142A38;
//extern ? D_80142A48;
//extern ? D_80142A58;
//extern ? D_80142A80;
//extern ? D_80142A90;
//extern ? D_80142AA0;
//extern ? D_80142AB0;
//extern ? D_80142AD8;
//extern ? D_80142AE8;
//extern ? D_80142AF8;
//extern ? D_80142B08;
//extern ? D_80142B30;
//extern ? D_80142B40;
//extern ? D_80142B50;
//extern ? D_80142B60;
//extern ? D_80142B88;
//extern ? D_80142B98;
//extern ? D_80142BA8;
//extern ? D_80142BB8;
//extern ? D_80142BE0;
//extern ? D_80142BF0;
//extern ? D_80142C00;
//extern ? D_80142C6C;
//extern ? D_80142C74;
//extern ? D_80142C84;
//extern ? D_80142C9C;
//extern ? D_80142CAC;
//extern ? D_80142CBC;
//extern ? D_80142CD4;
//extern ? D_80142CF4;
//extern ? D_80142D0C;
//extern ? D_80142D1C;
//extern ? D_80142D2C;
//extern ? D_80142D44;
//extern ? D_80142D54;
//extern ? D_80142D64;
//extern ? D_80142D7C;
//extern ? D_80142D8C;
//extern ? D_80142E80;
//extern ? D_80142E94;
//extern ? D_80142EA8;
//extern ? D_80142EBC;
//extern ? D_80142ED0;
//extern ? D_80142EE0;
//extern ? D_80142F18;
//extern ? D_80142F28;
//extern ? D_80142F40;
//extern ? D_80142F58;
//extern ? D_80142F68;
//extern ? D_80142F78;
//extern ? D_80142F88;
//extern ? D_80142F98;
//extern ? D_80142FA8;
//extern ? D_80142FC4;
//extern ? D_80142FD4;
//extern ? D_80142FE4;
//extern ? D_80142FF4;
//extern ? D_80143004;
//extern ? D_80143024;
//extern ? D_80143034;
//extern ? D_80143044;
//extern ? D_80143054;
//extern ? D_80143070;
//extern ? D_801430C0;
//extern ? D_80143100;
//extern ? D_8014311C;
//extern ? D_8014313C;
//extern ? D_80143154;
//extern ? D_801434D8;
//extern ? D_801434F8;
//extern ? D_80143518;
//extern ? D_80143538;
//extern ? D_80143558;
//extern ? D_80143578;
//extern ? D_80143598;
//extern ? D_801435C4;
//extern ? D_801435D0;
//extern ? D_801435DC;
//extern ? D_801435F0;
//extern ? D_801435FC;
//extern ? D_80143608;
//extern ? D_80143628;
//extern ? D_80143640;
//extern ? D_8014365C;
//extern ? D_80143670;
//extern ? D_8014368C;
//extern ? D_801436AC;
//extern ? D_801436CC;
//extern ? D_801436DC;
//extern ? D_801436EC;
//extern ? D_801436FC;
//extern ? D_8014370C;
//extern ? D_8014371C;
//extern ? D_80143738;
//extern ? D_8014375C;
//extern ? D_80143774;
//extern ? D_80143790;
//extern ? D_801437A4;
//extern ? D_801437C0;
//extern ? D_801437E0;
//extern ? D_80143800;
//extern ? D_80143810;
//extern ? D_80143820;
//extern ? D_80143830;
//extern ? D_80143840;
//extern ? D_80143850;
//extern ? D_8014386C;
//extern ? D_801438AC;
//extern ? D_801438B4;
//extern ? D_801438C0;
//extern ? D_801438E4;
//extern ? D_80143908;
//extern ? D_8014392C;
//extern ? D_80143968;
//extern ? D_80143978;
//extern ? D_801439A4;
//extern ? D_801439B4;
//extern ? D_801439C4;
//extern ? D_801439F0;
//extern ? D_80143A00;
//extern ? D_80143A10;
//extern ? D_80143A20;
//extern ? D_80143A30;
//extern ? D_80143A40;
//extern ? D_80143A6C;
//extern ? D_80143A7C;
//extern ? D_80143A8C;
//extern ? D_80143AB8;
//extern ? D_80143AC8;
//extern ? D_80143B0C;
//extern ? D_80143B28;
//extern ? D_80143B30;
//extern ? D_80143B3C;
//extern ? D_80143B60;
//extern ? D_80143B84;
//extern ? D_80143BA8;
//extern ? D_80143BE8;
//extern ? D_80143BF8;
//extern ? D_80143C08;
//extern ? D_80143C18;
//extern ? D_80143C1C;
//extern ? D_80143C20;
//extern ? D_80143C40;
//extern ? D_80143CF0;
//extern ? D_80143D08;
//extern ? D_80143D28;
//extern ? D_80143D50;
//extern ? D_80143D74;
//extern ? D_80143D98;
//extern ? D_80143DBC;
//extern ? D_80143DEC;
//extern ? D_80143E30;
//extern ? D_80143E44;
//extern ? D_80143E5C;
//extern ? D_80143E64;
//extern ? D_80143E94;
//extern ? D_80143E98;
//extern ? D_80143EA0;
//extern ? D_80143ED4;
//extern ? D_80143ED8;
//extern ? D_80143EF0;
//extern ? D_80143F04;
//extern ? D_80143F1C;
//extern ? D_80143F24;
//extern ? D_80143F40;
//extern ? D_80143F44;
//extern ? D_80143F50;
//extern ? D_80143F58;
//extern ? D_80143F70;
//extern ? D_80143F74;
//extern ? D_80143F7C;
//extern ? D_80143F94;
//extern ? D_80143F98;
//extern ? D_80143FC4;
//extern ? D_80143FE0;
//extern ? D_80143FFC;
//extern ? D_80144018;
//extern ? D_80144038;
//extern ? D_80144054;
//extern ? D_80144070;
//extern ? D_8014408C;
//extern ? D_801440AC;
//extern ? D_801440D8;
//extern ? D_801440F4;
//extern ? D_801440FC;
//extern ? D_80144120;
//extern ? D_80144124;
//extern ? D_8014412C;
//extern ? D_80144150;
//extern ? D_80144154;
//extern ? D_8014415C;
//extern ? D_80144180;
//extern ? D_80144190;
//extern ? D_801441AC;
//extern ? D_801441B8;
//extern ? D_801441DC;
//extern ? D_801441E8;
//extern ? D_80144204;
//extern ? D_80144220;
//extern ? D_8014422C;
//extern ? D_80144244;
//extern ? D_80144250;
//extern ? D_80144268;
//extern ? D_80144294;
//extern ? D_801442A8;
//extern ? D_801442C8;
//extern ? D_801442E0;
//extern ? D_801442FC;
//extern ? D_80144300;
//extern ? D_8014431C;
//extern ? D_80144340;
//extern ? D_80144364;
//extern ? D_80144370;
//extern ? D_80144394;
//extern ? D_801443B0;
//extern ? D_801443BC;
//extern ? D_801443C4;
//extern ? D_801443D0;
//extern ? D_801443D8;
//extern ? D_801443E4;
//extern ? D_801443EC;
//extern ? D_801443F8;
//extern ? D_80144400;
//extern ? D_8014440C;
//extern ? D_80144414;
//extern ? D_80144420;
//extern ? D_80144428;
//extern ? D_80144434;
//extern ? D_8014443C;
//extern ? D_80144448;
//extern ? D_80144454;
//extern ? D_8014445C;
//extern ? D_80144468;
//extern ? D_80144470;
//extern ? D_8014447C;
//extern ? D_80144484;
//extern ? D_80144490;
//extern ? D_80144498;
//extern ? D_801444A4;
//extern ? D_801444AC;
//extern ? D_801444B8;
//extern ? D_801444C0;
//extern ? D_801444CC;
//extern ? D_801444D4;
//extern ? D_801444E0;
//extern ? D_801444E8;
//extern ? D_801444F4;
//extern ? D_801444FC;
//extern ? D_80144508;
//extern ? D_80144510;
//extern ? D_8014451C;
//extern ? D_80144524;
//extern ? D_80144530;
//extern ? D_80144538;
//extern ? D_80144544;
//extern ? D_8014454C;
//extern ? D_80144558;
//extern ? D_80144560;
//extern ? D_8014459C;
//extern ? D_801445CC;
//extern ? D_801445D8;
//extern ? D_801445E0;
//extern ? D_801445EC;
//extern ? D_801445F4;
//extern ? D_80144600;
//extern ? D_80144608;
//extern ? D_80144614;
//extern ? D_8014461C;
//extern ? D_80144628;
//extern ? D_80144630;
//extern ? D_8014463C;
//extern ? D_80144644;
//extern ? D_80144650;
//extern ? D_80144658;
//extern ? D_80144664;
//extern ? D_8014466C;
//extern ? D_80144678;
//extern ? D_80144680;
//extern ? D_8014468C;
//extern ? D_80144694;
//extern ? D_801446A0;
//extern ? D_801446A8;
//extern ? D_801446B4;
//extern ? D_801446BC;
//extern ? D_801446C8;
//extern ? D_801446D0;
//extern ? D_801446DC;
//extern ? D_801446E4;
//extern ? D_801446F0;
//extern ? D_801446F8;
//extern ? D_80144704;
//extern ? D_8014470C;
//extern ? D_80144718;
//extern ? D_80144720;
//extern ? D_8014472C;
//extern ? D_80144738;
//extern ? D_80144744;
//extern ? D_80144750;
//extern ? D_80144758;
//extern ? D_80144764;
//extern ? D_8014476C;
//extern ? D_80144778;
//extern ? D_80144780;
//extern ? D_8014478C;
//extern ? D_80144798;
//extern ? D_801447AC;
//extern ? D_801447C8;
//extern ? D_801447D4;
//extern ? D_801447E4;
//extern ? D_80144870;
//extern ? D_801448AC;
//extern ? D_801448EC;
//extern ? D_8014492C;
//extern ? D_80144A20;
//extern ? D_80144A28;
//extern ? D_80144A38;
//extern ? D_80144A40;
//extern ? D_80144A50;
//extern ? D_80144A58;
//extern ? D_80144A68;
//extern ? D_80144A70;
//extern ? D_80144A80;
//extern ? D_80144A88;
//extern ? D_80144A98;
//extern ? D_80144AA0;
//extern ? D_80144AB0;
//extern ? D_80144AB8;
//extern ? D_80144AC8;
//extern ? D_80144AD0;
//extern ? D_80144AE0;
//extern ? D_80144AE8;
//extern ? D_80144AF8;
//extern ? D_80144B00;
//extern ? D_80144B10;
//extern ? D_80144B18;
//extern ? D_80144B28;
//extern ? D_80144B30;
//extern ? D_80144B40;
//extern ? D_80144B50;
//extern ? D_80144B60;
//extern ? D_80144B6C;
//extern ? D_80144B7C;
//extern ? D_80144B8C;
//extern ? D_80144B9C;
//extern ? D_80144BA8;
//extern ? D_80144BB8;
//extern ? D_80144BC8;
//extern ? D_80144BD8;
//extern ? D_80144BE0;
//extern ? D_80144BF0;
//extern ? D_80144BF8;
//extern ? D_80144C08;
//extern ? D_80144C10;
//extern ? D_80144C20;
//extern ? D_80144C40;
//extern ? D_80144C80;
//extern ? D_80144CBC;
//extern ? D_80144CF0;
//extern ? D_80144D10;
//extern ? D_80144D24;
//extern ? D_80144D2C;
//extern ? D_80144D30;
//extern ? D_80144D50;
//extern ? D_80144D5C;
//extern ? D_80144D8C;
//extern ? D_80144D98;
//extern ? D_80144DA4;
//extern ? D_80144DB0;
//extern ? D_80144DBC;
//extern ? D_80144DC8;
//extern ? D_80144DE8;
//extern ? D_80144DF4;
//extern ? D_80144E08;
//extern ? D_80144E1C;
//extern ? D_80144E28;
//extern ? D_80144E3C;
//extern ? D_80144E40;
//extern ? D_80144E48;
//extern ? D_80144E88;
//extern ? D_80144EB4;
//extern ? D_80144EB8;
//extern ? D_80144EDC;
//extern ? D_80144EE8;
//extern ? D_80144EFC;
//extern ? D_80144F10;
//extern ? D_80144F1C;
//extern ? D_80144F38;
//extern ? D_80144F60;
//extern ? D_80144F80;
//extern ? D_80144F98;
//extern ? D_80144FA8;
//extern ? D_80144FB4;
//extern ? D_80144FD4;
//extern ? D_80144FF0;
//extern ? D_80145008;
//extern ? D_80145018;
//extern ? D_80145024;
//extern ? D_8014503C;
//extern ? D_80145054;
//extern ? D_8014509C;
//extern ? D_801450B8;
//extern ? D_801450C0;
//extern ? D_801450E4;
//extern ? D_801450F0;
//extern ? D_80145100;
//extern ? D_80145118;
//extern ? D_80145128;
//extern ? D_80145134;
//extern ? D_80145144;
//extern ? D_80145150;
//extern ? D_80145160;
//extern ? D_80145170;
//extern ? D_80145180;
//extern ? D_8014518C;
//extern ? D_8014519C;
//extern ? D_801451AC;
//extern ? D_801451BC;
//extern ? D_801451CC;
//extern ? D_801451DC;
//extern ? D_801451EC;
//extern ? D_80145200;
//extern ? D_80145210;
//extern ? D_8014521C;
//extern ? D_80145228;
//extern ? D_80145240;
//extern ? D_80145248;
//extern ? D_80145264;
//extern ? D_80145268;
//extern ? D_8014527C;
//extern ? D_8014528C;
//extern ? D_80145298;
//extern ? D_801452A4;
//extern ? D_801452B0;
//extern ? D_801452C0;
//extern ? D_801452D4;
//extern ? D_801452E8;
//extern ? D_801452FC;
//extern ? D_80145308;
//extern ? D_80145314;
//extern ? D_80145324;
//extern ? D_80145338;
//extern ? D_8014534C;
//extern ? D_80145360;
//extern ? D_8014536C;
//extern ? D_80145378;
//extern ? D_80145384;
//extern ? D_80145394;
//extern ? D_80145398;
//extern ? D_801453CC;
//extern ? D_801453D8;
//extern ? D_801453DC;
//extern ? D_80145410;
//extern ? D_8014541C;
//extern ? D_80145420;
//extern ? D_8014545C;
//extern ? D_80145460;
//extern ? D_8014549C;
//extern ? D_801454A0;
//extern ? D_801454DC;
//extern ? D_80145510;
//extern ? D_80145530;
//extern ? D_80145548;
//extern ? D_80145554;
//extern ? D_80145560;
//extern ? D_80145578;
//extern ? D_80145594;
//extern ? D_801455A0;
//extern ? D_801455C0;
//extern ? D_80145604;
//extern ? D_80145650;
//extern ? D_80145660;
//extern ? D_80145670;
//extern ? D_80145678;
//extern ? D_801456AC;
//extern ? D_801456B0;
//extern ? D_801456C4;
//extern ? D_801456EC;
//extern ? D_801456F8;
//extern ? D_80145718;
//extern ? D_80145720;
//extern ? D_8014573C;
//extern ? D_80145744;
//extern ? D_8014574C;
//extern ? D_80145754;
//extern ? D_8014575C;
//extern ? D_80145780;
//extern ? D_80145794;
//extern ? D_80145D40;
//extern ? D_80145D54;
//extern ? D_80145D60;
//extern ? D_80145D80;
//extern ? D_80145D8C;
//extern ? D_80145DEC;
//extern ? D_80145DF8;
//extern ? D_80145E58;
//extern ? D_80145E64;
//extern ? D_80145EBC;
//extern ? D_80145F18;
//extern ? D_80145F24;
//extern ? D_80145F48;
extern char D_80145F68[];
extern char D_80145F94[];
extern char D_80145FA0[];
extern char D_80145FFC[];
extern char D_80146014[];
//extern ? D_80146020;
//extern ? D_80146038;
//extern ? D_80146044;
//extern ? D_80146064;
//extern ? D_8014606C;
//extern ? D_8014607C;
//extern ? D_80146088;
//extern ? D_801460B0;
//extern ? D_801460CC;
//extern ? D_801460E0;
//extern ? D_801460F0;
//extern ? D_801460FC;
//extern ? D_8014610C;
extern char D_801461CC[];
//extern ? D_80146118;
//extern ? D_80146128;
//extern ? D_80146150;
//extern ? D_80146160;
//extern ? D_8014616C;
//extern ? D_80146198;
//extern ? D_801461A4;
//extern ? D_801461E0;
//extern ? D_801461F0;
//extern ? D_80146200;
//extern ? D_80146214;
extern char D_80146230[];
extern char D_80146238[];
//extern ? D_8014624C;
//extern ? D_80146260;
//extern ? D_80146274;
//extern ? D_8014627C;
//extern ? D_80146290;
//extern ? D_801462A4;
//extern ? D_801462A8;
//extern ? D_801462BC;
//extern ? D_801462D0;
//extern ? D_801462FC;
//extern ? D_80146318;
//extern ? D_80146344;
//extern ? D_80146360;
//extern ? D_8014638C;
//extern ? D_801463D0;
//extern ? D_801463DC;
//extern ? D_80146414;
//extern ? D_80146430;
//extern ? D_80146434;
//extern ? D_80146440;
//extern ? D_8014647C;
//extern ? D_80146480;
//extern ? D_8014648C;
//extern ? D_801464D0;
//extern ? D_80146570;
//extern ? D_80146580;
//extern ? D_8014659C;
//extern ? D_801465AC;
//extern ? D_80146670;
//extern ? D_80146690;
//extern ? D_80146698;
//extern ? D_801466A4;
//extern ? D_801466A8;
//extern ? D_801466B4;
//extern ? D_801466BC;
//extern ? D_801466C8;
//extern ? D_801466D0;
//extern ? D_801466DC;
//extern ? D_801466E0;
//extern ? D_801466EC;
//extern ? D_80146744;
//extern ? D_80146798;
//extern ? D_801467B8;
//extern ? D_801467D8;
//extern ? D_801467E0;
//extern ? D_80146810;
//extern ? D_80146858;
//extern ? D_8014685C;
//extern ? D_80146884;
//extern ? D_801468A8;
//extern ? D_801468B8;
//extern ? D_801468E0;
//extern ? D_801468F0;
//extern ? D_8014691C;
//extern ? D_8014692C;
//extern ? D_80146958;
//extern ? D_80146968;
//extern ? D_80146994;
//extern ? D_801469CC;
//extern ? D_801469F0;
//extern ? D_801469F8;
//extern ? D_80146A04;
//extern ? D_80146A0C;
//extern ? D_80147A98;
//extern ? D_80147AA4;
//extern ? D_80147AAC;
//extern ? D_80147AB4;
//extern ? D_80147AC0;
//extern ? D_80147AC8;
//extern ? D_80147AD4;
//extern ? D_80147AE4;
//extern ? D_80147AE8;
//extern ? D_80147AF4;
//extern ? D_80147B08;
//extern ? D_80147B18;
//extern ? D_80147B28;
//extern ? D_80147B38;
//extern ? D_80147B44;
//extern ? D_80147B50;
//extern ? D_80147B60;
//extern ? D_80147B70;
//extern ? D_80147B7C;
//extern ? D_80147B80;
//extern ? D_80147B9C;
//extern ? D_80147BA4;
//extern ? D_80147BAC;
//extern ? D_80147BB8;
//extern ? D_80147BC0;
//extern ? D_80147BCC;
//extern ? D_80147BE0;
//extern ? D_80147BE4;
//extern ? D_80147C04;
//extern ? D_80147C08;
//extern ? D_80147D98;
//extern ? D_80147D9C;
//extern ? D_80147DB8;
//extern ? D_80147DD0;
//extern ? D_80147E14;
//extern ? D_80147E58;
//extern ? D_80147E60;
//extern ? D_80147E6C;
//extern ? D_80147E70;
//extern ? D_80147E7C;
//extern ? D_80147E98;
//extern ? D_80147EB0;
//extern ? D_80147EC4;
//extern ? D_80147EF8;
//extern ? D_80147F18;
//extern ? D_80147F44;
//extern ? D_80147F5C;
//extern ? D_80147F90;
//extern ? D_80147FAC;
//extern ? D_80147FCC;
//extern ? D_80147FEC;
//extern ? D_80148008;
//extern ? D_8014802C;
//extern ? D_80148044;
//extern ? D_8014808C;
//extern ? D_80148374;
//extern ? D_80148380;
//extern ? D_801483A4;
//extern ? D_80148434;
//extern ? D_8014844C;
//extern ? D_80148450;
//extern ? D_8014845C;
//extern ? D_80148480;
//extern ? D_8014849C;
//extern ? D_801484C0;
//extern ? D_801484DC;
//extern ? D_801484F0;
//extern ? D_80148504;
//extern ? D_80148518;
//extern ? D_8014851C;
//extern ? D_80148544;
//extern ? D_80148568;
//extern ? D_8014858C;
//extern ? D_801485D0;
//extern ? D_801485D8;
//extern ? D_801485DC;
//extern ? D_801485E0;
//extern ? D_801485E4;
//extern ? D_801485E8;
//extern ? D_801485EC;
//extern ? D_801485F0;
//extern ? D_801485F4;
//extern ? D_801485F8;
//extern ? D_80148614;
//extern ? D_80148638;
//extern ? D_80148654;
//extern ? D_80148698;
//extern ? D_801486A0;
//extern ? D_801486A4;
//extern ? D_801486A8;
//extern ? D_801486AC;
//extern ? D_801486B0;
//extern ? D_801486B4;
//extern ? D_801486B8;
//extern ? D_801486BC;
//extern ? D_801486C0;
//extern ? D_801486E4;
//extern ? D_80148700;
//extern ? D_80148724;
//extern ? D_80148740;
//extern ? D_80148764;
//extern ? D_80148780;
//extern ? D_8014879C;
//extern ? D_801487B8;
//extern ? D_801487D4;
//extern ? D_801487F0;
//extern ? D_8014881C;
//extern ? D_8014882C;
//extern ? D_80148848;
//extern ? D_80148858;
//extern ? D_80148868;
//extern ? D_80148878;
//extern ? D_80148884;
//extern ? D_80148898;
//extern ? D_801488B8;
//extern ? D_801488DC;
//extern ? D_80148900;
//extern ? D_80148924;
//extern ? D_80148944;
//extern ? D_80148964;
//extern ? D_8014897C;
//extern ? D_80148998;
//extern ? D_801489BC;
//extern ? D_801489DC;
//extern ? D_801489F8;
//extern ? D_801489FC;
//extern ? D_80148A00;
//extern ? D_80148A04;
//extern ? D_80148B38;
//extern ? D_80148B5C;
//extern ? D_80148B7C;
//extern ? D_80148B90;
//extern ? D_80148BA0;
//extern ? D_80148BB8;
//extern ? D_80148BCC;
//extern ? D_80148BE0;
//extern ? D_80148BFC;
//extern ? D_80148C10;
//extern ? D_80148C2C;
//extern ? D_80148C5C;
//extern ? D_80148C80;
//extern ? D_80148CA0;
//extern ? D_80148CD0;
//extern ? D_80148CF4;
//extern ? D_80148CFC;
//extern ? D_80148D04;
//extern ? D_80148D2C;
//extern ? D_80148D34;
//extern ? D_80148D3C;
//extern ? D_80148D5C;
//extern ? D_80148D84;
//extern ? D_80148D9C;
//extern ? D_80148DA0;
//extern ? D_80148DB8;
//extern ? D_80148DBC;
//extern ? D_80148DD4;
//extern ? D_80148DD8;
//extern ? D_80148DEC;
//extern ? D_80148DF0;
//extern ? D_80148DF4;
//extern ? D_80148E10;
//extern ? D_80148E30;
//extern ? D_80148E44;
//extern ? D_80148E60;
//extern ? D_80148E78;
//extern ? D_80148E90;
//extern ? D_80148EA8;
//extern ? D_80148EC8;
//extern ? D_80148EE4;
//extern ? D_80148EFC;
//extern ? D_80148F18;
//extern ? D_80148F30;
//extern ? D_80148F48;
//extern ? D_80148F60;
//extern ? D_80148F80;
//extern ? D_80148F94;
//extern ? D_80148FB4;
//extern ? D_80148FD4;
//extern ? D_80148FF4;
//extern ? D_80149018;
//extern ? D_8014903C;
//extern ? D_80149060;
//extern ? D_80149080;
//extern ? D_801490A4;
//extern ? D_801490C8;
//extern ? D_801490F0;
//extern ? D_80149114;
//extern ? D_80149138;
//extern ? D_80149164;
//extern ? D_80149194;
//extern ? D_801491B0;
//extern ? D_801491D0;
//extern ? D_801491E8;
//extern ? D_80149204;
//extern ? D_80149218;
//extern ? D_80149420;
//extern ? D_8014942C;
//extern ? D_80149438;
//extern ? D_80149444;
//extern ? D_80149450;
//extern ? D_80149C60;
//extern ? D_80149C88;
//extern ? D_80149CB0;
//extern ? D_80149CC8;
//extern ? D_80149CE0;
//extern ? D_80149CF8;
//extern ? D_80149D10;
//extern ? D_80149D28;
//extern ? D_80149D2C;
//extern ? D_80149D40;
//extern ? D_80149D48;
//extern ? D_80149D58;
//extern ? D_80149D5C;
//extern ? D_80149D64;
//extern ? D_80149D74;
//extern ? D_80149D80;
//extern ? D_80149D94;
//extern ? D_80149DA4;
//extern ? D_80149DB8;
//extern ? D_80149DBC;
//extern ? D_80149DCC;
//extern ? D_80149DDC;
//extern ? D_80149DEC;
//extern ? D_80149DF8;
//extern ? D_80149E08;
//extern ? D_80149E18;
//extern ? D_80149E28;
//extern ? D_80149E38;
//extern ? D_80149E44;
//extern ? D_80149E50;
//extern ? D_80149E60;
//extern ? D_80149E68;
//extern ? D_80149EAC;
//extern ? D_80149EF0;
//extern ? D_80149F34;
//extern ? D_80149F48;
//extern ? D_80149F4C;
//extern ? D_80149F5C;
//extern ? D_80149F6C;
//extern ? D_80149F7C;
//extern ? D_80149F88;
//extern ? D_80149F94;
//extern ? D_80149FA4;
//extern ? D_80149FB0;
//extern ? D_80149FBC;
//extern ? D_80149FC4;
//extern ? D_80149FD0;
//extern ? D_80149FE0;
//extern ? D_80149FEC;
//extern ? D_80149FF0;
//extern ? D_80149FF4;
//extern ? D_8014A004;
//extern ? D_8014A014;
//extern ? D_8014A024;
//extern ? D_8014A030;
//extern ? D_8014A03C;
//extern ? D_8014A048;
//extern ? D_8014A054;
//extern ? D_8014A058;
//extern ? D_8014A05C;
//extern ? D_8014A060;
//extern ? D_8014A068;
//extern ? D_8014A06C;
//extern ? D_8014A074;
//extern ? D_8014A080;
//extern ? D_8014A08C;
//extern ? D_8014A098;
//extern ? D_8014A0A4;
//extern ? D_8014A0AC;
//extern ? D_8014A0B8;
//extern ? D_8014A0C4;
//extern ? D_8014A0D0;
//extern ? D_8014A0DC;
//extern ? D_8014A0E8;
//extern ? D_8014A0F4;
//extern ? D_8014A100;
//extern ? D_8014A108;
//extern ? D_8014A10C;
//extern ? D_8014A110;
//extern ? D_8014A114;
//extern ? D_8014A118;
//extern ? D_8014A11C;
//extern ? D_8014A120;
//extern ? D_8014A124;
//extern ? D_8014A128;
//extern ? D_8014A12C;
//extern ? D_8014A130;
//extern ? D_8014A134;
//extern ? D_8014A140;
//extern ? D_8014A154;
//extern ? D_8014A178;
//extern ? D_8014A19C;
//extern ? D_8014A1BC;
//extern ? D_8014A1C4;
//extern ? D_8014A1E4;
//extern ? D_8014A1EC;
//extern ? D_8014A200;
//extern ? D_8014A210;
//extern ? D_8014A224;
//extern ? D_8014A228;
//extern ? D_8014A23C;
//extern ? D_8014A250;
//extern ? D_8014A260;
//extern ? D_8014A268;
//extern ? D_8014A27C;
//extern ? D_8014A290;
//extern ? D_8014A2A8;
//extern ? D_8014A2C0;
//extern ? D_8014A2DC;
//extern ? D_8014A2E4;
//extern ? D_8014A30C;
//extern ? D_8014A310;
//extern ? D_8014A324;
//extern ? D_8014A334;
//extern ? D_8014A344;
//extern ? D_8014A350;
//extern ? D_8014A354;
//extern ? D_8014A364;
//extern ? D_8014A384;
//extern ? D_8014A39C;
//extern ? D_8014A3B4;
//extern ? D_8014A3D8;
//extern ? D_8014A3F0;
//extern ? D_8014A404;
//extern ? D_8014A414;
//extern ? D_8014A428;
//extern ? D_8014A43C;
//extern ? D_8014A450;
//extern ? D_8014A45C;
//extern ? D_8014A460;
extern const s16 D_8014A6C0[];
#define gTatumsPerBeat (D_8014A6C0[1])
extern const AudioContextInitSizes D_8014A6C4;
2020-03-17 04:31:30 +00:00
//extern ? D_8014A710;
//extern ? D_8014A728;
//extern ? D_8014A730;
//extern ? D_8014A738;
//extern ? D_8014A744;
//extern ? D_8014A750;
//extern ? D_8014A75C;
//extern ? D_8014A764;
//extern ? D_8014A770;
//extern ? D_8014A778;
//extern ? D_8014A784;
//extern ? D_8014A790;
//extern ? D_8014A798;
//extern ? D_8014A7A0;
//extern ? D_8014A7A8;
//extern ? D_8014A7B0;
//extern ? D_8014A7B8;
//extern ? D_8014A7BC;
//extern ? D_8014A7D0;
//extern ? D_8014A7E0;
//extern ? D_8014A7E8;
//extern ? D_8014A7F0;
//extern ? D_8014A7FC;
//extern ? D_8014A808;
//extern ? D_8014A814;
//extern ? D_8014A820;
//extern ? D_8014A82C;
//extern ? D_8014A838;
//extern ? D_8014A844;
//extern ? D_8014A854;
//extern ? D_8014A8B0;
//extern ? D_8014A8B4;
//extern ? D_8014A8C4;
//extern ? D_8014A8C8;
//extern ? D_8014A8D8;
//extern ? D_8014A8DC;
//extern ? D_8014A8EC;
//extern ? D_8014A8F0;
//extern ? D_8014A900;
//extern ? D_8014A920;
//extern ? D_8014A950;
//extern ? D_8014A968;
//extern ? D_8014A980;
//extern ? D_8014A9B8;
//extern ? D_8014A9EC;
//extern ? D_8014AA20;
//extern ? D_8014AA38;
//extern ? D_8014AA5C;
//extern ? D_8014AA80;
//extern ? D_8014B210;
//extern ? D_8014B280;
//extern ? D_8014B2E0;
//extern ? D_8014B2E8;
//extern ? D_8014B2F0;
//extern ? D_8014B2F4;
//extern ? D_8014B2F8;
//extern ? D_8014B2FC;
//extern ? D_8014B300;
//extern ? D_8014B304;
//extern ? D_8014B308;
//extern ? D_8014B310;
//extern ? D_8014B314;
//extern ? D_8014B318;
//extern ? D_8014B31C;
//extern ? D_8014B320;
//extern ? D_8014F548;
//extern ? D_8014FFFF;
//extern ? D_80151658;
//extern ? D_801533D4;
//extern ? D_80153768;
//extern ? D_801538F0;
//extern ? D_801538F4;
//extern ? D_801538F8;
//extern ? D_801538FC;
//extern ? D_80153900;
//extern ? D_80153930;
//extern ? D_80153948;
//extern ? D_8015394C;
//extern ? D_80153958;
//extern ? D_8015395A;
//extern ? D_8015395C;
//extern ? D_8015395E;
extern s16 D_80153960[];
2020-03-17 04:31:30 +00:00
//extern ? D_80153962;
//extern ? D_80153964;
//extern ? D_80153966;
//extern ? D_80153968;
//extern ? D_80153984;
//extern ? D_801539C8;
//extern ? D_801539D4;
//extern ? D_801539E0;
//extern ? D_801539E4;
//extern ? D_801539E8;
//extern ? D_801539EC;
//extern ? D_801539F0;
//extern ? D_801539F4;
//extern ? D_801539F8;
//extern ? D_801539FC;
//extern ? D_80153C50;
//extern ? D_80153C52;
//extern ? D_80153C54;
//extern ? D_80153C56;
//extern ? D_80153C58;
//extern ? D_80153CA8;
//extern ? D_80153CB4;
//extern ? D_80153CC0;
//extern ? D_80153CCC;
//extern ? D_80153CD8;
//extern ? D_80153CDC;
//extern ? D_80153CF8;
//extern ? D_80153CFC;
//extern ? D_80153D74;
//extern ? D_80153D78;
//extern ? D_80153D90;
//extern ? D_80153DEC;
//extern ? D_80153E48;
//extern ? D_80153E74;
//extern ? D_80153ED0;
//extern ? D_80153EFC;
//extern ? D_80153F28;
//extern ? D_80153F54;
//extern ? D_80153F74;
//extern ? D_80153FA0;
//extern ? D_80153FD0;
//extern ? D_80153FE4;
//extern ? D_80153FF8;
//extern ? D_8015400C;
//extern ? D_8015401C;
//extern ? D_80154030;
//extern ? D_80154040;
//extern ? D_80154054;
//extern ? D_80154068;
//extern ? D_80154078;
//extern ? D_8015408C;
//extern ? D_801540A8;
//extern ? D_801540B4;
//extern ? D_801540CC;
//extern ? D_801540D8;
//extern ? D_801540DC;
//extern ? D_801540F4;
//extern ? D_8015410C;
//extern ? D_80154120;
//extern ? D_80154128;
//extern ? D_8015413C;
//extern ? D_80154144;
//extern ? D_80154154;
//extern ? D_8015419C;
//extern ? D_801541A8;
//extern ? D_801541B8;
//extern ? D_801541CC;
//extern ? D_801541E0;
//extern ? D_801541F4;
//extern ? D_80154214;
//extern ? D_80154230;
//extern ? D_80154238;
//extern ? D_80154290;
//extern ? D_80154294;
//extern ? D_801542A8;
//extern ? D_801542BC;
//extern ? D_801542D0;
//extern ? D_801542E4;
//extern ? D_801542F8;
//extern ? D_8015430C;
//extern ? D_80154314;
//extern ? D_80154328;
//extern ? D_8015432C;
//extern ? D_80154334;
//extern ? D_80154358;
//extern ? D_8015435C;
//extern ? D_80154364;
//extern ? D_80154380;
//extern ? D_80154394;
//extern ? D_80154398;
//extern ? D_801543CC;
//extern ? D_801543F4;
//extern ? D_80154400;
//extern ? D_8015440C;
//extern ? D_80154428;
//extern ? D_80154434;
//extern ? D_80154464;
//extern ? D_80154470;
//extern ? D_801544AC;
//extern ? D_801544C0;
//extern ? D_801544D8;
//extern ? D_801544F8;
//extern ? D_80154518;
//extern ? D_80154538;
//extern ? D_8015454C;
//extern ? D_8015455C;
//extern ? D_80154568;
//extern ? D_80154570;
//extern ? D_80154588;
//extern ? D_801545A0;
//extern ? D_801545B8;
//extern ? D_801545BC;
//extern ? D_801545D4;
//extern ? D_801545E4;
//extern ? D_801545EC;
//extern ? D_80154618;
//extern ? D_80154620;
//extern ? D_80154644;
//extern ? D_8015464C;
//extern ? D_8015466C;
//extern ? D_80154670;
//extern ? D_80154688;
//extern ? D_8015469C;
//extern ? D_801546C8;
//extern ? D_801546D0;
//extern ? D_801546F0;
//extern ? D_801546F4;
//extern ? D_80154708;
//extern ? D_80154720;
//extern ? D_80154738;
//extern ? D_80154770;
//extern ? D_80154780;
//extern ? D_801547A4;
//extern ? D_801547AC;
//extern ? D_801547F4;
//extern ? D_801547FC;
//extern ? D_80154800;
//extern ? D_80154848;
//extern ? D_80154858;
//extern ? D_80154868;
//extern ? D_80154878;
//extern ? D_80154880;
//extern ? D_801548C8;
//extern ? D_801548D0;
//extern ? D_801548D4;
//extern ? D_8015491C;
//extern ? D_8015493C;
//extern ? D_8015494C;
//extern ? D_80154968;
//extern ? D_80154984;
//extern ? D_80154998;
//extern ? D_801549AC;
//extern ? D_801549B0;
//extern ? D_801549B8;
//extern ? D_801549BC;
//extern ? D_801549C0;
//extern ? D_801549C4;
//extern ? D_801549D8;
//extern ? D_801549EC;
//extern ? D_801549F8;
//extern ? D_80154A20;
//extern ? D_80154A48;
//extern ? D_80154A64;
//extern ? D_80154A78;
//extern ? D_80154AA0;
//extern ? D_80154AB4;
//extern ? D_80154AC0;
//extern ? D_80154AC8;
//extern ? D_80154AE8;
//extern ? D_80154AFC;
//extern ? D_80154B00;
extern u8 gAudioBankTable[];
extern u8 D_80155340[];
extern u8 gSequenceTable[];
extern u8 gAudioTable[];
extern u8 D_80155F50[];
extern u8 D_80157580[];
extern u8 D_801579A0[];
extern u64 gJpegUCodeData[];
2020-03-17 04:31:30 +00:00
//extern ? D_8015BC30;
//extern ? D_8015BC3C;
//extern ? D_8015BC48;
//extern ? D_8015BC58;
//extern ? D_8015BC64;
//extern ? D_8015BC70;
//extern ? D_8015BC80;
//extern ? D_8015BC8C;
//extern ? D_8015BC98;
//extern ? D_8015BCA8;
//extern ? D_8015BCB4;
//extern ? D_8015BCC0;
//extern ? D_8015BCD0;
//extern ? D_8015BCDC;
//extern ? D_8015BCE8;
//extern ? D_8015BCF8;
//extern ? D_8015BCFC;
//extern ? D_8015BD00;
//extern ? D_8015BD08;
//extern ? D_8015BD0A;
//extern ? D_8015BD0C;
//extern ? D_8015BD0E;
//extern ? D_8015BD10;
//extern ? D_8015BD34;
//extern ? D_8015BD38;
//extern ? D_8015BD3C;
//extern ? D_8015BD50;
//extern ? D_8015BD70;
//extern ? D_8015BD7C;
//extern ? D_8015BD80;
//extern ? D_8015BD84;
//extern ? D_8015BD90;
//extern ? D_8015BD9C;
//extern ? D_8015CE46;
decompile z_camera (#398) * cleanup * name camera action functions * decompile a few small functions, name a few Camera struct members * decompile camera data, decompile a few camera functions * Split ASM for code_800BB0A0 * removing code_800BB0A0.s * PR Requests, Camera WIP * remove #define NON_MATCHING from db_camera * rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c * camera wip * rename some struct memebers, some decomp wip * pr updates * camera wip * name some fields in Camera Struct, being making sense of Camera_Update * Camera WIP * wip * wip * add z64camera.h header, begin creating CameraSetting macros * wip * wip * wip * wip * migrate camera bss to c * match a couple functions in db_camera * match some small db_camera functions * wip * migrate db_camera rodata, match a few functions * remote db_camera.rodata.s * match some of db_camera * identify types of some unknown data pieces * some small wip * Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs * add naming for a few more Camera struct members * wip * match func_80043F94 * Match Camera_Jump1 * document some of Camera_Jump1 * wip * match Camera_Jump3 * Match Camera_Update, FeelsAmazing * wip * wip * match Camera_SetParam * minor cleanup * wip * wip * match Camera_KeepOn0 * some documentation, modify some matching functions to match style of others. * match Camera_Demo1 * match camera_demo9 * document Camera_Demo1 and Camera_Demo9 * wip * Match camera_battle4 * match camera_unique2 * Match Camera_Unique3 * match camera_special6 * match Camera_Special5 * wip * document camera_special6 * naming updates * match camera_Unique1 * match Camera_Unique0 * wip * Match Camera_CalcUpFromPitchYawRoll * match func_80045508 * document Camera_Battle4 * document several camera functions, move camera data to separate file * rename phi/theta to pitch/yaw * wip * uniq9 wip * Camera_Unqiue9 OK * document Camera_Unique9 * name unk_160 in camera struct * wip * wip * minor updates * fix conflicts * wip * wip * Olib updates * wip * wip * rename most Math3D functions, few matches, documentation * wip * document most of math3d * wip * wip * wip * pr updates * Match Camera_Fixed4 * match func_80058E8C * pr updates * add missing comment block finalizer * Merge math3dupdates * match Camera_ChangeSetting * Match Camera_ChangeMode * match func_80058148 * Match Camera_Special9 * decompile the rest of camera data * match Camera_Demo5 * name a few camera functions in z_play * match func_80046CB4, some work on other fucntions * wip * impove some non matchings * fix function rename * match func_800588B4 * match Camera_Subj4 * wip * Camera_Demo3 matching, Camera_Battle1 big progress * Camera_Normal2 OK * wip * match Camera_Parallel1 * normalize some things across functions * match Camera_Normal1 * Match Camera_Normal3 * some cleanup * more cleanup * more cleanup , match Camera_CalcDefaultPitch * data formatting * Match Camera_Jump2 * document Camera_Jump2 * Match Camera_KeepOn3 * document some of Camera_KeepOn3 * improve some non_matchings * match func_80045C74 and func_800460A8 * code cleanup, documentation * match Camera_KeepOn1 * Match Camera_Subj3 * Match Camera_Battle1 * remove non_matching from func_80044adc and func_80046e20 * name several members of Battle1 * more documentation on Battle1 * cleanup * renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector * reorganize update structs, remove final references to params, remove CameraParams union * implement camera enums into player * Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player * remove non-global camera variables from variables.h * clean up some variable declarations * finish pr comment updates * fix some warnings * data formatting * finish commenting on data * delete unused asm * remove asm Co-authored-by: fig <fig02srl@gmail.com>
2020-12-06 22:39:47 +00:00
//extern ? playerFloorPoly;
2020-03-17 04:31:30 +00:00
//extern ? D_8015CE58;
//extern ? D_8015CE80;
//extern ? D_8015CE8C;
//extern ? D_8015CEA0;
//extern ? D_8015CEA8;
//extern ? D_8015CEC0;
//extern ? D_8015CED0;
//extern ? D_8015CF00;
//extern ? D_8015CF10;
//extern ? D_8015CF12;
//extern ? D_8015CF14;
//extern ? D_8015D3A4;
//extern ? D_8015D3A8;
//extern ? D_8015D3CC;
//extern ? D_8015D3D0;
//extern ? D_8015D3D8;
//extern ? D_8015D3DA;
//extern ? D_8015D3DC;
//extern ? D_8015D86C;
//extern ? D_8015D870;
//extern ? D_8015D894;
//extern ? D_8015D898;
//extern ? D_8015D8A0;
//extern ? D_8015D8A2;
//extern ? D_8015D8A4;
//extern ? D_8015DD34;
//extern ? D_8015DD38;
//extern ? D_8015DD5C;
//extern ? D_8015DD60;
//extern ? D_8015DD68;
//extern ? D_8015DD6A;
//extern ? D_8015DD6C;
//extern ? D_8015E1FC;
//extern ? D_8015E200;
//extern ? D_8015E224;
//extern ? D_8015E228;
//extern ? D_8015E230;
//extern ? D_8015E268;
//extern ? D_8015E2A0;
//extern ? D_8015E2D8;
//extern ? D_8015E310;
//extern ? D_8015E320;
//extern ? D_8015E358;
//extern ? D_8015E390;
//extern ? D_8015E3A0;
//extern ? D_8015E3D8;
//extern ? D_8015E410;
//extern ? D_8015E420;
//extern ? D_8015E430;
//extern ? D_8015E440;
//extern ? D_8015E478;
//extern ? D_8015E4B0;
//extern ? D_8015E4C0;
//extern ? D_8015E4F8;
//extern ? D_8015E530;
//extern ? D_8015E564;
//extern ? D_8015E598;
//extern ? D_8015E5A8;
//extern ? D_8015E5DC;
//extern ? D_8015E610;
//extern ? D_8015E61C;
//extern ? D_8015E628;
//extern ? D_8015E638;
//extern ? D_8015E648;
extern SaveContext gSaveContext; // 0x8015E660
2020-03-21 18:27:58 +00:00
extern GameInfo* gGameInfo; // 0x8015FA90
2020-03-17 04:31:30 +00:00
//extern ? D_8015FA98;
//extern ? D_8015FA9B;
//extern ? D_8015FC18;
extern u16 D_8015FCC0;
extern u16 D_8015FCC2;
extern u16 D_8015FCC4;
2020-03-17 04:31:30 +00:00
//extern ? D_8015FCC6;
extern u8 D_8015FCC8;
2020-03-17 04:31:30 +00:00
//extern ? D_8015FCCA;
extern u8 D_8015FCF0;
extern Vec3f D_8015FCF8;
extern s16 D_8015FD04;
extern s16 D_8015FD06;
extern f32 D_8015FD08;
extern s16 D_8015FD0C;
//extern ? D_8015FD10;
extern u8 D_8015FD70;
//extern ? D_8015FD7C;
//extern ? D_8015FD7E;
//extern ? D_8015FD80;
//extern ? D_8015FD84;
//extern ? D_8015FD88;
//extern ? D_8015FD98;
//extern ? D_8015FDA0;
//extern ? D_8015FDAE;
//extern ? D_8015FDB0;
//extern ? D_8015FDF8;
extern MapData* gMapData;
2020-03-17 04:31:30 +00:00
//extern ? D_80160020;
//extern ? D_801600C0;
extern u8 D_80161010;
extern u8 D_801610D4;
extern u8 D_801610D5;
extern u8 D_801610DA;
//extern ? D_80161118;
//extern ? D_8016111A;
//extern ? D_8016111C;
//extern ? D_80161120;
//extern ? D_8016112C;
//extern ? D_80161138;
//extern ? D_8016113C;
//extern ? D_80161160;
//extern ? D_8016116E;
//extern ? D_80161170;
//extern ? D_8016117E;
//extern ? D_80161180;
//extern ? D_80161240;
//extern ? D_801612D0;
//extern ? D_801612D2;
//extern ? D_801612EC;
extern f32 gBossMarkScale;
extern PauseMapMarksData* gLoadedPauseMarkDataTable;
extern s32 gTrnsnUnkState;
extern Color_RGBA8_u32 D_801614B0;
extern SpeedMeter gSpeedMeter;
2020-03-17 04:31:30 +00:00
//extern ? D_801664F0;
//extern ? D_80166500;
//extern ? D_80166510;
//extern ? D_80166528;
//extern ? D_801665B0;
//extern ? D_801665C0;
//extern ? D_801665D0;
//extern ? D_801665D4;
//extern ? D_801665D8;
//extern ? D_801665DC;
//extern ? D_801665E0;
//extern ? D_801665F0;
//extern ? D_80166648;
extern PreNmiBuff* gAppNmiBufferPtr;
extern SchedContext gSchedContext;
extern PadMgr gPadMgr;
2020-03-17 04:31:30 +00:00
//extern ? D_80166D28;
extern u32 gSegments[NUM_SEGMENTS];
extern volatile OSTime D_8016A520;
extern volatile OSTime D_8016A528;
extern volatile OSTime D_8016A530;
extern volatile OSTime D_8016A538;
extern volatile OSTime D_8016A540;
extern volatile OSTime D_8016A548;
extern volatile OSTime D_8016A550;
extern volatile OSTime D_8016A558;
extern volatile OSTime gRSPAudioTotalTime;
extern volatile OSTime gRSPGFXTotalTime;
extern volatile OSTime gRSPOtherTotalTime;
extern volatile OSTime gRDPTotalTime;
extern SpeedMeterTimeEntry* gSpeedMeterTimeEntryPtr;
2020-03-17 04:31:30 +00:00
//extern ? D_8016A590;
//extern ? D_8016A594;
//extern ? D_8016A598;
//extern ? D_8016A5A0;
//extern ? D_8016A5B8;
//extern ? D_8016A5C4;
//extern ? D_8016A5D0;
//extern ? D_8016A5E8;
//extern ? D_8016A5F8;
//extern ? D_8016A608;
//extern ? D_8016A618;
//extern ? D_8016A628;
//extern ? D_8016A638;
//extern ? D_8016A688;
//extern ? D_8016A698;
//extern ? D_8016A6A8;
//extern ? D_8016A6E8;
//extern ? D_8016A6F8;
//extern ? D_8016A704;
//extern ? D_8016A710;
//extern ? D_8016A720;
//extern ? D_8016A724;
//extern ? D_8016A728;
//extern ? D_8016A730;
//extern ? D_8016A732;
//extern ? D_8016A734;
//extern ? D_8016A736;
//extern ? D_8016A738;
//extern ? D_8016A73A;
//extern ? D_8016A73C;
//extern ? D_8016A73E;
//extern ? D_8016A740;
//extern ? D_8016A750;
//extern ? D_8016A794;
//extern ? D_8016A7AC;
extern FaultThreadStruct gFaultStruct;
//extern ? D_8016B5F6;
//extern ? D_8016B684;
//extern ? D_8016B690;
//extern ? D_8016B692;
//extern ? D_8016B6A0;
//extern ? D_8016B6B5;
//extern ? D_8016B6B8;
extern OSMesgQueue D_8016B6E0;
//extern OSMesg D_8016B6F8;
extern u8* D_8016B738[];
//extern u32 D_8016B780;
//extern ? sAudioUpdateStartTime;
//extern ? sAudioUpdateEndTime;
2020-03-17 04:31:30 +00:00
//extern ? D_8016B7A8;
//extern ? D_8016B7AC;
//extern ? D_8016B7B0;
//extern ? D_8016B7B8;
//extern ? D_8016B7C8;
//extern ? D_8016B7D8;
//extern ? D_8016B7DC;
//extern ? D_8016B7E0;
//extern ? sAudioScreenPrintBuf;
2020-03-17 04:31:30 +00:00
//extern ? D_8016B8B0;
//extern ? D_8016B8B1;
//extern ? D_8016B8B2;
//extern ? D_8016B8B3;
//extern ? D_8016B8B4;
//extern ? D_8016B8B8;
//extern ? D_8016B9B8;
//extern ? D_8016B9D8;
//extern ? D_8016B9E0;
//extern ? D_8016B9F2;
//extern ? D_8016B9F3;
//extern ? D_8016B9F4;
//extern ? D_8016B9F6;
//extern ? D_8016B9F8;
//extern ? D_8016B9F9;
//extern ? D_8016BA00;
//extern ? D_8016BA04;
//extern ? D_8016BA08;
//extern ? D_8016BA09;
//extern ? sCurOcarinaBtnPress;
2020-03-17 04:31:30 +00:00
//extern ? D_8016BA10;
//extern ? sPrevOcarinaBtnPress;
2020-03-17 04:31:30 +00:00
//extern ? D_8016BA18;
//extern ? sCurOcarinaSong;
//extern ? sOcarinaSongAppendPos;
//extern ? sOcarinaHasStartedSong;
//extern ? gOcarinaSongNotestartIdx;
//extern ? sOcarinaSongCnt;
//extern ? sOcarinaAvailSongs;
2020-03-17 04:31:30 +00:00
//extern ? D_8016BA2E;
//extern ? D_8016BA50;
//extern ? D_8016BA70;
//extern ? sLearnSongExpectedNote;
2020-03-17 04:31:30 +00:00
//extern ? D_8016BAA0;
//extern ? D_8016BAA8;
//extern ? D_8016BAB0;
//extern ? sDebugPadPressRaw;
//extern ? sDebugPadPress;
//extern ? sAudioUpdateTaskStart;
//extern ? sAudioUpdateTaskEnd;
extern SoundBankEntry D_8016BAD0[9];
extern SoundBankEntry D_8016BC80[12];
extern SoundBankEntry D_8016BEC0[22];
extern SoundBankEntry D_8016C2E0[20];
extern SoundBankEntry D_8016C6A0[8];
extern SoundBankEntry D_8016C820[3];
extern SoundBankEntry D_8016C8B0[5];
2020-03-17 04:31:30 +00:00
//extern ? D_8016C9A0;
extern u8 D_8016E1A0[7];
extern u8 D_8016E1A8[7];
extern u8 D_8016E1B0[7];
extern Struct_800F7CEC D_8016E1B8[7][3]; // total size = 0xA8
extern u8 D_8016E260;
extern u8 D_8016E264[];
2020-03-17 04:31:30 +00:00
//extern ? D_8016E270;
extern u16 D_8016E2E0[];
extern u16 D_8016E2F8[];
extern u8 D_8016E310[];
2020-03-17 04:31:30 +00:00
//extern ? D_8016E320;
//extern ? D_8016E348;
//extern ? sAudioSeqCmds;
extern unk_D_8016E750 D_8016E750[4];
2020-03-17 04:31:30 +00:00
//extern ? D_8016EE8B;
extern AudioContext gAudioContext; // at 0x8016F180
2020-03-17 04:31:30 +00:00
//extern ? D_80174D28;
//extern ? D_80174D38;
//extern ? D_80174D48;
//extern ? D_80174D64;
//extern ? D_80174D68;
//extern ? D_80174D88;
//extern ? D_80174DA0;
//extern ? D_80174DB8;
//extern ? D_80174DBC;
//extern ? D_80174DC0;
extern void(*D_801755D0)(void);
2020-03-17 04:31:30 +00:00
extern u32 __osMalloc_FreeBlockTest_Enable;
//extern ? D_80175640;
//extern ? D_80175670;
//extern ? D_80175680;
//extern ? D_80175688;
//extern ? D_80175690;
//extern ? D_80175698;
//extern ? D_8017569C;
//extern ? D_801756A0;
//extern ? D_801756A8;
extern Arena gSystemArena;
extern OSPifRam osPifBuffers[MAXCONTROLLERS];
extern OSMesg osSiMesgBuff[SIAccessQueueSize];
extern OSMesgQueue gOSSiMessageQueue;
extern OSPifRam __osPifInternalBuff;
extern u8 __osContLastPoll;
extern u8 __osMaxControllers;
extern OSMesgQueue __osContMesgQueue;
extern OSMesg __osContMesgBuff[4];
extern __OSInode __osPfsInodeCache;
extern OSPifRam gPifMempakBuf;
2020-03-17 04:31:30 +00:00
//extern ? D_801759A0;
//extern ? D_801759A4;
//extern ? D_801759A8;
//extern ? D_801759AA;
//extern ? D_801759AC;
//extern ? D_801759AE;
//extern ? D_801759B0;
//extern ? D_801759B2;
//extern ? D_801759B4;
//extern ? D_801759B6;
//extern ? D_801759B8;
//extern ? D_801759BA;
//extern ? D_801759BC;
//extern ? D_801759BE;
extern u16 gZBuffer[SCREEN_HEIGHT][SCREEN_WIDTH]; // 0x25800 bytes
2020-03-17 04:31:30 +00:00
extern u64 gGfxSPTaskOutputBuffer[0x3000]; // 0x18000 bytes
extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE]; // 0xC00 bytes
extern u8 gGfxSPTaskStack[0x400]; // 0x400 bytes
extern GfxPool gGfxPools[2]; // 0x24820 bytes
extern u8 gAudioHeap[0x38000]; // 0x38000 bytes
extern u8 gSystemHeap[];
#endif