func_80341D5C

This commit is contained in:
Banjo Kazooie
2024-05-05 17:38:30 -05:00
parent e139aac86c
commit 861e460347
5 changed files with 54 additions and 50 deletions

View File

@@ -1,4 +1,4 @@
# banjo (98.9690%) # banjo (98.9919%)
<img src="./progress/progress_total.svg"> <img src="./progress/progress_total.svg">

View File

@@ -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">98.4207%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">98.4605%</text>
<text x="77.5" y="14">98.4207%</text> <text x="77.5" y="14">98.4605%</text>
</g> </g>
</svg> </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> <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">98.9690%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">98.9919%</text>
<text x="183.5" y="14">98.9690%</text> <text x="183.5" y="14">98.9919%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -94,27 +94,32 @@ void mapSavestate_save(enum map_e map){
#define AS_BOOL(expr) ((expr)? TRUE : FALSE) #define AS_BOOL(expr) ((expr)? TRUE : FALSE)
void mapSavestate_apply(enum map_e map_id) { void mapSavestate_apply(enum map_e map_id) {
s32 var_s0 = 0x1F; s32 iBit = 0;
u32* t; u32* flag_ptr;
u32 aligned_index; u32* word_ptr;
ActorListSaveState *actor_list_ptr;
u32 bit_value;
if(D_8037E650[map_id] == NULL) if(D_8037E650[map_id] == NULL)
return; return;
t = reinterpret_cast(u32*, D_8037E650[map_id]); flag_ptr = reinterpret_cast(u32*, D_8037E650[map_id]);
mapSpecificFlags_setAll(*t); mapSpecificFlags_setAll(*flag_ptr);
var_s0++; iBit += 8 * sizeof(u32);
func_80308230(1); func_80308230(1);
func_803083B0(-1); func_803083B0(-1);
while (func_803083B0( AS_BOOL(((u32*)D_8037E650[map_id])[var_s0 >> 5] & (1 << (var_s0 & 0x1f)))) != -1) { while (
var_s0++; bit_value = AS_BOOL((((u32*)D_8037E650[map_id])[iBit >> 5] & (1 << (iBit & 0x1f)))),
func_803083B0(bit_value) != -1
) {
iBit++;
} }
func_80308230(0); func_80308230(0);
aligned_index = ((var_s0 + ((1 << 7) - 1)) >> 7); actor_list_ptr = (ActorListSaveState *)D_8037E650[map_id] + (((iBit + (0x80 - 1)) >> 7) * 4);
func_8032A09C(D_8037E650[map_id], (ActorListSaveState *)D_8037E650[map_id] + (aligned_index << 2)); func_8032A09C(D_8037E650[map_id], actor_list_ptr);
free((void *)D_8037E650[map_id] ); free((void*)D_8037E650[map_id] );
D_8037E650[map_id] = NULL; D_8037E650[map_id] = NULL;
} }

View File

@@ -495,41 +495,40 @@ s32 func_80341C78(s32 arg0[3]) {
return -1; return -1;
} }
#ifndef NONMATCHING s32 func_80341D5C(s32 arg0[3], s32 arg1[3])
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_B9770/func_80341D5C.s") {
#else int i;
s32 func_80341D5C(s32 arg0[3], s32 arg1[3]){ int j;
int i, j;
struct56s *a0; struct56s *a0;
f32 (*a2)[3]; f32 (*a2)[3];
f32 spC[3]; f32 spC[3];
f32 sp0[3]; f32 sp0[3];
struct56s *new_var;
spC[0] = (f32)arg0[0]; spC[0] = (f32) arg0[0];
spC[1] = (f32)arg0[1]; spC[1] = (f32) arg0[1];
spC[2] = (f32)arg0[2]; spC[2] = (f32) arg0[2];
sp0[0] = (f32) arg1[0];
sp0[0] = (f32)arg1[0]; sp0[1] = (f32) arg1[1];
sp0[1] = (f32)arg1[1]; sp0[2] = (f32) arg1[2];
sp0[2] = (f32)arg1[2]; for (i = 0; i < D_80371E78; i++)
{
for(i = 0; i < D_80371E78; i++){ a2 = a0 + 1;
a2 = D_80371E70[i]->unk8; new_var = D_80371E70[i];
for(j = 0; j < D_80371E70[i]->unk0; j++){ a0 = new_var;
if( spC[0] == a2[j][0] a2 = a0 + 1;
&& spC[1] == a2[j][1] for (j = 0; j < new_var->unk0; j++)
&& spC[2] == a2[j][2] {
&& sp0[0] == a2[j +1][0] if (((spC[0] == a2[j][0]) && (spC[1] == a2[j][1]) && (spC[2] == a2[j][2])) \
&& sp0[1] == a2[j +1][1] && ((sp0[0] == a2[j + 1][0]) && (sp0[1] == a2[j + 1][1]) && (sp0[2] == a2[j + 1][2])))
&& sp0[2] == a2[j +1][2] {
){
return i; return i;
} }
} }
} }
return -1; return -1;
} }
#endif
s32 func_80341EC4(f32 arg0[3]){ s32 func_80341EC4(f32 arg0[3]){
s32 sp1C[3]; s32 sp1C[3];