core2 .bss fully defined, core2/code_CD6E0.c done

This commit is contained in:
Banjo Kazooie 2022-08-04 15:34:05 -05:00
parent 27dbab7b7f
commit 026d2cec0e
53 changed files with 2258 additions and 2114 deletions

View File

@ -9,7 +9,7 @@
</mask>
<g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#65e000" d="M44 0h67v20H44z"/>
<path fill="#64e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@ -17,7 +17,7 @@
<text x="22.0" y="14">core2</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">77.4315%</text>
<text x="77.5" y="14">77.4315%</text>
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">77.5826%</text>
<text x="77.5" y="14">77.5826%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">81.8431%</text>
<text x="183.5" y="14">81.8431%</text>
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">81.9298%</text>
<text x="183.5" y="14">81.9298%</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -18,8 +18,7 @@ typedef struct struct_2a_s{
extern u8 D_80363590;
extern u8 D_80379B90;
extern u8 D_80286F90;
extern u8 D_803863F0;
extern u8 D_803A5D00;
extern u8 D_F55960;
extern u8 D_1048560;
@ -42,10 +41,13 @@ extern struct2As D_802762D0[] = {
{"witch", 0x803863F0, 0x80395470, 0x01098070, 0x010A6FD0, 0x803863F0, 0x80392CB0, 0x80392CB0, 0x80395350, 0x80395350, 0x80395470},
{"battle", 0x803863F0, 0x80392930, 0x010A6FD0, 0x010B3320, 0x803863F0, 0x80391380, 0x80391380, 0x80392740, 0x80392740, 0x80392930},
};
extern u8 D_80286F90;
extern s32 D_80276564 = 15;
enum overlay_e D_80282800;
extern u8 D_803863F0;
void func_802513A4(void);
/* .code */

View File

@ -7,17 +7,52 @@
void *func_80309B48(f32 *, f32 *, f32 *, u32);
void *func_80309B98(f32 *, f32 *, f32 *, u32);
s32 func_8031FF1C(s32);
void func_8031FFAC(void);
void func_80320004(s32 index, s32 set);
s32 func_803200A4(u8 *array, s32 index);
s32 func_803200E4(u8 *array, s32 offset, s32 numBits);
void func_8032015C(u8 *array, s32 index, s32 set);
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length);
void func_8032048C(void);
void func_803204E4(s32 arg0, s32 arg1);
s32 func_8031FF44(s32 offset, s32 numBits);
void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2);
void ml_vec3h_to_vec3f(f32 *, s32);
void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *);
struct unkfunc_80304ED0 *func_80304ED0(void*, f32 *);
void func_8031CD44(s32, s32, f32, f32, s32);
void func_80256E24(f32 *, f32, f32, f32, f32, f32);
void func_8031C608(struct0 *this);
void *func_8031BABC(f32 *, f32, f32, u32, void*);
void func_8031BD98(struct0 *, f32, s32, s32, f32 *, void *, s32);
void func_8031BE98(struct0*, f32, s32);
extern f32 D_8036DDC0[];
// Struct pointer returned by func_80304ED0
struct unkfunc_80304ED0 {
s16 unk0[3];
u16 unk6;
u16 unk8;
u16 unkA;
u32 unkC;
};
/* .data */
extern u8 D_8036DDC0[0x14];
extern u32 D_8036DDD4;
/* .rodata */
extern f32 D_80378D30;
extern f32 D_80378D34;
extern f32 D_80378D40;
extern f32 D_80378D44;
/* .bss */
u8 D_80383190;
void func_8031B9B0(struct0 *this, s32 arg1){
if(arg1 == 1)
@ -160,7 +195,7 @@ void func_8031BD98(struct0 *this, f32 arg1, s32 arg2, s32 arg3, f32 *normPtr, vo
void func_8031BE58(struct0 *this){
func_8031BD98(this, -9000.0f, 0, 0, D_8036DDC0, 0, 0);
func_8031BD98(this, -9000.0f, 0, 0, &D_8036DDC0, 0, 0);
}
void func_8031BE98(struct0 *this, f32 arg1, s32 arg2){
@ -299,57 +334,22 @@ s32 func_8031C880(void){
return 0;
}
// Struct pointer returned by func_80304ED0
struct unkfunc_80304ED0 {
s16 unk0[3];
u16 unk6;
u16 unk8;
u16 unkA;
u32 unkC;
};
s32 func_8031FF1C(s32);
void func_8031FFAC(void);
void func_80320004(s32 index, s32 set);
s32 func_803200A4(u8 *array, s32 index);
s32 func_803200E4(u8 *array, s32 offset, s32 numBits);
void func_8032015C(u8 *array, s32 index, s32 set);
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length);
void func_8032048C(void);
void func_803204E4(s32 arg0, s32 arg1);
s32 func_8031FF44(s32 offset, s32 numBits);
void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2);
void ml_vec3h_to_vec3f(f32 *, s32);
void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *);
struct unkfunc_80304ED0 *func_80304ED0(void*, f32 *);
void func_8031CD44(s32, s32, f32, f32, s32);
void func_80256E24(f32 *, f32, f32, f32, f32, f32);
extern u32 D_8036DDD4;
// probably rodata
extern f32 D_80378D40;
extern f32 D_80378D44;
/* .bss */
extern u8 D_80383190;
void func_8031CB50(enum map_e map_id, s32 arg1, s32 arg2) {
void func_8031CB50(enum map_e map_id, s32 exit_id, s32 arg2) {
s32 sp1C;
if ((D_80383190 == 0) && (getGameMode() != 8) && (getGameMode() != 7)) {
if ((D_80383190 == 0) && (getGameMode() != GAME_MODE_8_BOTTLES_BONUS) && (getGameMode() != GAME_MODE_7_ATTRACT_DEMO)) {
sp1C = func_803226E8(map_get());
if ((func_803226E8(map_id) != sp1C) && (func_80322914() == 0)) {
func_8025A388(0, 0x4E2);
func_8025AB00();
func_8024BD08(0);
}
if (func_802E4A08() != 0) {
func_802E40D0(map_id, arg1);
if (func_802E4A08()) {
func_802E40D0(map_id, exit_id);
func_802E40E8(1);
func_802E40C4(0xB);
} else {
func_802E4078(map_id, arg1, 1);
func_802E4078(map_id, exit_id, 1);
}
func_80335110(arg2);
}
@ -1661,264 +1661,3 @@ void func_8031FBF8(void) {
func_8029A890();
func_802C5A48();
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031FC40.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031FE40.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_8031FEC0.s")
struct {
s32 unk0;
s32 unk4;
u8 unk8[37];
} D_803831A0;
s32 func_8031FF1C(s32 index) {
return func_803200A4(D_803831A0.unk8, index);
}
s32 func_8031FF44(s32 offset, s32 numBits) {
return func_803200E4(D_803831A0.unk8, offset, numBits);
}
s32 func_8031FF74(s32 index, s32 set) {
s32 ret;
ret = func_8031FF1C(index);
func_80320004(index, set);
return ret;
}
void func_8031FFAC(void) {
s32 i;
for (i = 0; i < 37; i++) {
D_803831A0.unk8[i] = 0;
}
func_8031FC40();
func_8031FEC0();
}
void func_80320004(s32 index, s32 set) {
func_8032015C(D_803831A0.unk8, index, set);
func_8031FC40();
func_8031FEC0();
}
void func_80320044(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831A0.unk8, startIndex, set, length);
func_8031FC40();
func_8031FEC0();
}
void func_8032008C(s32 *arg0, u8 **arg1) {
*arg0 = 0x25;
*arg1 = D_803831A0.unk8;
}
// Returns a single bit from a byte array
s32 func_803200A4(u8 *array, s32 index) {
s32 ret;
if (array[index / 8] & (1 << (index & 7))) {
ret = 1;
} else {
ret = 0;
}
return ret;
}
// Extracts an integer of the given number of bits from a byte array at the starting bit offset
s32 func_803200E4(u8 *array, s32 offset, s32 numBits) {
s32 ret = 0;
s32 i;
for (i = 0; i < numBits; i++) {
ret |= (func_803200A4(array, offset + i) << i);
}
return ret;
}
// Sets or clears a single bit in a byte array
void func_8032015C(u8 *array, s32 index, s32 set) {
if (set) {
array[index / 8] |= (1 << (index & 7));
} else {
array[index / 8] &= ~(1 << (index & 7));
}
}
// Sets or clears a range of bits in a byte array
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length) {
s32 i;
for (i = 0; i < length; i++) {
func_8032015C(array, startIndex + i, (1 << i) & set);
}
}
s32 func_80320240(void){return 1;}
s32 func_80320248(void){return 1;}
struct {
s32 unk0;
s32 unk4;
u8 unk8[25];
} D_803831D0;
// regalloc
// s32 func_80320250(void) {
// s32 addr = (s32) &D_803831D0.unk8[0];
// u32 checksum = 0x6CE9E91F;
// s32 len = 25;
// s32 scrambled;
// u32 i;
// // Scrambles the input address
// scrambled = (addr ^ 0x746DF219) & 0xFF; // scrambled = (low byte of addr) ^ 0x19
// scrambled += (addr >> 0x18) << 0x18; // scrambled = (high byte of addr | low byte of addr) ^ 0x19
// scrambled += ((addr >> 8) & 0xFFFF) << 8; // scrambled = addr ^ 0x19
// // Unscrambles the input address
// for (i = 0; i < len; i++) {
// s32 val = ((u8*)(scrambled ^ 0x19))[i];
// checksum = val ^ (((checksum + val & 0xF) << 0x18) ^ (checksum >> 3));
// }
// return checksum;
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_80320250.s")
extern s32 D_8036DDF0;
void func_803202D0(void) {
s32 addr = (s32) &D_803831D0.unk0;
addr ^= 0x7EDDF5F4;
addr ^= 0x7BEF9D80;
addr ^= 0x5326874;
*(s32*)(addr) = func_80320250();
}
s32 func_80320320(void) {
s32 addr = (s32) &D_803831D0.unk8[0];
s32 checksum = 0x281E421C;
s32 len = 25;
s32 scrambled;
u32 i;
// Scrambles the address of D_803831D8
scrambled = (addr >> 8) & 0xFF0000;
scrambled += (addr & 0xFF) << 8;
scrambled = addr ^ scrambled;
// Unscrambles the address of D_803831D8
addr = (scrambled & 0xFF000000) >> 8;
addr += (scrambled << 8) & 0xFF00;
addr ^= scrambled;
for (i = 0; i < len; i++) {
checksum += (1 + i) * ((u8*)addr)[i];
}
return checksum;
}
// regalloc
// void func_803203A0(void) {
// s32 addr = (s32) &D_803831D0.unk4;
// s32 scrambled;
// scrambled = (addr ^ 0x746DF219) & 0xFF; // scrambled = (low byte of addr) ^ 0x19
// scrambled += (addr >> 0x18) << 0x18; // scrambled = (high byte of addr | low byte of addr) ^ 0x19
// scrambled += ((addr >> 8) & 0xFFFF) << 8; // scrambled = addr ^ 0x19
// *(s32*)(scrambled ^ 0x19) = func_80320320();
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_803203A0.s")
s32 func_803203FC(s32 index) {
return func_803200A4(D_803831D0.unk8, index);
}
void func_80320424(s32 index, s32 numBits) {
func_803200E4(D_803831D0.unk8, index, numBits);
}
s32 func_80320454(s32 index, s32 arg1) {
s32 temp_v0;
temp_v0 = func_803203FC(index);
func_803204E4(index, arg1);
return temp_v0;
}
void func_8032048C(void) {
s32 i;
for (i = 0; i < 25; i++) {
D_803831D0.unk8[i] = 0;
}
func_803202D0();
func_803203A0();
}
void func_803204E4(s32 index, s32 set) {
func_8032015C(D_803831D0.unk8, index, set);
func_803202D0();
func_803203A0();
}
void func_80320524(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831D0.unk8, startIndex, set, length);
func_803202D0();
func_803203A0();
}
s32 func_8032056C(void) {
s32 temp_a0;
s32 temp_a1;
s32 temp_a1_2;
s32 phi_t9;
s32 addr = (s32)&D_803831D0;
s32 temp_v1;
temp_v1 = ((addr & 0xE0000000) >> 15) +
((addr & 0x1FC00000) >> 22) +
((addr & 0x00300000) << 10) +
((addr & 0x000F0000) << 7) +
((addr & 0x0000E000) << 14) +
((addr & 0x00001800) >> 4) +
((addr & 0x00000780) << 10) +
((addr & 0x00000060) << 4) +
((addr & 0x00000018) << 18) +
((addr & 0x00000007) << 11);
phi_t9 = (temp_v1 & 0x38000000) / (1 << 24);
temp_a0 = ((temp_v1 & 0x1E0600) << 0xB) | ((s32) (temp_v1 & 0x603800) / 8);
temp_a1 = (((temp_v1 & 0x1C07F) << 15) + ((temp_v1 & 0xC7800000) >> 17)) |
(phi_t9 + ((s32) (temp_v1 & 0x180) >> 6));
temp_a1 = ((temp_a1 & 0x3FE000) << 7) |
(((temp_a0 >> 8) & 7) + ((temp_a1 << 0xA) & 0xFF800)) |
((((u32) (temp_a0 & 0xF0000000) >> 0x15) + (temp_a1 & 0xE0000000)) ^ ((s32) ((temp_a0 / 0x40) & 0xF000) >> 9));
return func_80320250() == *(s32*)temp_a1;
}
s32 func_80320708(void) {
u16 temp_t6;
s32 addr;
temp_t6 = ((s32) &D_803831D0.unk4 >> 0x10);
addr = (s32) &D_803831D0.unk4 ^ temp_t6;
return func_80320320() == *(s32*)(addr ^ temp_t6);
}
extern u8 D_803831F8[];
// regalloc
// void func_80320748(void) {
// s32 *addr = &D_8036DDF0;
// s32 phi_v0;
// for (phi_v0 = 0; phi_v0 < *addr; phi_v0++) {
// *(D_803831F8 + phi_v0) = *((u8*)&D_803831D0 + phi_v0);
// }
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_80320748.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_94A20/func_80320798.s")

297
src/core2/code_98CB0.c Normal file
View File

@ -0,0 +1,297 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
s32 func_8031FF1C(s32);
void func_8031FFAC(void);
void func_80320004(s32 index, s32 set);
s32 func_803200A4(u8 *array, s32 index);
s32 func_803200E4(u8 *array, s32 offset, s32 numBits);
void func_8032015C(u8 *array, s32 index, s32 set);
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length);
void func_8032048C(void);
void func_803204E4(s32 arg0, s32 arg1);
s32 func_8031FF44(s32 offset, s32 numBits);
void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2);
void ml_vec3h_to_vec3f(f32 *, s32);
void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *);
struct unkfunc_80304ED0 *func_80304ED0(void*, f32 *);
void func_8031CD44(s32, s32, f32, f32, s32);
void func_80256E24(f32 *, f32, f32, f32, f32, f32);
/* .data */
extern s32 D_8036DDF0;
/* .bss */
struct {
s32 unk0;
s32 unk4;
u8 unk8[0x25];
} D_803831A0;
struct {
s32 unk0;
s32 unk4;
u8 unk8[0x19];
} D_803831D0;
u8 D_803831F8[0x21]; //copy of D_803831D0
/* .code */
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_98CB0/func_8031FC40.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_98CB0/func_8031FE40.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_98CB0/func_8031FEC0.s")
s32 func_8031FF1C(s32 index) {
return func_803200A4(D_803831A0.unk8, index);
}
s32 func_8031FF44(s32 offset, s32 numBits) {
return func_803200E4(D_803831A0.unk8, offset, numBits);
}
s32 func_8031FF74(s32 index, s32 set) {
s32 ret;
ret = func_8031FF1C(index);
func_80320004(index, set);
return ret;
}
void func_8031FFAC(void) {
s32 i;
for (i = 0; i < 37; i++) {
D_803831A0.unk8[i] = 0;
}
func_8031FC40();
func_8031FEC0();
}
void func_80320004(s32 index, s32 set) {
func_8032015C(D_803831A0.unk8, index, set);
func_8031FC40();
func_8031FEC0();
}
void func_80320044(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831A0.unk8, startIndex, set, length);
func_8031FC40();
func_8031FEC0();
}
void func_8032008C(s32 *arg0, u8 **arg1) {
*arg0 = 0x25;
*arg1 = D_803831A0.unk8;
}
// Returns a single bit from a byte array
s32 func_803200A4(u8 *array, s32 index) {
s32 ret;
if (array[index / 8] & (1 << (index & 7))) {
ret = 1;
} else {
ret = 0;
}
return ret;
}
// Extracts an integer of the given number of bits from a byte array at the starting bit offset
s32 func_803200E4(u8 *array, s32 offset, s32 numBits) {
s32 ret = 0;
s32 i;
for (i = 0; i < numBits; i++) {
ret |= (func_803200A4(array, offset + i) << i);
}
return ret;
}
// Sets or clears a single bit in a byte array
void func_8032015C(u8 *array, s32 index, s32 set) {
if (set) {
array[index / 8] |= (1 << (index & 7));
} else {
array[index / 8] &= ~(1 << (index & 7));
}
}
// Sets or clears a range of bits in a byte array
void func_803201C8(u8 *array, s32 startIndex, s32 set, s32 length) {
s32 i;
for (i = 0; i < length; i++) {
func_8032015C(array, startIndex + i, (1 << i) & set);
}
}
s32 func_80320240(void){return 1;}
s32 func_80320248(void){return 1;}
// regalloc
// s32 func_80320250(void) {
// s32 addr = (s32) &D_803831D0.unk8[0];
// u32 checksum = 0x6CE9E91F;
// s32 len = 25;
// s32 scrambled;
// u32 i;
// // Scrambles the input address
// scrambled = (addr ^ 0x746DF219) & 0xFF; // scrambled = (low byte of addr) ^ 0x19
// scrambled += (addr >> 0x18) << 0x18; // scrambled = (high byte of addr | low byte of addr) ^ 0x19
// scrambled += ((addr >> 8) & 0xFFFF) << 8; // scrambled = addr ^ 0x19
// // Unscrambles the input address
// for (i = 0; i < len; i++) {
// s32 val = ((u8*)(scrambled ^ 0x19))[i];
// checksum = val ^ (((checksum + val & 0xF) << 0x18) ^ (checksum >> 3));
// }
// return checksum;
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_98CB0/func_80320250.s")
void func_803202D0(void) {
s32 addr = (s32) &D_803831D0.unk0;
addr ^= 0x7EDDF5F4;
addr ^= 0x7BEF9D80;
addr ^= 0x5326874;
*(s32*)(addr) = func_80320250();
}
s32 func_80320320(void) {
s32 addr = (s32) &D_803831D0.unk8[0];
s32 checksum = 0x281E421C;
s32 len = 25;
s32 scrambled;
u32 i;
// Scrambles the address of D_803831D8
scrambled = (addr >> 8) & 0xFF0000;
scrambled += (addr & 0xFF) << 8;
scrambled = addr ^ scrambled;
// Unscrambles the address of D_803831D8
addr = (scrambled & 0xFF000000) >> 8;
addr += (scrambled << 8) & 0xFF00;
addr ^= scrambled;
for (i = 0; i < len; i++) {
checksum += (1 + i) * ((u8*)addr)[i];
}
return checksum;
}
// regalloc
// void func_803203A0(void) {
// s32 addr = (s32) &D_803831D0.unk4;
// s32 scrambled;
// scrambled = (addr ^ 0x746DF219) & 0xFF; // scrambled = (low byte of addr) ^ 0x19
// scrambled += (addr >> 0x18) << 0x18; // scrambled = (high byte of addr | low byte of addr) ^ 0x19
// scrambled += ((addr >> 8) & 0xFFFF) << 8; // scrambled = addr ^ 0x19
// *(s32*)(scrambled ^ 0x19) = func_80320320();
// }
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_98CB0/func_803203A0.s")
s32 func_803203FC(s32 index) {
return func_803200A4(D_803831D0.unk8, index);
}
void func_80320424(s32 index, s32 numBits) {
func_803200E4(D_803831D0.unk8, index, numBits);
}
s32 func_80320454(s32 index, s32 arg1) {
s32 temp_v0;
temp_v0 = func_803203FC(index);
func_803204E4(index, arg1);
return temp_v0;
}
void func_8032048C(void) {
s32 i;
for (i = 0; i < 25; i++) {
D_803831D0.unk8[i] = 0;
}
func_803202D0();
func_803203A0();
}
void func_803204E4(s32 index, s32 set) {
func_8032015C(D_803831D0.unk8, index, set);
func_803202D0();
func_803203A0();
}
void func_80320524(s32 startIndex, s32 set, s32 length) {
func_803201C8(D_803831D0.unk8, startIndex, set, length);
func_803202D0();
func_803203A0();
}
s32 func_8032056C(void) {
s32 temp_a0;
s32 temp_a1;
s32 temp_a1_2;
s32 phi_t9;
s32 addr = (s32)&D_803831D0;
s32 temp_v1;
temp_v1 = ((addr & 0xE0000000) >> 15) +
((addr & 0x1FC00000) >> 22) +
((addr & 0x00300000) << 10) +
((addr & 0x000F0000) << 7) +
((addr & 0x0000E000) << 14) +
((addr & 0x00001800) >> 4) +
((addr & 0x00000780) << 10) +
((addr & 0x00000060) << 4) +
((addr & 0x00000018) << 18) +
((addr & 0x00000007) << 11);
phi_t9 = (temp_v1 & 0x38000000) / (1 << 24);
temp_a0 = ((temp_v1 & 0x1E0600) << 0xB) | ((s32) (temp_v1 & 0x603800) / 8);
temp_a1 = (((temp_v1 & 0x1C07F) << 15) + ((temp_v1 & 0xC7800000) >> 17)) |
(phi_t9 + ((s32) (temp_v1 & 0x180) >> 6));
temp_a1 = ((temp_a1 & 0x3FE000) << 7) |
(((temp_a0 >> 8) & 7) + ((temp_a1 << 0xA) & 0xFF800)) |
((((u32) (temp_a0 & 0xF0000000) >> 0x15) + (temp_a1 & 0xE0000000)) ^ ((s32) ((temp_a0 / 0x40) & 0xF000) >> 9));
return func_80320250() == *(s32*)temp_a1;
}
s32 func_80320708(void) {
u16 temp_t6;
s32 addr;
temp_t6 = ((s32) &D_803831D0.unk4 >> 0x10);
addr = (s32) &D_803831D0.unk4 ^ temp_t6;
return func_80320320() == *(s32*)(addr ^ temp_t6);
}
void func_80320748(void) {
s32 var_v0;
u8 *var_a0;
u8 *var_a1;
var_a1 = &D_803831D0;
var_a0 = D_803831F8;
for(var_v0 = 0; var_v0 < D_8036DDF0; var_v0++){
var_a0[var_v0] = var_a1[var_v0];
}
}
void func_80320798(void) {
s32 var_v0;
u8 *var_a0;
u8 *var_a1;
var_a1 = D_803831F8;
var_a0 = &D_803831D0;
for(var_v0 = 0; var_v0 < D_8036DDF0; var_v0++){
var_a0[var_v0] = var_a1[var_v0];
}
}

View File

@ -5,7 +5,7 @@
#define CORE2_99860_ARRAY_SIZE 0x33
/* .bss */
extern u8* D_80383220;
u8* D_80383220;
/* .code */
bool func_803207F0(s32 index){

View File

@ -17,12 +17,14 @@ typedef struct {
Method_Core2_999A0_3 unkC;
} Struct_core2_999A0_0;
/* .bss */
struct {
Struct_core2_999A0_0 unk0[0x8];
Struct_core2_999A0_0 *unk80;
void *unk84;
}D_80383230;
/* .public */
Struct66s *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3);
void func_80320B44(Method_Core2_999A0_0 arg0, Method_Core2_999A0_1 arg1, Method_Core2_999A0_2 arg2, Method_Core2_999A0_3 arg3);

View File

@ -9,7 +9,7 @@ void honeycombscore_debug(void);
void honeycombscore_clear(void);
/* .bss */
extern u8 sHoneycombScore[3];
u8 sHoneycombScore[3];
/* .code */
void func_803212B0(void){

View File

@ -8,7 +8,7 @@
void mumboscore_debug(void);
void mumboscore_clear(void);
extern u8 sMumboTokenScore[MUMBOSCORE_SIZE];
u8 sMumboTokenScore[MUMBOSCORE_SIZE];
void func_80321510(void){
mumboscore_debug();

View File

@ -9,11 +9,13 @@ typedef struct {
u8 unk1;
} struct_9A740;
extern struct {
/* .bss */
struct {
u8 unk0;
u8 unk1;
}D_80383300;
/* .code */
void func_803216D0(enum map_e map){
s32 prev_lvl = D_80383300.unk1;
D_80383300.unk1 = map_getLevel(map);

View File

@ -5,8 +5,8 @@
void func_803219F4(s32 arg0);
/* .bss */
extern u8 D_80383310;
extern s32 D_80383314;
u8 D_80383310;
s32 D_80383314;
/* .code */
s32 func_80321960(void){

View File

@ -24,8 +24,8 @@ extern Struct_core2_9B180_0 D_8036DE00[6];
extern u8 D_8036DE78;
/* .bss */
extern u8 D_80383330;
extern f32 D_80383334;
u8 D_80383330;
f32 D_80383334;
/* .code */
void func_80322110(Struct_core2_9B180_0 *arg0) {

View File

@ -31,12 +31,13 @@ extern Struct_Core2_9B650_1s D_8036DE80[] = {
{0}
};
extern struct {
/* .bss */
struct {
s16 unk0;
s16 unk2;
s16 unk4;
} D_80383340;
extern int D_80383348;
int D_80383348;
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_9B650/func_803225E0.s")

View File

@ -121,7 +121,7 @@ level_overlay_update_struct D_8036E2F8[] = {
};
/* .bss */
extern struct {
struct {
u8 unk0;
u8 unk1;
u8 pad2[2];

View File

@ -2,7 +2,8 @@
#include "functions.h"
#include "variables.h"
extern u8 D_80383370;
/* .bss */
u8 D_80383370;
/* .code */
void func_80323100(void){

View File

@ -71,9 +71,9 @@ extern f64 D_80378E60;
extern f64 D_80378E68;
/* .bss */
extern Actor *D_80383390;
extern s32 D_80383394;
extern Actor *D_80383398[]; //array of jiggy actor ptrs
Actor *D_80383390;
s32 D_80383394;
Actor *D_80383398[14]; //array of jiggy actor ptrs
//marker_getActorAndRotation

File diff suppressed because it is too large Load Diff

1621
src/core2/code_A5BC0.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -29,10 +29,10 @@ extern u8 D_8036E830;
extern Struct_core2_ABC00_0 D_8036E834[];
/* .bss */
extern s32 D_80383560;
extern s32 D_80383564;
extern s32 D_80383568;
extern s32 D_8038356C;
s32 D_80383560;
s32 D_80383564;
s32 D_80383568;
s32 D_8038356C;
/* .code */
void func_80332B90(void){

View File

@ -20,9 +20,11 @@ typedef struct struct_22_s{
u8 pad35[0x3];
} Struct_core2_AC520_0;//size 0x38
/* .data */
extern s32 D_8036F970[3];
extern struct {
/* .bss */
struct {
vector(Struct_core2_AC520_0) *unk0;
Struct_core2_AC520_0 *unk4[0x10];
Struct_core2_AC520_0 **unk44;

View File

@ -2,21 +2,26 @@
#include "functions.h"
#include "variables.h"
/* .data */
extern u8 D_80370250;
extern struct {
/* .bss */
struct {
s32 unk0;
s32 map_4;
s32 unk8;
}D_803835D0;
extern s32 D_803835DC;
extern u32 D_803835E0;
s32 D_803835DC;
u32 D_803835E0;
/* public */
void func_80335110(s32);
void func_80335128(s32);
void func_8024CE60(f32, f32);
void func_80335140(enum map_e);
void func_8033520C(s32);
/* .code */
void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) {
f32 sp44;
f32 sp40;

View File

@ -5,16 +5,17 @@
extern ALBank *func_8024F758(void);
extern struct {
extern u8 D_D846C0;
extern u8 D_D954B0;
struct {
s32 unk0; //sound state cnt
s32 unk4;
s32 unk8; //maxSounds
ALHeap *unkC; //heap
s16 unk10;
} D_803835F0;
extern ALBank * D_80383604;
extern u8 D_D846C0;
extern u8 D_D954B0;
ALBank * D_80383604;
/* .code */
void func_80335220(void){

View File

@ -4,11 +4,13 @@
extern u8 D_80370338[];
extern u32 D_80383634;
extern u32 D_80383638;
extern s32 D_8038363C;
extern s32 D_80383640;
extern s32 D_80383644;
/* .bss */
u8 pad_80383610[0x24];
u32 D_80383634;
u32 D_80383638;
s32 D_8038363C;
s32 D_80383640;
s32 D_80383644;
/* .code */
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_AEDA0/func_80335D30.s")

View File

@ -378,63 +378,61 @@ extern f32 D_80378F48;
extern f32 D_80378F4C;
/* .bss */
extern s32 D_80383650;
extern s32 D_80383658[0x2A];
extern s32 D_80383700;
extern bool D_80383704;
extern f32 D_80383708;
extern f32 D_8038370C;
extern s32 D_80383710;
extern s32 D_80383714;
extern BKGfxList *D_80383718;
extern struct58s *D_8038371C;
extern BKTextureList *D_80383720;
extern s32 D_80383724;
extern BKVertexList *D_80383728;
extern s32 D_8038372C;
extern struct58s *D_80383730;
extern f32 D_80383734;
extern Struct_Core2_B1400_0 D_80383738;
extern s32 D_80383754;
extern Struct_Core2_B1400_2 D_80383758;
extern s32 D_80383770;
extern f32 D_80383774[3];
extern f32 D_80383780[3];
extern struct{
s32 D_80383650;
s32 D_80383658[0x2A];
s32 D_80383700;
bool D_80383704;
f32 D_80383708;
f32 D_8038370C;
s32 D_80383710;
s32 D_80383714;
BKGfxList *D_80383718;
struct58s *D_8038371C;
BKTextureList *D_80383720;
s32 D_80383724;
BKVertexList *D_80383728;
s32 D_8038372C;
struct58s *D_80383730;
f32 D_80383734;
Struct_Core2_B1400_0 D_80383738;
Struct_Core2_B1400_2 D_80383758;
struct{
void (* unk0)(Actor *);
Actor *unk4;
void (* unk8)(ActorMarker *);
ActorMarker *unkC;
} D_80383790;
extern Struct_Core2_B1400_0 D_803837A0;
extern struct {
s32 D_803837A0[4];
struct {
s32 unk0;
f32 unk4[3];
}D_803837B0;
extern u8 D_803837C0;
extern struct {
u8 D_803837C0;
struct {
s32 unk0; //model_asset_index
f32 unk4;
f32 unk8;
u8 padC[0x4]
} D_803837C8;
extern s32 D_803837D8;
extern struct {
s32 D_803837D8;
struct {
LookAt unk0[32];
LookAt *unk400;
LookAt *unk404;
f32 unk408[3];
} D_803837E0;
extern Mtx D_80383BF8;
extern f32 D_80383C38[3];
extern f32 D_80383C48[3];
extern BKModelBin *D_80383C54;
extern f32 D_80383C58[3];
extern f32 D_80383C64;
extern f32 D_80383C68[3];
extern f32 D_80383C78[3];
extern f32 D_80383C88[3];
extern f32 D_80383C98[3];
Mtx D_80383BF8;
f32 D_80383C38[3];
f32 D_80383C48[3];
BKModelBin *D_80383C54;
f32 D_80383C58[3];
f32 D_80383C64;
f32 D_80383C68[3];
f32 D_80383C78[3];
f32 D_80383C88[3];
f32 D_80383C98[3];
/* .code */
void func_80338390(void){
D_80383700 = 0;
D_80383708 = D_80378F40;
@ -456,9 +454,9 @@ void func_80338390(void){
D_803837D8 = 0;
func_8033A45C(1,1);
func_8033A45C(2,0);
if(D_80383770){
func_8024CD88(D_80383774);
func_8024CE18(D_80383780);
if(D_80383758.unk18){
func_8024CD88(D_80383758.unk1C);
func_8024CE18(D_80383758.unk28);
func_8024CFD4();
}
}
@ -898,7 +896,7 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
D_80383738.prim[3] = (D_80383738.prim[3] * alpha) / 0xff;
}
else if(D_80383714 == 1){//L803396DC
D_803837A0.env[3] = (D_803837A0.env[3] * alpha)/0xff;
D_803837A0[3] = (D_803837A0[3] * alpha)/0xff;
}
else if(D_80383714 == 2){//L80339710
func_8033A410(alpha);
@ -956,8 +954,8 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
}
else if(D_80383714 == 1){//L80339AC0
gSPDisplayList((*gfx)++, D_80370368);
gDPSetEnvColor((*gfx)++, D_803837A0.env[0], D_803837A0.env[1], D_803837A0.env[2], D_803837A0.env[3]);
if(D_803837A0.env[3] == 0xFF){
gDPSetEnvColor((*gfx)++, D_803837A0[0], D_803837A0[1], D_803837A0[2], D_803837A0[3]);
if(D_803837A0[3] == 0xFF){
gSPSegment((*gfx)++, 0x03, osVirtualToPhysical(spDC));
}
else{
@ -1012,8 +1010,8 @@ int func_803391A4(Gfx **gfx, Mtx **mtx, f32 position[3], f32 arg3[3], f32 scale,
}//L80339EAC
mlMtxIdent();
if(D_80383770){
func_80252AF0(&D_80383774, spE0, arg3, scale, arg5);
if(D_80383758.unk18){
func_80252AF0(D_80383758.unk1C, spE0, arg3, scale, arg5);
}
else{
func_80252AF0(D_80383C38, spE0, arg3, scale, arg5);
@ -1130,7 +1128,7 @@ void func_8033A17C(void){
void func_8033A1A4(void){
func_80338390();
D_80383770 = 0;
D_80383758.unk18 = 0;
D_803837E0.unk400 = &D_803837E0.unk0[0];
D_803837E0.unk404 = D_803837E0.unk400 + 32;
D_803837E0.unk408[0] = D_803837E0.unk408[1] = D_803837E0.unk408[2] = 0.0f;
@ -1216,10 +1214,10 @@ void func_8033A334(s32 env[4], s32 prim[4]){
void func_8033A388(s32 r, s32 g, s32 b, s32 a){
D_80383714 = 1;
D_803837A0.env[0] = MIN(0xFF, r);
D_803837A0.env[1] = MIN(0xFF, g);
D_803837A0.env[2] = MIN(0xFF, b);
D_803837A0.env[3] = MIN(0xFF, a);
D_803837A0[0] = MIN(0xFF, r);
D_803837A0[1] = MIN(0xFF, g);
D_803837A0[2] = MIN(0xFF, b);
D_803837A0[3] = MIN(0xFF, a);
}
void func_8033A410(s32 a){

View File

@ -15,17 +15,20 @@ extern s32 D_80370A10;
extern f32 D_80378F50;
extern s32 D_80383CB0;
extern AssetROMHead *D_80383CC0;
extern AssetFileMeta *D_80383CC4;
extern u32 D_80383CC8;
extern s32 D_80383CCC; //asset_data_rom_offset
extern void** D_80383CD0; //assetCache_ptrs;
extern BKSpriteDisplayData **D_80383CD4;
extern u8* assetCache_depCount; //assetCache_dependencies;
extern s16 *D_80383CDC; //assetCache_indexs
/* .bss */
s32 D_80383CB0;
u8 pad_80383CB8[0x8];
AssetROMHead *D_80383CC0;
AssetFileMeta *D_80383CC4;
u32 D_80383CC8;
s32 D_80383CCC; //asset_data_rom_offset
void** D_80383CD0; //assetCache_ptrs;
BKSpriteDisplayData **D_80383CD4;
u8* assetCache_depCount; //assetCache_dependencies;
s16 *D_80383CDC; //assetCache_indexs
vector(struct21s) *D_80383CE0[2];
extern vector(struct21s) *D_80383CE0[2];
/* .public */
s32 assetcache_release(void * arg0);
f32 func_8033ABA0(AnimationFile *anim_file, f32 arg1);

View File

@ -12,19 +12,21 @@ typedef struct {
void savedata_clear(u8 *savedata);
s32 savedata_verify(s32 arg0, SaveData *savedata);
/* .data */
extern Struct_B5040 D_80370A20[];
extern s32 D_80383CF0;
extern s32 D_80383CF4; //jiggy_offset
extern s32 D_80383CF8; //honeycomb_offset
extern s32 D_80383CFC; //mumbotoken_offset
extern s32 D_80383D00; //notescores_offset
extern s32 D_80383D04; //timescores_offset
extern s32 D_80383D08; //savedata_jiggy_offset
extern s32 D_80383D0C; //saved_item_offset
extern s32 D_80383D10; //abilities_offset
extern s32 D_80383D14; //end_offset
extern u8 D_80383D18;
/* .bss */
s32 D_80383CF0;
s32 D_80383CF4; //jiggy_offset
s32 D_80383CF8; //honeycomb_offset
s32 D_80383CFC; //mumbotoken_offset
s32 D_80383D00; //notescores_offset
s32 D_80383D04; //timescores_offset
s32 D_80383D08; //savedata_jiggy_offset
s32 D_80383D0C; //saved_item_offset
s32 D_80383D10; //abilities_offset
s32 D_80383D14; //end_offset
u8 D_80383D18;
/* .code */
void savedata_update_crc(s32 buffer, s32 size){

View File

@ -4,9 +4,10 @@
#include "save.h"
extern SaveData D_80383D20[4]; //save_data
extern s8 D_80383F00[4]; //gamenum to filenum
extern s32 D_80383F04;
/* .bss */
SaveData D_80383D20[4]; //save_data
s8 D_80383F00[4]; //gamenum to filenum
s32 D_80383F04;
/* .code */
int func_8033CD90(s32 filenum){

View File

@ -13,12 +13,14 @@ typedef struct{
s32 unk4;
} Struct_core2_B62B0_1;
/* .data */
extern Struct_core2_B62B0_0 D_80370AC0[];
extern Struct_core2_B62B0_1 D_80371DC0[];
extern s16 D_80383F10[];
/* .bss */
s16 D_80383F10[0x2A9];
/* .code */
s32 func_8033D240(ActorMarker *arg0, ActorMarker *arg1){
if(arg0){
if(!arg0->unk14_20 && player_getActiveHitbox(arg1) == HITBOX_6_WONDERWING)

View File

@ -6,7 +6,7 @@
extern f64 D_80378F80;
/* .bss */
extern s32 D_80384470;
s32 D_80384470;
/* .code */
f32 func_8033DBF0(void){

View File

@ -6,8 +6,8 @@
f32 D_80371E20 = 1.0f;
/* .bss */
extern f32 D_80384480;
extern s32 D_80384484;
f32 D_80384480;
s32 D_80384484;
/* .code */
void func_8033DC70(void){

View File

@ -84,13 +84,13 @@ Struct_Core2_B6CE0_1 D_80371E30[] ={
};
/* .bss */
extern ParticleStruct0s D_80384490[];
extern s32 D_80384FD0;
extern struct {
ParticleStruct0s D_80384490[40];
s32 D_80384FD0;
struct {
s32 unk0;
s32 unk4;
} D_80384FD8;
extern u8 D_80384FE0;
u8 D_80384FE0;
/* .code */
f32 func_8033DE30(s32 arg0){

View File

@ -2,5 +2,8 @@
#include "functions.h"
#include "variables.h"
/* .bss */
UNK_TYPE(void *)D_80384FF0;
/* .code */
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B8020/func_8033EFB0.s")

View File

@ -27,7 +27,7 @@ f32 func_8033FE9C(u8 arg0);
void func_8033FB64(u8 arg0);
/* .bss */
extern Struct_B8860_0s D_80385000[];
Struct_B8860_0s D_80385000[0x32];
/* .code */
void func_8033F7F0(u8 arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx){

View File

@ -14,7 +14,8 @@ extern void **D_80371E74;
extern s32 D_80371E78;
extern s32 D_80371E7C;
extern s16 *D_803858A0;
/* .bss */
s16 *D_803858A0;
f32 func_80340700(f32, f32, f32);

View File

@ -4,6 +4,17 @@
void func_80336924(Gfx*, Vtx*, BKSprite *, s32, s32);
extern f32 D_80379080;
extern f32 D_80379084;
extern struct {
void (*unk0)(void *);
void *unk4;
}D_80371EC0;
extern f32 D_80371ECC;
/* .bss */
u8 D_803858B0;
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BD100/func_80344090.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BD100/func_80344124.s")
@ -11,14 +22,7 @@ void func_80336924(Gfx*, Vtx*, BKSprite *, s32, s32);
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BD100/func_80344138.s")
#else
extern f32 D_80379080;
extern f32 D_80379084;
extern struct {
void (*unk0)(void *);
void *unk4;
}D_80371EC0;
extern f32 D_80371ECC;
extern u8 D_803858B0;
extern void func_80252330(f32, f32, f32);

View File

@ -20,7 +20,7 @@ typedef struct struct_core2_bd100_0_s{
void func_80344D70(u8 index);
/* .bss */
Struct_Core2_BD100_0 D_803858C0[42];
Struct_Core2_BD100_0 D_803858C0[41];
/* .code */
void func_80344C50(void){

View File

@ -11,18 +11,19 @@ void itemscore_noteScores_clear(void);
s32 itemscore_noteScores_get(enum level_e lvl_id);
void itemscore_timeScores_clear(void);
/* .bss */
s32 D_80385F30[0x2C];
extern s32 D_80385FE0;
extern s32 D_80385FE4;
extern s32 D_80385FE8;
extern f32 D_80385FEC;
s32 D_80385FE0;
s32 D_80385FE4;
s32 D_80385FE8;
f32 D_80385FEC;
u8 D_80385FF0[0xB];
f32 D_80386000[0xE]; //timescores
extern s32 D_80386038;
extern u64 D_80386040;
extern u16 D_80386048[]; //timescores_truncated
extern u8 D_80386060[]; //saved item array
extern s32 D_80386068;
s32 D_80386038;
u64 D_80386040;
u16 D_80386048[0xB]; //timescores_truncated
u8 D_80386060[5]; //saved item array
s32 D_80386068;
void func_80345EB0(enum item_e item){
if(func_802FAFE8(item)){

View File

@ -54,24 +54,24 @@ void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile,
extern f64 D_80379140;
/* .bss */
extern s32 D_80386070;
extern s32 D_80386074;
extern s32 D_80386078;
extern s32 D_8038607C;
extern s32 D_80386080;
extern s32 D_80386084;
extern s32 D_80386088;
extern s32 D_8038608C;
extern s32 D_80386090;
extern s32 D_80386094;
extern s32 D_80386098;
extern s32 D_8038609C;
extern s32 D_803860A0;
extern s32 D_803860A4;
extern s32 D_803860A8;
extern s32 D_803860AC;
extern s32 D_803860B0;
extern s32 D_803860B4;
s32 D_80386070;
s32 D_80386074;
s32 D_80386078;
s32 D_8038607C;
s32 D_80386080;
s32 D_80386084;
s32 D_80386088;
s32 D_8038608C;
s32 D_80386090;
s32 D_80386094;
s32 D_80386098;
s32 D_8038609C;
s32 D_803860A0;
s32 D_803860A4;
s32 D_803860A8;
s32 D_803860AC;
s32 D_803860B0;
s32 D_803860B4;
/* .code */
void func_80347DF0(Struct81s *arg0){

View File

@ -27,11 +27,11 @@ void demo_free(void);
extern DemoInput D_80371EF0;
extern DemoInput *D_803860D0; //demo_input_ptr
extern DemoFileHeader * D_803860D4; //demo_file_ptr
extern s32 D_803860D8;//current_input
extern s32 D_803860DC;//total_inputs
/* .bss */
DemoInput *D_803860D0; //demo_input_ptr
DemoFileHeader * D_803860D4; //demo_file_ptr
s32 D_803860D8;//current_input
s32 D_803860DC;//total_inputs
/* .code */
s32 func_80349EC0(s32 arg0){

View File

@ -58,13 +58,13 @@ extern u16 D_80371FA0[] = { 3, 4, 5, 6, 7, 8, 9, 0xA, 0xB, 0xC };
//EB030:
/* .bss */
extern s32 D_80386110; //current attract demo index
extern Struct_core2_C4320_0 *D_80386114; //current attract demo ptr
extern s32 D_80386118;
extern s32 D_8038611C;
extern bool D_80386120;
extern s32 D_80386124;
extern f32 D_80386128;
s32 D_80386110; //current attract demo index
Struct_core2_C4320_0 *D_80386114; //current attract demo ptr
s32 D_80386118;
s32 D_8038611C;
bool D_80386120;
s32 D_80386124;
f32 D_80386128;
/* .code */
void func_8034B2B0(s32 arg0) {

View File

@ -48,7 +48,7 @@ Struct_core2_C4F40_1 D_80371FC0[] = {
};
/* .bss */
extern vector(Struct6Es) *D_80386130;
vector(Struct6Es) *D_80386130;
/* .code */
Struct6Es *func_8034BED0(ActorMarker *marker, s32 arg1, s32 arg2, s32 arg3) {

View File

@ -44,11 +44,13 @@ struct1Es D_80372030[] = {
{func_8034F570, func_8034F5B0, func_8034F568}, //lightning?
};
extern struct {
/* .bss */
struct {
u8 unk0;
vector(struct1Ds) *unk4;
} D_80386140;
/* .public */
void func_8034C9B0(int arg0);
//.code

View File

@ -46,7 +46,7 @@ extern f32 D_8037932C;
extern f32 D_80379330;
/* .bss */
extern struct {
struct {
void *unk0; //2D_fish_bin
void *unk4; //green_ball_bin
Struct_core2_C89C0_1 *unk8;

View File

@ -31,12 +31,12 @@ extern Struct_core2_C97F0_0 D_803724F4[];
extern s32 D_803725A8[4];
/* .bss */
extern struct{
struct{
Struct_core2_C97F0_1 *unk0;
Struct_core2_C97F0_0 *unk4;
void *unk8;
} D_80386170;
extern struct {
struct {
u8 unk0;
u8 unk1;
}D_8038617C;

View File

@ -56,7 +56,7 @@ extern f64 D_80379370;
extern f64 D_80379378;
/* .bss */
extern struct {
struct {
Struct68s *unk0;
Struct6Cs unk4;
f32 unk14[3];
@ -64,7 +64,7 @@ extern struct {
Struct68s *unk2C;
}D_80386180;
extern struct {
struct {
s32 unk0;
Struct68s *unk4; //start
Struct68s *unk8; //end

View File

@ -14,7 +14,7 @@ typedef struct{
void commonParticleType_set(enum common_particle_e arg0, GenMethod_0 init_method, s32 update_method, GenMethod_0 free_method, s32 arg4, s32 arg5);
/* .bss */
extern CommonParticleType D_80386260[];
CommonParticleType D_80386260[0x12];
/* .code */

View File

@ -4,7 +4,7 @@
#include "code_B6EA0.h"
extern struct{
struct{
s32 unk0;
s32 unk4;
} D_803863D0;

View File

@ -357,8 +357,6 @@ void func_803553E8(void) {
void func_80355548(void){}
//matching but require .bss defined
#ifdef NON_MATCHING
void func_80355550(void) {
static s32 D_803863E0;
u8 sp3F;
@ -400,9 +398,6 @@ void func_80355550(void) {
sp30->unk20 = 0x14;
func_80354670(sp3F, 0x14);
}
#else
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_CD6E0/func_80355550.s")
#endif
void func_8035570C(void) {
ParticleStruct0s* temp_s0;
@ -441,9 +436,6 @@ void func_8035570C(void) {
void func_8035585C(void){}
#ifndef NONMATCHING //matching but require .bss defined
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_CD6E0/func_80355864.s")
#else
void func_80355864(void) {
u8 sp5F;
struct54s *sp58;
@ -491,7 +483,6 @@ void func_80355864(void) {
sp48->unk28 = 1;
func_80354670(sp5F, 0x14);
}
#endif;
void func_80355B00(void) {
ParticleStruct0s *sp44;

View File

@ -7,11 +7,13 @@ void jiggyscore_debug(void);
void jiggyscore_clearAll(void);
void jiggyscore_setSpawned(s32, s32);
extern struct {
/* .bss */
struct {
u8 D_803832C0[0xD];
u8 D_803832CD[0xD];
}jiggyscore;
/* .code */
void jiggyscore_clearAll_debug(void){ //jiggyscore_clearAll
jiggyscore_debug();
jiggyscore_clearAll();

View File

@ -6,9 +6,9 @@ void levelSpecificFlags_set(arg0, arg1);
//levelSpecificFlags
extern u32 D_80383320;
extern u32 D_80383324;
extern u8 D_80383328[];
u32 D_80383320;
u32 D_80383324;
u8 D_80383328[8];
#pragma GLOBAL_ASM("asm/nonmatchings/core2/levelspecificflags/_levelSpecificFlags_calcCRC1.s")

View File

@ -3,19 +3,18 @@
#include "variables.h"
/* .bss */
extern s32 D_803860E0;
extern s32 D_803860E4;
extern s32 D_803860E8;
extern s32 D_803860EC;
extern s32 D_803860F0;
extern s32 D_803860F4;
extern s32 D_803860F8;
extern s32 D_803860FC;
extern s32 D_80386100;
extern s32 D_80386104;
extern s32 D_80386108;
extern s32 D_8038610C;
s32 D_803860E0;
s32 D_803860E4;
s32 D_803860E8;
s32 D_803860EC;
s32 D_803860F0;
s32 D_803860F4;
s32 D_803860F8;
s32 D_803860FC;
s32 D_80386100;
s32 D_80386104;
s32 D_80386108;
s32 D_8038610C;
/* .code */
f32 randf(void){

View File

@ -59,7 +59,7 @@ void func_80324BA0(s32);
void func_802BE720(void);
/* .bss */
extern TimedFunctionArray D_80383380;
TimedFunctionArray D_80383380;
/* .code */
TimedFunction* __timedFuncQueue_insert(f32 time, s32 cnt, void *funcPtr, s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4){

View File

@ -303,6 +303,7 @@ segments:
- [0x94620, c, code_94620] #DONE
- [0x94780, c, code_94780] #DONE
- [0x94A20, c, code_94A20]
- [0x98CB0, c, code_98CB0]
- [0x99860, c, code_99860] #DONE
- [0x999A0, c, code_999A0] #DONE
- [0x99F80, c, jiggyscore] #DONE
@ -320,6 +321,7 @@ segments:
- [0x9D860, c, timedfuncqueue] #DONE
- [0x9E370, c, code_9E370]
- [0xA4D00, c, code_A4D00]
- [0xA5BC0, c, code_A5BC0]
- [0xABC00, c, code_ABC00]
- [0xAC520, c, code_AC520]
- [0xAD110, c, code_AD110] #DONE
@ -384,7 +386,7 @@ segments:
- [0xCC1E0, c, code_CC1E0] #DONE
- [0xCD0A0, c, code_CD0A0] #DONE
- [0xCD3F0, c, code_CD3F0] #DONE
- [0xCD6E0, c, code_CD6E0]
- [0xCD6E0, c, code_CD6E0] #DONE
- [0xCECD0, c, code_CECD0] #DONE
- [0xCF090, c, code_CF090] #DONE
- [0xCF3E0, c, code_CF3E0] #DONE
@ -539,7 +541,7 @@ segments:
- [0xE7330, .data, code_9B990]
- [0xE7490, .data, code_9D640]
- [0xE75D0, bin, data_E75D0]
- [0xE7870, .data, code_A4D00]
- [0xE7870, .data, code_A5BC0]
- [0xE78A0, bin, data_E78A0]
- [0xE89F0, bin, data_E89F0] # .data, code_AD110]
- [0xE92C0, bin, data_E92C0]
@ -1017,5 +1019,56 @@ segments:
- [0xf2c00, .bss, code_93C10]
- [0xf2c00, .bss, code_94620]
- [0xf2c00, .bss, code_94780]
# - [0xf2c00, .bss, code_CD6E0] # D_803863E0
- [0xf2c00, .bss, code_94A20]
- [0xf2c00, .bss, code_98CB0]
- [0xf2c00, .bss, code_99860]
- [0xf2c00, .bss, code_999A0]
- [0xf2c00, .bss, jiggyscore]
- [0xf2c00, .bss, code_9A320]
- [0xf2c00, .bss, code_9A580]
- [0xf2c00, .bss, code_9A740]
- [0xf2c00, .bss, code_9A9D0]
- [0xf2c00, .bss, levelspecificflags]
- [0xf2c00, .bss, code_9B180]
- [0xf2c00, .bss, code_9B650]
- [0xf2c00, .bss, code_9B990]
- [0xf2c00, .bss, code_9C170]
- [0xf2c00, .bss, timedfuncqueue]
- [0xf2c00, .bss, code_9E370]
- [0xf2c00, .bss, code_A4D00]
- [0xf2c00, .bss, code_A5BC0]
- [0xf2c00, .bss, code_ABC00]
- [0xf2c00, .bss, code_AC520]
- [0xf2c00, .bss, code_AD110]
- [0xf2c00, .bss, code_AD5B0]
- [0xf2c00, .bss, code_AE290]
- [0xf2c00, .bss, code_AEDA0]
- [0xf2c00, .bss, code_B1400]
- [0xf2c00, .bss, code_B3A80]
- [0xf2c00, .bss, code_B5040]
- [0xf2c00, .bss, code_B5E00]
- [0xf2c00, .bss, code_B62B0]
- [0xf2c00, .bss, code_B6C60]
- [0xf2c00, .bss, code_B6CE0]
- [0xf2c00, .bss, code_B6EA0]
- [0xf2c00, .bss, code_B8020]
- [0xf2c00, .bss, code_B8860]
- [0xf2c00, .bss, code_B9770]
- [0xf2c00, .bss, code_BD100]
- [0xf2c00, .bss, code_BDCC0]
- [0xf2c00, .bss, code_BEF20]
- [0xf2c00, .bss, code_C0E60]
- [0xf2c00, .bss, code_C2C20]
- [0xf2c00, .bss, code_C2F30]
- [0xf2c00, .bss, rand]
- [0xf2c00, .bss, code_C4320]
- [0xf2c00, .bss, code_C4F40]
- [0xf2c00, .bss, code_C5440]
- [0xf2c00, .bss, code_C89C0]
- [0xf2c00, .bss, code_C97F0]
- [0xf2c00, .bss, code_C9F00]
- [0xf2c00, .bss, code_CB8A0]
- [0xf2c00, .bss, code_CBBF0]
- [0xf2c00, .bss, code_CD0A0]
- [0xf2c00, .bss, code_CD6E0]
- [0xf2c00] # core2 end