summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_specials.s114
-rwxr-xr-xdata/field_specials.s9
-rwxr-xr-x[-rw-r--r--]include/battle_tower.h1
-rwxr-xr-x[-rw-r--r--]include/pokeblock.h1
-rwxr-xr-x[-rw-r--r--]include/region_map.h2
-rwxr-xr-xsrc/field_specials.c37
6 files changed, 40 insertions, 124 deletions
diff --git a/asm/field_specials.s b/asm/field_specials.s
index fe57202f3..ebc43c3ad 100755
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -6,120 +6,6 @@
.text
- thumb_func_start GetPokeblockNameByMonNature
-GetPokeblockNameByMonNature: @ 810F3AC
- push {lr}
- bl GetLeadMonIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0810F3D4 @ =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0810F3D8 @ =gStringVar1
- bl sub_810CB68
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0810F3D4: .4byte gPlayerParty
-_0810F3D8: .4byte gStringVar1
- thumb_func_end GetPokeblockNameByMonNature
-
- thumb_func_start GetSecretBaseNearbyMapName
-GetSecretBaseNearbyMapName: @ 810F3DC
- push {r4,lr}
- ldr r4, _0810F3FC @ =gStringVar1
- ldr r0, _0810F400 @ =0x00004026
- bl VarGet
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- bl sub_80FBFB4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810F3FC: .4byte gStringVar1
-_0810F400: .4byte 0x00004026
- thumb_func_end GetSecretBaseNearbyMapName
-
- thumb_func_start sub_810F404
-sub_810F404: @ 810F404
- push {lr}
- movs r0, 0x20
- bl GetGameStat
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_810F404
-
- thumb_func_start sub_810F414
-sub_810F414: @ 810F414
- push {lr}
- ldr r0, _0810F420 @ =gStringVar1
- bl sub_8135FF4
- pop {r0}
- bx r0
- .align 2, 0
-_0810F420: .4byte gStringVar1
- thumb_func_end sub_810F414
-
- thumb_func_start sub_810F424
-sub_810F424: @ 810F424
- push {r4,r5,lr}
- ldr r2, _0810F458 @ =gSaveBlock1
- ldr r1, _0810F45C @ =0x00002dd4
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 25
- ldr r0, _0810F460 @ =0x00002dd6
- adds r2, r0
- lsrs r1, 25
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, _0810F464 @ =gUnknown_083F83E0
- ldr r0, _0810F468 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, r0
- movs r0, 0x2
- bl GetPriceReduction
- lsls r0, 24
- cmp r0, 0
- bne _0810F470
- ldr r4, _0810F46C @ =gUnknown_083F83EC
- b _0810F472
- .align 2, 0
-_0810F458: .4byte gSaveBlock1
-_0810F45C: .4byte 0x00002dd4
-_0810F460: .4byte 0x00002dd6
-_0810F464: .4byte gUnknown_083F83E0
-_0810F468: .4byte gSpecialVar_0x8004
-_0810F46C: .4byte gUnknown_083F83EC
-_0810F470:
- ldr r4, _0810F484 @ =gUnknown_083F83F8
-_0810F472:
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810F484: .4byte gUnknown_083F83F8
- thumb_func_end sub_810F424
-
thumb_func_start sub_810F488
sub_810F488: @ 810F488
push {lr}
diff --git a/data/field_specials.s b/data/field_specials.s
index 78cf99e2c..191f4d947 100755
--- a/data/field_specials.s
+++ b/data/field_specials.s
@@ -3,15 +3,6 @@
.section .rodata
-gUnknown_083F83E0:: @ 83F83E0
- .byte 12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6
-
-gUnknown_083F83EC:: @ 83F83EC
- .byte 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5
-
-gUnknown_083F83F8:: @ 83F83F8
- .byte 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5
-
gUnknown_083F8404:: @ 83F8404
.byte 2, 1, 2, 1
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 193905b93..75ea405ab 100644..100755
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -3,5 +3,6 @@
void sub_8134AC0(void *);
u16 sub_8135D3C(u8);
+void sub_8135FF4(u8*);
#endif // GUARD_BATTLE_TOWER_H
diff --git a/include/pokeblock.h b/include/pokeblock.h
index 257c83f1c..b925894db 100644..100755
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
@@ -5,6 +5,7 @@ void sub_810B96C(void);
void sub_810BA7C(u8);
void ClearPokeblocks(void);
void sub_810CA6C(s32);
+u8 sub_810CB68(u8, u8*);
s16 sub_810CAE4(u8, struct Pokeblock *);
#endif // GUARD_POKEBLOCK_H
diff --git a/include/region_map.h b/include/region_map.h
index 0cef566f6..6dfa4dcf0 100644..100755
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -6,7 +6,7 @@ void sub_80FAB10(void);
u8 sub_80FAB60(void);
void sub_80FBB3C(u16, u16);
void sub_80FBCF0(u32, u8);
-void sub_80FBFB4(u8 *str, u8 region, u8);
+void sub_80FBFB4(u8 *str, u16 region, u8);
void CopyMapName();
u8 *CopyLocationName(u8 *dest, u8 location);
diff --git a/src/field_specials.c b/src/field_specials.c
index 610d421a1..11f5e16f7 100755
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -3,7 +3,9 @@
#include "diploma.h"
#include "fieldmap.h"
#include "event_data.h"
+#include "battle_tower.h"
#include "field_map_obj.h"
+#include "region_map.h"
#include "field_region_map.h"
#include "field_message_box.h"
#include "field_camera.h"
@@ -15,6 +17,7 @@
#include "songs.h"
#include "string_util.h"
#include "strings.h"
+#include "pokeblock.h"
#include "text.h"
#include "wallclock.h"
#include "tv.h"
@@ -1742,3 +1745,37 @@ void RemoveCameraDummy(void)
CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId());
RemoveFieldObjectByLocalIdAndMap(0x7f, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup);
}
+
+u8 GetPokeblockNameByMonNature(void)
+{
+ return sub_810CB68(GetNature(&gPlayerParty[GetLeadMonIndex()]), gStringVar1);
+}
+
+void GetSecretBaseNearbyMapName(void)
+{
+ sub_80FBFB4(gStringVar1, VarGet(VAR_SECRET_BASE_MAP), 0);
+}
+
+u16 sub_810F404(void)
+{
+ return GetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK);
+}
+
+void sub_810F414(void)
+{
+ sub_8135FF4(gStringVar1);
+}
+
+const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6};
+const u8 gUnknown_083F83EC[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5};
+const u8 gUnknown_083F83F8[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5};
+
+u8 sub_810F424(void)
+{
+ u32 v0 = gSaveBlock1.easyChatPairs[0].unk0_0 + gSaveBlock1.easyChatPairs[0].unk2 + gUnknown_083F83E0[gSpecialVar_0x8004];
+ if (GetPriceReduction(2))
+ {
+ return gUnknown_083F83F8[v0 % 12];
+ }
+ return gUnknown_083F83EC[v0 % 12];
+}