diff --git a/asm/ground_map_1.s b/asm/ground_map_1.s index 8cd5e2798..e25073566 100644 --- a/asm/ground_map_1.s +++ b/asm/ground_map_1.s @@ -5,51 +5,6 @@ .text - thumb_func_start GetAdjustedGroundMap -GetAdjustedGroundMap: - push {r4,r5,lr} - lsls r0, 16 - asrs r5, r0, 16 - cmp r5, 0x9 - beq _080A4D94 - cmp r5, 0x9 - bgt _080A4D90 - cmp r5, 0x2 - beq _080A4DB6 - b _080A4DC4 -_080A4D90: - cmp r5, 0xC - bne _080A4DC4 -_080A4D94: - movs r0, 0 - movs r1, 0x27 - bl GetScriptVarValue - adds r4, r0, 0 - movs r0, 0 - movs r1, 0x28 - bl GetScriptVarValue - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - adds r1, r0 - adds r1, r5, r1 - lsls r1, 16 - asrs r5, r1, 16 - b _080A4DC4 -_080A4DB6: - movs r0, 0x6 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _080A4DC4 - movs r5, 0x3 -_080A4DC4: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetAdjustedGroundMap - thumb_func_start GroundMap_Select GroundMap_Select: push {r4-r6,lr} diff --git a/src/ground_map_1.c b/src/ground_map_1.c index e2286d293..032b87125 100644 --- a/src/ground_map_1.c +++ b/src/ground_map_1.c @@ -1,5 +1,6 @@ #include "global.h" #include "debug.h" +#include "event_flag.h" #include "ground_main.h" #include "ground_map_1.h" #include "ground_script.h" @@ -94,3 +95,27 @@ bool8 sub_80A4D48(s16 index) if (gGroundConversion_811BAF4[index].unk0 != 8) return TRUE; return FALSE; } + +s32 GetAdjustedGroundMap(s16 param_1) +{ + s32 iVar5; + + iVar5 = param_1; + + switch(iVar5) + { + case 9: + case 0xC: + iVar5 = (s16)(iVar5 + ((GetScriptVarValue(NULL, BASE_KIND) * 6) + GetScriptVarValue(NULL, BASE_LEVEL))); + break; + case 2: + if (sub_80023E4(6)) { + iVar5 = 3; + } + break; + default: + break; + } + + return iVar5; +}