mirror of
https://gitlab.com/dk64_decomp/dk64.git
synced 2025-02-19 23:41:20 +00:00
24.6037%
This commit is contained in:
parent
595058cc89
commit
0ce5edcb63
@ -254,7 +254,7 @@ s16 func_80672A70(s16, s16);
|
||||
void func_806A2B08(Actor *arg0);
|
||||
void func_8066EB40(Actor*, f32);
|
||||
void func_8066E854(Actor *arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4);
|
||||
void func_8066EA64(s32 arg0, s32 arg1);
|
||||
void func_8066EA64(Actor *arg0, s32 arg1);
|
||||
void func_806B83E4(void);
|
||||
void func_806B86AC(void);
|
||||
void func_806B88B8(void);
|
||||
@ -691,14 +691,14 @@ s32 func_806728F0(s16, s16, s16);
|
||||
void func_8066C8B0(s32 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8);
|
||||
void func_8066CDD0();
|
||||
void func_8066E21C(LedgeInfo *ledgeInfo);
|
||||
void func_8066E5CC(s32 arg0, s32 arg1, u16 arg2);
|
||||
void func_8066E5F8(s32 arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E62C(s32 arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E5CC(Actor *arg0, s32 arg1, u16 arg2);
|
||||
void func_8066E5F8(Actor *arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E62C(Actor *arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E664(Actor *arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E6C8(Actor *arg0, s32 arg1, u8 arg2);
|
||||
void func_8066E72C(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void func_8066E990(Actor *arg0);
|
||||
void func_8066EA90(s32 arg0, s32 arg1);
|
||||
void func_8066EA90(Actor *arg0, s32 arg1);
|
||||
void func_8066EB50(Actor *actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
|
||||
void func_8066EBF4(Actor *arg0);
|
||||
u8 func_8066F274(Actor *arg0, s16 *arg1, s16 *arg2, s8 *arg3);
|
||||
|
@ -1555,7 +1555,7 @@ struct OM2_unk74 {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
s32 next;
|
||||
OM2_unk74 *next;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
@ -1572,6 +1572,12 @@ typedef struct {
|
||||
s16 unk12;
|
||||
} OM2_unk78;
|
||||
|
||||
typedef struct {
|
||||
u8 unk0[0x24 - 0x0];
|
||||
u8 unk24;
|
||||
u8 unk25[2];
|
||||
} OM2_unk48;
|
||||
|
||||
typedef struct object_model2 {
|
||||
f32 x_position; // at 0x00
|
||||
f32 y_position; // at 0x04
|
||||
@ -1591,7 +1597,7 @@ typedef struct object_model2 {
|
||||
s32 unk3C;
|
||||
s32 unk40;
|
||||
s32 unk44;
|
||||
s32 unk48;
|
||||
OM2_unk48 *unk48;
|
||||
s32 unk4C;
|
||||
s32 unk50;
|
||||
s32 unk54;
|
||||
|
@ -142,8 +142,13 @@ extern GlobalASMStruct53 D_807FB930[];
|
||||
|
||||
typedef struct global_asm_struct_58 GlobalASMStruct58;
|
||||
|
||||
typedef struct {
|
||||
u8 unk0[0x64 - 0x0];
|
||||
u8 unk64;
|
||||
} GlobalASMStruct58_unk0;
|
||||
|
||||
struct global_asm_struct_58 {
|
||||
void *unk0; // used, at least 0x65 big (func_80661264, func_8065F5F0), not sure what datatype though
|
||||
GlobalASMStruct58_unk0 *unk0; // used, at least 0x65 big (func_80661264, func_8065F5F0), not sure what datatype though
|
||||
f32 unk4; // used
|
||||
f32 unk8; // used
|
||||
f32 unkC; // used
|
||||
|
@ -315,7 +315,7 @@ us,.code,func_806E4740,920,no
|
||||
us,.code,func_8060E930,40,yes
|
||||
us,.code,func_80737E38,8,yes
|
||||
us,.code,func_8063A38C,1212,no
|
||||
us,.code,func_806338B4,64,no
|
||||
us,.code,func_806338B4,64,yes
|
||||
us,.code,func_8063B8D8,728,no
|
||||
us,.code,func_806644B0,264,yes
|
||||
us,.code,func_8063D9D0,112,yes
|
||||
@ -444,7 +444,7 @@ us,.code,func_80665AE4,308,no
|
||||
us,.code,func_80676C10,84,yes
|
||||
us,.code,func_8066E6C8,100,yes
|
||||
us,.code,func_80659190,12,yes
|
||||
us,.code,func_8066EAEC,84,no
|
||||
us,.code,func_8066EAEC,84,yes
|
||||
us,.code,func_8064F404,64,yes
|
||||
us,.code,func_806EFA3C,272,yes
|
||||
us,.code,func_8063CA7C,96,yes
|
||||
@ -514,7 +514,7 @@ us,.code,func_80608528,180,yes
|
||||
us,.code,func_806877C8,68,yes
|
||||
us,.code,func_8073CAC0,468,no
|
||||
us,.code,func_806663F8,36,yes
|
||||
us,.code,func_8073198C,76,no
|
||||
us,.code,func_8073198C,76,yes
|
||||
us,.code,func_806AD9AC,72,yes
|
||||
us,.code,func_8065756C,100,yes
|
||||
us,.code,func_806F9B64,364,no
|
||||
@ -984,7 +984,7 @@ us,.code,func_8064F2F0,24,yes
|
||||
us,.code,func_8071BE04,512,no
|
||||
us,.code,func_8060F1D0,56,yes
|
||||
us,.code,func_8060DEA8,32,yes
|
||||
us,.code,func_80688CC4,48,no
|
||||
us,.code,func_80688CC4,48,yes
|
||||
us,.code,func_805FF4D8,108,yes
|
||||
us,.code,func_806E9070,284,no
|
||||
us,.code,func_806526E0,176,yes
|
||||
@ -1061,7 +1061,7 @@ us,.code,func_806D4C7C,360,no
|
||||
us,.code,func_806907E0,16,yes
|
||||
us,.code,func_806FB480,8,yes
|
||||
us,.code,func_80603340,272,no
|
||||
us,.code,func_80688CF4,44,no
|
||||
us,.code,func_80688CF4,44,yes
|
||||
us,.code,func_8062D1A8,56,yes
|
||||
us,.code,func_806B7EA0,1348,no
|
||||
us,.code,func_8068D264,1636,no
|
||||
@ -1181,7 +1181,7 @@ us,.code,func_80646770,520,no
|
||||
us,.code,func_80688370,44,yes
|
||||
us,.code,func_80627EA8,92,yes
|
||||
us,.code,func_8067E69C,40,yes
|
||||
us,.code,func_80669650,80,no
|
||||
us,.code,func_80669650,80,yes
|
||||
us,.code,func_80688FC0,164,no
|
||||
us,.code,func_8067A99C,84,yes
|
||||
us,.code,func_806E3D14,300,yes
|
||||
@ -1389,7 +1389,7 @@ us,.code,func_806F1C04,684,no
|
||||
us,.code,func_80643440,612,no
|
||||
us,.code,func_8066E664,100,yes
|
||||
us,.code,func_80661658,72,yes
|
||||
us,.code,func_80602430,44,no
|
||||
us,.code,func_80602430,44,yes
|
||||
us,.code,func_806944BC,1164,no
|
||||
us,.code,func_806CC638,624,no
|
||||
us,.code,func_8064A258,1452,no
|
||||
@ -1622,7 +1622,7 @@ us,.code,func_80690930,248,no
|
||||
us,.code,func_80737638,748,no
|
||||
us,.code,func_806EAE60,268,yes
|
||||
us,.code,func_8066B75C,80,yes
|
||||
us,.code,func_80724874,60,no
|
||||
us,.code,func_80724874,56,yes
|
||||
us,.code,func_8062A774,92,yes
|
||||
us,.code,func_80676730,44,yes
|
||||
us,.code,func_80646DC4,836,no
|
||||
@ -1947,7 +1947,7 @@ us,.code,func_8071A1E4,604,no
|
||||
us,.code,func_80666AE0,12,yes
|
||||
us,.code,func_80644D50,220,yes
|
||||
us,.code,func_806E7050,56,yes
|
||||
us,.code,func_80661264,80,no
|
||||
us,.code,func_80661264,80,yes
|
||||
us,.code,func_8063C7C4,696,no
|
||||
us,.code,func_80704AFC,36,yes
|
||||
us,.code,func_806C9830,324,yes
|
||||
@ -2087,7 +2087,7 @@ us,.code,func_806C9ED0,48,yes
|
||||
us,.code,func_806D69A4,348,yes
|
||||
us,.code,func_806CA1B4,184,yes
|
||||
us,.code,func_806DA94C,200,yes
|
||||
us,.code,func_806338F4,72,no
|
||||
us,.code,func_806338F4,72,yes
|
||||
us,.code,func_806ADDD8,520,no
|
||||
us,.code,func_806E3C14,36,yes
|
||||
us,.code,func_80688940,300,yes
|
||||
@ -2514,7 +2514,7 @@ us,.code,func_80692640,768,no
|
||||
us,.code,func_8067470C,376,no
|
||||
us,.code,func_80650684,100,yes
|
||||
us,.code,func_80664834,516,yes
|
||||
us,.code,func_8066EABC,48,no
|
||||
us,.code,func_8066EABC,48,yes
|
||||
us,.code,func_80685D84,244,yes
|
||||
us,.code,func_806CC920,40,yes
|
||||
us,.code,func_806B1290,184,yes
|
||||
@ -2604,7 +2604,7 @@ us,.code,func_8067AAB8,104,yes
|
||||
us,.code,func_806EBBD0,144,yes
|
||||
us,.code,func_80665ACC,24,yes
|
||||
us,.code,func_8067A9F0,104,yes
|
||||
us,.code,func_8060F928,56,no
|
||||
us,.code,func_8060F928,56,yes
|
||||
us,.code,clearGlobalFlags,80,yes
|
||||
us,.code,func_8072E740,156,yes
|
||||
us,.code,func_806776A0,1548,no
|
||||
|
|
@ -315,7 +315,7 @@ us,.code,func_806E4740,920,no
|
||||
us,.code,func_8060E930,40,yes
|
||||
us,.code,func_80737E38,8,yes
|
||||
us,.code,func_8063A38C,1212,no
|
||||
us,.code,func_806338B4,64,no
|
||||
us,.code,func_806338B4,64,yes
|
||||
us,.code,func_8063B8D8,728,no
|
||||
us,.code,func_806644B0,264,yes
|
||||
us,.code,func_8063D9D0,112,yes
|
||||
@ -444,7 +444,7 @@ us,.code,func_80665AE4,308,no
|
||||
us,.code,func_80676C10,84,yes
|
||||
us,.code,func_8066E6C8,100,yes
|
||||
us,.code,func_80659190,12,yes
|
||||
us,.code,func_8066EAEC,84,no
|
||||
us,.code,func_8066EAEC,84,yes
|
||||
us,.code,func_8064F404,64,yes
|
||||
us,.code,func_806EFA3C,272,yes
|
||||
us,.code,func_8063CA7C,96,yes
|
||||
@ -514,7 +514,7 @@ us,.code,func_80608528,180,yes
|
||||
us,.code,func_806877C8,68,yes
|
||||
us,.code,func_8073CAC0,468,no
|
||||
us,.code,func_806663F8,36,yes
|
||||
us,.code,func_8073198C,76,no
|
||||
us,.code,func_8073198C,76,yes
|
||||
us,.code,func_806AD9AC,72,yes
|
||||
us,.code,func_8065756C,100,yes
|
||||
us,.code,func_806F9B64,364,no
|
||||
@ -984,7 +984,7 @@ us,.code,func_8064F2F0,24,yes
|
||||
us,.code,func_8071BE04,512,no
|
||||
us,.code,func_8060F1D0,56,yes
|
||||
us,.code,func_8060DEA8,32,yes
|
||||
us,.code,func_80688CC4,48,no
|
||||
us,.code,func_80688CC4,48,yes
|
||||
us,.code,func_805FF4D8,108,yes
|
||||
us,.code,func_806E9070,284,no
|
||||
us,.code,func_806526E0,176,yes
|
||||
@ -1061,7 +1061,7 @@ us,.code,func_806D4C7C,360,no
|
||||
us,.code,func_806907E0,16,yes
|
||||
us,.code,func_806FB480,8,yes
|
||||
us,.code,func_80603340,272,no
|
||||
us,.code,func_80688CF4,44,no
|
||||
us,.code,func_80688CF4,44,yes
|
||||
us,.code,func_8062D1A8,56,yes
|
||||
us,.code,func_806B7EA0,1348,no
|
||||
us,.code,func_8068D264,1636,no
|
||||
@ -1181,7 +1181,7 @@ us,.code,func_80646770,520,no
|
||||
us,.code,func_80688370,44,yes
|
||||
us,.code,func_80627EA8,92,yes
|
||||
us,.code,func_8067E69C,40,yes
|
||||
us,.code,func_80669650,80,no
|
||||
us,.code,func_80669650,80,yes
|
||||
us,.code,func_80688FC0,164,no
|
||||
us,.code,func_8067A99C,84,yes
|
||||
us,.code,func_806E3D14,300,yes
|
||||
@ -1389,7 +1389,7 @@ us,.code,func_806F1C04,684,no
|
||||
us,.code,func_80643440,612,no
|
||||
us,.code,func_8066E664,100,yes
|
||||
us,.code,func_80661658,72,yes
|
||||
us,.code,func_80602430,44,no
|
||||
us,.code,func_80602430,44,yes
|
||||
us,.code,func_806944BC,1164,no
|
||||
us,.code,func_806CC638,624,no
|
||||
us,.code,func_8064A258,1452,no
|
||||
@ -1622,7 +1622,7 @@ us,.code,func_80690930,248,no
|
||||
us,.code,func_80737638,748,no
|
||||
us,.code,func_806EAE60,268,yes
|
||||
us,.code,func_8066B75C,80,yes
|
||||
us,.code,func_80724874,60,no
|
||||
us,.code,func_80724874,56,yes
|
||||
us,.code,func_8062A774,92,yes
|
||||
us,.code,func_80676730,44,yes
|
||||
us,.code,func_80646DC4,836,no
|
||||
@ -1947,7 +1947,7 @@ us,.code,func_8071A1E4,604,no
|
||||
us,.code,func_80666AE0,12,yes
|
||||
us,.code,func_80644D50,220,yes
|
||||
us,.code,func_806E7050,56,yes
|
||||
us,.code,func_80661264,80,no
|
||||
us,.code,func_80661264,80,yes
|
||||
us,.code,func_8063C7C4,696,no
|
||||
us,.code,func_80704AFC,36,yes
|
||||
us,.code,func_806C9830,324,yes
|
||||
@ -2087,7 +2087,7 @@ us,.code,func_806C9ED0,48,yes
|
||||
us,.code,func_806D69A4,348,yes
|
||||
us,.code,func_806CA1B4,184,yes
|
||||
us,.code,func_806DA94C,200,yes
|
||||
us,.code,func_806338F4,72,no
|
||||
us,.code,func_806338F4,72,yes
|
||||
us,.code,func_806ADDD8,520,no
|
||||
us,.code,func_806E3C14,36,yes
|
||||
us,.code,func_80688940,300,yes
|
||||
@ -2514,7 +2514,7 @@ us,.code,func_80692640,768,no
|
||||
us,.code,func_8067470C,376,no
|
||||
us,.code,func_80650684,100,yes
|
||||
us,.code,func_80664834,516,yes
|
||||
us,.code,func_8066EABC,48,no
|
||||
us,.code,func_8066EABC,48,yes
|
||||
us,.code,func_80685D84,244,yes
|
||||
us,.code,func_806CC920,40,yes
|
||||
us,.code,func_806B1290,184,yes
|
||||
@ -2604,7 +2604,7 @@ us,.code,func_8067AAB8,104,yes
|
||||
us,.code,func_806EBBD0,144,yes
|
||||
us,.code,func_80665ACC,24,yes
|
||||
us,.code,func_8067A9F0,104,yes
|
||||
us,.code,func_8060F928,56,no
|
||||
us,.code,func_8060F928,56,yes
|
||||
us,.code,clearGlobalFlags,80,yes
|
||||
us,.code,func_8072E740,156,yes
|
||||
us,.code,func_806776A0,1548,no
|
||||
|
|
@ -9,7 +9,7 @@
|
||||
</mask>
|
||||
<g mask="url(#anybadge_1)">
|
||||
<path fill="#555" d="M0 0h77v20H0z"/>
|
||||
<path fill="#c06000" d="M77 0h67v20H77z"/>
|
||||
<path fill="#c06100" d="M77 0h67v20H77z"/>
|
||||
<path fill="url(#b)" d="M0 0h144v20H0z"/>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
@ -17,7 +17,7 @@
|
||||
<text x="38.5" y="14">global_asm</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">25.1257%</text>
|
||||
<text x="110.5" y="14">25.1257%</text>
|
||||
<text x="111.5" y="15" fill="#010101" fill-opacity=".3">25.1871%</text>
|
||||
<text x="110.5" y="14">25.1871%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@ -17,7 +17,7 @@
|
||||
<text x="66.0" y="14">Donkey Kong 64 (US)</text>
|
||||
</g>
|
||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">24.5579%</text>
|
||||
<text x="165.5" y="14">24.5579%</text>
|
||||
<text x="166.5" y="15" fill="#010101" fill-opacity=".3">24.6037%</text>
|
||||
<text x="165.5" y="14">24.6037%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -115,5 +115,9 @@ s16 func_807245D8(s32 arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_807245F0.s")
|
||||
|
||||
// Unknown struct arg0, only function that calls it is a jumptable
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_127B00/func_80724874.s")
|
||||
void func_80724874(Actor *arg0) {
|
||||
if (arg0->unk118 != NULL) {
|
||||
func_8061130C(arg0->unk118);
|
||||
arg0->unk118 = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ typedef struct {
|
||||
s32 unk264;
|
||||
s32 unk268;
|
||||
GlobalASMStruct6 *unk26C;
|
||||
s32 unk270;
|
||||
GlobalASMStruct6 *unk270;
|
||||
s32 unk274;
|
||||
} GlobalASMStruct87;
|
||||
|
||||
@ -247,7 +247,7 @@ s32 func_8060EE58(s32 arg0) {
|
||||
// Jumptable, appears to be the main function of a thread
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_131B0/func_8060EE60.s")
|
||||
|
||||
s32 func_8060F928(GlobalASMStruct87*, GlobalASMStruct6*);
|
||||
void func_8060F928(GlobalASMStruct87*, GlobalASMStruct6*);
|
||||
|
||||
void func_8060F1D0(GlobalASMStruct87 *arg0, GlobalASMStruct6 *arg1) {
|
||||
func_8060F928(arg0, arg1);
|
||||
@ -279,25 +279,20 @@ void func_8060F208(GlobalASMStruct87 *arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_131B0/func_8060F854.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_131B0/func_8060F928.s")
|
||||
|
||||
/*
|
||||
s32 func_8060F928(GlobalASMStruct87 *arg0, GlobalASMStruct6 *arg1) {
|
||||
void func_8060F928(GlobalASMStruct87 *arg0, GlobalASMStruct6 *arg1) {
|
||||
s32 temp_v0;
|
||||
|
||||
temp_v0 = arg1->unk10;
|
||||
if (temp_v0 == 2) {
|
||||
//*arg0->unk26C = arg1;
|
||||
arg0->unk26C->unk0 = arg1;
|
||||
arg0->unk26C = arg1;
|
||||
} else {
|
||||
//*arg0->unk270 = arg1;
|
||||
arg0->unk270->unk0 = arg1;
|
||||
arg0->unk270 = arg1;
|
||||
}
|
||||
arg1->unk0 = 0;
|
||||
arg1->unk4 = 2;
|
||||
return temp_v0;
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_131B0/func_8060F960.s")
|
||||
|
||||
|
@ -214,17 +214,16 @@ extern Struct80755DA8 D_80755DA8[]; // 0x1F
|
||||
// TODO: Close
|
||||
s16 func_80731784(s16 map, s16 spawnerID, s32 *arg2) {
|
||||
s16 i;
|
||||
s16 max = 0x1F;
|
||||
|
||||
*arg2 = 0;
|
||||
i = 0;
|
||||
while (i < 0x1F) {
|
||||
for (i = 0; i < max; i++) {
|
||||
if (map == D_80755DA8[i].map) {
|
||||
if (spawnerID == D_80755DA8[i].spawnerID) {
|
||||
*arg2 = i;
|
||||
return D_80755DA8[i].flagIndex;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@ -250,8 +249,25 @@ s16 func_8073195C(s16 arg0) {
|
||||
return D_80755F4C[arg0].unk0;
|
||||
}
|
||||
|
||||
// Doable, unrolled loop, struct array
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_135D30/func_8073198C.s")
|
||||
typedef struct {
|
||||
s16 unk0;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
} Struct80755F50;
|
||||
|
||||
extern Struct80755F50 D_80755F50[];
|
||||
|
||||
u8 func_8073198C(s16 arg0) {
|
||||
s32 i;
|
||||
s32 max = 0x35;
|
||||
|
||||
for (i = 0; i < max; i++) {
|
||||
if (arg0 == D_80755F50[i].unk0) {
|
||||
return D_80755F50[i].unk2;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Returns a permanent flag index
|
||||
s32 func_807319D8(s32 arg0, s32 arg1, s32 arg2) {
|
||||
|
@ -65,6 +65,17 @@ s32 func_8073202C(s32 arg0, s32 *arg1, s32 *arg2) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_136820/func_80732064.s")
|
||||
|
||||
/*
|
||||
// Regalloc
|
||||
s32 func_80732064(s32 arg0, s32 *arg1) {
|
||||
if ((arg0 & 0xFFFF0000) == 0x27BD0000) {
|
||||
*arg1 += (s16)arg0;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_136820/func_8073209C.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_136820/func_80732158.s")
|
||||
|
@ -96,9 +96,9 @@ void func_80737F40(Struct80737F0C *arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80737FD8.s")
|
||||
|
||||
/*
|
||||
void func_807382A0(s32, s32, s32, s32, s32);
|
||||
void func_807382A0(s32, s32, u8, u8, u8);
|
||||
|
||||
/*
|
||||
void func_80737FD8(s32 arg0, s32 arg1) {
|
||||
func_807382A0(arg0, 0, arg1 | 0xB0, 0xFF, 0);
|
||||
}
|
||||
@ -108,6 +108,12 @@ void func_80737FD8(s32 arg0, s32 arg1) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_80738080.s")
|
||||
|
||||
/*
|
||||
void func_80738080(s32 arg0, s32 arg1, u8 arg2) {
|
||||
func_807382A0(arg0, 0, arg1 | 0xB0, 0xFF, arg2);
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_13CB50/func_807380CC.s")
|
||||
|
||||
/*
|
||||
|
@ -182,6 +182,7 @@ void *func_806111F8(s32 arg0, u32 arg1) {
|
||||
}
|
||||
*/
|
||||
|
||||
// free()?
|
||||
void func_8061130C(HeapHeader *arg0) {
|
||||
// TODO: Oof, I don't like the second condition there but it does match...
|
||||
if ((arg0 != D_807F5A64) && ((--arg0)->unkB == 0)) {
|
||||
|
@ -361,10 +361,30 @@ void func_806335B0(s32 arg0, u8 arg1, s32 arg2, f32 *arg3, f32 *arg4, f32 *arg5)
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_8063373C.s")
|
||||
|
||||
// Loop, struct arg1, doable
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_806338B4.s")
|
||||
void func_806338B4(OM2_unk74 *arg0);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_806338F4.s")
|
||||
void func_806338B4(OM2_unk74 *current) {
|
||||
OM2_unk74 *next;
|
||||
|
||||
if (current != NULL) {
|
||||
do {
|
||||
next = current->next;
|
||||
func_8061130C(current);
|
||||
current = next;
|
||||
} while (next != NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void func_806338F4(s32 arg0) {
|
||||
OM2_unk48 *temp_v0;
|
||||
u8 i;
|
||||
|
||||
temp_v0 = &D_807F6000[arg0].unk48;
|
||||
for (i = 0; i < 2; i++) {
|
||||
temp_v0->unk25[i] = 0xFF;
|
||||
}
|
||||
temp_v0->unk24 = 0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_36880/func_8063393C.s")
|
||||
|
||||
@ -617,7 +637,6 @@ void func_8066C904(void *arg0);
|
||||
|
||||
Chunk14 *func_80630588(Chunk14 *arg0, s32 arg1, u8 arg2, u8 *arg3);
|
||||
|
||||
void func_806338B4(void *arg0);
|
||||
void func_8064F804(void *arg0);
|
||||
|
||||
void func_806593C8(s32 arg0, s32 arg1);
|
||||
|
@ -1093,22 +1093,18 @@ void func_8064B118(s32 arg0, s16 arg1, s32 arg2, s32 arg3) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_42630/func_8064B260.s")
|
||||
|
||||
/*
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
} GlobalASMStruct54;
|
||||
|
||||
/*
|
||||
void func_8064B260(GlobalASMStruct54 *arg0, s32 arg1, s16 arg2, s32 arg3) {
|
||||
arg0[arg2].unk14 = player_pointer->unk100;
|
||||
arg0[arg2].unk18 = player_pointer->unk104;
|
||||
arg0[arg2].unk1C = player_pointer->unk108;
|
||||
arg0[arg2 + 1].unk4 = player_pointer->unk100;
|
||||
arg0[arg2 + 1].unk8 = player_pointer->unk104;
|
||||
arg0[arg2 + 1].unkC = player_pointer->unk108;
|
||||
}
|
||||
*/
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_54150/func_8064F450.s")
|
||||
|
||||
// OM2_unk24 shenanigans
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_54150/func_8064F6C0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_54150/func_8064F6F8.s")
|
||||
|
@ -1,8 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
|
||||
|
||||
|
||||
typedef struct global_asm_struct_18 {
|
||||
void* unk0; // Texture pointer usually
|
||||
void* unk4;
|
||||
@ -104,8 +102,17 @@ s32 func_8066104C(s32 arg0) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_63EC0/func_80661054.s")
|
||||
|
||||
// Needs definition for D_807F93C0->unk0->unk64
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_63EC0/func_80661264.s")
|
||||
void func_80661264(s32 arg0, u8 arg1) {
|
||||
GlobalASMStruct58 *current;
|
||||
current = D_807F93C0;
|
||||
while (current != NULL && arg0 != 0) {
|
||||
current = current->next;
|
||||
arg0 -= 1;
|
||||
}
|
||||
if (current != NULL) {
|
||||
current->unk0->unk64 = arg1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_806612B4(s32 arg0, u8 arg1) {
|
||||
GlobalASMStruct58 *phi_v0 = D_807F93C0;
|
||||
|
@ -82,9 +82,12 @@ void *func_806022DC(void *arg0) {
|
||||
}
|
||||
*/
|
||||
|
||||
// Libultra stuff osRecvMesg, alUnlink, alLink
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80602314.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80602430.s")
|
||||
u8 func_80602430(s16 arg0) {
|
||||
return ((D_80745658[arg0] & 6) >> 1);
|
||||
}
|
||||
|
||||
u8 func_8060245C(s16 arg0) {
|
||||
return (D_80745658[arg0] & 0x78) >> 3;
|
||||
@ -94,6 +97,7 @@ void func_80602488(u8 arg0) {
|
||||
D_80745654 = arg0;
|
||||
}
|
||||
|
||||
// Doable, kinda annoying
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_6710/func_80602498.s")
|
||||
|
||||
void func_806025AC(s32 arg0, s32 arg1, s32 arg2) {
|
||||
|
@ -934,7 +934,15 @@ void func_80669588(s32 arg0, f32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_699B0/func_80669650.s")
|
||||
s32 func_80669650(u8 arg0, u8 *arg1) {
|
||||
u8 i;
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (arg1[i] != 0xFF && arg0 == arg1[i]) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_699B0/func_806696A0.s")
|
||||
|
||||
|
@ -126,31 +126,24 @@ void func_8066E21C(LedgeInfo *ledgeInfo) {
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_70FD0/func_8066E2C0.s")
|
||||
|
||||
typedef struct {
|
||||
u8 pad0[0x24];
|
||||
u16 unk24;
|
||||
u8 unk26;
|
||||
u8 unk27;
|
||||
} GlobalASMStruct0;
|
||||
LedgeInfo8C *func_8066EAEC(Actor*, s32);
|
||||
|
||||
GlobalASMStruct0 *func_8066EAEC(s32, s32);
|
||||
|
||||
void func_8066E5CC(s32 arg0, s32 arg1, u16 arg2) {
|
||||
GlobalASMStruct0 *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
void func_8066E5CC(Actor *arg0, s32 arg1, u16 arg2) {
|
||||
LedgeInfo8C *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
if (temp_v0) {
|
||||
temp_v0->unk24 = arg2;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8066E5F8(s32 arg0, s32 arg1, u8 arg2) {
|
||||
GlobalASMStruct0 *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
void func_8066E5F8(Actor *arg0, s32 arg1, u8 arg2) {
|
||||
LedgeInfo8C *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
if (temp_v0) {
|
||||
temp_v0->unk27 |= arg2;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8066E62C(s32 arg0, s32 arg1, u8 arg2) {
|
||||
GlobalASMStruct0 *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
void func_8066E62C(Actor *arg0, s32 arg1, u8 arg2) {
|
||||
LedgeInfo8C *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
if (temp_v0) {
|
||||
temp_v0->unk27 &= ~arg2;
|
||||
}
|
||||
@ -303,24 +296,53 @@ f32 func_8066E9EC(Actor *arg0, s32 arg1, f32 arg2) {
|
||||
}
|
||||
*/
|
||||
|
||||
void func_8066EA64(s32 arg0, s32 arg1) {
|
||||
GlobalASMStruct0 *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
void func_8066EA64(Actor *arg0, s32 arg1) {
|
||||
LedgeInfo8C *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
if (temp_v0) {
|
||||
temp_v0->unk26 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_8066EA90(s32 arg0, s32 arg1) {
|
||||
GlobalASMStruct0 *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
void func_8066EA90(Actor *arg0, s32 arg1) {
|
||||
LedgeInfo8C *temp_v0 = func_8066EAEC(arg0, arg1);
|
||||
if (temp_v0) {
|
||||
temp_v0->unk26 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//related to the struct used above
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_70FD0/func_8066EABC.s")
|
||||
void func_8066EABC(Actor *arg0) {
|
||||
LedgeInfo *ledgeInfo;
|
||||
LedgeInfo8C *current;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_70FD0/func_8066EAEC.s")
|
||||
ledgeInfo = arg0->ledge_info_pointer;
|
||||
if (ledgeInfo != NULL) {
|
||||
current = ledgeInfo->unk8C;
|
||||
while (current != NULL) {
|
||||
current->unk26 = 0;
|
||||
current = current->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
LedgeInfo8C *func_8066EAEC(Actor *arg0, s32 arg1) {
|
||||
LedgeInfo *ledgeInfo;
|
||||
LedgeInfo8C *current;
|
||||
|
||||
ledgeInfo = arg0->ledge_info_pointer;
|
||||
arg1--;
|
||||
if (ledgeInfo != NULL) {
|
||||
current = ledgeInfo->unk8C;
|
||||
while (arg1 != 0 && current != NULL) {
|
||||
arg1--;
|
||||
current = current->next;
|
||||
}
|
||||
if (current != NULL) {
|
||||
return current;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void func_8066EB40(Actor *arg0, f32 arg1) {
|
||||
LedgeInfo *ledgeInfo = arg0->ledge_info_pointer;
|
||||
|
@ -291,11 +291,25 @@ u16 func_80688C84(u16 arg0) {
|
||||
}
|
||||
*/
|
||||
|
||||
// Something unk124
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_8D3E0/func_80688CC4.s")
|
||||
typedef struct {
|
||||
f32 unk0[8];
|
||||
} A124_80688CC4;
|
||||
|
||||
// Something unk124
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_8D3E0/func_80688CF4.s")
|
||||
void func_80688CC4(Actor *arg0, s16 arg1, f32 arg2) {
|
||||
if (arg1 < 8) {
|
||||
((A124_80688CC4*)arg0->unk124)->unk0[arg1] = arg2;
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
s32 unk0[8];
|
||||
} A124_80688CF4;
|
||||
|
||||
void func_80688CF4(Actor *arg0, s16 arg1, s32 arg2) {
|
||||
if (arg1 < 8) {
|
||||
((A124_80688CF4*)arg0->unk124)->unk0[arg1] = arg2;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/global_asm/code_8D3E0/func_80688D20.s")
|
||||
|
||||
|
@ -73,7 +73,6 @@ void func_8066E8E4(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5)
|
||||
f32 func_8066E9EC(Actor *arg0, s32 arg1, f32 arg2);
|
||||
void func_8066EB40(Actor *arg0, f32 arg1);
|
||||
void func_8065A708(f32, f32, f32, f32, f32, f32, f32, s32, s32, s32, s32);
|
||||
void func_8066E5F8(s32 arg0, s32 arg1, u8 arg2);
|
||||
|
||||
/*
|
||||
// TODO: Doable, great progress made
|
||||
|
@ -207,7 +207,6 @@ void func_8066EB40(Actor*, f32);
|
||||
void func_8066E8E4(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
|
||||
void func_8066E854(Actor *arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4);
|
||||
void func_8065A708(f32, f32, f32, f32, f32, f32, f32, s32, s32, s32, s32);
|
||||
void func_8066EA64(s32 arg0, s32 arg1);
|
||||
void func_80608528(void *arg0, s16 arg1, u8 arg2, s16 arg3, u8 arg4);
|
||||
|
||||
void func_806B83E4(void) {
|
||||
|
@ -149,9 +149,9 @@ typedef struct {
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
u8 unk4;
|
||||
} GlobalASMStruct0;
|
||||
} Struct807FD568;
|
||||
|
||||
extern GlobalASMStruct0 *D_807FD568; // TODO: Unknown struct
|
||||
extern Struct807FD568 *D_807FD568; // TODO: Unknown struct
|
||||
|
||||
extern s16 D_807FD584; // index into a ton of arrays
|
||||
extern u8 D_807FD586;
|
||||
|
@ -99,7 +99,7 @@ void func_8002452C(void) {
|
||||
// Displaylist stuff
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/multiplayer/code_0/func_80025264.s")
|
||||
|
||||
// D_80026FA4 struct array? Loop
|
||||
// D_80026FA4 struct array? Loop, very fiddly
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/multiplayer/code_0/func_80025378.s")
|
||||
|
||||
s32 func_800253C8(void) {
|
||||
|
@ -42,9 +42,18 @@ typedef struct {
|
||||
s32 unk24;
|
||||
} RaceStruct2_unkC;
|
||||
|
||||
typedef struct RaceStruct2 {
|
||||
typedef struct {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} RaceStruct2_unk4;
|
||||
|
||||
typedef struct RaceStruct2 {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
RaceStruct2_unk4 *unk4;
|
||||
u16 unk8;
|
||||
s16 unkA;
|
||||
RaceStruct2_unkC *unkC;
|
||||
@ -53,16 +62,25 @@ extern RaceStruct2 *D_8002FCF0;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/race/code_A960/func_8002E960.s")
|
||||
|
||||
/*
|
||||
// TODO: Regalloc a1 v1
|
||||
void *func_8002E960(u8 arg0) {
|
||||
if (D_8002FCF0 == NULL || arg0 >= D_8002FCF0->unk0) {
|
||||
return NULL;
|
||||
}
|
||||
return &D_8002FCF0->unk4[arg0];
|
||||
}
|
||||
*/
|
||||
|
||||
#pragma GLOBAL_ASM("asm/nonmatchings/race/code_A960/func_8002E9AC.s")
|
||||
|
||||
/*
|
||||
// TODO: Regalloc a1 v1, if I make it an arg it causes func_8002F36C and func_8002F420 to not match
|
||||
void *func_8002E9AC(u8 arg0) {
|
||||
RaceStruct2 *arg1 = D_8002FCF0;
|
||||
if ((arg1 == 0) || (arg0 >= arg1->unk8)) {
|
||||
if ((D_8002FCF0 == NULL) || (arg0 >= D_8002FCF0->unk8)) {
|
||||
return NULL;
|
||||
}
|
||||
return &arg1->unkC[arg0];
|
||||
return &D_8002FCF0->unkC[arg0];
|
||||
}
|
||||
*/
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user