new external symbols and test patches

This commit is contained in:
Sonic Dreamcaster
2025-11-02 21:07:59 -03:00
parent 6ff012587b
commit 54e61d02f2
9 changed files with 1359 additions and 478 deletions
+3 -1
View File
@@ -9,7 +9,9 @@
"_DEBUG",
"UNICODE",
"_UNICODE",
"_LANGUAGE_C"
"_LANGUAGE_C",
"DVERSION_US",
"DTARGET_N64"
]
}
],
+69 -1
View File
@@ -828,4 +828,72 @@ RECOMP_PATCH int MusHandleAsk(musHandle handle) {
}
return (count);
}
#endif
#endif
#if DEBUG_SKIP_INTRO_CUTSCENES == 1
/*80001D44*/
RECOMP_PATCH void func_80001D44(void)
{
s16 i;
s16 width;
s16 height;
cache1d_8002AAC0();
MusStop(1 | 2, 0);
switch (gGraphicsOption)
{
case 0:
width = 320;
height = 240;
break;
case 1:
width = 320;
height = 240*2;
break;
case 2:
width = 512;
height = 384;
break;
}
D_8012C470 = D_801CDC64.unk1;
if (D_801CDC64.unk1 == 0)
{
D_8012C470 = 1;
}
for (i = 0; i < D_8012C470; i++)
{
func_80000F68(i);
func_80095390(i);
}
D_800DEEA0 = 0;
if ((u32)osMemSize > 0x400000U)
{
D_800DEEA0 = 1;
gDisplayListMaxSize = 0xA000;
gVertexN64MaxSize = 0x6000;
}
else if (D_8012C470 < 2)
{
gDisplayListMaxSize = DISPLAY_LIST_SIZE*2;
gVertexN64MaxSize = 0x1800;
}
else
{
gDisplayListMaxSize = DISPLAY_LIST_SIZE*3;
gVertexN64MaxSize = 0x2400;
}
allocMemory(width, height, gDisplayListMaxSize, gVertexN64MaxSize);
func_8001F928(width, height);
_red_000BDFEC = 0;
_green_000BDFED = 0;
_blue_000BDFEE = 0;
D_800BD3E8 = 1;
D_801A1970 = 1;
func_80000DDC();
_clearDepthBuffer();
// @recomp: skip level intro cutscenes
// D_800DF585 = 0;
D_800DF585 = 1;
}
#endif
+1
View File
@@ -5,5 +5,6 @@
// Not working
#define DEBUG_SKIP_INTRO 0
#define DEBUG_SKIP_INTRO_CUTSCENES 0
#endif
+135 -1
View File
@@ -1887,12 +1887,146 @@ extern s32 _arg6_0000FC17; // s32 *file_no
extern s32 D_800FE408;
extern u8 D_800FA2FC_0000FBFB;
extern OSContStatus _statusData_0000F62F[4];
extern channel_t *mus_channels_0000FCCB;
extern channel_t* mus_channels_0000FCCB;
extern int max_channels_0000FCC3;
extern OSMesg _dmaMessages[256];
extern OSMesgQueue gDmaMessageQ;
extern Addr code1_VRAM;
extern u8* D_80197D4C;
extern u8* D_8010571C;
extern u32 D_80138818;
extern u8* gStaticSegment;
extern Addr code1_VRAM_END;
extern Addr static_ROM_END;
extern Addr static_ROM_START;
extern u8* gCacheMemStart;
extern Addr code1_TEXT_START;
extern Addr code1_ROM_END;
extern Addr code1_TEXT_END;
extern Addr code1_ROM_START;
extern Addr code1_BSS_START;
extern Addr code1_BSS_END;
extern TileInfo* gpTileInfo;
extern TileInfo gTileInfo[1976];
extern char*** gpKeyStrInfo;
extern ObjectiveStrInfo* gpObjectiveStrInfo;
extern char** gKeyStrInfo[24];
extern ObjectiveStrInfo gObjectiveStrInfo[24];
extern u8 gTileInfo_STATIC_START[];
extern u8 gKeyStrInfo_STATIC_START[];
extern u8 gObjectiveStrInfo_STATIC_START[];
extern u8 gWeaponStrInfoCount_STATIC_START[];
extern u8 gWeaponStrInfo_STATIC_START[];
extern u8 gSinTable_STATIC_START[];
extern u8 gRadarang_STATIC_START[];
extern u8 gMapInfo_STATIC_START[];
extern u8 gAlphaPalette_STATIC_START[];
extern u8 gGlobalPalette_STATIC_START[];
extern u8 D_01025BA0_STATIC_START[];
extern u8 D_01025CFC_STATIC_START[];
extern u8 gActionStrInfoCount_STATIC_START[];
extern u8 gMapStrInfo_STATIC_START[];
extern u8 gActionStrInfo_STATIC_START[];
extern u8 D_01026910_STATIC_START[];
extern u8 D_0102583C_STATIC_START[];
extern u8 D_01024590_STATIC_START[];
extern u8 D_010245E8_STATIC_START[];
extern u8 D_0102464C_STATIC_START[];
extern u8 D_0102578C_STATIC_START[];
extern u8 gLicenceStrInfoCount_STATIC_START[];
extern u8 D_010247AC_STATIC_START[];
extern u8 D_01025734_STATIC_START[];
extern u8 D_01025840_STATIC_START[];
extern u8 D_010258D8_STATIC_START[];
extern u8 D_01025908_STATIC_START[];
extern u8 D_01025968_STATIC_START[];
extern u8 D_01022510_STATIC_START[];
extern u8 D_01022790_STATIC_START[];
extern u8 gLicenceStrInfo_STATIC_START[];
extern u8 gCreditStrInfoCount_STATIC_START[];
extern u8 gCreditStrInfo_STATIC_START[];
extern u8 gControlPreset_STATIC_START[];
extern /*80137DE4*/ char** gpWeaponStrInfo;
extern /*801A68CC*/ char** gpMapStrInfo;
extern char* gMapStrInfo[24];
extern s16* gpSinTable;
extern s16* gpRadaRang;
extern s16 D_01025CFC;
extern _11B300UnkStruct1 D_01025BA0[0x1D];
extern MapInfo* gpMapInfo;
extern char** gpActionStrInfo;
extern _11D520UnkStruct1* D_801ACBD8;
extern _11D520UnkStruct1 D_01026910[31];
extern code1UnkStruct4 D_801CDC64;
extern s32 D_800DEEA0;
extern s32 D_801A1970;
extern u8 D_800DF585;
extern s16* D_801AE8F0;
extern s16* D_80197DE8;
extern _11B300UnkStruct2* D_801C0D70;
extern s16** D_80129808;
extern s16* D_801AD474;
extern s16* D_80105550;
extern s16* D_800FF528;
extern s16* D_8013F920;
extern s16* D_8012DF00;
extern s16* D_8012E150;
extern char** gpLicenceStrInfo;
extern char** gpCreditStrInfo;
extern _119280UnkStruct1* D_801CE5E8;
extern u8* D_80138778;
extern ControlMapping* gpControlPreset;
extern OSSched gScheduler;
extern u64 _schedulerStack_0000A50F[1024];
extern u8 _viMode_0000C937;
extern s32 _framebufferCount_000BDFD0;
extern s32 D_800BD3FC_000BDFFC;
extern s32 D_80119A5C;
extern s32 gGfxTaskIndex;
extern s32 D_800BD428_000BE028;
extern s64 D_80138788;
extern volatile s64 D_800FE9E0;
extern s64 D_801AE498;
extern s32 D_800BD3F0_000BDFF0;
extern u8 D_801B0815;
extern OSMesgQueue D_8010A920;
extern OSMesg D_801C0D64;
extern OSMesgQueue _retraceMsgQ;
extern OSMesg _retraceMessages[256];
extern OSScClient _retraceClient_0000C50F;
extern u8 D_800DEDE0;
extern OSThread _viLoopThread_0000935F;
extern u64 _viLoopThreadStack_0000950F[512];
extern code1UnkStruct7 D_801CC930 __attribute__((aligned(16)));
extern s64 D_800BD3E0_000BDFE0;
float sinf(float angle);
float cosf(float angle);
void func_80000F00(void);
void func_80001AF8(void);
void func_800017AC(void);
void loadMap(s32 mapnum);
void func_801C9E7C(void);
void func_801C9B48(void);
void func_80002494(void);
void func_8000071C(void);
void main_80001CFC(void);
void engine_8002B680(void);
void func_800356EC(void);
void main_80000A94(void);
void controller_8008A3EC(char*, code1UnkStruct3*, s32);
u8 controller_8008AD94(void);
void configInitialize(void);
void readRom(u8* segStart, u8* romStart, s32 size);
void _viLoop(void*);
void _createGfxTask(void);
void func_80095390(s16 playernum);
void func_80000F68(s16 playernum);
void func_8001F928(s32, s32);
void func_80000DDC(void);
void _clearDepthBuffer(void);
void main_80000450(void);
void func_80087A90(u8 contnum);
void func_80087B00(u8 contnum);
void func_80087B9C(u8 contnum);
File diff suppressed because it is too large Load Diff
+1
View File
@@ -4,6 +4,7 @@
#include "patch_helpers.h"
DECLARE_FUNC(void, yield_self_1ms, void);
DECLARE_FUNC(void, yield_self, void);
DECLARE_FUNC(void, recomp_load_overlays, u32 rom, void* ram, u32 size);
DECLARE_FUNC(void, recomp_puts, const char* data, u32 size);
DECLARE_FUNC(void, recomp_exit);
+2
View File
@@ -14,6 +14,7 @@
#define osFlashWriteBuffer osFlashWriteBuffer_recomp
#define osWritebackDCache osWritebackDCache_recomp
#define osInvalICache osInvalICache_recomp
#define osCreateThread osCreateThread_recomp
#define osGetTime osGetTime_recomp
#define osContStartReadData osContStartReadData_recomp
@@ -47,6 +48,7 @@
#include "PR/gbi.h"
#include "PR/os.h"
#include "PR/mbi.h"
#include "PR/sched.h"
#include "libaudio.h"
#include "misc_funcs.h"
// #include "PR/os_thread.h"
+591 -474
View File
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -82,4 +82,6 @@ osPfsRepairId_recomp = 0x8F000118;
osPfsInitPak_recomp = 0x8F00011C;
osEepromLongRead_recomp = 0x8F000120;
osEepromLongWrite_recomp = 0x8F000124;
yield_self_1ms = 0x8F000128;
yield_self_1ms = 0x8F000128;
osCreateThread_recomp = 0x8F00012C;
yield_self = 0x8F000130;