core2/code_CB050.c done
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
<text x="22.0" y="14">core2</text>
|
<text x="22.0" y="14">core2</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<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">75.5725%</text>
|
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">75.7777%</text>
|
||||||
<text x="77.5" y="14">75.5725%</text>
|
<text x="77.5" y="14">75.7777%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
@@ -17,7 +17,7 @@
|
|||||||
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
|
||||||
</g>
|
</g>
|
||||||
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
|
<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">80.7765%</text>
|
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">80.8942%</text>
|
||||||
<text x="183.5" y="14">80.7765%</text>
|
<text x="183.5" y="14">80.8942%</text>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -14,8 +14,10 @@ extern s32 D_80385FE0;
|
|||||||
extern s32 D_80385FE4;
|
extern s32 D_80385FE4;
|
||||||
extern s32 D_80385FE8;
|
extern s32 D_80385FE8;
|
||||||
extern f32 D_80385FEC;
|
extern f32 D_80385FEC;
|
||||||
extern u8 D_80385FF0[];
|
extern u8 D_80385FF0[];
|
||||||
extern f32 D_80386000[];
|
extern f32 D_80386000[];
|
||||||
|
extern s32 D_80386038;
|
||||||
|
extern s32 D_80386068;
|
||||||
|
|
||||||
void func_80345EB0(enum item_e item){
|
void func_80345EB0(enum item_e item){
|
||||||
if(func_802FAFE8(item)){
|
if(func_802FAFE8(item)){
|
||||||
@@ -386,7 +388,6 @@ s32 notescore_getLevelScore(enum level_e lvl_id){
|
|||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_8034722C.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_8034722C.s")
|
||||||
|
|
||||||
extern u8 D_80386060[]; //saved item array
|
extern u8 D_80386060[]; //saved item array
|
||||||
extern s32 D_80385F68;
|
|
||||||
|
|
||||||
//itemscore_getSavedItemArray
|
//itemscore_getSavedItemArray
|
||||||
void func_80347630(s32 *size, u8 **buffer){
|
void func_80347630(s32 *size, u8 **buffer){
|
||||||
@@ -405,56 +406,57 @@ void func_80347630(s32 *size, u8 **buffer){
|
|||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_8034789C.s")
|
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_8034789C.s")
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347958.s")
|
void func_80347958(void){
|
||||||
|
func_8034789C();
|
||||||
|
D_80385F30[ITEM_14_HEALTH] = D_80385F30[ITEM_15_HEALTH_TOTAL];
|
||||||
|
}
|
||||||
|
|
||||||
void func_80347984(void){}
|
void func_80347984(void){}
|
||||||
|
|
||||||
void func_8034798C(void){
|
void func_8034798C(void){
|
||||||
D_80385F68 = jiggyscore_leveltotal(level_get());
|
D_80385F30[ITEM_E_JIGGY] = jiggyscore_leveltotal(level_get());
|
||||||
func_802FA5D0();
|
func_802FA5D0();
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_803479C0.s")
|
//restore item counts from savestate
|
||||||
|
void func_803479C0(u8 *arg0){
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347A14.s")
|
D_80385F30[ITEM_1C_MUMBO_TOKEN] = D_80385F30[ITEM_25_MUMBO_TOKEN_TOTAL] = arg0[0];
|
||||||
|
D_80385F30[ITEM_D_EGGS] = arg0[1];
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347A4C.s")
|
D_80385F30[ITEM_F_RED_FEATHER] = arg0[2];
|
||||||
|
D_80385F30[ITEM_10_GOLD_FEATHER] = arg0[3];
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347A70.s")
|
D_80385F30[ITEM_26_JIGGY_TOTAL] = D_80385F30[ITEM_2B_UNKNOWN] = arg0[4];
|
||||||
|
func_802FA5D0();
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347A7C.s")
|
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_BEF20/func_80347AA8.s")
|
|
||||||
|
|
||||||
/// =============== BREAK?????
|
|
||||||
extern void func_80329904(ActorMarker *, s32, f32 *);
|
|
||||||
|
|
||||||
void func_80347B10(Struct81s *arg0){
|
|
||||||
Actor *actor;
|
|
||||||
actor = func_802C937C(0x10, arg0->position);
|
|
||||||
actor->unk54 = 3.0f;
|
|
||||||
func_803333DC(arg0, actor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347B54(Struct81s *arg0){
|
|
||||||
func_802C3C88((GenMethod_1)func_80347B10, reinterpret_cast(s32, arg0));
|
|
||||||
}
|
|
||||||
|
|
||||||
void func_80347B80(Struct81s *arg0) {
|
void func_80347A14(s32 arg0){
|
||||||
Actor *sp1C;
|
if(arg0){
|
||||||
Actor *temp_v0;
|
D_80386038--;
|
||||||
|
}
|
||||||
sp1C = marker_getActor(arg0->marker);
|
else{
|
||||||
if (sp1C->unk54 > 0.0) {
|
D_80386038++;
|
||||||
if (randf() < ((sp1C->unk54 / 3.0) * 2)) {
|
|
||||||
func_8033E73C(arg0->marker, 5, func_80329904);
|
|
||||||
func_8033E3F0(0xF, ((ActorMarker *)arg0->marker)->unk14_21);
|
|
||||||
// func_8033E3F0(0xF, arg0->marker->unk14_21);
|
|
||||||
}
|
|
||||||
sp1C->unk54 -= time_getDelta();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void func_80347C5C(Struct81s *arg0, Gfx **arg1, Mtx **arg2, Vtx **arg3){}
|
bool func_80347A4C(void){
|
||||||
|
return (D_80386038 != 0) ? FALSE : TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void func_80347C70(Struct81s *arg0){}
|
void func_80347A70(void){
|
||||||
|
D_80386038 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80347A7C(void){
|
||||||
|
func_80320748();
|
||||||
|
D_80386068 = item_getCount(ITEM_16_LIFE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80347AA8(void) {
|
||||||
|
func_80320798();
|
||||||
|
func_803204E4(0x1F, FALSE);
|
||||||
|
func_803204E4(0x20, FALSE);
|
||||||
|
func_803204E4(0xC1, FALSE);
|
||||||
|
func_803204E4(0xC0, FALSE);
|
||||||
|
item_set(ITEM_16_LIFE, D_80386068);
|
||||||
|
func_802FA5D0();
|
||||||
|
}
|
||||||
|
35
src/core2/code_C0B80.c
Normal file
35
src/core2/code_C0B80.c
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#include <ultra64.h>
|
||||||
|
#include "functions.h"
|
||||||
|
#include "variables.h"
|
||||||
|
|
||||||
|
extern void func_80329904(ActorMarker *, s32, f32 *);
|
||||||
|
|
||||||
|
void func_80347B10(Struct81s *arg0){
|
||||||
|
Actor *actor;
|
||||||
|
actor = func_802C937C(0x10, arg0->position);
|
||||||
|
actor->unk54 = 3.0f;
|
||||||
|
func_803333DC(arg0, actor);
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80347B54(Struct81s *arg0){
|
||||||
|
func_802C3C88((GenMethod_1)func_80347B10, reinterpret_cast(s32, arg0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80347B80(Struct81s *arg0) {
|
||||||
|
Actor *sp1C;
|
||||||
|
Actor *temp_v0;
|
||||||
|
|
||||||
|
sp1C = marker_getActor(arg0->marker);
|
||||||
|
if (sp1C->unk54 > 0.0) {
|
||||||
|
if (randf() < ((sp1C->unk54 / 3.0) * 2)) {
|
||||||
|
func_8033E73C(arg0->marker, 5, func_80329904);
|
||||||
|
func_8033E3F0(0xF, ((ActorMarker *)arg0->marker)->unk14_21);
|
||||||
|
// func_8033E3F0(0xF, arg0->marker->unk14_21);
|
||||||
|
}
|
||||||
|
sp1C->unk54 -= time_getDelta();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80347C5C(Struct81s *arg0, Gfx **arg1, Mtx **arg2, Vtx **arg3){}
|
||||||
|
|
||||||
|
void func_80347C70(Struct81s *arg0){}
|
@@ -2,7 +2,130 @@
|
|||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
|
|
||||||
|
extern f32 func_80258780(f32[3], f32[3]);
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_CB050/func_80351FE0.s")
|
typedef struct{
|
||||||
|
f32 unk0;
|
||||||
|
f32 unk4[3];
|
||||||
|
f32 unk10[3];
|
||||||
|
f32 unk1C[3];
|
||||||
|
f32 unk28[3];
|
||||||
|
f32 unk34[3];
|
||||||
|
f32 unk40[3];
|
||||||
|
f32 unk4C[3];
|
||||||
|
f32 unk58[3];
|
||||||
|
f32 unk64;
|
||||||
|
f32 unk68;
|
||||||
|
s32 unk6C;
|
||||||
|
}Struct_core2_CB050_0;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_CB050/func_80352114.s")
|
/* .code */
|
||||||
|
void func_80351FE0(Struct_core2_CB050_0 *arg0, Struct68s *arg1) {
|
||||||
|
f32 sp3C[3];
|
||||||
|
f32 sp30[3];
|
||||||
|
f32 sp24[3];
|
||||||
|
|
||||||
|
arg0->unk0 = randf2(80.0f, 100.0f);
|
||||||
|
arg0->unk4[0] = arg0->unk4[1] = arg0->unk4[2] = 0.0f;
|
||||||
|
arg0->unk10[0] = arg0->unk10[1] = arg0->unk10[2] = 0.0f;
|
||||||
|
arg0->unk1C[0] = arg0->unk1C[1] = arg0->unk1C[2] = 0.0f;
|
||||||
|
arg0->unk28[0] = arg0->unk28[1] = arg0->unk28[2] = 0.0f;
|
||||||
|
arg0->unk34[0] = arg0->unk34[1] = arg0->unk34[2] = 0.0f;
|
||||||
|
arg0->unk40[0] = arg0->unk40[1] = arg0->unk40[2] = 0.0f;
|
||||||
|
func_8035179C(arg1, arg0->unk4C);
|
||||||
|
func_80351814(arg1, arg0->unk58);
|
||||||
|
arg0->unk64 = 0.0f;
|
||||||
|
arg0->unk6C = 0;
|
||||||
|
if (map_get() == MAP_22_CC_INSIDE_CLANKER) {
|
||||||
|
sp3C[0] = arg0->unk4C[0];
|
||||||
|
sp3C[1] = arg0->unk4C[1] + 1000.0f;
|
||||||
|
sp3C[2] = arg0->unk4C[2];
|
||||||
|
|
||||||
|
sp30[0] = arg0->unk4C[0];
|
||||||
|
sp30[1] = arg0->unk4C[1] - 200.0f;
|
||||||
|
sp30[2] = arg0->unk4C[2];
|
||||||
|
|
||||||
|
if (func_80309B48(sp3C, sp30, sp24, 0xF800FF0F)) {
|
||||||
|
arg0->unk68 = arg0->unk4C[1] - sp30[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void func_80352114(Struct_core2_CB050_0 *arg0, s32 arg1, f32 arg2) {
|
||||||
|
f32 sp6C[3];
|
||||||
|
f32 player_position[3];
|
||||||
|
s32 pad;
|
||||||
|
f32 sp58;
|
||||||
|
f32 sp54;
|
||||||
|
f32 sp50;
|
||||||
|
f32 temp_f0;
|
||||||
|
f32 sp40[3];
|
||||||
|
f32 sp34[3];
|
||||||
|
f32 sp28[3];
|
||||||
|
|
||||||
|
arg0->unk64 = (f32) (arg0->unk64 + arg2);
|
||||||
|
player_getPosition(player_position);
|
||||||
|
if( (func_80294660() == 0x100)
|
||||||
|
&& func_8028F20C()
|
||||||
|
&& (func_80258780(player_position, arg0->unk4C) < 50000.0f)
|
||||||
|
) {
|
||||||
|
sp58 = arg0->unk4C[0] - player_position[0];
|
||||||
|
sp54 = arg0->unk4C[2] - player_position[2];
|
||||||
|
sp50 = cosf((arg0->unk58[1] * M_PI) / 180.0);
|
||||||
|
temp_f0 = sinf((arg0->unk58[1] * M_PI) / 180.0);
|
||||||
|
arg0->unk1C[0] = -((sp58 * temp_f0) + (sp54 * sp50)) / 4;
|
||||||
|
arg0->unk1C[2] = ((sp58 * sp50) - (sp54 * temp_f0)) / 4;
|
||||||
|
if (arg0->unk6C) {
|
||||||
|
if (arg0->unk34[1] < -20.0f) {
|
||||||
|
arg0->unk40[1] = -7.0f;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
arg0->unk40[1] = -32.0f;
|
||||||
|
}
|
||||||
|
arg0->unk6C = TRUE;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
arg0->unk1C[0] = arg0->unk1C[1] = arg0->unk1C[2] = 0.0f;
|
||||||
|
if (!arg0->unk6C) {
|
||||||
|
if (arg0->unk34[1] > 5.0f) {
|
||||||
|
arg0->unk40[1] = 0.0f;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
arg0->unk40[1] = 10.0f;
|
||||||
|
}
|
||||||
|
arg0->unk6C = FALSE;
|
||||||
|
}
|
||||||
|
arg0->unk28[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 10.0f;
|
||||||
|
arg0->unk4[0] = cosf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 4.5;
|
||||||
|
arg0->unk4[1] = sinf(((arg0->unk64 * arg0->unk0) / 180.0) * RARE_PI) * 2;
|
||||||
|
if (map_get() == MAP_22_CC_INSIDE_CLANKER) {
|
||||||
|
sp40[0] = arg0->unk4C[0];
|
||||||
|
sp40[1] = arg0->unk4C[1] + 1000.0f;
|
||||||
|
sp40[2] = arg0->unk4C[2];
|
||||||
|
|
||||||
|
sp34[0] = arg0->unk4C[0];
|
||||||
|
sp34[1] = arg0->unk4C[1] - 200.0f;
|
||||||
|
sp34[2] = arg0->unk4C[2];
|
||||||
|
if (func_80309B48(sp40, sp34, sp28, 0xF800FF0F)) {
|
||||||
|
arg0->unk4C[1] = sp34[1] + arg0->unk68;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sp6C[0] = arg0->unk4C[0] + arg0->unk34[0];
|
||||||
|
sp6C[1] = arg0->unk4C[1] + arg0->unk34[1];
|
||||||
|
sp6C[2] = arg0->unk4C[2] + arg0->unk34[2];
|
||||||
|
sp6C[0] = sp6C[0] + arg0->unk28[0];
|
||||||
|
sp6C[1] = sp6C[1] + arg0->unk28[1];
|
||||||
|
sp6C[2] = sp6C[2] + arg0->unk28[2];
|
||||||
|
func_80351B28(arg1, sp6C);
|
||||||
|
|
||||||
|
arg0->unk10[2] += (arg0->unk1C[2] - arg0->unk10[2]) * 0.075;
|
||||||
|
arg0->unk10[0] += (arg0->unk1C[0] - arg0->unk10[0]) * 0.075;
|
||||||
|
arg0->unk34[1] += (arg0->unk40[1] - arg0->unk34[1]) * 0.2;
|
||||||
|
sp6C[0] = arg0->unk58[0] + arg0->unk4[0];
|
||||||
|
sp6C[1] = arg0->unk58[1] + arg0->unk4[1];
|
||||||
|
sp6C[2] = arg0->unk58[2] + arg0->unk4[2];
|
||||||
|
sp6C[0] = sp6C[0] + arg0->unk10[0];
|
||||||
|
sp6C[1] = sp6C[1] + arg0->unk10[1];
|
||||||
|
sp6C[2] = sp6C[2] + arg0->unk10[2];
|
||||||
|
func_80351C2C(arg1, sp6C);
|
||||||
|
}
|
||||||
|
@@ -341,6 +341,7 @@ segments:
|
|||||||
- [0xBDCC0, c, code_BDCC0] #DONE
|
- [0xBDCC0, c, code_BDCC0] #DONE
|
||||||
- [0xBE2C0, c, code_BE2C0]
|
- [0xBE2C0, c, code_BE2C0]
|
||||||
- [0xBEF20, c, code_BEF20]
|
- [0xBEF20, c, code_BEF20]
|
||||||
|
- [0xC0B80, c, code_C0B80] #DONE
|
||||||
- [0xC0CF0, c, code_C0CF0] #DONE
|
- [0xC0CF0, c, code_C0CF0] #DONE
|
||||||
- [0xC0E60, c, code_C0E60]
|
- [0xC0E60, c, code_C0E60]
|
||||||
- [0xC2C20, c, code_C2C20] #DONE
|
- [0xC2C20, c, code_C2C20] #DONE
|
||||||
@@ -367,7 +368,7 @@ segments:
|
|||||||
- [0xC97F0, c, code_C97F0]
|
- [0xC97F0, c, code_C97F0]
|
||||||
- [0xC9E70, c, code_C9E70] #DONE
|
- [0xC9E70, c, code_C9E70] #DONE
|
||||||
- [0xC9F00, c, code_C9F00]
|
- [0xC9F00, c, code_C9F00]
|
||||||
- [0xCB050, c, code_CB050]
|
- [0xCB050, c, code_CB050] #DONE
|
||||||
- [0xCB610, c, code_CB610] #DONE
|
- [0xCB610, c, code_CB610] #DONE
|
||||||
- [0xCB8A0, c, code_CB8A0] #DONE
|
- [0xCB8A0, c, code_CB8A0] #DONE
|
||||||
- [0xCBBF0, c, code_CBBF0] #DONE
|
- [0xCBBF0, c, code_CBBF0] #DONE
|
||||||
@@ -774,6 +775,8 @@ segments:
|
|||||||
- [0xF2390, bin, data_F2390] # .rodata, code_C89C0]
|
- [0xF2390, bin, data_F2390] # .rodata, code_C89C0]
|
||||||
- [0xF23B0, bin, data_C97F0] # .rodata, code_C97F0]
|
- [0xF23B0, bin, data_C97F0] # .rodata, code_C97F0]
|
||||||
- [0xF23C0, bin, data_F23C0]
|
- [0xF23C0, bin, data_F23C0]
|
||||||
|
- [0xF23F0, .rodata, code_CB050]
|
||||||
|
- [0xF2460, bin, data_F2460]
|
||||||
- [0xF2480, .rodata, code_CBD10]
|
- [0xF2480, .rodata, code_CBD10]
|
||||||
- [0xF24A0, bin, data_F24A0]
|
- [0xF24A0, bin, data_F24A0]
|
||||||
- [0xF24C0, .rodata, code_CD0A0]
|
- [0xF24C0, .rodata, code_CD0A0]
|
||||||
|
@@ -502,6 +502,7 @@ D_80378E38 = 0x80378E38;
|
|||||||
D_803791A8 = 0x803791A8;
|
D_803791A8 = 0x803791A8;
|
||||||
D_80379208 = 0x80379208;
|
D_80379208 = 0x80379208;
|
||||||
D_80379210 = 0x80379210;
|
D_80379210 = 0x80379210;
|
||||||
|
D_803793E0 = 0x803793E0;
|
||||||
D_80379400 = 0x80379400;
|
D_80379400 = 0x80379400;
|
||||||
D_80379458 = 0x80379458;
|
D_80379458 = 0x80379458;
|
||||||
D_80379460 = 0x80379460;
|
D_80379460 = 0x80379460;
|
||||||
|
Reference in New Issue
Block a user