diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg index fe100be5..f6652e6b 100644 --- a/progress/progress_core2.svg +++ b/progress/progress_core2.svg @@ -17,7 +17,7 @@ core2 - 91.4998% - 91.4998% + 91.5082% + 91.5082% \ No newline at end of file diff --git a/src/core2/sla.c b/src/core2/sla.c index 22b10c9a..6af0c9f0 100644 --- a/src/core2/sla.c +++ b/src/core2/sla.c @@ -57,22 +57,22 @@ void *func_802EDAA4(SLA **this, s32 *arg1) { return (s32) i_ptr; } -#ifndef NONMATCHING -#pragma GLOBAL_ASM("asm/nonmatchings/core2/sla/func_802EDC18.s") -#else -int func_802EDC18(SLA *this, s32 arg1){ - s32 tmp_v0 = this->unk4; - s16 *v1; - s32 offset; - for(v1 = (s16*)tmp_v0; *v1; ){ - if(*v1 == arg1) - return 0; - v1 = (s16*)(tmp_v0 + ((s32)*v1*this->elem_size)); +int func_802EDC18(SLA *this, s32 arg1) +{ + u8 *tmp_v0 = this->unk4; + s16 *i_ptr; + u8 *new_var; + new_var = this->unk4; + for (i_ptr = (s16 *) new_var; *i_ptr; i_ptr = (s16 *) (((*i_ptr) * this->elem_size) + (new_var = tmp_v0))) + { + if ((*i_ptr) == arg1) + { + return 0; } - return 1; -} -#endif + } + return 1; +} void array_free(SLA *this){ free(this); } diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml index 22faa412..015ff144 100644 --- a/subyaml/core2.us.v10.yaml +++ b/subyaml/core2.us.v10.yaml @@ -245,7 +245,7 @@ segments: - [0x654C0, c, code_654C0] #DONE - [0x66490, c, code_66490] #DONE - [0x66690, c, vla] #DONE - - [0x66AB0, c, sla] + - [0x66AB0, c, sla] #DONE - [0x66D90, c, code_66D90] #DONE - [0x66FB0, c, code_66FB0] #DONE - [0x67490, c, gc/bound] #DONE