Data through gUnknown_84570C8

This commit is contained in:
PikalaxALT
2020-01-21 14:36:13 -05:00
parent d873b1c6aa
commit 9f9b4dd13d
5 changed files with 720 additions and 657 deletions
-208
View File
@@ -6,215 +6,7 @@
.section .rodata .section .rodata
.align 2 .align 2
gUnknown_8456D4C:: @ 8456D4C
.byte 0x00, 0x01, 0x03, 0x11, 0x0A, 0x0F @ window template
.2byte 0x0044
gUnknown_8456D54:: @ 8456D54
.byte 0x00, 0x14, 0x03, 0x07, 0x04, 0x0F @ window template
.2byte 0x00EE
gUnknown_8456D5C:: @ 8456D5C
.word gUnknown_84571AC, 0
.word gUnknown_84571AC, 1
.word gUnknown_84571AC, 2
.word gUnknown_84571AC, 3
.word gUnknown_84571AC, 4
.word gUnknown_84571AC, 5
.word gUnknown_84571AC, 6
.word gUnknown_84571AC, 7
.word gUnknown_84571AC, 8
.word gUnknown_84571AC, 9
.word gUnknown_84571AC, 10
.word gUnknown_84571AC, 11
.word gUnknown_84571AC, 12
.word gUnknown_84571AC, 13
.word gUnknown_84571AC, 14
.word gUnknown_84571AC, 15
gUnknown_8456DDC:: @ 8456DDC
.word gUnknown_8456D5C
.word ListMenuDefaultCursorMoveFunc
.word sub_8116F94
.2byte 0x0010
.2byte 0x0005
.byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x50, 0x02
gUnknown_8456DF4:: @ 8456DF4
.byte 0x00, 0x14, 0x06, 0x08, 0x07, 0x0F @ window template?
.2byte 0x0001
gUnknown_8456DFC:: @ 8456DFC
.word gUnknown_8459354, 0x00000208
.word gUnknown_8459344, 0x00000241
.word gUnknown_845934C, 0x00000245
.word gUnknown_8459360, 0x00000040
gUnknown_8456E1C:: @ 8456E1C
.word gUnknown_8456DFC
.word ListMenuDefaultCursorMoveFunc
.word NULL
.2byte 0x0004
.2byte 0x0004
.byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02
gUnknown_8456E34:: @ 8456E34
.byte 0x00, 0x12, 0x08, 0x0B, 0x05, 0x0F @ window template
.2byte 0x0001
gUnknown_8456E3C:: @ 8456E3C
.word gText_Register, 1
.word gUnknown_8459370, 2
.word gUnknown_8459360, 3
gUnknown_8456E54:: @ 8456E54
.word gUnknown_8456E3C
.word ListMenuDefaultCursorMoveFunc
.word NULL
.2byte 0x0003
.2byte 0x0003
.byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02
gUnknown_8456E6C:: @ 8456E6C
.byte 0x00, 0x14, 0x02, 0x09, 0x0B, 0x0F @ window template
.2byte 0x0001
gUnknown_8456E74:: @ 8456E74
.word gTypeNames + 0x00, 0
.word gTypeNames + 0x46, 10
.word gTypeNames + 0x4D, 11
.word gTypeNames + 0x5B, 13
.word gTypeNames + 0x54, 12
.word gTypeNames + 0x69, 15
.word gTypeNames + 0x1C, 4
.word gTypeNames + 0x23, 5
.word gTypeNames + 0x0E, 2
.word gTypeNames + 0x62, 14
.word gTypeNames + 0x07, 1
.word gTypeNames + 0x15, 3
.word gTypeNames + 0x2A, 6
.word gTypeNames + 0x31, 7
.word gTypeNames + 0x70, 16
.word gTypeNames + 0x38, 8
.word gTypeNames + 0x77, 17
.word gUnknown_8459360, 18
gUnknown_8456F04:: @ 8456F04
.word gUnknown_8456E74
.word ListMenuDefaultCursorMoveFunc
.word NULL
.2byte 0x0012
.2byte 0x0006
.byte 0x00, 0x00, 0x08, 0x00, 0x22, 0x31, 0x01, 0x02
gUnknown_8456F1C:: @ 8456F1C
.byte 0x00, 0x01, 0x01, 0x1C, 0x02, 0x0D @ window template
.2byte 0x0001
gUnknown_8456F24:: @ 8456F24
.byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D @ window template
.2byte 0x0039
gUnknown_8456F2C:: @ 8456F2C
.word gUnknown_84571AC, -3
.word gUnknown_84571AC, 0
.word gUnknown_84571AC, 1
.word gUnknown_84571AC, 2
.word gUnknown_84571AC, 3
.word gUnknown_84571AC, 4
.word gUnknown_84571AC, 5
.word gUnknown_84571AC, 6
.word gUnknown_84571AC, 7
.word gUnknown_8459368, 8
gUnknown_8456F7C:: @ 8456F7C
.word gUnknown_8456F2C
.word ListMenuDefaultCursorMoveFunc
.word sub_811ACA4
.2byte 0x000A
.2byte 0x0005
.byte 0x00, 0x00, 0x0C, 0x00, 0xE2, 0xDF, 0x09, 0x02
@ unused window template?
.byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D
.2byte 0x0039
gUnknown_8456F9C:: @ 8456F9C
.word gUnknown_84571AC, 0
.word gUnknown_84571AC, 1
.word gUnknown_84571AC, 2
.word gUnknown_84571AC, 3
.word gUnknown_84571AC, 4
.word gUnknown_84571AC, 5
.word gUnknown_84571AC, 6
.word gUnknown_84571AC, 7
.word gUnknown_84571AC, 8
.word gUnknown_84571AC, 9
.word gUnknown_84571AC, 10
.word gUnknown_84571AC, 11
.word gUnknown_84571AC, 12
.word gUnknown_84571AC, 13
.word gUnknown_84571AC, 14
.word gUnknown_84571AC, 15
gUnknown_845701C:: @ 845701C
.word gUnknown_8456F9C
.word ListMenuDefaultCursorMoveFunc
.word nullsub_92
.2byte 0x0010
.2byte 0x0004
.byte 0x00, 0x00, 0x08, 0x01, 0x20, 0x31, 0x41, 0x02
gUnknown_8457034:: @ 8457034
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@ starts at gUnknown_082F0474 in pokeemerald, union link groups @ starts at gUnknown_082F0474 in pokeemerald, union link groups
gUnknown_845704C:: @ 845704C
.byte 0x01, 0xFF, 0x00, 0x00
gUnknown_8457050:: @ 8457050
.byte 0x02, 0xFF, 0x00, 0x00
gUnknown_8457054:: @ 8457054
.byte 0x03, 0xFF, 0x00, 0x00
gUnknown_8457058:: @ 8457058
.byte 0x04, 0xFF, 0x00, 0x00
gUnknown_845705C:: @ 845705C
.byte 0x09, 0xFF, 0x00, 0x00
gUnknown_8457060:: @ 8457060
.byte 0x0A, 0xFF, 0x00, 0x00
gUnknown_8457064:: @ 8457064
.byte 0x0B, 0xFF, 0x00, 0x00
gUnknown_8457068:: @ 8457068
.byte 0x15, 0xFF, 0x00, 0x00
gUnknown_845706C:: @ 845706C
.byte 0x16, 0xFF, 0x00, 0x00
gUnknown_8457070:: @ 8457070
.byte 0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF, 0x00, 0x00
gUnknown_845707C:: @ 845707C
.byte 0x0C, 0xFF, 0x00, 0x00
gUnknown_8457080:: @ 8457080
.byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF, 0x00
gUnknown_845708C:: @ 845708C
.byte 0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF, 0x00, 0x00
gUnknown_8457094:: @ 8457094
.word gUnknown_845704C
.word gUnknown_8457050
.word gUnknown_8457054
.word gUnknown_8457058
.word gUnknown_845705C
.word gUnknown_8457060
.word gUnknown_8457064
.word gUnknown_8457068
.word gUnknown_845706C
.word gUnknown_8457070
.word gUnknown_845707C
.word gUnknown_8457080
.word gUnknown_845708C
gUnknown_84570C8:: @ 84570C8
.byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00
gUnknown_84570D8:: @ 84570D8 gUnknown_84570D8:: @ 84570D8
.byte 0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A, 0x00, 0x00, 0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D, 0x00, 0x00 .byte 0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A, 0x00, 0x00, 0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D, 0x00, 0x00
+130
View File
@@ -1,6 +1,97 @@
#ifndef GUARD_CONSTANTS_POKEMON_H #ifndef GUARD_CONSTANTS_POKEMON_H
#define 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 // Pokemon types
#define TYPE_NORMAL 0x00 #define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01 #define TYPE_FIGHTING 0x01
@@ -77,6 +168,16 @@
#define STAT_ACC 6 // only in battles #define STAT_ACC 6 // only in battles
#define STAT_EVASION 7 // only in battles #define STAT_EVASION 7 // only in battles
// TODO: Why do we need these as separate defines?
#define STAT_STAGE_HP 0
#define STAT_STAGE_ATK 1
#define STAT_STAGE_DEF 2
#define STAT_STAGE_SPEED 3
#define STAT_STAGE_SPATK 4
#define STAT_STAGE_SPDEF 5
#define STAT_STAGE_ACC 6
#define STAT_STAGE_EVASION 7
#define NUM_STATS 6 #define NUM_STATS 6
#define NUM_BATTLE_STATS 8 #define NUM_BATTLE_STATS 8
@@ -91,4 +192,33 @@
#define PLAYER_HAS_ONE_MON 0x1 #define PLAYER_HAS_ONE_MON 0x1
#define PLAYER_HAS_ONE_USABLE_MON 0x2 #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 #endif // GUARD_CONSTANTS_POKEMON_H
+1 -183
View File
@@ -3,167 +3,7 @@
#include "global.h" #include "global.h"
#include "sprite.h" #include "sprite.h"
#include "constants/pokemon.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
};
struct PokemonSubstruct0 struct PokemonSubstruct0
{ {
@@ -357,28 +197,6 @@ struct BattlePokemon
/*0x54*/ u32 otId; /*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 struct BaseStats
{ {
/* 0x00 */ u8 baseHP; /* 0x00 */ u8 baseHP;
+536
View File
@@ -0,0 +1,536 @@
extern const u8 gUnknown_84571AC[];
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_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[];
#define _8456CD8(a, b) ((a) | ((b) << 8))
static const u8 *const gUnknown_8456C74[] = {
gUnknown_84571AC,
gUnknown_8459394,
gUnknown_84593A4,
gUnknown_84593B4,
gUnknown_84593C4,
gUnknown_84593D4,
gUnknown_84593E4,
gUnknown_84593F4,
gUnknown_84593DC,
gUnknown_8459400,
gUnknown_8459410,
gUnknown_845941C,
gUnknown_845942C,
gUnknown_8459434,
gUnknown_8459440,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84593E4,
gUnknown_84593F4
};
static const struct WindowTemplate gUnknown_8456CD0 = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 30,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x008
};
static const u32 gUnknown_8456CD8[] = {
_8456CD8( 1, 2),
_8456CD8( 2, 2),
_8456CD8( 3, 4),
_8456CD8( 4, 2),
_8456CD8( 9, 37),
_8456CD8(10, 37),
_8456CD8(11, 53),
_8456CD8(13, 53),
_8456CD8(14, 53)
};
static const struct WindowTemplate gUnknown_8456CFC = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 3,
.width = 13,
.height = 10,
.paletteNum = 15,
.baseBlock = 0x044
};
static const struct WindowTemplate gUnknown_8456D04 = {
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 3,
.width = 7,
.height = 4,
.paletteNum = 15,
.baseBlock = 0x0C6
};
const struct ListMenuItem gUnknown_8456D0C[] = {
{gUnknown_84571AC, 0},
{gUnknown_84571AC, 1},
{gUnknown_84571AC, 2},
{gUnknown_84571AC, 3},
{gUnknown_84571AC, 4}
};
static const struct ListMenuTemplate gUnknown_8456D34 = {
.items = gUnknown_8456D0C,
.moveCursorFunc = NULL,
.itemPrintFunc = sub_81164C8,
.totalItems = 5,
.maxShowed = 5,
.windowId = 0,
.header_X = 0,
.item_X = 1,
.cursor_X = 0,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 0,
.itemVerticalPadding = 2,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 1
};
static const struct WindowTemplate gUnknown_8456D4C = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 3,
.width = 17,
.height = 10,
.paletteNum = 15,
.baseBlock = 0x044
};
static const struct WindowTemplate gUnknown_8456D54 = {
.bg = 0,
.tilemapLeft = 20,
.tilemapTop = 3,
.width = 7,
.height = 4,
.paletteNum = 15,
.baseBlock = 0x0EE
};
static const struct ListMenuItem gUnknown_8456D5C[] = {
{gUnknown_84571AC, 0},
{gUnknown_84571AC, 1},
{gUnknown_84571AC, 2},
{gUnknown_84571AC, 3},
{gUnknown_84571AC, 4},
{gUnknown_84571AC, 5},
{gUnknown_84571AC, 6},
{gUnknown_84571AC, 7},
{gUnknown_84571AC, 8},
{gUnknown_84571AC, 9},
{gUnknown_84571AC, 10},
{gUnknown_84571AC, 11},
{gUnknown_84571AC, 12},
{gUnknown_84571AC, 13},
{gUnknown_84571AC, 14},
{gUnknown_84571AC, 15}
};
static const struct ListMenuTemplate gUnknown_8456DDC = {
.items = gUnknown_8456D5C,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = sub_8116F94,
.totalItems = 16,
.maxShowed = 5,
.windowId = 0,
.header_X = 0,
.item_X = 8,
.cursor_X = 0,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 0,
.itemVerticalPadding = 2,
.scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD,
.fontId = 2,
.cursorKind = 0
};
static const struct WindowTemplate gUnknown_8456DF4 = {
.bg = 0,
.tilemapLeft = 20,
.tilemapTop = 6,
.width = 8,
.height = 7,
.paletteNum = 15,
.baseBlock = 0x001
};
static const struct ListMenuItem gUnknown_8456DFC[] = {
{gUnknown_8459354, _8456CD8( 8, 2)},
{gUnknown_8459344, _8456CD8(65, 2)},
{gUnknown_845934C, _8456CD8(69, 2)},
{gUnknown_8459360, _8456CD8(64, 0)}
};
static const struct ListMenuTemplate gUnknown_8456E1C = {
.items = gUnknown_8456DFC,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = NULL,
.totalItems = 4,
.maxShowed = 4,
.windowId = 0,
.header_X = 0,
.item_X = 8,
.cursor_X = 0,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 1,
.itemVerticalPadding = 0,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 0
};
static const struct WindowTemplate gUnknown_8456E34 = {
.bg = 0,
.tilemapLeft = 18,
.tilemapTop = 8,
.width = 11,
.height = 5,
.paletteNum = 15,
.baseBlock = 0x001
};
static const struct ListMenuItem gUnknown_8456E3C[] = {
{gText_Register, 1},
{gUnknown_8459370, 2},
{gUnknown_8459360, 3}
};
static const struct ListMenuTemplate gUnknown_8456E54 = {
.items = gUnknown_8456E3C,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = NULL,
.totalItems = 3,
.maxShowed = 3,
.windowId = 0,
.header_X = 0,
.item_X = 8,
.cursor_X = 0,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 1,
.itemVerticalPadding = 0,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 0
};
static const struct WindowTemplate gUnknown_8456E6C = {
.bg = 0,
.tilemapLeft = 20,
.tilemapTop = 2,
.width = 9,
.height = 11,
.paletteNum = 15,
.baseBlock = 0x001
};
static const struct ListMenuItem gUnknown_8456E74[] = {
{gTypeNames[TYPE_NORMAL], TYPE_NORMAL},
{gTypeNames[TYPE_FIRE], TYPE_FIRE},
{gTypeNames[TYPE_WATER], TYPE_WATER},
{gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC},
{gTypeNames[TYPE_GRASS], TYPE_GRASS},
{gTypeNames[TYPE_ICE], TYPE_ICE},
{gTypeNames[TYPE_GROUND], TYPE_GROUND},
{gTypeNames[TYPE_ROCK], TYPE_ROCK},
{gTypeNames[TYPE_FLYING], TYPE_FLYING},
{gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC},
{gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING},
{gTypeNames[TYPE_POISON], TYPE_POISON},
{gTypeNames[TYPE_BUG], TYPE_BUG},
{gTypeNames[TYPE_GHOST], TYPE_GHOST},
{gTypeNames[TYPE_DRAGON], TYPE_DRAGON},
{gTypeNames[TYPE_STEEL], TYPE_STEEL},
{gTypeNames[TYPE_DARK], TYPE_DARK},
{gUnknown_8459360, NUMBER_OF_MON_TYPES}
};
static const struct ListMenuTemplate gUnknown_8456F04 = {
.items = gUnknown_8456E74,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = NULL,
.totalItems = NUMBER_OF_MON_TYPES,
.maxShowed = 6,
.windowId = 0,
.header_X = 0,
.item_X = 8,
.cursor_X = 0,
.upText_Y = 2,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 1,
.itemVerticalPadding = 0,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 0
};
static const struct WindowTemplate gUnknown_8456F1C = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 28,
.height = 2,
.paletteNum = 13,
.baseBlock = 0x001
};
static const struct WindowTemplate gUnknown_8456F24 = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 5,
.width = 28,
.height = 10,
.paletteNum = 13,
.baseBlock = 0x039
};
static const struct ListMenuItem gUnknown_8456F2C[] = {
{gUnknown_84571AC, -3},
{gUnknown_84571AC, 0},
{gUnknown_84571AC, 1},
{gUnknown_84571AC, 2},
{gUnknown_84571AC, 3},
{gUnknown_84571AC, 4},
{gUnknown_84571AC, 5},
{gUnknown_84571AC, 6},
{gUnknown_84571AC, 7},
{gUnknown_8459368, 8}
};
static const struct ListMenuTemplate gUnknown_8456F7C = {
.items = gUnknown_8456F2C,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = sub_811ACA4,
.totalItems = 10,
.maxShowed = 5,
.windowId = 0,
.header_X = 0,
.item_X = 12,
.cursor_X = 0,
.upText_Y = 2,
.cursorPal = 14,
.fillValue = 15,
.cursorShadowPal = 13,
.lettersSpacing = 1,
.itemVerticalPadding = 1,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 0
};
static const struct WindowTemplate gUnknown_8456F94 = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 5,
.width = 28,
.height = 10,
.paletteNum = 13,
.baseBlock = 0x039
};
static const struct ListMenuItem gUnknown_8456F9C[] = {
{gUnknown_84571AC, 0},
{gUnknown_84571AC, 1},
{gUnknown_84571AC, 2},
{gUnknown_84571AC, 3},
{gUnknown_84571AC, 4},
{gUnknown_84571AC, 5},
{gUnknown_84571AC, 6},
{gUnknown_84571AC, 7},
{gUnknown_84571AC, 8},
{gUnknown_84571AC, 9},
{gUnknown_84571AC, 10},
{gUnknown_84571AC, 11},
{gUnknown_84571AC, 12},
{gUnknown_84571AC, 13},
{gUnknown_84571AC, 14},
{gUnknown_84571AC, 15}
};
static const struct ListMenuTemplate gUnknown_845701C = {
.items = gUnknown_8456F9C,
.moveCursorFunc = ListMenuDefaultCursorMoveFunc,
.itemPrintFunc = nullsub_92,
.totalItems = 16,
.maxShowed = 4,
.windowId = 0,
.header_X = 0,
.item_X = 8,
.cursor_X = 1,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 1,
.itemVerticalPadding = 0,
.scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD,
.fontId = 2,
.cursorKind = 0
};
static const struct UnkStruct_Shared gUnknown_8457034 = {};
// starts at gUnknown_082F0474 in pokeemerald, union link groups
ALIGNED(4) static const u8 gUnknown_845704C[] = {0x01, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457050[] = {0x02, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457054[] = {0x03, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457058[] = {0x04, 0xFF};
ALIGNED(4) static const u8 gUnknown_845705C[] = {0x09, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457060[] = {0x0A, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457064[] = {0x0B, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457068[] = {0x15, 0xFF};
ALIGNED(4) static const u8 gUnknown_845706C[] = {0x16, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457070[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF};
ALIGNED(4) static const u8 gUnknown_845707C[] = {0x0C, 0xFF};
ALIGNED(4) static const u8 gUnknown_8457080[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF};
ALIGNED(4) static const u8 gUnknown_845708C[] = {0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF};
static const u8 *const gUnknown_8457094[] = {
gUnknown_845704C,
gUnknown_8457050,
gUnknown_8457054,
gUnknown_8457058,
gUnknown_845705C,
gUnknown_8457060,
gUnknown_8457064,
gUnknown_8457068,
gUnknown_845706C,
gUnknown_8457070,
gUnknown_845707C,
gUnknown_8457080,
gUnknown_845708C
};
static const u8 gUnknown_84570C8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00};
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_8459378[];
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[];
#undef _8456CD8
+53 -266
View File
@@ -31,6 +31,7 @@
#include "script.h" #include "script.h"
#include "script_pokemon_util.h" #include "script_pokemon_util.h"
#include "start_menu.h" #include "start_menu.h"
#include "strings.h"
#include "task.h" #include "task.h"
#include "trade.h" #include "trade.h"
#include "trade_scene.h" #include "trade_scene.h"
@@ -61,13 +62,14 @@ static struct UnkStruct_URoom * sURoom;
void sub_8115A68(u8 taskId); void sub_8115A68(u8 taskId);
void sub_81161E4(struct UnkStruct_Leader * leader); void sub_81161E4(struct UnkStruct_Leader * leader);
bool8 sub_8116444(struct UnkStruct_Leader * leader, u32 a1, u32 a2); bool8 sub_8116444(struct UnkStruct_Leader * leader, u32 a1, u32 a2);
void sub_81164C8(u8 arg0, s32 id, u8 arg2); void sub_81164C8(u8 windowId, s32 itemId, u8 y);
u8 sub_8116524(struct UnkStruct_Main0 * a0); u8 sub_8116524(struct UnkStruct_Main0 * a0);
u8 sub_81165E8(struct UnkStruct_Main0 * a0); u8 sub_81165E8(struct UnkStruct_Main0 * a0);
void sub_8116738(u8 taskId); void sub_8116738(u8 taskId);
u32 sub_8116D10(struct UnkStruct_Group * group, s32 id); u32 sub_8116D10(struct UnkStruct_Group * group, s32 id);
void sub_8116D60(struct UnkStruct_Group * group, s32 id); void sub_8116D60(struct UnkStruct_Group * group, s32 id);
void sub_8116E1C(u8 taskId); void sub_8116E1C(u8 taskId);
void sub_8116F94(u8 windowId, s32 itemId, u8 y);
u8 sub_8116FE4(void); u8 sub_8116FE4(void);
void sub_8117990(void); void sub_8117990(void);
void sub_81179A4(void); void sub_81179A4(void);
@@ -99,12 +101,14 @@ bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_Shared
bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1); bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1);
u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1); u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1);
u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2); u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2);
void sub_811A81C(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); void sub_811A81C(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * arg3, u8 arg4, u8 id);
void sub_811A910(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); void sub_811A910(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id);
bool32 sub_811A9B8(void); bool32 sub_811A9B8(void);
u32 sub_811A9FC(s32 a0); u32 sub_811A9FC(s32 a0);
u32 sub_811AA24(struct UnkStruct_x20 * unkX20); u32 sub_811AA24(struct UnkStruct_x20 * unkX20);
s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender); s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender);
void nullsub_92(u8 windowId, s32 itemId, u8 y);
void sub_811ACA4(u8 windowId, s32 itemId, u8 y);
s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1); s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1);
s32 sub_811ADC4(s32 a0, struct UnkStruct_Main0 * a1); s32 sub_811ADC4(s32 a0, struct UnkStruct_Main0 * a1);
s32 sub_811ADD0(u32 type, u32 species); s32 sub_811ADD0(u32 type, u32 species);
@@ -125,233 +129,16 @@ void sub_811B31C(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 gender);
u8 sub_811B754(struct UnkStruct_8019BA8 * ptr); u8 sub_811B754(struct UnkStruct_8019BA8 * ptr);
void sub_811BA78(void); void sub_811BA78(void);
extern const u8 gUnknown_84571AC[]; #include "data/union_room.h"
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[];
static const u8 *const gUnknown_8456C74[] = {
gUnknown_84571AC,
gUnknown_8459394,
gUnknown_84593A4,
gUnknown_84593B4,
gUnknown_84593C4,
gUnknown_84593D4,
gUnknown_84593E4,
gUnknown_84593F4,
gUnknown_84593DC,
gUnknown_8459400,
gUnknown_8459410,
gUnknown_845941C,
gUnknown_845942C,
gUnknown_8459434,
gUnknown_8459440,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84571AC,
gUnknown_84593E4,
gUnknown_84593F4
};
static const struct WindowTemplate gUnknown_8456CD0 = {
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 30,
.height = 2,
.paletteNum = 0xF,
.baseBlock = 0x008
};
#define _8456CD8(a, b) ((a) | ((b) << 8))
static const u32 gUnknown_8456CD8[] = {
_8456CD8( 1, 2),
_8456CD8( 2, 2),
_8456CD8( 3, 4),
_8456CD8( 4, 2),
_8456CD8( 9, 37),
_8456CD8(10, 37),
_8456CD8(11, 53),
_8456CD8(13, 53),
_8456CD8(14, 53)
};
#undef _8456CD8
static const struct WindowTemplate gUnknown_8456CFC = {
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 3,
.width = 13,
.height = 10,
.paletteNum = 15,
.baseBlock = 0x044
};
static const struct WindowTemplate gUnknown_8456D04 = {
.bg = 0,
.tilemapLeft = 16,
.tilemapTop = 3,
.width = 7,
.height = 4,
.paletteNum = 15,
.baseBlock = 0x0C6
};
const struct ListMenuItem gUnknown_8456D0C[] = {
{gUnknown_84571AC, 0},
{gUnknown_84571AC, 1},
{gUnknown_84571AC, 2},
{gUnknown_84571AC, 3},
{gUnknown_84571AC, 4}
};
static const struct ListMenuTemplate gUnknown_8456D34 = {
.items = gUnknown_8456D0C,
.moveCursorFunc = NULL,
.itemPrintFunc = sub_81164C8,
.totalItems = 5,
.maxShowed = 5,
.windowId = 0,
.header_X = 0,
.item_X = 1,
.cursor_X = 0,
.upText_Y = 0,
.cursorPal = 2,
.fillValue = 1,
.cursorShadowPal = 3,
.lettersSpacing = 0,
.itemVerticalPadding = 2,
.scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
.fontId = 2,
.cursorKind = 1
};
extern const struct WindowTemplate gUnknown_8456D4C;
extern const struct WindowTemplate gUnknown_8456D54;
extern const struct ListMenuTemplate gUnknown_8456DDC;
extern const struct WindowTemplate gUnknown_8456DF4;
extern const struct ListMenuTemplate gUnknown_8456E1C;
extern const struct WindowTemplate gUnknown_8456E34;
extern const struct ListMenuTemplate gUnknown_8456E54;
extern const struct WindowTemplate gUnknown_8456E6C;
extern const struct ListMenuTemplate gUnknown_8456F04;
extern const struct WindowTemplate gUnknown_8456F1C;
extern const struct WindowTemplate gUnknown_8456F24;
extern const struct ListMenuTemplate gUnknown_8456F7C;
extern const struct UnkStruct_Shared gUnknown_8457034;
extern const u8 *const gUnknown_8457094[13];
extern const u8 gUnknown_84570C8[];
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_8459378[];
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[];
// These are functions in Emmerald but inlined in FireRed // These are functions in Emmerald but inlined in FireRed
#define sub_8018404(dest, arg1) ({ \ #define IntlConvPartnerUname7(dest, arg1) ({ \
StringCopy7(dest, (arg1).unk.playerName); \ StringCopy7(dest, (arg1).unk.playerName); \
ConvertInternationalString(dest, (arg1).unk.field_0.unk_00.unk_00_0); \ ConvertInternationalString(dest, (arg1).unk.field_0.unk_00.unk_00_0); \
}) })
#define sub_8018404_2(dest, arg1) ({ \ #define IntlConvPartnerUname(dest, arg1) ({ \
StringCopy(dest, (arg1).unk.playerName); \ StringCopy(dest, (arg1).unk.playerName); \
ConvertInternationalString(dest, (arg1).unk.field_0.unk_00.unk_00_0); \ ConvertInternationalString(dest, (arg1).unk.field_0.unk_00.unk_00_0); \
}) })
@@ -590,7 +377,7 @@ void sub_8115A68(u8 taskId)
} }
else else
{ {
sub_8018404(gStringVar1, data->field_0->arr[data->field_13 - 1]); IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]);
StringExpandPlaceholders(gStringVar4, gUnknown_8457554); StringExpandPlaceholders(gStringVar4, gUnknown_8457554);
data->state = 13; data->state = 13;
} }
@@ -828,7 +615,7 @@ bool8 sub_8116444(struct UnkStruct_Leader * data, u32 arg1, u32 arg2)
case 1: case 1:
PlaySE(SE_PC_LOGIN); PlaySE(SE_PC_LOGIN);
RedrawListMenu(data->listTaskId); RedrawListMenu(data->listTaskId);
sub_8018404(gStringVar2, data->field_0->arr[data->field_13]); IntlConvPartnerUname7(gStringVar2, data->field_0->arr[data->field_13]);
sub_8116244(gStringVar4, gUnknown_203B058); sub_8116244(gStringVar4, gUnknown_203B058);
data->state = arg1; data->state = arg1;
break; break;
@@ -842,15 +629,15 @@ bool8 sub_8116444(struct UnkStruct_Leader * data, u32 arg1, u32 arg2)
return FALSE; return FALSE;
} }
void sub_81164C8(u8 arg0, s32 id, u8 arg2) void sub_81164C8(u8 windowId, s32 itemId, u8 y)
{ {
struct UnkStruct_Leader * data = sUnionRoomMain.leader; struct UnkStruct_Leader * data = sUnionRoomMain.leader;
u8 var = 0; u8 var = 0;
switch (data->field_0->arr[id].field_1A_0) switch (data->field_0->arr[itemId].field_1A_0)
{ {
case 1: case 1:
if (data->field_0->arr[id].field_1B != 0) if (data->field_0->arr[itemId].field_1B != 0)
var = 2; var = 2;
break; break;
case 2: case 2:
@@ -858,7 +645,7 @@ void sub_81164C8(u8 arg0, s32 id, u8 arg2)
break; break;
} }
sub_811A910(arg0, 0, arg2, &data->field_0->arr[id], var, id); sub_811A910(windowId, 0, y, &data->field_0->arr[itemId], var, itemId);
} }
u8 sub_8116524(struct UnkStruct_Main0 * arg0) u8 sub_8116524(struct UnkStruct_Main0 * arg0)
@@ -1059,7 +846,7 @@ void sub_8116738(u8 taskId)
sub_811631C(gStringVar4, gUnknown_203B058); sub_811631C(gStringVar4, gUnknown_203B058);
if (PrintOnTextbox(&data->textState, gStringVar4)) if (PrintOnTextbox(&data->textState, gStringVar4))
{ {
sub_8018404(gStringVar1, data->field_0->arr[data->field_F]); IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]);
data->state = 6; data->state = 6;
} }
break; break;
@@ -1228,7 +1015,7 @@ void sub_8116D60(struct UnkStruct_Group * data, s32 id)
LoadWirelessStatusIndicatorSpriteGfx(); LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0); CreateWirelessStatusIndicatorSprite(0, 0);
RedrawListMenu(data->listTaskId); RedrawListMenu(data->listTaskId);
sub_8018404(gStringVar1, data->field_0->arr[data->field_F]); IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]);
sub_80FB008(gUnknown_84570C8[gSpecialVar_0x8004], 0, 1); sub_80FB008(gUnknown_84570C8[gSpecialVar_0x8004], 0, 1);
sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId)); sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
} }
@@ -1327,12 +1114,12 @@ u8 sub_8116F5C(struct UnkStruct_Group * data, u32 id)
return 0; return 0;
} }
void sub_8116F94(u8 arg0, s32 id, u8 arg2) void sub_8116F94(u8 windowId, s32 itemId, u8 y)
{ {
struct UnkStruct_Group * data = sUnionRoomMain.group; struct UnkStruct_Group * data = sUnionRoomMain.group;
u8 var = sub_8116F5C(data, id); u8 var = sub_8116F5C(data, itemId);
sub_811A81C(arg0, 8, arg2, &data->field_0->arr[id], var, id); sub_811A81C(windowId, 8, y, &data->field_0->arr[itemId], var, itemId);
} }
u8 sub_8116FE4(void) u8 sub_8116FE4(void)
@@ -1827,7 +1614,7 @@ void sub_8117A0C(u8 taskId)
data->field_0->arr[data->field_13].field_1B = 0; data->field_0->arr[data->field_13].field_1B = 0;
RedrawListMenu(data->listTaskId); RedrawListMenu(data->listTaskId);
data->field_13++; data->field_13++;
sub_8018404(gStringVar1, data->field_0->arr[data->field_13 - 1]); IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]);
StringExpandPlaceholders(gStringVar4, gUnknown_8457554); StringExpandPlaceholders(gStringVar4, gUnknown_8457554);
data->state = 9; data->state = 9;
sub_80F8F5C(); sub_80F8F5C();
@@ -2005,7 +1792,7 @@ void sub_8117F20(u8 taskId)
LoadWirelessStatusIndicatorSpriteGfx(); LoadWirelessStatusIndicatorSpriteGfx();
CreateWirelessStatusIndicatorSprite(0, 0); CreateWirelessStatusIndicatorSprite(0, 0);
RedrawListMenu(data->listTaskId); RedrawListMenu(data->listTaskId);
sub_8018404_2(gStringVar1, data->field_0->arr[data->field_F]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]);
sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId)); sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.field_0.unk_00.playerTrainerId));
PlaySE(SE_PN_ON); PlaySE(SE_PN_ON);
data->state = 4; data->state = 4;
@@ -2024,7 +1811,7 @@ void sub_8117F20(u8 taskId)
break; break;
case 4: case 4:
AddTextPrinterToWindow1(gUnknown_8459238); AddTextPrinterToWindow1(gUnknown_8459238);
sub_8018404_2(gStringVar1, data->field_0->arr[data->field_F]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]);
data->state = 5; data->state = 5;
break; break;
case 5: case 5:
@@ -2189,7 +1976,7 @@ void sub_81182DC(u8 taskId)
break; break;
case 4: case 4:
AddTextPrinterToWindow1(gUnknown_845928C); AddTextPrinterToWindow1(gUnknown_845928C);
sub_8018404_2(gStringVar1, data->field_0->arr[data->field_F]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]);
data->state = 5; data->state = 5;
break; break;
case 5: case 5:
@@ -3005,17 +2792,17 @@ void sub_81186E0(u8 taskId)
switch (sub_811ADD0(data->field_0->arr[var5].unk.field_0.type, data->field_0->arr[var5].unk.field_0.species)) switch (sub_811ADD0(data->field_0->arr[var5].unk.field_0.type, data->field_0->arr[var5].unk.field_0.species))
{ {
case 0: case 0:
sub_8018404_2(gStringVar1, data->field_0->arr[var5]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]);
sub_8118664(49, gUnknown_8458E70); sub_8118664(49, gUnknown_8458E70);
taskData[1] = var5; taskData[1] = var5;
break; break;
case 1: case 1:
sub_8018404_2(gStringVar1, data->field_0->arr[var5]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]);
StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
sub_8118664(46, gUnknown_8458ED0); sub_8118664(46, gUnknown_8458ED0);
break; break;
case 2: case 2:
sub_8018404_2(gStringVar1, data->field_0->arr[var5]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]);
StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]); StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.field_0.type]);
sub_8118664(46, gUnknown_8458F04); sub_8118664(46, gUnknown_8458F04);
break; break;
@@ -3053,7 +2840,7 @@ void sub_81186E0(u8 taskId)
case 51: case 51:
gUnknown_203B058 = 0x44; gUnknown_203B058 = 0x44;
sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44); sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, 0x44);
sub_8018404_2(gStringVar1, data->field_0->arr[taskData[1]]); IntlConvPartnerUname(gStringVar1, data->field_0->arr[taskData[1]]);
sub_811A0B4(gUnknown_8457A34[2]); sub_811A0B4(gUnknown_8457A34[2]);
data->state = 25; data->state = 25;
break; break;
@@ -3177,7 +2964,7 @@ void sub_81199FC(u8 taskId)
{ {
if (structPtr->field_0->arr[i].field_1A_0 == 1) if (structPtr->field_0->arr[i].field_1A_0 == 1)
{ {
sub_8018404_2(text, structPtr->field_0->arr[i]); IntlConvPartnerUname(text, structPtr->field_0->arr[i]);
if (sub_80FD338(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text)) if (sub_80FD338(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
{ {
StringCopy(sUnionRoomPlayerName, text); StringCopy(sUnionRoomPlayerName, text);
@@ -3832,7 +3619,7 @@ void sub_811A81C(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4,
r2 = arg3->unk.field_0.unk_0a_0; r2 = arg3->unk.field_0.unk_0a_0;
if (arg3->field_1A_0 == 1 && !(r2 & 0x40)) if (arg3->field_1A_0 == 1 && !(r2 & 0x40))
{ {
sub_8018404_2(sp10, *arg3); IntlConvPartnerUname(sp10, *arg3);
sub_811A444(arg0, 2, sp10, arg1, arg2, arg4); sub_811A444(arg0, 2, sp10, arg1, arg2, arg4);
ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
StringCopy(gStringVar4, gUnknown_84571B4); StringCopy(gStringVar4, gUnknown_84571B4);
@@ -3842,20 +3629,20 @@ void sub_811A81C(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4,
} }
} }
void sub_811A910(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id) void sub_811A910(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 *arg3, u8 arg4, u8 id)
{ {
u8 sp0[6]; u8 sp0[6];
u8 sp10[30]; u8 sp10[30];
if (arg3->field_1A_0 == 1) if (arg3->field_1A_0 == 1)
{ {
sub_8018404_2(sp10, *arg3); IntlConvPartnerUname(sp10, *arg3);
sub_811A444(arg0, 2, sp10, arg1, arg2, arg4); sub_811A444(windowId, 2, sp10, x, y, arg4);
ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); ConvertIntToDecimalStringN(sp0, arg3->unk.field_0.unk_00.playerTrainerId[0] | (arg3->unk.field_0.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5);
StringCopy(gStringVar4, gUnknown_84571B4); StringCopy(gStringVar4, gUnknown_84571B4);
StringAppend(gStringVar4, sp0); StringAppend(gStringVar4, sp0);
arg1 += 71; x += 71;
sub_811A444(arg0, 0, gStringVar4, arg1, arg2, arg4); sub_811A444(windowId, 0, gStringVar4, x, y, arg4);
} }
} }
@@ -3898,7 +3685,7 @@ u32 sub_811A9FC(s32 arg0)
u32 sub_811AA24(struct UnkStruct_x20 *arg0) u32 sub_811AA24(struct UnkStruct_x20 *arg0)
{ {
u8 sp0[30]; u8 sp0[30];
sub_8018404_2(sp0, *arg0); IntlConvPartnerUname(sp0, *arg0);
return sub_80FD338(ReadAsU16(arg0->unk.field_0.unk_00.playerTrainerId), sp0); return sub_80FD338(ReadAsU16(arg0->unk.field_0.unk_00.playerTrainerId), sp0);
} }
@@ -3910,7 +3697,7 @@ s32 sub_811AA5C(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender
if (!r5->unk.field_0.unk_0a_7 && arg1 == 0) if (!r5->unk.field_0.unk_0a_7 && arg1 == 0)
{ {
sub_8018404_2(gStringVar1, *r5); IntlConvPartnerUname(gStringVar1, *r5);
r2 = sub_80FD338(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1); r2 = sub_80FD338(ReadAsU16(r5->unk.field_0.unk_00.playerTrainerId), gStringVar1);
if (r5->unk.field_0.unk_0a_0 == 0x45) if (r5->unk.field_0.unk_0a_0 == 0x45)
{ {
@@ -3925,7 +3712,7 @@ s32 sub_811AA5C(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender
} }
else else
{ {
sub_8018404_2(gStringVar1, *r5); IntlConvPartnerUname(gStringVar1, *r5);
if (arg1 != 0) if (arg1 != 0)
{ {
playerGender = (r5->unk.field_0.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1; playerGender = (r5->unk.field_0.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1;
@@ -3957,24 +3744,24 @@ void nullsub_92(u8 windowId, s32 itemId, u8 y)
} }
void sub_811ABE4(u8 arg0, u8 arg1, struct GFtgtGname * arg2, const u8 * str, u8 arg4) void sub_811ABE4(u8 windowId, u8 y, struct GFtgtGname * gname, const u8 * uname, u8 colorIdx)
{ {
u8 sp8[4]; u8 level_t[4];
u16 r8 = arg2->species; u16 species = gname->species;
u8 r7 = arg2->type; u8 type = gname->type;
u8 r9 = arg2->level; u8 level = gname->level;
sub_811A444(arg0, 2, str, 8, arg1, arg4); sub_811A444(windowId, 2, uname, 8, y, colorIdx);
if (r8 == SPECIES_EGG) if (species == SPECIES_EGG)
{ {
sub_811A444(arg0, 2, gUnknown_8458FBC, 0x44, arg1, arg4); sub_811A444(windowId, 2, gUnknown_8458FBC, 0x44, y, colorIdx);
} }
else else
{ {
BlitMoveInfoIcon(arg0, r7 + 1, 0x44, arg1); BlitMoveInfoIcon(windowId, type + 1, 0x44, y);
sub_811A444(arg0, 2, gSpeciesNames[r8], 0x76, arg1, arg4); sub_811A444(windowId, 2, gSpeciesNames[species], 0x76, y, colorIdx);
ConvertIntToDecimalStringN(sp8, r9, STR_CONV_MODE_LEFT_ALIGN, 3); ConvertIntToDecimalStringN(level_t, level, STR_CONV_MODE_LEFT_ALIGN, 3);
sub_811A444(arg0, 2, sp8, GetStringRightAlignXOffset(2, sp8, 218), arg1, arg4); sub_811A444(windowId, 2, level_t, GetStringRightAlignXOffset(2, level_t, 218), y, colorIdx);
} }
} }
@@ -3983,7 +3770,7 @@ void sub_811ACA4(u8 windowId, s32 itemId, u8 y)
struct UnkStruct_Leader *leader = sUnionRoomMain.leader; struct UnkStruct_Leader *leader = sUnionRoomMain.leader;
struct GFtgtGname *rfu; struct GFtgtGname *rfu;
s32 i, j; s32 i, j;
u8 sp4[8]; u8 uname[8];
if (itemId == -3 && y == gUnknown_8456F7C.upText_Y) if (itemId == -3 && y == gUnknown_8456F7C.upText_Y)
{ {
@@ -4004,8 +3791,8 @@ void sub_811ACA4(u8 windowId, s32 itemId, u8 y)
} }
if (j == itemId + 1) if (j == itemId + 1)
{ {
sub_8018404_2(sp4, leader->field_0->arr[i]); IntlConvPartnerUname(uname, leader->field_0->arr[i]);
sub_811ABE4(windowId, y, &leader->field_0->arr[i].unk.field_0, sp4, 6); sub_811ABE4(windowId, y, &leader->field_0->arr[i].unk.field_0, uname, 6);
break; break;
} }
} }