Merge pull request #40 from PikalaxALT/lilycove_lady

Lilycove lady
This commit is contained in:
yenatch 2017-09-20 23:14:22 -04:00 committed by GitHub
commit 40c1e81d03
13 changed files with 1240 additions and 1978 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,44 +1,12 @@
.include "asm/macros.inc" .include "asm/macros.inc"
.include "constants/constants.inc" .include "constants/constants.inc"
@ This section was decompiled in battle_dome_cards.
@ On its merge, this section should be deleted.
@ This section contains three objects and accounts for 28 bytes.
.section .rodata .section .rodata
gUnknown_0860B074:: @ 860B074
.incbin "baserom.gba", 0x60b074, 0xa
gUnknown_0860B07E:: @ 860B07E
.incbin "baserom.gba", 0x60b07e, 0x126
gUnknown_0860B1A4:: @ 860B1A4
.incbin "baserom.gba", 0x60b1a4, 0x40
gUnknown_0860B1E4:: @ 860B1E4
.incbin "baserom.gba", 0x60b1e4, 0x20
gUnknown_0860B204:: @ 860B204
.incbin "baserom.gba", 0x60b204, 0x20
gUnknown_0860B224:: @ 860B224
.incbin "baserom.gba", 0x60b224, 0xc8
gUnknown_0860B2EC:: @ 860B2EC
.incbin "baserom.gba", 0x60b2ec, 0x18
gUnknown_0860B304:: @ 860B304
.incbin "baserom.gba", 0x60b304, 0xc
gUnknown_0860B310:: @ 860B310
.incbin "baserom.gba", 0x60b310, 0x14
gUnknown_0860B324:: @ 860B324
.incbin "baserom.gba", 0x60b324, 0x14
gUnknown_0860B338:: @ 860B338
.incbin "baserom.gba", 0x60b338, 0x14
gUnknown_0860B34C:: @ 860B34C
.incbin "baserom.gba", 0x60b34c, 0xc
gUnknown_0860B358:: @ 860B358 gUnknown_0860B358:: @ 860B358
.incbin "baserom.gba", 0x60b358, 0x1630 .incbin "baserom.gba", 0x60b358, 0x1630

View file

@ -1263,10 +1263,20 @@ gText_Glacia:: @ 85EAD30
.string "Types of CONTESTS$" .string "Types of CONTESTS$"
.string "Ranks$" .string "Ranks$"
.string "Judging$" .string "Judging$"
gUnknown_085EADA4::
.string "COOLNESS CONTEST$" .string "COOLNESS CONTEST$"
gUnknown_085EADB5::
.string "BEAUTY CONTEST$" .string "BEAUTY CONTEST$"
gUnknown_085EADC4::
.string "CUTENESS CONTEST$" .string "CUTENESS CONTEST$"
gUnknown_085EADD5::
.string "SMARTNESS CONTEST$" .string "SMARTNESS CONTEST$"
gUnknown_085EADE7::
.string "TOUGHNESS CONTEST$" .string "TOUGHNESS CONTEST$"
.string "DECORATION$" .string "DECORATION$"
.string "PACK UP$" .string "PACK UP$"
@ -3029,25 +3039,55 @@ gText_MoveOkBack:: @ 85EEAF6
gText_CallCantBeMadeHere:: @ 85EEB0B gText_CallCantBeMadeHere:: @ 85EEB0B
.string "A call cant be made from here.$" .string "A call cant be made from here.$"
gUnknown_085EEB2B::
.string "HANDSOME$" .string "HANDSOME$"
gUnknown_085EEB34::
.string "VINNY$" .string "VINNY$"
gUnknown_085EEB3A::
.string "MOREME$" .string "MOREME$"
gUnknown_085EEB41::
.string "IRONHARD$" .string "IRONHARD$"
gUnknown_085EEB4A::
.string "MUSCLE$" .string "MUSCLE$"
gUnknown_085EEB51::
.string "coolness$" .string "coolness$"
gUnknown_085EEB5A::
.string "beauty$" .string "beauty$"
gUnknown_085EEB61::
.string "cuteness$" .string "cuteness$"
gUnknown_085EEB6A::
.string "smartness$" .string "smartness$"
gUnknown_085EEB74::
.string "toughness$" .string "toughness$"
gText_Lady2:: @ 85EEB7E gText_Lady2:: @ 85EEB7E
.string "Lady$" .string "Lady$"
gUnknown_085EEB83::
.string "slippery$" .string "slippery$"
gUnknown_085EEB8C::
.string "roundish$" .string "roundish$"
gUnknown_085EEB95::
.string "wham-ish$" .string "wham-ish$"
gUnknown_085EEB9E::
.string "shiny$" .string "shiny$"
gUnknown_085EEBA4::
.string "sticky$" .string "sticky$"
gUnknown_085EEBAB::
.string "pointy$" .string "pointy$"
gText_RentalPkmn2:: @ 85EEBB2 gText_RentalPkmn2:: @ 85EEBB2

View file

@ -29,5 +29,8 @@ enum
}; };
void InitEasyChatPhrases(void); void InitEasyChatPhrases(void);
void easy_chat_input_maybe(void);
void CopyEasyChatWord(u8 *, u16);
bool32 sub_811F8D8(u16);
#endif // GUARD_EASYCHAT_H #endif // GUARD_EASYCHAT_H

View file

@ -661,6 +661,61 @@ struct DaycareData
#define FLAGS_COUNT 300 #define FLAGS_COUNT 300
#define VARS_COUNT 256 #define VARS_COUNT 256
enum {
LILYCOVE_LADY_QUIZ,
LILYCOVE_LADY_FAVOUR,
LILYCOVE_LADY_CONTEST
};
struct LilycoveLadyQuiz
{
/*0x000*/ u8 id;
/*0x001*/ u8 phase;
/*0x002*/ u16 unk_002[9];
/*0x014*/ u16 unk_014;
/*0x016*/ u16 unk_016;
/*0x018*/ u8 playerName[8];
/*0x020*/ u16 playerTrainerId[4];
/*0x028*/ u16 itemId;
/*0x02a*/ u8 unk_02a;
/*0x02b*/ u8 unk_02b;
/*0x02c*/ u8 unk_02c;
/*0x02d*/ u8 language;
};
struct LilycoveLadyFavour
{
/*0x000*/ u8 id;
/*0x001*/ u8 phase;
/*0x002*/ u8 unk_002;
/*0x003*/ u8 unk_003;
/*0x004*/ u8 playerName[8];
/*0x00c*/ u8 unk_00c;
/*0x00e*/ u16 itemId;
/*0x010*/ u16 unk_010;
/*0x012*/ u8 language;
};
struct LilycoveLadyContest
{
/*0x000*/ u8 id;
/*0x001*/ u8 phase;
/*0x002*/ u8 fave_pkblk;
/*0x003*/ u8 other_pkblk;
/*0x004*/ u8 playerName[8];
/*0x00c*/ u8 max_sheen;
/*0x00d*/ u8 category;
/*0x00e*/ u8 language;
};
typedef union // TODO
{
struct LilycoveLadyQuiz quiz;
struct LilycoveLadyFavour favour;
struct LilycoveLadyContest contest;
u8 id;
} LilycoveLady;
struct SaveBlock1 struct SaveBlock1
{ {
/*0x00*/ struct Coords16 pos; /*0x00*/ struct Coords16 pos;
@ -744,7 +799,8 @@ struct SaveBlock1
/*0x3728*/ struct RamScript ramScript; /*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift; /*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[52]; /*0x3B24*/ u8 seen2[52];
/*0x3B58*/ u8 lilycoveLady[536]; // TODO: convert to a union /*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B88*/ u8 filler_3B88[0x1E8];
/*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct /*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct
// sizeof: 0x3D88 // sizeof: 0x3D88
}; };

12
include/item_menu.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef GUARD_item_menu_H
#define GUARD_item_menu_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
void sub_81AAC50(void);
void sub_81AAC70(void);
#endif //GUARD_item_menu_H

View file

@ -1,6 +1,17 @@
#ifndef GUARD_LILYCOVE_LADY_H #ifndef GUARD_LILYCOVE_LADY_H
#define GUARD_LILYCOVE_LADY_H #define GUARD_LILYCOVE_LADY_H
u8 GetLilycoveLadyId(void);
void SetLilycoveLady(void); void SetLilycoveLady(void);
void sub_818DA78(void);
void sub_818DEF4(void);
void sub_818E564(void);
void sub_818E570(const struct LilycoveLadyQuiz *quiz);
bool8 sub_818E704(struct Pokeblock *pokeblock);
void sub_818E7E0(u8 *dest1, u8 *dest2);
void sub_818E81C(u8 *dest);
void sub_818E848(u8 *dest);
void sub_818E868(u8 *dest, u8 category);
u8 sub_818E880(void);
#endif //GUARD_LILYCOVE_LADY_H #endif //GUARD_LILYCOVE_LADY_H

View file

@ -28,5 +28,6 @@ void strange_npc_table_clear(void);
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
void sub_8086230(void); void sub_8086230(void);
void c2_exit_to_overworld_2_switch(void);
#endif //GUARD_ROM4_H #endif //GUARD_ROM4_H

6
include/rom6.h Normal file
View file

@ -0,0 +1,6 @@
#ifndef GUARD_ROM6_H
#define GUARD_ROM6_H
void sub_81357FC(u8, void(void));
#endif //GUARD_ROM6_H

View file

@ -12,6 +12,8 @@
#define VAR_0x4008 0x4008 #define VAR_0x4008 0x4008
#define VAR_0x4009 0x4009 #define VAR_0x4009 0x4009
#define VAR_0x400A 0x400A #define VAR_0x400A 0x400A
#define VAR_0x4010 0x4010
#define VAR_0x4011 0x4011
#define VAR_0x401F 0x401F #define VAR_0x401F 0x401F
#define VAR_RECYCLE_GOODS 0x4020 #define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021 #define VAR_REPEL_STEP_COUNT 0x4021

View file

@ -240,7 +240,7 @@ SECTIONS {
asm/battle_controller_recorded_opponent.o(.text); asm/battle_controller_recorded_opponent.o(.text);
asm/battle_controller_recorded_player.o(.text); asm/battle_controller_recorded_player.o(.text);
src/battle_dome_cards.o(.text); src/battle_dome_cards.o(.text);
asm/lilycove_lady.o(.text); src/lilycove_lady.o(.text);
asm/battle_frontier_1.o(.text); asm/battle_frontier_1.o(.text);
asm/new_menu_helpers.o(.text); asm/new_menu_helpers.o(.text);
asm/menu.o(.text); asm/menu.o(.text);
@ -379,6 +379,7 @@ SECTIONS {
data/battle_controller_recorded_opponent.o(.rodata); data/battle_controller_recorded_opponent.o(.rodata);
data/battle_controller_recorded_player.o(.rodata); data/battle_controller_recorded_player.o(.rodata);
src/battle_dome_cards.o(.rodata); src/battle_dome_cards.o(.rodata);
src/lilycove_lady.o(.rodata);
data/data_emerald.o(.rodata); data/data_emerald.o(.rodata);
data/battle_controller_player_partner.o(.rodata); data/battle_controller_player_partner.o(.rodata);
data/data_emerald2.o(.rodata); data/data_emerald2.o(.rodata);

1101
src/lilycove_lady.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -1763,15 +1763,7 @@ gUnknown_0203CCE8: @ 203CCE8
.space 0x4 .space 0x4
.include "src/battle_dome_cards.o" .include "src/battle_dome_cards.o"
.include "src/lilycove_lady.o"
gUnknown_0203CD64: @ 203CD64
.space 0x4
gUnknown_0203CD68: @ 203CD68
.space 0x4
gUnknown_0203CD6C: @ 203CD6C
.space 0x4
gUnknown_0203CD70: @ 203CD70 gUnknown_0203CD70: @ 203CD70
.space 0x4 .space 0x4