This commit is contained in:
Donkey Kong 2023-06-14 09:46:37 +09:30
parent 56202c7697
commit 41632fbd85
32 changed files with 146 additions and 93 deletions

View File

@ -34,7 +34,7 @@ segments:
- [0x1000, hasm, entry] #DONE
- [0x1050, c, dk64_boot_1050]
- [0x1630, c, dk64_boot_1630]
- [0x1CC0, c, dk64_boot_1CC0]
- [0x1CC0, c, inflate]
- [0x30E0, c, dk64_boot_30E0]
- [0x3390, c, dk64_boot_3390]
- [0x3C00, c, dk64_boot_3C00]

View File

@ -1393,9 +1393,6 @@ void func_80611160(void);
void func_8061116C(void);
s32 func_806111BC(s32 arg0, s32 arg1);
void func_8061138C(void *arg0);
// void func_80611594(u8 *arg0);
// void func_8061159C(u8 *arg0);
// s32 func_80611688(HeapHeader *arg0);
void func_80611724(s32 arg0, s32 arg1);
void func_80611844(void);
u8 func_80651B64(s16 arg0);
@ -1936,6 +1933,112 @@ void func_8071F2F8(Struct80717D84 *arg0, s32 arg1);
void func_806319C4(Actor*, s32);
// Round 3
void func_806A1FD8(void);
void func_8067DCC0(void);
void func_8068304C(void);
void func_80717760(Struct80717D84 *arg0, s8 *arg1);
void func_80717814(Struct80717D84 *arg0, s32 arg1);
void func_80717930(Struct80717D84 *arg0, s32 arg1);
void func_80717B64(Struct80717D84 *arg0, s8 *arg1);
void func_80717CE8(Struct80717D84 *arg0, s32 arg1);
void func_80717D84(Struct80717D84 *arg0, s8 *arg1);
void func_80717DB4(Struct80717D84 *arg0, s32 arg1);
void func_80717F1C(Struct80717D84 *arg0, s32 arg1);
void func_80718188(Struct80717D84 *arg0, s8 *arg1);
void func_807189BC(Struct80717D84 *arg0, s8 *arg1);
void func_80719A0C(Struct80717D84 *arg0, s8 *arg1);
void func_80719B88(Struct80717D84 *arg0, s8 *arg1);
void func_80719C00(Struct80717D84 *arg0, s8 *arg1);
void func_8071A8B0(Struct80717D84 *arg0, s32 arg1);
void func_8071AADC(Struct80717D84 *arg0, s32 arg1);
void func_8071B1AC(Struct80717D84 *arg0, s32 arg1);
void func_8071B24C(Struct80717D84 *arg0, s32 arg1);
void func_8071B2EC(Struct80717D84 *arg0, s32 arg1);
void func_8071B44C(Struct80717D84 *arg0, s32 arg1);
void func_8071B758(Struct80717D84 *arg0, s32 arg1);
void func_8071B89C(Struct80717D84 *arg0, s32 arg1);
void func_8071B8EC(Struct80717D84 *arg0, s8 *arg1);
void func_8071D0F0(Struct80717D84 *arg0, s8 *arg1);
void func_8071D260(Struct80717D84 *arg0, s8 *arg1);
void func_8071DB74(Struct80717D84 *arg0, u8 *arg1);
void func_8071DC90(Struct80717D84 *arg0, s8 *arg1);
void func_8071E110(Struct80717D84 *arg0, u8 arg1, u16 arg2, f32 arg3, f32 arg4, s32 arg5);
void func_8071E1C8(Struct80717D84 *arg0, s8 *arg1);
void func_8071EA24(Struct80717D84 *arg0, s32 arg1);
void func_8071EDEC(Struct80717D84 *arg0, s32 arg1);
void func_8071EEA4(Struct80717D84 *arg0, s32 arg1);
void func_8071EFDC(Struct80717D84 *arg0, s8 *arg1);
void func_8071F034(Struct80717D84 *arg0, s32 arg1);
void func_8071F078(Struct80717D84 *arg0, s32 arg1);
void func_8071F444(Struct80717D84 *arg0, s8 *arg1);
void func_8065F4F4(GlobalASMStruct58 *arg0);
void func_80657E24(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 *arg8, s32 *arg9, s32 *argA, s32 *argB);
void func_8063DED0(OM2_unk7C *arg0);
void func_8063E078(OM2_unk7C *arg0);
void func_8061134C(HeapHeader *arg0);
s32 func_806419F8(void);
void func_80641BCC(s16 arg0, s16 arg1, s16 arg2);
void func_80643274(s32 arg0, s16 arg1, s16 arg2, s16 arg3);
void func_80643B24(s32 arg0, s16 arg1, s32 arg2, s32 arg3);
void func_80644CC0(void **arg0, s32 arg1, s32 arg2, s32 arg3);
void func_8064774C(s32 arg0, s16 arg1, s32 arg2, s32 arg3);
void func_8064911C(s32 arg0, s16 arg1, s32 arg2, s32 arg3);
void func_8064A194(s32 arg0, s16 arg1, s32 arg2, s32 arg3);
s32 func_8064AB1C(s32 arg0, s16 arg1, s16 arg2, s32 arg3);
void func_80659670(f32, f32, f32, s16);
void func_8064C708(s32 **arg0, s16 arg1, s32 arg2, s32 arg3);
void func_80611690(void*);
void func_8070C590(f32 (*arg0)[4], f32 (*arg1)[4], f32 (*arg2)[4]);
void func_80685B44(void *arg0, u8 arg1, f32 arg2, u8 arg3, u8 arg4, s16 arg5, s16 arg6, s16 arg7, s16 arg8);
void func_80726EE0(u8 arg0);
void func_807311C4(s16);
void func_8068E9B0();
void func_8068EA38();
u8 func_806D0DE4(Actor *arg0, Actor *arg1);
void func_806D2DC4(void);
void func_806D3224(void);
void func_806D332C(void);
void func_806D34B4(void);
void func_806D9820(void);
void func_8072B79C(s16 arg0, s16 arg1, s16 arg2);
s32 func_8069B85C(void);
void func_80659DB0(f32 arg0, f32 arg1, f32 arg2, s16 arg3);
u8 func_80676CB0(Struct80676CB0 *arg0, u8 arg1);
u8 func_80676AB8(Actor*, Actor*, Actor*);
u8 func_80676338(Actor *arg0, Actor *arg1, Struct80676CB0 *arg2);
int func_806769A8(s32 arg0, Actor *arg1, s32 arg2);
int func_80676A0C(s32 arg0, Actor *arg1, s32 arg2);
void func_80676D00(Actor *arg0, Actor *arg1, s32 arg2, s32 arg3);
s32 func_806534E0(f32 arg0, f32 arg1, f32 arg2, s16 chunkIndex, s8 *arg4, f32 *arg5);
void func_80655AD0(void);
s32 func_80657F14(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 *arg8, s32 *arg9, s32 *argA, s32 *argB);
void func_80633D30(f32 *arg0, f32 *arg1);
void func_80690470(Actor *arg0);
void func_806970CC(void);
void func_805FF670();
void func_8062DB70(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5);
s32 func_8062E548(s16 *arg0, u8 arg1, f64 arg3, u8 arg4);
void func_80685708(Actor *arg0, u8 arg1);
void func_806B8C78(void);
void n_alSynDelete(void);
void alLink(ALLink *ln, ALLink *to);
void alUnlink(ALLink *ln);
void alSeqpSetSeq(ALSeqPlayer *seqp, ALSeq *seq);
void n_alInit(N_ALGlobals *g, ALSynConfig *c);
void n_alClose(N_ALGlobals *glob);
void _n_collectPVoices();
s32 _n_timeToSamplesNoRound(s32 micros);
void func_80738170(ALSeqPlayer *seqp, u8 arg1, u8 arg2);
void func_80738230(ALSeqPlayer *seqp, u8 arg1, u8 arg2);
void alSepqSetVol(ALSeqPlayer *seqp, s16 vol);
void func_8073BC74(Struct8073BC74 *arg0);
void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items, s32 itemCount);
ALMicroTime alEvtqNextEvent(ALEventQueue *evtq, ALEvent *evt);
void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt, ALMicroTime delta);
void alEvtqFlushType(ALEventQueue *evtq, s16 type);
void alSeqpStop(ALSeqPlayer *seqp);
// TODO: Where is the best place to put this so it's available everywhere and doesn't conflict with internal libultra/gu stuff?
#define ABS(d) ((d) > 0) ? (d) : -(d)

View File

@ -3,6 +3,18 @@
/* your struct definitions go here */
typedef struct HeapHeader HeapHeader;
struct HeapHeader {
HeapHeader *prev;
s32 size; // Used
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB; // Used
s32 unkC;
};
typedef struct character_progress {
u8 moves; // at 0x00
u8 simian_slam; // at 0x01

View File

@ -35,6 +35,7 @@ int func_80717404(); // TODO: Signature
extern void* D_8074E880[];
/*
// TODO: Rodata?
void func_800254B0(s16 arg0, s16 arg1, s16 arg2, s16 arg3) {
s16 i;

View File

@ -253,10 +253,10 @@ void func_800277F8(void) {
Actor* CAP;
CAP = current_actor_pointer;
a178 = CAP->unk178;
aaD = CAP->additional_actor_data;
if (!(CAP->object_properties_bitfield & 0x10)) {
a178->unk25 = func_806FDB8C(1, func_8070E750(0x1A, 2, 1, CAP), 8, 0.0f, 0.0f, 0.0f);
aaD = current_actor_pointer->additional_actor_data;
a178 = current_actor_pointer->unk178;
if (!(current_actor_pointer->object_properties_bitfield & 0x10)) {
a178->unk25 = func_806FDB8C(1, func_8070E750(0x1A, 2, 1), 8, 0.0f, 0.0f, 0.0f);
func_806FDAB8(a178->unk25, 0.0f);
aaD->unk23 = 5;
aaD->unk0 = -2;
@ -348,10 +348,8 @@ void func_800277F8(void) {
current_actor_pointer->control_state = 1;
break;
}
} else if (aaD->unk0 != -2) {
if (aaD->unk0 != -1) {
} else if (!(current_actor_pointer->object_properties_bitfield & 0x02000000)) {
} else if (aaD->unk0 != -2 && aaD->unk0 != -1) {
if (!(current_actor_pointer->object_properties_bitfield & 0x02000000)) {
aaD->unk0 = 1;
func_806A2B08(CAP->unk11C);
func_8002733C(aaD);

View File

@ -200,7 +200,7 @@ int *m; /* maximum lookup bits, returns actual */
return y != 0 && g != 1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/dk64_boot/dk64_boot_1CC0/func_80001700.s")
#pragma GLOBAL_ASM("asm/nonmatchings/dk64_boot/inflate/func_80001700.s")
#if FALSE

View File

@ -59,7 +59,6 @@ void func_807094D0(u8 arg0) { // init zipper
s32 func_805FE71C(s32, u8, s32 *, ?);
s32 func_805FE7B4(s32 *, s32 *, s32 *, ?);
s32 func_80610044(s32, s32, ?, ?, s32, s32);
s32 func_8061134C(s32);
s32 func_8061CBCC();
s32 func_8070AC74(s32, s32 *, u8 *);
s32 func_8070AF24(s32 *, u8 *);

View File

@ -27,8 +27,6 @@ extern s32 D_807FD9F0[];
extern u8 D_807FDA1C;
void func_80710CA0(void); // TODO: Datatypes
void func_8061134C(s32);
typedef struct {
u16 unk0;
s16 unk2;

View File

@ -311,7 +311,6 @@ void func_807158C0(void) {
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_119370/func_80715908.s")
/*
? func_8061134C(void *); // extern
? func_8062D26C(void *, void *, ?); // extern
? func_80630588(?, void *, ?, ? *); // extern
extern s32 D_80000310;

View File

@ -144,8 +144,6 @@ void func_80724C78(void* arg0) {
func_80728300(arg0, D_80755690, D_80755694);
}
void func_80611690(AnimationStateUnk1C *);
void func_80724CA4(s16 arg0, s16 arg1) {
AnimationStateUnk1C *temp_v0;
current_actor_pointer->animation_state->unk1C = malloc(8 + (arg1 * 8U));

View File

@ -2,7 +2,6 @@
#include "functions.h"
void func_8061134C(s32);
s32 func_8063367C(s32, s32, s32);
s32 func_80671D64(s32, s32);

View File

@ -829,7 +829,6 @@ void func_8062E67C(Struct8062E67C *arg0, Struct8062E67C *arg1, u8 arg2, f64 arg4
// Surprisingly doable
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_2F550/func_8062F050.s")
void func_80659DB0(f32, f32, f32, s32);
void func_8063C390(void);
void func_8065E040(s32);
/*

View File

@ -872,8 +872,6 @@ void func_806362C4(s32 arg0, u8 arg1) {
}
}
void func_8061134C(void*);
void func_80636380(s32 arg0, Struct80635548 *arg1) {
s32 i;

View File

@ -811,4 +811,4 @@ loop_21:
}
D_8076AF10 = D_80767A40.frame_count;
}
*/
*/

View File

@ -297,8 +297,6 @@ void func_806417BC(s16 arg0, s16 arg1) {
}
*/
void func_8061134C(s16*);
void func_80641874(s16 arg0, s16 arg1) {
s16 *temp_v0;
Actor *sp20;
@ -890,7 +888,6 @@ void func_80644D50(s32 arg0, s16 arg1, s32 arg2, s32 arg3) {
}
extern s32 D_8074E880[];
int func_80717760(); // TODO: Signature
void func_80644E2C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
func_807149FC(-1);
@ -901,8 +898,6 @@ void func_80644E2C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_42630/func_80644EC8.s")
void func_8071AADC(void);
int func_8071E3EC(); // TODO: Signature
extern s32 D_80720BC4; // TODO: Datatype
@ -1451,8 +1446,6 @@ void func_8064B574(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
func_80726EE0(3);
}
s32 func_80659670(f32, f32, f32, s16);
typedef struct {
f32 unk0;
f32 unk4;

View File

@ -128,12 +128,11 @@ void func_8060151C(u8 arg0, s32 arg1, s32 arg2) {
}
}
// TODO: Double check datatypes, it's fine for now though
void func_806015E0(u8 arg0, s32 arg1, s32 arg2) {
s32 i;
for (i = 0; i < 0x10; i++) {
if ((1 << i) & arg1) {
func_80738230(D_8076BF20[arg0], i & 0xFF, arg2 & 0xFF);
func_80738230(D_8076BF20[arg0], i, arg2);
}
}
}

View File

@ -152,8 +152,6 @@ extern s32 D_807213D0; // TODO: Datatype
extern f32 D_80758E18;
extern f32 D_80758E1C;
void func_80717DB4(void);
void func_80664834(s16 arg0) {
if (((rand() % 10000) % 12) == 0) {
func_807149B8(1);

View File

@ -8,7 +8,6 @@ extern f32 D_80759254;
extern f32 D_80759258;
u8 func_80676CB0(Struct80676CB0 *arg0, u8 arg1);
s32 func_806D0DE4(Actor *arg0, Actor *arg1);
u8 func_80676AB8(Actor*, Actor*, Actor*);
s32 func_806EB400(Actor *);

View File

@ -1,13 +1,9 @@
#include <ultra64.h>
#include "functions.h"
int func_80717930(); // TODO: Signature
int func_807197B4(); // TODO: Signature
int func_8071827C(); // TODO: Signature
int func_80719B88(); // TODO: Signature
int func_80719C00(); // TODO: Signature
int func_8071AF30(); // TODO: Signature
int func_8071EFDC(); // TODO: Signature
extern s32 D_8071FC40;
extern s32 D_8071FF18;
extern s32 D_8071FF40;
@ -33,7 +29,6 @@ extern f64 D_80759B60; // y
extern f64 D_80759B70;
extern f64 D_80759B68;
void func_80719A0C(void); // Function pointer
void func_806858E8(Actor*, s16, f32, f32, f32, f32, s32);
void func_80686390(Actor*, f32, f32, f32, f32);
void func_80685F60(Actor *actor);
@ -552,8 +547,6 @@ void func_80686340(void) {
extern f32 D_80759B50;
extern void func_8071DC90(void); // Function pointer
/*
// TODO: Weird regalloc again, at s2, s3
void func_8068696C(Actor *arg0) {

View File

@ -385,7 +385,6 @@ void func_806925AC(void) {
void func_8061EF4C(Actor*, s32, s32, f32, f32, f32, f32, f32);
int func_8071A8B0(); // TODO: Signature
extern s32 D_8071ABDC; // TODO: Datatype
extern s32 D_807200EC; // TODO: Datatype
extern s32 D_80720120; // TODO: Datatype

View File

@ -931,8 +931,6 @@ typedef struct {
s16 unk4;
} AAD_806A7EF0;
void func_80611690(void*);
void func_806A7EF0(void) {
AAD_806A7EF0 *aaD;
AnimationStateUnk20 *temp_v0_2;

View File

@ -23,7 +23,6 @@ s32 func_806A80C0(s8 arg0) {
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_ACDC0/func_806A9124.s")
void func_8061134C(s32);
extern s32 *D_807FC7E8;
typedef struct TempStruct807FC7F0 {

View File

@ -3,7 +3,6 @@
void func_80724E48(u8);
void func_8072B79C(s32, s32, s32);
void func_806782C0(Actor *);
s32 func_8072881C(s32, s32);
s32 func_8072AB74(u8, f32, f32, s32, f32);

View File

@ -8,7 +8,6 @@ extern s32 D_80750600[];
// TODO: Are these 4 correct?
extern s32 D_8071FFA0;
extern f32 D_8075B2A0;
void func_80685B44(void*, s32, f32, s32, s32, s32, s32, s32, s32);
void func_806B11C0(u8 arg0) {
f32 sp3C, sp38, sp34;

View File

@ -241,7 +241,6 @@ void func_806C1640(void) {
func_806319C4(current_actor_pointer, 0);
}
int func_8071A8B0(); // TODO: Signature
int func_8071C818(); // TODO: Signature
extern s32 D_8071FB08; // TODO: Proper datatype
extern s32 D_807200D4; // TODO: Proper datatype
@ -708,7 +707,6 @@ void func_806C28B8(void) {
}
*/
int func_80717D84(); // TODO: Signature
extern f64 D_8075BED8;
void func_806C2A64(u8 arg0, u8 arg1, u8 arg2, f32 arg3, f32 arg4, f32 arg5, void *arg6, f32 arg7) {

View File

@ -192,8 +192,6 @@ void func_806C55D8(void) {
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_C8C10/func_806C5C20.s")
void func_80659670(f32, f32, f32, s16);
void func_806C5FEC(void) {
YetAnotherAdditionalActorData5 *temp_v1;
PlayerAdditionalActorData *temp_a0;

View File

@ -24,8 +24,6 @@ int func_806FF75C(); // TODO: Signature
int func_806FF01C(); // TODO: Signature
int func_80716FB4(); // TODO: Signature
int func_80717930(); // TODO: Signature
int func_8071B2EC(); // TODO: Signature
extern s32 D_8071FB08; // TODO: Proper datatype
extern s32 D_8071FFA0;
extern s32 D_8071FF18;
@ -5186,8 +5184,6 @@ void func_806DECD4(void) {
extern s32 D_80750FE0[];
extern s32 D_80750FF0;
void func_80659670(f32, f32, f32, s16);
typedef struct BoulderAAD {
u32 unk0;
u32 unk4;

View File

@ -766,8 +766,6 @@ extern f64 D_8075D818;
extern f64 D_8075D820;
extern f64 D_8075D828;
void func_80611690(void*);
void func_806F39E8(Actor *arg0, ExitData *arg1, u8 arg2) {
Struct80753E90_unk4 *temp_v0_2;
Struct80753E90_unk4 *temp;

View File

@ -12,7 +12,6 @@ extern s16 D_807F624C;
extern f64 D_8075B8C0;
int func_8071C9E8(); // TODO: Signature
extern void func_80659670(f32, f32, f32, s32);
void func_806B8B20(s16 arg0, s16 arg1, s16 arg2, s16 arg3) {
func_8071498C(&func_8071C9E8);

View File

@ -1,20 +1,6 @@
#include <ultra64.h>
#include "functions.h"
// This file manages the heap
typedef struct HeapHeader HeapHeader;
struct HeapHeader {
HeapHeader *prev;
s32 size; // Used
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB; // Used
s32 unkC;
};
typedef struct {
void *unk0; // Used
s8 unk4; // Used
@ -36,11 +22,11 @@ extern s32 D_807F5A68;
void *func_806111F8(s32 arg0, u32 arg1);
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610350.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610350.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_806109EC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_806109EC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610A88.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610A88.s")
// TODO: Datatypes are sus
void func_80610B84(s32 arg0, s32 arg1, u32 arg2) {
@ -55,15 +41,15 @@ void func_80610B84(s32 arg0, s32 arg1, u32 arg2) {
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610BD8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610BD8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610C74.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610C74.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610DCC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610DCC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80610E84.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80610E84.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/malloc.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/malloc.s")
u8 func_80611154(void) {
return D_80746A37;
@ -100,7 +86,7 @@ s32 func_806111BC(s32 arg0, s32 arg1) {
return 0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_806111F8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_806111F8.s")
typedef struct Struct807F0988_unk8 Struct807F0988_unk8;
@ -206,10 +192,10 @@ void func_8061138C(void *arg0) {
D_807F5A58++;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80611408.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80611408.s")
// Looks fiddly... hmm
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80611534.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80611534.s")
void func_80611594(HeapHeader *arg0) {
arg0[-1].unkB = 0;
@ -219,7 +205,7 @@ void func_8061159C(HeapHeader *arg0) {
arg0[-1].unkB = 1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_806115A8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_806115A8.s")
/*
// TODO: Close, might only have 1 param
@ -233,7 +219,7 @@ void func_806115A8(HeapHeader **arg0, HeapHeader *arg1) {
}
*/
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80611614.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80611614.s")
extern s32 D_807F5A68;
@ -263,12 +249,12 @@ s32 func_80611688(HeapHeader *arg0) {
}
// Appears to be an 8 byte aligned memset implementation
void func_80611690(HeapHeader *arg0) {
void func_80611690(void *arg0) {
u64 *var_v0;
u16 var_v1;
var_v0 = arg0;
var_v1 = arg0[-1].size / 8U;
var_v1 = ((HeapHeader*)arg0)[-1].size / 8U;
while (var_v1--) {
*var_v0++ = 0;
}
@ -291,7 +277,7 @@ void func_80611724(s32 arg0, s32 arg1) {
}
// TODO: Blursed, maybe anti piracy?
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_15050/func_80611730.s")
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/heap/func_80611730.s")
void func_80611844(void) {

View File

@ -343,8 +343,6 @@ void func_8002B6F4(RaceStruct7 *arg0, s32 arg1) {
#pragma GLOBAL_ASM("asm/nonmatchings/race/code_36B0/func_8002B964.s")
void func_80611690(RaaD_unk20*);
void func_8002BBD0(Actor *arg0, s32 arg1) {
RaceAdditionalActorData *sp1C;
RaaD_unk20 *temp_v0;

View File

@ -34,7 +34,7 @@ segments:
- [0x131B0, c, code_131B0]
- [0x14CF0, c, code_14CF0]
- [0x15010, c, code_15010]
- [0x15050, c, code_15050]
- [0x15050, c, heap]
- [0x16550, c, done/code_16550]
- [0x166A0, bin, code_166A0]
- [0x1E2D0, bin, code_1E2D0]