Splat changes (#462)

* Merge changes from splat where it makes sense at this stage.

* Update score, and script for what seems like new map file style.

* format

* Fix accidental inclusion of version specific details.

* Match camera_init

* Update Score

* Near match for func_80046524

* Format

* Woops, it's NON_MATCHING

* Missed button pressed value

* Work on documenting func_80046524

* MAtch func_80046524

* Match func_80046524

* Minor changes

* Fix warnings in func_80046524

* format.py

* Update README

* Match func_800230D0

* Fix UB in mode_init_taj_race
This commit is contained in:
Ryan Myers
2025-02-21 09:23:36 -05:00
committed by GitHub
parent d4233e3747
commit 39c01d4f5e
56 changed files with 982 additions and 1925 deletions
+4
View File
@@ -5,6 +5,10 @@
#define TV_TYPE_PAL 0
#define TV_TYPE_MPAL 2
#define OS_TV_TYPE_PAL 0
#define OS_TV_TYPE_NTSC 1
#define OS_TV_TYPE_MPAL 2
#define RESET_TYPE_COLD_RESET 0
#define RESET_TYPE_NMI 1
#define RESET_TYPE_BOOT_DISK 2
+2 -2
View File
@@ -92,8 +92,8 @@ s32 osPiWriteIo(uintptr_t devAddr, u32 data);
s32 osPiReadIo(uintptr_t devAddr, u32 *data);
s32 osPiRawReadIo(u32 devAddr, u32 *data);
s32 osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size);
s32 osEPiRawStartDma(OSPiHandle *piHandle, s32 dir, u32 cart_addr, void *dram_addr, size_t size);
s32 __osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size);
s32 __osEPiRawStartDma(OSPiHandle *piHandle, s32 dir, u32 cart_addr, void *dram_addr, size_t size);
s32 osEPiRawWriteIo(OSPiHandle *, u32 , u32);
#endif
+57
View File
@@ -0,0 +1,57 @@
#ifndef COMMON_H
#define COMMON_H
#define VERSION_77 77 // NA / PAL V1
#define VERSION_79 79 // Japan
#define VERSION_80 80 // NA / PAL V1.1
#define REGION_NA 1
#define REGION_PAL 2
#define REGION_JP 3
#if defined(VERSION_us_v77)
#define Func80019808Checksum 0x35281
#define ViewportFuncChecksum 0x585E
#define TractionTableChecksum 0x1C65B
#define ObjLoopGoldenBalloonChecksum 0xA597
#define VERSION VERSION_77
#define REGION REGION_NA
#elif defined(VERSION_pal_v77)
#define Func80019808Checksum 0x34E72
#define ViewportFuncChecksum 0x59E5
#define TractionTableChecksum 0x1C38F
#define ObjLoopGoldenBalloonChecksum 0xA6FF
#define VERSION VERSION_77
#define REGION REGION_PAL
#elif defined(VERSION_jpn_v79)
#define Func80019808Checksum 0x34EA6
#define ViewportFuncChecksum 0x592D
#define TractionTableChecksum 0x1C9EC
#define ObjLoopGoldenBalloonChecksum 0xA7C5
#define VERSION VERSION_79
#define REGION REGION_JP
#elif defined(VERSION_us_v80)
#define Func80019808Checksum 0x34B94
#define ViewportFuncChecksum 0x5881
#define TractionTableChecksum 0x1CA13
#define ObjLoopGoldenBalloonChecksum 0xA745
#define VERSION VERSION_80
#define REGION REGION_NA
#elif defined(VERSION_pal_v80)
#define Func80019808Checksum 0x3507C
#define ViewportFuncChecksum 0x580A
#define TractionTableChecksum 0x1CE40
#define ObjLoopGoldenBalloonChecksum 0xA6AF
#define VERSION VERSION_80
#define REGION REGION_PAL
#else
// Default to NA V1 if somehow we don't have a proper define.
#define Func80019808Checksum 0x35281
#define ViewportFuncChecksum 0x585E
#define TractionTableChecksum 0x1C65B
#define ObjLoopGoldenBalloonChecksum 0xA597
#define VERSION VERSION_77
#define REGION REGION_NA
#endif
#endif // COMMON_H
+15
View File
@@ -37,6 +37,13 @@
#define STATIC_ASSERT(cond, msg) typedef char GLUE2(static_assertion_failed, __LINE__)[(cond) ? 1 : -1]
#endif
#ifdef __GNUC__
#define ALIGNED(x) __attribute__((aligned(x)))
#else
#define ALIGNED(x)
#endif
// Align to 8-byte boundary for DMA requirements
#ifdef __GNUC__
#define ALIGNED8 __attribute__((aligned(8)))
@@ -68,4 +75,12 @@
// Used to make a u32 colour value look clearer. Transforms 0xFF0000FF to 255, 0, 0, 255
#define COLOUR_RGBA32(r, g, b, a) (((r << 24) | (g << 16) | (b << 8) | a))
#define ALIGN8(val) (((val) + 7) & ~7)
#define STACK(stack, size) \
u64 stack[ALIGN8(size) / sizeof(u64)]
#define STACK_START(stack) \
((u8*)(stack) + sizeof(stack))
#endif
+1 -1
View File
@@ -1368,7 +1368,7 @@ typedef struct Object_Racer {
/* 0x1FA */ s8 drifting;
/* 0x1FB */ s8 unk1FB;
/* 0x1FC */ u8 unk1FC;
/* 0x1FD */ s8 unk1FD;
/* 0x1FD */ s8 cameraIndex;
/* 0x1FE */ u8 unk1FE;
/* 0x1FF */ u8 unk1FF;
/* 0x200 */ s8 transitionTimer;