Merge with master

This commit is contained in:
DizzyEggg 2019-08-25 12:51:09 +02:00
commit 58b313956d
87 changed files with 2148 additions and 1762 deletions

View File

@ -123,6 +123,9 @@ endif
C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s)
C_ASM_OBJS := $(patsubst $(C_SUBDIR)/%.s,$(C_BUILDDIR)/%.o,$(C_ASM_SRCS))
ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s)
ASM_OBJS := $(patsubst $(ASM_SUBDIR)/%.s,$(ASM_BUILDDIR)/%.o,$(ASM_SRCS))
@ -135,7 +138,7 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid)
MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS))
OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
OBJS := $(C_OBJS) $(C_ASM_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
SUBDIRS := $(sort $(dir $(OBJS)))
@ -236,6 +239,15 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
@echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_asm_dep :=
else
$(C_BUILDDIR)/%.o: c_asm_dep = $(shell $(SCANINC) -I "" $(C_SUBDIR)/$*.s)
endif
$(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $$(c_asm_dep)
$(AS) $(ASFLAGS) -o $@ $<
ifeq ($(NODEP),1)
$(ASM_BUILDDIR)/%.o: asm_dep :=
else

View File

@ -765,7 +765,8 @@
.2byte \y
.endm
.macro moveobjectoffscreen index:req
@ Copies a live event object's xy position to its template, so that if the sprite goes off screen, it'll still be there when it comes back on screen.
.macro copyobjectxytoperm index:req
.byte 0x64
.2byte \index
.endm
@ -1089,6 +1090,7 @@
.byte 0x95
.byte \x
.byte \y
.byte 0 @ 1 = don't perform this command. Always 0 in vanilla. Why this is a thing is beyond me.
.endm
@ Gets the price reduction for the index given. In FireRed, this command is a nop.

View File

@ -1,6 +1,7 @@
#include "constants/global.h"
#include "constants/battle_frontier.h"
#include "constants/battle_setup.h"
#include "constants/contest.h"
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
@ -19,6 +20,7 @@
#include "constants/vars.h"
#include "constants/weather.h"
#include "constants/trainer_hill.h"
#include "constants/lilycove_lady.h"
#include "constants/battle.h"
#include "constants/metatile_labels.h"
.include "asm/macros.inc"
@ -2556,7 +2558,7 @@ gUnknown_08272A3F:: @ 8272A3F
.string "Please come again!$"
gUnknown_08272A52:: @ 8272A52
.string "{PLAYER}{STRING 5}, welcome!\pWhat can I do for you?$"
.string "{PLAYER}{KUN}, welcome!\pWhat can I do for you?$"
gUnknown_08272A78:: @ 8272A78
.string "Obtained the {STR_VAR_2}!$"
@ -4281,23 +4283,23 @@ GraniteCave_B1F_Movement_2A8369: @ 82A8369
step_end
LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B
special sub_818DAEC
special Script_GetLilycoveLadyId
switch VAR_RESULT
case 0, LilycoveCity_PokemonCenter_1F_EventScript_2A8554
case 1, LilycoveCity_PokemonCenter_1F_EventScript_2A8395
case 2, LilycoveCity_PokemonCenter_1F_EventScript_2A882A
case LILYCOVE_LADY_QUIZ, LilycoveCity_PokemonCenter_1F_EventScript_2A8554
case LILYCOVE_LADY_FAVOR, LilycoveCity_PokemonCenter_1F_EventScript_2A8395
case LILYCOVE_LADY_CONTEST, LilycoveCity_PokemonCenter_1F_EventScript_2A882A
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
lock
faceplayer
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DBE8
compare VAR_RESULT, 0
specialvar VAR_RESULT, GetFavorLadyState
compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
compare VAR_RESULT, 1
compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6
compare VAR_RESULT, 2
compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510
end
@ -4307,9 +4309,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
special sub_818DC2C
special BufferFavorLadyRequest
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DC60
specialvar VAR_RESULT, HasAnotherPlayerGivenFavorLadyItem
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
compare VAR_RESULT, 1
@ -4317,9 +4319,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
special sub_818DCC8
special sub_818DD14
specialvar VAR_RESULT, sub_818DD54
special BufferFavorLadyItemName
special BufferFavorLadyPlayerName
specialvar VAR_RESULT, DidFavorLadyLikeItem
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419
compare VAR_RESULT, 1
@ -4357,7 +4359,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E
LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C
fadescreen 1
setvar VAR_RESULT, 0
special sub_818DD78
special Script_FavorLadyOpenBagMenu
waitstate
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E
@ -4374,7 +4376,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
specialvar VAR_RESULT, sub_818DE44
specialvar VAR_RESULT, Script_DoesFavorLadyLikeItem
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9
compare VAR_RESULT, 1
@ -4382,13 +4384,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
special sub_818DC2C
special BufferFavorLadyRequest
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
specialvar VAR_RESULT, sub_818DE5C
specialvar VAR_RESULT, IsFavorLadyThresholdMet
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2
compare VAR_RESULT, 1
@ -4396,20 +4398,20 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2
special sub_818DC2C
special BufferFavorLadyRequest
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF
special sub_818DC2C
special BufferFavorLadyRequest
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
setvar VAR_0x8004, 0
specialvar VAR_0x8004, sub_818DEA0
specialvar VAR_0x8004, FavorLadyGetPrize
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT
giveitem_std VAR_0x8004
compare VAR_RESULT, 0
@ -4424,7 +4426,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545
end
LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F
special sub_818DEDC
special SetFavorLadyState_Complete
release
end
@ -4432,27 +4434,27 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554
lock
faceplayer
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E038
compare VAR_RESULT, 0
specialvar VAR_RESULT, GetQuizLadyState
compare VAR_RESULT, LILYCOVE_LADY_STATE_READY
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
compare VAR_RESULT, 1
compare VAR_RESULT, LILYCOVE_LADY_STATE_COMPLETED
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC
compare VAR_RESULT, 2
compare VAR_RESULT, LILYCOVE_LADY_STATE_PRIZE
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585
specialvar VAR_RESULT, sub_818E06C
compare VAR_RESULT, 0
specialvar VAR_RESULT, GetQuizAuthor
compare VAR_RESULT, QUIZ_AUTHOR_PLAYER
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
compare VAR_RESULT, 1
compare VAR_RESULT, QUIZ_AUTHOR_OTHER_PLAYER
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2
compare VAR_RESULT, 2
compare VAR_RESULT, QUIZ_AUTHOR_LADY
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC
specialvar VAR_RESULT, sub_818E2D8
specialvar VAR_RESULT, IsQuizLadyWaitingForChallenger
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759
compare VAR_RESULT, 1
@ -4489,7 +4491,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
end
LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C
special sub_818E3BC
special ClearQuizLadyPlayerAnswer
compare VAR_0x8004, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C
compare VAR_0x8004, EASY_CHAT_TYPE_QUIZ_ANSWER
@ -4503,13 +4505,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635
end
LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C
special sub_811A858
special QuizLadyShowQuizQuestion
waitstate
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656
special sub_818E2FC
special QuizLadyGetPlayerAnswer
waitstate
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
end
@ -4528,9 +4530,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689
special sub_818E37C
special SetQuizLadyState_Complete
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E308
specialvar VAR_RESULT, IsQuizAnswerCorrect
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
compare VAR_RESULT, 1
@ -4546,8 +4548,8 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0
end
LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
special sub_818E538
special sub_818E274
special BufferQuizCorrectAnswer
special BufferQuizPrizeName
playse SE_HAZURE
delay 10
playse SE_HAZURE
@ -4556,8 +4558,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
end
@ VAR_RESULT is essentially ignored, both jumps are identical
LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC
specialvar VAR_RESULT, sub_818E298
specialvar VAR_RESULT, BufferQuizAuthorNameAndCheckIfLady
compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708
compare VAR_RESULT, 0
@ -4576,8 +4579,8 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716
LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
setvar VAR_0x8005, 0
special sub_818E358
special sub_818E37C
special BufferQuizPrizeItem
special SetQuizLadyState_Complete
giveitem_std VAR_0x8005
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C
@ -4586,7 +4589,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C
msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, MSGBOX_DEFAULT
special sub_818E39C
special SetQuizLadyState_GivePrize
release
end
@ -4599,7 +4602,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778
special sub_818E3EC
special QuizLadyPickNewQuestion
msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, MSGBOX_DEFAULT
release
end
@ -4610,7 +4613,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785
LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
fadescreen 1
setvar VAR_RESULT, 0
special sub_818E3E0
special Script_QuizLadyOpenBagMenu
waitstate
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF
@ -4628,13 +4631,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF
LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE
msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, MSGBOX_DEFAULT
special sub_818E430
special sub_818E3BC
setvar VAR_0x8004, 16
special ClearQuizLadyQuestionAndAnswer
special ClearQuizLadyPlayerAnswer
setvar VAR_0x8004, EASY_CHAT_TYPE_QUIZ_QUESTION
LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1
fadescreen 1
special sub_818E47C
special QuizLadySetCustomQuestion
waitstate
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8
@ -4650,9 +4653,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817
special sub_818E490
special sub_818E4A4
special sub_818E510
special QuizLadyTakePrizeForCustomQuiz
special QuizLadyRecordCustomQuizData
special QuizLadySetWaitingForChallenger
msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, MSGBOX_DEFAULT
release
end
@ -4661,15 +4664,16 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A
lock
faceplayer
msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E8B4
specialvar VAR_RESULT, HasPlayerGivenContestLadyPokeblock
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
end
@ Redundant with above script, VAR_RESULT will always be 0 here
LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850
specialvar VAR_RESULT, sub_818E8E0
specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876
compare VAR_RESULT, 1
@ -4682,7 +4686,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
special sub_818E914
special Script_BufferContestLadyCategoryAndMonName
msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
@ -4701,7 +4705,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0
LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA
fadescreen 1
special sub_818E92C
special OpenPokeblockCaseForContestLady
waitstate
compare VAR_RESULT, 65535
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7
@ -4719,11 +4723,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7
LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6
msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, MSGBOX_DEFAULT
special sub_818E940
special sub_818E960
special SetContestLadyGivenPokeblock
special GetContestLadyMonSpecies
goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A
end
@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A
applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89B8
waitmovement 0
@ -4745,6 +4750,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A893F:: @ 82A893F
waitmovement 0
delay 60
@ VAR_0x8004 here is the return value from GivePokeblockToContestLady
LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C
applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89C0
waitmovement 0
@ -4761,13 +4767,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970
end
LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E
special sub_818E914
special Script_BufferContestLadyCategoryAndMonName
msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
end
LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F
specialvar VAR_RESULT, sub_818E8E0
specialvar VAR_RESULT, ShouldContestLadyShowGoOnAir
compare VAR_RESULT, 1
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1
release
@ -4810,18 +4816,18 @@ LilycoveCity_PokemonCenter_1F_Movement_2A89C2: @ 82A89C2
step_end
LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7
specialvar VAR_RESULT, sub_818E990
special sub_818E914
special sub_818E960
compare VAR_RESULT, 0
specialvar VAR_RESULT, GetContestLadyCategory
special Script_BufferContestLadyCategoryAndMonName
special GetContestLadyMonSpecies
compare VAR_RESULT, CONTEST_CATEGORY_COOL
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A
compare VAR_RESULT, 1
compare VAR_RESULT, CONTEST_CATEGORY_BEAUTY
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D
compare VAR_RESULT, 2
compare VAR_RESULT, CONTEST_CATEGORY_CUTE
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30
compare VAR_RESULT, 3
compare VAR_RESULT, CONTEST_CATEGORY_SMART
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43
compare VAR_RESULT, 4
compare VAR_RESULT, CONTEST_CATEGORY_TOUGH
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56
end

View File

@ -595,76 +595,76 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, 1
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, 1
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 0, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, 1
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, 1
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_2, 7, 9, 0, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, 1
createvobject EVENT_OBJ_GFX_LASS, 10, 12, 0, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, 1
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 0, 3, 1
createvobject EVENT_OBJ_GFX_GENTLEMAN, 15, 2, 1, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 16, 3, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_2, 17, 4, 1, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, 1
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 9, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 23, 13, 1, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, 1
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, 1
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 5, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, 1
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 6, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_2, 7, 9, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LASS, 10, 12, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_GENTLEMAN, 15, 2, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 16, 3, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_2, 17, 4, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 9, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 23, 13, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 5, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 6, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, 1
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652
createvobject EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 0, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 2, 15, 0, 3, 1
createvobject EVENT_OBJ_GFX_MAN_5, 3, 5, 0, 3, 1
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 5, 7, 0, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_2, 7, 9, 0, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_3, 8, 10, 0, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, 1
createvobject EVENT_OBJ_GFX_LASS, 10, 12, 0, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 12, 14, 0, 3, 1
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 2, 3, 1
createvobject EVENT_OBJ_GFX_HIKER, 14, 12, 2, 3, 1
createvobject EVENT_OBJ_GFX_GENTLEMAN, 15, 2, 1, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 16, 3, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_2, 17, 4, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_3, 18, 6, 1, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, 1
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 9, 1, 3, 1
createvobject EVENT_OBJ_GFX_MAN_2, 21, 10, 1, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 23, 13, 1, 3, 1
createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 14, 1, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, 1
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, 1
createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 5, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, 1
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 6, 2, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 1, 3, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 2, 15, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_5, 3, 5, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 4, 6, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 5, 7, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 6, 8, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_2, 7, 9, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_3, 8, 10, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 9, 11, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LASS, 10, 12, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 11, 13, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 12, 14, 0, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_5, 13, 15, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_HIKER, 14, 12, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_GENTLEMAN, 15, 2, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_NINJA_BOY, 16, 3, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_2, 17, 4, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_3, 18, 6, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_BEAUTY, 19, 7, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 9, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_2, 21, 10, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 22, 11, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 23, 13, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 14, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 15, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 2, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 5, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 5, 1, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 6, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 31, 8, 2, 3, DIR_SOUTH
return
BattleFrontier_BattleArenaBattleRoom_Movement_24C773: @ 824C773

View File

@ -63,7 +63,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
waitmovement 0
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77
waitmovement 0
moveobjectoffscreen 1
copyobjectxytoperm 1
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
waitmovement 0
msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT

View File

@ -180,7 +180,7 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
resetobjectpriority 2, MAP_ROUTE109
moveobjectoffscreen 2
copyobjectxytoperm 2
release
end

View File

@ -67,8 +67,8 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
waitmessage
waitfanfare
closemessage
moveobjectoffscreen 3
moveobjectoffscreen 4
copyobjectxytoperm 3
copyobjectxytoperm 4
setflag FLAG_ENTERED_ELITE_FOUR
releaseall
end

View File

@ -62,7 +62,7 @@ FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2
waitmovement 0
applymovement 1, FarawayIsland_Interior_Movement_267DCE
waitmovement 0
moveobjectoffscreen 1
copyobjectxytoperm 1
setvar VAR_TEMP_1, 1
releaseall
end

View File

@ -144,7 +144,6 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
compare VAR_TEMP_1, 2
call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220328
updatemoneybox 0, 0
nop
bufferitemname 0, VAR_TEMP_0
playse SE_JIHANKI
msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, MSGBOX_DEFAULT

View File

@ -9,7 +9,7 @@ LilycoveCity_PokemonCenter_1F_OnTransition: @ 821C5BD
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6
special sub_818D9C0
special SetLilycoveLadyGfx
compare VAR_RESULT, 0
goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0
compare VAR_RESULT, 1

View File

@ -172,131 +172,131 @@ LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
end
LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B
setvar VAR_TEMP_1, 5
setvar VAR_TEMP_1, EVENT_OBJ_GFX_NINJA_BOY
return
LinkContestRoom1_EventScript_23BA71:: @ 823BA71
setvar VAR_TEMP_1, 6
setvar VAR_TEMP_1, EVENT_OBJ_GFX_TWIN
return
LinkContestRoom1_EventScript_23BA77:: @ 823BA77
setvar VAR_TEMP_1, 7
setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_1
return
LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D
setvar VAR_TEMP_1, 8
setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_1
return
LinkContestRoom1_EventScript_23BA83:: @ 823BA83
setvar VAR_TEMP_1, 10
setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_2
return
LinkContestRoom1_EventScript_23BA89:: @ 823BA89
setvar VAR_TEMP_1, 11
setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_BOY
return
LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F
setvar VAR_TEMP_1, 12
setvar VAR_TEMP_1, EVENT_OBJ_GFX_LITTLE_GIRL
return
LinkContestRoom1_EventScript_23BA95:: @ 823BA95
setvar VAR_TEMP_1, 13
setvar VAR_TEMP_1, EVENT_OBJ_GFX_BOY_3
return
LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B
setvar VAR_TEMP_1, 14
setvar VAR_TEMP_1, EVENT_OBJ_GFX_GIRL_3
return
LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1
setvar VAR_TEMP_1, 15
setvar VAR_TEMP_1, EVENT_OBJ_GFX_RICH_BOY
return
LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7
setvar VAR_TEMP_1, 17
setvar VAR_TEMP_1, EVENT_OBJ_GFX_FAT_MAN
return
LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD
setvar VAR_TEMP_1, 18
setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_F
return
LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3
setvar VAR_TEMP_1, 19
setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_1
return
LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9
setvar VAR_TEMP_1, 20
setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_2
return
LinkContestRoom1_EventScript_23BABF:: @ 823BABF
setvar VAR_TEMP_1, 21
setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_M
return
LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5
setvar VAR_TEMP_1, 22
setvar VAR_TEMP_1, EVENT_OBJ_GFX_EXPERT_F
return
LinkContestRoom1_EventScript_23BACB:: @ 823BACB
setvar VAR_TEMP_1, 25
setvar VAR_TEMP_1, EVENT_OBJ_GFX_POKEFAN_M
return
LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1
setvar VAR_TEMP_1, 26
setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_4
return
LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7
setvar VAR_TEMP_1, 27
setvar VAR_TEMP_1, EVENT_OBJ_GFX_COOK
return
LinkContestRoom1_EventScript_23BADD:: @ 823BADD
setvar VAR_TEMP_1, 47
setvar VAR_TEMP_1, EVENT_OBJ_GFX_LASS
return
LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3
setvar VAR_TEMP_1, 30
setvar VAR_TEMP_1, EVENT_OBJ_GFX_OLD_WOMAN
return
LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9
setvar VAR_TEMP_1, 31
setvar VAR_TEMP_1, EVENT_OBJ_GFX_CAMPER
return
LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF
setvar VAR_TEMP_1, 32
setvar VAR_TEMP_1, EVENT_OBJ_GFX_PICNICKER
return
LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5
setvar VAR_TEMP_1, 33
setvar VAR_TEMP_1, EVENT_OBJ_GFX_MAN_3
return
LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB
setvar VAR_TEMP_1, 34
setvar VAR_TEMP_1, EVENT_OBJ_GFX_WOMAN_5
return
LinkContestRoom1_EventScript_23BB01:: @ 823BB01
setvar VAR_TEMP_1, 35
setvar VAR_TEMP_1, EVENT_OBJ_GFX_YOUNGSTER
return
LinkContestRoom1_EventScript_23BB07:: @ 823BB07
setvar VAR_TEMP_1, 36
setvar VAR_TEMP_1, EVENT_OBJ_GFX_BUG_CATCHER
return
LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D
setvar VAR_TEMP_1, 37
setvar VAR_TEMP_1, EVENT_OBJ_GFX_PSYCHIC_M
return
LinkContestRoom1_EventScript_23BB13:: @ 823BB13
setvar VAR_TEMP_1, 38
setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCHOOL_KID_M
return
LinkContestRoom1_EventScript_23BB19:: @ 823BB19
setvar VAR_TEMP_1, 44
setvar VAR_TEMP_1, EVENT_OBJ_GFX_BLACK_BELT
return
LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F
setvar VAR_TEMP_1, 45
setvar VAR_TEMP_1, EVENT_OBJ_GFX_BEAUTY
return
LinkContestRoom1_EventScript_23BB25:: @ 823BB25
setvar VAR_TEMP_1, 46
setvar VAR_TEMP_1, EVENT_OBJ_GFX_SCIENTIST_1
return
LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
@ -312,97 +312,97 @@ LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
return
LinkContestRoom1_EventScript_23BB78:: @ 823BB78
createvobject EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, 1
createvobject EVENT_OBJ_GFX_NINJA_BOY, 20, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
return
LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, 4
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, 4
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, 4
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, 4
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, 3
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, 3
createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 3, 2, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 13, 12, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_LASS, 20, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
return
LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, 4
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, 4
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, 4
createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, 4
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, 3
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, 3
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, 1
createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, 1
createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, 1
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, 2
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, 2
createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, 2
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, 2
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, 2
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, 2
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_GENTLEMAN, 3, 2, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_EXPERT_F, 20, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_2, 20, 6, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_WOMAN_5, 20, 7, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 8, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_GENTLEMAN, 24, 11, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_LITTLE_BOY, 25, 3, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_FAT_MAN, 27, 5, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
return
LinkContestRoom1_EventScript_23BC92:: @ 823BC92
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, 4
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, 4
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, 4
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, 4
createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, 4
createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, 4
createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, 4
createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, 4
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, 3
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, 3
createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, 3
createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, 3
createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, 3
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, 3
createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, 3
createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, 1
createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, 1
createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, 2
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, 2
createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, 2
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, 2
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, 2
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, 2
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SAILOR, 25, 3, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_YOUNGSTER, 26, 4, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_GENTLEMAN, 27, 5, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_HEX_MANIAC, 28, 9, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_SCHOOL_KID_M, 29, 10, 9, 3, DIR_NORTH
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 30, 11, 9, 3, DIR_NORTH
return
LinkContestRoom1_EventScript_23BD86:: @ 823BD86
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, 4
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, 4
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, 4
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, 4
createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, 4
createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, 4
createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, 4
createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, 4
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, 3
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, 3
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, 3
createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, 3
createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, 3
createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, 3
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, 3
createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, 3
createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, 1
createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, 1
createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, 1
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, 1
createvobject EVENT_OBJ_GFX_BEAUTY, 0, 2, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MAN_5, 1, 2, 4, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_HIKER, 2, 2, 7, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_LITTLE_GIRL, 3, 2, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_MANIAC, 4, 1, 3, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_WOMAN_5, 6, 1, 5, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_WOMAN_4, 7, 1, 6, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_GENTLEMAN, 9, 1, 8, 3, DIR_EAST
createvobject EVENT_OBJ_GFX_NINJA_BOY, 10, 12, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_2, 11, 12, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_WOMAN_3, 12, 12, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_BEAUTY, 13, 12, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_FISHERMAN, 14, 13, 3, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 15, 13, 4, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_MAN_4, 17, 13, 6, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_MART_EMPLOYEE, 18, 13, 7, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_DEVON_EMPLOYEE, 19, 13, 8, 3, DIR_WEST
createvobject EVENT_OBJ_GFX_POKEFAN_M, 20, 3, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_CAMPER, 21, 6, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_MAN_3, 22, 7, 2, 3, DIR_SOUTH
createvobject EVENT_OBJ_GFX_SCIENTIST_1, 24, 11, 2, 3, DIR_SOUTH
return
LinkContestRoom1_EventScript_23BE44:: @ 823BE44

View File

@ -40,7 +40,6 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
givecoins 50
takemoney 0x3e8, 0
updatemoneybox 0, 0
nop
updatecoinsbox 1, 6
playse SE_REGI
msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT
@ -61,7 +60,6 @@ MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
givecoins 500
takemoney 0x2710, 0
updatemoneybox 0, 0
nop
updatecoinsbox 1, 6
playse SE_REGI
msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT

View File

@ -236,7 +236,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2
setflag FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F
moveobjectoffscreen 9
copyobjectxytoperm 9
switch VAR_FACING
case 3, MossdeepCity_SpaceCenter_1F_EventScript_223278
case 3, MossdeepCity_SpaceCenter_1F_EventScript_223289

View File

@ -70,9 +70,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09
applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89
waitmovement 0
setvar VAR_MOSSDEEP_SPACE_CENTER_STATE_2, 2
moveobjectoffscreen 5
moveobjectoffscreen 7
moveobjectoffscreen 6
copyobjectxytoperm 5
copyobjectxytoperm 7
copyobjectxytoperm 6
releaseall
end

View File

@ -131,7 +131,6 @@ MtChimney_EventScript_22EF51:: @ 822EF51
MtChimney_EventScript_22EF5E:: @ 822EF5E
takemoney 0xc8, 0
updatemoneybox 0, 0
nop
return
MtChimney_EventScript_22EF69:: @ 822EF69

View File

@ -114,7 +114,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B
waitmovement 0
applymovement 34, Route104_Movement_1ECDCA
waitmovement 0
moveobjectoffscreen 34
copyobjectxytoperm 34
msgbox Route104_Text_1EDCED, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_if_eq Route104_EventScript_1ECDED
@ -203,7 +203,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F
waitmovement 0
applymovement 34, Route104_Movement_1ECDCA
waitmovement 0
moveobjectoffscreen 34
copyobjectxytoperm 34
msgbox Route104_Text_1EE009, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_if_eq Route104_EventScript_1ECF09
@ -416,7 +416,7 @@ Route104_EventScript_1ED139:: @ 81ED139
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
resetobjectpriority 2, MAP_DEWFORD_TOWN
moveobjectoffscreen 2
copyobjectxytoperm 2
setvar VAR_BOARD_BRINEY_BOAT_STATE, 0
goto_if_unset FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1B4
goto_if_set FLAG_DELIVERED_STEVEN_LETTER, Route104_EventScript_1ED1BE

View File

@ -58,7 +58,7 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5
copyvar VAR_BRINEY_LOCATION, VAR_0x8008
resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
resetobjectpriority 2, MAP_DEWFORD_TOWN
moveobjectoffscreen 2
copyobjectxytoperm 2
release
end

View File

@ -58,7 +58,6 @@ Route109_SeashoreHouse_EventScript_269484:: @ 8269484
msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT
takemoney 0x12c, 0
updatemoneybox 0, 0
nop
giveitem_std ITEM_SODA_POP
hidemoneybox
nop

View File

@ -77,7 +77,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
fadescreen 0
applymovement 5, Route119_WeatherInstitute_2F_Movement_270187
waitmovement 0
moveobjectoffscreen 5
copyobjectxytoperm 5
goto Route119_WeatherInstitute_2F_EventScript_27004D
end

View File

@ -68,7 +68,6 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT
takemoney 0x1f4, 0
updatemoneybox 0, 0
nop
msgbox Route121_SafariZoneEntrance_Text_2A5036, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message Route121_SafariZoneEntrance_Text_2A5052

View File

@ -494,7 +494,7 @@ RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
call_if_eq RustboroCity_EventScript_1E0BF3
setflag FLAG_INTERACTED_WITH_DEVON_EMPLOYEE_GOODS_STOLEN
setvar VAR_RUSTBORO_CITY_STATE, 3
moveobjectoffscreen 9
copyobjectxytoperm 9
msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT
releaseall
end

View File

@ -285,8 +285,8 @@ RusturfTunnel_EventScript_22D083:: @ 822D083
applymovement 6, RusturfTunnel_Movement_22D0AB
applymovement 7, RusturfTunnel_Movement_22D0AB
waitmovement 0
moveobjectoffscreen 6
moveobjectoffscreen 7
copyobjectxytoperm 6
copyobjectxytoperm 7
setvar VAR_RUSTURF_TUNNEL_STATE, 3
releaseall
end

View File

@ -26,7 +26,7 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
call_if_eq SeafloorCavern_Entrance_EventScript_234539
delay 30
setvar VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT, 1
moveobjectoffscreen 1
copyobjectxytoperm 1
msgbox SeafloorCavern_Entrance_Text_234544, MSGBOX_DEFAULT
closemessage
applymovement 1, Common_Movement_WalkInPlaceUp

View File

@ -77,7 +77,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
closemessage
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE
moveobjectoffscreen 4
copyobjectxytoperm 4
setobjectmovementtype 4, MOVEMENT_TYPE_FACE_RIGHT
releaseall
end

View File

@ -40,7 +40,6 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
playse SE_REGI
takemoney 0x32, 0
updatemoneybox 0, 0
nop
msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_DEFAULT
setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1
hidemoneybox

View File

@ -1366,14 +1366,14 @@ SootopolisCity_EventScript_1E646F:: @ 81E646F
SootopolisCity_EventScript_1E64B2:: @ 81E64B2
applymovement 18, SootopolisCity_Movement_1E64EC
waitmovement 0
moveobjectoffscreen 18
copyobjectxytoperm 18
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 1
return
SootopolisCity_EventScript_1E64C5:: @ 81E64C5
applymovement 18, SootopolisCity_Movement_1E64EF
waitmovement 0
moveobjectoffscreen 18
copyobjectxytoperm 18
setvar VAR_SOOTOPOLIS_WALLACE_STATE, 2
return

View File

@ -222,6 +222,10 @@ SootopolisCity_Gym_1F_Text_225268: @ 8225268
.string "A grand illusion of water sculpted\n"
.string "by POKéMON and myself!$"
@ NOTE: This defeat text actually causes a buffer overflow. It's about 50 bytes too long for
@ the gDisplayedStringBattle buffer that it's put into, and it stomps all over the gBattleTextBuffs
@ after, as well as the otherwise unused array after that. One wonders if that's the reason for
@ the existence of that unused array of ints.
SootopolisCity_Gym_1F_Text_225432: @ 8225432
.string "Ahahaha, excellent!\n"
.string "Very well, you are the winner.\p"

View File

@ -36,7 +36,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
waitmovement 0
applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21
waitmovement 0
moveobjectoffscreen 1
copyobjectxytoperm 1
applymovement EVENT_OBJ_ID_PLAYER, Common_Movement_WalkInPlaceUp
waitmovement 0
compare VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE, 1

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_29",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29",
"name": "UnknownLinkContestRoom_25_29",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29",
"music": "MUS_NIBI",

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_30",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30",
"name": "UnknownLinkContestRoom_25_30",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30",
"music": "MUS_NIBI",

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_31",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31",
"name": "UnknownLinkContestRoom_25_31",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31",
"music": "MUS_NIBI",

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_32",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32",
"name": "UnknownLinkContestRoom_25_32",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32",
"music": "MUS_NIBI",

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_33",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33",
"name": "UnknownLinkContestRoom_25_33",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33",
"music": "MUS_NIBI",

View File

@ -1,5 +1,5 @@
{
"id": "MAP_UNKNOWN_MAP_25_34",
"id": "MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34",
"name": "UnknownLinkContestRoom_25_34",
"layout": "LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34",
"music": "MUS_NIBI",

View File

@ -44,7 +44,7 @@ VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC
msgbox VictoryRoad_1F_Text_236020, MSGBOX_DEFAULT
clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
moveobjectoffscreen 4
copyobjectxytoperm 4
setflag FLAG_DEFEATED_WALLY_VICTORY_ROAD
copyvar VAR_VICTORY_ROAD_1F_STATE, VAR_0x8008
releaseall

View File

@ -100,7 +100,7 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_settrainerflag
.4byte ScrCmd_cleartrainerflag
.4byte ScrCmd_setobjectxyperm
.4byte ScrCmd_moveobjectoffscreen
.4byte ScrCmd_copyobjectxytoperm
.4byte ScrCmd_setobjectmovementtype
.4byte ScrCmd_waitmessage
.4byte ScrCmd_message

View File

@ -553,7 +553,7 @@ gText_082B7D18:: @ 82B7D18
.string "time with someone like me.$"
gText_082B7DD4:: @ 82B7DD4
.string "Oh! You're {PLAYER}{STRING 5}, aren't you?\p"
.string "Oh! You're {PLAYER}{KUN}, aren't you?\p"
.string "I've heard that you're tough at\n"
.string "POKéMON!\p"
.string "I'm {STR_VAR_1}!\n"
@ -576,19 +576,19 @@ gText_082B7F35:: @ 82B7F35
.string "You know that the BATTLE TOWER has\n"
.string "Level 50 and Open Level Rooms?\p"
.string "Which do you think would be good\n"
.string "for me, {PLAYER}{STRING 5}?$"
.string "for me, {PLAYER}{KUN}?$"
gText_082B7FE8:: @ 82B7FE8
.string "Okay, {STR_VAR_1} is suitable for me?\n"
.string "Thank you!\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
gText_082B8087:: @ 82B8087
.string "Oh, hi, there! {PLAYER}{STRING 5}!\n"
.string "Oh, hi, there! {PLAYER}{KUN}!\n"
.string "I know you because you're famous!\l"
.string "Call me {STR_VAR_1}! Glad to meet you!\p"
.string "I'm a TRIATHLETE, so I keep myself\n"
@ -599,13 +599,13 @@ gText_082B8087:: @ 82B8087
.string "me to become a decent TRAINER.\p"
.string "So, I have a proposition!\p"
.string "There must be a reason why we met.\n"
.string "So, {PLAYER}{STRING 5}, how about sharing your\l"
.string "So, {PLAYER}{KUN}, how about sharing your\l"
.string "wisdom with me every so often?$"
gText_082B822B:: @ 82B822B
.string "Oh, but, please?\n"
.string "A guy like me needs someone like\l"
.string "you, {PLAYER}{STRING 5}!\p"
.string "you, {PLAYER}{KUN}!\p"
.string "Honestly, I need your advice!$"
gText_082B8286:: @ 82B8286
@ -741,15 +741,15 @@ gText_082B8C20:: @ 82B8C20
gText_082B8CAA:: @ 82B8CAA
.string "Whoa! Could you be…\n"
.string "Might you be… {PLAYER}{STRING 5}?!\l"
.string "Might you be… {PLAYER}{KUN}?!\l"
.string "That strong and famous TRAINER?\l"
.string "Well, hello, aren't I just the luckiest!\p"
.string "Hello, the name's {STR_VAR_1}!\p"
.string "I've been on the lookout for\n"
.string "a POKéMON teacher.\p"
.string "And with impeccably good timing,\n"
.string "along came you, {PLAYER}{STRING 5}!\p"
.string "So, there you have it, {PLAYER}{STRING 5}!\n"
.string "along came you, {PLAYER}{KUN}!\p"
.string "So, there you have it, {PLAYER}{KUN}!\n"
.string "Let me apprentice under you!$"
gText_082B8DD3:: @ 82B8DD3
@ -774,7 +774,7 @@ gText_082B8ED5:: @ 82B8ED5
.string "Adios!$"
gText_082B8F45:: @ 82B8F45
.string "Oh, hey, {PLAYER}{STRING 5}, right?\n"
.string "Oh, hey, {PLAYER}{KUN}, right?\n"
.string "The police were looking for you!\p"
.string "… … …\n"
.string "Of course I'm lying!\p"
@ -822,7 +822,7 @@ gText_082B929C:: @ 82B929C
.string "Your turn now, tell me a little about\n"
.string "yourself, give it a try!\p"
.string "Uh-huh, uh-huh!\n"
.string "{PLAYER}{STRING 5}'s your name,\l"
.string "{PLAYER}{KUN}'s your name,\l"
.string "and POKéMON's your game!\p"
.string "And you're at a delicate age\n"
.string "when all the world's your stage!\p"
@ -901,7 +901,7 @@ gText_082B992D:: @ 82B992D
.string "not built to take the abuse…\p"
.string "I decided I'll battle POKéMON and\n"
.string "toughen myself up.\p"
.string "You're {PLAYER}{STRING 5}, aren't you?\n"
.string "You're {PLAYER}{KUN}, aren't you?\n"
.string "The POKéMON LEAGUE CHAMP?\p"
.string "Listen, can I get you to give me\n"
.string "advice?$"
@ -927,7 +927,7 @@ gText_082B9B76:: @ 82B9B76
gText_082B9BF2:: @ 82B9BF2
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}…?\p"
.string "{PLAYER}{KUN}…?\p"
.string "Please, don't look at me that way.\n"
.string "You're making me all self-conscious.\p"
.string "I… I'm {STR_VAR_1}.\p"
@ -935,7 +935,7 @@ gText_082B9BF2:: @ 82B9BF2
.string "but I explore ancient ruins and such.\p"
.string "I'm even more embarrassed to admit\n"
.string "I'm interested in the BATTLE FRONTIER.\p"
.string "{PLAYER}{STRING 5}, you have a reputation as\n"
.string "{PLAYER}{KUN}, you have a reputation as\n"
.string "a tough TRAINER…\p"
.string "It's hard for me to say this,\n"
.string "but I want to ask something.\p"
@ -962,18 +962,18 @@ gText_082B9EAA:: @ 82B9EAA
.string "I'll try my hand at that.\p"
.string "I hope I can make a valiant challenge\n"
.string "without getting all flustered…\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
gText_082B9F55:: @ 82B9F55
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really real?\p"
.string "You may call me {STR_VAR_1}.\p"
.string "I have been toying with the idea of\n"
.string "apprenticing under a strong TRAINER.\p"
.string "So, I must say I'm lucky you came along!\n"
.string "…You really are {PLAYER}{STRING 5}, yes?\p"
.string "…You really are {PLAYER}{KUN}, yes?\p"
.string "No, no, if you are real, it's fine.\n"
.string "I merely want you to recognize me\l"
.string "as your apprentice.$"
@ -1130,7 +1130,7 @@ gText_082BAA81:: @ 82BAA81
.string "my {STR_VAR_2} hold anything?$"
gText_082BAB22:: @ 82BAB22
.string "Oh, {PLAYER}{STRING 5}.\n"
.string "Oh, {PLAYER}{KUN}.\n"
.string "There's something I wanted to ask you.\p"
.string "You know how you decided which\n"
.string "POKéMON I should have for me?\p"
@ -1148,7 +1148,7 @@ gText_082BAC43:: @ 82BAC43
gText_082BAC78:: @ 82BAC78
.string "If you think that's best, I'll do that.\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
@ -1157,7 +1157,7 @@ gText_082BAD17:: @ 82BAD17
.string "The item {STR_VAR_1}, huh?\n"
.string "Not bad. I'll use it!\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
@ -1170,7 +1170,7 @@ gText_082BADB6:: @ 82BADB6
.string "do the best it can empty-handed?$"
gText_082BAE36:: @ 82BAE36
.string "Yo, {PLAYER}{STRING 5}!\p"
.string "Yo, {PLAYER}{KUN}!\p"
.string "We're both busy, but we seem to run\n"
.string "into each other often anyway!\p"
.string "Today I have to do some walking,\n"
@ -1315,7 +1315,7 @@ gText_082BB84A:: @ 82BB84A
gText_082BB8CD:: @ 82BB8CD
.string "Hola!\n"
.string "My maestro, {PLAYER}{STRING 5}!\p"
.string "My maestro, {PLAYER}{KUN}!\p"
.string "I want to hit you up for advice on\n"
.string "POKéMON tools.\p"
.string "What do you think would be good for\n"
@ -1348,7 +1348,7 @@ gText_082BBA6C:: @ 82BBA6C
.string "can win without holding any item?$"
gText_082BBB01:: @ 82BBB01
.string "{PLAYER}{STRING 5}, something unbelievable\n"
.string "{PLAYER}{KUN}, something unbelievable\n"
.string "has happened!\p"
.string "I woke up this morning, and my POKéMON\n"
.string "had 10 NUGGETS!\p"
@ -1465,14 +1465,14 @@ gText_082BC373:: @ 82BC373
.string "Doesn't need to hold anything?$"
gText_082BC40E:: @ 82BC40E
.string "Gwah! Ouch! {PLAYER}{STRING 5}, my arm's broken!\n"
.string "Gwah! Ouch! {PLAYER}{KUN}, my arm's broken!\n"
.string "Don't touch it, please!\p"
.string "I must've broken it while I was trying\n"
.string "out different hold items with my posse\l"
.string "of POKéMON.\p"
.string "So, things being this way,\n"
.string "I need you to decide for me.\p"
.string "{PLAYER}{STRING 5}, what do you think would be\n"
.string "{PLAYER}{KUN}, what do you think would be\n"
.string "good for my {STR_VAR_1} to hold?$"
gText_082BC514:: @ 82BC514
@ -1504,14 +1504,14 @@ gText_082BC666:: @ 82BC666
gText_082BC714:: @ 82BC714
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}…\p"
.string "{PLAYER}{KUN}…\p"
.string "Please, don't look at me that way.\n"
.string "My POKéMON don't have anything.\p"
.string "I… I'm really embarrassed about this,\n"
.string "but I really need your advice.\p"
.string "I can't decide what hold item would\n"
.string "make my {STR_VAR_1} strong.\p"
.string "{PLAYER}{STRING 5}, what do you think would\n"
.string "{PLAYER}{KUN}, what do you think would\n"
.string "be good?$"
gText_082BC808:: @ 82BC808
@ -1523,7 +1523,7 @@ gText_082BC84D:: @ 82BC84D
.string "I'll go without an item.\p"
.string "This is nerve-racking, though.\n"
.string "Wouldn't it be too cool?\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
@ -1532,7 +1532,7 @@ gText_082BC8EA:: @ 82BC8EA
.string "I'll go with that {STR_VAR_1}.\p"
.string "This is nerve-racking, though.\n"
.string "Wouldn't it be too cool?\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
@ -1545,7 +1545,7 @@ gText_082BC984:: @ 82BC984
.string "my {STR_VAR_2} didn't have an item?$"
gText_082BCA4D:: @ 82BCA4D
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really?\l"
.string "Perhaps you're a twin?\p"
.string "Oh, no, no, no, don't worry!\n"
@ -1647,7 +1647,7 @@ gText_082BD18A:: @ 82BD18A
.string "speak with me… Thank you!$"
gText_082BD222:: @ 82BD222
.string "Oh, {PLAYER}{STRING 5}! It's me!\n"
.string "Oh, {PLAYER}{KUN}! It's me!\n"
.string "I'm so glad to see you because I have\l"
.string "this little problem.\p"
.string "I can't decide how my POKéMON should\n"
@ -1660,13 +1660,13 @@ gText_082BD222:: @ 82BD222
gText_082BD325:: @ 82BD325
.string "My {STR_VAR_1}? That's great!\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
gText_082BD3B1:: @ 82BD3B1
.string "Hi, my teacher {PLAYER}{STRING 5}!\n"
.string "Hi, my teacher {PLAYER}{KUN}!\n"
.string "I'm busy again today!\p"
.string "I have to do some cycling, shopping,\n"
.string "and humming.\p"
@ -1740,13 +1740,13 @@ gText_082BD8F5:: @ 82BD8F5
gText_082BD9BE:: @ 82BD9BE
.string "Hello, hello!\n"
.string "My mentor, {PLAYER}{STRING 5}!\l"
.string "My mentor, {PLAYER}{KUN}!\l"
.string "Hit me with your sage advice today!\p"
.string "You see, I pulled together a team of\n"
.string "three POKéMON. So far so good.\p"
.string "But the team's battling order's not\n"
.string "settled yet.\p"
.string "This is where you come in, {PLAYER}{STRING 5}!\n"
.string "This is where you come in, {PLAYER}{KUN}!\n"
.string "You decide which POKéMON leads off!\p"
.string "Don't be shy now.\n"
.string "Let's blurt it out!$"
@ -1759,7 +1759,7 @@ gText_082BDAE1:: @ 82BDAE1
.string "Adios!$"
gText_082BDB4E:: @ 82BDB4E
.string "{PLAYER}{STRING 5}, listen!\n"
.string "{PLAYER}{KUN}, listen!\n"
.string "It's a crisis!\p"
.string "My POKéMON, all three of them, go into\n"
.string "battle at once!\p"
@ -1815,7 +1815,7 @@ gText_082BDF4D:: @ 82BDF4D
.string "See you again, my smart friend!$"
gText_082BDFD8:: @ 82BDFD8
.string "…Oof…ooch… {PLAYER}{STRING 5}…\n"
.string "…Oof…ooch… {PLAYER}{KUN}…\n"
.string "My stomach's hurting all of a sudden…\p"
.string "…It's getting better now…\p"
.string "I must've worried myself sick racking\n"
@ -1823,7 +1823,7 @@ gText_082BDFD8:: @ 82BDFD8
.string "my posse of POKéMON.\p"
.string "So, things being this way,\n"
.string "I need you to decide for me.\p"
.string "{PLAYER}{STRING 5}, which of my POKéMON should\n"
.string "{PLAYER}{KUN}, which of my POKéMON should\n"
.string "go first? So I'd win, I mean.$"
gText_082BE0FD:: @ 82BE0FD
@ -1836,7 +1836,7 @@ gText_082BE0FD:: @ 82BE0FD
gText_082BE189:: @ 82BE189
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}?\p"
.string "{PLAYER}{KUN}?\p"
.string "Please, don't look at me that way.\n"
.string "You're making me feel all flustered.\p"
.string "Um…\n"
@ -1852,12 +1852,12 @@ gText_082BE2A5:: @ 82BE2A5
.string "I'll lead with my {STR_VAR_1}.\p"
.string "I hope I can do my best without\n"
.string "getting all flustered.\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
gText_082BE33E:: @ 82BE33E
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really?\l"
.string "Perhaps you're a clever look-alike?\p"
.string "Oh, no, no, no, don't worry!\n"
@ -1949,7 +1949,7 @@ gText_082BE99C:: @ 82BE99C
.string "Thank you!$"
gText_082BEA1B:: @ 82BEA1B
.string "Oh, {PLAYER}{STRING 5}! I'm so glad to see you!\n"
.string "Oh, {PLAYER}{KUN}! I'm so glad to see you!\n"
.string "I was about to go looking for you!\p"
.string "Can you decide what kind of POKéMON\n"
.string "I should use?\p"
@ -1962,20 +1962,20 @@ gText_082BEA1B:: @ 82BEA1B
gText_082BEAE9:: @ 82BEAE9
.string "{STR_VAR_1}? That's great!\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
gText_082BEB72:: @ 82BEB72
.string "If it isn't {PLAYER}{STRING 5}! How's it going?\n"
.string "If it isn't {PLAYER}{KUN}! How's it going?\n"
.string "I'm busy again as always!\p"
.string "I want to do good with POKéMON, too,\n"
.string "but I haven't been able to decide\l"
.string "which POKéMON I should use.\p"
.string "You know how {STR_VAR_1} look strong?\n"
.string "But {STR_VAR_2} are tough to ignore.\p"
.string "{PLAYER}{STRING 5}, give me some of your good\n"
.string "{PLAYER}{KUN}, give me some of your good\n"
.string "advice! Which one'd be good for me?$"
gText_082BEC8E:: @ 82BEC8E
@ -2046,7 +2046,7 @@ gText_082BF11D:: @ 82BF11D
gText_082BF1A8:: @ 82BF1A8
.string "Hey, hey!\n"
.string "My mentor, {PLAYER}{STRING 5}!\p"
.string "My mentor, {PLAYER}{KUN}!\p"
.string "Hello, I've been looking for you\n"
.string "for some more of your sage advice!\p"
.string "Which kind of POKéMON would be right\n"
@ -2062,7 +2062,7 @@ gText_082BF268:: @ 82BF268
.string "Adios!$"
gText_082BF2D1:: @ 82BF2D1
.string "{PLAYER}{STRING 5}, listen! Big news!\n"
.string "{PLAYER}{KUN}, listen! Big news!\n"
.string "I caught a mirage POKéMON!\p"
.string "Of course I'm lying!\n"
.string "Wahahaha!\p"
@ -2120,13 +2120,13 @@ gText_082BF6E5:: @ 82BF6E5
.string "See you again, my smart friend!$"
gText_082BF773:: @ 82BF773
.string "Oh, hi, {PLAYER}{STRING 5}…\n"
.string "Oh, hi, {PLAYER}{KUN}…\n"
.string "I have this horrible headache…\p"
.string "I must've worried too much about\n"
.string "the kind of POKéMON I should raise.\p"
.string "So, things being this way,\n"
.string "I need you to decide for me.\p"
.string "{PLAYER}{STRING 5}, if I had to choose between\n"
.string "{PLAYER}{KUN}, if I had to choose between\n"
.string "the POKéMON {STR_VAR_1} and\l"
.string "{STR_VAR_2}, which should it be?$"
@ -2138,7 +2138,7 @@ gText_082BF869:: @ 82BF869
gText_082BF8DD:: @ 82BF8DD
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}…?\p"
.string "{PLAYER}{KUN}…?\p"
.string "Please, don't look at me that way.\n"
.string "I'm getting all flustered…\l"
.string "I… I need your advice.\p"
@ -2152,12 +2152,12 @@ gText_082BF9BA:: @ 82BF9BA
.string "I'll do my best with one {STR_VAR_1}.\p"
.string "I hope I can do my best without\n"
.string "getting all flustered.\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
gText_082BFA5A:: @ 82BFA5A
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really real?\p"
.string "No, no, if you are real, it's fine.\n"
.string "Incidentally, I would like to obtain\l"
@ -2250,7 +2250,7 @@ gText_082C0032:: @ 82C0032
.string "Thank you!$"
gText_082C0090:: @ 82C0090
.string "Oh, {PLAYER}{STRING 5}!\n"
.string "Oh, {PLAYER}{KUN}!\n"
.string "I was just hoping to see you, too!\p"
.string "I was wondering what move would\n"
.string "be suitable for my {STR_VAR_1}.\p"
@ -2263,14 +2263,14 @@ gText_082C0090:: @ 82C0090
gText_082C016E:: @ 82C016E
.string "{STR_VAR_1}? That's great!\p"
.string "Knowing that you made the decision,\n"
.string "{PLAYER}{STRING 5}, I won't be so upset if\l"
.string "{PLAYER}{KUN}, I won't be so upset if\l"
.string "I lose.\p"
.string "Okay, I'll look to you for advice again.\n"
.string "Bye!$"
gText_082C01F7:: @ 82C01F7
.string "How could things be this busy?\n"
.string "Hey, if it isn't {PLAYER}{STRING 5}!\l"
.string "Hey, if it isn't {PLAYER}{KUN}!\l"
.string "How's it going?\p"
.string "Since I got up this morning, I've done\n"
.string "my jogging, swimming, and cooking!\p"
@ -2279,7 +2279,7 @@ gText_082C01F7:: @ 82C01F7
.string "my {STR_VAR_1} should learn!\p"
.string "{STR_VAR_2} looks good, huh?\n"
.string "But {STR_VAR_3}'s also decent.\p"
.string "{PLAYER}{STRING 5}, give me some of your good\n"
.string "{PLAYER}{KUN}, give me some of your good\n"
.string "advice! Which move'd be good for me?$"
gText_082C034C:: @ 82C034C
@ -2344,7 +2344,7 @@ gText_082C06D8:: @ 82C06D8
.string "some more another time.$"
gText_082C074A:: @ 82C074A
.string "Hola, {PLAYER}{STRING 5}, bueno!\n"
.string "Hola, {PLAYER}{KUN}, bueno!\n"
.string "I'm hoping for some more of\l"
.string "your sage advice today!\p"
.string "What would be the best move for\n"
@ -2362,7 +2362,7 @@ gText_082C0809:: @ 82C0809
.string "Adios!$"
gText_082C086E:: @ 82C086E
.string "{PLAYER}{STRING 5}, it's completely wild!\p"
.string "{PLAYER}{KUN}, it's completely wild!\p"
.string "My POKéMON!\n"
.string "It learned six moves!\p"
.string "Of course I'm lying!\n"
@ -2420,13 +2420,13 @@ gText_082C0C7D:: @ 82C0C7D
.string "See you again, my smart friend!$"
gText_082C0D0B:: @ 82C0D0B
.string "Gahack! Gaah! Oh, {PLAYER}{STRING 5}…\n"
.string "Gahack! Gaah! Oh, {PLAYER}{KUN}…\n"
.string "I have this lousy cold, I do…\p"
.string "I want to pick a move for my POKéMON,\n"
.string "but I'm not up to it…\p"
.string "So, things being this way,\n"
.string "I need you to decide for me.\p"
.string "{PLAYER}{STRING 5}, if I had to choose between\n"
.string "{PLAYER}{KUN}, if I had to choose between\n"
.string "{STR_VAR_2} and {STR_VAR_3} for\l"
.string "my {STR_VAR_1}, which would it be?$"
@ -2438,7 +2438,7 @@ gText_082C0DFE:: @ 82C0DFE
gText_082C0E71:: @ 82C0E71
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}…?\p"
.string "{PLAYER}{KUN}…?\p"
.string "Please, don't look at me that way.\n"
.string "I'm getting all flustered…\l"
.string "I… I need your advice.\p"
@ -2454,12 +2454,12 @@ gText_082C0F6D:: @ 82C0F6D
.string "I'll try that {STR_VAR_1}.\p"
.string "I hope I can teach that move…\n"
.string "This is so nerve-racking…\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "If we meet again, I hope you will be\l"
.string "as helpful.$"
gText_082C1003:: @ 82C1003
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really real?\p"
.string "Perhaps you're one of those popular\n"
.string "mimics?\p"
@ -2569,7 +2569,7 @@ gText_082C174F:: @ 82C174F
.string "somewhere again!$"
gText_082C1862:: @ 82C1862
.string "Oh, {PLAYER}{STRING 5}.\n"
.string "Oh, {PLAYER}{KUN}.\n"
.string "There's something I want you to hear.\p"
.string "I know that I don't always sound\n"
.string "nice or polite…\p"
@ -2595,7 +2595,7 @@ gText_082C19A0:: @ 82C19A0
gText_082C1A76:: @ 82C1A76
.string "Oh, I can't get over how busy I am!\n"
.string "Oh, hey, I was looking for you, {PLAYER}{STRING 5}.\p"
.string "Oh, hey, I was looking for you, {PLAYER}{KUN}.\p"
.string "Are you well as usual?\n"
.string "Things haven't changed for me at all.\p"
.string "I've got running, fighting, and mapping\n"
@ -2605,7 +2605,7 @@ gText_082C1A76:: @ 82C1A76
.string "from a win without saying a word.\p"
.string "So, what would be a cool saying to\n"
.string "underline my coolness when I'm done\l"
.string "and walking away? {PLAYER}{STRING 5}, help me!$"
.string "and walking away? {PLAYER}{KUN}, help me!$"
gText_082C1C16:: @ 82C1C16
.string "{STR_VAR_1}\p"
@ -2615,7 +2615,7 @@ gText_082C1C16:: @ 82C1C16
.string "like you.\p"
.string "I'm going to make time somehow so\n"
.string "I can get into battling.\p"
.string "Thanks for everything, {PLAYER}{STRING 5}!\n"
.string "Thanks for everything, {PLAYER}{KUN}!\n"
.string "We have to battle, you and me, one day!$"
gText_082C1CF5:: @ 82C1CF5
@ -2694,7 +2694,7 @@ gText_082C21FF:: @ 82C21FF
gText_082C231C:: @ 82C231C
.string "Hola, bueno!\n"
.string "{PLAYER}{STRING 5}!\p"
.string "{PLAYER}{KUN}!\p"
.string "You know, I'm getting the itch to roam\n"
.string "and battle where I may.\p"
.string "But before I do, I want your advice\n"
@ -2714,7 +2714,7 @@ gText_082C2407:: @ 82C2407
.string "Adios!$"
gText_082C24B5:: @ 82C24B5
.string "{PLAYER}{STRING 5}, there's big trouble!\p"
.string "{PLAYER}{KUN}, there's big trouble!\p"
.string "When I win a battle, I brag about it\n"
.string "for an hour at least!\p"
.string "Of course I'm lying!\n"
@ -2793,14 +2793,14 @@ gText_082C2A0B:: @ 82C2A0B
.string "Love ya!$"
gText_082C2B50:: @ 82C2B50
.string "{PLAYER}{STRING 5}, I'm finished…\n"
.string "{PLAYER}{KUN}, I'm finished…\n"
.string "My nose won't stop dripping…\p"
.string "I was trying to think up something\n"
.string "cool to say when I win a battle.\p"
.string "It inspired me so much, it made me cry,\n"
.string "and now my nose won't stop running…\p"
.string "So, things being this way,\n"
.string "I need you to decide for me, {PLAYER}{STRING 5}.\p"
.string "I need you to decide for me, {PLAYER}{KUN}.\p"
.string "When I win a battle,\n"
.string "what should I say?$"
@ -2812,13 +2812,13 @@ gText_082C2C77:: @ 82C2C77
.string "But in spite of my tears and runny\n"
.string "nose, I will use that saying!\p"
.string "I'm plumb out of things to ask you,\n"
.string "{PLAYER}{STRING 5}.\p"
.string "{PLAYER}{KUN}.\p"
.string "From now on, we're rivals!\n"
.string "Thanks for everything!$"
gText_082C2D67:: @ 82C2D67
.string "Er… Um…\n"
.string "{PLAYER}{STRING 5}…\p"
.string "{PLAYER}{KUN}…\p"
.string "Please, don't look at me that way.\n"
.string "You're making me all nervous.\p"
.string "I… I need your advice again.\n"
@ -2832,13 +2832,13 @@ gText_082C2E41:: @ 82C2E41
.string "Oh… Okay!\n"
.string "I'll try to say that!\l"
.string "I might be too nervous to say it…\p"
.string "Thank you, {PLAYER}{STRING 5}.\n"
.string "Thank you, {PLAYER}{KUN}.\n"
.string "I have to say good-bye now.\p"
.string "I'll obey all that you've taught me,\n"
.string "{PLAYER}{STRING 5}, and do the best I can.$"
.string "{PLAYER}{KUN}, and do the best I can.$"
gText_082C2EF5:: @ 82C2EF5
.string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
.string "Hm? You appear to be {PLAYER}{KUN}…\n"
.string "But are you really?\l"
.string "Perhaps a clever {PLAYER} DOLL?\p"
.string "Oh, no, no, no, don't worry!\n"

View File

@ -372,47 +372,47 @@ gSpecials:: @ 81DBA64
def_special SetSecretBaseSecretsTvFlags_LargeDecorationSpot
def_special SetSecretBaseSecretsTvFlags_SmallDecorationSpot
def_special SetSecretBaseSecretsTvFlags_Poster
def_special sub_818D9C0
def_special sub_818DAEC
def_special sub_818DBE8
def_special sub_818DC2C
def_special sub_818DC60
def_special sub_818DCC8
def_special sub_818DD14
def_special sub_818DD54
def_special sub_818DD78
def_special sub_818DE44
def_special sub_818DE5C
def_special sub_818DEA0
def_special sub_818DEDC
def_special sub_818E038
def_special sub_818E06C
def_special sub_818E2D8
def_special sub_811A858
def_special sub_818E2FC
def_special sub_818E308
def_special sub_818E358
def_special sub_818E37C
def_special sub_818E298
def_special sub_818E39C
def_special sub_818E3BC
def_special sub_818E3E0
def_special sub_818E430
def_special sub_818E47C
def_special sub_818E490
def_special SetLilycoveLadyGfx
def_special Script_GetLilycoveLadyId
def_special GetFavorLadyState
def_special BufferFavorLadyRequest
def_special HasAnotherPlayerGivenFavorLadyItem
def_special BufferFavorLadyItemName
def_special BufferFavorLadyPlayerName
def_special DidFavorLadyLikeItem
def_special Script_FavorLadyOpenBagMenu
def_special Script_DoesFavorLadyLikeItem
def_special IsFavorLadyThresholdMet
def_special FavorLadyGetPrize
def_special SetFavorLadyState_Complete
def_special GetQuizLadyState
def_special GetQuizAuthor
def_special IsQuizLadyWaitingForChallenger
def_special QuizLadyShowQuizQuestion
def_special QuizLadyGetPlayerAnswer
def_special IsQuizAnswerCorrect
def_special BufferQuizPrizeItem
def_special SetQuizLadyState_Complete
def_special BufferQuizAuthorNameAndCheckIfLady
def_special SetQuizLadyState_GivePrize
def_special ClearQuizLadyPlayerAnswer
def_special Script_QuizLadyOpenBagMenu
def_special ClearQuizLadyQuestionAndAnswer
def_special QuizLadySetCustomQuestion
def_special QuizLadyTakePrizeForCustomQuiz
def_special sub_813986C
def_special sub_818E4A4
def_special sub_818E510
def_special sub_818E538
def_special sub_818E274
def_special sub_818E3EC
def_special sub_818E8E0
def_special sub_818E8B4
def_special sub_818E914
def_special sub_818E92C
def_special sub_818E940
def_special sub_818E960
def_special sub_818E990
def_special QuizLadyRecordCustomQuizData
def_special QuizLadySetWaitingForChallenger
def_special BufferQuizCorrectAnswer
def_special BufferQuizPrizeName
def_special QuizLadyPickNewQuestion
def_special ShouldContestLadyShowGoOnAir
def_special HasPlayerGivenContestLadyPokeblock
def_special Script_BufferContestLadyCategoryAndMonName
def_special OpenPokeblockCaseForContestLady
def_special SetContestLadyGivenPokeblock
def_special GetContestLadyMonSpecies
def_special GetContestLadyCategory
def_special PutLilycoveContestLadyShowOnTheAir
def_special sub_813B880
def_special CallApprenticeFunction

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
#ifndef GUARD_CONSTANTS_CONTEST_H
#define GUARD_CONSTANTS_CONTEST_H
#define CONTESTANT_COUNT 4
#define APPLAUSE_METER_SIZE 5
#define CONTEST_TURN_COUNT 5
#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
#define CONTEST_CATEGORY_COOL 0
#define CONTEST_CATEGORY_BEAUTY 1
#define CONTEST_CATEGORY_CUTE 2
#define CONTEST_CATEGORY_SMART 3
#define CONTEST_CATEGORY_TOUGH 4
#define CONTEST_CATEGORIES_COUNT 5
#endif // GUARD_CONSTANTS_CONTEST_H

View File

@ -50,6 +50,8 @@
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
@ -74,4 +76,14 @@
#define OPTIONS_BATTLE_STYLE_SHIFT 0
#define OPTIONS_BATTLE_STYLE_SET 1
#define DIR_NONE 0
#define DIR_SOUTH 1
#define DIR_NORTH 2
#define DIR_WEST 3
#define DIR_EAST 4
#define DIR_SOUTHWEST 5
#define DIR_SOUTHEAST 6
#define DIR_NORTHWEST 7
#define DIR_NORTHEAST 8
#endif // GUARD_CONSTANTS_GLOBAL_H

View File

@ -0,0 +1,26 @@
#ifndef GUARD_LILYCOVE_LADY_CONSTANTS_H
#define GUARD_LILYCOVE_LADY_CONSTANTS_H
#define LILYCOVE_LADY_QUIZ 0
#define LILYCOVE_LADY_FAVOR 1
#define LILYCOVE_LADY_CONTEST 2
#define LILYCOVE_LADY_COUNT 3
#define LILYCOVE_LADY_STATE_READY 0
#define LILYCOVE_LADY_STATE_COMPLETED 1
#define LILYCOVE_LADY_STATE_PRIZE 2
#define LILYCOVE_LADY_GIFT_THRESHOLD 5
#define QUIZ_AUTHOR_PLAYER 0
#define QUIZ_AUTHOR_OTHER_PLAYER 1
#define QUIZ_AUTHOR_LADY 2
// Would be redundant with the above set if GF hadn't mixed the order
#define QUIZ_AUTHOR_NAME_LADY 0
#define QUIZ_AUTHOR_NAME_PLAYER 1
#define QUIZ_AUTHOR_NAME_OTHER_PLAYER 2
#define QUIZ_QUESTION_LEN 9
#endif

View File

@ -398,67 +398,67 @@
#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
// Map Group 25
#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
#define MAP_TRADE_CENTER (25 | (25 << 8))
#define MAP_RECORD_CORNER (26 | (25 << 8))
#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
#define MAP_UNION_ROOM (60 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
#define MAP_TRADE_CENTER (25 | (25 << 8))
#define MAP_RECORD_CORNER (26 | (25 << 8))
#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
#define MAP_UNION_ROOM (60 | (25 << 8))
// Map Group 26
#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))

View File

@ -2,10 +2,7 @@
#define GUARD_CONTEST_H
#include "palette.h"
#define CONTESTANT_COUNT 4
#define APPLAUSE_METER_SIZE 5
#define CONTEST_TURN_COUNT 5
#include "constants/contest.h"
enum
{
@ -18,20 +15,6 @@ enum
CONTEST_DEBUG_MODE_PRINT_UNK_D
};
#define LINK_CONTEST_FLAG_IS_LINK (1 << 0)
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
enum
{
CONTEST_CATEGORY_COOL,
CONTEST_CATEGORY_BEAUTY,
CONTEST_CATEGORY_CUTE,
CONTEST_CATEGORY_SMART,
CONTEST_CATEGORY_TOUGH,
CONTEST_CATEGORIES_COUNT,
};
enum
{
CONTEST_EFFECT_HIGHLY_APPEALING,

View File

@ -7,6 +7,6 @@
extern EWRAM_DATA bool8 gHasHallOfFameRecords;
// Exported ROM declarations
void sub_8175620(void);
void CB2_StartCreditsSequence(void);
#endif // GUARD_CREDITS_H

View File

@ -68,6 +68,10 @@ struct OamData
/*0x06*/ u16 affineParam;
};
#define ST_OAM_HFLIP 0x08
#define ST_OAM_VFLIP 0x10
#define ST_OAM_MNUM_FLIP_MASK 0x18
#define ST_OAM_OBJ_NORMAL 0
#define ST_OAM_OBJ_BLEND 1
#define ST_OAM_OBJ_WINDOW 2

View File

@ -265,19 +265,6 @@ enum
ACRO_BIKE_STATE6,
};
enum
{
DIR_NONE,
DIR_SOUTH,
DIR_NORTH,
DIR_WEST,
DIR_EAST,
DIR_SOUTHWEST,
DIR_SOUTHEAST,
DIR_NORTHWEST,
DIR_NORTHEAST,
};
enum
{
COLLISION_LEDGE_JUMP = 6

View File

@ -223,7 +223,7 @@ struct Apprentice
u8 number;
struct ApprenticeMon party[3];
u16 easyChatWords[6];
u8 playerId[4];
u8 playerId[TRAINER_ID_LENGTH];
u8 playerName[PLAYER_NAME_LENGTH];
u8 language;
u32 checksum;
@ -262,7 +262,7 @@ struct EmeraldBattleTowerRecord
/*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[6];
/*0x1C*/ u16 speechWon[6];
/*0x28*/ u16 speechLost[6];
@ -277,7 +277,7 @@ struct BattleTowerEReaderTrainer
/*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[6];
/*0x1C*/ u16 farewellPlayerLost[6];
/*0x28*/ u16 farewellPlayerWon[6];
@ -424,7 +424,7 @@ struct PlayersApprentice
struct RankingHall1P
{
u8 id[4];
u8 id[TRAINER_ID_LENGTH];
u16 winStreak;
u8 name[PLAYER_NAME_LENGTH + 1];
u8 language;
@ -432,8 +432,8 @@ struct RankingHall1P
struct RankingHall2P
{
u8 id1[4];
u8 id2[4];
u8 id1[TRAINER_ID_LENGTH];
u8 id2[TRAINER_ID_LENGTH];
u16 winStreak;
u8 name1[PLAYER_NAME_LENGTH + 1];
u8 name2[PLAYER_NAME_LENGTH + 1];
@ -445,7 +445,7 @@ struct SaveBlock2
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x08*/ u8 playerGender; // MALE, FEMALE
/*0x09*/ u8 specialSaveWarpFlags;
/*0x0A*/ u8 playerTrainerId[4];
/*0x0A*/ u8 playerTrainerId[TRAINER_ID_LENGTH];
/*0x0E*/ u16 playTimeHours;
/*0x10*/ u8 playTimeMinutes;
/*0x11*/ u8 playTimeSeconds;
@ -494,7 +494,7 @@ struct SecretBase
/*0x1A9D*/ u8 battledOwnerToday:1;
/*0x1A9D*/ u8 registryStatus:2;
/*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH];
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
/*0x1AA5*/ u8 trainerId[TRAINER_ID_LENGTH]; // byte 0 is used for determining trainer class
/*0x1AA9*/ u8 language;
/*0x1AAA*/ u16 numSecretBasesReceived;
/*0x1AAC*/ u8 numTimesEntered;
@ -580,7 +580,7 @@ struct MailStruct
{
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x1A*/ u8 trainerId[4];
/*0x1A*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x1E*/ u16 species;
/*0x20*/ u16 itemId;
};
@ -597,7 +597,7 @@ struct MauvilleManBard
/*0x0E*/ u16 temporaryLyrics[6];
/*0x1A*/ u8 playerName[8];
/*0x22*/ u8 filler_2DB6[0x3];
/*0x25*/ u8 playerTrainerId[4];
/*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH];
/*0x29*/ bool8 hasChangedSong;
/*0x2A*/ u8 language;
}; /*size = 0x2C*/
@ -736,50 +736,43 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
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;
/*0x001*/ u8 state;
/*0x002*/ u16 question[9];
/*0x014*/ u16 correctAnswer;
/*0x016*/ u16 playerAnswer;
/*0x018*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x020*/ u16 playerTrainerId[4];
/*0x028*/ u16 itemId;
/*0x02a*/ u8 unk_02a;
/*0x02b*/ u8 unk_02b;
/*0x02c*/ u8 unk_02c;
/*0x020*/ u16 playerTrainerId[TRAINER_ID_LENGTH];
/*0x028*/ u16 prize;
/*0x02a*/ bool8 waitingForChallenger;
/*0x02b*/ u8 questionId;
/*0x02c*/ u8 prevQuestionId;
/*0x02d*/ u8 language;
};
struct LilycoveLadyFavour
struct LilycoveLadyFavor
{
/*0x000*/ u8 id;
/*0x001*/ u8 phase;
/*0x002*/ u8 unk_002;
/*0x003*/ u8 unk_003;
/*0x001*/ u8 state;
/*0x002*/ bool8 likedItem;
/*0x003*/ u8 numItemsGiven;
/*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x00c*/ u8 unk_00c;
/*0x00c*/ u8 favorId;
/*0x00e*/ u16 itemId;
/*0x010*/ u16 unk_010;
/*0x010*/ u16 bestItem;
/*0x012*/ u8 language;
};
struct LilycoveLadyContest
{
/*0x000*/ u8 id;
/*0x001*/ u8 phase;
/*0x002*/ u8 fave_pkblk;
/*0x003*/ u8 other_pkblk;
/*0x001*/ bool8 givenPokeblock;
/*0x002*/ u8 numGoodPokeblocksGiven;
/*0x003*/ u8 numOtherPokeblocksGiven;
/*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x00c*/ u8 max_sheen;
/*0x00c*/ u8 maxSheen;
/*0x00d*/ u8 category;
/*0x00e*/ u8 language;
};
@ -787,7 +780,7 @@ struct LilycoveLadyContest
typedef union // 3b58
{
struct LilycoveLadyQuiz quiz;
struct LilycoveLadyFavour favour;
struct LilycoveLadyFavor favor;
struct LilycoveLadyContest contest;
u8 id;
u8 pad[0x40];

View File

@ -69,8 +69,8 @@ extern u16 gSpecialVar_ItemId;
// Exported ROM declarations
void sub_81AAC14(void);
void sub_81AAC50(void);
void sub_81AAC70(void);
void FavorLadyOpenBagMenu(void);
void QuizLadyOpenBagMenu(void);
void sub_81AAC28(void);
void sub_81AABB0(void);
void SetInitialScrollAndCursorPositions(u8 pocketId);

View File

@ -2,16 +2,16 @@
#define GUARD_LILYCOVE_LADY_H
u8 GetLilycoveLadyId(void);
void SetLilycoveLady(void);
void sub_818DA78(void);
void sub_818DEF4(void);
void sub_818E564(void);
void sub_818E570(const LilycoveLady *lilycoveLady);
void InitLilycoveLady(void);
void ResetLilycoveLadyForRecordMix(void);
void FieldCallback_FavorLadyEnableScriptContexts(void);
void FieldCallback_QuizLadyEnableScriptContexts(void);
void QuizLadyClearQuestionForRecordMix(const LilycoveLady *lilycoveLady);
bool8 GivePokeblockToContestLady(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);
void BufferContestLadyMonName(u8 *dest1, u8 *dest2);
void BufferContestLadyPlayerName(u8 *dest);
void BufferContestLadyLanguage(u8 *dest);
void BufferContestName(u8 *dest, u8 category);
u8 sub_818E880(void);
#endif //GUARD_LILYCOVE_LADY_H

View File

@ -524,7 +524,7 @@ u8 CalculatePlayerPartyCount(void);
u8 CalculateEnemyPartyCount(void);
u8 GetMonsStateToDoubles(void);
u8 GetMonsStateToDoubles_2(void);
u8 GetAbilityBySpecies(u16 species, bool8 abilityNum);
u8 GetAbilityBySpecies(u16 species, u8 abilityNum);
u8 GetMonAbility(struct Pokemon *mon);
void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord);
u8 GetSecretBaseTrainerPicIndex(void);

View File

@ -56,6 +56,32 @@ enum
POKENAV_MENU_E,
};
enum
{
MC_HEADER_MR_STONE,
MC_HEADER_PROF_BIRCH,
MC_HEADER_BRENDAN,
MC_HEADER_MAY,
MC_HEADER_WALLY,
MC_HEADER_NORMAN,
MC_HEADER_MOM,
MC_HEADER_STEVEN,
MC_HEADER_SCOTT,
MC_HEADER_ROXANNE,
MC_HEADER_BRAWLY,
MC_HEADER_WATTSON,
MC_HEADER_FLANNERY,
MC_HEADER_WINONA,
MC_HEADER_TATE_LIZA,
MC_HEADER_JUAN,
MC_HEADER_SIDNEY,
MC_HEADER_PHOEBE,
MC_HEADER_GLACIA,
MC_HEADER_DRAKE,
MC_HEADER_WALLACE,
MC_HEADER_COUNT
};
// pokenav.c
void sub_81C7694(u32);
u32 sub_81C76AC(void);
@ -109,15 +135,15 @@ bool32 sub_81C81D4(const struct BgTemplate *arg0, struct MatchCallListTemplate *
void sub_81C8234(void);
// pokenav_match_call_data.c
bool32 sub_81D17E8(u32 idx);
bool32 MatchCall_HasCheckPage(u32 idx);
u8 MatchCallMapSecGetByIndex(u32 idx);
bool32 sub_81D1BF8(u32 idx);
bool32 MatchCallFlagGetByIndex(u32 idx);
u32 MatchCall_GetRematchTableIdx(u32 idx);
u32 GetTrainerIdxByRematchIdx(u32 rematchIdx);
int sub_81D1BD0(u32 idx);
int MatchCall_GetOverrideFacilityClass(u32 idx);
void MatchCall_GetMessage(u32 idx, u8 *dest);
const u8 *sub_81D1B40(u32 idx, u32 offset);
const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset);
void sub_81D1A78(u32 idx, const u8 **desc, const u8 **name);
// pokenav_main_menu.c

View File

@ -2744,6 +2744,31 @@ extern const u8 gText_JumpsInARow[];
extern const u8 gText_BestScore2[];
extern const u8 gText_ExcellentsInARow[];
// Lilycove Lady
extern const u8 gText_ContestLady_Handsome[];
extern const u8 gText_ContestLady_Vinny[];
extern const u8 gText_ContestLady_Moreme[];
extern const u8 gText_ContestLady_Ironhard[];
extern const u8 gText_ContestLady_Muscle[];
extern const u8 gText_ContestLady_Coolness[];
extern const u8 gText_ContestLady_Beauty[];
extern const u8 gText_ContestLady_Cuteness[];
extern const u8 gText_ContestLady_Smartness[];
extern const u8 gText_ContestLady_Toughness[];
extern const u8 gText_QuizLady_Lady[];
extern const u8 gText_FavorLady_Slippery[];
extern const u8 gText_FavorLady_Roundish[];
extern const u8 gText_FavorLady_Whamish[];
extern const u8 gText_FavorLady_Shiny[];
extern const u8 gText_FavorLady_Sticky[];
extern const u8 gText_FavorLady_Pointy[];
extern const u8 gText_CoolnessContest[];
extern const u8 gText_BeautyContest[];
extern const u8 gText_CutenessContest[];
extern const u8 gText_SmartnessContest[];
extern const u8 gText_ToughnessContest[];
// Pokenav Match Call
extern const u8 gText_CallCantBeMadeHere[];
extern const u8 gText_NumberRegistered[];

View File

@ -41,7 +41,7 @@ SECTIONS {
.text :
ALIGN(4)
{
asm/crt0.o(.text);
src/crt0.o(.text);
src/main.o(.text);
src/alloc.o(.text);
src/dma3_manager.o(.text);
@ -342,8 +342,8 @@ SECTIONS {
lib_text :
ALIGN(4)
{
asm/libgcnmultiboot.o(.text);
asm/m4a_1.o(.text);
src/libgcnmultiboot.o(.text);
src/m4a_1.o(.text);
src/m4a.o(.text);
src/agb_flash.o(.text);
src/agb_flash_1m.o(.text);
@ -354,7 +354,7 @@ SECTIONS {
asm/librfu_intr.o(.text);
src/librfu_rfu.o(.text);
asm/librfu.o(.text);
asm/libagbsyscall.o(.text);
src/libagbsyscall.o(.text);
*libgcc.a:_call_via_rX.o(.text);
*libgcc.a:_divdi3.o(.text);
*libgcc.a:_divsi3.o(.text);

View File

@ -25,7 +25,6 @@ SECTIONS {
{
/* .bss starts at 0x3000000 */
src/*.o(.bss);
asm/m4a_1.o(.bss);
/* .bss.code starts at 0x3001AA8 */
src/m4a.o(.bss.code);
@ -42,7 +41,7 @@ SECTIONS {
.text :
ALIGN(4)
{
asm/crt0.o(.text);
src/crt0.o(.text);
src/*.o(.text);
asm/*.o(.text);
} =0
@ -56,8 +55,8 @@ SECTIONS {
lib_text :
ALIGN(4)
{
asm/libgcnmultiboot.o(.text);
asm/m4a_1.o(.text);
src/libgcnmultiboot.o(.text);
src/m4a_1.o(.text);
src/m4a.o(.text);
src/agb_flash.o(.text);
src/agb_flash_1m.o(.text);
@ -68,7 +67,7 @@ SECTIONS {
asm/librfu_intr.o(.text);
src/librfu_rfu.o(.text);
asm/librfu.o(.text);
asm/libagbsyscall.o(.text);
src/libagbsyscall.o(.text);
*libgcc.a:*.o(.text*);
*libc.a:*.o(.text*);
src/libisagbprn.o(.text);

View File

@ -2547,7 +2547,7 @@ static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite)
{
sprite->pos2.x += Sin(sprite->data[5], 8);
if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5)
sprite->oam.matrixNum ^= 0x8; // horizontal flip
sprite->oam.matrixNum ^= ST_OAM_HFLIP;
sprite->data[5] += 5;
sprite->data[5] &= 0xFF;
@ -4380,19 +4380,19 @@ void sub_8101898(struct Sprite* sprite)
{
sprite->pos1.x -= 0x18;
sprite->pos1.y += 0x18;
sprite->oam.matrixNum = 16;
sprite->oam.matrixNum = ST_OAM_VFLIP;
}
else if ((s16)sprite->oam.affineParam == 3)
{
sprite->pos1.x += 0x18;
sprite->pos1.y -= 0x18;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{
sprite->pos1.x += 0x18;
sprite->pos1.y += 0x18;
sprite->oam.matrixNum = 24;
sprite->oam.matrixNum = ST_OAM_HFLIP | ST_OAM_VFLIP;
}
sprite->oam.tileNum = (sprite->oam.tileNum + 16);
@ -5105,7 +5105,7 @@ void sub_8102844(struct Sprite* sprite)
sprite->data[7] = sprite->pos1.y;
if (IsContest())
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->pos1.x += 40;
sprite->pos1.y += 20;
sprite->data[2] = sprite->pos1.x << 7;
@ -5130,7 +5130,7 @@ void sub_8102844(struct Sprite* sprite)
sprite->data[3] = -0x1400 / sprite->data[1];
sprite->data[4] = sprite->pos1.y << 7;
sprite->data[5] = 0xA00 / sprite->data[1];
sprite->oam.matrixNum = 24;
sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP);
}
sprite->callback = sub_810296C;
@ -5387,7 +5387,7 @@ void sub_8102FB8(struct Sprite* sprite)
s16 a;
if (gBattleAnimArgs[0] == 1)
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
a = 16;
}
else

View File

@ -1609,10 +1609,10 @@ static void sub_8103C0C(u8 taskId)
switch (gTasks[taskId].data[4])
{
case 1:
sprite->oam.matrixNum |= 24;
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
break;
case 2:
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
break;
}

View File

@ -1618,7 +1618,7 @@ void sub_815AAA4(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->pos2.x = -12;
sprite->data[1] = 2;
}
@ -4167,7 +4167,7 @@ void AnimSmellingSaltsHand(struct Sprite *sprite)
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
if (gBattleAnimArgs[1] == 0)
{
sprite->oam.matrixNum |= 0x8;
sprite->oam.matrixNum |= ST_OAM_HFLIP;
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8;
}
else
@ -4317,7 +4317,7 @@ void AnimHelpingHandClap(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
sprite->oam.matrixNum |= 0x8; // horizontal flip
sprite->oam.matrixNum |= ST_OAM_HFLIP;
sprite->pos1.x = 100;
sprite->data[7] = 1;
}
@ -4545,7 +4545,7 @@ void AnimForesightMagnifyingGlass(struct Sprite *sprite)
}
if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT)
sprite->oam.matrixNum = 8; // horizontal flip
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
sprite->oam.objMode = ST_OAM_OBJ_BLEND;

View File

@ -1536,7 +1536,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
if (isOpponent)
{
gSprites[summaryBarSpriteId].pos1.x -= 96;
gSprites[summaryBarSpriteId].oam.matrixNum = 8;
gSprites[summaryBarSpriteId].oam.matrixNum = ST_OAM_HFLIP;
}
else
{

View File

@ -231,86 +231,93 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
{&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR},
};
#define REMATCH(trainer1, trainer2, trainer3, trainer4, trainer5, map) \
{ \
.trainerIds = {trainer1, trainer2, trainer3, trainer4, trainer5}, \
.mapGroup = MAP_GROUP(map), \
.mapNum = MAP_NUM(map), \
}
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
{
[REMATCH_ROSE] = {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
[REMATCH_ANDRES] = {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
[REMATCH_DUSTY] = {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
[REMATCH_LOLA] = {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
[REMATCH_RICKY] = {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
[REMATCH_LILA_AND_ROY] = {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
[REMATCH_CRISTIN] = {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
[REMATCH_BROOKE] = {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
[REMATCH_WILTON] = {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
[REMATCH_VALERIE] = {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
[REMATCH_CINDY] = {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
[REMATCH_THALIA] = {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
[REMATCH_JESSICA] = {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
[REMATCH_WINSTON] = {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
[REMATCH_STEVE] = {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
[REMATCH_TONY] = {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
[REMATCH_NOB] = {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
[REMATCH_KOJI] = {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
[REMATCH_FERNANDO] = {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
[REMATCH_DALTON] = {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
[REMATCH_BERNIE] = {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
[REMATCH_ETHAN] = {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
[REMATCH_JOHN_AND_JAY] = {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
[REMATCH_JEFFREY] = {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
[REMATCH_CAMERON] = {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
[REMATCH_JACKI] = {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
[REMATCH_WALTER] = {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
[REMATCH_KAREN] = {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
[REMATCH_JERRY] = {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
[REMATCH_ANNA_AND_MEG] = {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
[REMATCH_ISABEL] = {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
[REMATCH_MIGUEL] = {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
[REMATCH_TIMOTHY] = {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
[REMATCH_SHELBY] = {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
[REMATCH_CALVIN] = {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
[REMATCH_ELLIOT] = {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
[REMATCH_ISAIAH] = {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
[REMATCH_MARIA] = {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
[REMATCH_ABIGAIL] = {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
[REMATCH_DYLAN] = {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
[REMATCH_KATELYN] = {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
[REMATCH_BENJAMIN] = {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
[REMATCH_PABLO] = {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
[REMATCH_NICOLAS] = {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
[REMATCH_ROBERT] = {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
[REMATCH_LAO] = {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
[REMATCH_CYNDY] = {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
[REMATCH_MADELINE] = {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
[REMATCH_JENNY] = {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
[REMATCH_DIANA] = {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
[REMATCH_AMY_AND_LIV] = {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
[REMATCH_ERNEST] = {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
[REMATCH_CORY] = {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
[REMATCH_EDWIN] = {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
[REMATCH_LYDIA] = {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
[REMATCH_ISAAC] = {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
[REMATCH_GABRIELLE] = {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
[REMATCH_CATHERINE] = {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
[REMATCH_JACKSON] = {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
[REMATCH_HALEY] = {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
[REMATCH_JAMES] = {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
[REMATCH_TRENT] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
[REMATCH_SAWYER] = {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
[REMATCH_KIRA_AND_DAN] = {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
[REMATCH_WALLY_3] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
[REMATCH_ROXANNE] = {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
[REMATCH_BRAWLY] = {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
[REMATCH_WATTSON] = {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
[REMATCH_FLANNERY] = {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
[REMATCH_NORMAN] = {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
[REMATCH_WINONA] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
[REMATCH_TATE_AND_LIZA] = {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
[REMATCH_JUAN] = {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
[REMATCH_SIDNEY] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
[REMATCH_PHOEBE] = {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
[REMATCH_GLACIA] = {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
[REMATCH_DRAKE] = {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
[REMATCH_WALLACE] = {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, ROUTE118),
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, ROUTE105),
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, ROUTE111),
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, ROUTE109),
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, ROUTE109),
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, ROUTE124),
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, ROUTE121),
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, ROUTE111),
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, ROUTE111),
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MT_PYRE_6F),
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, ROUTE104),
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, ABANDONED_SHIP_ROOMS_1F),
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, ROUTE121),
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, ROUTE104),
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, ROUTE114),
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, ROUTE107),
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, ROUTE115),
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, ROUTE127),
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, ROUTE123),
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, ROUTE118),
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, ROUTE114),
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, JAGGED_PASS),
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, METEOR_FALLS_1F_2R),
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, ROUTE120),
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, ROUTE123),
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, ROUTE123),
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, ROUTE121),
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, ROUTE116),
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, ROUTE116),
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, ROUTE117),
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, ROUTE110),
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, ROUTE103),
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, ROUTE115),
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MT_CHIMNEY),
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, ROUTE102),
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, ROUTE106),
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, ROUTE128),
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, ROUTE117),
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, ROUTE110),
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, ROUTE117),
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, ROUTE128),
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, ROUTE110),
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, ROUTE126),
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, METEOR_FALLS_1F_2R),
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, ROUTE120),
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, ROUTE113),
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, ROUTE115),
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, ROUTE113),
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, ROUTE124),
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, JAGGED_PASS),
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, ROUTE103),
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, ROUTE125),
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, ROUTE108),
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, ROUTE110),
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, ROUTE117),
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, ROUTE117),
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MT_PYRE_3F),
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, ROUTE119),
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, ROUTE119),
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, ROUTE104),
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, PETALBURG_WOODS),
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112),
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY),
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F),
[REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6, VICTORY_ROAD_1F),
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY),
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN),
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY),
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, LAVARIDGE_TOWN),
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, PETALBURG_CITY),
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, FORTREE_CITY),
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MOSSDEEP_CITY),
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, SOOTOPOLIS_CITY),
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, EVER_GRANDE_CITY),
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, EVER_GRANDE_CITY),
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, EVER_GRANDE_CITY),
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, EVER_GRANDE_CITY),
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY),
};
static const u16 sBadgeFlags[8] =

View File

@ -292,7 +292,7 @@ static void PrintContestPaintingCaption(u8 contestType, u8 arg1)
category = gUnknown_030061C0->contestCategory;
if (contestType < 8)
{
sub_818E868(gStringVar1, category);
BufferContestName(gStringVar1, category);
StringAppend(gStringVar1, gText_Space);
StringAppend(gStringVar1, gContestRankTextPointers[gUnknown_030061C0->contestRank]);
StringCopy(gStringVar2, gUnknown_030061C0->trainerName);

View File

@ -144,7 +144,7 @@ struct Unk201C000
struct CreditsEntry
{
u8 var_0;
u8 var_1;
bool8 isTitle;
const u8 *text;
};
@ -166,7 +166,7 @@ static const u32 gCreditsCopyrightEnd_Gfx[] = INCBIN_U32("graphics/credits/the_e
static void sub_81772B8(struct Sprite *sprite);
static const u8 gUnknown_085E5BAC[] =
static const u8 sTheEnd_LetterTMap[] =
{
0, 1, 0,
0xFF, 1, 0xFF,
@ -175,7 +175,7 @@ static const u8 gUnknown_085E5BAC[] =
0xFF, 1, 0xFF,
};
static const u8 gUnknown_085E5BBB[] =
static const u8 sTheEnd_LetterHMap[] =
{
1, 0xFF, 1,
1, 0xFF, 1,
@ -184,7 +184,7 @@ static const u8 gUnknown_085E5BBB[] =
1, 0xFF, 1,
};
static const u8 gUnknown_085E5BCA[] =
static const u8 sTheEnd_LetterEMap[] =
{
1, 0, 0,
1, 0xFF, 0xFF,
@ -193,7 +193,7 @@ static const u8 gUnknown_085E5BCA[] =
1, 0x80, 0x80,
};
static const u8 gUnknown_085E5BD9[] =
static const u8 sTheEnd_LetterNMap[] =
{
1, 3, 1,
1, 4, 1,
@ -202,7 +202,7 @@ static const u8 gUnknown_085E5BD9[] =
1, 0xC3, 1,
};
static const u8 gUnknown_085E5BE8[] =
static const u8 sTheEnd_LetterDMap[] =
{
1, 6, 7,
1, 8, 9,
@ -370,165 +370,165 @@ static const u8 gCreditsText_MotoyasuTojima[] = _("Motoyasu Tojima");
static const u8 gCreditsText_NicolaPrattBarlow[] = _("Nicola Pratt-Barlow");
static const u8 gCreditsText_ShellieDow[] = _("Shellie Dow");
static const u8 gCreditsText_ErikJohnson[] = _("Erik Johnson");
static const struct CreditsEntry gCreditsEntry_EmptyString[] = {0, 0, gCreditsText_EmptyString};
static const struct CreditsEntry gCreditsEntry_PkmnEmeraldVersion[] = {7, 1, gCreditsText_PkmnEmeraldVersion};
static const struct CreditsEntry gCreditsEntry_Credits[] = {11, 1, gCreditsText_Credits};
static const struct CreditsEntry gCreditsEntry_ExecutiveDirector[] = {8, 1, gCreditsText_ExecutiveDirector};
static const struct CreditsEntry gCreditsEntry_Director[] = {12, 1, gCreditsText_Director};
static const struct CreditsEntry gCreditsEntry_ArtDirector[] = {10, 1, gCreditsText_ArtDirector};
static const struct CreditsEntry gCreditsEntry_BattleDirector[] = {10, 1, gCreditsText_BattleDirector};
static const struct CreditsEntry gCreditsEntry_MainProgrammer[] = {10, 1, gCreditsText_MainProgrammer};
static const struct CreditsEntry gCreditsEntry_BattleSystemPgrms[] = {8, 1, gCreditsText_BattleSystemPgrms};
static const struct CreditsEntry gCreditsEntry_FieldSystemPgrms[] = {7, 1, gCreditsText_FieldSystemPgrms};
static const struct CreditsEntry gCreditsEntry_Programmers[] = {12, 1, gCreditsText_Programmers};
static const struct CreditsEntry gCreditsEntry_MainGraphicDesigner[] = {7, 1, gCreditsText_MainGraphicDesigner};
static const struct CreditsEntry gCreditsEntry_GraphicDesigners[] = {9, 1, gCreditsText_GraphicDesigners};
static const struct CreditsEntry gCreditsEntry_PkmnDesigners[] = {10, 1, gCreditsText_PkmnDesigners};
static const struct CreditsEntry gCreditsEntry_MusicComposition[] = {13, 1, gCreditsText_MusicComposition};
static const struct CreditsEntry gCreditsEntry_SoundEffectsAndPkmnVoices[] = {4, 1, gCreditsText_SoundEffectsAndPkmnVoices};
static const struct CreditsEntry gCreditsEntry_GameDesigners[] = {11, 1, gCreditsText_GameDesigners};
static const struct CreditsEntry gCreditsEntry_ScenarioPlot[] = {11, 1, gCreditsText_ScenarioPlot};
static const struct CreditsEntry gCreditsEntry_Scenario[] = {13, 1, gCreditsText_Scenario};
static const struct CreditsEntry gCreditsEntry_ScriptDesigners[] = {10, 1, gCreditsText_ScriptDesigners};
static const struct CreditsEntry gCreditsEntry_MapDesigners[] = {11, 1, gCreditsText_MapDesigners};
static const struct CreditsEntry gCreditsEntry_MapDataDesigners[] = {9, 1, gCreditsText_MapDataDesigners};
static const struct CreditsEntry gCreditsEntry_ParametricDesigners[] = {9, 1, gCreditsText_ParametricDesigners};
static const struct CreditsEntry gCreditsEntry_PokedexText[] = {11, 1, gCreditsText_PokedexText};
static const struct CreditsEntry gCreditsEntry_EnvAndToolPgrms[] = {6, 1, gCreditsText_EnvAndToolPgrms};
static const struct CreditsEntry gCreditsEntry_NCLProductTesting[] = {11, 1, gCreditsText_NCLProductTesting};
static const struct CreditsEntry gCreditsEntry_SpecialThanks[] = {10, 1, gCreditsText_SpecialThanks};
static const struct CreditsEntry gCreditsEntry_Coordinators[] = {11, 1, gCreditsText_Coordinators};
static const struct CreditsEntry gCreditsEntry_Producers[] = {11, 1, gCreditsText_Producers};
static const struct CreditsEntry gCreditsEntry_ExecProducers[] = {7, 1, gCreditsText_ExecProducers};
static const struct CreditsEntry gCreditsEntry_InfoSupervisors[] = {10, 1, gCreditsText_InfoSupervisors};
static const struct CreditsEntry gCreditsEntry_TaskManagers[] = {8, 1, gCreditsText_TaskManagers};
static const struct CreditsEntry gCreditsEntry_BrailleCodeCheck[] = {10, 1, gCreditsText_BrailleCodeCheck};
static const struct CreditsEntry gCreditsEntry_WorldDirector[] = {10, 1, gCreditsText_WorldDirector};
static const struct CreditsEntry gCreditsEntry_BattleFrontierData[] = {8, 1, gCreditsText_BattleFrontierData};
static const struct CreditsEntry gCreditsEntry_SupportProgrammers[] = {10, 1, gCreditsText_SupportProgrammers};
static const struct CreditsEntry gCreditsEntry_Artwork[] = {12, 1, gCreditsText_Artwork};
static const struct CreditsEntry gCreditsEntry_LeadProgrammer[] = {10, 1, gCreditsText_LeadProgrammer};
static const struct CreditsEntry gCreditsEntry_LeadGraphicArtist[] = {9, 1, gCreditsText_LeadGraphicArtist};
static const struct CreditsEntry gCreditsEntry_SatoshiTajiri[] = {11, 0, gCreditsText_SatoshiTajiri};
static const struct CreditsEntry gCreditsEntry_JunichiMasuda[] = {11, 0, gCreditsText_JunichiMasuda};
static const struct CreditsEntry gCreditsEntry_KenSugimori[] = {11, 0, gCreditsText_KenSugimori};
static const struct CreditsEntry gCreditsEntry_ShigekiMorimoto[] = {11, 0, gCreditsText_ShigekiMorimoto};
static const struct CreditsEntry gCreditsEntry_TetsuyaWatanabe[] = {11, 0, gCreditsText_TetsuyaWatanabe};
static const struct CreditsEntry gCreditsEntry_HisashiSogabe[] = {11, 0, gCreditsText_HisashiSogabe};
static const struct CreditsEntry gCreditsEntry_SosukeTamada[] = {11, 0, gCreditsText_SosukeTamada};
static const struct CreditsEntry gCreditsEntry_AkitoMori[] = {11, 0, gCreditsText_AkitoMori};
static const struct CreditsEntry gCreditsEntry_KeitaKagaya[] = {11, 0, gCreditsText_KeitaKagaya};
static const struct CreditsEntry gCreditsEntry_YoshinoriMatsuda[] = {11, 0, gCreditsText_YoshinoriMatsuda};
static const struct CreditsEntry gCreditsEntry_HiroyukiNakamura[] = {11, 0, gCreditsText_HiroyukiNakamura};
static const struct CreditsEntry gCreditsEntry_MasaoTaya[] = {11, 0, gCreditsText_MasaoTaya};
static const struct CreditsEntry gCreditsEntry_SatoshiNohara[] = {11, 0, gCreditsText_SatoshiNohara};
static const struct CreditsEntry gCreditsEntry_TomomichiOhta[] = {11, 0, gCreditsText_TomomichiOhta};
static const struct CreditsEntry gCreditsEntry_MiyukiIwasawa[] = {11, 0, gCreditsText_MiyukiIwasawa};
static const struct CreditsEntry gCreditsEntry_TakenoriOhta[] = {11, 0, gCreditsText_TakenoriOhta};
static const struct CreditsEntry gCreditsEntry_HironobuYoshida[] = {11, 0, gCreditsText_HironobuYoshida};
static const struct CreditsEntry gCreditsEntry_MotofumiFujiwara[] = {11, 0, gCreditsText_MotofumiFujiwara};
static const struct CreditsEntry gCreditsEntry_SatoshiOhta[] = {11, 0, gCreditsText_SatoshiOhta};
static const struct CreditsEntry gCreditsEntry_AsukaIwashita[] = {11, 0, gCreditsText_AsukaIwashita};
static const struct CreditsEntry gCreditsEntry_AimiTomita[] = {11, 0, gCreditsText_AimiTomita};
static const struct CreditsEntry gCreditsEntry_TakaoUnno[] = {11, 0, gCreditsText_TakaoUnno};
static const struct CreditsEntry gCreditsEntry_KanakoEo[] = {11, 0, gCreditsText_KanakoEo};
static const struct CreditsEntry gCreditsEntry_JunOkutani[] = {11, 0, gCreditsText_JunOkutani};
static const struct CreditsEntry gCreditsEntry_AtsukoNishida[] = {11, 0, gCreditsText_AtsukoNishida};
static const struct CreditsEntry gCreditsEntry_MuneoSaito[] = {11, 0, gCreditsText_MuneoSaito};
static const struct CreditsEntry gCreditsEntry_RenaYoshikawa[] = {11, 0, gCreditsText_RenaYoshikawa};
static const struct CreditsEntry gCreditsEntry_GoIchinose[] = {11, 0, gCreditsText_GoIchinose};
static const struct CreditsEntry gCreditsEntry_MorikazuAoki[] = {11, 0, gCreditsText_MorikazuAoki};
static const struct CreditsEntry gCreditsEntry_KojiNishino[] = {11, 0, gCreditsText_KojiNishino};
static const struct CreditsEntry gCreditsEntry_KenjiMatsushima[] = {11, 0, gCreditsText_KenjiMatsushima};
static const struct CreditsEntry gCreditsEntry_TetsujiOhta[] = {11, 0, gCreditsText_TetsujiOhta};
static const struct CreditsEntry gCreditsEntry_HitomiSato[] = {11, 0, gCreditsText_HitomiSato};
static const struct CreditsEntry gCreditsEntry_TakeshiKawachimaru[] = {11, 0, gCreditsText_TakeshiKawachimaru};
static const struct CreditsEntry gCreditsEntry_TeruyukiShimoyamada[] = {11, 0, gCreditsText_TeruyukiShimoyamada};
static const struct CreditsEntry gCreditsEntry_ShigeruOhmori[] = {11, 0, gCreditsText_ShigeruOhmori};
static const struct CreditsEntry gCreditsEntry_TadashiTakahashi[] = {11, 0, gCreditsText_TadashiTakahashi};
static const struct CreditsEntry gCreditsEntry_ToshinobuMatsumiya[] = {11, 0, gCreditsText_ToshinobuMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkihitoTomisawa[] = {11, 0, gCreditsText_AkihitoTomisawa};
static const struct CreditsEntry gCreditsEntry_HirokiEnomoto[] = {11, 0, gCreditsText_HirokiEnomoto};
static const struct CreditsEntry gCreditsEntry_KazuyukiTerada[] = {11, 0, gCreditsText_KazuyukiTerada};
static const struct CreditsEntry gCreditsEntry_YuriSakurai[] = {11, 0, gCreditsText_YuriSakurai};
static const struct CreditsEntry gCreditsEntry_HiromiSagawa[] = {11, 0, gCreditsText_HiromiSagawa};
static const struct CreditsEntry gCreditsEntry_KenjiTominaga[] = {11, 0, gCreditsText_KenjiTominaga};
static const struct CreditsEntry gCreditsEntry_YoshioTajiri[] = {11, 0, gCreditsText_YoshioTajiri};
static const struct CreditsEntry gCreditsEntry_TeikoSasaki[] = {11, 0, gCreditsText_TeikoSasaki};
static const struct CreditsEntry gCreditsEntry_SachikoHamano[] = {11, 0, gCreditsText_SachikoHamano};
static const struct CreditsEntry gCreditsEntry_ChieMatsumiya[] = {11, 0, gCreditsText_ChieMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkikoShinozaki[] = {11, 0, gCreditsText_AkikoShinozaki};
static const struct CreditsEntry gCreditsEntry_AstukoFujii[] = {11, 0, gCreditsText_AstukoFujii};
static const struct CreditsEntry gCreditsEntry_NozomuSaito[] = {11, 0, gCreditsText_NozomuSaito};
static const struct CreditsEntry gCreditsEntry_KenkichiToyama[] = {11, 0, gCreditsText_KenkichiToyama};
static const struct CreditsEntry gCreditsEntry_SuguruNakatsui[] = {11, 0, gCreditsText_SuguruNakatsui};
static const struct CreditsEntry gCreditsEntry_YumiFunasaka[] = {11, 0, gCreditsText_YumiFunasaka};
static const struct CreditsEntry gCreditsEntry_NaokoYanase[] = {11, 0, gCreditsText_NaokoYanase};
static const struct CreditsEntry gCreditsEntry_NCLSuperMarioClub[] = {11, 0, gCreditsText_NCLSuperMarioClub};
static const struct CreditsEntry gCreditsEntry_AtsushiTada[] = {11, 0, gCreditsText_AtsushiTada};
static const struct CreditsEntry gCreditsEntry_TakahiroOhnishi[] = {11, 0, gCreditsText_TakahiroOhnishi};
static const struct CreditsEntry gCreditsEntry_NorihideOkamura[] = {11, 0, gCreditsText_NorihideOkamura};
static const struct CreditsEntry gCreditsEntry_HiroNakamura[] = {11, 0, gCreditsText_HiroNakamura};
static const struct CreditsEntry gCreditsEntry_HiroyukiUesugi[] = {11, 0, gCreditsText_HiroyukiUesugi};
static const struct CreditsEntry gCreditsEntry_TerukiMurakawa[] = {11, 0, gCreditsText_TerukiMurakawa};
static const struct CreditsEntry gCreditsEntry_AkiraKinashi[] = {11, 0, gCreditsText_AkiraKinashi};
static const struct CreditsEntry gCreditsEntry_MichikoTakizawa[] = {11, 0, gCreditsText_MichikoTakizawa};
static const struct CreditsEntry gCreditsEntry_MakikoTakada[] = {11, 0, gCreditsText_MakikoTakada};
static const struct CreditsEntry gCreditsEntry_TakanaoKondo[] = {11, 0, gCreditsText_TakanaoKondo};
static const struct CreditsEntry gCreditsEntry_AiMashima[] = {11, 0, gCreditsText_AiMashima};
static const struct CreditsEntry gCreditsEntry_GakujiNomoto[] = {11, 0, gCreditsText_GakujiNomoto};
static const struct CreditsEntry gCreditsEntry_TakehiroIzushi[] = {11, 0, gCreditsText_TakehiroIzushi};
static const struct CreditsEntry gCreditsEntry_HitoshiYamagami[] = {11, 0, gCreditsText_HitoshiYamagami};
static const struct CreditsEntry gCreditsEntry_KyokoWatanabe[] = {11, 0, gCreditsText_KyokoWatanabe};
static const struct CreditsEntry gCreditsEntry_TakaoNakano[] = {11, 0, gCreditsText_TakaoNakano};
static const struct CreditsEntry gCreditsEntry_HiroyukiJinnai[] = {11, 0, gCreditsText_HiroyukiJinnai};
static const struct CreditsEntry gCreditsEntry_HiroakiTsuru[] = {11, 0, gCreditsText_HiroakiTsuru};
static const struct CreditsEntry gCreditsEntry_TsunekazIshihara[] = {11, 0, gCreditsText_TsunekazIshihara};
static const struct CreditsEntry gCreditsEntry_SatoruIwata[] = {11, 0, gCreditsText_SatoruIwata};
static const struct CreditsEntry gCreditsEntry_KazuyaSuyama[] = {11, 0, gCreditsText_KazuyaSuyama};
static const struct CreditsEntry gCreditsEntry_SatoshiMitsuhara[] = {11, 0, gCreditsText_SatoshiMitsuhara};
static const struct CreditsEntry gCreditsEntry_JapanBrailleLibrary[] = {9, 0, gCreditsText_JapanBrailleLibrary};
static const struct CreditsEntry gCreditsEntry_TomotakaKomura[] = {11, 0, gCreditsText_TomotakaKomura};
static const struct CreditsEntry gCreditsEntry_MikikoOhhashi[] = {11, 0, gCreditsText_MikikoOhhashi};
static const struct CreditsEntry gCreditsEntry_DaisukeHoshino[] = {11, 0, gCreditsText_DaisukeHoshino};
static const struct CreditsEntry gCreditsEntry_KenjiroIto[] = {11, 0, gCreditsText_KenjiroIto};
static const struct CreditsEntry gCreditsEntry_RuiKawaguchi[] = {11, 0, gCreditsText_RuiKawaguchi};
static const struct CreditsEntry gCreditsEntry_ShunsukeKohori[] = {11, 0, gCreditsText_ShunsukeKohori};
static const struct CreditsEntry gCreditsEntry_SachikoNakamichi[] = {11, 0, gCreditsText_SachikoNakamichi};
static const struct CreditsEntry gCreditsEntry_FujikoNomura[] = {11, 0, gCreditsText_FujikoNomura};
static const struct CreditsEntry gCreditsEntry_KazukiYoshihara[] = {11, 0, gCreditsText_KazukiYoshihara};
static const struct CreditsEntry gCreditsEntry_RetsujiNomoto[] = {11, 0, gCreditsText_RetsujiNomoto};
static const struct CreditsEntry gCreditsEntry_AzusaTajima[] = {11, 0, gCreditsText_AzusaTajima};
static const struct CreditsEntry gCreditsEntry_ShusakuEgami[] = {11, 0, gCreditsText_ShusakuEgami};
static const struct CreditsEntry gCreditsEntry_PackageAndManual[] = {0, 1, gCreditsText_PackageAndManual};
static const struct CreditsEntry gCreditsEntry_EnglishVersion[] = {0, 1, gCreditsText_EnglishVersion};
static const struct CreditsEntry gCreditsEntry_Translator[] = {0, 1, gCreditsText_Translator};
static const struct CreditsEntry gCreditsEntry_TextEditor[] = {0, 1, gCreditsText_TextEditor};
static const struct CreditsEntry gCreditsEntry_NCLCoordinator[] = {0, 1, gCreditsText_NCLCoordinator};
static const struct CreditsEntry gCreditsEntry_GraphicDesigner[] = {0, 1, gCreditsText_GraphicDesigner};
static const struct CreditsEntry gCreditsEntry_NOAProductTesting[] = {0, 1, gCreditsText_NOAProductTesting};
static const struct CreditsEntry gCreditsEntry_HideyukiNakajima[] = {0, 0, gCreditsText_HideyukiNakajima};
static const struct CreditsEntry gCreditsEntry_HidenoriSaeki[] = {0, 0, gCreditsText_HidenoriSaeki};
static const struct CreditsEntry gCreditsEntry_YokoWatanabe[] = {0, 0, gCreditsText_YokoWatanabe};
static const struct CreditsEntry gCreditsEntry_SakaeKimura[] = {0, 0, gCreditsText_SakaeKimura};
static const struct CreditsEntry gCreditsEntry_ChiakiShinkai[] = {0, 0, gCreditsText_ChiakiShinkai};
static const struct CreditsEntry gCreditsEntry_SethMcMahill[] = {0, 0, gCreditsText_SethMcMahill};
static const struct CreditsEntry gCreditsEntry_NobOgasawara[] = {0, 0, gCreditsText_NobOgasawara};
static const struct CreditsEntry gCreditsEntry_TeresaLillygren[] = {0, 0, gCreditsText_TeresaLillygren};
static const struct CreditsEntry gCreditsEntry_KimikoNakamichi[] = {0, 0, gCreditsText_KimikoNakamichi};
static const struct CreditsEntry gCreditsEntry_SouichiYamamoto[] = {0, 0, gCreditsText_SouichiYamamoto};
static const struct CreditsEntry gCreditsEntry_YuichiroIto[] = {0, 0, gCreditsText_YuichiroIto};
static const struct CreditsEntry gCreditsEntry_ThomasHertzog[] = {0, 0, gCreditsText_ThomasHertzog};
static const struct CreditsEntry gCreditsEntry_MikaKurosawa[] = {0, 0, gCreditsText_MikaKurosawa};
static const struct CreditsEntry gCreditsEntry_NationalFederationBlind[] = {0, 0, gCreditsText_NationalFederationBlind};
static const struct CreditsEntry gCreditsEntry_PatriciaAMaurer[] = {0, 0, gCreditsText_PatriciaAMaurer};
static const struct CreditsEntry gCreditsEntry_EuropeanBlindUnion[] = {0, 0, gCreditsText_EuropeanBlindUnion};
static const struct CreditsEntry gCreditsEntry_AustralianBrailleAuthority[] = {0, 0, gCreditsText_AustralianBrailleAuthority};
static const struct CreditsEntry gCreditsEntry_RoyalNewZealandFederationBlind[] = {0, 0, gCreditsText_RoyalNewZealandFederationBlind};
static const struct CreditsEntry gCreditsEntry_MotoyasuTojima[] = {0, 0, gCreditsText_MotoyasuTojima};
static const struct CreditsEntry gCreditsEntry_NicolaPrattBarlow[] = {0, 0, gCreditsText_NicolaPrattBarlow};
static const struct CreditsEntry gCreditsEntry_ShellieDow[] = {0, 0, gCreditsText_ShellieDow};
static const struct CreditsEntry gCreditsEntry_ErikJohnson[] = {0, 0, gCreditsText_ErikJohnson};
static const struct CreditsEntry gCreditsEntry_EmptyString[] = {0, FALSE, gCreditsText_EmptyString};
static const struct CreditsEntry gCreditsEntry_PkmnEmeraldVersion[] = {7, TRUE, gCreditsText_PkmnEmeraldVersion};
static const struct CreditsEntry gCreditsEntry_Credits[] = {11, TRUE, gCreditsText_Credits};
static const struct CreditsEntry gCreditsEntry_ExecutiveDirector[] = {8, TRUE, gCreditsText_ExecutiveDirector};
static const struct CreditsEntry gCreditsEntry_Director[] = {12, TRUE, gCreditsText_Director};
static const struct CreditsEntry gCreditsEntry_ArtDirector[] = {10, TRUE, gCreditsText_ArtDirector};
static const struct CreditsEntry gCreditsEntry_BattleDirector[] = {10, TRUE, gCreditsText_BattleDirector};
static const struct CreditsEntry gCreditsEntry_MainProgrammer[] = {10, TRUE, gCreditsText_MainProgrammer};
static const struct CreditsEntry gCreditsEntry_BattleSystemPgrms[] = {8, TRUE, gCreditsText_BattleSystemPgrms};
static const struct CreditsEntry gCreditsEntry_FieldSystemPgrms[] = {7, TRUE, gCreditsText_FieldSystemPgrms};
static const struct CreditsEntry gCreditsEntry_Programmers[] = {12, TRUE, gCreditsText_Programmers};
static const struct CreditsEntry gCreditsEntry_MainGraphicDesigner[] = {7, TRUE, gCreditsText_MainGraphicDesigner};
static const struct CreditsEntry gCreditsEntry_GraphicDesigners[] = {9, TRUE, gCreditsText_GraphicDesigners};
static const struct CreditsEntry gCreditsEntry_PkmnDesigners[] = {10, TRUE, gCreditsText_PkmnDesigners};
static const struct CreditsEntry gCreditsEntry_MusicComposition[] = {13, TRUE, gCreditsText_MusicComposition};
static const struct CreditsEntry gCreditsEntry_SoundEffectsAndPkmnVoices[] = {4, TRUE, gCreditsText_SoundEffectsAndPkmnVoices};
static const struct CreditsEntry gCreditsEntry_GameDesigners[] = {11, TRUE, gCreditsText_GameDesigners};
static const struct CreditsEntry gCreditsEntry_ScenarioPlot[] = {11, TRUE, gCreditsText_ScenarioPlot};
static const struct CreditsEntry gCreditsEntry_Scenario[] = {13, TRUE, gCreditsText_Scenario};
static const struct CreditsEntry gCreditsEntry_ScriptDesigners[] = {10, TRUE, gCreditsText_ScriptDesigners};
static const struct CreditsEntry gCreditsEntry_MapDesigners[] = {11, TRUE, gCreditsText_MapDesigners};
static const struct CreditsEntry gCreditsEntry_MapDataDesigners[] = {9, TRUE, gCreditsText_MapDataDesigners};
static const struct CreditsEntry gCreditsEntry_ParametricDesigners[] = {9, TRUE, gCreditsText_ParametricDesigners};
static const struct CreditsEntry gCreditsEntry_PokedexText[] = {11, TRUE, gCreditsText_PokedexText};
static const struct CreditsEntry gCreditsEntry_EnvAndToolPgrms[] = {6, TRUE, gCreditsText_EnvAndToolPgrms};
static const struct CreditsEntry gCreditsEntry_NCLProductTesting[] = {11, TRUE, gCreditsText_NCLProductTesting};
static const struct CreditsEntry gCreditsEntry_SpecialThanks[] = {10, TRUE, gCreditsText_SpecialThanks};
static const struct CreditsEntry gCreditsEntry_Coordinators[] = {11, TRUE, gCreditsText_Coordinators};
static const struct CreditsEntry gCreditsEntry_Producers[] = {11, TRUE, gCreditsText_Producers};
static const struct CreditsEntry gCreditsEntry_ExecProducers[] = {7, TRUE, gCreditsText_ExecProducers};
static const struct CreditsEntry gCreditsEntry_InfoSupervisors[] = {10, TRUE, gCreditsText_InfoSupervisors};
static const struct CreditsEntry gCreditsEntry_TaskManagers[] = {8, TRUE, gCreditsText_TaskManagers};
static const struct CreditsEntry gCreditsEntry_BrailleCodeCheck[] = {10, TRUE, gCreditsText_BrailleCodeCheck};
static const struct CreditsEntry gCreditsEntry_WorldDirector[] = {10, TRUE, gCreditsText_WorldDirector};
static const struct CreditsEntry gCreditsEntry_BattleFrontierData[] = {8, TRUE, gCreditsText_BattleFrontierData};
static const struct CreditsEntry gCreditsEntry_SupportProgrammers[] = {10, TRUE, gCreditsText_SupportProgrammers};
static const struct CreditsEntry gCreditsEntry_Artwork[] = {12, TRUE, gCreditsText_Artwork};
static const struct CreditsEntry gCreditsEntry_LeadProgrammer[] = {10, TRUE, gCreditsText_LeadProgrammer};
static const struct CreditsEntry gCreditsEntry_LeadGraphicArtist[] = {9, TRUE, gCreditsText_LeadGraphicArtist};
static const struct CreditsEntry gCreditsEntry_SatoshiTajiri[] = {11, FALSE, gCreditsText_SatoshiTajiri};
static const struct CreditsEntry gCreditsEntry_JunichiMasuda[] = {11, FALSE, gCreditsText_JunichiMasuda};
static const struct CreditsEntry gCreditsEntry_KenSugimori[] = {11, FALSE, gCreditsText_KenSugimori};
static const struct CreditsEntry gCreditsEntry_ShigekiMorimoto[] = {11, FALSE, gCreditsText_ShigekiMorimoto};
static const struct CreditsEntry gCreditsEntry_TetsuyaWatanabe[] = {11, FALSE, gCreditsText_TetsuyaWatanabe};
static const struct CreditsEntry gCreditsEntry_HisashiSogabe[] = {11, FALSE, gCreditsText_HisashiSogabe};
static const struct CreditsEntry gCreditsEntry_SosukeTamada[] = {11, FALSE, gCreditsText_SosukeTamada};
static const struct CreditsEntry gCreditsEntry_AkitoMori[] = {11, FALSE, gCreditsText_AkitoMori};
static const struct CreditsEntry gCreditsEntry_KeitaKagaya[] = {11, FALSE, gCreditsText_KeitaKagaya};
static const struct CreditsEntry gCreditsEntry_YoshinoriMatsuda[] = {11, FALSE, gCreditsText_YoshinoriMatsuda};
static const struct CreditsEntry gCreditsEntry_HiroyukiNakamura[] = {11, FALSE, gCreditsText_HiroyukiNakamura};
static const struct CreditsEntry gCreditsEntry_MasaoTaya[] = {11, FALSE, gCreditsText_MasaoTaya};
static const struct CreditsEntry gCreditsEntry_SatoshiNohara[] = {11, FALSE, gCreditsText_SatoshiNohara};
static const struct CreditsEntry gCreditsEntry_TomomichiOhta[] = {11, FALSE, gCreditsText_TomomichiOhta};
static const struct CreditsEntry gCreditsEntry_MiyukiIwasawa[] = {11, FALSE, gCreditsText_MiyukiIwasawa};
static const struct CreditsEntry gCreditsEntry_TakenoriOhta[] = {11, FALSE, gCreditsText_TakenoriOhta};
static const struct CreditsEntry gCreditsEntry_HironobuYoshida[] = {11, FALSE, gCreditsText_HironobuYoshida};
static const struct CreditsEntry gCreditsEntry_MotofumiFujiwara[] = {11, FALSE, gCreditsText_MotofumiFujiwara};
static const struct CreditsEntry gCreditsEntry_SatoshiOhta[] = {11, FALSE, gCreditsText_SatoshiOhta};
static const struct CreditsEntry gCreditsEntry_AsukaIwashita[] = {11, FALSE, gCreditsText_AsukaIwashita};
static const struct CreditsEntry gCreditsEntry_AimiTomita[] = {11, FALSE, gCreditsText_AimiTomita};
static const struct CreditsEntry gCreditsEntry_TakaoUnno[] = {11, FALSE, gCreditsText_TakaoUnno};
static const struct CreditsEntry gCreditsEntry_KanakoEo[] = {11, FALSE, gCreditsText_KanakoEo};
static const struct CreditsEntry gCreditsEntry_JunOkutani[] = {11, FALSE, gCreditsText_JunOkutani};
static const struct CreditsEntry gCreditsEntry_AtsukoNishida[] = {11, FALSE, gCreditsText_AtsukoNishida};
static const struct CreditsEntry gCreditsEntry_MuneoSaito[] = {11, FALSE, gCreditsText_MuneoSaito};
static const struct CreditsEntry gCreditsEntry_RenaYoshikawa[] = {11, FALSE, gCreditsText_RenaYoshikawa};
static const struct CreditsEntry gCreditsEntry_GoIchinose[] = {11, FALSE, gCreditsText_GoIchinose};
static const struct CreditsEntry gCreditsEntry_MorikazuAoki[] = {11, FALSE, gCreditsText_MorikazuAoki};
static const struct CreditsEntry gCreditsEntry_KojiNishino[] = {11, FALSE, gCreditsText_KojiNishino};
static const struct CreditsEntry gCreditsEntry_KenjiMatsushima[] = {11, FALSE, gCreditsText_KenjiMatsushima};
static const struct CreditsEntry gCreditsEntry_TetsujiOhta[] = {11, FALSE, gCreditsText_TetsujiOhta};
static const struct CreditsEntry gCreditsEntry_HitomiSato[] = {11, FALSE, gCreditsText_HitomiSato};
static const struct CreditsEntry gCreditsEntry_TakeshiKawachimaru[] = {11, FALSE, gCreditsText_TakeshiKawachimaru};
static const struct CreditsEntry gCreditsEntry_TeruyukiShimoyamada[] = {11, FALSE, gCreditsText_TeruyukiShimoyamada};
static const struct CreditsEntry gCreditsEntry_ShigeruOhmori[] = {11, FALSE, gCreditsText_ShigeruOhmori};
static const struct CreditsEntry gCreditsEntry_TadashiTakahashi[] = {11, FALSE, gCreditsText_TadashiTakahashi};
static const struct CreditsEntry gCreditsEntry_ToshinobuMatsumiya[] = {11, FALSE, gCreditsText_ToshinobuMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkihitoTomisawa[] = {11, FALSE, gCreditsText_AkihitoTomisawa};
static const struct CreditsEntry gCreditsEntry_HirokiEnomoto[] = {11, FALSE, gCreditsText_HirokiEnomoto};
static const struct CreditsEntry gCreditsEntry_KazuyukiTerada[] = {11, FALSE, gCreditsText_KazuyukiTerada};
static const struct CreditsEntry gCreditsEntry_YuriSakurai[] = {11, FALSE, gCreditsText_YuriSakurai};
static const struct CreditsEntry gCreditsEntry_HiromiSagawa[] = {11, FALSE, gCreditsText_HiromiSagawa};
static const struct CreditsEntry gCreditsEntry_KenjiTominaga[] = {11, FALSE, gCreditsText_KenjiTominaga};
static const struct CreditsEntry gCreditsEntry_YoshioTajiri[] = {11, FALSE, gCreditsText_YoshioTajiri};
static const struct CreditsEntry gCreditsEntry_TeikoSasaki[] = {11, FALSE, gCreditsText_TeikoSasaki};
static const struct CreditsEntry gCreditsEntry_SachikoHamano[] = {11, FALSE, gCreditsText_SachikoHamano};
static const struct CreditsEntry gCreditsEntry_ChieMatsumiya[] = {11, FALSE, gCreditsText_ChieMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkikoShinozaki[] = {11, FALSE, gCreditsText_AkikoShinozaki};
static const struct CreditsEntry gCreditsEntry_AstukoFujii[] = {11, FALSE, gCreditsText_AstukoFujii};
static const struct CreditsEntry gCreditsEntry_NozomuSaito[] = {11, FALSE, gCreditsText_NozomuSaito};
static const struct CreditsEntry gCreditsEntry_KenkichiToyama[] = {11, FALSE, gCreditsText_KenkichiToyama};
static const struct CreditsEntry gCreditsEntry_SuguruNakatsui[] = {11, FALSE, gCreditsText_SuguruNakatsui};
static const struct CreditsEntry gCreditsEntry_YumiFunasaka[] = {11, FALSE, gCreditsText_YumiFunasaka};
static const struct CreditsEntry gCreditsEntry_NaokoYanase[] = {11, FALSE, gCreditsText_NaokoYanase};
static const struct CreditsEntry gCreditsEntry_NCLSuperMarioClub[] = {11, FALSE, gCreditsText_NCLSuperMarioClub};
static const struct CreditsEntry gCreditsEntry_AtsushiTada[] = {11, FALSE, gCreditsText_AtsushiTada};
static const struct CreditsEntry gCreditsEntry_TakahiroOhnishi[] = {11, FALSE, gCreditsText_TakahiroOhnishi};
static const struct CreditsEntry gCreditsEntry_NorihideOkamura[] = {11, FALSE, gCreditsText_NorihideOkamura};
static const struct CreditsEntry gCreditsEntry_HiroNakamura[] = {11, FALSE, gCreditsText_HiroNakamura};
static const struct CreditsEntry gCreditsEntry_HiroyukiUesugi[] = {11, FALSE, gCreditsText_HiroyukiUesugi};
static const struct CreditsEntry gCreditsEntry_TerukiMurakawa[] = {11, FALSE, gCreditsText_TerukiMurakawa};
static const struct CreditsEntry gCreditsEntry_AkiraKinashi[] = {11, FALSE, gCreditsText_AkiraKinashi};
static const struct CreditsEntry gCreditsEntry_MichikoTakizawa[] = {11, FALSE, gCreditsText_MichikoTakizawa};
static const struct CreditsEntry gCreditsEntry_MakikoTakada[] = {11, FALSE, gCreditsText_MakikoTakada};
static const struct CreditsEntry gCreditsEntry_TakanaoKondo[] = {11, FALSE, gCreditsText_TakanaoKondo};
static const struct CreditsEntry gCreditsEntry_AiMashima[] = {11, FALSE, gCreditsText_AiMashima};
static const struct CreditsEntry gCreditsEntry_GakujiNomoto[] = {11, FALSE, gCreditsText_GakujiNomoto};
static const struct CreditsEntry gCreditsEntry_TakehiroIzushi[] = {11, FALSE, gCreditsText_TakehiroIzushi};
static const struct CreditsEntry gCreditsEntry_HitoshiYamagami[] = {11, FALSE, gCreditsText_HitoshiYamagami};
static const struct CreditsEntry gCreditsEntry_KyokoWatanabe[] = {11, FALSE, gCreditsText_KyokoWatanabe};
static const struct CreditsEntry gCreditsEntry_TakaoNakano[] = {11, FALSE, gCreditsText_TakaoNakano};
static const struct CreditsEntry gCreditsEntry_HiroyukiJinnai[] = {11, FALSE, gCreditsText_HiroyukiJinnai};
static const struct CreditsEntry gCreditsEntry_HiroakiTsuru[] = {11, FALSE, gCreditsText_HiroakiTsuru};
static const struct CreditsEntry gCreditsEntry_TsunekazIshihara[] = {11, FALSE, gCreditsText_TsunekazIshihara};
static const struct CreditsEntry gCreditsEntry_SatoruIwata[] = {11, FALSE, gCreditsText_SatoruIwata};
static const struct CreditsEntry gCreditsEntry_KazuyaSuyama[] = {11, FALSE, gCreditsText_KazuyaSuyama};
static const struct CreditsEntry gCreditsEntry_SatoshiMitsuhara[] = {11, FALSE, gCreditsText_SatoshiMitsuhara};
static const struct CreditsEntry gCreditsEntry_JapanBrailleLibrary[] = {9, FALSE, gCreditsText_JapanBrailleLibrary};
static const struct CreditsEntry gCreditsEntry_TomotakaKomura[] = {11, FALSE, gCreditsText_TomotakaKomura};
static const struct CreditsEntry gCreditsEntry_MikikoOhhashi[] = {11, FALSE, gCreditsText_MikikoOhhashi};
static const struct CreditsEntry gCreditsEntry_DaisukeHoshino[] = {11, FALSE, gCreditsText_DaisukeHoshino};
static const struct CreditsEntry gCreditsEntry_KenjiroIto[] = {11, FALSE, gCreditsText_KenjiroIto};
static const struct CreditsEntry gCreditsEntry_RuiKawaguchi[] = {11, FALSE, gCreditsText_RuiKawaguchi};
static const struct CreditsEntry gCreditsEntry_ShunsukeKohori[] = {11, FALSE, gCreditsText_ShunsukeKohori};
static const struct CreditsEntry gCreditsEntry_SachikoNakamichi[] = {11, FALSE, gCreditsText_SachikoNakamichi};
static const struct CreditsEntry gCreditsEntry_FujikoNomura[] = {11, FALSE, gCreditsText_FujikoNomura};
static const struct CreditsEntry gCreditsEntry_KazukiYoshihara[] = {11, FALSE, gCreditsText_KazukiYoshihara};
static const struct CreditsEntry gCreditsEntry_RetsujiNomoto[] = {11, FALSE, gCreditsText_RetsujiNomoto};
static const struct CreditsEntry gCreditsEntry_AzusaTajima[] = {11, FALSE, gCreditsText_AzusaTajima};
static const struct CreditsEntry gCreditsEntry_ShusakuEgami[] = {11, FALSE, gCreditsText_ShusakuEgami};
static const struct CreditsEntry gCreditsEntry_PackageAndManual[] = {0, TRUE, gCreditsText_PackageAndManual};
static const struct CreditsEntry gCreditsEntry_EnglishVersion[] = {0, TRUE, gCreditsText_EnglishVersion};
static const struct CreditsEntry gCreditsEntry_Translator[] = {0, TRUE, gCreditsText_Translator};
static const struct CreditsEntry gCreditsEntry_TextEditor[] = {0, TRUE, gCreditsText_TextEditor};
static const struct CreditsEntry gCreditsEntry_NCLCoordinator[] = {0, TRUE, gCreditsText_NCLCoordinator};
static const struct CreditsEntry gCreditsEntry_GraphicDesigner[] = {0, TRUE, gCreditsText_GraphicDesigner};
static const struct CreditsEntry gCreditsEntry_NOAProductTesting[] = {0, TRUE, gCreditsText_NOAProductTesting};
static const struct CreditsEntry gCreditsEntry_HideyukiNakajima[] = {0, FALSE, gCreditsText_HideyukiNakajima};
static const struct CreditsEntry gCreditsEntry_HidenoriSaeki[] = {0, FALSE, gCreditsText_HidenoriSaeki};
static const struct CreditsEntry gCreditsEntry_YokoWatanabe[] = {0, FALSE, gCreditsText_YokoWatanabe};
static const struct CreditsEntry gCreditsEntry_SakaeKimura[] = {0, FALSE, gCreditsText_SakaeKimura};
static const struct CreditsEntry gCreditsEntry_ChiakiShinkai[] = {0, FALSE, gCreditsText_ChiakiShinkai};
static const struct CreditsEntry gCreditsEntry_SethMcMahill[] = {0, FALSE, gCreditsText_SethMcMahill};
static const struct CreditsEntry gCreditsEntry_NobOgasawara[] = {0, FALSE, gCreditsText_NobOgasawara};
static const struct CreditsEntry gCreditsEntry_TeresaLillygren[] = {0, FALSE, gCreditsText_TeresaLillygren};
static const struct CreditsEntry gCreditsEntry_KimikoNakamichi[] = {0, FALSE, gCreditsText_KimikoNakamichi};
static const struct CreditsEntry gCreditsEntry_SouichiYamamoto[] = {0, FALSE, gCreditsText_SouichiYamamoto};
static const struct CreditsEntry gCreditsEntry_YuichiroIto[] = {0, FALSE, gCreditsText_YuichiroIto};
static const struct CreditsEntry gCreditsEntry_ThomasHertzog[] = {0, FALSE, gCreditsText_ThomasHertzog};
static const struct CreditsEntry gCreditsEntry_MikaKurosawa[] = {0, FALSE, gCreditsText_MikaKurosawa};
static const struct CreditsEntry gCreditsEntry_NationalFederationBlind[] = {0, FALSE, gCreditsText_NationalFederationBlind};
static const struct CreditsEntry gCreditsEntry_PatriciaAMaurer[] = {0, FALSE, gCreditsText_PatriciaAMaurer};
static const struct CreditsEntry gCreditsEntry_EuropeanBlindUnion[] = {0, FALSE, gCreditsText_EuropeanBlindUnion};
static const struct CreditsEntry gCreditsEntry_AustralianBrailleAuthority[] = {0, FALSE, gCreditsText_AustralianBrailleAuthority};
static const struct CreditsEntry gCreditsEntry_RoyalNewZealandFederationBlind[] = {0, FALSE, gCreditsText_RoyalNewZealandFederationBlind};
static const struct CreditsEntry gCreditsEntry_MotoyasuTojima[] = {0, FALSE, gCreditsText_MotoyasuTojima};
static const struct CreditsEntry gCreditsEntry_NicolaPrattBarlow[] = {0, FALSE, gCreditsText_NicolaPrattBarlow};
static const struct CreditsEntry gCreditsEntry_ShellieDow[] = {0, FALSE, gCreditsText_ShellieDow};
static const struct CreditsEntry gCreditsEntry_ErikJohnson[] = {0, FALSE, gCreditsText_ErikJohnson};
#define _ gCreditsEntry_EmptyString
static const struct CreditsEntry *const gCreditsEntryPointerTable[][5] =
@ -935,7 +935,7 @@ static const struct CreditsEntry *const gCreditsEntryPointerTable[][5] =
};
#undef _
static const struct BgTemplate gUnknown_085E6F68[] =
static const struct BgTemplate sBackgroundTemplates[] =
{
{
.bg = 0,
@ -947,7 +947,7 @@ static const struct BgTemplate gUnknown_085E6F68[] =
.baseTile = 0
},
};
static const struct WindowTemplate gUnknown_085E6F6C[] =
static const struct WindowTemplate sWindowTemplates[] =
{
{
.bg = 0,
@ -1103,51 +1103,51 @@ static const struct SpriteTemplate gUnknown_085E7068 =
.callback = sub_81772B8,
};
static void sub_8175744(u8 taskIdA);
static void sub_8175774(u8 taskIdA);
static void Task_WaitPaletteFade(u8 taskIdA);
static void Task_ProgressCreditTasks(u8 taskIdA);
static void sub_8175808(u8 taskIdA);
static void c2_080C9BFC(u8 taskIdA);
static void sub_81758E4(u8 taskIdA);
static void Task_CreditsLoadGrassScene(u8 taskIdA);
static void sub_81758A4(u8 taskIdA);
static void sub_8175A9C(u8 taskIdA);
static void sub_8175AE4(u8 taskIdA);
static void sub_8175B1C(u8 taskIdA);
static void sub_8175B90(u8 taskIdA);
static void sub_8175BD8(u8 taskIdA);
static void sub_8175C34(u8 taskIdA);
static void sub_8175CC8(u8 taskIdA);
static void sub_8175CE4(void);
static void Task_CreditsTheEnd1(u8 taskIdA);
static void Task_CreditsTheEnd2(u8 taskIdA);
static void Task_CreditsTheEnd3(u8 taskIdA);
static void Task_CreditsTheEnd4(u8 taskIdA);
static void Task_CreditsTheEnd5(u8 taskIdA);
static void Task_CreditsTheEnd6(u8 taskIdA);
static void Task_CreditsSoftReset(u8 taskIdA);
static void ResetGpuAndVram(void);
static void sub_8175DA0(u8 taskIdB);
static u8 sub_817603C(u8 page, u8 taskIdA);
static u8 CheckChangeScene(u8 page, u8 taskIdA);
static void sub_81760FC(u8 taskIdA);
static void sub_817651C(u8 taskIdA);
static void sub_817624C(u8 taskIdA);
static bool8 sub_8176AB0(u8 data, u8 taskIdA);
static void sub_8176CA0(u8 taskIdA);
static void sub_8176D1C(u16, u16, u16);
static void ResetCreditsTasks(u8 taskIdA);
static void LoadTheEndScreen(u16, u16, u16);
static void sub_8176E40(u16 arg0, u16 palette);
static void sub_8176EE8(struct Sprite *sprite);
static void sub_8176F90(struct Sprite *sprite);
static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position);
static void sub_8177388(void);
static void sub_81754C8(void)
static void CreditsVBlankCallback(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
static void sub_81754DC(void)
static void CB2_RunCreditsSequence(void)
{
RunTasks();
AnimateSprites();
if ((gMain.heldKeys & B_BUTTON)
&& gHasHallOfFameRecords != 0
&& gTasks[gUnknown_0203BCE2].func == sub_8175774)
&& gTasks[gUnknown_0203BCE2].func == Task_ProgressCreditTasks)
{
sub_81754C8();
CreditsVBlankCallback();
RunTasks();
AnimateSprites();
gUnknown_0203BCE5 = 1;
@ -1159,10 +1159,10 @@ static void sub_81754DC(void)
static void sub_8175548(void)
{
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085E6F68, 1);
InitBgsFromTemplates(0, sBackgroundTemplates, 1);
SetBgTilemapBuffer(0, AllocZeroed(0x800));
LoadPalette(gUnknown_085E56F0, 0x80, 0x40);
InitWindows(gUnknown_085E6F6C);
InitWindows(sWindowTemplates);
DeactivateAllTextPrinters();
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
@ -1178,14 +1178,14 @@ static void sub_81755A4(void)
Free(ptr);
}
static void sub_81755BC(const u8 *string, u8 y, u8 a2)
static void PrintCreditsText(const u8 *string, u8 y, bool8 isTitle)
{
u8 x;
u8 color[3];
color[0] = 0;
if (a2 == 1)
if (isTitle == TRUE)
{
color[1] = 3;
color[2] = 4;
@ -1200,20 +1200,20 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string);
}
void sub_8175620(void)
void CB2_StartCreditsSequence(void)
{
u8 taskIdA;
s16 taskIdC;
u8 taskIdB;
sub_8175CE4();
ResetGpuAndVram();
SetVBlankCallback(NULL);
InitHeap(gHeap, HEAP_SIZE);
ResetPaletteFade();
ResetTasks();
sub_8175548();
taskIdA = CreateTask(sub_8175744, 0);
taskIdA = CreateTask(Task_WaitPaletteFade, 0);
gTasks[taskIdA].data[TDA_4] = 0;
gTasks[taskIdA].data[TDA_7] = 0;
@ -1238,9 +1238,9 @@ void sub_8175620(void)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(sub_81754C8);
SetVBlankCallback(CreditsVBlankCallback);
m4aSongNumStart(MUS_THANKFOR);
SetMainCallback2(sub_81754DC);
SetMainCallback2(CB2_RunCreditsSequence);
gUnknown_0203BCE5 = 0;
gUnknown_0203BCE8 = AllocZeroed(sizeof(struct Unk201C000));
@ -1253,13 +1253,13 @@ void sub_8175620(void)
gUnknown_0203BCE2 = taskIdA;
}
static void sub_8175744(u8 taskIdA)
static void Task_WaitPaletteFade(u8 taskIdA)
{
if (!gPaletteFade.active)
gTasks[taskIdA].func = sub_8175774;
gTasks[taskIdA].func = Task_ProgressCreditTasks;
}
static void sub_8175774(u8 taskIdA)
static void Task_ProgressCreditTasks(u8 taskIdA)
{
u16 data1;
@ -1271,7 +1271,7 @@ static void sub_8175774(u8 taskIdA)
gTasks[taskIdC].data[TDC_0] = 30;
gTasks[taskIdA].data[TDA_12] = 0x100;
gTasks[taskIdA].func = sub_8175A9C;
gTasks[taskIdA].func = Task_CreditsTheEnd1;
return;
}
@ -1299,7 +1299,7 @@ static void sub_8175808(u8 taskIdA)
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
sub_8176CA0(taskIdA);
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = c2_080C9BFC;
}
}
@ -1314,8 +1314,8 @@ static void c2_080C9BFC(u8 taskIdA)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(sub_81754C8);
gTasks[taskIdA].func = sub_8175744;
SetVBlankCallback(CreditsVBlankCallback);
gTasks[taskIdA].func = Task_WaitPaletteFade;
}
}
@ -1324,12 +1324,12 @@ static void sub_81758A4(u8 taskIdA)
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
sub_8176CA0(taskIdA);
gTasks[taskIdA].func = sub_81758E4;
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = Task_CreditsLoadGrassScene;
}
}
static void sub_81758E4(u8 taskIdA)
static void Task_CreditsLoadGrassScene(u8 taskIdA)
{
switch (gMain.state)
{
@ -1388,12 +1388,12 @@ static void sub_81758E4(u8 taskIdA)
gMain.state = 0;
gUnknown_0203BD28 = 0;
gTasks[taskIdA].func = sub_8175744;
gTasks[taskIdA].func = Task_WaitPaletteFade;
break;
}
}
static void sub_8175A9C(u8 taskIdA)
static void Task_CreditsTheEnd1(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_12])
{
@ -1402,23 +1402,23 @@ static void sub_8175A9C(u8 taskIdA)
}
BeginNormalPaletteFade(0xFFFFFFFF, 12, 0, 16, RGB_BLACK);
gTasks[taskIdA].func = sub_8175AE4;
gTasks[taskIdA].func = Task_CreditsTheEnd2;
}
static void sub_8175AE4(u8 taskIdA)
static void Task_CreditsTheEnd2(u8 taskIdA)
{
if (!gPaletteFade.active)
{
sub_8176CA0(taskIdA);
gTasks[taskIdA].func = sub_8175B1C;
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = Task_CreditsTheEnd3;
}
}
static void sub_8175B1C(u8 taskIdA)
static void Task_CreditsTheEnd3(u8 taskIdA)
{
sub_8175CE4();
ResetGpuAndVram();
ResetPaletteFade();
sub_8176D1C(0, 0x3800, 0);
LoadTheEndScreen(0, 0x3800, 0);
ResetSpriteData();
FreeAllSpritePalettes();
BeginNormalPaletteFade(0xFFFFFFFF, 8, 16, 0, RGB_BLACK);
@ -1433,11 +1433,11 @@ static void sub_8175B1C(u8 taskIdA)
| DISPCNT_OBJ_1D_MAP
| DISPCNT_BG0_ON);
gTasks[taskIdA].data[TDA_0] = 0xEB;
gTasks[taskIdA].func = sub_8175B90;
gTasks[taskIdA].data[TDA_0] = 235; //set this to 215 to actually show "THE END" in time to the last song beat
gTasks[taskIdA].func = Task_CreditsTheEnd4;
}
static void sub_8175B90(u8 taskIdA)
static void Task_CreditsTheEnd4(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_0])
{
@ -1446,10 +1446,10 @@ static void sub_8175B90(u8 taskIdA)
}
BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 16, RGB_BLACK);
gTasks[taskIdA].func = sub_8175BD8;
gTasks[taskIdA].func = Task_CreditsTheEnd5;
}
static void sub_8175BD8(u8 taskIdA)
static void Task_CreditsTheEnd5(u8 taskIdA)
{
if (!gPaletteFade.active)
{
@ -1457,11 +1457,11 @@ static void sub_8175BD8(u8 taskIdA)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_BLACK);
gTasks[taskIdA].data[TDA_0] = 7200;
gTasks[taskIdA].func = sub_8175C34;
gTasks[taskIdA].func = Task_CreditsTheEnd6;
}
}
static void sub_8175C34(u8 taskIdA)
static void Task_CreditsTheEnd6(u8 taskIdA)
{
if (!gPaletteFade.active)
{
@ -1469,7 +1469,7 @@ static void sub_8175C34(u8 taskIdA)
{
FadeOutBGM(4);
BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, RGB_WHITEALPHA);
gTasks[taskIdA].func = sub_8175CC8;
gTasks[taskIdA].func = Task_CreditsSoftReset;
return;
}
@ -1483,13 +1483,13 @@ static void sub_8175C34(u8 taskIdA)
}
}
static void sub_8175CC8(u8 taskIdA)
static void Task_CreditsSoftReset(u8 taskIdA)
{
if (!gPaletteFade.active)
SoftReset(0xFF);
}
static void sub_8175CE4(void)
static void ResetGpuAndVram(void)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
@ -1540,12 +1540,15 @@ static void sub_8175DA0(u8 taskIdB)
gTasks[taskIdB].data[TDB_0] += 1;
return;
case 2:
if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == sub_8175774)
if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == Task_ProgressCreditTasks)
{
if (gTasks[taskIdB].data[TDB_CURRENT_PAGE] < PAGE_COUNT)
{
for (i = 0; i < 5; i++)
sub_81755BC(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 5 + i * 16, gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->var_1);
PrintCreditsText(
gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text,
5 + i * 16,
gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->isTitle);
CopyWindowToVram(0, 2);
@ -1579,7 +1582,7 @@ static void sub_8175DA0(u8 taskIdB)
return;
}
if (sub_817603C((u8)gTasks[taskIdB].data[TDB_CURRENT_PAGE], (u8)gTasks[taskIdB].data[TDB_TASK_A_ID]))
if (CheckChangeScene((u8)gTasks[taskIdB].data[TDB_CURRENT_PAGE], (u8)gTasks[taskIdB].data[TDB_TASK_A_ID]))
{
gTasks[taskIdB].data[TDB_0] += 1;
return;
@ -1607,7 +1610,7 @@ static void sub_8175DA0(u8 taskIdB)
}
}
static u8 sub_817603C(u8 page, u8 taskIdA)
static u8 CheckChangeScene(u8 page, u8 taskIdA)
{
// Starts with bike + ocean + morning
@ -1686,7 +1689,7 @@ static void sub_81760FC(u8 taskIdD)
gTasks[taskIdD].data[TDD_STATE]++;
break;
case 2:
if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != sub_8175774)
if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks)
break;
r2 = sub_8177224(gUnknown_0203BCE8->unk0[gUnknown_0203BCE8->unk92], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][0], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][1], gUnknown_0203BCE8->unk90);
if (gUnknown_0203BCE8->unk92 < gUnknown_0203BCE8->unk94 - 1)
@ -2007,7 +2010,7 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA)
return FALSE;
}
static void sub_8176CA0(u8 taskIdA)
static void ResetCreditsTasks(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_0] != 0)
{
@ -2036,7 +2039,7 @@ static void sub_8176CA0(u8 taskIdA)
gUnknown_0203BD28 = 1;
}
static void sub_8176D1C(u16 arg0, u16 arg1, u16 arg2)
static void LoadTheEndScreen(u16 arg0, u16 arg1, u16 arg2)
{
u16 baseTile;
u16 i;
@ -2085,12 +2088,12 @@ static void sub_8176E40(u16 arg0, u16 palette)
for (pos = 0; pos < 32 * 32; pos++)
((u16 *) (VRAM + arg0))[pos] = baseTile + 1;
sub_8176DBC(gUnknown_085E5BAC, 3, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BBB, 7, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BCA, 11, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BCA, 16, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BD9, 20, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BE8, 24, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterTMap, 3, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterHMap, 7, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterEMap, 11, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterEMap, 16, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterNMap, 20, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterDMap, 24, 7, arg0, palette);
}
static void sub_8176EE8(struct Sprite *sprite)

470
src/data/lilycove_lady.h Normal file
View File

@ -0,0 +1,470 @@
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/items.h"
#include "constants/species.h"
#include "constants/moves.h"
static const u16 sContestLadyMonGfxId[] =
{
EVENT_OBJ_GFX_ZIGZAGOON_1,
EVENT_OBJ_GFX_SKITTY,
EVENT_OBJ_GFX_POOCHYENA,
EVENT_OBJ_GFX_KECLEON_1,
EVENT_OBJ_GFX_PIKACHU
};
static const u16 sLilycoveLadyGfxId[] =
{
EVENT_OBJ_GFX_WOMAN_4,
EVENT_OBJ_GFX_WOMAN_2,
EVENT_OBJ_GFX_GIRL_2
};
// Quiz Lady data
static const u16 sQuizLadyQuestion1[] =
{
EC_WORD_WHICH,
EC_WORD_STORES,
EC_WORD_INFORMATION,
EC_WORD_ON,
EC_WORD_POKEMON,
EC_WORD_QUES,
EC_WORD_CAMERA,
EC_WORD_POKEDEX,
EC_WORD_POKENAV
};
static const u16 sQuizLadyQuestion2[] =
{
EC_WORD_WHICH,
EC_WORD_ISN_T,
EC_WORD_A,
EC_WORD_GAME,
EC_WORD_VERSION,
EC_WORD_QUES,
EC_WORD_RUBY,
EC_WORD_SAPPHIRE,
EC_WORD_DARK
};
static const u16 sQuizLadyQuestion3[] =
{
EC_WORD_HOW,
EC_WORD_DO,
EC_WORD_POKEMON,
EC_WORD_EVOLVE,
EC_WORD_QUES,
0xFFFF,
EC_WORD_LEVEL,
EC_WORD_INSOMNIA,
EC_WORD_CUTE_CHARM
};
static const u16 sQuizLadyQuestion4[] =
{
EC_WORD_WHICH,
EC_WORD_IS,
EC_WORD_THE,
EC_WORD_PRETTY,
EC_WORD_ITEM,
EC_WORD_QUES,
EC_WORD_COLD,
EC_WORD_FLOWERS,
EC_WORD_MACHINE
};
static const u16 sQuizLadyQuestion5[] =
{
EC_WORD_WHICH,
EC_WORD_ITEM,
EC_WORD_DO,
EC_WORD_YOU,
EC_WORD_BREAK,
EC_WORD_QUES,
EC_WORD_EGG,
EC_WORD_MAIL,
EC_WORD_PHONE
};
static const u16 sQuizLadyQuestion6[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_WORD_STOP,
EC_MOVE2(CONFUSION),
EC_WORD_QUES,
0xFFFF,
EC_WORD_ILLUMINATE,
EC_WORD_OWN_TEMPO,
EC_WORD_SWIFT_SWIM
};
static const u16 sQuizLadyQuestion7[] =
{
EC_WORD_WHICH,
EC_WORD_OF,
EC_WORD_THESE,
EC_WORD_IS,
EC_WORD_MUSIC,
EC_WORD_QUES,
EC_WORD_FLYING,
EC_WORD_STEEL,
EC_WORD_ROCK
};
static const u16 sQuizLadyQuestion8[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_MOVE2(BLOCK),
EC_WORD_ESCAPE,
EC_WORD_QUES,
0xFFFF,
EC_WORD_RUN_AWAY,
EC_WORD_SHADOW_TAG,
EC_WORD_WONDER_GUARD
};
static const u16 sQuizLadyQuestion9[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_WORD_STOP,
EC_WORD_POISON,
EC_WORD_QUES,
0xFFFF,
EC_WORD_GUTS,
EC_WORD_IMMUNITY,
EC_WORD_SHED_SKIN
};
static const u16 sQuizLadyQuestion10[] =
{
EC_WORD_WHICH,
EC_WORD_GOES,
EC_WORD_WITH,
EC_WORD_CENTER,
EC_WORD_QUES,
0xFFFF,
EC_WORD_POKEDEX,
EC_WORD_POKEMON,
EC_WORD_POKENAV
};
static const u16 sQuizLadyQuestion11[] =
{
EC_WORD_WHICH,
EC_WORD_STORES,
EC_WORD_YOUR,
EC_WORD_POKEMON,
EC_WORD_QUES,
0xFFFF,
EC_WORD_PC,
EC_WORD_DEPT_STORE,
EC_WORD_TELEVISION
};
static const u16 sQuizLadyQuestion12[] =
{
EC_WORD_WHICH,
EC_WORD_MACHINE,
EC_WORD_GIVES,
EC_WORD_YOU,
EC_WORD_INFORMATION,
EC_WORD_QUES,
EC_WORD_BIKE,
EC_WORD_LOCOMOTIVE,
EC_WORD_TELEVISION
};
static const u16 sQuizLadyQuestion13[] =
{
EC_WORD_A,
EC_WORD_POKEMON,
EC_WORD_WAS,
EC_WORD_ONCE,
EC_WORD_THIS,
EC_WORD_QUES,
EC_WORD_PHONE,
EC_WORD_PLUSH_DOLL,
EC_WORD_LETTER
};
static const u16 sQuizLadyQuestion14[] =
{
EC_WORD_STEEL,
EC_WORD_IS,
EC_WORD_STRONG,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_ICE,
EC_WORD_GROUND,
0xFFFF
};
static const u16 sQuizLadyQuestion15[] =
{
EC_WORD_DARK,
EC_WORD_IS,
EC_WORD_WEAK,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_PSYCHIC,
EC_WORD_FIGHTING,
0xFFFF
};
static const u16 sQuizLadyQuestion16[] =
{
EC_WORD_GHOST,
EC_WORD_IS,
EC_WORD_WEAK,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_NORMAL,
EC_WORD_DARK,
0xFFFF
};
static const u16 *const sQuizLadyQuizQuestions[] =
{
sQuizLadyQuestion1,
sQuizLadyQuestion2,
sQuizLadyQuestion3,
sQuizLadyQuestion4,
sQuizLadyQuestion5,
sQuizLadyQuestion6,
sQuizLadyQuestion7,
sQuizLadyQuestion8,
sQuizLadyQuestion9,
sQuizLadyQuestion10,
sQuizLadyQuestion11,
sQuizLadyQuestion12,
sQuizLadyQuestion13,
sQuizLadyQuestion14,
sQuizLadyQuestion15,
sQuizLadyQuestion16
};
static const u16 sQuizLadyQuizAnswers[] =
{
EC_WORD_POKEDEX,
EC_WORD_DARK,
EC_WORD_LEVEL,
EC_WORD_FLOWERS,
EC_WORD_EGG,
EC_WORD_OWN_TEMPO,
EC_WORD_ROCK,
EC_WORD_SHADOW_TAG,
EC_WORD_IMMUNITY,
EC_WORD_POKEMON,
EC_WORD_PC,
EC_WORD_TELEVISION,
EC_WORD_PLUSH_DOLL,
EC_WORD_ICE,
EC_WORD_FIGHTING,
EC_WORD_DARK
};
static const u16 sQuizLadyPrizes[] =
{
ITEM_GLITTER_MAIL,
ITEM_BEAD_MAIL,
ITEM_TROPIC_MAIL,
ITEM_MAX_ETHER,
ITEM_MAX_ETHER,
ITEM_MAX_ETHER,
ITEM_WATMEL_BERRY,
ITEM_BELUE_BERRY,
ITEM_DURIN_BERRY,
ITEM_LUXURY_BALL,
ITEM_TM15_HYPER_BEAM,
ITEM_BIG_PEARL,
ITEM_STAR_PIECE,
ITEM_RARE_CANDY,
ITEM_RARE_CANDY,
ITEM_PREMIER_BALL
};
// Favor Lady data
static const u8 *const sFavorLadyRequests[] =
{
gText_FavorLady_Slippery,
gText_FavorLady_Roundish,
gText_FavorLady_Whamish,
gText_FavorLady_Shiny,
gText_FavorLady_Sticky,
gText_FavorLady_Pointy
};
static const u16 sFavorLadyAcceptedItems_Slippery[] =
{
ITEM_REPEL,
ITEM_SUPER_REPEL,
ITEM_MAX_REPEL,
ITEM_ANTIDOTE,
ITEM_PARALYZE_HEAL,
ITEM_BURN_HEAL,
ITEM_BELUE_BERRY,
ITEM_AWAKENING,
ITEM_ICE_HEAL,
ITEM_REVIVE,
ITEM_MAX_REVIVE,
ITEM_ENERGY_POWDER,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Roundish[] =
{
ITEM_FLUFFY_TAIL,
ITEM_PEARL,
ITEM_BIG_PEARL,
ITEM_HARD_STONE,
ITEM_SMOKE_BALL,
ITEM_SHOAL_SHELL,
ITEM_TINY_MUSHROOM,
ITEM_BIG_MUSHROOM,
ITEM_PECHA_BERRY,
ITEM_ASPEAR_BERRY,
ITEM_ORAN_BERRY,
ITEM_GREPA_BERRY,
ITEM_MAGOST_BERRY,
ITEM_WATMEL_BERRY,
ITEM_POKE_BALL,
ITEM_ULTRA_BALL,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Whamish[] =
{
ITEM_REVIVAL_HERB,
ITEM_POTION,
ITEM_FRESH_WATER,
ITEM_SODA_POP,
ITEM_LEMONADE,
ITEM_HARD_STONE,
ITEM_LIGHT_BALL,
ITEM_LAVA_COOKIE,
ITEM_CHESTO_BERRY,
ITEM_NANAB_BERRY,
ITEM_WEPEAR_BERRY,
ITEM_KELPSY_BERRY,
ITEM_NOMEL_BERRY,
ITEM_DURIN_BERRY,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Shiny[] =
{
ITEM_HEAL_POWDER,
ITEM_X_SPEED,
ITEM_X_ATTACK,
ITEM_X_DEFEND,
ITEM_BLUE_FLUTE,
ITEM_YELLOW_FLUTE,
ITEM_RED_FLUTE,
ITEM_BLACK_FLUTE,
ITEM_WHITE_FLUTE,
ITEM_NUGGET,
ITEM_SUN_STONE,
ITEM_STARDUST,
ITEM_STAR_PIECE,
ITEM_PEARL,
ITEM_BIG_PEARL,
ITEM_TWISTED_SPOON,
ITEM_SILVER_POWDER,
ITEM_BRIGHT_POWDER,
ITEM_LUXURY_BALL,
ITEM_PREMIER_BALL,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Sticky[] =
{
ITEM_ENERGY_ROOT,
ITEM_FULL_RESTORE,
ITEM_MAX_POTION,
ITEM_DIRE_HIT,
ITEM_X_ACCURACY,
ITEM_GUARD_SPEC,
ITEM_WATMEL_BERRY,
ITEM_LEFTOVERS,
ITEM_TINY_MUSHROOM,
ITEM_HEART_SCALE,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Pointy[] =
{
ITEM_QUICK_CLAW,
ITEM_POISON_BARB,
ITEM_SHARP_BEAK,
ITEM_DRAGON_FANG,
ITEM_TAMATO_BERRY,
ITEM_DURIN_BERRY,
ITEM_PETAYA_BERRY,
ITEM_SALAC_BERRY,
ITEM_STARDUST,
ITEM_STAR_PIECE,
ITEM_NONE
};
static const u16 *const sFavorLadyAcceptedItemLists[] =
{
sFavorLadyAcceptedItems_Slippery,
sFavorLadyAcceptedItems_Roundish,
sFavorLadyAcceptedItems_Whamish,
sFavorLadyAcceptedItems_Shiny,
sFavorLadyAcceptedItems_Sticky,
sFavorLadyAcceptedItems_Pointy
};
static const u16 sFavorLadyPrizes[] =
{
ITEM_LUXURY_BALL,
ITEM_NUGGET,
ITEM_PROTEIN,
ITEM_HEART_SCALE,
ITEM_RARE_CANDY,
ITEM_PP_MAX
};
static const u8 *const sContestLadyMonNames[] =
{
gText_ContestLady_Handsome,
gText_ContestLady_Vinny,
gText_ContestLady_Moreme,
gText_ContestLady_Ironhard,
gText_ContestLady_Muscle
};
static const u8 *const sContestLadyCategoryNames[] =
{
gText_ContestLady_Coolness,
gText_ContestLady_Beauty,
gText_ContestLady_Cuteness,
gText_ContestLady_Smartness,
gText_ContestLady_Toughness
};
static const u8 *const sContestNames[] =
{
gText_CoolnessContest,
gText_BeautyContest,
gText_CutenessContest,
gText_SmartnessContest,
gText_ToughnessContest
};
static const u16 sContestLadyMonSpecies[] =
{
SPECIES_ZIGZAGOON,
SPECIES_SKITTY,
SPECIES_POOCHYENA,
SPECIES_KECLEON,
SPECIES_PIKACHU
};

View File

@ -30,6 +30,7 @@
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/flags.h"
#include "constants/lilycove_lady.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/rgb.h"
@ -240,6 +241,7 @@ struct Unk8597530
MainCallback callback;
};
// Lilycove Quiz Lady
static const struct Unk8597530 sUnknown_08597530[] = {
{
.word = 26,
@ -1305,15 +1307,15 @@ void ShowEasyChatScreen(void)
displayedPersonType = EASY_CHAT_PERSON_BOY;
break;
case EASY_CHAT_TYPE_QUIZ_ANSWER:
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_016;
words = &gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer;
break;
case EASY_CHAT_TYPE_QUIZ_QUESTION:
return;
case EASY_CHAT_TYPE_QUIZ_SET_QUESTION:
words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_002;
words = gSaveBlock1Ptr->lilycoveLady.quiz.question;
break;
case EASY_CHAT_TYPE_QUIZ_SET_ANSWER:
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014;
words = &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer;
break;
case EASY_CHAT_TYPE_APPRENTICE:
words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
@ -1329,7 +1331,7 @@ void ShowEasyChatScreen(void)
DoEasyChatScreen(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript, displayedPersonType);
}
static void sub_811A7E4(void)
static void CB2_QuizLadyQuestion(void)
{
LilycoveLady *lilycoveLady;
@ -1343,7 +1345,7 @@ static void sub_811A7E4(void)
if (!gPaletteFade.active)
{
lilycoveLady = &gSaveBlock1Ptr->lilycoveLady;
lilycoveLady->quiz.unk_016 = -1;
lilycoveLady->quiz.playerAnswer = -1;
CleanupOverworldWindowsAndTilemaps();
DoQuizQuestionEasyChatScreen();
}
@ -1352,9 +1354,9 @@ static void sub_811A7E4(void)
gMain.state ++;
}
void sub_811A858(void)
void QuizLadyShowQuizQuestion(void)
{
SetMainCallback2(sub_811A7E4);
SetMainCallback2(CB2_QuizLadyQuestion);
}
static int sub_811A868(u16 word)
@ -1387,7 +1389,7 @@ static void DoQuizAnswerEasyChatScreen(void)
{
DoEasyChatScreen(
EASY_CHAT_TYPE_QUIZ_ANSWER,
&gSaveBlock1Ptr->lilycoveLady.quiz.unk_016,
&gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@ -1395,7 +1397,7 @@ static void DoQuizAnswerEasyChatScreen(void)
static void DoQuizQuestionEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_QUESTION,
gSaveBlock1Ptr->lilycoveLady.quiz.unk_002,
gSaveBlock1Ptr->lilycoveLady.quiz.question,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@ -1403,7 +1405,7 @@ static void DoQuizQuestionEasyChatScreen(void)
static void DoQuizSetAnswerEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_ANSWER,
&gSaveBlock1Ptr->lilycoveLady.quiz.unk_014,
&gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@ -1411,7 +1413,7 @@ static void DoQuizSetAnswerEasyChatScreen(void)
static void DoQuizSetQuestionEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_QUESTION,
gSaveBlock1Ptr->lilycoveLady.quiz.unk_002,
gSaveBlock1Ptr->lilycoveLady.quiz.question,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@ -2660,9 +2662,9 @@ static int sub_811BD64(void)
return sub_811BCF4();
saveBlock1 = gSaveBlock1Ptr;
for (i = 0; i < 9; i++)
for (i = 0; i < QUIZ_QUESTION_LEN; i++)
{
if (saveBlock1->lilycoveLady.quiz.unk_002[i] != 0xFFFF)
if (saveBlock1->lilycoveLady.quiz.question[i] != 0xFFFF)
return 0;
}
@ -2676,7 +2678,7 @@ static int sub_811BDB0(void)
return sub_811BCF4();
quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
return quiz->unk_014 == 0xFFFF ? 1 : 0;
return quiz->correctAnswer == 0xFFFF ? 1 : 0;
}
static void sub_811BDF0(u8 *arg0)

View File

@ -667,9 +667,9 @@ static void sub_810A75C(struct Sprite *sprite)
sprite->oam.tileNum += gBattleAnimArgs[3] * 4;
if (gBattleAnimArgs[3] == 1)
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
else if (gBattleAnimArgs[3] == 2)
sprite->oam.matrixNum = 16;
sprite->oam.matrixNum = ST_OAM_VFLIP;
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = WaitAnimForDuration;

View File

@ -912,9 +912,9 @@ void sub_810D874(struct Sprite *sprite)
}
if (IsContest())
sprite->oam.matrixNum |= 0x8;
sprite->oam.matrixNum |= ST_OAM_HFLIP;
else if (GetBattlerSide(battler) == B_SIDE_PLAYER)
sprite->oam.matrixNum |= 0x18;
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
sprite->data[0] = 16;
sprite->data[1] = sprite->pos1.x;

View File

@ -1800,7 +1800,7 @@ void sub_810EEF8(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[0];
if (sprite->data[2])
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
if (gBattleAnimArgs[1] == 0)
{

View File

@ -1039,7 +1039,7 @@ static void sub_81129F0(struct Sprite *sprite)
{
xDelta = 24;
xDelta2 = -2;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{

View File

@ -755,7 +755,7 @@ static void Task_Hof_HandleExit(u8 taskId)
static void SetCallback2AfterHallOfFameDisplay(void)
{
SetMainCallback2(sub_8175620);
SetMainCallback2(CB2_StartCreditsSequence);
}
#undef tDontSaveData

View File

@ -118,9 +118,9 @@ void sub_81AD9C0(u8);
void sub_81ADB14(u8);
void sub_81ADA7C(u8);
void sub_81ADC0C(u8);
void bag_menu_leave_maybe_3(void);
void bag_menu_leave_maybe_2(void);
void bag_menu_leave_maybe(void);
void CB2_FavorLadyExitBagMenu(void);
void CB2_QuizLadyExitBagMenu(void);
void sub_81ABA6C(void);
static void SetPocketListPositions(void);
void sub_81ABAE0(void);
@ -493,20 +493,20 @@ void sub_81AAC14(void)
void sub_81AAC28(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe_3);
GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe);
gSpecialVar_0x8005 = 0;
gSpecialVar_Result = 0;
}
void sub_81AAC50(void)
void FavorLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, bag_menu_leave_maybe_2);
GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, CB2_FavorLadyExitBagMenu);
gSpecialVar_Result = 0;
}
void sub_81AAC70(void)
void QuizLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, bag_menu_leave_maybe);
GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, CB2_QuizLadyExitBagMenu);
gSpecialVar_Result = 0;
}
@ -2202,7 +2202,7 @@ void unknown_ItemMenu_Show(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe_3(void)
void bag_menu_leave_maybe(void)
{
gFieldCallback = Apprentice_EnableBothScriptContexts;
SetMainCallback2(CB2_ReturnToField);
@ -2216,9 +2216,9 @@ void unknown_ItemMenu_Give2(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe_2(void)
void CB2_FavorLadyExitBagMenu(void)
{
gFieldCallback = sub_818DEF4;
gFieldCallback = FieldCallback_FavorLadyEnableScriptContexts;
SetMainCallback2(CB2_ReturnToField);
}
@ -2229,9 +2229,9 @@ void unknown_ItemMenu_Confirm2(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe(void)
void CB2_QuizLadyExitBagMenu(void)
{
gFieldCallback = sub_818E564;
gFieldCallback = FieldCallback_QuizLadyEnableScriptContexts;
SetMainCallback2(CB2_ReturnToField);
}

File diff suppressed because it is too large Load Diff

View File

@ -198,7 +198,7 @@ void NewGameInitData(void)
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
ResetMiniGamesResults();
copy_strings_to_sav1();
SetLilycoveLady();
InitLilycoveLady();
ResetAllApprenticeData();
ClearRankingHallRecords();
InitMatchCallCounters();

View File

@ -3650,7 +3650,7 @@ static u8 sub_81B31B0(u8 a)
for (i = 0; i < gUnknown_0203CEC4->listSize; i++)
{
u8 unk = (gUnknown_0203CEC4->actions[i] > 18) ? 4 : 3;
u8 unk = (gUnknown_0203CEC4->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3;
AddTextPrinterParameterized4(gUnknown_0203CEC4->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[unk], 0, sCursorOptions[gUnknown_0203CEC4->actions[i]].text);
}

View File

@ -464,9 +464,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0;
EWRAM_DATA static bool8 sCanOnlyMove = 0;
// This file's functions.
#if !defined(NONMATCHING) && MODERN
#define static
#endif
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr);
static void Cb2_EnterPSS(u8 boxOption);
static u8 GetCurrentBoxOption(void);

View File

@ -6,7 +6,9 @@
#include "battle.h"
#include "gym_leader_rematch.h"
#include "match_call.h"
#include "pokenav.h"
#include "constants/region_map_sections.h"
#include "constants/trainers.h"
// Static type declarations
@ -94,11 +96,11 @@ typedef union {
const struct MatchCallStruct5 *type5;
} match_call_t;
struct UnkStruct_08625388 {
struct MatchCallOverride {
u16 idx;
u16 v2;
u32 v4;
const u8 *v8[4];
u16 facilityClass;
u32 flag;
const u8 *flavorTexts[4];
};
// Static RAM declarations
@ -123,11 +125,11 @@ static bool32 MatchCall_IsRematchable_Type2(match_call_t);
static bool32 MatchCall_IsRematchable_Type3(match_call_t);
static bool32 MatchCall_IsRematchable_Type4(match_call_t);
static bool32 sub_81D1840(match_call_t);
static bool32 sub_81D1844(match_call_t);
static bool32 sub_81D1848(match_call_t);
static bool32 sub_81D184C(match_call_t);
static bool32 sub_81D1850(match_call_t);
static bool32 MatchCall_HasCheckPage_Type0(match_call_t);
static bool32 MatchCall_HasCheckPage_Type1(match_call_t);
static bool32 MatchCall_HasCheckPage_Type2(match_call_t);
static bool32 MatchCall_HasCheckPage_Type3(match_call_t);
static bool32 MatchCall_HasCheckPage_Type4(match_call_t);
static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t);
static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t);
@ -423,10 +425,10 @@ static const match_call_text_data_t sMayTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
static const struct MatchCallStruct4 sMayMatchCallHeader =
{
.type = 4,
.gender = MALE,
.gender = MALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_May,
@ -452,10 +454,10 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sMayMatchCallHeader =
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
{
.type = 4,
.gender = FEMALE,
.gender = FEMALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_Brendan,
@ -727,27 +729,27 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader =
};
static const match_call_t sMatchCallHeaders[] = {
{.type0 = &sMrStoneMatchCallHeader},
{.type3 = &sProfBirchMatchCallHeader},
{.type4 = &sMayMatchCallHeader},
{.type4 = &sBrendanMatchCallHeader},
{.type2 = &sWallyMatchCallHeader},
{.type5 = &sNormanMatchCallHeader},
{.type0 = &sMomMatchCallHeader},
{.type0 = &sStevenMatchCallHeader},
{.type0 = &sScottMatchCallHeader},
{.type5 = &sRoxanneMatchCallHeader},
{.type5 = &sBrawlyMatchCallHeader},
{.type5 = &sWattsonMatchCallHeader},
{.type5 = &sFlanneryMatchCallHeader},
{.type5 = &sWinonaMatchCallHeader},
{.type5 = &sTateLizaMatchCallHeader},
{.type5 = &sJuanMatchCallHeader},
{.type5 = &sSidneyMatchCallHeader},
{.type5 = &sPhoebeMatchCallHeader},
{.type5 = &sGlaciaMatchCallHeader},
{.type5 = &sDrakeMatchCallHeader},
{.type5 = &sWallaceMatchCallHeader}
[MC_HEADER_MR_STONE] = {.type0 = &sMrStoneMatchCallHeader},
[MC_HEADER_PROF_BIRCH] = {.type3 = &sProfBirchMatchCallHeader},
[MC_HEADER_BRENDAN] = {.type4 = &sBrendanMatchCallHeader},
[MC_HEADER_MAY] = {.type4 = &sMayMatchCallHeader},
[MC_HEADER_WALLY] = {.type2 = &sWallyMatchCallHeader},
[MC_HEADER_NORMAN] = {.type5 = &sNormanMatchCallHeader},
[MC_HEADER_MOM] = {.type0 = &sMomMatchCallHeader},
[MC_HEADER_STEVEN] = {.type0 = &sStevenMatchCallHeader},
[MC_HEADER_SCOTT] = {.type0 = &sScottMatchCallHeader},
[MC_HEADER_ROXANNE] = {.type5 = &sRoxanneMatchCallHeader},
[MC_HEADER_BRAWLY] = {.type5 = &sBrawlyMatchCallHeader},
[MC_HEADER_WATTSON] = {.type5 = &sWattsonMatchCallHeader},
[MC_HEADER_FLANNERY] = {.type5 = &sFlanneryMatchCallHeader},
[MC_HEADER_WINONA] = {.type5 = &sWinonaMatchCallHeader},
[MC_HEADER_TATE_LIZA] = {.type5 = &sTateLizaMatchCallHeader},
[MC_HEADER_JUAN] = {.type5 = &sJuanMatchCallHeader},
[MC_HEADER_SIDNEY] = {.type5 = &sSidneyMatchCallHeader},
[MC_HEADER_PHOEBE] = {.type5 = &sPhoebeMatchCallHeader},
[MC_HEADER_GLACIA] = {.type5 = &sGlaciaMatchCallHeader},
[MC_HEADER_DRAKE] = {.type5 = &sDrakeMatchCallHeader},
[MC_HEADER_WALLACE] = {.type5 = &sWallaceMatchCallHeader}
};
static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = {
@ -774,12 +776,12 @@ static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = {
MatchCall_IsRematchable_Type3
};
static bool32 (*const gUnknown_08625338[])(match_call_t) = {
sub_81D1840,
sub_81D1844,
sub_81D1848,
sub_81D184C,
sub_81D1850
static bool32 (*const sMatchCall_HasCheckPageFunctions[])(match_call_t) = {
MatchCall_HasCheckPage_Type0,
MatchCall_HasCheckPage_Type1,
MatchCall_HasCheckPage_Type2,
MatchCall_HasCheckPage_Type4,
MatchCall_HasCheckPage_Type3
};
static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = {
@ -806,11 +808,11 @@ static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8
MatchCall_GetNameAndDesc_Type3
};
static const struct UnkStruct_08625388 sMatchCallCheckPageOverrides[] = {
{ 7, 0x4B, 0xffff, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
{ 7, 0x4B, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
{ 2, 0x3c, 0xffff, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
{ 3, 0x3f, 0xffff, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = {
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
{ MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
};
// .text
@ -981,7 +983,7 @@ static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall)
return FALSE;
}
bool32 sub_81D17E8(u32 idx)
bool32 MatchCall_HasCheckPage(u32 idx)
{
match_call_t matchCall;
u32 i;
@ -990,7 +992,7 @@ bool32 sub_81D17E8(u32 idx)
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
if (gUnknown_08625338[i](matchCall))
if (sMatchCall_HasCheckPageFunctions[i](matchCall))
return TRUE;
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
@ -1000,27 +1002,27 @@ bool32 sub_81D17E8(u32 idx)
return FALSE;
}
static bool32 sub_81D1840(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type0(match_call_t matchCall)
{
return FALSE;
}
static bool32 sub_81D1844(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type1(match_call_t matchCall)
{
return TRUE;
}
static bool32 sub_81D1848(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type2(match_call_t matchCall)
{
return TRUE;
}
static bool32 sub_81D184C(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type4(match_call_t matchCall)
{
return FALSE;
}
static bool32 sub_81D1850(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type3(match_call_t matchCall)
{
return FALSE;
}
@ -1210,7 +1212,7 @@ static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const
*name = trainer->trainerName;
}
const u8 *sub_81D1B40(u32 idx, u32 offset)
const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset)
{
u32 i;
@ -1224,24 +1226,24 @@ const u8 *sub_81D1B40(u32 idx, u32 offset)
break;
if (sMatchCallCheckPageOverrides[i + 1].idx != idx)
break;
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4))
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].flag))
break;
i++;
}
return sMatchCallCheckPageOverrides[i].v8[offset];
return sMatchCallCheckPageOverrides[i].flavorTexts[offset];
}
}
return NULL;
}
int sub_81D1BD0(u32 idx)
int MatchCall_GetOverrideFacilityClass(u32 idx)
{
u32 i;
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
if (sMatchCallCheckPageOverrides[i].idx == idx)
return sMatchCallCheckPageOverrides[i].v2;
return sMatchCallCheckPageOverrides[i].facilityClass;
}
return -1;
}

View File

@ -84,7 +84,7 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state)
state->callback = sub_81CAC04;
state->unk0 = 0;
selectedMatchCall = GetSelectedMatchCall();
if (!state->unk1C[selectedMatchCall].boxId || sub_81D17E8(state->unk1C[selectedMatchCall].unk6))
if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6))
{
state->unk4 = gUnknown_0862250A;
state->unk2 = 2;
@ -212,7 +212,7 @@ static u32 sub_81CAD20(s32 taskState)
state->unkA++;
}
if (++state->unk8 >= 21) // TODO: This is the size of sMatchCallHeaders
if (++state->unk8 >= MC_HEADER_COUNT)
{
state->unkC = state->unk8;
state->unk8 = 0;
@ -331,7 +331,7 @@ int sub_81CAF04(int index)
return gTrainers[index].trainerPic;
}
index = sub_81D1BD0(var0);
index = MatchCall_GetOverrideFacilityClass(var0);
return gFacilityClassToPicIndex[index];
}
@ -358,7 +358,7 @@ const u8 *sub_81CAFD8(int index, int textType)
{
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
if (var0 == REMATCH_TABLE_ENTRIES)
return sub_81D1B40(state->unk1C[index].unk6, textType);
return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType);
}
else
{
@ -426,7 +426,7 @@ int sub_81CB0E4(int index)
{
if (!state->unk1C[index].boxId)
return count;
if (sub_81D17E8(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
return count;
count++;
@ -443,7 +443,7 @@ int sub_81CB128(int index)
{
if (!state->unk1C[index].boxId)
return count;
if (sub_81D17E8(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
return count;
count--;
@ -462,7 +462,7 @@ bool32 unref_sub_81CB16C(void)
return TRUE;
}
for (i = 0; i < 21; i++) // TODO: This is the size of sMatchCallHeaders
for (i = 0; i < MC_HEADER_COUNT; i++)
{
if (MatchCallFlagGetByIndex(i))
{

View File

@ -701,10 +701,10 @@ static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSiz
}
memcpy(sLilycoveLadySave, (void *)lilycoveLady + recordSize * mixIndices[which], sizeof(LilycoveLady));
sub_818DA78();
ResetLilycoveLadyForRecordMix();
if (dest != NULL)
{
sub_818E570(dest);
QuizLadyClearQuestionForRecordMix(dest);
free(dest);
}
}

View File

@ -508,7 +508,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
sprite->pos1.x = 304;
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
sprite->data[5] = 1;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{

View File

@ -62,7 +62,7 @@ static EWRAM_DATA u16 sMovingNpcMapBank = 0;
static EWRAM_DATA u16 sMovingNpcMapId = 0;
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
static u8 gUnknown_03000F30;
static u8 gBrailleWindowId;
extern const SpecialFunc gSpecials[];
extern const u8 *gStdScripts[];
@ -466,6 +466,9 @@ bool8 ScrCmd_addvar(struct ScriptContext *ctx)
{
u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
*ptr += ScriptReadHalfword(ctx);
// Note: addvar doesn't support adding from a variable in vanilla. If you were to
// add a VarGet() to the above, make sure you change the `addvar VAR_0x8006, 65535`
// in the contest scripts to `subvar VAR_0x8006, 1`, else contests will break.
return FALSE;
}
@ -1102,7 +1105,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx)
return FALSE;
}
bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
bool8 ScrCmd_copyobjectxytoperm(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
@ -1515,13 +1518,13 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
yText = (yText - yWindow - 1) * 8;
winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1);
gUnknown_03000F30 = AddWindow(&winTemplate);
LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0);
DrawStdWindowFrame(gUnknown_03000F30, 0);
PutWindowTilemap(gUnknown_03000F30);
FillWindowPixelBuffer(gUnknown_03000F30, PIXEL_FILL(1));
AddTextPrinterParameterized(gUnknown_03000F30, 6, gStringVar4, xText, yText, 0xFF, 0x0);
CopyWindowToVram(gUnknown_03000F30, 3);
gBrailleWindowId = AddWindow(&winTemplate);
LoadUserWindowBorderGfx(gBrailleWindowId, 0x214, 0xE0);
DrawStdWindowFrame(gBrailleWindowId, 0);
PutWindowTilemap(gBrailleWindowId);
FillWindowPixelBuffer(gBrailleWindowId, PIXEL_FILL(1));
AddTextPrinterParameterized(gBrailleWindowId, 6, gStringVar4, xText, yText, 0xFF, 0x0);
CopyWindowToVram(gBrailleWindowId, 3);
return FALSE;
}
@ -1630,7 +1633,7 @@ bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
sub_818E868(sScriptStringVars[stringVarIndex], index);
BufferContestName(sScriptStringVars[stringVarIndex], index);
return FALSE;
}
@ -2254,8 +2257,8 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx)
void sub_809BDB4(void)
{
ClearStdWindowAndFrame(gUnknown_03000F30, 1);
RemoveWindow(gUnknown_03000F30);
ClearStdWindowAndFrame(gBrailleWindowId, 1);
RemoveWindow(gBrailleWindowId);
}
bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx)

View File

@ -41,11 +41,11 @@ const struct MenuAction MultichoiceList_003[] =
const struct MenuAction MultichoiceList_004[] =
{
{gUnknown_085EADA4, NULL},
{gUnknown_085EADB5, NULL},
{gUnknown_085EADC4, NULL},
{gUnknown_085EADD5, NULL},
{gUnknown_085EADE7, NULL},
{gText_CoolnessContest, NULL},
{gText_BeautyContest, NULL},
{gText_CutenessContest, NULL},
{gText_SmartnessContest, NULL},
{gText_ToughnessContest, NULL},
{gText_Exit, NULL},
};

View File

@ -610,11 +610,11 @@ const u8 gUnknown_085EAD72[] = _("What's a CONTEST?");
const u8 gUnknown_085EAD84[] = _("Types of CONTESTS");
const u8 gUnknown_085EAD96[] = _("Ranks");
const u8 gUnknown_085EAD9C[] = _("Judging");
const u8 gUnknown_085EADA4[] = _("COOLNESS CONTEST");
const u8 gUnknown_085EADB5[] = _("BEAUTY CONTEST");
const u8 gUnknown_085EADC4[] = _("CUTENESS CONTEST");
const u8 gUnknown_085EADD5[] = _("SMARTNESS CONTEST");
const u8 gUnknown_085EADE7[] = _("TOUGHNESS CONTEST");
const u8 gText_CoolnessContest[] = _("COOLNESS CONTEST");
const u8 gText_BeautyContest[] = _("BEAUTY CONTEST");
const u8 gText_CutenessContest[] = _("CUTENESS CONTEST");
const u8 gText_SmartnessContest[] = _("SMARTNESS CONTEST");
const u8 gText_ToughnessContest[] = _("TOUGHNESS CONTEST");
const u8 gUnknown_085EADF9[] = _("DECORATION");
const u8 gUnknown_085EAE04[] = _("PACK UP");
const u8 gUnknown_085EAE0C[] = _("COUNT");
@ -1591,23 +1591,23 @@ const u8 gText_PkmnsNickname[] = _("{STR_VAR_1}'s nickname?");
const u8 gText_TellHimTheWords[] = _("Tell him the words.");
const u8 gText_MoveOkBack[] = _("{DPAD_NONE}MOVE {A_BUTTON}OK {B_BUTTON}BACK");
const u8 gText_CallCantBeMadeHere[] = _("A call can't be made from here.");
const u8 gUnknown_085EEB2B[] = _("HANDSOME");
const u8 gUnknown_085EEB34[] = _("VINNY");
const u8 gUnknown_085EEB3A[] = _("MOREME");
const u8 gUnknown_085EEB41[] = _("IRONHARD");
const u8 gUnknown_085EEB4A[] = _("MUSCLE");
const u8 gUnknown_085EEB51[] = _("coolness");
const u8 gUnknown_085EEB5A[] = _("beauty");
const u8 gUnknown_085EEB61[] = _("cuteness");
const u8 gUnknown_085EEB6A[] = _("smartness");
const u8 gUnknown_085EEB74[] = _("toughness");
const u8 gText_Lady2[] = _("Lady");
const u8 gUnknown_085EEB83[] = _("slippery");
const u8 gUnknown_085EEB8C[] = _("roundish");
const u8 gUnknown_085EEB95[] = _("wham-ish");
const u8 gUnknown_085EEB9E[] = _("shiny");
const u8 gUnknown_085EEBA4[] = _("sticky");
const u8 gUnknown_085EEBAB[] = _("pointy");
const u8 gText_ContestLady_Handsome[] = _("HANDSOME");
const u8 gText_ContestLady_Vinny[] = _("VINNY");
const u8 gText_ContestLady_Moreme[] = _("MOREME");
const u8 gText_ContestLady_Ironhard[] = _("IRONHARD");
const u8 gText_ContestLady_Muscle[] = _("MUSCLE");
const u8 gText_ContestLady_Coolness[] = _("coolness");
const u8 gText_ContestLady_Beauty[] = _("beauty");
const u8 gText_ContestLady_Cuteness[] = _("cuteness");
const u8 gText_ContestLady_Smartness[] = _("smartness");
const u8 gText_ContestLady_Toughness[] = _("toughness");
const u8 gText_QuizLady_Lady[] = _("Lady");
const u8 gText_FavorLady_Slippery[] = _("slippery");
const u8 gText_FavorLady_Roundish[] = _("roundish");
const u8 gText_FavorLady_Whamish[] = _("wham-ish");
const u8 gText_FavorLady_Shiny[] = _("shiny");
const u8 gText_FavorLady_Sticky[] = _("sticky");
const u8 gText_FavorLady_Pointy[] = _("pointy");
const u8 gText_RentalPkmn2[] = _("RENTAL POKéMON");
const u8 gText_SelectFirstPkmn[] = _("Select the first POKéMON.");
const u8 gText_SelectSecondPkmn[] = _("Select the second POKéMON.");

View File

@ -1657,12 +1657,12 @@ void PutLilycoveContestLadyShowOnTheAir(void)
if (gSpecialVar_Result != TRUE)
{
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
sub_818E848(&show->contestLiveUpdates2.language);
BufferContestLadyLanguage(&show->contestLiveUpdates2.language);
show->contestLiveUpdates2.pokemonNameLanguage = LANGUAGE_ENGLISH;
show->contestLiveUpdates2.kind = TVSHOW_CONTEST_LIVE_UPDATES_2;
show->contestLiveUpdates2.active = TRUE;
sub_818E81C(show->contestLiveUpdates2.playerName);
sub_818E7E0(&show->contestLiveUpdates2.contestCategory, show->contestLiveUpdates2.nickname);
BufferContestLadyPlayerName(show->contestLiveUpdates2.playerName);
BufferContestLadyMonName(&show->contestLiveUpdates2.contestCategory, show->contestLiveUpdates2.nickname);
show->contestLiveUpdates2.pokeblockState = sub_818E880();
tv_store_id_2x(show);
}
@ -5600,7 +5600,7 @@ static void DoTVShowPokemonContestLiveUpdates(void)
switch (state)
{
case 0:
sub_818E868(gStringVar1, show->contestLiveUpdates.category);
BufferContestName(gStringVar1, show->contestLiveUpdates.category);
StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.species]);
TVShowConvertInternationalString(gStringVar3, show->contestLiveUpdates.playerName, show->contestLiveUpdates.language);
if (show->contestLiveUpdates.round1Rank == show->contestLiveUpdates.round2Rank)
@ -7720,7 +7720,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void)
switch (state)
{
case 0:
sub_818E868(gStringVar1, show->contestLiveUpdates2.contestCategory);
BufferContestName(gStringVar1, show->contestLiveUpdates2.contestCategory);
if (show->contestLiveUpdates2.pokeblockState == 1)
{
sTVShowState = 1;

View File

@ -51,7 +51,7 @@
.include "src/pokenav_unk_10.o"
.include "src/ereader_helpers.o"
.include "src/faraway_island.o"
.include "asm/m4a_1.o"
.include "src/m4a_1.o"
.include "src/agb_flash.o"
.include "src/siirtc.o"
.include "*libgcc.a:dp-bit.o"