func_80307CA0() match

This commit is contained in:
Banjo Kazooie
2023-02-22 16:34:34 -06:00
parent d0112a6d4a
commit ffd0495f90
15 changed files with 72 additions and 75 deletions

View File

@@ -10,12 +10,12 @@ struct {
u8 bsStoredStateInTrot; //in trot
/* .code */
void func_8029A890(void){
func_802957FC();
void bsStoredState_debug(void){
ability_debug();
}
void bsStoredState_clear(void){
func_80295804();
ability_clearAll();
bsStoredState.longleg_timer = bsStoredState.turbo_timer = 0.0f;
bsStoredState.transformation = TRANSFORM_1_BANJO;
bsStoredStateInTrot = FALSE;

View File

@@ -2017,39 +2017,36 @@ Cube **func_80307948(s32 arg0[3]) {
}
#endif
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307CA0.s")
// void func_80307CA0(ActorMarker *marker) {
// s32 sp58[3];
// s32 sp40[3];
// Cube **var_s2;
// Cube *var_a0;
// NodeProp *temp_v0_2;
// s32 temp_v0_3;
// u32 var_s0;
// u8 temp_s4;
// s32 i;
void func_80307CA0(ActorMarker *marker) {
s32 temp_s4;
s32 sp58[3];
s32 i;
Cube **var_s2;
NodeProp *temp_v0_2;
s32 sp40[3];
s32 temp_v0_3;
s32 var_s0;
// temp_s4 = D_8036A9E4[marker->unk14_20];
// if ((temp_s4 != 0xFF) && (bitfield_isBitSet(D_8036A9E0, temp_s4) == 1)) {
// func_8032E010(marker->propPtr, sp58);
// var_s2 = func_80307948(sp58);
// var_a0 = *var_s2;
// for(i = 0; var_s2[i] != NULL; i++) {
// for(var_s0 = 0; var_s0 < var_s2[i]->unk0_4; var_s0++){
// temp_v0_2 = func_8032E02C(var_a0, var_s0);
// if (func_80330F74(temp_v0_2) == temp_s4) {
// temp_v0_3 = func_80330F94(temp_v0_2, sp40);
// if( ((sp40[0] - temp_v0_3) < sp58[0]) && (sp58[0] < (sp40[0] + temp_v0_3))
// && ((sp40[1] - temp_v0_3) < sp58[1]) && (sp58[1] < (sp40[1] + temp_v0_3))
// && ((sp40[2] - temp_v0_3) < sp58[2]) && (sp58[2] < (sp40[2] + temp_v0_3))
// ) {
// func_80334448(temp_v0_2, marker);
// }
// }
// }
// }
// }
// }
temp_s4 = D_8036A9E4[marker->unk14_20];
if ((temp_s4 != 0xFF) && (bitfield_isBitSet(D_8036A9E0, temp_s4) == 1)) {
func_8032E010(marker->propPtr, sp58);
var_s2 = func_80307948(sp58);
for(i = 0; var_s2[i] != NULL; i++) {
for(var_s0 = 0; var_s0 < var_s2[i]->unk0_4; var_s0++){
temp_v0_2 = func_8032E02C(var_s2[i], var_s0);
if (func_80330F74(temp_v0_2) == temp_s4) {
temp_v0_3 = func_80330F94(temp_v0_2, sp40);
if( ((sp40[0] - temp_v0_3) < sp58[0]) && (sp58[0] < (sp40[0] + temp_v0_3))
&& ((sp40[1] - temp_v0_3) < sp58[1]) && (sp58[1] < (sp40[1] + temp_v0_3))
&& ((sp40[2] - temp_v0_3) < sp58[2]) && (sp58[2] < (sp40[2] + temp_v0_3))
) {
func_80334448(temp_v0_2, marker);
}
}
}
}
}
}
u32 func_80307E1C(void) {

View File

@@ -1464,6 +1464,6 @@ void func_8031FBF8(void) {
honeycombscore_debug();
jiggyscore_debug();
func_803465DC();
func_8029A890();
bsStoredState_debug();
func_802C5A48();
}

View File

@@ -115,7 +115,7 @@ void savedata_init(void){ //savedata_init
func_80346F44(&sp48, &sp24);
itemscore_timeScores_getSizeAndPtr(&sp44, &sp20);
func_80347630(&sp3C, &sp1C);
func_8029587C(&sp38, &sp18);
ability_getSizeAndPtr(&sp38, &sp18);
D_80383CF0 = 0;
D_80383CF4 = D_80383CF0 + 2;
D_80383CF8 = D_80383CF4 + sp54;
@@ -216,7 +216,7 @@ void __savedata_load_abilities(u8 *savedata){ //savedata_load_abilities
u8 *sp28;
int i;
func_8029587C(&sp2C, &sp28);
ability_getSizeAndPtr(&sp2C, &sp28);
for(i = D_80383D10; i < D_80383D10 + sp2C; i++){
sp28[i - D_80383D10] = savedata[i];
}
@@ -308,7 +308,7 @@ void __savedata_save_abilities(u8 *savedata){ //savedata_save_abilities
u8 *sp28;
int i;
func_8029587C(&sp2C, &sp28);
ability_getSizeAndPtr(&sp2C, &sp28);
for(i = D_80383D10; i < D_80383D10 + sp2C; i++){
savedata[i] = sp28[i - D_80383D10];
}

View File

@@ -196,8 +196,8 @@ void func_8034B834(void) {
item_set(ITEM_F_RED_FEATHER, 50);
item_set(ITEM_10_GOLD_FEATHER, 10);
item_set(ITEM_1C_MUMBO_TOKEN, 25);
func_80295864(-1);
func_80295870(-1);
ability_setAllLearned(-1);
ability_setAllUsed(-1);
for(i = 0; i < 10; i++){
fileProgressFlag_set(D_80371FA0[i], 1);
}

View File

@@ -82,6 +82,6 @@ void func_80356714(void) {
void func_80356734(void) {
func_803565BC();
if (func_803565BC() == 0) {
func_80295864(0x10);
ability_setAllLearned(0x10);
}
}

View File

@@ -84,13 +84,13 @@ int ability_hasLearned(enum ability_e move){
return (1 << move) & D_8037C3A0;
}
s32 func_802957F0(void){
s32 ability_getAllLearned(void){
return D_8037C3A0;
}
void func_802957FC(void){}
void ability_debug(void){}
void func_80295804(void){
void ability_clearAll(void){
D_8037C3A0 = 0;
D_8037C3A4 = 0;
}
@@ -103,15 +103,15 @@ void func_80295818(s32 move, s32 val){
}
}
void func_80295864(s32 val){
void ability_setAllLearned(s32 val){
D_8037C3A0 = val;
}
void func_80295870(s32 val){
void ability_setAllUsed(s32 val){
D_8037C3A4 = val;
}
void func_8029587C(s32 *size, u8 **addr){
void ability_getSizeAndPtr(s32 *size, u8 **addr){
*size = 8;
*addr = &D_8037C3A0;
}