+14
-14
@@ -773,10 +773,10 @@ _08080D44:
|
||||
_08080D50: .4byte sub_8080F78
|
||||
_08080D54:
|
||||
bl GetLinkPlayerCount_2
|
||||
ldr r4, _08080D7C @ =gUnknown_3005030
|
||||
ldr r4, _08080D7C @ =gFieldLinkPlayerCount
|
||||
strb r0, [r4]
|
||||
bl GetMultiplayerId
|
||||
ldr r1, _08080D80 @ =gUnknown_300502C
|
||||
ldr r1, _08080D80 @ =gLocalLinkPlayerId
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r4]
|
||||
bl sub_800A900
|
||||
@@ -790,8 +790,8 @@ _08080D74:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08080D7C: .4byte gUnknown_3005030
|
||||
_08080D80: .4byte gUnknown_300502C
|
||||
_08080D7C: .4byte gFieldLinkPlayerCount
|
||||
_08080D80: .4byte gLocalLinkPlayerId
|
||||
_08080D84: .4byte gBlockSendBuffer
|
||||
_08080D88: .4byte sub_8080E6C
|
||||
thumb_func_end sub_8080CDC
|
||||
@@ -876,10 +876,10 @@ _08080E18: .4byte gTasks
|
||||
_08080E1C: .4byte sub_8080F78
|
||||
_08080E20:
|
||||
bl GetLinkPlayerCount_2
|
||||
ldr r4, _08080E58 @ =gUnknown_3005030
|
||||
ldr r4, _08080E58 @ =gFieldLinkPlayerCount
|
||||
strb r0, [r4]
|
||||
bl GetMultiplayerId
|
||||
ldr r1, _08080E5C @ =gUnknown_300502C
|
||||
ldr r1, _08080E5C @ =gLocalLinkPlayerId
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r4]
|
||||
bl sub_800A900
|
||||
@@ -899,8 +899,8 @@ _08080E50:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08080E58: .4byte gUnknown_3005030
|
||||
_08080E5C: .4byte gUnknown_300502C
|
||||
_08080E58: .4byte gFieldLinkPlayerCount
|
||||
_08080E5C: .4byte gLocalLinkPlayerId
|
||||
_08080E60: .4byte gBlockSendBuffer
|
||||
_08080E64: .4byte gTasks
|
||||
_08080E68: .4byte sub_8080E6C
|
||||
@@ -1536,7 +1536,7 @@ _08081344:
|
||||
_0808135C:
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl fade_screen
|
||||
bl FadeScreen
|
||||
ldr r1, _08081374 @ =gLinkType
|
||||
ldr r2, _08081378 @ =0x00002211
|
||||
adds r0, r2, 0
|
||||
@@ -1693,7 +1693,7 @@ _08081480:
|
||||
_080814A0:
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl fade_screen
|
||||
bl FadeScreen
|
||||
ldr r0, _080814BC @ =gLinkType
|
||||
ldr r2, _080814C0 @ =0x00002211
|
||||
adds r1, r2, 0
|
||||
@@ -1931,7 +1931,7 @@ sub_8081668: @ 8081668
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0x5
|
||||
beq _0808170A
|
||||
ldr r0, _080816BC @ =gUnknown_300502C
|
||||
ldr r0, _080816BC @ =gLocalLinkPlayerId
|
||||
ldrb r0, [r0]
|
||||
movs r5, 0x1
|
||||
eors r0, r5
|
||||
@@ -1951,7 +1951,7 @@ sub_8081668: @ 8081668
|
||||
_080816B0: .4byte gBattleTypeFlags
|
||||
_080816B4: .4byte 0x0000ffdf
|
||||
_080816B8: .4byte gSpecialVar_0x8004
|
||||
_080816BC: .4byte gUnknown_300502C
|
||||
_080816BC: .4byte gLocalLinkPlayerId
|
||||
_080816C0: .4byte gWirelessCommType
|
||||
_080816C4: .4byte gBattleOutcome
|
||||
_080816C8:
|
||||
@@ -2179,7 +2179,7 @@ _08081882:
|
||||
bl ScriptContext2_Enable
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl fade_screen
|
||||
bl FadeScreen
|
||||
bl ClearLinkCallback_2
|
||||
b _080818B8
|
||||
_08081894:
|
||||
@@ -2255,7 +2255,7 @@ _0808191A:
|
||||
bl ScriptContext2_Enable
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl fade_screen
|
||||
bl FadeScreen
|
||||
bl Rfu_set_zero
|
||||
b _08081950
|
||||
_0808192C:
|
||||
|
||||
@@ -154,8 +154,8 @@ _080689EC: .4byte gObjectEvents
|
||||
_080689F0: .4byte gPlayerAvatar
|
||||
thumb_func_end FreezeObjectEventsExceptOne
|
||||
|
||||
thumb_func_start npc_sync_anim_pause_bits
|
||||
npc_sync_anim_pause_bits: @ 80689F4
|
||||
thumb_func_start UnfreezeObjectEvent
|
||||
UnfreezeObjectEvent: @ 80689F4
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
ldrh r2, [r5]
|
||||
@@ -207,7 +207,7 @@ _08068A4C:
|
||||
.align 2, 0
|
||||
_08068A54: .4byte 0x00000101
|
||||
_08068A58: .4byte gSprites
|
||||
thumb_func_end npc_sync_anim_pause_bits
|
||||
thumb_func_end UnfreezeObjectEvent
|
||||
|
||||
thumb_func_start UnfreezeObjectEvents
|
||||
UnfreezeObjectEvents: @ 8068A5C
|
||||
@@ -224,7 +224,7 @@ _08068A62:
|
||||
cmp r0, 0
|
||||
beq _08068A78
|
||||
adds r0, r1, 0
|
||||
bl npc_sync_anim_pause_bits
|
||||
bl UnfreezeObjectEvent
|
||||
_08068A78:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
|
||||
@@ -1427,8 +1427,8 @@ SpawnSpecialObjectEventParameterized: @ 805E830
|
||||
_0805E894: .4byte 0xfff90000
|
||||
thumb_func_end SpawnSpecialObjectEventParameterized
|
||||
|
||||
thumb_func_start show_sprite
|
||||
show_sprite: @ 805E898
|
||||
thumb_func_start TrySpawnObjectEvent
|
||||
TrySpawnObjectEvent: @ 805E898
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
@@ -1468,7 +1468,7 @@ _0805E8E0:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end show_sprite
|
||||
thumb_func_end TrySpawnObjectEvent
|
||||
|
||||
thumb_func_start sub_805E8E8
|
||||
sub_805E8E8: @ 805E8E8
|
||||
@@ -13157,7 +13157,7 @@ _08063CC8:
|
||||
bl ObjectEventClearAnimIfSpecialAnimActive
|
||||
_08063CCE:
|
||||
adds r0, r4, 0
|
||||
bl npc_sync_anim_pause_bits
|
||||
bl UnfreezeObjectEvent
|
||||
movs r3, 0
|
||||
strb r5, [r4, 0x1C]
|
||||
ldrb r0, [r4]
|
||||
|
||||
@@ -2445,8 +2445,8 @@ _0805C560: .4byte gObjectEvents
|
||||
_0805C564: .4byte gPlayerAvatar
|
||||
thumb_func_end PlayerGetDestCoords
|
||||
|
||||
thumb_func_start plaer_get_pos_including_state_based_drift
|
||||
plaer_get_pos_including_state_based_drift: @ 805C568
|
||||
thumb_func_start player_get_pos_including_state_based_drift
|
||||
player_get_pos_including_state_based_drift: @ 805C568
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
@@ -2580,7 +2580,7 @@ _0805C6BC:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end plaer_get_pos_including_state_based_drift
|
||||
thumb_func_end player_get_pos_including_state_based_drift
|
||||
|
||||
thumb_func_start GetPlayerFacingDirection
|
||||
GetPlayerFacingDirection: @ 805C6C4
|
||||
|
||||
+3
-3
@@ -1584,8 +1584,8 @@ _0807A810: .4byte 0x000006c6
|
||||
_0807A814: .4byte 0x000006c2
|
||||
thumb_func_end sub_807A7C4
|
||||
|
||||
thumb_func_start fade_screen
|
||||
fade_screen: @ 807A818
|
||||
thumb_func_start FadeScreen
|
||||
FadeScreen: @ 807A818
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
@@ -1735,7 +1735,7 @@ _0807A934: .4byte gUnknown_2037F34
|
||||
_0807A938: .4byte 0x000006c6
|
||||
_0807A93C: .4byte 0x000006ca
|
||||
_0807A940: .4byte 0x000006cb
|
||||
thumb_func_end fade_screen
|
||||
thumb_func_end FadeScreen
|
||||
|
||||
thumb_func_start FieldWeather_StartFadingOutCreditsMap
|
||||
FieldWeather_StartFadingOutCreditsMap: @ 807A944
|
||||
|
||||
+23
-23
@@ -4757,7 +4757,7 @@ _0805713C: .4byte gPlayerAvatar
|
||||
thumb_func_start sub_8057140
|
||||
sub_8057140: @ 8057140
|
||||
push {lr}
|
||||
ldr r0, _08057158 @ =gUnknown_300502C
|
||||
ldr r0, _08057158 @ =gLocalLinkPlayerId
|
||||
ldrb r0, [r0]
|
||||
bl sub_8058504
|
||||
lsls r0, 24
|
||||
@@ -4766,13 +4766,13 @@ sub_8057140: @ 8057140
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057158: .4byte gUnknown_300502C
|
||||
_08057158: .4byte gLocalLinkPlayerId
|
||||
thumb_func_end sub_8057140
|
||||
|
||||
thumb_func_start sub_805715C
|
||||
sub_805715C: @ 805715C
|
||||
push {lr}
|
||||
ldr r0, _08057174 @ =gUnknown_300502C
|
||||
ldr r0, _08057174 @ =gLocalLinkPlayerId
|
||||
ldrb r0, [r0]
|
||||
bl sub_8058504
|
||||
lsls r0, 24
|
||||
@@ -4781,7 +4781,7 @@ sub_805715C: @ 805715C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057174: .4byte gUnknown_300502C
|
||||
_08057174: .4byte gLocalLinkPlayerId
|
||||
thumb_func_end sub_805715C
|
||||
|
||||
thumb_func_start sub_8057178
|
||||
@@ -4794,7 +4794,7 @@ sub_8057178: @ 8057178
|
||||
adds r1, r4, 0
|
||||
bl GetCameraFocusCoords
|
||||
mov r2, sp
|
||||
ldr r0, _080571A4 @ =gUnknown_300502C
|
||||
ldr r0, _080571A4 @ =gLocalLinkPlayerId
|
||||
ldrb r1, [r0]
|
||||
ldrh r0, [r2]
|
||||
adds r0, r1
|
||||
@@ -4807,7 +4807,7 @@ sub_8057178: @ 8057178
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080571A4: .4byte gUnknown_300502C
|
||||
_080571A4: .4byte gLocalLinkPlayerId
|
||||
thumb_func_end sub_8057178
|
||||
|
||||
thumb_func_start sub_80571A8
|
||||
@@ -4823,13 +4823,13 @@ sub_80571A8: @ 80571A8
|
||||
bl GetCameraFocusCoords
|
||||
mov r3, sp
|
||||
mov r2, sp
|
||||
ldr r0, _08057224 @ =gUnknown_300502C
|
||||
ldr r0, _08057224 @ =gLocalLinkPlayerId
|
||||
ldrb r1, [r0]
|
||||
ldrh r0, [r2]
|
||||
subs r0, r1
|
||||
strh r0, [r3]
|
||||
movs r6, 0
|
||||
ldr r0, _08057228 @ =gUnknown_3005030
|
||||
ldr r0, _08057228 @ =gFieldLinkPlayerCount
|
||||
mov r8, r4
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
@@ -4859,7 +4859,7 @@ _080571D8:
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
ldr r0, _08057228 @ =gUnknown_3005030
|
||||
ldr r0, _08057228 @ =gFieldLinkPlayerCount
|
||||
ldrb r0, [r0]
|
||||
cmp r6, r0
|
||||
bcc _080571D8
|
||||
@@ -4872,8 +4872,8 @@ _08057212:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057224: .4byte gUnknown_300502C
|
||||
_08057228: .4byte gUnknown_3005030
|
||||
_08057224: .4byte gLocalLinkPlayerId
|
||||
_08057228: .4byte gFieldLinkPlayerCount
|
||||
_0805722C: .4byte gLinkPlayers
|
||||
thumb_func_end sub_80571A8
|
||||
|
||||
@@ -4881,7 +4881,7 @@ _0805722C: .4byte gLinkPlayers
|
||||
sub_8057230: @ 8057230
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r0, _08057264 @ =gUnknown_3005030
|
||||
ldr r0, _08057264 @ =gFieldLinkPlayerCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bcs _0805725E
|
||||
@@ -4898,7 +4898,7 @@ _0805723E:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
ldr r0, _08057264 @ =gUnknown_3005030
|
||||
ldr r0, _08057264 @ =gFieldLinkPlayerCount
|
||||
ldrb r0, [r0]
|
||||
cmp r4, r0
|
||||
bcc _0805723E
|
||||
@@ -4907,7 +4907,7 @@ _0805725E:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08057264: .4byte gUnknown_3005030
|
||||
_08057264: .4byte gFieldLinkPlayerCount
|
||||
_08057268: .4byte gLinkPlayers
|
||||
thumb_func_end sub_8057230
|
||||
|
||||
@@ -5647,7 +5647,7 @@ c1_link_related: @ 8057884
|
||||
cmp r0, 0
|
||||
bne _080578C0
|
||||
_0805789E:
|
||||
ldr r0, _080578CC @ =gUnknown_300502C
|
||||
ldr r0, _080578CC @ =gLocalLinkPlayerId
|
||||
ldrb r4, [r0]
|
||||
ldr r0, _080578D0 @ =gLinkPartnersHeldKeys
|
||||
adds r1, r4, 0
|
||||
@@ -5666,7 +5666,7 @@ _080578C0:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080578C8: .4byte gWirelessCommType
|
||||
_080578CC: .4byte gUnknown_300502C
|
||||
_080578CC: .4byte gLocalLinkPlayerId
|
||||
_080578D0: .4byte gLinkPartnersHeldKeys
|
||||
_080578D4: .4byte gUnknown_3000E84
|
||||
thumb_func_end c1_link_related
|
||||
@@ -5753,7 +5753,7 @@ sub_8057954: @ 8057954
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r3, r0, 16
|
||||
ldr r0, _08057974 @ =gUnknown_3005030
|
||||
ldr r0, _08057974 @ =gFieldLinkPlayerCount
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0
|
||||
cmp r1, r2
|
||||
@@ -5767,7 +5767,7 @@ _08057966:
|
||||
movs r0, 0
|
||||
b _08057984
|
||||
.align 2, 0
|
||||
_08057974: .4byte gUnknown_3005030
|
||||
_08057974: .4byte gFieldLinkPlayerCount
|
||||
_08057978: .4byte gUnknown_3000E80
|
||||
_0805797C:
|
||||
adds r1, 0x1
|
||||
@@ -5786,7 +5786,7 @@ sub_805798C: @ 805798C
|
||||
push {r4,lr}
|
||||
lsls r0, 16
|
||||
lsrs r3, r0, 16
|
||||
ldr r0, _080579AC @ =gUnknown_3005030
|
||||
ldr r0, _080579AC @ =gFieldLinkPlayerCount
|
||||
ldrb r2, [r0]
|
||||
movs r1, 0
|
||||
cmp r1, r2
|
||||
@@ -5800,7 +5800,7 @@ _0805799E:
|
||||
movs r0, 0x1
|
||||
b _080579BC
|
||||
.align 2, 0
|
||||
_080579AC: .4byte gUnknown_3005030
|
||||
_080579AC: .4byte gFieldLinkPlayerCount
|
||||
_080579B0: .4byte gUnknown_3000E80
|
||||
_080579B4:
|
||||
adds r1, 0x1
|
||||
@@ -6499,7 +6499,7 @@ sub_8057EC0: @ 8057EC0
|
||||
cmp r2, r1
|
||||
bne _08057EE6
|
||||
ldr r1, _08057F08 @ =gUnknown_3000E80
|
||||
ldr r0, _08057F0C @ =gUnknown_300502C
|
||||
ldr r0, _08057F0C @ =gLocalLinkPlayerId
|
||||
ldrb r0, [r0]
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
@@ -6511,7 +6511,7 @@ _08057EE6:
|
||||
cmp r1, r0
|
||||
bne _08057F14
|
||||
ldr r1, _08057F08 @ =gUnknown_3000E80
|
||||
ldr r0, _08057F0C @ =gUnknown_300502C
|
||||
ldr r0, _08057F0C @ =gLocalLinkPlayerId
|
||||
ldrb r0, [r0]
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
@@ -6524,7 +6524,7 @@ _08057EFC:
|
||||
_08057F00: .4byte gUnknown_3000E84
|
||||
_08057F04: .4byte sub_8057E1C
|
||||
_08057F08: .4byte gUnknown_3000E80
|
||||
_08057F0C: .4byte gUnknown_300502C
|
||||
_08057F0C: .4byte gLocalLinkPlayerId
|
||||
_08057F10: .4byte sub_8057E10
|
||||
_08057F14:
|
||||
movs r0, 0x82
|
||||
|
||||
@@ -1619,7 +1619,7 @@ _0808C594: .4byte gUnknown_8418690
|
||||
_0808C598:
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl fade_screen
|
||||
bl FadeScreen
|
||||
movs r0, 0x4
|
||||
strh r0, [r5, 0x8]
|
||||
b _0808C69C
|
||||
|
||||
@@ -482,7 +482,7 @@ _0809777C:
|
||||
lsls r0, 2
|
||||
ldr r1, _080977A8 @ =gObjectEvents
|
||||
adds r0, r1
|
||||
bl npc_sync_anim_pause_bits
|
||||
bl UnfreezeObjectEvent
|
||||
_08097792:
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
|
||||
-11147
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3
-3
@@ -4598,14 +4598,14 @@ gText_WhichMoveShouldBeForgotten:: @ 841E50C
|
||||
gUnknown_841E52D:: @ 0x841E52D
|
||||
.string "----------$"
|
||||
|
||||
gUnknown_841E538:: @ 841E538
|
||||
gText_CommStandbyAwaitingOtherPlayer:: @ 841E538
|
||||
.string "Communication standby‥\n"
|
||||
.string "Awaiting another player to choose.$"
|
||||
|
||||
gUnknown_841E572:: @ 841E572
|
||||
gText_BattleWasRefused:: @ 841E572
|
||||
.string "The battle was refused.{PAUSE 0x3C}$"
|
||||
|
||||
gUnknown_841E58D:: @ 841E58D
|
||||
gText_RefusedBattle:: @ 841E58D
|
||||
.string "Refused the battle.{PAUSE 0x3C}$"
|
||||
|
||||
gFameCheckerText_MainScreenUI:: @ 841E5A4
|
||||
|
||||
-1571
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_BERRY_CRUSH_H
|
||||
#define GUARD_BERRY_CRUSH_H
|
||||
|
||||
void sub_814B754(MainCallback callback);
|
||||
|
||||
#endif //GUARD_BERRY_CRUSH_H
|
||||
@@ -10,5 +10,6 @@
|
||||
// Exported ROM declarations
|
||||
void sub_8081A90(u8 taskId);
|
||||
u8 sub_8081150(void);
|
||||
void sub_8081668(void);
|
||||
|
||||
#endif //GUARD_CABLE_CLUB_H
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
|
||||
#define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
|
||||
|
||||
// FIXME: Different in FRLG
|
||||
#define MOVEMENT_TYPE_NONE 0x0
|
||||
#define MOVEMENT_TYPE_LOOK_AROUND 0x1
|
||||
#define MOVEMENT_TYPE_WANDER_AROUND 0x2
|
||||
@@ -239,8 +240,10 @@
|
||||
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
|
||||
#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
|
||||
#define MOVEMENT_ACTION_FIGURE_8 0x9B
|
||||
#define MOVEMENT_ACTION_FLY_UP 0x9C
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
|
||||
|
||||
// These two are verified correct in FRLG
|
||||
#define MOVEMENT_ACTION_FLY_UP 0xA4
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0xA5
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
|
||||
|
||||
@@ -1,6 +1,97 @@
|
||||
#ifndef GUARD_CONSTANTS_POKEMON_H
|
||||
#define GUARD_CONSTANTS_POKEMON_H
|
||||
|
||||
// For (Set|Get)(Box)?MonData
|
||||
#define MON_DATA_PERSONALITY 0
|
||||
#define MON_DATA_OT_ID 1
|
||||
#define MON_DATA_NICKNAME 2
|
||||
#define MON_DATA_LANGUAGE 3
|
||||
#define MON_DATA_SANITY_IS_BAD_EGG 4
|
||||
#define MON_DATA_SANITY_HAS_SPECIES 5
|
||||
#define MON_DATA_SANITY_IS_EGG 6
|
||||
#define MON_DATA_OT_NAME 7
|
||||
#define MON_DATA_MARKINGS 8
|
||||
#define MON_DATA_CHECKSUM 9
|
||||
#define MON_DATA_ENCRYPT_SEPARATOR 10
|
||||
#define MON_DATA_SPECIES 11
|
||||
#define MON_DATA_HELD_ITEM 12
|
||||
#define MON_DATA_MOVE1 13
|
||||
#define MON_DATA_MOVE2 14
|
||||
#define MON_DATA_MOVE3 15
|
||||
#define MON_DATA_MOVE4 16
|
||||
#define MON_DATA_PP1 17
|
||||
#define MON_DATA_PP2 18
|
||||
#define MON_DATA_PP3 19
|
||||
#define MON_DATA_PP4 20
|
||||
#define MON_DATA_PP_BONUSES 21
|
||||
#define MON_DATA_COOL 22
|
||||
#define MON_DATA_BEAUTY 23
|
||||
#define MON_DATA_CUTE 24
|
||||
#define MON_DATA_EXP 25
|
||||
#define MON_DATA_HP_EV 26
|
||||
#define MON_DATA_ATK_EV 27
|
||||
#define MON_DATA_DEF_EV 28
|
||||
#define MON_DATA_SPEED_EV 29
|
||||
#define MON_DATA_SPATK_EV 30
|
||||
#define MON_DATA_SPDEF_EV 31
|
||||
#define MON_DATA_FRIENDSHIP 32
|
||||
#define MON_DATA_SMART 33
|
||||
#define MON_DATA_POKERUS 34
|
||||
#define MON_DATA_MET_LOCATION 35
|
||||
#define MON_DATA_MET_LEVEL 36
|
||||
#define MON_DATA_MET_GAME 37
|
||||
#define MON_DATA_POKEBALL 38
|
||||
#define MON_DATA_HP_IV 39
|
||||
#define MON_DATA_ATK_IV 40
|
||||
#define MON_DATA_DEF_IV 41
|
||||
#define MON_DATA_SPEED_IV 42
|
||||
#define MON_DATA_SPATK_IV 43
|
||||
#define MON_DATA_SPDEF_IV 44
|
||||
#define MON_DATA_IS_EGG 45
|
||||
#define MON_DATA_ABILITY_NUM 46
|
||||
#define MON_DATA_TOUGH 47
|
||||
#define MON_DATA_SHEEN 48
|
||||
#define MON_DATA_OT_GENDER 49
|
||||
#define MON_DATA_COOL_RIBBON 50
|
||||
#define MON_DATA_BEAUTY_RIBBON 51
|
||||
#define MON_DATA_CUTE_RIBBON 52
|
||||
#define MON_DATA_SMART_RIBBON 53
|
||||
#define MON_DATA_TOUGH_RIBBON 54
|
||||
#define MON_DATA_STATUS 55
|
||||
#define MON_DATA_LEVEL 56
|
||||
#define MON_DATA_HP 57
|
||||
#define MON_DATA_MAX_HP 58
|
||||
#define MON_DATA_ATK 59
|
||||
#define MON_DATA_DEF 60
|
||||
#define MON_DATA_SPEED 61
|
||||
#define MON_DATA_SPATK 62
|
||||
#define MON_DATA_SPDEF 63
|
||||
#define MON_DATA_MAIL 64
|
||||
#define MON_DATA_SPECIES2 65
|
||||
#define MON_DATA_IVS 66
|
||||
#define MON_DATA_CHAMPION_RIBBON 67
|
||||
#define MON_DATA_WINNING_RIBBON 68
|
||||
#define MON_DATA_VICTORY_RIBBON 69
|
||||
#define MON_DATA_ARTIST_RIBBON 70
|
||||
#define MON_DATA_EFFORT_RIBBON 71
|
||||
#define MON_DATA_GIFT_RIBBON_1 72
|
||||
#define MON_DATA_GIFT_RIBBON_2 73
|
||||
#define MON_DATA_GIFT_RIBBON_3 74
|
||||
#define MON_DATA_GIFT_RIBBON_4 75
|
||||
#define MON_DATA_GIFT_RIBBON_5 76
|
||||
#define MON_DATA_GIFT_RIBBON_6 77
|
||||
#define MON_DATA_GIFT_RIBBON_7 78
|
||||
#define MON_DATA_FATEFUL_ENCOUNTER 79
|
||||
#define MON_DATA_OBEDIENCE 80
|
||||
#define MON_DATA_KNOWN_MOVES 81
|
||||
#define MON_DATA_RIBBON_COUNT 82
|
||||
#define MON_DATA_RIBBONS 83
|
||||
#define MON_DATA_ATK2 84
|
||||
#define MON_DATA_DEF2 85
|
||||
#define MON_DATA_SPEED2 86
|
||||
#define MON_DATA_SPATK2 87
|
||||
#define MON_DATA_SPDEF2 88
|
||||
|
||||
// Pokemon types
|
||||
#define TYPE_NORMAL 0x00
|
||||
#define TYPE_FIGHTING 0x01
|
||||
@@ -93,4 +184,33 @@
|
||||
#define PLAYER_HAS_ONE_MON 0x1
|
||||
#define PLAYER_HAS_ONE_USABLE_MON 0x2
|
||||
|
||||
#define MAX_LEVEL 100
|
||||
|
||||
#define OT_ID_RANDOM_NO_SHINY 2
|
||||
#define OT_ID_PRESET 1
|
||||
#define OT_ID_PLAYER_ID 0
|
||||
|
||||
#define MON_GIVEN_TO_PARTY 0x0
|
||||
#define MON_GIVEN_TO_PC 0x1
|
||||
#define MON_CANT_GIVE 0x2
|
||||
|
||||
#define MON_MALE 0x00
|
||||
#define MON_FEMALE 0xFE
|
||||
#define MON_GENDERLESS 0xFF
|
||||
|
||||
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
|
||||
#define FRIENDSHIP_EVENT_VITAMIN 0x1
|
||||
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2
|
||||
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
|
||||
#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
|
||||
#define FRIENDSHIP_EVENT_WALKING 0x5
|
||||
#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
|
||||
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
|
||||
#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
|
||||
|
||||
#define PARTY_SIZE 6
|
||||
#define MAX_TOTAL_EVS 510
|
||||
#define UNOWN_FORM_COUNT 28
|
||||
#define MAX_MON_LEVEL 100
|
||||
|
||||
#endif // GUARD_CONSTANTS_POKEMON_H
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_DODRIO_BERRY_PICKING_H
|
||||
#define GUARD_DODRIO_BERRY_PICKING_H
|
||||
|
||||
void sub_81507FC(u16 species, MainCallback callback);
|
||||
|
||||
#endif //GUARD_DODRIO_BERRY_PICKING_H
|
||||
@@ -6,5 +6,10 @@
|
||||
void FreezeObjectEvents(void);
|
||||
void FreezeObjectEvent(struct ObjectEvent *);
|
||||
void FreezeObjectEventsExceptOne(u8 objEventId);
|
||||
void sub_8069124(u8 a0, bool8 a1);
|
||||
u32 sub_806916C(u8 a0);
|
||||
void sub_80691A4(u8 a0, u8 a1);
|
||||
void sub_8069094(u8 a0, u8 a1);
|
||||
bool32 sub_8069294(u8 a0);
|
||||
|
||||
#endif // GUARD_EVENT_OBJECT_80688E4_H
|
||||
|
||||
@@ -14,7 +14,7 @@ extern void *gUnknown_020375B8;
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_8097AC8(struct Sprite *);
|
||||
void npc_sync_anim_pause_bits(struct ObjectEvent *);
|
||||
void UnfreezeObjectEvent(struct ObjectEvent *);
|
||||
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
|
||||
u8 sub_8097F78(struct ObjectEvent *);
|
||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||
|
||||
@@ -11,5 +11,6 @@ void sub_8098630(void);
|
||||
bool8 sub_8098734(void);
|
||||
void sub_80696C0(void);
|
||||
bool8 walkrun_is_standing_still(void);
|
||||
void sub_80696F0(void);
|
||||
|
||||
#endif // GUARD_EVENT_OBJECT_LOCK_H
|
||||
|
||||
@@ -47,7 +47,7 @@ void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *);
|
||||
void SpawnObjectEventsInView(s16, s16);
|
||||
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
||||
u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8);
|
||||
u8 show_sprite(u8, u8, u8);
|
||||
u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8);
|
||||
u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *);
|
||||
void sub_8093038(s16, s16, s16 *, s16 *);
|
||||
@@ -82,7 +82,7 @@ bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *);
|
||||
u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *);
|
||||
u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z);
|
||||
void sub_8063E28(struct ObjectEvent *, struct Sprite *);
|
||||
void ObjectEventSetHeldMovement(struct ObjectEvent *, u8);
|
||||
bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8);
|
||||
void npc_coords_shift_still(struct ObjectEvent *);
|
||||
void sub_805FE7C(struct ObjectEvent *, u8);
|
||||
void SetTrainerMovementType(struct ObjectEvent *, u8);
|
||||
|
||||
@@ -7,5 +7,6 @@ extern u32 gUnknown_3005078;
|
||||
|
||||
void RestartWildEncounterImmunitySteps(void);
|
||||
void ClearPoisonStepCounter(void);
|
||||
void SetCableClubWarp(void);
|
||||
|
||||
#endif //GUARD_FIELD_CONTROL_AVATAR_H
|
||||
|
||||
@@ -17,6 +17,8 @@ void FieldCallback_ReturnToEventScript2(void);
|
||||
void sub_807DC00(void);
|
||||
void FadeTransition_FadeInOnReturnToStartMenu(void);
|
||||
|
||||
void sub_807DCE4(void);
|
||||
|
||||
bool32 sub_807E418(void);
|
||||
|
||||
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||
|
||||
@@ -35,5 +35,6 @@ bool32 sub_805DAD0(void);
|
||||
bool32 sub_805DC24(void);
|
||||
bool8 PartyHasMonWithSurf(void);
|
||||
bool8 IsPlayerSurfingNorth(void);
|
||||
void player_get_pos_including_state_based_drift(s16 *x, s16 *y);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
void fade_screen(u8, s8);
|
||||
void FadeScreen(u8, s8);
|
||||
|
||||
void SetSav1Weather(u32);
|
||||
u8 GetSav1Weather(void);
|
||||
|
||||
@@ -31,5 +31,6 @@ void sub_8059948(u8 a0, u8 a1);
|
||||
void save_serialize_map(void);
|
||||
u32 sub_8058F1C(u32 original, u8 bit);
|
||||
u32 sub_8058F48(s16 x, s16 y, u8 z);
|
||||
void sub_8059024(s32 x, s32 y, bool32 arg2);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
||||
@@ -275,9 +275,9 @@ enum
|
||||
struct PlayerAvatar /* 0x202E858 */
|
||||
{
|
||||
/*0x00*/ u8 flags;
|
||||
/*0x01*/ u8 bike;
|
||||
/*0x02*/ u8 running2;
|
||||
/*0x03*/ u8 running1;
|
||||
/*0x01*/ u8 unk1; // used to be bike, but it's not that in Emerald and probably isn't here either. maybe transition flags?
|
||||
/*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
|
||||
/*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 objectEventId;
|
||||
/*0x06*/ u8 unk6;
|
||||
|
||||
@@ -278,5 +278,6 @@ bool8 HandleLinkConnection(void);
|
||||
void sub_800B0B4(void);
|
||||
void sub_800B110(u32 who);
|
||||
void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
|
||||
u8 sub_800A8D4(void);
|
||||
|
||||
#endif // GUARD_LINK_H
|
||||
|
||||
+34
-4
@@ -233,9 +233,9 @@ void MG_DrawCheckerboardPattern(void);
|
||||
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||
bool8 IsLinkRfuTaskFinished(void);
|
||||
void DestroyWirelessStatusIndicatorSprite(void);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u8);
|
||||
void MEvent_CreateTask_CardOrNewsOverWireless(u8);
|
||||
void MEvent_CreateTask_Leader(u8);
|
||||
void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0);
|
||||
void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0);
|
||||
void MEvent_CreateTask_Leader(u32 arg0);
|
||||
void sub_80F9E2C(void * data);
|
||||
u8 sub_8116DE0(void);
|
||||
void sub_80FBB4C(void);
|
||||
@@ -288,13 +288,43 @@ bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1);
|
||||
void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1);
|
||||
u8 sub_80FEA34(u8 a0, u16 a1);
|
||||
void sub_80FDA30(u32 a0);
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3);
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3);
|
||||
void LinkRfu_syncVBlank_(void);
|
||||
s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16));
|
||||
void sub_80FEB3C(void);
|
||||
void sub_80FAFE0(u8 a0);
|
||||
bool32 sub_80FA44C(u32 a0);
|
||||
bool8 sub_80FC1B0(void);
|
||||
bool8 sub_80F8F40(void);
|
||||
void sub_80F8F5C(void);
|
||||
bool32 sub_80FA5D4(void);
|
||||
bool32 sub_80FC1CC(void);
|
||||
bool32 sub_80F8F7C(bool32 a0);
|
||||
bool32 sub_80FA634(u16 a0, const u8 *a1);
|
||||
void sub_80FA670(u8 a0, u16 a1, const u8 *a2);
|
||||
u32 sub_80FA6FC(u16 a0, const u8 *a1);
|
||||
void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2);
|
||||
void sub_80FBB8C(u32 a0);
|
||||
void sub_80FBD4C(const u8 *ptr, u16 a1);
|
||||
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname);
|
||||
void sub_80FBBD8(void);
|
||||
void sub_80FA6BC(void);
|
||||
void sub_80FBF54(const u8 *src, u16 trainerId);
|
||||
void sub_80FB008(u8 a0, u32 a1, u32 a2);
|
||||
void RecordMixTrainerNames(void);
|
||||
void sub_80F8CFC();
|
||||
void sub_80F8D14();
|
||||
void sub_80FAF74(bool32 a0, bool32 a1);
|
||||
void ClearAndInitHostRFUtgtGname(void);
|
||||
void sub_80F8FA0(void);
|
||||
void sub_80FAFA0(u32 type, u32 species, u32 level);
|
||||
bool32 sub_80FBB0C(void);
|
||||
void sub_80FBC00(void);
|
||||
void sub_80FBD6C(u32 a0);
|
||||
void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2);
|
||||
bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name);
|
||||
bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx);
|
||||
bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx);
|
||||
|
||||
#include "mevent_server.h"
|
||||
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
||||
|
||||
@@ -70,5 +70,8 @@ void sub_8143D24(void);
|
||||
u16 sub_81445C0(u32 command);
|
||||
void sub_8144714(u32 a0, u32 a1);
|
||||
u16 *GetMEventProfileECWordsMaybe(void);
|
||||
void sub_81446C4(void);
|
||||
bool32 sub_81446D0(u16 a0);
|
||||
u16 GetWonderCardFlagId(void);
|
||||
|
||||
#endif //GUARD_MEVENT_H
|
||||
|
||||
@@ -86,6 +86,7 @@ struct mevent_server_cmd
|
||||
#define SRV_SEND_NEWS {.instr = 14}
|
||||
#define SRV_BUFFER_SEND {.instr = 15}
|
||||
#define SRV_SEND(x, y) {.instr = 18, .flag = x, .parameter = (void *)y}
|
||||
#define SRV_SENDSTR(x, y) {.instr = 20, .flag = x, .parameter = (void *)y}
|
||||
#define SRV_BUFFER_CARD {.instr = 26}
|
||||
#define SRV_BUFFER_NEWS {.instr = 27}
|
||||
#define SRV_RAM_SCRIPT_IF_VALID {.instr = 28}
|
||||
|
||||
@@ -7,5 +7,8 @@ void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void);
|
||||
void PrintMysteryGiftOrEReaderTopMenu(bool8, bool32);
|
||||
void c2_mystery_gift(void);
|
||||
void c2_mystery_gift_e_reader_run(void);
|
||||
s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str);
|
||||
void MG_DrawTextBorder(u8 windowId);
|
||||
u16 GetMysteryGiftBaseBlock(void);
|
||||
|
||||
#endif //GUARD_MYSTERY_GIFT_MENU_H
|
||||
|
||||
+2
-1
@@ -62,7 +62,8 @@ extern struct WarpData gUnknown_2031DB4;
|
||||
extern struct WarpData gUnknown_2031DBC;
|
||||
|
||||
extern u8 gUnknown_2031DE0;
|
||||
extern u8 gUnknown_300502C;
|
||||
extern u8 gFieldLinkPlayerCount;
|
||||
extern u8 gLocalLinkPlayerId;
|
||||
|
||||
void IncrementGameStat(u8 index);
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ void CB2_ChooseMonToGiveItem(void);
|
||||
void ChooseMonToGiveMailFromMailbox(void);
|
||||
void InitChooseHalfPartyForBattle(u8 a1);
|
||||
void ClearSelectedPartyOrder(void);
|
||||
void sub_81277F4(u8 menuType, MainCallback callback);
|
||||
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
|
||||
void ChooseMonForMoveTutor(void);
|
||||
void ChooseMonForWirelessMinigame(void);
|
||||
void OpenPartyMenuInTutorialBattle(u8 partyAction);
|
||||
|
||||
+1
-183
@@ -3,167 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "sprite.h"
|
||||
|
||||
#define MON_DATA_PERSONALITY 0
|
||||
#define MON_DATA_OT_ID 1
|
||||
#define MON_DATA_NICKNAME 2
|
||||
#define MON_DATA_LANGUAGE 3
|
||||
#define MON_DATA_SANITY_IS_BAD_EGG 4
|
||||
#define MON_DATA_SANITY_HAS_SPECIES 5
|
||||
#define MON_DATA_SANITY_IS_EGG 6
|
||||
#define MON_DATA_OT_NAME 7
|
||||
#define MON_DATA_MARKINGS 8
|
||||
#define MON_DATA_CHECKSUM 9
|
||||
#define MON_DATA_ENCRYPT_SEPARATOR 10
|
||||
#define MON_DATA_SPECIES 11
|
||||
#define MON_DATA_HELD_ITEM 12
|
||||
#define MON_DATA_MOVE1 13
|
||||
#define MON_DATA_MOVE2 14
|
||||
#define MON_DATA_MOVE3 15
|
||||
#define MON_DATA_MOVE4 16
|
||||
#define MON_DATA_PP1 17
|
||||
#define MON_DATA_PP2 18
|
||||
#define MON_DATA_PP3 19
|
||||
#define MON_DATA_PP4 20
|
||||
#define MON_DATA_PP_BONUSES 21
|
||||
#define MON_DATA_COOL 22
|
||||
#define MON_DATA_BEAUTY 23
|
||||
#define MON_DATA_CUTE 24
|
||||
#define MON_DATA_EXP 25
|
||||
#define MON_DATA_HP_EV 26
|
||||
#define MON_DATA_ATK_EV 27
|
||||
#define MON_DATA_DEF_EV 28
|
||||
#define MON_DATA_SPEED_EV 29
|
||||
#define MON_DATA_SPATK_EV 30
|
||||
#define MON_DATA_SPDEF_EV 31
|
||||
#define MON_DATA_FRIENDSHIP 32
|
||||
#define MON_DATA_SMART 33
|
||||
#define MON_DATA_POKERUS 34
|
||||
#define MON_DATA_MET_LOCATION 35
|
||||
#define MON_DATA_MET_LEVEL 36
|
||||
#define MON_DATA_MET_GAME 37
|
||||
#define MON_DATA_POKEBALL 38
|
||||
#define MON_DATA_HP_IV 39
|
||||
#define MON_DATA_ATK_IV 40
|
||||
#define MON_DATA_DEF_IV 41
|
||||
#define MON_DATA_SPEED_IV 42
|
||||
#define MON_DATA_SPATK_IV 43
|
||||
#define MON_DATA_SPDEF_IV 44
|
||||
#define MON_DATA_IS_EGG 45
|
||||
#define MON_DATA_ABILITY_NUM 46
|
||||
#define MON_DATA_TOUGH 47
|
||||
#define MON_DATA_SHEEN 48
|
||||
#define MON_DATA_OT_GENDER 49
|
||||
#define MON_DATA_COOL_RIBBON 50
|
||||
#define MON_DATA_BEAUTY_RIBBON 51
|
||||
#define MON_DATA_CUTE_RIBBON 52
|
||||
#define MON_DATA_SMART_RIBBON 53
|
||||
#define MON_DATA_TOUGH_RIBBON 54
|
||||
#define MON_DATA_STATUS 55
|
||||
#define MON_DATA_LEVEL 56
|
||||
#define MON_DATA_HP 57
|
||||
#define MON_DATA_MAX_HP 58
|
||||
#define MON_DATA_ATK 59
|
||||
#define MON_DATA_DEF 60
|
||||
#define MON_DATA_SPEED 61
|
||||
#define MON_DATA_SPATK 62
|
||||
#define MON_DATA_SPDEF 63
|
||||
#define MON_DATA_MAIL 64
|
||||
#define MON_DATA_SPECIES2 65
|
||||
#define MON_DATA_IVS 66
|
||||
#define MON_DATA_CHAMPION_RIBBON 67
|
||||
#define MON_DATA_WINNING_RIBBON 68
|
||||
#define MON_DATA_VICTORY_RIBBON 69
|
||||
#define MON_DATA_ARTIST_RIBBON 70
|
||||
#define MON_DATA_EFFORT_RIBBON 71
|
||||
#define MON_DATA_GIFT_RIBBON_1 72
|
||||
#define MON_DATA_GIFT_RIBBON_2 73
|
||||
#define MON_DATA_GIFT_RIBBON_3 74
|
||||
#define MON_DATA_GIFT_RIBBON_4 75
|
||||
#define MON_DATA_GIFT_RIBBON_5 76
|
||||
#define MON_DATA_GIFT_RIBBON_6 77
|
||||
#define MON_DATA_GIFT_RIBBON_7 78
|
||||
#define MON_DATA_FATEFUL_ENCOUNTER 79
|
||||
#define MON_DATA_OBEDIENCE 80
|
||||
#define MON_DATA_KNOWN_MOVES 81
|
||||
#define MON_DATA_RIBBON_COUNT 82
|
||||
#define MON_DATA_RIBBONS 83
|
||||
#define MON_DATA_ATK2 84
|
||||
#define MON_DATA_DEF2 85
|
||||
#define MON_DATA_SPEED2 86
|
||||
#define MON_DATA_SPATK2 87
|
||||
#define MON_DATA_SPDEF2 88
|
||||
|
||||
#define MAX_LEVEL 100
|
||||
|
||||
#define OT_ID_RANDOM_NO_SHINY 2
|
||||
#define OT_ID_PRESET 1
|
||||
#define OT_ID_PLAYER_ID 0
|
||||
|
||||
#define MON_GIVEN_TO_PARTY 0x0
|
||||
#define MON_GIVEN_TO_PC 0x1
|
||||
#define MON_CANT_GIVE 0x2
|
||||
|
||||
#define MON_MALE 0x00
|
||||
#define MON_FEMALE 0xFE
|
||||
#define MON_GENDERLESS 0xFF
|
||||
|
||||
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
|
||||
#define FRIENDSHIP_EVENT_VITAMIN 0x1
|
||||
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2
|
||||
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
|
||||
#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
|
||||
#define FRIENDSHIP_EVENT_WALKING 0x5
|
||||
#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
|
||||
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
|
||||
#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
|
||||
|
||||
#define TYPE_NORMAL 0x00
|
||||
#define TYPE_FIGHTING 0x01
|
||||
#define TYPE_FLYING 0x02
|
||||
#define TYPE_POISON 0x03
|
||||
#define TYPE_GROUND 0x04
|
||||
#define TYPE_ROCK 0x05
|
||||
#define TYPE_BUG 0x06
|
||||
#define TYPE_GHOST 0x07
|
||||
#define TYPE_STEEL 0x08
|
||||
#define TYPE_MYSTERY 0x09
|
||||
#define TYPE_FIRE 0x0a
|
||||
#define TYPE_WATER 0x0b
|
||||
#define TYPE_GRASS 0x0c
|
||||
#define TYPE_ELECTRIC 0x0d
|
||||
#define TYPE_PSYCHIC 0x0e
|
||||
#define TYPE_ICE 0x0f
|
||||
#define TYPE_DRAGON 0x10
|
||||
#define TYPE_DARK 0x11
|
||||
|
||||
#define NUMBER_OF_MON_TYPES 0x12
|
||||
|
||||
#define PARTY_SIZE 6
|
||||
#define MAX_TOTAL_EVS 510
|
||||
#define NUM_STATS 6
|
||||
#define UNOWN_FORM_COUNT 28
|
||||
#define MAX_MON_LEVEL 100
|
||||
|
||||
enum
|
||||
{
|
||||
EGG_GROUP_NONE,
|
||||
EGG_GROUP_MONSTER,
|
||||
EGG_GROUP_WATER_1,
|
||||
EGG_GROUP_BUG,
|
||||
EGG_GROUP_FLYING,
|
||||
EGG_GROUP_FIELD,
|
||||
EGG_GROUP_FAIRY,
|
||||
EGG_GROUP_GRASS,
|
||||
EGG_GROUP_HUMAN_LIKE,
|
||||
EGG_GROUP_WATER_3,
|
||||
EGG_GROUP_MINERAL,
|
||||
EGG_GROUP_AMORPHOUS,
|
||||
EGG_GROUP_WATER_2,
|
||||
EGG_GROUP_DITTO,
|
||||
EGG_GROUP_DRAGON,
|
||||
EGG_GROUP_UNDISCOVERED
|
||||
};
|
||||
#include "constants/pokemon.h"
|
||||
|
||||
struct PokemonSubstruct0
|
||||
{
|
||||
@@ -357,28 +197,6 @@ struct BattlePokemon
|
||||
/*0x54*/ u32 otId;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
STAT_STAGE_HP, // 0
|
||||
STAT_STAGE_ATK, // 1
|
||||
STAT_STAGE_DEF, // 2
|
||||
STAT_STAGE_SPEED, // 3
|
||||
STAT_STAGE_SPATK, // 4
|
||||
STAT_STAGE_SPDEF, // 5
|
||||
STAT_STAGE_ACC, // 6
|
||||
STAT_STAGE_EVASION, // 7
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
STAT_HP, // 0
|
||||
STAT_ATK, // 1
|
||||
STAT_DEF, // 2
|
||||
STAT_SPD, // 3
|
||||
STAT_SPATK, // 4
|
||||
STAT_SPDEF, // 5
|
||||
};
|
||||
|
||||
struct BaseStats
|
||||
{
|
||||
/* 0x00 */ u8 baseHP;
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
|
||||
void ResetPokeJumpResults(void);
|
||||
bool32 IsSpeciesAllowedInPokemonJump(u16 species);
|
||||
void sub_8147AA8(u16 species, MainCallback callback);
|
||||
|
||||
#endif // GUARD_POKEMON_JUMP_H
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
#define GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
|
||||
#include "union_room.h"
|
||||
|
||||
void sub_811C1C8(void);
|
||||
void sub_811BAAC(u8 *spriteIds, s32 arg1);
|
||||
void sub_811BB40(u8 *spriteIds);
|
||||
void sub_811BB68(void);
|
||||
void sub_811BECC(struct UnkStruct_URoom *arg0);
|
||||
void sub_811BEDC(struct UnkStruct_URoom *arg0);
|
||||
bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3);
|
||||
void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
|
||||
u8 ZeroUnionObjWork(struct UnionObj * ptr);
|
||||
void sub_811BA78(void);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H
|
||||
@@ -6,6 +6,7 @@
|
||||
#define POKECENTER_SAVEWARP (1 << 1)
|
||||
#define LOBBY_SAVEWARP (1 << 2)
|
||||
#define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3)
|
||||
#define CHAMPION_SAVEWARP (1 << 7)
|
||||
|
||||
void TrySetMapSaveWarpStatus(void);
|
||||
bool32 IsCurMapPokeCenter(void);
|
||||
|
||||
@@ -1056,4 +1056,9 @@ extern const u8 gText_DepositHowManyStrVars1[];
|
||||
extern const u8 gText_DepositedStrVar2StrVar1s[];
|
||||
extern const u8 gText_NoRoomToStoreItems[];
|
||||
|
||||
// union_room_battle
|
||||
extern const u8 gText_CommStandbyAwaitingOtherPlayer[];
|
||||
extern const u8 gText_RefusedBattle[];
|
||||
extern const u8 gText_BattleWasRefused[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
+56
-53
@@ -2,11 +2,11 @@
|
||||
#define GUARD_UNION_ROOM_H
|
||||
|
||||
#include "global.h"
|
||||
#include "librfu.h"
|
||||
#include "link_rfu.h"
|
||||
|
||||
struct UnkStruct_Shared
|
||||
{
|
||||
struct GFtgtGname field_0;
|
||||
struct GFtgtGname gname;
|
||||
u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH];
|
||||
};
|
||||
|
||||
@@ -28,26 +28,27 @@ struct UnkStruct_x20
|
||||
u8 field_1F;
|
||||
};
|
||||
|
||||
// These arrays are dynamically allocated but must be
|
||||
// represented as structs to match.
|
||||
// Don't ask me why.
|
||||
|
||||
// FIXME: Find a way around this.
|
||||
|
||||
struct UnkStruct_Main0
|
||||
{
|
||||
struct UnkStruct_x20 arr[8];
|
||||
struct UnkStruct_x20 arr[0];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main4
|
||||
{
|
||||
struct UnkStruct_x1C arr[5];
|
||||
};
|
||||
|
||||
struct UnkStruct_Main8
|
||||
{
|
||||
struct UnkStruct_x20 arr[5];
|
||||
struct UnkStruct_x1C arr[0];
|
||||
};
|
||||
|
||||
struct UnkStruct_Leader
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main8 *field_8;
|
||||
struct UnkStruct_Main0 * field_0;
|
||||
struct UnkStruct_Main4 * field_4;
|
||||
struct UnkStruct_Main0 * field_8;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_E;
|
||||
@@ -67,8 +68,8 @@ struct UnkStruct_Leader
|
||||
|
||||
struct UnkStruct_Group
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main0 * field_0;
|
||||
struct UnkStruct_Main4 * field_4;
|
||||
u8 state;
|
||||
u8 textState;
|
||||
u8 field_A;
|
||||
@@ -85,56 +86,56 @@ struct UnkStruct_Group
|
||||
u8 field_15;
|
||||
};
|
||||
|
||||
struct UnkStruct_8019BA8
|
||||
struct UnionObj
|
||||
{
|
||||
u8 field_0;
|
||||
u8 field_1;
|
||||
s8 field_2;
|
||||
u8 field_3;
|
||||
u8 state;
|
||||
u8 gfxId;
|
||||
s8 animState;
|
||||
u8 schedAnim;
|
||||
};
|
||||
|
||||
struct UnkStruct_URoom
|
||||
{
|
||||
struct UnkStruct_Main0 *field_0;
|
||||
struct UnkStruct_Main4 *field_4;
|
||||
struct UnkStruct_Main0 *field_8;
|
||||
struct UnkStruct_Main4 *field_C;
|
||||
u16 field_10;
|
||||
u16 field_12;
|
||||
u8 state;
|
||||
u8 stateAfterPrint;
|
||||
u8 textState;
|
||||
u8 field_17;
|
||||
u8 field_18;
|
||||
u8 field_19;
|
||||
u8 field_1A;
|
||||
u8 field_1B;
|
||||
u8 field_1C;
|
||||
u8 field_1D;
|
||||
u8 field_1E;
|
||||
u8 field_1F;
|
||||
u8 field_20;
|
||||
u8 spriteIds[40];
|
||||
u8 field_49;
|
||||
u8 field_4A;
|
||||
u16 field_4C[6];
|
||||
u8 field_58[0x98 - 0x58];
|
||||
u16 field_98;
|
||||
u16 field_9A[3];
|
||||
struct UnkStruct_8019BA8 field_A0[8];
|
||||
u8 field_C0[12][15];
|
||||
u8 field_174[48];
|
||||
u8 field_1A4[200];
|
||||
/* 0x000 */ struct UnkStruct_Main0 * field_0;
|
||||
/* 0x004 */ struct UnkStruct_Main4 * field_4;
|
||||
/* 0x008 */ struct UnkStruct_Main0 * field_8;
|
||||
/* 0x00C */ struct UnkStruct_Main4 * field_C;
|
||||
/* 0x010 */ u16 field_10;
|
||||
/* 0x012 */ u16 field_12;
|
||||
/* 0x014 */ u8 state;
|
||||
/* 0x015 */ u8 stateAfterPrint;
|
||||
/* 0x016 */ u8 textState;
|
||||
/* 0x017 */ u8 field_17;
|
||||
/* 0x018 */ u8 field_18;
|
||||
/* 0x019 */ u8 field_19;
|
||||
/* 0x01A */ u8 field_1A;
|
||||
/* 0x01B */ u8 field_1B;
|
||||
/* 0x01C */ u8 field_1C;
|
||||
/* 0x01D */ u8 field_1D;
|
||||
/* 0x01E */ u8 field_1E;
|
||||
/* 0x01F */ u8 field_1F;
|
||||
/* 0x020 */ u8 field_20;
|
||||
/* 0x021 */ u8 spriteIds[40];
|
||||
/* 0x049 */ u8 field_49;
|
||||
/* 0x04A */ u8 field_4A;
|
||||
/* 0x04C */ u16 field_4C[6];
|
||||
/* 0x058 */ u8 field_58[4][11];
|
||||
/* 0x084 */ u16 field_98;
|
||||
/* 0x086 */ u16 field_9A[3];
|
||||
/* 0x08C */ struct UnionObj unionObjs[8];
|
||||
/* 0x0AC */ u8 trainerCardStrbufs[12][15];
|
||||
/* 0x160 */ u8 field_174[48];
|
||||
/* 0x190 */ u8 field_1A4[200];
|
||||
};
|
||||
|
||||
union UnkUnion_Main
|
||||
{
|
||||
struct UnkStruct_Leader *leader;
|
||||
struct UnkStruct_Group *group;
|
||||
struct UnkStruct_URoom *uRoom;
|
||||
struct UnkStruct_Leader * leader;
|
||||
struct UnkStruct_Group * group;
|
||||
struct UnkStruct_URoom * uRoom;
|
||||
};
|
||||
|
||||
struct TradeUnkStruct
|
||||
struct UnionRoomTrade
|
||||
{
|
||||
u16 field_0;
|
||||
u16 type;
|
||||
@@ -153,4 +154,6 @@ extern struct GFtgtGnameSub gUnknown_203B064;
|
||||
extern u16 gUnionRoomOfferedSpecies;
|
||||
extern u8 gUnionRoomRequestedMonType;
|
||||
|
||||
void sub_81173C0(u16 battleFlags);
|
||||
|
||||
#endif //GUARD_UNION_ROOM_H
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_UNION_ROOM_CHAT_H
|
||||
|
||||
void sub_801DD98(void);
|
||||
void sub_8128420(void);
|
||||
void copy_strings_to_sav1(void);
|
||||
|
||||
#endif // GUARD_UNION_ROOM_CHAT_H
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
#ifndef GUARD_UNION_ROOM_MESSAGE_H
|
||||
#define GUARD_UNION_ROOM_MESSAGE_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern const u8 gUnknown_84571AC[];
|
||||
extern const u8 gUnknown_84571B0[];
|
||||
extern const u8 gUnknown_84571B4[];
|
||||
extern const u8 gUnknown_84571B8[];
|
||||
extern const u8 gUnknown_84571E0[];
|
||||
extern const u8 gUnknown_8457234[];
|
||||
extern const u8 gUnknown_8457264[];
|
||||
extern const u8 *const gUnknown_845742C[][5];
|
||||
extern const u8 gUnknown_845747C[];
|
||||
extern const u8 gUnknown_84574A0[];
|
||||
extern const u8 gUnknown_84574C4[];
|
||||
extern const u8 gUnknown_84574EC[];
|
||||
extern const u8 gUnknown_8457514[];
|
||||
extern const u8 gUnknown_8457530[];
|
||||
extern const u8 gUnknown_8457554[];
|
||||
extern const u8 *const gUnknown_8457608[];
|
||||
extern const u8 gUnknown_8457610[];
|
||||
extern const u8 *const gUnknown_845767C[];
|
||||
extern const u8 gUnknown_84576AC[];
|
||||
extern const u8 gUnknown_84576C4[];
|
||||
extern const u8 gUnknown_8457700[];
|
||||
extern const u8 gUnknown_845771C[];
|
||||
extern const u8 *const gUnknown_8457754[];
|
||||
extern const u8 gUnknown_845777C[];
|
||||
extern const u8 gUnknown_84577BC[];
|
||||
extern const u8 gUnknown_84577F8[];
|
||||
extern const u8 *const gUnknown_8457838[];
|
||||
extern const u8 gUnknown_84578BC[];
|
||||
extern const u8 *const gUnknown_8457A34[];
|
||||
extern const u8 *const gUnknown_8457B04[][2];
|
||||
extern const u8 *const gUnknown_8457BCC[];
|
||||
extern const u8 *const gUnknown_8457C20[];
|
||||
extern const u8 gUnknown_8457C48[];
|
||||
extern const u8 gUnknown_8457CA4[];
|
||||
extern const u8 gUnknown_8457CF8[];
|
||||
extern const u8 gUnknown_8457D44[];
|
||||
extern const u8 gUnknown_8457DB8[];
|
||||
extern const u8 gUnknown_8457E0C[];
|
||||
extern const u8 gUnknown_8457E28[];
|
||||
extern const u8 gUnknown_8457E44[];
|
||||
extern const u8 gUnknown_8457E60[];
|
||||
extern const u8 *const gUnknown_8457F80[][2];
|
||||
extern const u8 gUnknown_8457F90[];
|
||||
extern const u8 *const gUnknown_84580F4[][4];
|
||||
extern const u8 *const gUnknown_8458230[][2][3];
|
||||
extern const u8 *const gUnknown_8458314[];
|
||||
extern const u8 *const gUnknown_84583B4[];
|
||||
extern const u8 *const gUnknown_845842C[];
|
||||
extern const u8 gUnknown_8458434[];
|
||||
extern const u8 gUnknown_845847C[];
|
||||
extern const u8 gUnknown_84584C0[];
|
||||
extern const u8 *const gUnknown_8458548[];
|
||||
extern const u8 *const gUnknown_84585E8[];
|
||||
extern const u8 *const gUnknown_8458758[2][4];
|
||||
extern const u8 *const gUnknown_84588BC[2][4];
|
||||
extern const u8 *const gUnknown_84589AC[2][2];
|
||||
extern const u8 *const gUnknown_8458A78[2][4];
|
||||
extern const u8 gUnknown_8458A98[];
|
||||
extern const u8 gUnknown_8458AB8[];
|
||||
extern const u8 gUnknown_8458B44[];
|
||||
extern const u8 gUnknown_8458CD4[];
|
||||
extern const u8 gUnknown_8458D1C[];
|
||||
extern const u8 gUnknown_8458D54[];
|
||||
extern const u8 gUnknown_8458D78[];
|
||||
extern const u8 gUnknown_8458D9C[];
|
||||
extern const u8 gUnknown_8458DBC[];
|
||||
extern const u8 gUnknown_8458DE8[];
|
||||
extern const u8 gUnknown_8458E10[];
|
||||
extern const u8 gUnknown_8458E70[];
|
||||
extern const u8 gUnknown_8458ED0[];
|
||||
extern const u8 gUnknown_8458F04[];
|
||||
extern const u8 gUnknown_8458F9C[];
|
||||
extern const u8 gUnknown_8458FBC[];
|
||||
extern const u8 gUnknown_8458FC8[];
|
||||
extern const u8 gUnknown_8458FE4[];
|
||||
extern const u8 gUnknown_84591DC[];
|
||||
extern const u8 *const gUnknown_84591B8[];
|
||||
extern const u8 gUnknown_8459238[];
|
||||
extern const u8 gUnknown_8459250[];
|
||||
extern const u8 gUnknown_845928C[];
|
||||
extern const u8 *const gUnknown_845933C[];
|
||||
extern const u8 gUnknown_8459344[];
|
||||
extern const u8 gUnknown_845934C[];
|
||||
extern const u8 gUnknown_8459354[];
|
||||
extern const u8 gUnknown_8459360[];
|
||||
extern const u8 gUnknown_8459368[];
|
||||
extern const u8 gUnknown_8459370[];
|
||||
extern const u8 gUnknown_8459378[];
|
||||
extern const u8 gUnknown_8459394[];
|
||||
extern const u8 gUnknown_84593A4[];
|
||||
extern const u8 gUnknown_84593B4[];
|
||||
extern const u8 gUnknown_84593C4[];
|
||||
extern const u8 gUnknown_84593D4[];
|
||||
extern const u8 gUnknown_84593E4[];
|
||||
extern const u8 gUnknown_84593F4[];
|
||||
extern const u8 gUnknown_84593DC[];
|
||||
extern const u8 gUnknown_8459400[];
|
||||
extern const u8 gUnknown_8459410[];
|
||||
extern const u8 gUnknown_845941C[];
|
||||
extern const u8 gUnknown_845942C[];
|
||||
extern const u8 gUnknown_8459434[];
|
||||
extern const u8 gUnknown_8459440[];
|
||||
extern const u8 *const gUnknown_84594B0[];
|
||||
extern const u8 gUnknown_84594C4[];
|
||||
extern const u8 gUnknown_8459504[];
|
||||
extern const u8 *const gUnknown_8459580[];
|
||||
extern const u8 gUnknown_8459588[];
|
||||
|
||||
#endif //GUARD_UNION_ROOM_MESSAGE_H
|
||||
+7
-3
@@ -241,8 +241,9 @@ SECTIONS {
|
||||
src/mailbox_pc.o(.text);
|
||||
src/menu.o(.text);
|
||||
src/quest_log.o(.text);
|
||||
asm/union_room.o(.text);
|
||||
asm/union_room_player_avatar.o(.text);
|
||||
src/union_room.o(.text);
|
||||
src/rfu_union_tool.o(.text);
|
||||
src/union_room_battle.o(.text);
|
||||
asm/pokemon_special_anim.o(.text);
|
||||
src/party_menu.o(.text);
|
||||
asm/union_room_chat.o(.text);
|
||||
@@ -527,7 +528,10 @@ SECTIONS {
|
||||
data/decorations.o(.rodata);
|
||||
src/menu.o(.rodata);
|
||||
src/quest_log.o(.rodata);
|
||||
data/union_room.o(.rodata);
|
||||
src/union_room.o(.rodata);
|
||||
src/rfu_union_tool.o(.rodata);
|
||||
src/union_room_battle.o(.rodata);
|
||||
src/union_room_message.o(.rodata);
|
||||
data/pokemon_special_anim.o(.rodata);
|
||||
src/party_menu.o(.rodata);
|
||||
data/union_room_chat.o(.rodata);
|
||||
|
||||
+2
-2
@@ -920,7 +920,7 @@ static s32 RollCredits(void)
|
||||
case CREDITSSCRCMD_MON:
|
||||
sCreditsMgr->mainseqno = CREDITSSCENE_MON_DESTROY_ASSETS;
|
||||
sCreditsMgr->whichMon = sCreditsScript[sCreditsMgr->scrcmdidx].param;
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
break;
|
||||
case CREDITSSCRCMD_THEENDGFX:
|
||||
sCreditsMgr->mainseqno = CREDITSSCENE_THEEND_DESTROY_ASSETS;
|
||||
@@ -1342,7 +1342,7 @@ static s32 RollCredits(void)
|
||||
"\tstrb r0, [r2, 0x9]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl fade_screen\n"
|
||||
"\tbl FadeScreen\n"
|
||||
"\tb _080F3E94\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_080F3E50: .4byte sCreditsMgr\n"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
bool8 walkrun_is_standing_still(void)
|
||||
{
|
||||
if (gPlayerAvatar.running1 == 1)
|
||||
if (gPlayerAvatar.tileTransitionState == 1)
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
|
||||
+11
-11
@@ -56,12 +56,12 @@ void pal_fill_for_maplights(void)
|
||||
{
|
||||
case 0:
|
||||
palette_bg_faded_fill_black();
|
||||
fade_screen(0, 0);
|
||||
FadeScreen(0, 0);
|
||||
palette_bg_faded_fill_black();
|
||||
break;
|
||||
case 1:
|
||||
palette_bg_faded_fill_white();
|
||||
fade_screen(2, 0);
|
||||
FadeScreen(2, 0);
|
||||
palette_bg_faded_fill_white();
|
||||
break;
|
||||
}
|
||||
@@ -73,12 +73,12 @@ static void sub_807DBAC(void)
|
||||
{
|
||||
case 0:
|
||||
palette_bg_faded_fill_black();
|
||||
fade_screen(0, 3);
|
||||
FadeScreen(0, 3);
|
||||
palette_bg_faded_fill_black();
|
||||
break;
|
||||
case 1:
|
||||
palette_bg_faded_fill_white();
|
||||
fade_screen(2, 3);
|
||||
FadeScreen(2, 3);
|
||||
palette_bg_faded_fill_white();
|
||||
break;
|
||||
}
|
||||
@@ -87,7 +87,7 @@ static void sub_807DBAC(void)
|
||||
void sub_807DC00(void)
|
||||
{
|
||||
palette_bg_faded_fill_black();
|
||||
fade_screen(0, 0);
|
||||
FadeScreen(0, 0);
|
||||
palette_bg_faded_fill_black();
|
||||
}
|
||||
|
||||
@@ -95,16 +95,16 @@ void sub_807DC18(void)
|
||||
{
|
||||
const struct MapHeader *header = warp1_get_mapheader();
|
||||
if (header->regionMapSectionId != gMapHeader.regionMapSectionId && sub_80F8110(header->regionMapSectionId, FALSE))
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
else
|
||||
{
|
||||
switch (sub_80C9D7C(GetCurrentMapType(), header->mapType))
|
||||
{
|
||||
case 0:
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
break;
|
||||
case 1:
|
||||
fade_screen(3, 0);
|
||||
FadeScreen(3, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -115,10 +115,10 @@ static void sub_807DC70(void)
|
||||
switch (sub_80C9D7C(GetCurrentMapType(), warp1_get_mapheader()->mapType))
|
||||
{
|
||||
case 0:
|
||||
fade_screen(1, 3);
|
||||
FadeScreen(1, 3);
|
||||
break;
|
||||
case 1:
|
||||
fade_screen(3, 3);
|
||||
FadeScreen(3, 3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -654,7 +654,7 @@ static void sub_807E678(u8 taskId)
|
||||
{
|
||||
case 0:
|
||||
ClearLinkCallback_2();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
sub_8055F88();
|
||||
PlaySE(SE_KAIDAN);
|
||||
data[0]++;
|
||||
|
||||
+5
-5
@@ -458,7 +458,7 @@ void FieldUseFunc_TmCase(u8 taskId)
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_InitTMCaseFromField;
|
||||
}
|
||||
}
|
||||
@@ -489,7 +489,7 @@ void FieldUseFunc_BerryPouch(u8 taskId)
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_InitBerryPouchFromField;
|
||||
}
|
||||
}
|
||||
@@ -532,7 +532,7 @@ void FieldUseFunc_TeachyTv(u8 taskId)
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_InitTeachyTvFromField;
|
||||
}
|
||||
}
|
||||
@@ -662,7 +662,7 @@ void FieldUseFunc_TownMap(u8 taskId)
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = sub_80A1CC0;
|
||||
}
|
||||
}
|
||||
@@ -694,7 +694,7 @@ void FieldUseFunc_FameChecker(u8 taskId)
|
||||
else
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = sub_80A1D68;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1917,7 +1917,7 @@ void ClearAndInitHostRFUtgtGname(void)
|
||||
InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, 0, 0);
|
||||
}
|
||||
|
||||
void sub_80FAF58(u8 a0, u32 a1, u32 a2)
|
||||
void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2)
|
||||
{
|
||||
InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, a0, a2, a1);
|
||||
}
|
||||
@@ -1944,7 +1944,7 @@ void sub_80FAFE0(u8 a0)
|
||||
void sub_80FB008(u8 a0, u32 a1, u32 a2)
|
||||
{
|
||||
if (a0)
|
||||
sub_80FAF58(a0, a1, a2);
|
||||
SetHostRFUtgtGname(a0, a1, a2);
|
||||
rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer);
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -603,7 +603,7 @@ static u8 GetConnectedChildStrength(u8 maxFlags)
|
||||
}
|
||||
#endif
|
||||
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3)
|
||||
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -617,7 +617,7 @@ void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3)
|
||||
r3 >>= 8;
|
||||
}
|
||||
data->playerGender = gSaveBlock2Ptr->playerGender;
|
||||
data->unk_0a_0 = r9;
|
||||
data->unk_0a_0 = activity;
|
||||
data->unk_0a_7 = r2;
|
||||
data->unk_00.unk_00_0 = GAME_LANGUAGE;
|
||||
data->unk_00.unk_01_2 = GAME_VERSION;
|
||||
@@ -681,7 +681,7 @@ bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx)
|
||||
return retVal;
|
||||
}
|
||||
|
||||
void sub_80FCD50(struct GFtgtGname *gname, u8 *uname)
|
||||
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname)
|
||||
{
|
||||
memcpy(gname, &gHostRFUtgtGnameBuffer, RFU_GAME_NAME_LENGTH);
|
||||
memcpy(uname, gHostRFUtgtUnameBuffer, RFU_USER_NAME_LENGTH);
|
||||
@@ -929,7 +929,7 @@ void RecordMixTrainerNames(void)
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_80FD338(u16 id, u8 *name)
|
||||
bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
|
||||
+2
-2
@@ -652,7 +652,7 @@ void BlankMEventBuffer2(void)
|
||||
gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.crc = 0;
|
||||
}
|
||||
|
||||
u16 sub_81440E8(void)
|
||||
u16 GetWonderCardFlagId(void)
|
||||
{
|
||||
if (ValidateReceivedWonderCard())
|
||||
return gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.unk_00;
|
||||
@@ -674,7 +674,7 @@ bool32 sub_8144124(u16 a0)
|
||||
|
||||
bool32 CheckReceivedGiftFromWonderCard(void)
|
||||
{
|
||||
u16 value = sub_81440E8();
|
||||
u16 value = GetWonderCardFlagId();
|
||||
if (!sub_8144124(value))
|
||||
return FALSE;
|
||||
if (FlagGet(gUnknown_8466F00[value - 1000]) == TRUE)
|
||||
|
||||
+1
-1
@@ -5818,7 +5818,7 @@ static void Task_ContinueChoosingHalfParty(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_81277F4(u8 menuType, MainCallback callback)
|
||||
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback)
|
||||
{
|
||||
InitPartyMenu(menuType,
|
||||
PARTY_LAYOUT_SINGLE,
|
||||
|
||||
+4
-4
@@ -331,7 +331,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId)
|
||||
static void Task_PlayerPcDepositItem(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].func = Task_DepositItem_WaitFadeAndGoToBag;
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
static void Task_ReturnToItemStorageSubmenu(u8 taskId)
|
||||
@@ -394,7 +394,7 @@ static void Task_WithdrawItemBeginFade(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage;
|
||||
ItemPc_SetInitializedFlag(0);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
|
||||
static void Task_PlayerPcCancel(u8 taskId)
|
||||
@@ -556,7 +556,7 @@ static void Task_MailSubmenuHandleInput(u8 taskId)
|
||||
|
||||
static void Task_PlayerPcReadMail(u8 taskId)
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_WaitFadeAndReadSelectedMail;
|
||||
}
|
||||
|
||||
@@ -663,7 +663,7 @@ static void Task_PlayerPcGiveMailToMon(u8 taskId)
|
||||
}
|
||||
else
|
||||
{
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_WaitFadeAndGoToPartyMenu;
|
||||
}
|
||||
}
|
||||
|
||||
+25
-25
@@ -3982,49 +3982,49 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] = 12;
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ATK] = 12;
|
||||
retVal = FALSE;
|
||||
}
|
||||
break;
|
||||
// in-battle stat boosting effects?
|
||||
case 1:
|
||||
if ((itemEffect[cmdIndex] & 0xF0)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] = 12;
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_DEF] = 12;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] = 12;
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPEED] = 12;
|
||||
retVal = FALSE;
|
||||
}
|
||||
break;
|
||||
// more stat boosting effects?
|
||||
case 2:
|
||||
if ((itemEffect[cmdIndex] & 0xF0)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] = 12;
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_ACC] = 12;
|
||||
retVal = FALSE;
|
||||
}
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12)
|
||||
{
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] = 12;
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & 0xF;
|
||||
if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > 12)
|
||||
gBattleMons[gActiveBattler].statStages[STAT_SPATK] = 12;
|
||||
retVal = FALSE;
|
||||
}
|
||||
break;
|
||||
@@ -4496,25 +4496,25 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo
|
||||
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY))
|
||||
retVal = FALSE;
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12)
|
||||
retVal = FALSE;
|
||||
break;
|
||||
// in-battle stat boosting effects?
|
||||
case 1:
|
||||
if ((itemEffect[cmdIndex] & 0xF0)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12)
|
||||
retVal = FALSE;
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12)
|
||||
retVal = FALSE;
|
||||
break;
|
||||
// more stat boosting effects?
|
||||
case 2:
|
||||
if ((itemEffect[cmdIndex] & 0xF0)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12)
|
||||
retVal = FALSE;
|
||||
if ((itemEffect[cmdIndex] & 0xF)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12)
|
||||
&& gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12)
|
||||
retVal = FALSE;
|
||||
break;
|
||||
case 3:
|
||||
|
||||
+2
-2
@@ -1049,7 +1049,7 @@ static void sub_811175C(u8 sceneNum, struct UnkStruct_203AE98 * a1)
|
||||
|
||||
static void sub_81118F4(s8 a0)
|
||||
{
|
||||
fade_screen(1, a0);
|
||||
FadeScreen(1, a0);
|
||||
sQuestLogCB = QuestLog_AdvancePlayhead;
|
||||
}
|
||||
|
||||
@@ -1309,7 +1309,7 @@ static void QuestLog_CloseTextWindow(void)
|
||||
|
||||
static void QuestLog_SkipToEndOfPlayback(s8 a0)
|
||||
{
|
||||
fade_screen(1, a0);
|
||||
FadeScreen(1, a0);
|
||||
sQuestLogCB = QuestLog_WaitFadeAndCancelPlayback;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,663 @@
|
||||
#include "global.h"
|
||||
#include "event_data.h"
|
||||
#include "event_object_movement.h"
|
||||
#include "event_object_80688E4.h"
|
||||
#include "event_object_8097404.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "fieldmap.h"
|
||||
#include "rfu_union_tool.h"
|
||||
#include "script.h"
|
||||
#include "task.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/event_object_movement.h"
|
||||
#include "constants/object_events.h"
|
||||
|
||||
static EWRAM_DATA struct UnionObj * UnionObjWork = NULL;
|
||||
static EWRAM_DATA u32 sUnionObjRefreshTimer = 0;
|
||||
|
||||
static u8 StartUnionObjAnimTask(void);
|
||||
static u32 sub_811BBC8(u32 playerIdx, u32 arg1);
|
||||
static void sub_811C008(s32 arg0, s32 arg1, u8 arg2);
|
||||
|
||||
static const u8 sUnionObjectEventGfxIds[][10] = {
|
||||
[MALE] = {
|
||||
OBJECT_EVENT_GFX_COOLTRAINER_M,
|
||||
OBJECT_EVENT_GFX_BLACKBELT,
|
||||
OBJECT_EVENT_GFX_CAMPER,
|
||||
OBJECT_EVENT_GFX_YOUNGSTER,
|
||||
OBJECT_EVENT_GFX_BOY,
|
||||
OBJECT_EVENT_GFX_BUG_CATCHER,
|
||||
OBJECT_EVENT_GFX_MAN,
|
||||
OBJECT_EVENT_GFX_ROCKER
|
||||
},
|
||||
[FEMALE] = {
|
||||
OBJECT_EVENT_GFX_COOLTRAINER_F,
|
||||
OBJECT_EVENT_GFX_CHANNELER,
|
||||
OBJECT_EVENT_GFX_PICNICKER,
|
||||
OBJECT_EVENT_GFX_LASS,
|
||||
OBJECT_EVENT_GFX_WOMAN_1,
|
||||
OBJECT_EVENT_GFX_BATTLE_GIRL,
|
||||
OBJECT_EVENT_GFX_WOMAN_2,
|
||||
OBJECT_EVENT_GFX_BEAUTY
|
||||
}
|
||||
};
|
||||
|
||||
static const s16 sUnionPartnerCoords[][2] = {
|
||||
{ 4, 6},
|
||||
{13, 8},
|
||||
{10, 6},
|
||||
{ 1, 8},
|
||||
{13, 4},
|
||||
{ 7, 4},
|
||||
{ 1, 4},
|
||||
{ 7, 8}
|
||||
};
|
||||
|
||||
static const s8 sFacingDirectionOffsets[][2] = {
|
||||
[DIR_NONE] = { 0, 0},
|
||||
[DIR_SOUTH] = { 1, 0},
|
||||
[DIR_NORTH] = { 0, -1},
|
||||
[DIR_WEST] = {-1, 0},
|
||||
[DIR_EAST] = { 0, 1}
|
||||
};
|
||||
|
||||
static const u8 sOppositeFacingDirection[] = {
|
||||
[DIR_NONE] = DIR_NONE,
|
||||
[DIR_SOUTH] = DIR_NORTH,
|
||||
[DIR_NORTH] = DIR_SOUTH,
|
||||
[DIR_WEST] = DIR_EAST,
|
||||
[DIR_EAST] = DIR_WEST
|
||||
};
|
||||
|
||||
static const u8 gUnknown_845711B[] = {
|
||||
1,
|
||||
3,
|
||||
1,
|
||||
4,
|
||||
2
|
||||
};
|
||||
|
||||
static const u8 sUnionRoomLocalIds[] = {
|
||||
9,
|
||||
8,
|
||||
7,
|
||||
2,
|
||||
6,
|
||||
5,
|
||||
4,
|
||||
3
|
||||
};
|
||||
|
||||
static const u16 sUnref_8457128[] = {
|
||||
0x63,
|
||||
0x64,
|
||||
0x65,
|
||||
0x66,
|
||||
0x67,
|
||||
0x68,
|
||||
0x69,
|
||||
0x6A
|
||||
};
|
||||
|
||||
static bool32 is_walking_or_running(void)
|
||||
{
|
||||
if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id)
|
||||
{
|
||||
return sUnionObjectEventGfxIds[gender][id % 8];
|
||||
}
|
||||
|
||||
static void GetUnionRoomPlayerFacingCoords(u32 id, u32 dirn, s32 * xp, s32 * yp)
|
||||
{
|
||||
*xp = sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7;
|
||||
*yp = sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7;
|
||||
}
|
||||
|
||||
static bool32 sub_811B58C(u32 id, u32 dirn, s32 x, s32 y)
|
||||
{
|
||||
if (sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7 != x)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else if (sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7 != y)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
static bool32 IsUnionRoomPlayerHidden(u32 player_idx)
|
||||
{
|
||||
return FlagGet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
|
||||
}
|
||||
|
||||
static void HideUnionRoomPlayer(u32 player_idx)
|
||||
{
|
||||
FlagSet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
|
||||
}
|
||||
|
||||
static void ShowUnionRoomPlayer(u32 player_idx)
|
||||
{
|
||||
FlagClear(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx);
|
||||
}
|
||||
|
||||
static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId)
|
||||
{
|
||||
VarSet(VAR_OBJ_GFX_ID_0 + playerIdx, gfxId);
|
||||
}
|
||||
|
||||
static void CreateUnionRoomPlayerObjectEvent(u32 playerIdx)
|
||||
{
|
||||
TrySpawnObjectEvent(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
}
|
||||
|
||||
static void RemoveUnionRoomPlayerObjectEvent(u32 playerIdx)
|
||||
{
|
||||
RemoveObjectEventByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
}
|
||||
|
||||
static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement)
|
||||
{
|
||||
u8 objectId;
|
||||
struct ObjectEvent * object;
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
object = &gObjectEvents[objectId];
|
||||
if (ObjectEventIsMovementOverridden(object))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (ObjectEventSetHeldMovement(object, *movement))
|
||||
{
|
||||
AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 387);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 playerIdx)
|
||||
{
|
||||
u8 objectId;
|
||||
struct ObjectEvent * object;
|
||||
if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
object = &gObjectEvents[objectId];
|
||||
if (!ObjectEventClearHeldMovementIfFinished(object))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (!ScriptContext2_IsEnabled())
|
||||
{
|
||||
UnfreezeObjectEvent(object);
|
||||
}
|
||||
else
|
||||
{
|
||||
FreezeObjectEvent(object);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u8 ZeroUnionObjWork(struct UnionObj * ptr)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sUnionObjRefreshTimer = 0;
|
||||
UnionObjWork = ptr;
|
||||
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 442)
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
ptr[i].state = 0;
|
||||
ptr[i].gfxId = 0;
|
||||
ptr[i].animState = 0;
|
||||
ptr[i].schedAnim = 0;
|
||||
}
|
||||
return StartUnionObjAnimTask();
|
||||
}
|
||||
|
||||
static const u8 sMovement_UnionPlayerExit[2] = {
|
||||
MOVEMENT_ACTION_FLY_UP,
|
||||
MOVEMENT_ACTION_STEP_END
|
||||
};
|
||||
|
||||
static bool32 AnimateUnionRoomPlayerDespawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
|
||||
{
|
||||
switch (*a0)
|
||||
{
|
||||
case 0:
|
||||
if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerExit) == TRUE)
|
||||
{
|
||||
HideUnionRoomPlayer(playerIdx);
|
||||
(*a0)++;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx))
|
||||
{
|
||||
RemoveUnionRoomPlayerObjectEvent(playerIdx);
|
||||
HideUnionRoomPlayer(playerIdx);
|
||||
*a0 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const u8 sMovement_UnionPlayerEnter[2] = {
|
||||
MOVEMENT_ACTION_FLY_DOWN,
|
||||
MOVEMENT_ACTION_STEP_END
|
||||
};
|
||||
|
||||
static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr)
|
||||
{
|
||||
s16 x, y;
|
||||
|
||||
switch (*a0)
|
||||
{
|
||||
case 0:
|
||||
if (!is_walking_or_running())
|
||||
{
|
||||
break;
|
||||
}
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
if (sub_811B58C(playerIdx, 0, x, y) == TRUE)
|
||||
{
|
||||
break;
|
||||
}
|
||||
player_get_pos_including_state_based_drift(&x, &y);
|
||||
if (sub_811B58C(playerIdx, 0, x, y) == TRUE)
|
||||
{
|
||||
break;
|
||||
}
|
||||
SetUnionRoomPlayerGfx(playerIdx, ptr->gfxId);
|
||||
CreateUnionRoomPlayerObjectEvent(playerIdx);
|
||||
ShowUnionRoomPlayer(playerIdx);
|
||||
(*a0)++;
|
||||
// fallthrough
|
||||
case 3: // incorrect?
|
||||
if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerEnter) == 1)
|
||||
{
|
||||
(*a0)++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx))
|
||||
{
|
||||
*a0 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2)
|
||||
{
|
||||
struct UnionObj * ptr = &UnionObjWork[playerIdx];
|
||||
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 561)
|
||||
ptr->schedAnim = 1;
|
||||
ptr->gfxId = GetUnionRoomPlayerGraphicsId(a1, a2);
|
||||
if (ptr->state == 0)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static bool32 sub_811B90C(u32 playerIdx)
|
||||
{
|
||||
struct UnionObj * ptr = &UnionObjWork[playerIdx];
|
||||
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 577)
|
||||
ptr->schedAnim = 2;
|
||||
if (ptr->state == 1)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr)
|
||||
{
|
||||
switch (ptr->state)
|
||||
{
|
||||
case 0:
|
||||
if (ptr->schedAnim == 1)
|
||||
{
|
||||
ptr->state = 2;
|
||||
ptr->animState = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
// fallthrough
|
||||
case 2:
|
||||
if (!sub_811BBC8(playerIdx, 0) && ptr->schedAnim == 2)
|
||||
{
|
||||
ptr->state = 0;
|
||||
ptr->animState = 0;
|
||||
RemoveUnionRoomPlayerObjectEvent(playerIdx);
|
||||
HideUnionRoomPlayer(playerIdx);
|
||||
}
|
||||
else if (AnimateUnionRoomPlayerSpawn(&ptr->animState, playerIdx, ptr) == TRUE)
|
||||
{
|
||||
ptr->state = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (ptr->schedAnim == 2)
|
||||
{
|
||||
ptr->state = 3;
|
||||
ptr->animState = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
// fallthrough
|
||||
case 3:
|
||||
if (AnimateUnionRoomPlayerDespawn(&ptr->animState, playerIdx, ptr) == TRUE)
|
||||
{
|
||||
ptr->state = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ptr->schedAnim = 0;
|
||||
}
|
||||
|
||||
static void Task_AnimateUnionObjs(u8 taskId)
|
||||
{
|
||||
s32 i;
|
||||
AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 643)
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
AnimateUnionObj(i, &UnionObjWork[i]);
|
||||
}
|
||||
}
|
||||
|
||||
static u8 StartUnionObjAnimTask(void)
|
||||
{
|
||||
if (FuncIsActiveTask(Task_AnimateUnionObjs) == TRUE)
|
||||
{
|
||||
AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 655)
|
||||
return NUM_TASKS;
|
||||
}
|
||||
else
|
||||
{
|
||||
return CreateTask(Task_AnimateUnionObjs, 5);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_811BA5C(void)
|
||||
{
|
||||
u8 taskId = FindTaskIdByFunc(Task_AnimateUnionObjs);
|
||||
if (taskId < NUM_TASKS)
|
||||
{
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_811BA78(void)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if (!IsUnionRoomPlayerHidden(i))
|
||||
{
|
||||
RemoveUnionRoomPlayerObjectEvent(i);
|
||||
HideUnionRoomPlayer(i);
|
||||
}
|
||||
}
|
||||
UnionObjWork = NULL;
|
||||
sub_811BA5C();
|
||||
}
|
||||
|
||||
void sub_811BAAC(u8 * sp8, s32 r9)
|
||||
{
|
||||
s32 r7;
|
||||
|
||||
for (r7 = 0; r7 < 5; r7++)
|
||||
{
|
||||
s32 r5 = 5 * r9 + r7;
|
||||
sp8[r5] = sprite_new(OBJECT_EVENT_GFX_MAN, r5 - 0x38, sUnionPartnerCoords[r9][0] + sFacingDirectionOffsets[r7][0], sUnionPartnerCoords[r9][1] + sFacingDirectionOffsets[r7][1], 3, 1);
|
||||
sub_8069124(r5 - 0x38, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_811BB40(u8 * r5)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < 40; i++)
|
||||
{
|
||||
DestroySprite(&gSprites[r5[i]]);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_811BB68(void)
|
||||
{
|
||||
s32 i, j, x, y;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
for (j = 0; j < 5; j++)
|
||||
{
|
||||
GetUnionRoomPlayerFacingCoords(i, j, &x, &y);
|
||||
sub_8059024(x, y, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2)
|
||||
{
|
||||
if (r1 != 0)
|
||||
{
|
||||
return gUnknown_845711B[r1];
|
||||
}
|
||||
else if (r2->unk_0a_0 == 0x45)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
static u32 sub_811BBC8(u32 a0, u32 a1)
|
||||
{
|
||||
return sub_806916C(5 * a0 + a1 - 0x38);
|
||||
}
|
||||
|
||||
static void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9)
|
||||
{
|
||||
s32 x, y;
|
||||
s32 r7 = 5 * r5 + r6;
|
||||
if (sub_811BBC8(r5, r6) == 1)
|
||||
{
|
||||
sub_8069124(r7 - 0x38, FALSE);
|
||||
sub_80691A4(r7 - 0x38, 1);
|
||||
}
|
||||
sub_8069094(r7 - 0x38, r8);
|
||||
sub_811C008(r6, r5, sub_811BBA0(r6, r5, r9));
|
||||
GetUnionRoomPlayerFacingCoords(r5, r6, &x, &y);
|
||||
sub_8059024(x, y, 1);
|
||||
}
|
||||
|
||||
static void sub_811BC68(u32 a0, u32 a1)
|
||||
{
|
||||
s32 x, y;
|
||||
sub_80691A4(5 * a0 + a1 - 0x38, 2);
|
||||
GetUnionRoomPlayerFacingCoords(a0, a1, &x, &y);
|
||||
sub_8059024(x, y, 0);
|
||||
}
|
||||
|
||||
static void sub_811BCA0(u32 r7, struct GFtgtGname * r8)
|
||||
{
|
||||
s16 x, y, x2, y2;
|
||||
s32 i;
|
||||
|
||||
PlayerGetDestCoords(&x, &y);
|
||||
player_get_pos_including_state_based_drift(&x2, &y2);
|
||||
if (sub_806916C(5 * r7 - 0x38) == 1)
|
||||
{
|
||||
if (sub_811B58C(r7, 0, x, y) == TRUE || sub_811B58C(r7, 0, x2, y2) == TRUE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
sub_811BBE0(r7, 0, GetUnionRoomPlayerGraphicsId(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8);
|
||||
}
|
||||
for (i = 1; i < 5; i++)
|
||||
{
|
||||
if (r8->unk_04[i - 1] == 0)
|
||||
{
|
||||
sub_811BC68(r7, i);
|
||||
}
|
||||
else if (sub_811B58C(r7, i, x, y) == FALSE && sub_811B58C(r7, i, x2, y2) == FALSE)
|
||||
{
|
||||
sub_811BBE0(r7, i, GetUnionRoomPlayerGraphicsId((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_811BDA8(u32 r5, struct GFtgtGname * r4)
|
||||
{
|
||||
u32 i;
|
||||
switch (r4->unk_0a_0)
|
||||
{
|
||||
case 0x40:
|
||||
case 0x54:
|
||||
sub_811B8BC(r5, r4->playerGender, r4->unk_00.playerTrainerId[0]);
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
sub_811BC68(r5, i);
|
||||
}
|
||||
break;
|
||||
case 0x41:
|
||||
case 0x44:
|
||||
case 0x45:
|
||||
case 0x48:
|
||||
case 0x51:
|
||||
case 0x52:
|
||||
case 0x53:
|
||||
sub_811B90C(r5);
|
||||
sub_811BCA0(r5, r4);
|
||||
break;
|
||||
default:
|
||||
AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 979)
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_811BE6C(u32 r5, struct GFtgtGname * unused)
|
||||
{
|
||||
s32 i;
|
||||
sub_811B90C(r5);
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
sub_811BC68(r5, i);
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateUnionRoomPlayerSprites(struct UnkStruct_URoom *r0)
|
||||
{
|
||||
s32 i;
|
||||
struct UnkStruct_x20 * r4;
|
||||
sUnionObjRefreshTimer = 0;
|
||||
for (i = 0, r4 = r0->field_0->arr; i < 8; i++)
|
||||
{
|
||||
if (r4[i].field_1A_0 == 1)
|
||||
{
|
||||
sub_811BDA8(i, &r4[i].unk.gname);
|
||||
}
|
||||
else if (r4[i].field_1A_0 == 2)
|
||||
{
|
||||
sub_811BE6C(i, &r4[i].unk.gname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_811BECC(struct UnkStruct_URoom *unused)
|
||||
{
|
||||
sUnionObjRefreshTimer = 300;
|
||||
}
|
||||
|
||||
void sub_811BEDC(struct UnkStruct_URoom *r2)
|
||||
{
|
||||
if (++sUnionObjRefreshTimer > 300)
|
||||
{
|
||||
UpdateUnionRoomPlayerSprites(r2);
|
||||
}
|
||||
}
|
||||
|
||||
bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3)
|
||||
{
|
||||
s16 x, y;
|
||||
s32 i, j;
|
||||
struct UnkStruct_x20 * r4;
|
||||
if (!is_walking_or_running())
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
|
||||
for (i = 0, r4 = arg0->arr; i < 8; i++)
|
||||
{
|
||||
for (j = 0; j < 5; j++)
|
||||
{
|
||||
s32 r3 = 5 * i + j;
|
||||
if (x != sUnionPartnerCoords[i][0] + sFacingDirectionOffsets[j][0] + 7)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (y != sUnionPartnerCoords[i][1] + sFacingDirectionOffsets[j][1] + 7)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (sub_806916C(r3 - 0x38) != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (sub_8069294(r3 - 0x38) != 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (r4[i].field_1A_0 != 1)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
sub_811C008(j, i, sOppositeFacingDirection[GetPlayerFacingDirection()]);
|
||||
*arg1 = j;
|
||||
*arg2 = i;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void sub_811C008(s32 arg0, s32 arg1, u8 arg2)
|
||||
{
|
||||
sub_8069058(5 * arg1 - 0x38 + arg0, arg2);
|
||||
}
|
||||
|
||||
void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2)
|
||||
{
|
||||
return sub_811C008(arg0, arg1, sub_811BBA0(arg0, arg1, &arg2->arr[arg1].unk.gname));
|
||||
}
|
||||
+4
-4
@@ -630,7 +630,7 @@ static bool8 IsPaletteNotActive(void)
|
||||
|
||||
bool8 ScrCmd_fadescreen(struct ScriptContext *ctx)
|
||||
{
|
||||
fade_screen(ScriptReadByte(ctx), 0);
|
||||
FadeScreen(ScriptReadByte(ctx), 0);
|
||||
SetupNativeScript(ctx, IsPaletteNotActive);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -640,7 +640,7 @@ bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx)
|
||||
u8 mode = ScriptReadByte(ctx);
|
||||
u8 speed = ScriptReadByte(ctx);
|
||||
|
||||
fade_screen(mode, speed);
|
||||
FadeScreen(mode, speed);
|
||||
SetupNativeScript(ctx, IsPaletteNotActive);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1064,7 +1064,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 objectId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
TrySpawnObjectEvent(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -1074,7 +1074,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx)
|
||||
u8 mapGroup = ScriptReadByte(ctx);
|
||||
u8 mapNum = ScriptReadByte(ctx);
|
||||
|
||||
show_sprite(objectId, mapNum, mapGroup);
|
||||
TrySpawnObjectEvent(objectId, mapNum, mapGroup);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -294,14 +294,14 @@ static void Task_ShopMenu(u8 taskId)
|
||||
static void Task_HandleShopMenuBuy(u8 taskId)
|
||||
{
|
||||
SetWordTaskArg(taskId, 0xE, (u32)CB2_InitBuyMenu);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
|
||||
}
|
||||
|
||||
static void Task_HandleShopMenuSell(u8 taskId)
|
||||
{
|
||||
SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu);
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -446,7 +446,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void)
|
||||
&& sStartMenuCallback != StartMenuSafariZoneRetireCallback)
|
||||
{
|
||||
StopPokemonLeagueLightingEffectTask();
|
||||
fade_screen(1, 0);
|
||||
FadeScreen(1, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -554,7 +554,7 @@ static bool8 StartMenuLinkPlayerCallback(void)
|
||||
{
|
||||
PlayRainStoppingSoundEffect();
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
ShowTrainerCardInLink(gUnknown_300502C, CB2_ReturnToFieldWithOpenMenu);
|
||||
ShowTrainerCardInLink(gLocalLinkPlayerId, CB2_ReturnToFieldWithOpenMenu);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
+4607
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,225 @@
|
||||
#include "global.h"
|
||||
#include "bg.h"
|
||||
#include "battle.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "link.h"
|
||||
#include "malloc.h"
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "overworld.h"
|
||||
#include "palette.h"
|
||||
#include "party_menu.h"
|
||||
#include "strings.h"
|
||||
#include "text_window.h"
|
||||
#include "union_room.h"
|
||||
#include "window.h"
|
||||
|
||||
struct UnkStruct_203B08C
|
||||
{
|
||||
s16 a0;
|
||||
};
|
||||
|
||||
static EWRAM_DATA struct UnkStruct_203B08C * gUnknown_203B08C = NULL;
|
||||
|
||||
static const struct BgTemplate gUnknown_8457194[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 3,
|
||||
.mapBaseIndex = 31
|
||||
}
|
||||
};
|
||||
|
||||
static const struct WindowTemplate gUnknown_8457198[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 14,
|
||||
.baseBlock = 0x014
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
|
||||
static const u8 gUnknown_84571A8[] = {1, 2, 3};
|
||||
|
||||
static void sub_811C04C(void)
|
||||
{
|
||||
s32 i;
|
||||
sub_81173C0(BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER);
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1];
|
||||
}
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
ZeroMonData(&gPlayerParty[i]);
|
||||
}
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
gPlayerParty[i] = gEnemyParty[i];
|
||||
}
|
||||
IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES);
|
||||
CalculatePlayerPartyCount();
|
||||
gTrainerBattleOpponent_A = TRAINER_OPPONENT_C00;
|
||||
SetMainCallback2(CB2_InitBattle);
|
||||
}
|
||||
|
||||
static void sub_811C0E0(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed)
|
||||
{
|
||||
s32 letterSpacing = 1;
|
||||
s32 lineSpacing = 1;
|
||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(gUnknown_84571A8[0]));
|
||||
AddTextPrinterParameterized4(windowId, 3, x, y, letterSpacing, lineSpacing, gUnknown_84571A8, speed, str);
|
||||
}
|
||||
|
||||
static bool32 sub_811C150(s16 * state, const u8 * str, s32 speed)
|
||||
{
|
||||
switch (*state)
|
||||
{
|
||||
case 0:
|
||||
DrawTextBorderOuter(0, 0x001, 0xD);
|
||||
sub_811C0E0(0, str, 0, 2, speed);
|
||||
PutWindowTilemap(0);
|
||||
CopyWindowToVram(0, 3);
|
||||
(*state)++;
|
||||
break;
|
||||
case 1:
|
||||
if (!IsTextPrinterActive(0))
|
||||
{
|
||||
*state = 0;
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void sub_811C1B4(void)
|
||||
{
|
||||
LoadOam();
|
||||
ProcessSpriteCopyRequests();
|
||||
TransferPlttBuffer();
|
||||
}
|
||||
|
||||
void sub_811C1C8(void)
|
||||
{
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
|
||||
gUnknown_203B08C = AllocZeroed(sizeof(struct UnkStruct_203B08C));
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
ResetTasks();
|
||||
ResetBgsAndClearDma3BusyFlags(0);
|
||||
InitBgsFromTemplates(0, gUnknown_8457194, 1);
|
||||
ResetTempTileDataBuffers();
|
||||
if (!InitWindows(gUnknown_8457198))
|
||||
{
|
||||
return;
|
||||
}
|
||||
DeactivateAllTextPrinters();
|
||||
ClearWindowTilemap(0);
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(0));
|
||||
FillWindowPixelBuffer(0, PIXEL_FILL(1));
|
||||
FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF);
|
||||
TextWindow_SetStdFrame0_WithPal(0, 1, 0xD0);
|
||||
Menu_LoadStdPal();
|
||||
SetVBlankCallback(sub_811C1B4);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
if (sub_811C150(&gUnknown_203B08C->a0, gText_CommStandbyAwaitingOtherPlayer, 0))
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||
ShowBg(0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
if (!UpdatePaletteFade())
|
||||
{
|
||||
memset(gBlockSendBuffer, 0, 0x20);
|
||||
if (gSelectedOrderFromParty[0] == -gSelectedOrderFromParty[1])
|
||||
{
|
||||
gBlockSendBuffer[0] = 0x52;
|
||||
}
|
||||
else
|
||||
{
|
||||
gBlockSendBuffer[0] = 0x51;
|
||||
}
|
||||
SendBlock(0, gBlockSendBuffer, 0x20);
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
if (gBlockRecvBuffer[0][0] == 0x51 && gBlockRecvBuffer[1][0] == 0x51)
|
||||
{
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||
gMain.state = 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800AAC0();
|
||||
if (gBlockRecvBuffer[GetMultiplayerId()][0] == 0x52)
|
||||
{
|
||||
gMain.state = 6;
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.state = 8;
|
||||
}
|
||||
}
|
||||
ResetBlockReceivedFlags();
|
||||
}
|
||||
break;
|
||||
case 50:
|
||||
if (!UpdatePaletteFade())
|
||||
{
|
||||
sub_800AB9C();
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 51:
|
||||
if (IsLinkTaskFinished())
|
||||
{
|
||||
SetMainCallback2(sub_811C04C);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (gReceivedRemoteLinkPlayers == 0)
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (sub_811C150(&gUnknown_203B08C->a0, gText_RefusedBattle, 1))
|
||||
{
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if (gReceivedRemoteLinkPlayers == 0)
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (sub_811C150(&gUnknown_203B08C->a0, gText_BattleWasRefused, 1))
|
||||
{
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
break;
|
||||
}
|
||||
RunTasks();
|
||||
RunTextPrinters();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
@@ -0,0 +1,543 @@
|
||||
#include "global.h"
|
||||
#include "union_room_message.h"
|
||||
#include "mevent_server.h"
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84571AC[] = _("");
|
||||
ALIGNED(4) const u8 gUnknown_84571B0[] = _(":");
|
||||
ALIGNED(4) const u8 gUnknown_84571B4[] = _("{EXTRA 7}");
|
||||
ALIGNED(4) const u8 gUnknown_84571B8[] = _("Please start over from the beginning.");
|
||||
ALIGNED(4) const u8 gUnknown_84571E0[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled.");
|
||||
ALIGNED(4) const u8 gUnref_845721C[] = _("ともだちからの れんらくを\nまっています");
|
||||
ALIGNED(4) const u8 gUnknown_8457234[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player.");
|
||||
ALIGNED(4) const u8 gUnknown_8457264[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready.");
|
||||
|
||||
ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる");
|
||||
ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる");
|
||||
ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする");
|
||||
ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする");
|
||||
|
||||
const u8 *const unref_text_ptrs_union_room_0[] = {
|
||||
gJPText_SingleBattle,
|
||||
gJPText_DoubleBattle,
|
||||
gJPText_MultiBattle,
|
||||
gJPText_TradePokemon,
|
||||
gJPText_Chat,
|
||||
gJPText_DistWonderCard,
|
||||
gJPText_DistWonderNews,
|
||||
gJPText_DistWonderCard,
|
||||
gJPText_HoldPokemonJump,
|
||||
gJPText_HoldBerryCrush,
|
||||
gJPText_HoldBerryPicking,
|
||||
gJPText_HoldBerryPicking,
|
||||
gJPText_HoldSpinTrade,
|
||||
gJPText_HoldSpinShop
|
||||
};
|
||||
|
||||
const u8 gText_1PlayerNeeded[] = _("1 player\nneeded.");
|
||||
const u8 gText_2PlayersNeeded[] = _("2 players\nneeded.");
|
||||
const u8 gText_3PlayersNeeded[] = _("3 players\nneeded.");
|
||||
const u8 gText_4PlayersNeeded[] = _("あと4にん\nひつよう");
|
||||
const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE");
|
||||
const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE");
|
||||
const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE");
|
||||
const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE");
|
||||
|
||||
const u8 *const gUnknown_845742C[][5] = {
|
||||
{
|
||||
gText_1PlayerNeeded,
|
||||
gText_2PlayerMode
|
||||
}, {
|
||||
gText_3PlayersNeeded,
|
||||
gText_2PlayersNeeded,
|
||||
gText_1PlayerNeeded,
|
||||
gText_4PlayerMode
|
||||
}, {
|
||||
gText_1PlayerNeeded,
|
||||
gText_2PlayerMode,
|
||||
gText_3PlayerMode,
|
||||
gText_4PlayerMode,
|
||||
gText_5PlayerMode
|
||||
}, {
|
||||
gText_2PlayersNeeded,
|
||||
gText_1PlayerNeeded,
|
||||
gText_3PlayerMode,
|
||||
gText_4PlayerMode,
|
||||
gText_5PlayerMode
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_845747C[] = _("{B_BUTTON}CANCEL");
|
||||
ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!");
|
||||
ALIGNED(4) const u8 gUnknown_84574A0[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?");
|
||||
ALIGNED(4) const u8 gUnknown_84574C4[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?");
|
||||
ALIGNED(4) const u8 gUnknown_84574EC[] = _("{STR_VAR_2} contacted you.\nAdd to the members?");
|
||||
ALIGNED(4) const u8 gUnknown_8457514[] = _("{STR_VAR_1}!\nAre these members OK?");
|
||||
ALIGNED(4) const u8 gUnknown_8457530[] = _("Cancel {STR_VAR_1} MODE\nwith these members?");
|
||||
ALIGNED(4) const u8 gUnknown_8457554[] = _("An “OK” was sent\nto {STR_VAR_1}.");
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_845756C[] = _("The other TRAINER doesn't appear\nto be available now…\p");
|
||||
ALIGNED(4) const u8 gUnknown_84575A4[] = _("You can't transmit with a TRAINER\nwho is too far away.\p");
|
||||
ALIGNED(4) const u8 gUnknown_84575DC[] = _("The other TRAINER(S) is/are not\nready yet.\p");
|
||||
|
||||
const u8 *const gUnknown_8457608[] = {
|
||||
gUnknown_84575A4,
|
||||
gUnknown_84575DC
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457610[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 90}");
|
||||
ALIGNED(4) const u8 gUnknown_8457644[] = _("There is a member who can no\nlonger remain available.\p");
|
||||
|
||||
const u8 *const gUnknown_845767C[] = {
|
||||
gUnknown_845756C,
|
||||
gUnknown_8457644
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457684[] = _("The other TRAINER appears\nunavailable…\p");
|
||||
ALIGNED(4) const u8 gUnknown_84576AC[] = _("{STR_VAR_1} sent back an “OK”!");
|
||||
ALIGNED(4) const u8 gUnknown_84576C4[] = _("{STR_VAR_1} OK'd your registration as\na member.");
|
||||
ALIGNED(4) const u8 gUnknown_84576EC[] = _("{STR_VAR_1} replied, “No…”\p");
|
||||
ALIGNED(4) const u8 gUnknown_8457700[] = _("{STR_VAR_1}!\nAwaiting other members!");
|
||||
ALIGNED(4) const u8 gUnknown_845771C[] = _("Quit being a member?");
|
||||
ALIGNED(4) const u8 gUnknown_8457734[] = _("You stopped being a member.\p");
|
||||
|
||||
const u8 *const gUnknown_8457754[] = {
|
||||
NULL,
|
||||
gUnknown_8457644,
|
||||
gUnknown_8457684,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
gUnknown_84576EC,
|
||||
NULL,
|
||||
NULL,
|
||||
gUnknown_8457734
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_845777C[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established.");
|
||||
ALIGNED(4) const u8 gUnknown_84577BC[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…");
|
||||
ALIGNED(4) const u8 gUnknown_84577F8[] = _("The link with your friend has been\ndropped…");
|
||||
ALIGNED(4) const u8 gUnknown_8457824[] = _("{STR_VAR_1} replied, “No…”");
|
||||
|
||||
const u8 *const gUnknown_8457838[] = {
|
||||
NULL,
|
||||
gUnknown_84577F8,
|
||||
gUnknown_84577F8,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
gUnknown_8457824,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457860[] = _("Do you want the {STR_VAR_2}\nMODE?");
|
||||
ALIGNED(4) const u8 gUnknown_845787C[] = _("Do you want the {STR_VAR_2}\nMODE?");
|
||||
|
||||
const u8 *const gUnknown_8457898[] = {
|
||||
gUnknown_8457860,
|
||||
gUnknown_845787C
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84578A0[] = _("はなしかけています…\nしょうしょう おまちください");
|
||||
ALIGNED(4) const u8 gUnknown_84578BC[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…");
|
||||
ALIGNED(4) const u8 gUnknown_84578E4[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
|
||||
ALIGNED(4) const u8 gUnknown_8457950[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
|
||||
ALIGNED(4) const u8 gUnknown_84579BC[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.");
|
||||
|
||||
const u8 *const gUnknown_8457A34[] = {
|
||||
gUnknown_84578E4,
|
||||
gUnknown_8457950,
|
||||
gUnknown_84579BC
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457A40[] = _("Hiya! Is there something that you\nwanted to do?");
|
||||
ALIGNED(4) const u8 gUnknown_8457A70[] = _("Hello!\nWould you like to do something?");
|
||||
ALIGNED(4) const u8 gUnknown_8457A98[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?");
|
||||
ALIGNED(4) const u8 gUnknown_8457AD0[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?");
|
||||
|
||||
const u8 *const gUnknown_8457B04[][2] = {
|
||||
{
|
||||
gUnknown_8457A40,
|
||||
gUnknown_8457A70
|
||||
}, {
|
||||
gUnknown_8457A98,
|
||||
gUnknown_8457AD0
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457B14[] = _("Want to do something?");
|
||||
ALIGNED(4) const u8 gUnknown_8457B2C[] = _("Would you like to do something?");
|
||||
ALIGNED(4) const u8 gUnknown_8457B4C[] = _("{STR_VAR_1}: What would you like to\ndo now?");
|
||||
ALIGNED(4) const u8 gUnknown_8457B70[] = _("{STR_VAR_1}‘また なにかする?");
|
||||
|
||||
const u8 *const gUnknown_8457B80[] = {
|
||||
gUnknown_8457B14,
|
||||
gUnknown_8457B2C,
|
||||
gUnknown_8457B4C,
|
||||
gUnknown_8457B4C
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457B90[] = _("Somebody has contacted you.{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_8457BA0[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}");
|
||||
|
||||
const u8 *const gUnknown_8457BCC[] = {
|
||||
gUnknown_8457B90,
|
||||
gUnknown_8457BA0
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457BD4[] = _("Awaiting a response from\nthe other TRAINER…");
|
||||
ALIGNED(4) const u8 gUnknown_8457C00[] = _("Awaiting a response from\n{STR_VAR_1}…");
|
||||
|
||||
const u8 *const gUnknown_8457C20[] = {
|
||||
gUnknown_8457BD4,
|
||||
gUnknown_8457C00
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457C28[] = _("あいての ていあんを まっています\nビーボタンで キャンセル");
|
||||
ALIGNED(4) const u8 gUnknown_8457C48[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?");
|
||||
ALIGNED(4) const u8 gUnknown_8457CA4[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?");
|
||||
ALIGNED(4) const u8 gUnknown_8457CF8[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?");
|
||||
ALIGNED(4) const u8 gUnknown_8457D44[] = _("There is an offer to trade your\nregistered Lv. {DYNAMIC 0} {DYNAMIC 1}\pin exchange for a\nLv. {DYNAMIC 2} {DYNAMIC 3}.\pWill you accept this trade\noffer?");
|
||||
ALIGNED(4) const u8 gUnknown_8457DB8[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?");
|
||||
ALIGNED(4) const u8 gUnknown_8457E0C[] = _("The chat has been dropped.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8457E28[] = _("You declined the offer.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8457E44[] = _("You declined the offer.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8457E60[] = _("The chat was ended.\p");
|
||||
|
||||
const u8 *const gUnknown_8457E78[] = {
|
||||
gUnknown_8457C48,
|
||||
gUnknown_8457CA4,
|
||||
gUnknown_8457CF8,
|
||||
gUnknown_8457D44
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457E88[] = _("Oh, hey! We're in a chat right now.\nWant to join us?");
|
||||
ALIGNED(4) const u8 gUnknown_8457EC0[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?");
|
||||
ALIGNED(4) const u8 gUnknown_8457F00[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?");
|
||||
ALIGNED(4) const u8 gUnknown_8457F3C[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?");
|
||||
|
||||
const u8 *const gUnknown_8457F80[][2] = {
|
||||
{
|
||||
gUnknown_8457E88,
|
||||
gUnknown_8457F00
|
||||
}, {
|
||||
gUnknown_8457EC0,
|
||||
gUnknown_8457F3C
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8457F90[] = _("……\nThe TRAINER appears to be busy…\p");
|
||||
ALIGNED(4) const u8 gUnknown_8457FB4[] = _("A battle, huh?\nAll right, just give me some time.");
|
||||
ALIGNED(4) const u8 gUnknown_8457FE8[] = _("You want to chat, huh?\nSure, just wait a little.");
|
||||
ALIGNED(4) const u8 gUnknown_845801C[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD.");
|
||||
ALIGNED(4) const u8 gUnknown_8458054[] = _("A battle? Of course, but I need\ntime to get ready.");
|
||||
ALIGNED(4) const u8 gUnknown_8458088[] = _("Did you want to chat?\nOkay, but please wait a moment.");
|
||||
ALIGNED(4) const u8 gUnknown_84580C0[] = _("As my introduction, I'll show you\nmy TRAINER CARD.");
|
||||
|
||||
const u8 *const gUnknown_84580F4[][4] = {
|
||||
{
|
||||
gUnknown_8457FB4,
|
||||
gUnknown_8457FE8,
|
||||
NULL,
|
||||
gUnknown_845801C
|
||||
}, {
|
||||
gUnknown_8458054,
|
||||
gUnknown_8458088,
|
||||
NULL,
|
||||
gUnknown_84580C0
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnref_8458104[] = _("チャットだね!\nわかった ちょっと まってて!");
|
||||
ALIGNED(4) const u8 gUnknown_845812C[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_8458164[] = _("All right!\nLet's chat!{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_8458180[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_84581B0[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_84581D8[] = _("The trade will be started.{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_84581F8[] = _("The battle will be started.{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_8458218[] = _("Entering the chat…{PAUSE 60}");
|
||||
|
||||
const u8 *const gUnknown_8458230[][2][3] = {
|
||||
{
|
||||
{
|
||||
gUnknown_84581F8,
|
||||
gUnknown_8458218,
|
||||
gUnknown_84581D8
|
||||
}, {
|
||||
gUnknown_84581F8,
|
||||
gUnknown_8458218,
|
||||
gUnknown_84581D8
|
||||
}
|
||||
}, {
|
||||
{
|
||||
gUnknown_845812C,
|
||||
gUnknown_8458164,
|
||||
gUnknown_84581D8
|
||||
}, {
|
||||
gUnknown_8458180,
|
||||
gUnknown_84581B0,
|
||||
gUnknown_84581D8
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8458260[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p");
|
||||
ALIGNED(4) const u8 gUnknown_84582C0[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p");
|
||||
|
||||
const u8 *const gUnknown_8458314[] = {
|
||||
gUnknown_8458260,
|
||||
gUnknown_84582C0
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_845831C[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p");
|
||||
ALIGNED(4) const u8 gUnknown_845836C[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p");
|
||||
|
||||
const u8 *const gUnknown_84583B4[] = {
|
||||
gUnknown_845831C,
|
||||
gUnknown_845836C
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84583BC[] = _("If you want to do something with\nme, just give me a shout!\p");
|
||||
ALIGNED(4) const u8 gUnknown_84583F8[] = _("If you want to do something with\nme, don't be shy.\p");
|
||||
|
||||
const u8 *const gUnknown_845842C[] = {
|
||||
gUnknown_84583BC,
|
||||
gUnknown_84583F8
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8458434[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p");
|
||||
ALIGNED(4) const u8 gUnknown_845847C[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p");
|
||||
ALIGNED(4) const u8 gUnknown_84584C0[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p");
|
||||
ALIGNED(4) const u8 gUnknown_84584FC[] = _("Oh, all right.\nCome see me anytime, okay?\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458528[] = _("Oh…\nPlease come by anytime.\p");
|
||||
|
||||
const u8 *const gUnknown_8458548[] = {
|
||||
gUnknown_84584FC,
|
||||
gUnknown_8458528
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8458550[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458598[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p");
|
||||
|
||||
const u8 *const gUnknown_84585E8[] = {
|
||||
gUnknown_8458550,
|
||||
gUnknown_8458598
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84585F0[] = _("Whoa!\nI can tell you're pretty tough!\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458618[] = _("You used that move?\nThat's good strategy!\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458644[] = _("Way to go!\nThat was an eye-opener!\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458668[] = _("Oh! How could you use that\nPOKéMON in that situation?\p");
|
||||
ALIGNED(4) const u8 gUnknown_84586A0[] = _("That POKéMON…\nIt's been raised really well!\p");
|
||||
ALIGNED(4) const u8 gUnknown_84586D0[] = _("That's it!\nThis is the right move now!\p");
|
||||
ALIGNED(4) const u8 gUnknown_84586F8[] = _("That's awesome!\nYou can battle that way?\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458724[] = _("You have exquisite timing for\nswitching POKéMON!\p");
|
||||
|
||||
const u8 *const gUnknown_8458758[][4] = {
|
||||
{
|
||||
gUnknown_84585F0,
|
||||
gUnknown_8458618,
|
||||
gUnknown_8458644,
|
||||
gUnknown_8458668
|
||||
}, {
|
||||
gUnknown_84586A0,
|
||||
gUnknown_84586D0,
|
||||
gUnknown_84586F8,
|
||||
gUnknown_8458724
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8458778[] = _("Oh, I see!\nThis is educational!\p");
|
||||
ALIGNED(4) const u8 gUnknown_845879C[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p");
|
||||
ALIGNED(4) const u8 gUnknown_84587D8[] = _("Oh?\nSomething like that happened.\p");
|
||||
ALIGNED(4) const u8 gUnknown_84587FC[] = _("Hmhm… What?\nSo is this what you're saying?\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458828[] = _("Is that right?\nI didn't know that.\p");
|
||||
ALIGNED(4) const u8 gUnknown_845884C[] = _("Ahaha!\nWhat is that about?\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458868[] = _("Yes, that's exactly it!\nThat's what I meant.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458898[] = _("In other words…\nYes! That's right!\p");
|
||||
|
||||
const u8 *const gUnknown_84588BC[][4] = {
|
||||
{
|
||||
gUnknown_8458778,
|
||||
gUnknown_845879C,
|
||||
gUnknown_84587D8,
|
||||
gUnknown_84587FC
|
||||
}, {
|
||||
gUnknown_8458828,
|
||||
gUnknown_845884C,
|
||||
gUnknown_8458868,
|
||||
gUnknown_8458898
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84588DC[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458918[] = _("I hope I get to know you better!\p");
|
||||
ALIGNED(4) const u8 gUnknown_845893C[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p");
|
||||
ALIGNED(4) const u8 gUnknown_845897C[] = _("Glad to meet you.\nPlease don't be a stranger!\p");
|
||||
|
||||
const u8 *const gUnknown_84589AC[][2] = {
|
||||
{
|
||||
gUnknown_84588DC,
|
||||
gUnknown_8458918
|
||||
}, {
|
||||
gUnknown_845893C,
|
||||
gUnknown_845897C
|
||||
}
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84589BC[] = _("Yeahah!\nI really wanted this POKéMON!\p");
|
||||
ALIGNED(4) const u8 gUnknown_84589E4[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458A24[] = _("I'm trading POKéMON right now.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458A44[] = _("I finally got that POKéMON I\nwanted in a trade!\p");
|
||||
|
||||
const u8 *const gUnknown_8458A78[][4] = {
|
||||
{
|
||||
gUnknown_84589BC,
|
||||
gUnknown_84589E4
|
||||
}, {
|
||||
gUnknown_8458A24,
|
||||
gUnknown_8458A44
|
||||
}
|
||||
};
|
||||
|
||||
const u8 gUnknown_8458A98[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458AB8[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?");
|
||||
ALIGNED(4) const u8 gUnknown_8458B44[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?");
|
||||
ALIGNED(4) const u8 gUnref_ThankYouForComing_JP[] = _("こうかんけいじばん の とうろくが\nかんりょう しました\pごりよう ありがとう\nございました!\p");
|
||||
ALIGNED(4) const u8 gUnref_NoOneRegisteredMon[] = _("けいじばんに だれも ポケモンを\nとうろく していません\p\n");
|
||||
ALIGNED(4) const u8 gUnknown_8458CD4[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n");
|
||||
ALIGNED(4) const u8 gUnknown_8458D1C[] = _("Which of your party POKéMON will\nyou offer in trade?\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458D54[] = _("Registration has been canceled.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458D78[] = _("Registration has been completed.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458D9C[] = _("The trade has been canceled.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458DBC[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?");
|
||||
ALIGNED(4) const u8 gUnknown_8458DE8[] = _("Cancel the registration of your\nEGG?");
|
||||
ALIGNED(4) const u8 gUnknown_8458E10[] = _("The registration has been canceled.\p");
|
||||
ALIGNED(4) const u8 gUnref_ShowPeopleWhoLikeYou_JP[] = _("こうかんを きぼうしているひとを\nひょうじします");
|
||||
ALIGNED(4) const u8 gUnref_PleaseChooseTrainerYouWant[] = _("こうかん したい トレーナーを\nえらんで ください");
|
||||
ALIGNED(4) const u8 gUnknown_8458E70[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?");
|
||||
ALIGNED(4) const u8 gUnref_ImWaitingForAnswer[] = _("……\nあいての へんじを まっています");
|
||||
ALIGNED(4) const u8 gUnref_MonSentOutIsNotRegistered[] = _("あなたが こうかんにだす\nポケモンが とうろくされていません\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458ED0[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458F04[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458F2C[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458F60[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p");
|
||||
|
||||
const u8 *const gUnknown_8458F94[] = {
|
||||
gUnknown_8458F2C,
|
||||
gUnknown_8458F60
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8458F9C[] = _("Your trade offer was rejected.\p");
|
||||
ALIGNED(4) const u8 gUnknown_8458FBC[] = _("EGG TRADE");
|
||||
ALIGNED(4) const u8 gUnknown_8458FC8[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL");
|
||||
ALIGNED(4) const u8 gUnknown_8458FE4[] = _("Please choose a TRAINER.");
|
||||
ALIGNED(4) const u8 gUnknown_8459000[] = _("Please choose a TRAINER for\na SINGLE BATTLE.");
|
||||
ALIGNED(4) const u8 gUnknown_8459030[] = _("Please choose a TRAINER for\na DOUBLE BATTLE.");
|
||||
ALIGNED(4) const u8 gUnknown_8459060[] = _("Please choose the LEADER\nfor a MULTI BATTLE.");
|
||||
ALIGNED(4) const u8 gUnknown_8459090[] = _("Please choose the TRAINER to\ntrade with.");
|
||||
ALIGNED(4) const u8 gUnknown_84590BC[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS.");
|
||||
ALIGNED(4) const u8 gUnknown_84590F4[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS.");
|
||||
ALIGNED(4) const u8 gUnknown_845912C[] = _("Jump with mini POKéMON!\nPlease choose the LEADER.");
|
||||
ALIGNED(4) const u8 gUnknown_8459160[] = _("BERRY CRUSH!\nPlease choose the LEADER.");
|
||||
ALIGNED(4) const u8 gUnknown_8459188[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER.");
|
||||
|
||||
const u8 *const gUnknown_84591B8[] = {
|
||||
gUnknown_8459000,
|
||||
gUnknown_8459030,
|
||||
gUnknown_8459060,
|
||||
gUnknown_8459090,
|
||||
gUnknown_845912C,
|
||||
gUnknown_8459160,
|
||||
gUnknown_8459188,
|
||||
gUnknown_84590BC,
|
||||
gUnknown_84590F4
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84591DC[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait...");
|
||||
ALIGNED(4) const u8 gUnref_NeedAtLeast2InDblBtl[] = _("ダブルバトルでは 2ひき いじょうの\nポケモンが ひつようです\p");
|
||||
ALIGNED(4) const u8 gUnknown_8459238[] = _("Awaiting {STR_VAR_1}'s response…");
|
||||
ALIGNED(4) const u8 gUnknown_8459250[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait.");
|
||||
ALIGNED(4) const u8 gUnknown_845928C[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM.");
|
||||
ALIGNED(4) const u8 gUnref_PlsWaitLittleWHile[] = _("ほかの さんかしゃが そろうまで\nしょうしょう おまちください");
|
||||
ALIGNED(4) const u8 gUnknown_84592E8[] = _("No CARDS appear to be shared \nright now.");
|
||||
ALIGNED(4) const u8 gUnknown_8459314[] = _("No NEWS appears to be shared\nright now.");
|
||||
|
||||
const u8 *const gUnknown_845933C[] = {
|
||||
gUnknown_84592E8,
|
||||
gUnknown_8459314
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8459344[] = _("BATTLE");
|
||||
ALIGNED(4) const u8 gUnknown_845934C[] = _("CHAT");
|
||||
ALIGNED(4) const u8 gUnknown_8459354[] = _("GREETINGS");
|
||||
ALIGNED(4) const u8 gUnknown_8459360[] = _("EXIT");
|
||||
ALIGNED(4) const u8 gUnknown_8459368[] = _("EXIT");
|
||||
ALIGNED(4) const u8 gUnknown_8459370[] = _("INFO");
|
||||
ALIGNED(4) const u8 gUnknown_8459378[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.");
|
||||
ALIGNED(4) const u8 gUnknown_8459394[] = _("SINGLE BATTLE");
|
||||
ALIGNED(4) const u8 gUnknown_84593A4[] = _("DOUBLE BATTLE");
|
||||
ALIGNED(4) const u8 gUnknown_84593B4[] = _("MULTI BATTLE");
|
||||
ALIGNED(4) const u8 gUnknown_84593C4[] = _("POKéMON TRADES");
|
||||
ALIGNED(4) const u8 gUnknown_84593D4[] = _("CHAT");
|
||||
ALIGNED(4) const u8 gUnknown_84593DC[] = _("CARDS");
|
||||
ALIGNED(4) const u8 gUnknown_84593E4[] = _("WONDER CARDS");
|
||||
ALIGNED(4) const u8 gUnknown_84593F4[] = _("WONDER NEWS");
|
||||
ALIGNED(4) const u8 gUnknown_8459400[] = _("POKéMON JUMP");
|
||||
ALIGNED(4) const u8 gUnknown_8459410[] = _("BERRY CRUSH");
|
||||
ALIGNED(4) const u8 gUnknown_845941C[] = _("BERRY-PICKING");
|
||||
ALIGNED(4) const u8 gUnknown_845942C[] = _("SEARCH");
|
||||
ALIGNED(4) const u8 gUnknown_8459434[] = _("ぐるぐるこうかん");
|
||||
ALIGNED(4) const u8 gUnknown_8459440[] = _("アイテムトレード");
|
||||
ALIGNED(4) const u8 gUnknown_845944C[] = _("It's a NORMAL CARD.");
|
||||
ALIGNED(4) const u8 gUnknown_8459460[] = _("It's a BRONZE CARD!");
|
||||
ALIGNED(4) const u8 gUnknown_8459474[] = _("It's a COPPER CARD!");
|
||||
ALIGNED(4) const u8 gUnknown_8459488[] = _("It's a SILVER CARD!");
|
||||
ALIGNED(4) const u8 gUnknown_845949C[] = _("It's a GOLD CARD!");
|
||||
|
||||
const u8 *const gUnknown_84594B0[] = {
|
||||
gUnknown_845944C,
|
||||
gUnknown_8459460,
|
||||
gUnknown_8459474,
|
||||
gUnknown_8459488,
|
||||
gUnknown_845949C
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_84594C4[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p");
|
||||
ALIGNED(4) const u8 gUnknown_8459504[] = _("BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p");
|
||||
ALIGNED(4) const u8 gUnknown_8459544[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_8459564[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}");
|
||||
|
||||
const u8 *const gUnknown_8459580[] = {
|
||||
gUnknown_8459544,
|
||||
gUnknown_8459564
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gUnknown_8459588[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}");
|
||||
ALIGNED(4) const u8 gUnknown_84595B0[] = _("Canceled reading the Card.");
|
||||
|
||||
const struct mevent_client_cmd gUnknown_84595CC[] = {
|
||||
CLI_RECEIVE(0x15),
|
||||
CLI_RECVBUF,
|
||||
CLI_SENDALL,
|
||||
CLI_RETURN(0x0e)
|
||||
};
|
||||
|
||||
const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[] = {
|
||||
SRV_SEND(0x20, gUnknown_84595CC),
|
||||
SRV_WAITSND,
|
||||
SRV_SENDSTR(0x1b, gUnknown_84595B0),
|
||||
SRV_WAITSND,
|
||||
SRV_RECV(0x14),
|
||||
SRV_RETURN(0x09)
|
||||
};
|
||||
+1
-1
@@ -1273,7 +1273,7 @@ static u8 GetRematchableTrainerLocalId(void)
|
||||
|
||||
static void StartTrainerObjectMovementScript(struct VsSeekerTrainerInfo * trainerInfo, const u8 * script)
|
||||
{
|
||||
npc_sync_anim_pause_bits(&gObjectEvents[trainerInfo->objectEventId]);
|
||||
UnfreezeObjectEvent(&gObjectEvents[trainerInfo->objectEventId]);
|
||||
ScriptMovement_StartObjectMovementScript(trainerInfo->localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, script);
|
||||
}
|
||||
|
||||
|
||||
@@ -364,7 +364,7 @@ void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx)
|
||||
|
||||
u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1)
|
||||
{
|
||||
u32 r8 = unk20->unk.field_0.unk_0a_0;
|
||||
u32 r8 = unk20->unk.gname.unk_0a_0;
|
||||
s32 i, j, k;
|
||||
|
||||
for (i = 0; i < NELEMS(gUnknown_846FAC0); i++)
|
||||
@@ -376,7 +376,7 @@ u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1)
|
||||
k = 0;
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
if (unk20->unk.field_0.unk_04[j] != 0) k++;
|
||||
if (unk20->unk.gname.unk_04[j] != 0) k++;
|
||||
}
|
||||
k++;
|
||||
arg1[gUnknown_846FAC0[i][1]] += k;
|
||||
|
||||
+2
-9
@@ -76,17 +76,10 @@ gUnknown_3000FE8: @ 3000FE8
|
||||
.include "src/link_rfu_3.o"
|
||||
.align 2
|
||||
.include "src/quest_log.o"
|
||||
.align 2
|
||||
.include "src/union_room.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_3002024: @ 3002024
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3002028: @ 3002028
|
||||
.space 0x4
|
||||
|
||||
gUnknown_300202C: @ 300202C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3002030: @ 3002030
|
||||
.space 0x8
|
||||
|
||||
|
||||
+2
-2
@@ -38,10 +38,10 @@ gFieldCallback2: @ 3005024
|
||||
gHeldKeyCodeToSend: @ 3005028
|
||||
.space 0x4
|
||||
|
||||
gUnknown_300502C: @ 300502C
|
||||
gLocalLinkPlayerId: @ 300502C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005030: @ 3005030
|
||||
gFieldLinkPlayerCount: @ 3005030
|
||||
.space 0x10
|
||||
|
||||
.align 2
|
||||
|
||||
+6
-33
@@ -350,41 +350,14 @@ gUnknown_203ACF0: @ 203ACF0
|
||||
.include "src/menu.o"
|
||||
.align 2
|
||||
.include "src/quest_log.o"
|
||||
.align 2
|
||||
.include "src/union_room.o"
|
||||
.align 2
|
||||
.include "src/rfu_union_tool.o"
|
||||
.align 2
|
||||
.include "src/union_room_battle.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_203B04C: @ 203B04C
|
||||
.space 0xC
|
||||
|
||||
gUnknown_203B058: @ 203B058
|
||||
.space 0x1
|
||||
|
||||
gUnknown_203B059: @ 203B059
|
||||
.space 0x3
|
||||
|
||||
gUnknown_203B05C: @ 203B05C
|
||||
.space 0x8
|
||||
|
||||
gUnknown_203B064: @ 203B064
|
||||
.space 0x4
|
||||
|
||||
gUnionRoomOfferedSpecies: @ 203B068
|
||||
.space 0x2
|
||||
|
||||
gUnionRoomRequestedMonType: @ 203B06A
|
||||
.space 0x2
|
||||
|
||||
gUnknown_203B06C: @ 203B06C
|
||||
.space 0x18
|
||||
|
||||
gUnknown_203B084: @ 203B084
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B088: @ 203B088
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B08C: @ 203B08C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B090: @ 203B090
|
||||
.space 0x4
|
||||
|
||||
|
||||
Reference in New Issue
Block a user