diff --git a/README.md b/README.md
index 967ed6a2..7b8c2bdc 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# banjo (87.7785%)
+# banjo (87.9186%)
diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg
index acba357c..a5a82079 100644
--- a/progress/progress_core2.svg
+++ b/progress/progress_core2.svg
@@ -17,7 +17,7 @@
core2
- 87.4331%
- 87.4331%
+ 87.6077%
+ 87.6077%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index 1af74c61..75dc9af8 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -9,7 +9,7 @@
-
+
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 87.7785%
- 87.7785%
+ 87.9186%
+ 87.9186%
\ No newline at end of file
diff --git a/src/core2/code_59D40.c b/src/core2/code_59D40.c
index 9618832d..fc1daff3 100644
--- a/src/core2/code_59D40.c
+++ b/src/core2/code_59D40.c
@@ -157,10 +157,6 @@ f32 func_802E10F0(f32 arg0) {
return arg0;
}
-
-#ifndef NONMATCHING
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_59D40/func_802E1168.s")
-#else
void func_802E1168(Actor *this) {
f32 sp5C;
ActorLocal_core2_59D40 *local;
@@ -262,6 +258,8 @@ void func_802E1168(Actor *this) {
func_802E0EC8();
}
break;
+ default:
+ break;
}//L802E1630
local = (ActorLocal_core2_59D40 *)&this->local;
@@ -293,7 +291,6 @@ void func_802E1168(Actor *this) {
actor_setOpacity(this, local->unk4);
this->unk124_9 = (255.0 == local->unk4) ? 1 : 2;
}
-#endif
extern f32 D_8037E624;
void func_802E1790(void){
diff --git a/src/core2/code_5BEB0.c b/src/core2/code_5BEB0.c
index c39bfd8b..3bdc8433 100644
--- a/src/core2/code_5BEB0.c
+++ b/src/core2/code_5BEB0.c
@@ -47,25 +47,25 @@ void mapSavestate_defrag_all(void){
#else
void mapSavestate_save(enum map_e map){
u32 wSize;
- volatile u32 * sp38;
+ MapSavestate * sp38;
s32 iBit;
s32 bit_max;
s32 reg_s4;
u32* reg_v1;
u32* valPtr;
+ s32 i;
wSize = 4;
if(D_8037E650[map])
free(D_8037E650[map]);
- D_8037E650[map] = (MapSavestate *) malloc(4*sizeof(u32));
- sp38 = D_8037E650[map];
+ D_8037E650[map] = sp38 = (MapSavestate *) malloc(4*sizeof(u32));
- *sp38 = mapSpecificFlags_getAll();
+ sp38->flags = mapSpecificFlags_getAll();
iBit = 0x20;
- func_80308230(1, D_8037E650[map]);
+ func_80308230(1);
func_803083B0(-1);
for(reg_s4 = func_803083B0(-2); reg_s4 != -1; reg_s4 = func_803083B0(-2, valPtr)){
diff --git a/subyaml/core2.us.v10.yaml b/subyaml/core2.us.v10.yaml
index 303e7f3c..78e598da 100644
--- a/subyaml/core2.us.v10.yaml
+++ b/subyaml/core2.us.v10.yaml
@@ -226,7 +226,7 @@ segments:
- [0x59780, c, code_59780] #DONE
- [0x599E0, c, code_599E0] #DONE
- [0x59A80, c, code_59A80] #DONE
- - [0x59D40, c, code_59D40]
+ - [0x59D40, c, code_59D40] #DONE
- [0x5AB30, c, ch/code_5AB30] #DONE
- [0x5B6A0, c, code_5B6A0]
- [0x5BD90, c, code_5BD90] #DONE