From 80564bf40b7891eb38eae56b7e3c1780c080a075 Mon Sep 17 00:00:00 2001 From: fig02 Date: Sun, 6 Apr 2025 22:32:40 -0400 Subject: [PATCH 1/2] variables.h cleaning: migrate libultra variables (#2503) * variables.h cleaning: migrate libultra variables * another increment_block_number * fix bss --- include/ultra64.h | 7 +++ include/ultra64/controller.h | 5 ++ include/ultra64/os_pi.h | 8 +++ include/ultra64/os_system.h | 31 +++++++++++ include/ultra64/os_vi.h | 11 ++++ include/ultra64/osint.h | 22 ++++++++ include/ultra64/piint.h | 11 ++++ include/ultra64/siint.h | 8 +++ include/ultra64/viint.h | 7 +++ include/variables.h | 54 +------------------ src/boot/boot_main.c | 1 + src/boot/z_std_dma.c | 4 +- src/code/fault_gc.c | 4 +- src/code/fault_gc_drawer.c | 5 +- src/code/fault_n64.c | 3 +- src/code/main.c | 7 ++- src/code/speed_meter.c | 4 +- src/code/sys_math3d.c | 4 +- src/code/z_bgcheck.c | 2 +- src/code/z_camera.c | 2 +- src/code/z_collision_check.c | 2 +- src/code/z_debug.c | 4 +- src/code/z_demo.c | 4 +- src/code/z_kaleido_scope_call.c | 2 +- src/code/z_kankyo.c | 8 +-- src/code/z_play.c | 2 +- src/libleo/leo/leointerrupt.c | 2 +- src/libu64/debug.c | 3 +- src/libultra/io/aisetfreq.c | 2 + src/libultra/io/viextendvstart.c | 2 +- src/libultra/os/initialize.c | 5 +- src/n64dd/n64dd_801C8940.c | 1 + .../actors/ovl_Boss_Ganon/z_boss_ganon.c | 2 +- src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c | 4 +- src/overlays/actors/ovl_En_Xc/z_en_xc.c | 6 +-- src/overlays/actors/ovl_Fishing/z_fishing.c | 4 +- .../actors/ovl_player_actor/z_player.c | 6 +-- 37 files changed, 165 insertions(+), 94 deletions(-) create mode 100644 include/ultra64/os_pi.h create mode 100644 include/ultra64/os_system.h create mode 100644 include/ultra64/os_vi.h create mode 100644 include/ultra64/osint.h create mode 100644 include/ultra64/piint.h create mode 100644 include/ultra64/siint.h diff --git a/include/ultra64.h b/include/ultra64.h index cccab388b..4a8696a84 100644 --- a/include/ultra64.h +++ b/include/ultra64.h @@ -24,12 +24,19 @@ #include "ultra64/sptask.h" #include "ultra64/gu.h" #include "ultra64/vi.h" +#include "ultra64/viint.h" #include "ultra64/pi.h" #include "ultra64/controller.h" #include "ultra64/mbi.h" #include "ultra64/pfs.h" #include "ultra64/motor.h" +#include "ultra64/os_pi.h" +#include "ultra64/os_system.h" +#include "ultra64/os_vi.h" +#include "ultra64/osint.h" +#include "ultra64/piint.h" #include "ultra64/R4300.h" +#include "ultra64/siint.h" #include "ultra64/ucode.h" #include "ultra64/version.h" diff --git a/include/ultra64/controller.h b/include/ultra64/controller.h index 1b6d0cf32..e233f0048 100644 --- a/include/ultra64/controller.h +++ b/include/ultra64/controller.h @@ -182,4 +182,9 @@ typedef struct __OSContReadFormat { /* 0x07 */ s8 joyY; } __OSContReadFormat; // size = 0x8 +extern u8 __osContLastCmd; +extern OSPifRam __osContPifRam; +extern OSPifRam __osPfsPifRam; +extern u8 __osMaxControllers; + #endif diff --git a/include/ultra64/os_pi.h b/include/ultra64/os_pi.h new file mode 100644 index 000000000..5a13f05fd --- /dev/null +++ b/include/ultra64/os_pi.h @@ -0,0 +1,8 @@ +#ifndef ULTRA64_OS_PI_H +#define ULTRA64_OS_PI_H + +#include "pi.h" + +extern OSPiHandle* __osPiTable; + +#endif diff --git a/include/ultra64/os_system.h b/include/ultra64/os_system.h new file mode 100644 index 000000000..19558c310 --- /dev/null +++ b/include/ultra64/os_system.h @@ -0,0 +1,31 @@ +#ifndef ULTRA64_OS_SYSTEM_H +#define ULTRA64_OS_SYSTEM_H + +#include "exception.h" +#include "ultratypes.h" + +extern s32 osRomType; /* Bulk or cartridge ROM. 0=cartridge 1=bulk */ +extern void* osRomBase; /* Rom base address of the game image */ +extern s32 osTvType; /* 0 = PAL, 1 = NTSC, 2 = MPAL */ +extern s32 osResetType; /* 0 = cold reset, 1 = NMI */ +extern s32 osCicId; +extern s32 osVersion; +extern u32 osMemSize; /* Memory Size */ +extern s32 osAppNMIBuffer[0x10]; + +extern OSIntMask __OSGlobalIntMask; + +#ifdef BBPLAYER +extern u32 __osBbIsBb; +extern u32 __osBbEepromSize; +extern u32 __osBbPakSize; +extern u32 __osBbFlashSize; +extern u32 __osBbEepromAddress; +extern u32 __osBbPakAddress[4]; +extern u32 __osBbFlashAddress; +extern u32 __osBbSramSize; +extern u32 __osBbSramAddress; +extern u32 __osBbHackFlags; +#endif + +#endif diff --git a/include/ultra64/os_vi.h b/include/ultra64/os_vi.h new file mode 100644 index 000000000..3b38b60fe --- /dev/null +++ b/include/ultra64/os_vi.h @@ -0,0 +1,11 @@ +#ifndef ULTRA64_OS_VI_H +#define ULTRA64_OS_VI_H + +#include "vi.h" + +extern OSViMode osViModeNtscLan1; +extern OSViMode osViModePalLan1; +extern OSViMode osViModeMpalLan1; +extern OSViMode osViModeFpalLan1; + +#endif diff --git a/include/ultra64/osint.h b/include/ultra64/osint.h new file mode 100644 index 000000000..ec254d416 --- /dev/null +++ b/include/ultra64/osint.h @@ -0,0 +1,22 @@ +#ifndef ULTRA64_OSINT_H +#define ULTRA64_OSINT_H + +#include "time.h" +#include "thread.h" +#include "ultratypes.h" + +extern __OSThreadTail __osThreadTail; + +extern OSThread* __osRunningThread; +extern OSThread* __osActiveQueue; +extern OSThread* __osFaultedThread; +extern OSThread* __osRunQueue; + +extern OSTimer* __osTimerList; +extern u32 __osBaseCounter; +extern OSTime __osCurrentTime; +extern u32 __osViIntrCount; +extern u32 __osTimerCounter; +extern u32 __osShutdown; + +#endif diff --git a/include/ultra64/piint.h b/include/ultra64/piint.h new file mode 100644 index 000000000..59b200a6c --- /dev/null +++ b/include/ultra64/piint.h @@ -0,0 +1,11 @@ +#ifndef ULTRA64_PIINT_H +#define ULTRA64_PIINT_H + +#include "ultratypes.h" +#include "pi.h" + +extern OSPiHandle* __osCurrentHandle[]; +extern OSMesgQueue __osPiAccessQueue; +extern u32 __osPiAccessQueueEnabled; + +#endif diff --git a/include/ultra64/siint.h b/include/ultra64/siint.h new file mode 100644 index 000000000..3c4a2c55c --- /dev/null +++ b/include/ultra64/siint.h @@ -0,0 +1,8 @@ +#ifndef ULTRA64_SIINT_H +#define ULTRA64_SIINT_H + +#include "pfs.h" + +extern __OSInode __osPfsInodeCache; + +#endif diff --git a/include/ultra64/viint.h b/include/ultra64/viint.h index 2df993640..25a6ceb04 100644 --- a/include/ultra64/viint.h +++ b/include/ultra64/viint.h @@ -1,6 +1,9 @@ #ifndef ULTRA64_VIINT_H #define ULTRA64_VIINT_H +#include "vi.h" +#include "ultratypes.h" + #define VI_STATE_MODE_SET (1 << 0) #define VI_STATE_XSCALE_SET (1 << 1) #define VI_STATE_YSCALE_FACTOR_SET (1 << 2) @@ -43,4 +46,8 @@ #define VI_CTRL_PIXEL_ADV_DEFAULT VI_CTRL_PIXEL_ADV(3) #endif +extern OSViContext* __osViCurr; +extern OSViContext* __osViNext; +extern u32 __additional_scanline; + #endif diff --git a/include/variables.h b/include/variables.h index b6f1384fc..aa991f8a4 100644 --- a/include/variables.h +++ b/include/variables.h @@ -7,48 +7,8 @@ struct MapData; -extern void* osRomBase; -extern s32 osTvType; -extern u32 osRomType; -extern u32 osVersion; -extern s32 osResetType; -extern s32 osCicId; -extern u32 osMemSize; -extern u8 osAppNMIBuffer[0x40]; - -extern u32 __osBbIsBb; -extern u32 __osBbEepromSize; -extern u32 __osBbPakSize; -extern u32 __osBbFlashSize; -extern u32 __osBbEepromAddress; -extern u32 __osBbPakAddress[4]; -extern u32 __osBbFlashAddress; -extern u32 __osBbSramSize; -extern u32 __osBbSramAddress; -extern u32 __osBbHackFlags; - 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 u32 __additional_scanline; - extern const char gBuildCreator[]; extern const char gBuildDate[]; extern const char gBuildMakeOption[]; @@ -56,13 +16,7 @@ extern const char gBuildMakeOption[]; 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 s16 gSpoilingItems[3]; extern s16 gSpoilingItemReverts[3]; @@ -155,10 +109,4 @@ extern ActiveSequence gActiveSeqs[4]; extern AudioContext gAudioCtx; extern AudioCustomUpdateFunction gAudioCustomUpdateFunction; -extern OSPifRam __osContPifRam; -extern u8 __osContLastCmd; -extern u8 __osMaxControllers; -extern __OSInode __osPfsInodeCache; -extern OSPifRam __osPfsPifRam; - #endif diff --git a/src/boot/boot_main.c b/src/boot/boot_main.c index 689d4f031..cbaa418ed 100644 --- a/src/boot/boot_main.c +++ b/src/boot/boot_main.c @@ -1,4 +1,5 @@ #include "boot.h" + #include "idle.h" #include "is_debug.h" #include "stack.h" diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 9f5901b73..7cc8add92 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -41,8 +41,8 @@ #include "global.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:14" \ - "pal-1.0:12 pal-1.1:12" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:20" \ + "pal-1.0:18 pal-1.1:18" StackEntry sDmaMgrStackInfo; OSMesgQueue sDmaMgrMsgQueue; diff --git a/src/code/fault_gc.c b/src/code/fault_gc.c index 57db7232f..b70bcf80b 100644 --- a/src/code/fault_gc.c +++ b/src/code/fault_gc.c @@ -40,10 +40,10 @@ * DPad-Up may be pressed to enable sending fault pages over osSyncPrintf as well as displaying them on-screen. * DPad-Down disables sending fault pages over osSyncPrintf. */ + #pragma increment_block_number "gc-eu:96 gc-eu-mq:96 gc-eu-mq-dbg:96 gc-jp:96 gc-jp-ce:96 gc-jp-mq:96 gc-us:96" \ "gc-us-mq:96 ique-cn:96" -#include "global.h" #include "libc64/sleep.h" #include "libc64/sprintf.h" #include "alloca.h" @@ -55,7 +55,7 @@ #include "terminal.h" #include "z64thread.h" -#include "macros.h" +#include "global.h" void Fault_Init(void); void Fault_SetOsSyncPrintfEnabled(u32 enabled); diff --git a/src/code/fault_gc_drawer.c b/src/code/fault_gc_drawer.c index 4482ba9ae..ab95a433a 100644 --- a/src/code/fault_gc_drawer.c +++ b/src/code/fault_gc_drawer.c @@ -4,9 +4,12 @@ * Implements routines for drawing text with a fixed font directly to a framebuffer, used in displaying * the crash screen implemented by fault.c */ -#include "global.h" + #include "fault.h" #include "terminal.h" + +#include "global.h" + #pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" typedef struct FaultDrawer { diff --git a/src/code/fault_n64.c b/src/code/fault_n64.c index ecfc87f10..7da1c5b09 100644 --- a/src/code/fault_n64.c +++ b/src/code/fault_n64.c @@ -10,10 +10,9 @@ #include "terminal.h" #include "z64thread.h" -#include "macros.h" #include "global.h" -#pragma increment_block_number "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "ntsc-1.0:86 ntsc-1.1:86 ntsc-1.2:86 pal-1.0:84 pal-1.1:84" typedef struct FaultMgr { OSThread thread; diff --git a/src/code/main.c b/src/code/main.c index ab330cb33..c4a85b0ee 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -2,6 +2,9 @@ #include "ultra64.h" #include "versions.h" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:0 ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" + // Declared before including other headers for BSS ordering extern uintptr_t gSegments[NUM_SEGMENTS]; @@ -37,8 +40,8 @@ extern struct IrqMgr gIrqMgr; #include "global.h" -#pragma increment_block_number "gc-eu:32 gc-eu-mq:32 gc-jp:32 gc-jp-ce:32 gc-jp-mq:32 gc-us:32 gc-us-mq:32 ique-cn:32" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:254 pal-1.1:254" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:0 ntsc-1.0:49 ntsc-1.1:49 ntsc-1.2:49 pal-1.0:47 pal-1.1:47" extern u8 _buffersSegmentEnd[]; diff --git a/src/code/speed_meter.c b/src/code/speed_meter.c index dabfac7aa..3771c8ce6 100644 --- a/src/code/speed_meter.c +++ b/src/code/speed_meter.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.2:128 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:0" \ + "pal-1.0:0 pal-1.1:0" #include "libc64/malloc.h" #include "libu64/debug.h" #include "gfx.h" diff --git a/src/code/sys_math3d.c b/src/code/sys_math3d.c index 4a1ddaf0b..3ade95d82 100644 --- a/src/code/sys_math3d.c +++ b/src/code/sys_math3d.c @@ -5,8 +5,8 @@ #include "macros.h" #include "sys_math3d.h" -#pragma increment_block_number "gc-eu:120 gc-eu-mq:120 gc-jp:120 gc-jp-ce:120 gc-jp-mq:120 gc-us:120 gc-us-mq:120" \ - "ique-cn:120 ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:96 pal-1.1:96" +#pragma increment_block_number "gc-eu:77 gc-eu-mq:77 gc-jp:77 gc-jp-ce:77 gc-jp-mq:77 gc-us:77 gc-us-mq:77 ique-cn:67" \ + "ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" s32 Math3D_LineVsLineClosestTwoPoints(Vec3f* lineAPointA, Vec3f* lineAPointB, Vec3f* lineBPointA, Vec3f* lineBPointB, Vec3f* lineAClosestToB, Vec3f* lineBClosestToA); diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index f4f3a1fd3..24230152f 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -11,7 +11,7 @@ #include "z64player.h" #include "z64skin_matrix.h" -#pragma increment_block_number "ntsc-1.0:200 ntsc-1.1:200 ntsc-1.2:200" +#pragma increment_block_number "ntsc-1.0:160 ntsc-1.1:160 ntsc-1.2:160" u16 DynaSSNodeList_GetNextNodeIdx(DynaSSNodeList* nodeList); void BgCheck_GetStaticLookupIndicesFromPos(CollisionContext* colCtx, Vec3f* pos, Vec3i* sector); diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 64299a886..11defc6aa 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -3658,7 +3658,7 @@ s32 Camera_KeepOn3(Camera* camera) { } #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:98 ntsc-1.1:98 ntsc-1.2:98 pal-1.0:96 pal-1.1:96" + "ique-cn:128 ntsc-1.0:104 ntsc-1.1:104 ntsc-1.2:104 pal-1.0:102 pal-1.1:102" s32 Camera_KeepOn4(Camera* camera) { static Vec3f D_8015BD50; diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 392df7c1f..80de8dc12 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -15,7 +15,7 @@ #include "overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.h" #include "z_lib.h" -#pragma increment_block_number "ique-cn:0 ntsc-1.0:240 ntsc-1.1:240 ntsc-1.2:240 pal-1.0:240 pal-1.1:240" +#pragma increment_block_number "ique-cn:192 ntsc-1.0:200 ntsc-1.1:200 ntsc-1.2:200 pal-1.0:200 pal-1.1:200" typedef s32 (*ColChkResetFunc)(PlayState*, Collider*); typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); diff --git a/src/code/z_debug.c b/src/code/z_debug.c index ed02754fc..a43c76cfb 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -24,8 +24,8 @@ typedef struct InputCombo { /* 0x2 */ u16 press; } InputCombo; // size = 0x4 -#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160 gc-us-mq:160" \ - "ique-cn:160 ntsc-1.0:160 ntsc-1.1:160 ntsc-1.2:160 pal-1.0:160 pal-1.1:160" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ + "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" RegEditor* gRegEditor; diff --git a/src/code/z_demo.c b/src/code/z_demo.c index d34e0808d..9c990cb90 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -145,8 +145,8 @@ u16 gCamAtSplinePointsAppliedFrame; u16 gCamEyePointAppliedFrame; u16 gCamAtPointAppliedFrame; -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ - "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:0 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:128 ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" // Cam ID to return to when a scripted cutscene is finished s16 sReturnToCamId; diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index 2803e5299..b835e64a3 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -1,5 +1,5 @@ #pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \ - "ique-cn:144 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:144 pal-1.1:144" + "ique-cn:128 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:144 pal-1.1:144" #include "libu64/debug.h" #include "kaleido_manager.h" diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index d86af19c0..799d904d4 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64 ique-cn:64" \ - "ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ + "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" #include "libc64/qrand.h" #include "libu64/gfxprint.h" @@ -235,8 +235,8 @@ s16 sLightningFlashAlpha; s16 sSunDepthTestX; s16 sSunDepthTestY; -#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160 gc-us-mq:160" \ - "ique-cn:160 ntsc-1.0:160 ntsc-1.1:160 ntsc-1.2:160 pal-1.0:192 pal-1.1:192" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" LightNode* sNGameOverLightNode; LightInfo sNGameOverLightInfo; diff --git a/src/code/z_play.c b/src/code/z_play.c index 7e4f5f5e3..f37f80c67 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -44,7 +44,7 @@ #include "global.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ +#pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64 ique-cn:64" \ "ntsc-1.0:240 ntsc-1.1:240 ntsc-1.2:240 pal-1.0:240 pal-1.1:240" TransitionTile gTransitionTile; diff --git a/src/libleo/leo/leointerrupt.c b/src/libleo/leo/leointerrupt.c index d9e2175ad..0d352e123 100644 --- a/src/libleo/leo/leointerrupt.c +++ b/src/libleo/leo/leointerrupt.c @@ -5,7 +5,7 @@ #include "ultra64/internal.h" extern OSThread* __osRunQueue; -extern OSHWIntr __OSGlobalIntMask; +extern OSIntMask __OSGlobalIntMask; void __osLeoAbnormalResume(void); void __osLeoResume(void); diff --git a/src/libu64/debug.c b/src/libu64/debug.c index 80be25f9d..5bd77baa8 100644 --- a/src/libu64/debug.c +++ b/src/libu64/debug.c @@ -1,7 +1,8 @@ -#include "global.h" #include "fault.h" #include "terminal.h" +#include "global.h" + #if PLATFORM_N64 || DEBUG_FEATURES f32 LogUtils_CheckFloatRange(const char* exp, int line, const char* valueName, f32 value, const char* minName, f32 min, const char* maxName, f32 max) { diff --git a/src/libultra/io/aisetfreq.c b/src/libultra/io/aisetfreq.c index 9e1b8c44e..140e524bc 100644 --- a/src/libultra/io/aisetfreq.c +++ b/src/libultra/io/aisetfreq.c @@ -1,5 +1,7 @@ #include "global.h" +extern s32 osViClock; + /** * Programs the operating frequency of the Audio DAC. * diff --git a/src/libultra/io/viextendvstart.c b/src/libultra/io/viextendvstart.c index 9efb9dbc3..a28a8386d 100644 --- a/src/libultra/io/viextendvstart.c +++ b/src/libultra/io/viextendvstart.c @@ -1,4 +1,4 @@ -#include "global.h" +#include "ultra64.h" void osViExtendVStart(u32 value) { __additional_scanline = value; diff --git a/src/libultra/os/initialize.c b/src/libultra/os/initialize.c index 2da86c4a0..9b41822b6 100644 --- a/src/libultra/os/initialize.c +++ b/src/libultra/os/initialize.c @@ -10,10 +10,13 @@ typedef struct __osExceptionVector { extern __osExceptionVector __osExceptionPreamble; +extern OSPiHandle __Dom1SpeedParam; +extern OSPiHandle __Dom2SpeedParam; + u64 osClockRate = OS_CLOCK_RATE; s32 osViClock = VI_NTSC_CLOCK; u32 __osShutdown = false; -OSHWIntr __OSGlobalIntMask = OS_IM_ALL; +OSIntMask __OSGlobalIntMask = OS_IM_ALL; u32 __osFinalrom; diff --git a/src/n64dd/n64dd_801C8940.c b/src/n64dd/n64dd_801C8940.c index a0d1ff84b..a0f975c23 100644 --- a/src/n64dd/n64dd_801C8940.c +++ b/src/n64dd/n64dd_801C8940.c @@ -1,5 +1,6 @@ // Lower-level command processing in a background thread #include "n64dd.h" + #include "libc64/sleep.h" #include "attributes.h" diff --git a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index 97bf27b6f..d4bd1df58 100644 --- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -124,7 +124,7 @@ static ColliderCylinderInit sLightBallCylinderInit = { static u8 D_808E4C58[] = { 0, 12, 10, 12, 14, 16, 12, 14, 16, 12, 14, 16, 12, 14, 16, 10, 16, 14 }; static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \ "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" static EnGanonMant* sCape; diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c index 1425b63c8..75b72adde 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c @@ -32,8 +32,8 @@ #include "assets/objects/object_sst/object_sst.h" #include "assets/objects/gameplay_keep/gameplay_keep.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \ - "pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:128 pal-1.0:128 pal-1.1:128" #define FLAGS \ (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \ diff --git a/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/src/overlays/actors/ovl_En_Xc/z_en_xc.c index d5d0c9796..33b8a666d 100644 --- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -30,7 +30,7 @@ #include "assets/scenes/indoors/tokinoma/tokinoma_scene.h" #include "assets/scenes/dungeons/ice_doukutu/ice_doukutu_scene.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ +#pragma increment_block_number "gc-eu:0 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:128 gc-us:0 gc-us-mq:128 ique-cn:128" \ "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED @@ -1412,8 +1412,8 @@ void func_80B3F3D8(void) { Sfx_PlaySfxCentered2(NA_SE_PL_SKIP); } -#pragma increment_block_number "gc-eu:64 gc-eu-mq:64 gc-jp:64 gc-jp-ce:64 gc-jp-mq:64 gc-us:64 gc-us-mq:64 ique-cn:64" \ - "ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" +#pragma increment_block_number "gc-eu:64 gc-eu-mq:128 gc-jp:64 gc-jp-ce:64 gc-jp-mq:128 gc-us:64 gc-us-mq:128" \ + "ique-cn:128 ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" void EnXc_PlayDiveSFX(Vec3f* src, PlayState* play) { static Vec3f D_80B42DA0; diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index 1ec716f8c..2e4651ff2 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -36,8 +36,8 @@ #include "cic6105.h" #endif -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" +#pragma increment_block_number "gc-eu:96 gc-eu-mq:96 gc-jp:96 gc-jp-ce:96 gc-jp-mq:96 gc-us:96 gc-us-mq:96 ntsc-1.0:0" \ + "ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 4d5a5f075..f4a8484dc 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -366,15 +366,15 @@ static s32 D_80858AA0; // TODO: There's probably a way to match BSS ordering with less padding by spreading the variables out and moving // data around. It would be easier if we had more options for controlling BSS ordering in debug. -#pragma increment_block_number "gc-eu:224 gc-eu-mq:224 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" static s32 sSavedCurrentMask; static Vec3f sInteractWallCheckResult; static Input* sControlInput; -#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ique-cn:192 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160 gc-us-mq:160" \ + "ique-cn:160 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" // .data From 0c5282ba66bec5eba8f11fa5922b893b1deed7e7 Mon Sep 17 00:00:00 2001 From: fig02 Date: Fri, 11 Apr 2025 02:10:19 -0400 Subject: [PATCH 2/2] variables.h cleaning: migrate audio variables (#2504) * migrate audio variables, fix libultra thing * remove extra newlines * fix * add required pragmas * fix bss * audio table fixes * fix bss --- include/sfx.h | 34 ++++++++ include/ultra64/siint.h | 2 +- include/variables.h | 79 ------------------- include/z64audio.h | 50 +++++++++++- include/z64ocarina.h | 5 ++ src/audio/lib/load.c | 2 +- src/audio/tables/samplebank_table.c | 1 - src/audio/tables/sequence_table.c | 1 - src/audio/tables/soundfont_table.c | 1 - src/boot/z_std_dma.c | 4 +- src/code/fault_n64.c | 2 +- src/code/main.c | 2 +- src/code/z_camera.c | 2 +- src/code/z_collision_check.c | 3 +- src/code/z_kaleido_scope_call.c | 4 +- src/code/z_kankyo.c | 4 +- src/code/z_message.c | 2 +- src/libultra/io/contramwrite.c | 2 + src/n64dd/z_n64dd.c | 2 +- .../actors/ovl_Boss_Ganon/z_boss_ganon.c | 4 +- src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c | 3 + src/overlays/actors/ovl_Boss_Va/z_boss_va.c | 4 +- .../actors/ovl_Door_Warp1/z_door_warp1.c | 3 + src/overlays/actors/ovl_En_Xc/z_en_xc.c | 8 +- src/overlays/actors/ovl_Fishing/z_fishing.c | 2 +- .../actors/ovl_player_actor/z_player.c | 6 +- 26 files changed, 122 insertions(+), 110 deletions(-) diff --git a/include/sfx.h b/include/sfx.h index 16d0b122d..4dfb96f9b 100644 --- a/include/sfx.h +++ b/include/sfx.h @@ -6,6 +6,8 @@ #include "z64math.h" #include "libc/assert.h" +#define MAX_CHANNELS_PER_BANK 3 + typedef enum SfxBankType { /* 0 */ BANK_PLAYER, /* 1 */ BANK_ITEM, @@ -178,4 +180,36 @@ extern Vec3f gSfxDefaultPos; extern f32 gSfxDefaultFreqAndVolScale; extern s8 gSfxDefaultReverb; +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; + +#if DEBUG_FEATURES +extern u8 D_801333F0; +extern u8 gAudioSfxSwapOff; +extern u8 D_801333F8; +#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[]; +extern u16 gAudioSfxSwapSource[10]; +extern u16 gAudioSfxSwapTarget[10]; +extern u8 gAudioSfxSwapMode[10]; + #endif diff --git a/include/ultra64/siint.h b/include/ultra64/siint.h index 3c4a2c55c..d43489b65 100644 --- a/include/ultra64/siint.h +++ b/include/ultra64/siint.h @@ -3,6 +3,6 @@ #include "pfs.h" -extern __OSInode __osPfsInodeCache; +extern u8 __osPfsInodeCacheBank; #endif diff --git a/include/variables.h b/include/variables.h index aa991f8a4..f8bad48d8 100644 --- a/include/variables.h +++ b/include/variables.h @@ -24,89 +24,10 @@ extern s16 gSpoilingItemReverts[3]; extern u64 gMojiFontTLUTs[4][4]; // original name: "moji_tlut" extern u64 gMojiFontTex[]; // original name: "font_ff" -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; -#if DEBUG_FEATURES -extern u8 D_801333F0; -extern u8 gAudioSfxSwapOff; -extern u8 D_801333F8; -#endif -extern u8 gSeqCmdWritePos; -extern u8 gSeqCmdReadPos; -extern u8 gStartSeqDisabled; -#if DEBUG_FEATURES -extern u8 gAudioDebugPrintSeqCmd; -#endif -extern u8 gSoundOutputModes[]; -extern u8 gAudioSpecId; -extern u8 D_80133418; -extern AudioSpec gAudioSpecs[18]; -extern u8 __osPfsInodeCacheBank; -extern s32 __osPfsLastChannel; - -extern TempoData gTempoData; -extern AudioHeapInitSizes gAudioHeapInitSizes; -extern s16 gOcarinaSongItemMap[]; -extern AudioTable gSoundFontTable; -extern u8 gSequenceFontTable[]; -extern u8 gSequenceTable[]; -extern AudioTable gSampleBankTable; - extern struct MapData* gMapData; extern u8 gBossMarkState; extern f32 gBossMarkScale; extern u32 D_8016139C; extern PauseMapMarksData* gLoadedPauseMarkDataTable; -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[]; -extern u16 gAudioSfxSwapSource[10]; -extern u16 gAudioSfxSwapTarget[10]; -extern u8 gAudioSfxSwapMode[10]; -extern ActiveSequence gActiveSeqs[4]; -extern AudioContext gAudioCtx; -extern AudioCustomUpdateFunction gAudioCustomUpdateFunction; - #endif diff --git a/include/z64audio.h b/include/z64audio.h index fdbbd6250..1a40ac1bb 100644 --- a/include/z64audio.h +++ b/include/z64audio.h @@ -31,8 +31,6 @@ typedef void (*AudioCustomUpdateFunction)(void); #define SEQ_NUM_CHANNELS 16 #define SEQ_IO_VAL_NONE -1 -#define MAX_CHANNELS_PER_BANK 3 - #define MUTE_BEHAVIOR_3 (1 << 3) // prevent further noteSubEus from playing #define MUTE_BEHAVIOR_4 (1 << 4) // stop something in seqLayer scripts #define MUTE_BEHAVIOR_SOFTEN (1 << 5) // lower volume, by default to half @@ -1221,4 +1219,52 @@ void Audio_InitSound(void); void func_800F7170(void); void func_800F71BC(s32 arg0); +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 gSeqCmdWritePos; +extern u8 gSeqCmdReadPos; +extern u8 gStartSeqDisabled; + +#if DEBUG_FEATURES +extern u8 gAudioDebugPrintSeqCmd; +#endif + +extern u8 gSoundOutputModes[]; +extern u8 gAudioSpecId; +extern u8 D_80133418; +extern AudioSpec gAudioSpecs[18]; + +extern TempoData gTempoData; +extern AudioHeapInitSizes gAudioHeapInitSizes; +extern s16 gOcarinaSongItemMap[]; + +extern AudioTable gSequenceTable; +extern AudioTable gSoundFontTable; +extern u8 gSequenceFontTable[]; +extern AudioTable gSampleBankTable; + +extern ActiveSequence gActiveSeqs[4]; +extern AudioContext gAudioCtx; +extern AudioCustomUpdateFunction gAudioCustomUpdateFunction; + #endif diff --git a/include/z64ocarina.h b/include/z64ocarina.h index afad53811..d00ef01f2 100644 --- a/include/z64ocarina.h +++ b/include/z64ocarina.h @@ -188,4 +188,9 @@ void AudioOcarina_MemoryGameInit(u8 minigameRound); s32 AudioOcarina_MemoryGameNextNote(void); void AudioOcarina_PlayLongScarecrowSong(void); +extern u8* gFrogsSongPtr; +extern OcarinaNote* gScarecrowLongSongPtr; +extern u8* gScarecrowSpawnSongPtr; +extern OcarinaSongButtons gOcarinaSongButtons[]; + #endif diff --git a/src/audio/lib/load.c b/src/audio/lib/load.c index 4a0b8388e..28cb2459d 100644 --- a/src/audio/lib/load.c +++ b/src/audio/lib/load.c @@ -1228,7 +1228,7 @@ void AudioLoad_Init(void* heap, u32 heapSize) { } // Set audio tables pointers - gAudioCtx.sequenceTable = (AudioTable*)gSequenceTable; + gAudioCtx.sequenceTable = &gSequenceTable; gAudioCtx.soundFontTable = &gSoundFontTable; gAudioCtx.sampleBankTable = &gSampleBankTable; gAudioCtx.sequenceFontTable = gSequenceFontTable; diff --git a/src/audio/tables/samplebank_table.c b/src/audio/tables/samplebank_table.c index 58ebf06f2..d26d9d5bc 100644 --- a/src/audio/tables/samplebank_table.c +++ b/src/audio/tables/samplebank_table.c @@ -3,7 +3,6 @@ // Symbol definition -extern AudioTable gSampleBankTable; #pragma weak gSampleBankTable = sSampleBankTableHeader // Externs for table diff --git a/src/audio/tables/sequence_table.c b/src/audio/tables/sequence_table.c index dc3321d2b..8235cd674 100644 --- a/src/audio/tables/sequence_table.c +++ b/src/audio/tables/sequence_table.c @@ -4,7 +4,6 @@ // Symbol definition -extern AudioTable gSequenceTable; #pragma weak gSequenceTable = sSequenceTableHeader // Externs for table diff --git a/src/audio/tables/soundfont_table.c b/src/audio/tables/soundfont_table.c index 65d1fc9a5..779be397b 100644 --- a/src/audio/tables/soundfont_table.c +++ b/src/audio/tables/soundfont_table.c @@ -3,7 +3,6 @@ // Symbol definition -extern AudioTable gSoundFontTable; #pragma weak gSoundFontTable = sSoundFontTableHeader // Externs for table diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 7cc8add92..275ab35c2 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -41,8 +41,8 @@ #include "global.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:20" \ - "pal-1.0:18 pal-1.1:18" +#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.2:22" \ + "pal-1.0:20 pal-1.1:20" StackEntry sDmaMgrStackInfo; OSMesgQueue sDmaMgrMsgQueue; diff --git a/src/code/fault_n64.c b/src/code/fault_n64.c index 7da1c5b09..70549cf8b 100644 --- a/src/code/fault_n64.c +++ b/src/code/fault_n64.c @@ -12,7 +12,7 @@ #include "global.h" -#pragma increment_block_number "ntsc-1.0:86 ntsc-1.1:86 ntsc-1.2:86 pal-1.0:84 pal-1.1:84" +#pragma increment_block_number "ntsc-1.0:88 ntsc-1.1:88 ntsc-1.2:88 pal-1.0:86 pal-1.1:86" typedef struct FaultMgr { OSThread thread; diff --git a/src/code/main.c b/src/code/main.c index c4a85b0ee..434f999f5 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -41,7 +41,7 @@ extern struct IrqMgr gIrqMgr; #include "global.h" #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:0 ntsc-1.0:49 ntsc-1.1:49 ntsc-1.2:49 pal-1.0:47 pal-1.1:47" + "ique-cn:0 ntsc-1.0:51 ntsc-1.1:51 ntsc-1.2:51 pal-1.0:49 pal-1.1:49" extern u8 _buffersSegmentEnd[]; diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 11defc6aa..9f297f795 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -3658,7 +3658,7 @@ s32 Camera_KeepOn3(Camera* camera) { } #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:104 ntsc-1.1:104 ntsc-1.2:104 pal-1.0:102 pal-1.1:102" + "ique-cn:128 ntsc-1.0:106 ntsc-1.1:106 ntsc-1.2:106 pal-1.0:104 pal-1.1:104" s32 Camera_KeepOn4(Camera* camera) { static Vec3f D_8015BD50; diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 80de8dc12..e0ab3b031 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -15,7 +15,8 @@ #include "overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.h" #include "z_lib.h" -#pragma increment_block_number "ique-cn:192 ntsc-1.0:200 ntsc-1.1:200 ntsc-1.2:200 pal-1.0:200 pal-1.1:200" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ique-cn:192 ntsc-1.0:176 ntsc-1.1:176 ntsc-1.2:176 pal-1.0:176 pal-1.1:176" typedef s32 (*ColChkResetFunc)(PlayState*, Collider*); typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index b835e64a3..0e89a854a 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \ - "ique-cn:128 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:144 pal-1.1:144" +#pragma increment_block_number "gc-eu:133 gc-eu-mq:133 gc-jp:135 gc-jp-ce:135 gc-jp-mq:135 gc-us:135 gc-us-mq:135" \ + "ique-cn:125 ntsc-1.0:144 ntsc-1.1:144 ntsc-1.2:144 pal-1.0:142 pal-1.1:142" #include "libu64/debug.h" #include "kaleido_manager.h" diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 799d904d4..081d7abc2 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -1,5 +1,5 @@ -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" #include "libc64/qrand.h" #include "libu64/gfxprint.h" diff --git a/src/code/z_message.c b/src/code/z_message.c index 789d4aa6a..bfba7cdf4 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -25,7 +25,7 @@ #include "assets/textures/parameter_static/parameter_static.h" #pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:80 ntsc-1.1:80 ntsc-1.2:80 pal-1.0:128 pal-1.1:128" + "ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:128 pal-1.1:128" #if !PLATFORM_IQUE #define MSG_BUF_DECODED (msgCtx->msgBufDecoded) diff --git a/src/libultra/io/contramwrite.c b/src/libultra/io/contramwrite.c index 4bd8ffaa3..0db58163e 100644 --- a/src/libultra/io/contramwrite.c +++ b/src/libultra/io/contramwrite.c @@ -1,6 +1,8 @@ #include "ultra64.h" #include "global.h" +extern s32 __osPfsLastChannel; + s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force) { #ifndef BBPLAYER s32 ret = 0; diff --git a/src/n64dd/z_n64dd.c b/src/n64dd/z_n64dd.c index 17aff6416..9d6e54ea7 100644 --- a/src/n64dd/z_n64dd.c +++ b/src/n64dd/z_n64dd.c @@ -12,7 +12,7 @@ #include "z64audio.h" #include "z64thread.h" -#pragma increment_block_number "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" typedef struct struct_801D9C30 { /* 0x000 */ s32 unk_000; // disk start diff --git a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index d4bd1df58..11c82f6da 100644 --- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -124,8 +124,8 @@ static ColliderCylinderInit sLightBallCylinderInit = { static u8 D_808E4C58[] = { 0, 12, 10, 12, 14, 16, 12, 14, 16, 12, 14, 16, 12, 14, 16, 10, 16, 14 }; static Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f }; -#pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:128" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" static EnGanonMant* sCape; diff --git a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c index 50bb35218..fb9f65b67 100644 --- a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c +++ b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c @@ -24,6 +24,9 @@ #include "assets/objects/gameplay_keep/gameplay_keep.h" #include "assets/objects/object_tw/object_tw.h" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" + #define FLAGS \ (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \ ACTOR_FLAG_DRAW_CULLING_DISABLED) diff --git a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c index d5454d30e..920846e74 100644 --- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c +++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c @@ -28,8 +28,8 @@ #include "assets/objects/gameplay_keep/gameplay_keep.h" #include "assets/objects/object_bv/object_bv.h" -#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ - "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ntsc-1.0:0" \ + "ntsc-1.1:0 ntsc-1.2:0 pal-1.0:128 pal-1.1:128" #define FLAGS \ (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \ diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index 7c5709434..33304ff66 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -16,6 +16,9 @@ #include "assets/objects/object_warp1/object_warp1.h" +#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ + "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" + #define FLAGS 0 void DoorWarp1_Init(Actor* thisx, PlayState* play); diff --git a/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/src/overlays/actors/ovl_En_Xc/z_en_xc.c index 33b8a666d..38a147d14 100644 --- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -30,8 +30,8 @@ #include "assets/scenes/indoors/tokinoma/tokinoma_scene.h" #include "assets/scenes/dungeons/ice_doukutu/ice_doukutu_scene.h" -#pragma increment_block_number "gc-eu:0 gc-eu-mq:128 gc-jp:0 gc-jp-ce:0 gc-jp-mq:128 gc-us:0 gc-us-mq:128 ique-cn:128" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:128 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED @@ -1412,8 +1412,8 @@ void func_80B3F3D8(void) { Sfx_PlaySfxCentered2(NA_SE_PL_SKIP); } -#pragma increment_block_number "gc-eu:64 gc-eu-mq:128 gc-jp:64 gc-jp-ce:64 gc-jp-mq:128 gc-us:64 gc-us-mq:128" \ - "ique-cn:128 ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:64 ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128" void EnXc_PlayDiveSFX(Vec3f* src, PlayState* play) { static Vec3f D_80B42DA0; diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index 2e4651ff2..bb66678a6 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -36,7 +36,7 @@ #include "cic6105.h" #endif -#pragma increment_block_number "gc-eu:96 gc-eu-mq:96 gc-jp:96 gc-jp-ce:96 gc-jp-mq:96 gc-us:96 gc-us-mq:96 ntsc-1.0:0" \ +#pragma increment_block_number "gc-eu:32 gc-eu-mq:32 gc-jp:32 gc-jp-ce:32 gc-jp-mq:32 gc-us:32 gc-us-mq:32 ntsc-1.0:0" \ "ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" #define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index f4a8484dc..3e6036115 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -360,14 +360,14 @@ void Player_Action_CsAction(Player* this, PlayState* play); // .bss part 1 #pragma increment_block_number "gc-eu:0 gc-eu-mq:0 gc-jp:0 gc-jp-ce:0 gc-jp-mq:0 gc-us:0 gc-us-mq:0 ique-cn:0" \ - "ntsc-1.0:0 ntsc-1.1:0 ntsc-1.2:0 pal-1.0:0 pal-1.1:0" + "ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:192 pal-1.1:192" static s32 D_80858AA0; // TODO: There's probably a way to match BSS ordering with less padding by spreading the variables out and moving // data around. It would be easier if we had more options for controlling BSS ordering in debug. -#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \ - "ique-cn:192 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" +#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ + "ique-cn:128 ntsc-1.0:192 ntsc-1.1:192 ntsc-1.2:192 pal-1.0:192 pal-1.1:192" static s32 sSavedCurrentMask; static Vec3f sInteractWallCheckResult;