2021-09-15 19:24:19 -04:00
# ifndef VARIABLES_H
# define VARIABLES_H
2020-03-17 00:31:30 -04:00
2020-10-03 17:22:44 +02:00
# include "z64.h"
# include "segment_symbols.h"
2024-05-08 12:04:46 +02:00
# include "config.h"
# if ENABLE_HACKER_DEBUG
# include "debug.h"
extern Debug gDebug ;
# endif
2020-03-17 00:31:30 -04:00
2021-09-20 11:51:35 -05:00
extern Mtx D_01000000 ;
2020-03-17 00:31:30 -04:00
extern u32 osTvType ;
extern u32 osRomBase ;
extern u32 osResetType ;
extern u32 osMemSize ;
2022-05-01 00:03:22 +01:00
extern u8 osAppNMIBuffer [ 0x40 ] ;
2020-03-17 00:31:30 -04:00
2020-07-18 05:55:35 -04:00
extern s8 D_80009430 ;
2022-06-03 20:43:30 +01:00
extern vu8 gViConfigBlack ;
2020-03-17 00:31:30 -04:00
extern u8 gViConfigAdditionalScanLines ;
extern u32 gViConfigFeatures ;
extern f32 gViConfigXScale ;
extern f32 gViConfigYScale ;
extern OSPiHandle * gCartHandle ;
extern u32 __osPiAccessQueueEnabled ;
extern OSViMode osViModePalLan1 ;
2020-05-25 23:18:14 +02:00
extern s32 osViClock ;
2020-03-17 00:31:30 -04:00
extern u32 __osShutdown ;
2021-12-01 00:08:57 +00:00
extern OSHWIntr __OSGlobalIntMask ;
2022-04-09 01:20:23 +01:00
extern __OSThreadTail __osThreadTail ;
2020-10-03 17:22:44 +02:00
extern OSThread * __osRunQueue ;
extern OSThread * __osActiveQueue ;
extern OSThread * __osRunningThread ;
2020-03-17 00:31:30 -04: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 ;
2024-05-15 12:26:17 +01:00
extern OSViMode gCustomViModePal60Lan1 ;
2020-03-17 00:31:30 -04:00
extern u32 __additional_scanline ;
2024-01-31 22:50:22 +01:00
extern const char gBuildMakeOption [ ] ;
extern const char gBuildGitVersion [ ] ;
extern const char gBuildTeam [ ] ;
2022-04-09 01:20:23 +01:00
extern OSMesgQueue gPiMgrCmdQueue ;
2020-03-17 00:31:30 -04:00
extern OSViMode gViConfigMode ;
2022-11-13 23:07:27 +00:00
extern u8 gViConfigModeType ;
2020-03-17 00:31:30 -04:00
extern OSMesgQueue __osPiAccessQueue ;
extern OSPiHandle __Dom1SpeedParam ;
extern OSPiHandle __Dom2SpeedParam ;
extern OSTime __osCurrentTime ;
extern u32 __osBaseCounter ;
extern u32 __osViIntrCount ;
extern u32 __osTimerCounter ;
2021-01-20 18:15:17 +00:00
extern EffectSsOverlay gEffectSsOverlayTable [ EFFECT_SS_TYPE_MAX ] ;
2020-03-25 18:39:51 -04:00
extern Gfx D_80116280 [ ] ;
2021-01-20 18:15:17 +00:00
extern ActorOverlay gActorOverlayTable [ ACTOR_ID_MAX ] ; // original name: "actor_dlftbls" 801162A0
2020-05-18 20:24:00 +02:00
extern s32 gMaxActorId ; // original name: "MaxProfile"
2024-02-03 17:02:10 +01:00
extern s32 gDebugCamEnabled ; // ENABLE_CAMERA_DEBUGGER
2023-09-26 13:40:55 +01:00
extern GameStateOverlay gGameStateOverlayTable [ GAMESTATE_ID_MAX ] ;
2021-09-20 11:51:35 -05:00
extern u8 gWeatherMode ;
2022-05-20 14:40:13 -04:00
extern u8 gLightConfigAfterUnderwater ;
extern u8 gInterruptSongOfStorms ;
extern u16 gTimeSpeed ;
2020-03-17 00:31:30 -04:00
extern s32 gZeldaArenaLogSeverity ;
2020-05-01 17:09:20 +02:00
extern MapData gMapDataTable ;
2020-03-17 00:31:30 -04:00
extern s16 gSpoilingItems [ 3 ] ;
extern s16 gSpoilingItemReverts [ 3 ] ;
2020-12-01 21:19:56 -06:00
extern FlexSkeletonHeader * gPlayerSkelHeaders [ 2 ] ;
2022-03-20 23:42:01 +01:00
extern u8 gPlayerModelTypes [ PLAYER_MODELGROUP_MAX ] [ PLAYER_MODELGROUPENTRY_MAX ] ;
2022-05-29 04:52:15 -07:00
extern Gfx * gPlayerLeftHandBgsDLs [ ] ;
extern Gfx * gPlayerLeftHandOpenDLs [ ] ;
extern Gfx * gPlayerLeftHandClosedDLs [ ] ;
extern Gfx * gPlayerLeftHandBoomerangDLs [ ] ;
2020-09-19 03:45:39 +02:00
extern Gfx gCullBackDList [ ] ;
extern Gfx gCullFrontDList [ ] ;
2020-03-29 18:43:45 +02:00
extern Gfx gEmptyDL [ ] ;
2020-03-17 00:31:30 -04:00
extern u32 gBitFlags [ 32 ] ;
2022-05-17 00:14:08 +02:00
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 ] ;
2021-11-26 23:37:33 +01:00
extern u32 gGsFlagsMasks [ 4 ] ;
extern u32 gGsFlagsShifts [ 4 ] ;
2021-05-03 01:15:16 +02:00
extern void * gItemIcons [ 0x82 ] ;
2020-03-17 00:31:30 -04:00
extern u8 gItemSlots [ 56 ] ;
2024-02-01 03:29:02 -05:00
extern SceneCmdHandlerFunc gSceneCmdHandlers [ SCENE_CMD_ID_MAX ] ;
2020-03-17 00:31:30 -04:00
extern s16 gLinkObjectIds [ 2 ] ;
extern u32 gObjectTableSize ;
2021-01-20 18:15:17 +00:00
extern RomFile gObjectTable [ OBJECT_ID_MAX ] ;
2022-05-09 13:45:53 -04:00
extern EntranceInfo gEntranceTable [ ENTR_MAX ] ;
2021-08-15 18:15:58 -05:00
extern SceneTableEntry gSceneTable [ SCENE_ID_MAX ] ;
2021-06-01 12:31:29 -05:00
extern u16 gSramSlotOffsets [ ] ;
2021-11-01 17:23:49 +01:00
// 4 16-colors palettes
extern u64 gMojiFontTLUTs [ 4 ] [ 4 ] ; // original name: "moji_tlut"
extern u64 gMojiFontTex [ ] ; // original name: "font_ff"
2021-05-03 01:15:16 +02:00
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable [ KALEIDO_OVL_MAX ] ;
extern KaleidoMgrOverlay * gKaleidoMgrCurOvl ;
extern u8 gBossMarkState ;
2022-12-24 13:55:17 -05:00
extern void * gDebugCutsceneScript ;
2020-04-16 23:36:12 +02:00
extern s32 gScreenWidth ;
extern s32 gScreenHeight ;
2020-03-17 00:31:30 -04:00
extern Mtx gMtxClear ;
extern MtxF gMtxFClear ;
2024-02-03 23:09:03 +01:00
# if IS_DEBUG
2021-12-07 15:17:48 +01:00
extern u32 gIsCtrlr2Valid ;
2024-02-02 10:33:00 -08:00
# endif
2021-07-27 18:44:58 -05:00
extern s16 * gWaveSamples [ 9 ] ;
2021-11-13 02:52:17 +11:00
extern f32 gBendPitchOneOctaveFrequencies [ 256 ] ;
extern f32 gBendPitchTwoSemitonesFrequencies [ 256 ] ;
2022-05-10 02:59:23 +10:00
extern f32 gPitchFrequencies [ ] ;
2020-09-01 23:23:30 +02:00
extern u8 gDefaultShortNoteVelocityTable [ 16 ] ;
2021-11-07 17:58:50 +01:00
extern u8 gDefaultShortNoteGateTimeTable [ 16 ] ;
2022-06-19 07:31:08 -07:00
extern EnvelopePoint gDefaultEnvelope [ 4 ] ;
2020-04-21 04:19:33 -04:00
extern NoteSubEu gZeroNoteSub ;
extern NoteSubEu gDefaultNoteSub ;
2022-08-28 11:33:38 -04:00
extern u16 gHaasEffectDelaySizes [ 64 ] ;
2021-11-13 02:52:17 +11:00
extern s16 D_8012FBA8 [ ] ;
2020-04-21 04:19:33 -04:00
extern f32 gHeadsetPanVolume [ 128 ] ;
extern f32 gStereoPanVolume [ 128 ] ;
extern f32 gDefaultPanVolume [ 128 ] ;
2022-06-04 05:59:02 +10:00
extern s16 gLowPassFilterData [ 16 * 8 ] ;
extern s16 gHighPassFilterData [ 15 * 8 ] ;
2022-08-30 23:35:00 +02:00
extern s32 gAudioContextInitialized ;
2022-07-30 07:05:27 -06:00
extern u8 gIsLargeSfxBank [ 7 ] ;
2021-11-07 17:58:50 +01:00
extern u8 gChannelsPerBank [ 4 ] [ 7 ] ;
extern u8 gUsedChannelsPerBank [ 4 ] [ 7 ] ;
2021-08-30 02:08:41 +02:00
extern u8 gMorphaTransposeTable [ 16 ] ;
2021-09-02 00:33:37 +02:00
extern u8 * gFrogsSongPtr ;
2022-05-10 02:59:23 +10:00
extern OcarinaNote * gScarecrowLongSongPtr ;
2020-10-11 19:45:08 +02:00
extern u8 * gScarecrowSpawnSongPtr ;
2022-05-10 02:59:23 +10:00
extern OcarinaSongButtons gOcarinaSongButtons [ ] ;
2022-07-30 07:05:27 -06:00
extern SfxParams * gSfxParams [ 7 ] ;
2021-08-12 21:37:37 +02:00
extern char D_80133390 [ ] ;
extern char D_80133398 [ ] ;
2022-07-30 07:05:27 -06:00
extern u8 gSfxRequestWriteIndex ;
extern u8 gSfxRequestReadIndex ;
extern SfxBankEntry * gSfxBanks [ 7 ] ;
extern u8 gSfxBankSizes [ ] ;
2021-11-07 17:58:50 +01:00
extern u8 gSfxChannelLayout ;
2022-07-30 02:35:09 +02:00
extern u16 D_801333D0 ;
2022-04-24 00:55:18 +10:00
extern Vec3f gSfxDefaultPos ;
extern f32 gSfxDefaultFreqAndVolScale ;
extern s8 gSfxDefaultReverb ;
2024-02-03 01:39:45 +01:00
2024-02-03 17:02:10 +01:00
// ENABLE_AUDIO_DEBUGGER
2020-10-26 11:58:56 +00:00
extern u8 D_801333F0 ;
2021-11-07 17:58:50 +01:00
extern u8 gAudioSfxSwapOff ;
2022-07-30 02:35:09 +02:00
extern u8 D_801333F8 ;
2024-02-03 01:39:45 +01:00
2022-10-07 07:29:33 -04:00
extern u8 gSeqCmdWritePos ;
extern u8 gSeqCmdReadPos ;
extern u8 gStartSeqDisabled ;
2024-02-03 01:39:45 +01:00
2024-02-03 17:02:10 +01:00
// ENABLE_AUDIO_DEBUGGER
2022-10-07 07:29:33 -04:00
extern u8 gAudioDebugPrintSeqCmd ;
2024-02-03 01:39:45 +01:00
2022-07-30 02:35:09 +02:00
extern u8 gSoundModeList [ ] ;
2021-08-30 02:08:41 +02:00
extern u8 gAudioSpecId ;
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
extern u8 D_80133418 ;
2021-08-30 02:08:41 +02:00
extern AudioSpec gAudioSpecs [ 18 ] ;
2020-03-17 00:31:30 -04:00
extern s32 gOverlayLogSeverity ;
extern s32 gSystemArenaLogSeverity ;
2020-06-17 04:16:30 -07:00
extern u8 __osPfsInodeCacheBank ;
extern s32 __osPfsLastChannel ;
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
2024-02-01 10:25:23 +11:00
extern const TempoData gTempoData ;
2022-06-13 09:47:53 +10:00
extern const AudioHeapInitSizes gAudioHeapInitSizes ;
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
extern s16 gOcarinaSongItemMap [ ] ;
2021-11-07 17:58:50 +01:00
extern u8 gSoundFontTable [ ] ;
extern u8 gSequenceFontTable [ ] ;
2021-07-27 18:44:58 -05:00
extern u8 gSequenceTable [ ] ;
2021-11-07 17:58:50 +01:00
extern u8 gSampleBankTable [ ] ;
z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-23 01:20:30 +00:00
2021-12-06 20:03:42 +01:00
extern SaveContext gSaveContext ;
2022-10-15 07:40:00 +02:00
extern RegEditor * gRegEditor ;
2022-12-24 13:55:17 -05:00
2024-05-10 18:21:07 +02:00
extern u8 gUseCutsceneCam ;
extern u16 D_8015FCCC ;
extern char D_8015FCD0 [ 20 ] ;
extern u8 D_8015FCE4 ;
2022-12-24 13:55:17 -05:00
extern u16 gCamAtSplinePointsAppliedFrame ;
extern u16 gCamEyePointAppliedFrame ;
extern u16 gCamAtPointAppliedFrame ;
2024-05-10 18:21:07 +02:00
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 ;
2021-09-20 11:51:35 -05:00
extern u8 gCustomLensFlareOn ;
extern Vec3f gCustomLensFlarePos ;
2021-12-02 17:31:39 -05:00
extern s16 gLensFlareScale ;
extern f32 gLensFlareColorIntensity ;
2022-05-20 14:40:13 -04:00
extern s16 gLensFlareGlareStrength ;
2020-05-01 17:09:20 +02:00
extern MapData * gMapData ;
2021-05-03 01:15:16 +02:00
extern f32 gBossMarkScale ;
2024-05-10 18:21:07 +02:00
extern u32 D_8016139C ;
2021-05-03 01:15:16 +02:00
extern PauseMapMarksData * gLoadedPauseMarkDataTable ;
2024-05-10 18:21:07 +02:00
extern TransitionTile gTransitionTile ;
2022-12-28 13:29:59 -08:00
extern s32 gTransitionTileState ;
2024-05-10 18:21:07 +02:00
extern VisMono gPlayVisMono ;
2022-12-24 13:55:17 -05:00
extern Color_RGBA8_u32 gVisMonoColor ;
2020-03-20 12:43:51 +01:00
extern PreNmiBuff * gAppNmiBufferPtr ;
2022-10-02 17:38:09 +02:00
extern uintptr_t gSegments [ NUM_SEGMENTS ] ;
2024-05-10 18:21:07 +02:00
extern Scheduler gScheduler ;
extern PadMgr gPadMgr ;
2024-02-03 01:39:45 +01:00
2024-05-27 09:38:44 -07:00
# if ENABLE_F3DEX3
extern u8 gF3DEX3TextBuffer [ ] ;
extern volatile s8 gLoadedF3DEX3Version ;
extern volatile s8 gF3DEX3ProfVersion ;
extern volatile s8 gF3DEX3NOCVersion ;
extern s8 gF3DEX3OccMode ;
# endif
2021-12-06 20:03:42 +01:00
2024-05-17 06:35:01 -07:00
# if ENABLE_F3DEX3
extern u8 gF3DEX3TextBuffer [ ] ;
extern volatile s8 gF3DEX3ProfVersion ;
extern volatile s8 gF3DEX3NOCVersion ;
extern s8 gF3DEX3OccMode ;
# endif
2022-07-30 07:05:27 -06:00
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 [ ] ;
2024-02-03 01:39:45 +01:00
2024-02-03 17:02:10 +01:00
// ENABLE_AUDIO_DEBUGGER
2021-11-07 17:58:50 +01:00
extern u16 gAudioSfxSwapSource [ 10 ] ;
extern u16 gAudioSfxSwapTarget [ 10 ] ;
extern u8 gAudioSfxSwapMode [ 10 ] ;
2024-02-03 01:39:45 +01:00
2022-10-07 07:29:33 -04:00
extern ActiveSequence gActiveSeqs [ 4 ] ;
2022-10-07 13:43:17 -04:00
extern AudioContext gAudioCtx ;
2024-02-01 10:25:23 +11:00
extern AudioCustomUpdateFunction gAudioCustomUpdateFunction ;
2021-12-06 20:03:42 +01:00
2020-03-17 00:31:30 -04:00
extern u32 __osMalloc_FreeBlockTest_Enable ;
extern Arena gSystemArena ;
2022-07-30 20:41:32 +01:00
extern OSPifRam __osContPifRam ;
extern u8 __osContLastCmd ;
2020-06-17 04:16:30 -07:00
extern u8 __osMaxControllers ;
2020-07-06 17:15:01 -07:00
extern __OSInode __osPfsInodeCache ;
2022-07-30 20:41:32 +01:00
extern OSPifRam __osPfsPifRam ;
2020-09-05 09:45:10 -04:00
extern u16 gZBuffer [ SCREEN_HEIGHT ] [ SCREEN_WIDTH ] ; // 0x25800 bytes
2020-03-17 00:31:30 -04:00
extern u64 gGfxSPTaskOutputBuffer [ 0x3000 ] ; // 0x18000 bytes
2022-05-03 23:43:09 +01:00
extern u64 gGfxSPTaskYieldBuffer [ OS_YIELD_DATA_SIZE / sizeof ( u64 ) ] ; // 0xC00 bytes
extern u64 gGfxSPTaskStack [ SP_DRAM_STACK_SIZE64 ] ; // 0x400 bytes
2020-03-17 00:31:30 -04:00
extern GfxPool gGfxPools [ 2 ] ; // 0x24820 bytes
2024-04-25 22:14:57 +02:00
extern u8 gAudioHeap [ AUDIO_HEAP_SIZE ] ; // 0x38000 bytes
2020-03-17 00:31:30 -04:00
2024-04-20 15:16:10 +02:00
extern Rainbow gRainbow ;
2024-05-27 09:38:44 -07:00
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.
2024-04-23 02:11:53 +01:00
2020-03-17 00:31:30 -04:00
# endif