func_80341D5C
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (98.9690%)
|
# banjo (98.9919%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -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 |
@@ -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 |
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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];
|
||||||
|
Reference in New Issue
Block a user