This commit is contained in:
Diegoisawesome 2018-05-10 18:38:24 -05:00
commit 2b6d2dfadd
26 changed files with 1515 additions and 2706 deletions

View File

@ -9243,8 +9243,8 @@ _0811EA68:
bx r1
thumb_func_end sub_811EA28
thumb_func_start start_menu_is_selected_item_valid
start_menu_is_selected_item_valid: @ 811EA6C
thumb_func_start EasyChat_GetNumWordsInGroup
EasyChat_GetNumWordsInGroup: @ 811EA6C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@ -9273,7 +9273,7 @@ _0811EA9A:
pop {r1}
bx r1
.pool
thumb_func_end start_menu_is_selected_item_valid
thumb_func_end EasyChat_GetNumWordsInGroup
thumb_func_start sub_811EAA4
sub_811EAA4: @ 811EAA4
@ -10145,7 +10145,7 @@ sub_811F0F8: @ 811F0F8
sub_811F108: @ 811F108
push {r4-r7,lr}
movs r0, 0
bl start_menu_is_selected_item_valid
bl EasyChat_GetNumWordsInGroup
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0

File diff suppressed because it is too large Load Diff

View File

@ -1438,7 +1438,7 @@ _080E791A:
add r1, r9
movs r2, 0x40
bl memcpy
bl sub_8120670
bl ResetMauvilleOldManFlag
add sp, 0x10
pop {r3,r4}
mov r8, r3

View File

@ -0,0 +1 @@
gBardSong

View File

@ -5887,10 +5887,10 @@ gText_SoAmusing:: @ 82942E3
gText_SoMagical:: @ 82942F0
.string " so magical!$"
gUnknown_082942FD:: @ 82942FD
gOtherText_Is:: @ 82942FD
.string " is$"
gUnknown_08294301:: @ 8294301
gOtherText_DontYouAgree:: @ 8294301
.string "\n"
.string "Dont you agree?$"

View File

@ -1,58 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gUnknown_0859EFE4:: @ 859EFE4
.2byte 0x2811, 0x1029, 0x1018, 0xE0D, 0x1A1A, 0x1A1D
gUnknown_0859EFF0:: @ 859EFF0
.4byte gText_SoPretty
.4byte gText_SoDarling
.4byte gText_SoRelaxed
.4byte gText_SoSunny
.4byte gText_SoDesirable
.4byte gText_SoExciting
.4byte gText_SoAmusing
.4byte gText_SoMagical
gUnknown_0859F010:: @ 859F010
.4byte gUnknown_08294313
.4byte gUnknown_08294359
.4byte gUnknown_08294398
.4byte gUnknown_082943DA
.4byte gUnknown_0829441C
.4byte gUnknown_08294460
.4byte gUnknown_082944A0
.4byte gUnknown_082944D5
gUnknown_0859F030:: @ 859F030
.4byte 0, 12, 13, 18, 19, 21
gUnknown_0859F048:: @ 859F048
.4byte 0x00000132, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956, 0x00000102, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE
.4byte 0x00000103, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8, 0x00000104, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E
.4byte 0x00000106, MauvilleCity_PokemonCenter_1F_Text_28EBB5, MauvilleCity_PokemonCenter_1F_Text_28EBCD, MauvilleCity_PokemonCenter_1F_Text_28EBDD, 0x00000109, MauvilleCity_PokemonCenter_1F_Text_28EC60, MauvilleCity_PokemonCenter_1F_Text_28EC79, MauvilleCity_PokemonCenter_1F_Text_28EC81
.4byte 0x0000010b, MauvilleCity_PokemonCenter_1F_Text_28ED04, MauvilleCity_PokemonCenter_1F_Text_28ED21, MauvilleCity_PokemonCenter_1F_Text_28ED30, 0x0000010c, MauvilleCity_PokemonCenter_1F_Text_28EDA1, MauvilleCity_PokemonCenter_1F_Text_28EDB5, MauvilleCity_PokemonCenter_1F_Text_28EDCF
.4byte 0x0000010d, MauvilleCity_PokemonCenter_1F_Text_28EE45, MauvilleCity_PokemonCenter_1F_Text_28EE5D, MauvilleCity_PokemonCenter_1F_Text_28EE6A, 0x0000010e, MauvilleCity_PokemonCenter_1F_Text_28EEDD, MauvilleCity_PokemonCenter_1F_Text_28EEF1, MauvilleCity_PokemonCenter_1F_Text_28EF01
.4byte 0x0000010f, MauvilleCity_PokemonCenter_1F_Text_28EF73, MauvilleCity_PokemonCenter_1F_Text_28EF95, MauvilleCity_PokemonCenter_1F_Text_28EFAA, 0x00000110, MauvilleCity_PokemonCenter_1F_Text_28F045, MauvilleCity_PokemonCenter_1F_Text_28F05A, MauvilleCity_PokemonCenter_1F_Text_28F071
.4byte 0x00000111, MauvilleCity_PokemonCenter_1F_Text_28F0F3, MauvilleCity_PokemonCenter_1F_Text_28F10D, MauvilleCity_PokemonCenter_1F_Text_28F125, 0x00000112, MauvilleCity_PokemonCenter_1F_Text_28F1BE, MauvilleCity_PokemonCenter_1F_Text_28F1D5, MauvilleCity_PokemonCenter_1F_Text_28F1DE
.4byte 0x00000113, MauvilleCity_PokemonCenter_1F_Text_28F24F, MauvilleCity_PokemonCenter_1F_Text_28F269, MauvilleCity_PokemonCenter_1F_Text_28F277, 0x00000114, MauvilleCity_PokemonCenter_1F_Text_28F2FC, MauvilleCity_PokemonCenter_1F_Text_28F314, MauvilleCity_PokemonCenter_1F_Text_28F32A
.4byte 0x0000011a, MauvilleCity_PokemonCenter_1F_Text_28F3AD, MauvilleCity_PokemonCenter_1F_Text_28F3C6, MauvilleCity_PokemonCenter_1F_Text_28F3D2, 0x0000011b, MauvilleCity_PokemonCenter_1F_Text_28F44B, MauvilleCity_PokemonCenter_1F_Text_28F461, MauvilleCity_PokemonCenter_1F_Text_28F47C
.4byte 0x0000011c, MauvilleCity_PokemonCenter_1F_Text_28F50C, MauvilleCity_PokemonCenter_1F_Text_28F51B, MauvilleCity_PokemonCenter_1F_Text_28F538, 0x0000021d, MauvilleCity_PokemonCenter_1F_Text_28F5BE, MauvilleCity_PokemonCenter_1F_Text_28F5D1, MauvilleCity_PokemonCenter_1F_Text_28F5F2
.4byte 0x0000011e, MauvilleCity_PokemonCenter_1F_Text_28F678, MauvilleCity_PokemonCenter_1F_Text_28F694, MauvilleCity_PokemonCenter_1F_Text_28F6B4, 0x00000121, MauvilleCity_PokemonCenter_1F_Text_28F751, MauvilleCity_PokemonCenter_1F_Text_28F76A, MauvilleCity_PokemonCenter_1F_Text_28F776
.4byte 0x00000124, MauvilleCity_PokemonCenter_1F_Text_28F7F6, MauvilleCity_PokemonCenter_1F_Text_28F811, MauvilleCity_PokemonCenter_1F_Text_28F822, 0x00000125, MauvilleCity_PokemonCenter_1F_Text_28F89C, MauvilleCity_PokemonCenter_1F_Text_28F8AF, MauvilleCity_PokemonCenter_1F_Text_28F8BC
.4byte 0x00000126, MauvilleCity_PokemonCenter_1F_Text_28F92F, MauvilleCity_PokemonCenter_1F_Text_28F941, MauvilleCity_PokemonCenter_1F_Text_28F949, 0x00000127, MauvilleCity_PokemonCenter_1F_Text_28F9D1, MauvilleCity_PokemonCenter_1F_Text_28F9EA, MauvilleCity_PokemonCenter_1F_Text_28F9FD
.4byte 0x00000128, MauvilleCity_PokemonCenter_1F_Text_28FA81, MauvilleCity_PokemonCenter_1F_Text_28FA99, MauvilleCity_PokemonCenter_1F_Text_28FAA7, 0x00000129, MauvilleCity_PokemonCenter_1F_Text_28FB1D, MauvilleCity_PokemonCenter_1F_Text_28FB35, MauvilleCity_PokemonCenter_1F_Text_28FB47
.4byte 0x0000012a, MauvilleCity_PokemonCenter_1F_Text_28FBC4, MauvilleCity_PokemonCenter_1F_Text_28FBD9, MauvilleCity_PokemonCenter_1F_Text_28FBEA, 0x0000012b, MauvilleCity_PokemonCenter_1F_Text_28FC6B, MauvilleCity_PokemonCenter_1F_Text_28FC85, MauvilleCity_PokemonCenter_1F_Text_28FC98
.4byte 0x0000012c, MauvilleCity_PokemonCenter_1F_Text_28FD1D, MauvilleCity_PokemonCenter_1F_Text_28FD35, MauvilleCity_PokemonCenter_1F_Text_28FD40, 0x0000012d, MauvilleCity_PokemonCenter_1F_Text_28FDA2, MauvilleCity_PokemonCenter_1F_Text_28FDBD, MauvilleCity_PokemonCenter_1F_Text_28FDCE
.4byte 0x0000012e, MauvilleCity_PokemonCenter_1F_Text_28FE57, MauvilleCity_PokemonCenter_1F_Text_28FE72, MauvilleCity_PokemonCenter_1F_Text_28FE88, 0x0000012f, MauvilleCity_PokemonCenter_1F_Text_28FF0C, MauvilleCity_PokemonCenter_1F_Text_28FF27, MauvilleCity_PokemonCenter_1F_Text_28FF44
.4byte 0x00000130, MauvilleCity_PokemonCenter_1F_Text_28FFDD, MauvilleCity_PokemonCenter_1F_Text_28FFFA, MauvilleCity_PokemonCenter_1F_Text_29000D
gUnknown_0859F278:: @ 859F278
.4byte 0x00000131, MauvilleCity_PokemonCenter_1F_Text_290097, MauvilleCity_PokemonCenter_1F_Text_2900B5, MauvilleCity_PokemonCenter_1F_Text_2900CB
gUnknown_0859F288:: @ 859F288
.4byte 0x00000024, 0x00000008

View File

@ -10,7 +10,7 @@ MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66
end
MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74
special sub_8120B5C
special ScrSpecial_SetMauvilleOldManMapObjGfx
end
MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78

View File

@ -1,5 +1,5 @@
MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066
special sub_81201DC
special ScrSpecial_GetCurrentMauvilleMan
switch VAR_RESULT
case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6
case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167
@ -20,9 +20,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6
MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
setvar VAR_0x8004, 0
special sub_8120340
special ScrSpecial_PlayBardSong
delay 60
special sub_81201F4
special ScrSpecial_HasBardSongBeenChanged
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4
@ -51,12 +51,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4
setvar VAR_0x8004, 1
special sub_8120340
special ScrSpecial_PlayBardSong
delay 60
msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
special sub_8120210
special ScrSpecial_SaveBardSongLyrics
msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4
release
end
@ -71,7 +71,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
faceplayer
setflag FLAG_SYS_HIPSTER_MEET
msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4
special sub_8120358
special ScrSpecial_GetHipsterSpokenFlag
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4
@ -79,7 +79,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
end
MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
special sub_812038C
special ScrSpecial_HipsterTeachWord
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4
@ -88,7 +88,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4
msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4
special sub_8120374
special ScrSpecial_SetHipsterSpokenFlag
release
end
@ -813,20 +813,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, sub_81213B0
specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA
message MauvilleCity_PokemonCenter_1F_Text_28E673
waitmessage
special sub_8121388
special ScrSpecial_StorytellerStoryListMenu
waitstate
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7
setvar VAR_0x8008, 1
special sub_812139C
special ScrSpecial_StorytellerDisplayStory
waitmessage
waitbuttonpress
specialvar VAR_RESULT, sub_81213D8
specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD
goto MauvilleCity_PokemonCenter_1F_EventScript_29020F
@ -837,7 +837,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7
MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD
msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4
specialvar VAR_RESULT, sub_8121424
specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D
goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2
@ -849,7 +849,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2
msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, sub_8121450
specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4
@ -903,7 +903,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6
end
MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317
special sub_81203C4
special ScrSpecial_GiddyShouldTellAnotherTale
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359
compare VAR_RESULT, 0
@ -911,7 +911,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317
end
MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331
special sub_81203C4
special ScrSpecial_GiddyShouldTellAnotherTale
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B
compare VAR_RESULT, 0
@ -924,7 +924,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B
end
MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359
special sub_81203FC
special ScrSpecial_GenerateGiddyLine
special ShowFieldMessageStringVar4
waitmessage
yesnobox 20, 8

View File

@ -108,22 +108,22 @@ gSpecials:: @ 81DBA64
def_special sub_80FAFF8
def_special easy_chat_input_maybe
def_special sub_811EECC
def_special sub_81201DC
def_special sub_81201F4
def_special sub_8120210
def_special sub_8120358
def_special sub_8120374
def_special sub_812038C
def_special sub_8120340
def_special sub_8120B5C
def_special sub_81203FC
def_special sub_81203C4
def_special sub_81213B0
def_special sub_812139C
def_special sub_8121388
def_special sub_81213D8
def_special sub_8121450
def_special sub_8121424
def_special ScrSpecial_GetCurrentMauvilleMan
def_special ScrSpecial_HasBardSongBeenChanged
def_special ScrSpecial_SaveBardSongLyrics
def_special ScrSpecial_GetHipsterSpokenFlag
def_special ScrSpecial_SetHipsterSpokenFlag
def_special ScrSpecial_HipsterTeachWord
def_special ScrSpecial_PlayBardSong
def_special ScrSpecial_SetMauvilleOldManMapObjGfx
def_special ScrSpecial_GenerateGiddyLine
def_special ScrSpecial_GiddyShouldTellAnotherTale
def_special ScrSpecial_StorytellerGetFreeStorySlot
def_special ScrSpecial_StorytellerDisplayStory
def_special ScrSpecial_StorytellerStoryListMenu
def_special ScrSpecial_StorytellerUpdateStat
def_special ScrSpecial_StorytellerInitializeRandomStat
def_special ScrSpecial_HasStorytellerAlreadyRecorded
def_special ScrSpecial_TraderMenuGetDecoration
def_special ScrSpecial_GetTraderTradedFlag
def_special ScrSpecial_DoesPlayerHaveNoDecorations

View File

@ -9,7 +9,7 @@ struct BardSound
/*0x00*/ u8 var00;
/*0x01*/ s8 var01;
/*0x02*/ u16 var02;
/*0x04*/ u16 volume;
/*0x04*/ s16 volume;
/*0x06*/ u16 var06;
};
@ -39,5 +39,7 @@ struct BardSong
// Exported ROM declarations
extern const u16 gUnknown_085F5490;
const struct BardSound *GetWordSounds(u16 word);
void GetWordPhonemes(struct BardSong *song, u16 word);
#endif //GUARD_BARD_MUSIC_H

View File

@ -1,40 +1,16 @@
#ifndef GUARD_EASYCHAT_H
#define GUARD_EASYCHAT_H
// Taken from Pokeruby, check if it's correct
enum
{
EC_GROUP_POKEMON,
EC_GROUP_TRAINER,
EC_GROUP_STATUS,
EC_GROUP_BATTLE,
EC_GROUP_GREETINGS,
EC_GROUP_PEOPLE,
EC_GROUP_VOICES,
EC_GROUP_SPEECH,
EC_GROUP_ENDINGS,
EC_GROUP_FEELINGS,
EC_GROUP_CONDITIONS,
EC_GROUP_ACTIONS,
EC_GROUP_LIFESTYLE,
EC_GROUP_HOBBIES,
EC_GROUP_TIME,
EC_GROUP_MISC,
EC_GROUP_ADJECTIVES,
EC_GROUP_EVENTS,
EC_GROUP_MOVE_1,
EC_GROUP_MOVE_2,
EC_GROUP_TRENDY_SAYING,
EC_GROUP_POKEMON_2,
};
void InitEasyChatPhrases(void);
void easy_chat_input_maybe(void);
void CopyEasyChatWord(u8 *dest, u16 word);
u8 * CopyEasyChatWord(u8 *dest, u16 word);
bool32 sub_811F8D8(u16 word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
u16 sub_811EE38(u16 group);
u16 sub_811F01C(void);
bool16 EasyChat_GetNumWordsInGroup(u8);
u16 sub_811EE90(u16);
#endif // GUARD_EASYCHAT_H

View File

@ -394,4 +394,134 @@ extern const u8 Route111_EventScript_2907F0[];
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[];
//mauville_old_man
extern const u8 gOtherText_Is[];
extern const u8 gOtherText_DontYouAgree[];
extern const u8 gText_SoPretty[];
extern const u8 gText_SoDarling[];
extern const u8 gText_SoRelaxed[];
extern const u8 gText_SoSunny[];
extern const u8 gText_SoDesirable[];
extern const u8 gText_SoExciting[];
extern const u8 gText_SoAmusing[];
extern const u8 gText_SoMagical[];
extern const u8 gUnknown_08294313[];
extern const u8 gUnknown_08294359[];
extern const u8 gUnknown_08294398[];
extern const u8 gUnknown_082943DA[];
extern const u8 gUnknown_0829441C[];
extern const u8 gUnknown_08294460[];
extern const u8 gUnknown_082944A0[];
extern const u8 gUnknown_082944D5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[];
#endif //GUARD_EVENT_SCRIPTS_H

View File

@ -437,42 +437,68 @@ struct MailStruct
/*0x20*/ u16 itemId;
};
struct UnkMauvilleOldManStruct
struct MauvilleManCommon
{
u8 unk_2D94;
u8 unk_2D95;
/*0x2D96*/ u16 mauvilleOldMan_ecArray[6];
/*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6];
/*0x2DAE*/ u8 playerName[8];
/*0x2DB6*/ u8 filler_2DB6[0x3];
/*0x2DB9*/ u8 playerTrainerId[4];
u8 unk_2DBD;
u8 id;
};
struct MauvilleManBard
{
/*0x00*/ u8 id;
/*0x02*/ u16 songLyrics[6];
/*0x0E*/ u16 temporaryLyrics[6];
/*0x1A*/ u8 playerName[8];
/*0x22*/ u8 filler_2DB6[0x3];
/*0x25*/ u8 playerTrainerId[4];
/*0x29*/ bool8 hasChangedSong;
/*0x2A*/ u8 language;
}; /*size = 0x2C*/
struct UnkMauvilleOldManStruct2
struct MauvilleManStoryteller
{
u8 filler0;
u8 unk1;
u8 unk2;
u16 mauvilleOldMan_ecArray[10];
u8 mauvilleOldMan_ecArray2[12];
u8 fillerF[0x2];
u8 id;
bool8 alreadyRecorded;
u8 filler2[2];
u8 gameStatIDs[4];
u8 trainerNames[4][7];
u8 statValues[4][4];
u8 language[4];
};
struct MauvilleManGiddy
{
/*0x00*/ u8 id;
/*0x01*/ u8 taleCounter;
/*0x02*/ u8 questionNum;
/*0x04*/ u16 randomWords[10];
/*0x18*/ u8 questionList[8];
/*0x20*/ u8 language;
}; /*size = 0x2C*/
struct MauvilleManHipster
{
u8 id;
bool8 alreadySpoken;
u8 language;
};
struct MauvilleOldManTrader
{
/* 0x2E28 */ u8 id;
/* 0x2E29 */ u8 unk1[4];
/* 0x2E2D */ u8 unk5[4][11];
/* 0x2E59 */ bool8 alreadyTraded;
/* 0x2E5A */ u8 language[4];
u8 id;
u8 decorIds[4];
u8 playerNames[4][11];
u8 alreadyTraded;
u8 language[4];
};
typedef union OldMan
{
struct UnkMauvilleOldManStruct oldMan1;
struct UnkMauvilleOldManStruct2 oldMan2;
struct MauvilleManCommon common;
struct MauvilleManBard bard;
struct MauvilleManGiddy giddy;
struct MauvilleManHipster hipster;
struct MauvilleOldManTrader trader;
struct MauvilleManStoryteller storyteller;
u8 filler[0x40];
} OldMan;

View File

@ -2,7 +2,18 @@
#ifndef GUARD_MAUVILLE_OLD_MAN_H
#define GUARD_MAUVILLE_OLD_MAN_H
enum MauvilleOldManType
{
MAUVILLE_MAN_BARD,
MAUVILLE_MAN_HIPSTER,
MAUVILLE_MAN_TRADER,
MAUVILLE_MAN_STORYTELLER,
MAUVILLE_MAN_GIDDY
};
void SetMauvilleOldMan(void);
u8 sub_81201C8(void);
u8 GetCurrentMauvilleOldMan(void);
extern struct BardSong gBardSong;
void ScrSpecial_SetMauvilleOldManMapObjGfx(void);
#endif // GUARD_MAUVILLE_OLD_MAN_H

View File

@ -9,6 +9,8 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
s32 convert_pixel_width_to_tile_width(s32 pixelWidth);
u8 convert_pixel_width_to_tile_width(s32);
u8 CreateWindowFromRect(u8, u8, u8, u8);
void sub_80E2A78(u8);
#endif //GUARD_SCRIPT_MENU_H

View File

@ -433,6 +433,7 @@ extern const u8 gText_TooImportantToToss[];
extern const u8 gText_ConfirmTossItems[];
extern const u8 gText_MoveVar1Where[];
extern const u8 gText_Friend[];
extern const u8 gText_Tristan[];
extern const u8 gText_Philip[];
extern const u8 gText_Dennis[];

View File

@ -7,5 +7,7 @@
void sub_8133DA0(u8 taskId);
void sub_8133E1C(u8 taskId);
void TraderSetup(void);
void Trader_ResetFlag(void);
#endif //GUARD_TRADER_H

View File

@ -161,7 +161,7 @@ SECTIONS {
src/bike.o(.text);
asm/easy_chat.o(.text);
src/mon_markings.o(.text);
asm/mauville_old_man.o(.text);
src/mauville_old_man.o(.text);
src/mail.o(.text);
asm/menu_helpers.o(.text);
src/dewford_trend.o(.text);
@ -454,7 +454,7 @@ SECTIONS {
src/bike.o(.rodata);
data/easy_chat.o(.rodata);
src/mon_markings.o(.rodata);
data/mauville_old_man.o(.rodata);
src/mauville_old_man.o(.rodata);
src/mail.o(.rodata);
data/menu_helpers.o(.rodata);
src/heal_location.o(.rodata);

View File

@ -2,6 +2,7 @@
// Includes
#include "global.h"
#include "bard_music.h"
#include "constants/easy_chat.h"
#include "easy_chat.h"
#include "data/bard_music/bard_sounds.h"

View File

@ -1146,7 +1146,7 @@ const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId)
}
if (graphicsId == 0x45)
{
bard = sub_81201C8();
bard = GetCurrentMauvilleOldMan();
return gMauvilleOldManGraphicsInfoPointers[bard];
}
if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO)

View File

@ -101,7 +101,7 @@ struct MailRead
/*0x021c*/ u8 monIconSprite;
/*0x021d*/ u8 language;
/*0x021e*/ bool8 playerIsSender;
/*0x0220*/ void (*parserSingle)(u8 *dest, u16 word);
/*0x0220*/ u8 * (*parserSingle)(u8 *dest, u16 word);
/*0x0224*/ void (*parserMultiple)(u8 *dest, const u16 *src, u16 length1, u16 length2);
/*0x0228*/ const struct MailLayout *layout;
/*0x022c*/ u8 bg1TilemapBuffer[0x1000];

1247
src/mauville_old_man.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@
#include "task.h"
#include "script_menu.h"
static const u8 * const gUnknown_085B09E4[] =
static const u8 * const sDefaultTraderNames[] =
{
gText_Tristan,
gText_Philip,
@ -23,7 +23,7 @@ static const u8 * const gUnknown_085B09E4[] =
gText_Roberto,
};
static const u8 gTraderDecorations[] =
static const u8 sDefaultTraderDecorations[] =
{
DECOR_DUSKULL_DOLL,
DECOR_BALL_CUSHION,
@ -41,13 +41,13 @@ void TraderSetup(void)
for (i = 0; i < 4; i++)
{
StringCopy(trader->unk5[i], gUnknown_085B09E4[i]);
trader->unk1[i] = gTraderDecorations[i];
StringCopy(trader->playerNames[i], sDefaultTraderNames[i]);
trader->decorIds[i] = sDefaultTraderDecorations[i];
trader->language[i] = GAME_LANGUAGE;
}
}
void sub_8133A60(void)
void Trader_ResetFlag(void)
{
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
trader->alreadyTraded = FALSE;
@ -64,10 +64,10 @@ void CreateAvailableDecorationsMenu(u8 taskId)
for (i = 0; i < 4; i++)
{
s32 curWidth;
if (trader->unk1[i] > NUM_DECORATIONS)
if (trader->decorIds[i] > NUM_DECORATIONS)
curWidth = fiveMarksWidth;
else
curWidth = GetStringWidth(1, gDecorations[trader->unk1[i]].name, 0);
curWidth = GetStringWidth(1, gDecorations[trader->decorIds[i]].name, 0);
if (curWidth > windowWidth)
windowWidth = curWidth;
}
@ -76,10 +76,10 @@ void CreateAvailableDecorationsMenu(u8 taskId)
SetWindowBorderStyle(data[3], FALSE, 0x214, 14);
for (i = 0; i < 4; i++)
{
if (trader->unk1[i] > NUM_DECORATIONS)
if (trader->decorIds[i] > NUM_DECORATIONS)
PrintTextOnWindow(data[3], 1, gText_FiveMarks, 8, 16 * i + 1, 255, NULL);
else
PrintTextOnWindow(data[3], 1, gDecorations[trader->unk1[i]].name, 8, 16 * i + 1, 255, NULL);
PrintTextOnWindow(data[3], 1, gDecorations[trader->decorIds[i]].name, 8, 16 * i + 1, 255, NULL);
}
PrintTextOnWindow(data[3], 1, gText_Exit, 8, 16 * i + 1, 255, NULL);
InitMenuInUpperLeftCornerPlaySoundWhenAPressed(data[3], 5, 0);
@ -123,9 +123,9 @@ void Task_HandleGetDecorationMenuInput(u8 taskId)
default:
PlaySE(SE_SELECT);
gSpecialVar_0x8005 = input;
StringCopy(gStringVar1, trader->unk5[input]);
StringCopy(gStringVar1, trader->playerNames[input]);
ConvertInternationalString(gStringVar1, trader->language[input]);
sub_8133BE4(taskId, trader->unk1[input]);
sub_8133BE4(taskId, trader->decorIds[input]);
break;
}
}
@ -196,8 +196,8 @@ void ScrSpecial_TraderDoDecorationTrade(void)
DecorationRemove(gSpecialVar_0x8006);
DecorationAdd(gSpecialVar_0x8004);
StringCopy(trader->unk5[gSpecialVar_0x8005], gSaveBlock2Ptr->playerName);
trader->unk1[gSpecialVar_0x8005] = gSpecialVar_0x8006;
StringCopy(trader->playerNames[gSpecialVar_0x8005], gSaveBlock2Ptr->playerName);
trader->decorIds[gSpecialVar_0x8005] = gSpecialVar_0x8006;
trader->language[gSpecialVar_0x8005] = GAME_LANGUAGE;
trader->alreadyTraded = TRUE;
}

View File

@ -28,11 +28,9 @@
.include "src/script_menu.o"
.include "src/record_mixing.o"
.include "src/tv.o"
.include "src/mauville_old_man.o"
.space 1 @ TODO: define this u32 in mauville_old_man
gUnknown_03001178: @ 3001178
.space 0x4
.align 2
gUnknown_0300117C: @ 300117C
.space 0x4

View File

@ -47,9 +47,7 @@ gUnknown_030060B8: @ 30060B8
.space 0x4
.include "tv.o"
gUnknown_03006130: @ 3006130
.space 0x34
.include "mauville_old_man.o"
gUnknown_03006164: @ 3006164
.space 0x4

View File

@ -531,16 +531,7 @@ gUnknown_0203A11C: @ 203A11C
gUnknown_0203A120: @ 203A120
.space 0x4
.include "src/mon_markings.o"
gUnknown_0203A128: @ 203A128
.space 0x4
gUnknown_0203A12C: @ 203A12C
.space 0x4
gUnknown_0203A130: @ 203A130
.space 0x4
.include "src/mauville_old_man.o"
.include "src/mail.o"
gUnknown_0203A138: @ 203A138