summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_specials.s52
-rw-r--r--include/vars.h1
-rwxr-xr-xsrc/field_specials.c30
3 files changed, 31 insertions, 52 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index d00d6b05b..6018b83fd 100755
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -6,58 +6,6 @@
.text
- thumb_func_start SetDepartmentStoreFloorVar
-SetDepartmentStoreFloorVar: @ 810E74C
- push {lr}
- ldr r0, _0810E768 @ =gSaveBlock1
- ldrb r0, [r0, 0x15]
- subs r0, 0x11
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _0810E79C
- lsls r0, 2
- ldr r1, _0810E76C @ =_0810E770
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810E768: .4byte gSaveBlock1
-_0810E76C: .4byte _0810E770
- .align 2, 0
-_0810E770:
- .4byte _0810E79C
- .4byte _0810E788
- .4byte _0810E78C
- .4byte _0810E790
- .4byte _0810E794
- .4byte _0810E798
-_0810E788:
- movs r1, 0x1
- b _0810E79E
-_0810E78C:
- movs r1, 0x2
- b _0810E79E
-_0810E790:
- movs r1, 0x3
- b _0810E79E
-_0810E794:
- movs r1, 0x4
- b _0810E79E
-_0810E798:
- movs r1, 0xF
- b _0810E79E
-_0810E79C:
- movs r1, 0
-_0810E79E:
- ldr r0, _0810E7A8 @ =0x00004043
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_0810E7A8: .4byte 0x00004043
- thumb_func_end SetDepartmentStoreFloorVar
-
thumb_func_start ScriptAddElevatorMenuItem
ScriptAddElevatorMenuItem: @ 810E7AC
push {r4-r7,lr}
diff --git a/include/vars.h b/include/vars.h
index cb5bb3296..6bbe1325a 100644
--- a/include/vars.h
+++ b/include/vars.h
@@ -17,6 +17,7 @@
#define VAR_DAYS 0x4040
+#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_POKELOT_PRIZE 0x4045
#define VAR_NATIONAL_DEX 0x4046
#define VAR_SHROOMISH_SIZE_RECORD 0x4047
diff --git a/src/field_specials.c b/src/field_specials.c
index 1a7ab4a5c..a6f1e9a8b 100755
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -928,3 +928,33 @@ void EndLotteryCornerComputerEffect(void)
MapGridSetMetatileIdAt(18, 9, 0xea5);
DrawWholeMapView();
}
+
+void SetDepartmentStoreFloorVar(void)
+{
+ u8 deptStoreFloor;
+ switch (gSaveBlock1.warp2.mapNum)
+ {
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_1F:
+ deptStoreFloor = 0;
+ break;
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_2F:
+ deptStoreFloor = 1;
+ break;
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_3F:
+ deptStoreFloor = 2;
+ break;
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_4F:
+ deptStoreFloor = 3;
+ break;
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_5F:
+ deptStoreFloor = 4;
+ break;
+ case MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP:
+ deptStoreFloor = 15;
+ break;
+ default:
+ deptStoreFloor = 0;
+ break;
+ }
+ VarSet(VAR_DEPT_STORE_FLOOR, deptStoreFloor);
+}