mirror of
https://github.com/HackerN64/HackerOoT.git
synced 2026-01-21 10:37:37 -08:00
* Match retail BSS ordering (#1927) * Match retail BSS ordering * Revert moving some global variables to headers * Adjust block numbers after header changes * Fix debug build * Overlay bss ordering * Fix BSS ordering after header changes * gc-eu-mq OK * Implement preprocessor for #pragma increment_block_number * Transfer usage comment from reencode.sh * Use temporary directory instead of temporary file * Move ColChkMassType back * Player: Document "WaitForPutAway" (#1936) * document put away delay * functions.txt * add a note on delaying indefinitely * format * typo * delay -> wait for put away * revert unintended formatting change * add comment to struct member * format * fix functions.txt * Set up gc-eu and match all code (#1938) * Set up gc-eu and match all code * Format * Mark gc-eu-mq as WIP until it builds OK * Move original/MQ map mark data to separate files * Add #includes to .inc.c files to help out VS Code * Use #if in spec instead of .inc.c files * Delete disassembly data for gc-eu-mq (#1942) * Player Docs: "sUpperBodyIsBusy" (#1944) * document upperbodybusy * change wording for comment and rename upperanimblendweight * format * review * Fix miscategorized scenes (#1946) * Fix miscategorized scenes * Sort includes * Player Docs: Action Interrupt (#1947) * document action interrupt * format * new function comment * format * add a note about items * format * Add gc-eu-mq to CI (#1943) * Add gc-eu-mq to CI * Give up on scripting * Revert quotes changes * Player Docs: Name some high level update calls (#1593) * name some low hanging fruit * revert burn and shock, doing in seperate pr * add some function comments * yaw func * adjust comment * some review * unname UpdateZTarget * Player_DetectRumbleSecrets * fix dive do action name * Player Docs: Control stick buffers (#1945) * name vars and add enum * name some spin attack stuff * fix right and left * forward/backward * format * fix retail bss * sControlStickWorldYaw * Force string.o to be in boot for gcc builds (#1948) In retail builds, memcpy is linked in code, not boot, but GCC likes to call memcpy when copying structs so currently GCC builds immediately crash in __osInitialize_common. * Rename yDistToWater -> depthInWater (#1950) * Rename yDistToWater -> yDistUnderWater * yDistUnderWater -> depthInWater * Check baserom hash before decompression (#1952) * Remove Cygwin support (#1951) * Document pause page switching (#1550) * Document pause page switching * document initial scroll left setup, when opening the pause menu * `PAUSE_MAIN_STATE_1` -> `PAUSE_MAIN_STATE_SWITCHING_PAGE` * try a diagram of the pages layout in world space as a comment * expand `nextPageMode` comment * touch up pause camera header comments * expand comment on irrelevant init `mainState = PAUSE_MAIN_STATE_SWITCHING_PAGE` * expand doc on `sKaleidoSetup*` data * expand docs on `gPageSwitchNextButtonStatus` * add some doc on `sPageSwitch*` arrays * SwitchPage -> PageSwitch * add `PAGE_SWITCH_NSTEPS` * `SWITCH_PAGE_*_PT` -> `PAGE_SWITCH_PT_*` * peepoArtist --------- Co-authored-by: fig02 <fig02srl@gmail.com> * Fix LensMode Enum Names (#1954) * Change linker script so gGameOverTimer can be in z_game_over.c (#1939) * Change linker script so gGameOverTimer can be in z_game_over.c * gGameOverTimer -> sGameOverTimer * include_data_only_with_rodata -> include_data_only_within_rodata * fix build issues * Check buffers segment in check_ordering.py (#1960) * Delete unused yaz0tool (#1959) * Revamp "AnimationContext" Docs, now called "AnimTaskQueue" (#1941) * start using task terminology * more docs * format * cleanups * MoveActor -> ActorMove * missed a couple * hopefully the last changes * comment explaining the group change * some review * dragorn review * remove accidental file * fix matching issue, now use while loop * Experiment: remove global.h dependency from sys_math, sys_math3d, z_lib (#1956) * split sys_math, sys_math3d, z_lib from global.h * suggestions * forgot this * more math stuff * nit fix * re-add ichain.h * resolve tharo's comments * Fix check_ordering.py checking for shifted/nonmatching-besides-relocs (#1961) * Run CC_CHECK with the correct CPP defines (#1963) * Run CC_CHECK with the correct CPP defines * Add "CPP_DEFINES ?=" --------- Co-authored-by: cadmic <cadmic24@gmail.com> Co-authored-by: fig02 <fig02srl@gmail.com> Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: inspectredc <78732756+inspectredc@users.noreply.github.com> Co-authored-by: mzxrules <mzxrules@gmail.com>
266 lines
8.4 KiB
C
266 lines
8.4 KiB
C
#ifndef VARIABLES_H
|
|
#define VARIABLES_H
|
|
|
|
#include "z64.h"
|
|
#include "segment_symbols.h"
|
|
#include "config.h"
|
|
|
|
#if ENABLE_HACKER_DEBUG
|
|
#include "debug.h"
|
|
|
|
extern Debug gDebug;
|
|
#endif
|
|
|
|
extern Mtx D_01000000;
|
|
|
|
extern u32 osTvType;
|
|
extern u32 osRomBase;
|
|
extern u32 osResetType;
|
|
extern u32 osMemSize;
|
|
extern u8 osAppNMIBuffer[0x40];
|
|
|
|
extern s8 D_80009430;
|
|
extern vu8 gViConfigBlack;
|
|
extern u8 gViConfigAdditionalScanLines;
|
|
extern u32 gViConfigFeatures;
|
|
extern f32 gViConfigXScale;
|
|
extern f32 gViConfigYScale;
|
|
extern OSPiHandle* gCartHandle;
|
|
extern u32 __osPiAccessQueueEnabled;
|
|
extern OSViMode osViModePalLan1;
|
|
extern s32 osViClock;
|
|
extern u32 __osShutdown;
|
|
extern OSHWIntr __OSGlobalIntMask;
|
|
extern __OSThreadTail __osThreadTail;
|
|
extern OSThread* __osRunQueue;
|
|
extern OSThread* __osActiveQueue;
|
|
extern OSThread* __osRunningThread;
|
|
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 OSViMode gCustomViModePal60Lan1;
|
|
extern u32 __additional_scanline;
|
|
extern const char gBuildMakeOption[];
|
|
extern const char gBuildGitVersion[];
|
|
extern const char gBuildTeam[];
|
|
extern OSMesgQueue gPiMgrCmdQueue;
|
|
extern OSViMode gViConfigMode;
|
|
extern u8 gViConfigModeType;
|
|
extern OSMesgQueue __osPiAccessQueue;
|
|
extern OSPiHandle __Dom1SpeedParam;
|
|
extern OSPiHandle __Dom2SpeedParam;
|
|
extern OSTime __osCurrentTime;
|
|
extern u32 __osBaseCounter;
|
|
extern u32 __osViIntrCount;
|
|
extern u32 __osTimerCounter;
|
|
extern EffectSsOverlay gEffectSsOverlayTable[EFFECT_SS_TYPE_MAX];
|
|
extern Gfx D_80116280[];
|
|
extern ActorOverlay gActorOverlayTable[ACTOR_ID_MAX]; // original name: "actor_dlftbls" 801162A0
|
|
extern s32 gMaxActorId; // original name: "MaxProfile"
|
|
extern s32 gDebugCamEnabled; // ENABLE_CAMERA_DEBUGGER
|
|
extern GameStateOverlay gGameStateOverlayTable[GAMESTATE_ID_MAX];
|
|
extern u8 gWeatherMode;
|
|
extern u8 gLightConfigAfterUnderwater;
|
|
extern u8 gInterruptSongOfStorms;
|
|
extern u16 gTimeSpeed;
|
|
extern s32 gZeldaArenaLogSeverity;
|
|
extern MapData gMapDataTable;
|
|
extern s16 gSpoilingItems[3];
|
|
extern s16 gSpoilingItemReverts[3];
|
|
extern FlexSkeletonHeader* gPlayerSkelHeaders[2];
|
|
extern u8 gPlayerModelTypes[PLAYER_MODELGROUP_MAX][PLAYER_MODELGROUPENTRY_MAX];
|
|
extern Gfx* gPlayerLeftHandBgsDLs[];
|
|
extern Gfx* gPlayerLeftHandOpenDLs[];
|
|
extern Gfx* gPlayerLeftHandClosedDLs[];
|
|
extern Gfx* gPlayerLeftHandBoomerangDLs[];
|
|
extern Gfx gCullBackDList[];
|
|
extern Gfx gCullFrontDList[];
|
|
extern Gfx gEmptyDL[];
|
|
extern u32 gBitFlags[32];
|
|
extern u16 gEquipMasks[EQUIP_TYPE_MAX];
|
|
extern u16 gEquipNegMasks[EQUIP_TYPE_MAX];
|
|
extern u32 gUpgradeMasks[UPG_MAX];
|
|
extern u8 gEquipShifts[EQUIP_TYPE_MAX];
|
|
extern u8 gUpgradeShifts[UPG_MAX];
|
|
extern u16 gUpgradeCapacities[UPG_MAX][4];
|
|
extern u32 gGsFlagsMasks[4];
|
|
extern u32 gGsFlagsShifts[4];
|
|
extern void* gItemIcons[0x82];
|
|
extern u8 gItemSlots[56];
|
|
extern SceneCmdHandlerFunc gSceneCmdHandlers[SCENE_CMD_ID_MAX];
|
|
extern s16 gLinkObjectIds[2];
|
|
extern u32 gObjectTableSize;
|
|
extern RomFile gObjectTable[OBJECT_ID_MAX];
|
|
extern EntranceInfo gEntranceTable[ENTR_MAX];
|
|
extern SceneTableEntry gSceneTable[SCENE_ID_MAX];
|
|
extern u16 gSramSlotOffsets[];
|
|
// 4 16-colors palettes
|
|
extern u64 gMojiFontTLUTs[4][4]; // original name: "moji_tlut"
|
|
extern u64 gMojiFontTex[]; // original name: "font_ff"
|
|
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[KALEIDO_OVL_MAX];
|
|
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
|
extern u8 gBossMarkState;
|
|
extern void* gDebugCutsceneScript;
|
|
extern s32 gScreenWidth;
|
|
extern s32 gScreenHeight;
|
|
extern Mtx gMtxClear;
|
|
extern MtxF gMtxFClear;
|
|
#if IS_DEBUG
|
|
extern u32 gIsCtrlr2Valid;
|
|
#endif
|
|
extern s16* gWaveSamples[9];
|
|
extern f32 gBendPitchOneOctaveFrequencies[256];
|
|
extern f32 gBendPitchTwoSemitonesFrequencies[256];
|
|
extern f32 gPitchFrequencies[];
|
|
extern u8 gDefaultShortNoteVelocityTable[16];
|
|
extern u8 gDefaultShortNoteGateTimeTable[16];
|
|
extern EnvelopePoint gDefaultEnvelope[4];
|
|
extern NoteSubEu gZeroNoteSub;
|
|
extern NoteSubEu gDefaultNoteSub;
|
|
extern u16 gHaasEffectDelaySizes[64];
|
|
extern s16 D_8012FBA8[];
|
|
extern f32 gHeadsetPanVolume[128];
|
|
extern f32 gStereoPanVolume[128];
|
|
extern f32 gDefaultPanVolume[128];
|
|
extern s16 gLowPassFilterData[16 * 8];
|
|
extern s16 gHighPassFilterData[15 * 8];
|
|
extern s32 gAudioContextInitialized;
|
|
extern u8 gIsLargeSfxBank[7];
|
|
extern u8 gChannelsPerBank[4][7];
|
|
extern u8 gUsedChannelsPerBank[4][7];
|
|
extern u8 gMorphaTransposeTable[16];
|
|
extern u8* gFrogsSongPtr;
|
|
extern OcarinaNote* gScarecrowLongSongPtr;
|
|
extern u8* gScarecrowSpawnSongPtr;
|
|
extern OcarinaSongButtons gOcarinaSongButtons[];
|
|
extern SfxParams* gSfxParams[7];
|
|
extern char D_80133390[];
|
|
extern char D_80133398[];
|
|
extern u8 gSfxRequestWriteIndex;
|
|
extern u8 gSfxRequestReadIndex;
|
|
extern SfxBankEntry* gSfxBanks[7];
|
|
extern u8 gSfxBankSizes[];
|
|
extern u8 gSfxChannelLayout;
|
|
extern u16 D_801333D0;
|
|
extern Vec3f gSfxDefaultPos;
|
|
extern f32 gSfxDefaultFreqAndVolScale;
|
|
extern s8 gSfxDefaultReverb;
|
|
|
|
// ENABLE_AUDIO_DEBUGGER
|
|
extern u8 D_801333F0;
|
|
extern u8 gAudioSfxSwapOff;
|
|
extern u8 D_801333F8;
|
|
|
|
extern u8 gSeqCmdWritePos;
|
|
extern u8 gSeqCmdReadPos;
|
|
extern u8 gStartSeqDisabled;
|
|
|
|
// ENABLE_AUDIO_DEBUGGER
|
|
extern u8 gAudioDebugPrintSeqCmd;
|
|
|
|
extern u8 gSoundModeList[];
|
|
extern u8 gAudioSpecId;
|
|
extern u8 D_80133418;
|
|
extern AudioSpec gAudioSpecs[18];
|
|
extern s32 gOverlayLogSeverity;
|
|
extern s32 gSystemArenaLogSeverity;
|
|
extern u8 __osPfsInodeCacheBank;
|
|
extern s32 __osPfsLastChannel;
|
|
|
|
extern const TempoData gTempoData;
|
|
extern const AudioHeapInitSizes gAudioHeapInitSizes;
|
|
extern s16 gOcarinaSongItemMap[];
|
|
extern u8 gSoundFontTable[];
|
|
extern u8 gSequenceFontTable[];
|
|
extern u8 gSequenceTable[];
|
|
extern u8 gSampleBankTable[];
|
|
|
|
extern SaveContext gSaveContext;
|
|
|
|
extern u8 gUseCutsceneCam;
|
|
extern u16 D_8015FCCC;
|
|
extern char D_8015FCD0[20];
|
|
extern u8 D_8015FCE4;
|
|
extern u16 gCamAtSplinePointsAppliedFrame;
|
|
extern u16 gCamEyePointAppliedFrame;
|
|
extern u16 gCamAtPointAppliedFrame;
|
|
|
|
extern LightningStrike gLightningStrike;
|
|
// TODO: These variables are here for BSS ordering but ideally they should not
|
|
// be extern. This could be fixed by putting more stuff (e.g. struct definitions)
|
|
// between gLightningStrike and gCustomLensFlareOn.
|
|
extern s16 sLightningFlashAlpha;
|
|
extern s16 sSunDepthTestX;
|
|
extern s16 sSunDepthTestY;
|
|
extern u8 gCustomLensFlareOn;
|
|
extern Vec3f gCustomLensFlarePos;
|
|
extern s16 gLensFlareScale;
|
|
extern f32 gLensFlareColorIntensity;
|
|
extern s16 gLensFlareGlareStrength;
|
|
extern MapData* gMapData;
|
|
extern f32 gBossMarkScale;
|
|
extern u32 D_8016139C;
|
|
extern PauseMapMarksData* gLoadedPauseMarkDataTable;
|
|
extern TransitionTile gTransitionTile;
|
|
extern s32 gTransitionTileState;
|
|
extern VisMono gPlayVisMono;
|
|
extern Color_RGBA8_u32 gVisMonoColor;
|
|
extern PreNmiBuff* gAppNmiBufferPtr;
|
|
extern uintptr_t gSegments[NUM_SEGMENTS];
|
|
extern Scheduler gScheduler;
|
|
extern PadMgr gPadMgr;
|
|
|
|
#if ENABLE_F3DEX3
|
|
extern u8 gF3DEX3TextBuffer[];
|
|
extern volatile s8 gLoadedF3DEX3Version;
|
|
extern volatile s8 gF3DEX3ProfVersion;
|
|
extern volatile s8 gF3DEX3NOCVersion;
|
|
extern s8 gF3DEX3OccMode;
|
|
extern u8 gUseMemsetForZBuffer;
|
|
#endif
|
|
|
|
extern SfxBankEntry D_8016BAD0[9];
|
|
extern SfxBankEntry D_8016BC80[12];
|
|
extern SfxBankEntry D_8016BEC0[22];
|
|
extern SfxBankEntry D_8016C2E0[20];
|
|
extern SfxBankEntry D_8016C6A0[8];
|
|
extern SfxBankEntry D_8016C820[3];
|
|
extern SfxBankEntry D_8016C8B0[5];
|
|
extern ActiveSfx gActiveSfx[7][MAX_CHANNELS_PER_BANK]; // total size = 0xA8
|
|
extern u8 gSfxBankMuted[];
|
|
|
|
// ENABLE_AUDIO_DEBUGGER
|
|
extern u16 gAudioSfxSwapSource[10];
|
|
extern u16 gAudioSfxSwapTarget[10];
|
|
extern u8 gAudioSfxSwapMode[10];
|
|
|
|
extern ActiveSequence gActiveSeqs[4];
|
|
extern AudioContext gAudioCtx;
|
|
extern AudioCustomUpdateFunction gAudioCustomUpdateFunction;
|
|
|
|
extern u32 __osMalloc_FreeBlockTest_Enable;
|
|
extern Arena gSystemArena;
|
|
extern OSPifRam __osContPifRam;
|
|
extern u8 __osContLastCmd;
|
|
extern u8 __osMaxControllers;
|
|
extern __OSInode __osPfsInodeCache;
|
|
extern OSPifRam __osPfsPifRam;
|
|
extern u16 gZBuffer[SCREEN_HEIGHT][SCREEN_WIDTH]; // 0x25800 bytes
|
|
extern u64 gGfxSPTaskOutputBuffer[0x3000]; // 0x18000 bytes
|
|
extern u64 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE / sizeof(u64)]; // 0xC00 bytes
|
|
extern u64 gGfxSPTaskStack[SP_DRAM_STACK_SIZE64]; // 0x400 bytes
|
|
extern GfxPool gGfxPools[2]; // 0x24820 bytes
|
|
extern u8 gAudioHeap[AUDIO_HEAP_SIZE]; // 0x38000 bytes
|
|
|
|
extern Rainbow gRainbow;
|
|
|
|
extern u8 gRDPTimingsExist; // This variable being 1 indicates that the game is running on console or an extremely accurate emulator that can be affected by RDP lag.
|
|
|
|
#endif
|