diff options
208 files changed, 5403 insertions, 8404 deletions
diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 7e95af9f4..51f8e7330 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -652,7 +652,7 @@ .4byte \pointer2 @ text .4byte \pointer3 @ text .4byte \pointer4 @ event script - .elseif \type == TRAINER_BATTLE_TUTORIAL + .elseif \type == TRAINER_BATTLE_EARLY_RIVAL .4byte \pointer1 @ text .4byte \pointer2 @ text .endif @@ -699,9 +699,9 @@ trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text .endm - @ - .macro trainerbattle_tutorial trainer:req, unk:req, intro_text:req, lose_text:req - trainerbattle TRAINER_BATTLE_TUTORIAL, \trainer, \unk, \intro_text, \lose_text + @ Starts a trainer battle with victory text if the player loses. If flags is nonzero, the player will be healed after battle (and its assumed to be the tutorial battle) + .macro trainerbattle_earlyrival trainer:req, flags:req, defeat_text:req, victory_text:req + trainerbattle TRAINER_BATTLE_EARLY_RIVAL, \trainer, \flags, \defeat_text, \victory_text .endm @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s deleted file mode 100644 index adfd66b5d..000000000 --- a/asm/union_room_chat.s +++ /dev/null @@ -1,5973 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8128420 -sub_8128420: @ 8128420 - push {r4,lr} - ldr r4, _08128450 @ =gUnknown_203B0E0 - movs r0, 0xDC - lsls r0, 1 - bl Alloc - str r0, [r4] - bl sub_812845C - ldr r1, _08128454 @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl sub_812B4AC - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08128458 @ =c2_081284E0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128450: .4byte gUnknown_203B0E0 -_08128454: .4byte gKeyRepeatStartDelay -_08128458: .4byte c2_081284E0 - thumb_func_end sub_8128420 - - thumb_func_start sub_812845C -sub_812845C: @ 812845C - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x6] - strb r5, [r4, 0x10] - strb r5, [r4, 0x11] - strb r5, [r4, 0x12] - strb r5, [r4, 0x14] - strb r5, [r4, 0x15] - strb r5, [r4, 0x16] - movs r0, 0xFF - strb r0, [r4, 0x1A] - bl GetLinkPlayerCount - strb r0, [r4, 0xD] - bl GetMultiplayerId - strb r0, [r4, 0x13] - strb r5, [r4, 0x17] - strb r5, [r4, 0x18] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, r1 - bl sub_8129560 - ldr r7, _081284B4 @ =gSaveBlock1Ptr - ldr r6, _081284B8 @ =0x00003ad4 - adds r4, 0xB9 - movs r5, 0x9 -_0812849A: - ldr r1, [r7] - adds r1, r6 - adds r0, r4, 0 - bl StringCopy - adds r6, 0x15 - adds r4, 0x15 - subs r5, 0x1 - cmp r5, 0 - bge _0812849A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081284B4: .4byte gSaveBlock1Ptr -_081284B8: .4byte 0x00003ad4 - thumb_func_end sub_812845C - - thumb_func_start sub_81284BC -sub_81284BC: @ 81284BC - push {r4,lr} - ldr r4, _081284DC @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0xE] - bl DestroyTask - ldr r0, [r4] - ldrb r0, [r0, 0xF] - bl DestroyTask - ldr r0, [r4] - bl Free - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081284DC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81284BC - - thumb_func_start c2_081284E0 -c2_081284E0: @ 81284E0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _081284FC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08128518 - cmp r0, 0x1 - bgt _08128500 - cmp r0, 0 - beq _08128506 - b _08128598 - .align 2, 0 -_081284FC: .4byte gMain -_08128500: - cmp r0, 0x2 - beq _08128554 - b _08128598 -_08128506: - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - bl sub_8129B14 - b _08128548 -_08128518: - bl sub_8129BFC - bl sub_8129B78 - adds r5, r0, 0 - cmp r5, 0 - bne _08128598 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08128550 @ =sub_81285B4 - bl SetVBlankCallback -_08128548: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _08128598 - .align 2, 0 -_08128550: .4byte sub_81285B4 -_08128554: - bl UpdatePaletteFade - ldr r0, _081285A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08128598 - ldr r0, _081285A4 @ =sub_81285CC - bl SetMainCallback2 - movs r0, 0x11 - movs r1, 0 - bl SetQuestLogEvent - ldr r0, _081285A8 @ =sub_81285E8 - movs r1, 0x8 - bl CreateTask - ldr r4, _081285AC @ =gUnknown_203B0E0 - ldr r1, [r4] - strb r0, [r1, 0xE] - ldr r0, _081285B0 @ =sub_81298F8 - movs r1, 0x7 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0xF] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0xE8 - movs r1, 0x96 - bl CreateWirelessStatusIndicatorSprite -_08128598: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081285A0: .4byte gPaletteFade -_081285A4: .4byte sub_81285CC -_081285A8: .4byte sub_81285E8 -_081285AC: .4byte gUnknown_203B0E0 -_081285B0: .4byte sub_81298F8 - thumb_func_end c2_081284E0 - - thumb_func_start sub_81285B4 -sub_81285B4: @ 81285B4 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - thumb_func_end sub_81285B4 - - thumb_func_start sub_81285CC -sub_81285CC: @ 81285CC - push {lr} - bl RunTasks - bl sub_8129BFC - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81285CC - - thumb_func_start sub_81285E8 -sub_81285E8: @ 81285E8 - push {r4,lr} - ldr r4, _08128600 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x17] - cmp r0, 0x2 - beq _0812860E - cmp r0, 0x2 - bgt _08128604 - cmp r0, 0x1 - beq _0812860A - b _0812861E - .align 2, 0 -_08128600: .4byte gUnknown_203B0E0 -_08128604: - cmp r0, 0x3 - beq _08128612 - b _0812861E -_0812860A: - movs r0, 0x6 - b _08128614 -_0812860E: - movs r0, 0x7 - b _08128614 -_08128612: - movs r0, 0x8 -_08128614: - bl sub_8129218 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x17] -_0812861E: - ldr r1, _08128638 @ =gUnknown_845A880 - ldr r0, _0812863C @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128638: .4byte gUnknown_845A880 -_0812863C: .4byte gUnknown_203B0E0 - thumb_func_end sub_81285E8 - - thumb_func_start sub_8128640 -sub_8128640: @ 8128640 - push {r4,lr} - ldr r4, _08128658 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrh r1, [r0, 0x6] - cmp r1, 0x1 - beq _08128674 - cmp r1, 0x1 - bgt _0812865C - cmp r1, 0 - beq _08128662 - b _081286BC - .align 2, 0 -_08128658: .4byte gUnknown_203B0E0 -_0812865C: - cmp r1, 0x2 - beq _081286AC - b _081286BC -_08128662: - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129568 - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] -_08128674: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081286BC - bl sub_80FBA1C - cmp r0, 0 - bne _081286BC - ldr r4, _081286A8 @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _081286BC - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _081286BC - .align 2, 0 -_081286A8: .4byte gUnknown_203B0E0 -_081286AC: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081286BC - movs r0, 0x1 - bl sub_8129218 -_081286BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128640 - - thumb_func_start sub_81286C4 -sub_81286C4: @ 81286C4 - push {r4,r5,lr} - ldr r5, _081286D8 @ =gUnknown_203B0E0 - ldr r3, [r5] - ldrh r0, [r3, 0x6] - cmp r0, 0 - beq _081286DC - cmp r0, 0x1 - beq _0812878A - b _081287AC - .align 2, 0 -_081286D8: .4byte gUnknown_203B0E0 -_081286DC: - ldr r1, _081286F8 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _081286FC - ldrb r0, [r3, 0x15] - cmp r0, 0 - beq _081287AC - movs r0, 0x4 - bl sub_8129218 - b _081287AC - .align 2, 0 -_081286F8: .4byte gMain -_081286FC: - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _0812870C - movs r0, 0x2 - bl sub_8129218 - b _081287AC -_0812870C: - ldrh r1, [r1, 0x30] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08128738 - ldrb r0, [r3, 0x15] - cmp r0, 0 - beq _08128730 - bl sub_81293AC - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r5] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _081287AC -_08128730: - movs r0, 0x3 - bl sub_8129218 - b _081287AC -_08128738: - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08128754 - bl sub_81292D8 - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - movs r0, 0x2 - movs r1, 0x1 - b _08128780 -_08128754: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _08128774 - ldrb r0, [r3, 0x10] - cmp r0, 0x3 - beq _0812876C - bl sub_81293D8 - movs r0, 0x8 - b _0812877E -_0812876C: - movs r0, 0x5 - bl sub_8129218 - b _081287AC -_08128774: - bl sub_8129228 - cmp r0, 0 - beq _081287AC - movs r0, 0x1 -_0812877E: - movs r1, 0 -_08128780: - bl sub_8129C34 - ldr r0, [r5] - strh r4, [r0, 0x6] - b _081287AC -_0812878A: - movs r0, 0 - bl sub_8129C8C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_8129C8C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - bne _081287AC - cmp r1, 0 - bne _081287AC - ldr r0, [r5] - strh r1, [r0, 0x6] -_081287AC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81286C4 - - thumb_func_start sub_81287B4 -sub_81287B4: @ 81287B4 - push {r4-r6,lr} - ldr r0, _081287CC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0x4 - bls _081287C2 - b _081288CE -_081287C2: - lsls r0, 2 - ldr r1, _081287D0 @ =_081287D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081287CC: .4byte gUnknown_203B0E0 -_081287D0: .4byte _081287D4 - .align 2, 0 -_081287D4: - .4byte _081287E8 - .4byte _081287F2 - .4byte _08128810 - .4byte _0812889C - .4byte _081288B0 -_081287E8: - movs r0, 0x3 - movs r1, 0 - bl sub_8129C34 - b _081287FE -_081287F2: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE -_081287FE: - ldr r0, _0812880C @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _081288CE - .align 2, 0 -_0812880C: .4byte gUnknown_203B0E0 -_08128810: - bl Menu_ProcessInput - lsls r0, 24 - asrs r0, 8 - lsrs r6, r0, 16 - asrs r4, r0, 16 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08128848 - adds r0, 0x1 - cmp r4, r0 - beq _08128868 - movs r0, 0x4 - movs r1, 0 - bl sub_8129C34 - ldr r5, _08128844 @ =gUnknown_203B0E0 - ldr r2, [r5] - ldrb r0, [r2, 0x10] - cmp r0, r4 - beq _08128870 - cmp r4, 0x3 - ble _08128880 - b _08128870 - .align 2, 0 -_08128844: .4byte gUnknown_203B0E0 -_08128848: - ldr r0, _08128864 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081288CE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl Menu_MoveCursor - b _081288CE - .align 2, 0 -_08128864: .4byte gMain -_08128868: - movs r0, 0x4 - movs r1, 0 - bl sub_8129C34 -_08128870: - ldr r0, _0812887C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _081288CE - .align 2, 0 -_0812887C: .4byte gUnknown_203B0E0 -_08128880: - movs r1, 0 - strb r1, [r2, 0x11] - ldr r0, [r5] - strb r1, [r0, 0x12] - movs r0, 0x5 - movs r1, 0x1 - bl sub_8129C34 - ldr r0, [r5] - strb r6, [r0, 0x10] - ldr r1, [r5] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _081288CE -_0812889C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129218 - b _081288CE -_081288B0: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129218 -_081288CE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81287B4 - - thumb_func_start sub_81288D4 -sub_81288D4: @ 81288D4 - push {r4,lr} - ldr r0, _081288EC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0xA - bls _081288E2 - b _08128A94 -_081288E2: - lsls r0, 2 - ldr r1, _081288F0 @ =_081288F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081288EC: .4byte gUnknown_203B0E0 -_081288F0: .4byte _081288F4 - .align 2, 0 -_081288F4: - .4byte _08128920 - .4byte _08128938 - .4byte _08128954 - .4byte _0812899C - .4byte _08128A44 - .4byte _08128A86 - .4byte _08128A94 - .4byte _08128A94 - .4byte _081289F0 - .4byte _081289B0 - .4byte _081289D4 -_08128920: - movs r0, 0x6 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128934 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128934: .4byte gUnknown_203B0E0 -_08128938: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _08128946 - b _08128A94 -_08128946: - ldr r0, _08128950 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128950: .4byte gUnknown_203B0E0 -_08128954: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08128966 - cmp r1, 0 - ble _08128A00 - b _08128A0A -_08128966: - ldr r4, _0812898C @ =gUnknown_203B0E0 - ldr r1, [r4] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08128990 - movs r2, 0xC8 - lsls r2, 1 - adds r0, r1, r2 - bl sub_8129614 - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r4] - movs r0, 0x9 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_0812898C: .4byte gUnknown_203B0E0 -_08128990: - movs r2, 0xC8 - lsls r2, 1 - adds r0, r1, r2 - bl sub_81295C0 - b _08128A36 -_0812899C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - movs r0, 0x1 - bl sub_8129218 - b _08128A94 -_081289B0: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - movs r0, 0x14 - movs r1, 0 - bl sub_8129C34 - ldr r0, _081289D0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xA - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_081289D0: .4byte gUnknown_203B0E0 -_081289D4: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - ldr r0, _081289EC @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x8 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_081289EC: .4byte gUnknown_203B0E0 -_081289F0: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08128A24 - cmp r1, 0 - bgt _08128A0A -_08128A00: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08128A0E - b _08128A94 -_08128A0A: - cmp r1, 0x1 - bne _08128A94 -_08128A0E: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128A20 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A20: .4byte gUnknown_203B0E0 -_08128A24: - bl sub_80FA4A8 - ldr r4, _08128A40 @ =gUnknown_203B0E0 - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129614 -_08128A36: - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A40: .4byte gUnknown_203B0E0 -_08128A44: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128A94 - bl sub_80FBA1C - cmp r0, 0 - bne _08128A94 - ldr r4, _08128A7C @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r2, 0xC8 - lsls r2, 1 - adds r1, r2 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128A94 - ldr r1, [r4] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08128A80 - movs r0, 0x6 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A7C: .4byte gUnknown_203B0E0 -_08128A80: - movs r0, 0x5 - strh r0, [r1, 0x6] - b _08128A94 -_08128A86: - ldr r0, _08128A9C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128A94 - movs r0, 0x9 - bl sub_8129218 -_08128A94: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128A9C: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_81288D4 - - thumb_func_start sub_8128AA0 -sub_8128AA0: @ 8128AA0 - push {r4,lr} - ldr r1, _08128ABC @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r2, r1, 0 - cmp r0, 0x7 - bls _08128AB0 - b _08128BFC -_08128AB0: - lsls r0, 2 - ldr r1, _08128AC0 @ =_08128AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128ABC: .4byte gUnknown_203B0E0 -_08128AC0: .4byte _08128AC4 - .align 2, 0 -_08128AC4: - .4byte _08128AE4 - .4byte _08128B08 - .4byte _08128B28 - .4byte _08128B4C - .4byte _08128B80 - .4byte _08128BA0 - .4byte _08128BC4 - .4byte _08128BE8 -_08128AE4: - ldr r0, _08128B00 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08128AF2 - b _08128BFC -_08128AF2: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128B04 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B00: .4byte sub_81298F8 -_08128B04: .4byte gUnknown_203B0E0 -_08128B08: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128BFC - movs r0, 0x12 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128B24 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B24: .4byte gUnknown_203B0E0 -_08128B28: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128BFC - ldr r4, _08128B48 @ =gUnknown_203B0E0 - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_81295EC - ldr r1, [r4] - b _08128BDA - .align 2, 0 -_08128B48: .4byte gUnknown_203B0E0 -_08128B4C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - bl sub_80FBA1C - cmp r0, 0 - bne _08128BFC - ldr r4, _08128B7C @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - ldr r1, [r4] - b _08128BDA - .align 2, 0 -_08128B7C: .4byte gUnknown_203B0E0 -_08128B80: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08128BFC - bl sub_80FBA1C - cmp r0, 0 - bne _08128BFC - ldr r0, _08128B9C @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B9C: .4byte gUnknown_203B0E0 -_08128BA0: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128BFC - bl sub_800AAC0 - ldr r0, _08128BC0 @ =gUnknown_203B0E0 - ldr r1, [r0] - strh r4, [r1, 0xA] - b _08128BDA - .align 2, 0 -_08128BC0: .4byte gUnknown_203B0E0 -_08128BC4: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128BD0 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128BD0: - ldr r0, _08128BE4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128BFC - ldr r1, [r2] -_08128BDA: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128BFC - .align 2, 0 -_08128BE4: .4byte gReceivedRemoteLinkPlayers -_08128BE8: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128BF8 - movs r0, 0x9 - bl sub_8129218 - b _08128BFC -_08128BF8: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128BFC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128AA0 - - thumb_func_start sub_8128C04 -sub_8128C04: @ 8128C04 - push {r4,r5,lr} - ldr r5, _08128C1C @ =gUnknown_203B0E0 - ldr r1, [r5] - ldrh r0, [r1, 0x6] - cmp r0, 0x1 - beq _08128C44 - cmp r0, 0x1 - bgt _08128C20 - cmp r0, 0 - beq _08128C2A - b _08128CA2 - .align 2, 0 -_08128C1C: .4byte gUnknown_203B0E0 -_08128C20: - cmp r0, 0x2 - beq _08128C6E - cmp r0, 0x3 - beq _08128C90 - b _08128CA2 -_08128C2A: - ldr r0, _08128C40 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08128CA2 - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - b _08128C80 - .align 2, 0 -_08128C40: .4byte sub_81298F8 -_08128C44: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128CA2 - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128CA2 - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128CA2 - bl sub_800AAC0 - ldr r1, [r5] - strh r4, [r1, 0xA] - b _08128C82 -_08128C6E: - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128C78 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128C78: - ldr r0, _08128C8C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128CA2 -_08128C80: - ldr r1, [r5] -_08128C82: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128CA2 - .align 2, 0 -_08128C8C: .4byte gReceivedRemoteLinkPlayers -_08128C90: - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128C9E - movs r0, 0x9 - bl sub_8129218 - b _08128CA2 -_08128C9E: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128CA2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8128C04 - - thumb_func_start sub_8128CA8 -sub_8128CA8: @ 8128CA8 - push {r4,lr} - ldr r1, _08128CC0 @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _08128D9C - lsls r0, 2 - ldr r1, _08128CC4 @ =_08128CC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128CC0: .4byte gUnknown_203B0E0 -_08128CC4: .4byte _08128CC8 - .align 2, 0 -_08128CC8: - .4byte _08128CDC - .4byte _08128D08 - .4byte _08128D30 - .4byte _08128D64 - .4byte _08128D88 -_08128CDC: - ldr r0, _08128D00 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08128D9C - ldr r4, _08128D04 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08128CFA - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 -_08128CFA: - ldr r1, [r4] - b _08128D7A - .align 2, 0 -_08128D00: .4byte sub_81298F8 -_08128D04: .4byte gUnknown_203B0E0 -_08128D08: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128D9C - ldr r4, _08128D2C @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08128D26 - movs r0, 0x13 - movs r1, 0 - bl sub_8129C34 -_08128D26: - ldr r1, [r4] - b _08128D7A - .align 2, 0 -_08128D2C: .4byte gUnknown_203B0E0 -_08128D30: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08128D9C - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128D9C - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128D9C - bl sub_800AAC0 - ldr r0, _08128D60 @ =gUnknown_203B0E0 - ldr r1, [r0] - strh r4, [r1, 0xA] - b _08128D7A - .align 2, 0 -_08128D60: .4byte gUnknown_203B0E0 -_08128D64: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128D70 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128D70: - ldr r0, _08128D84 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128D9C - ldr r1, [r2] -_08128D7A: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128D9C - .align 2, 0 -_08128D84: .4byte gReceivedRemoteLinkPlayers -_08128D88: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128D98 - movs r0, 0x9 - bl sub_8129218 - b _08128D9C -_08128D98: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128D9C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128CA8 - - thumb_func_start sub_8128DA4 -sub_8128DA4: @ 8128DA4 - push {r4,lr} - ldr r1, _08128DBC @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08128E70 - lsls r0, 2 - ldr r1, _08128DC0 @ =_08128DC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128DBC: .4byte gUnknown_203B0E0 -_08128DC0: .4byte _08128DC4 - .align 2, 0 -_08128DC4: - .4byte _08128DD8 - .4byte _08128E00 - .4byte _08128E34 - .4byte _08128E42 - .4byte _08128E60 -_08128DD8: - ldr r0, _08128DE8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128DEC - movs r0, 0x1 - bl sub_8129218 - b _08128E70 - .align 2, 0 -_08128DE8: .4byte gReceivedRemoteLinkPlayers -_08128DEC: - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129590 - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] -_08128E00: - bl IsLinkTaskFinished - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08128E70 - bl sub_80FBA1C - cmp r0, 0 - bne _08128E70 - ldr r4, _08128E30 @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128E70 - ldr r1, [r4] - b _08128E52 - .align 2, 0 -_08128E30: .4byte gUnknown_203B0E0 -_08128E34: - bl sub_8129454 - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - b _08128E4E -_08128E42: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128E70 -_08128E4E: - ldr r0, _08128E5C @ =gUnknown_203B0E0 - ldr r1, [r0] -_08128E52: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128E70 - .align 2, 0 -_08128E5C: .4byte gUnknown_203B0E0 -_08128E60: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128E70 - movs r0, 0x1 - bl sub_8129218 -_08128E70: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128DA4 - - thumb_func_start sub_8128E78 -sub_8128E78: @ 8128E78 - push {r4,lr} - ldr r0, _08128E90 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0x6 - bls _08128E86 - b _08128FA8 -_08128E86: - lsls r0, 2 - ldr r1, _08128E94 @ =_08128E98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128E90: .4byte gUnknown_203B0E0 -_08128E94: .4byte _08128E98 - .align 2, 0 -_08128E98: - .4byte _08128EB4 - .4byte _08128EE4 - .4byte _08128F38 - .4byte _08128F50 - .4byte _08128F60 - .4byte _08128F74 - .4byte _08128F8C -_08128EB4: - bl sub_8129408 - cmp r0, 0 - beq _08128ED0 - movs r0, 0x9 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128ECC @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - b _08128FA6 - .align 2, 0 -_08128ECC: .4byte gUnknown_203B0E0 -_08128ED0: - movs r0, 0xD - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128EE0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x5 - b _08128FA6 - .align 2, 0 -_08128EE0: .4byte gUnknown_203B0E0 -_08128EE4: - ldr r0, _08128F04 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08128F0C - bl sub_8129424 - movs r0, 0xB - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128F08 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - b _08128FA6 - .align 2, 0 -_08128F04: .4byte gMain -_08128F08: .4byte gUnknown_203B0E0 -_08128F0C: - movs r4, 0x2 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08128F1A - movs r0, 0xA - b _08128F9A -_08128F1A: - bl sub_8129228 - cmp r0, 0 - beq _08128FA8 - movs r0, 0x1 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128F34 @ =gUnknown_203B0E0 - ldr r0, [r0] - strh r4, [r0, 0x6] - b _08128FA8 - .align 2, 0 -_08128F34: .4byte gUnknown_203B0E0 -_08128F38: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - ldr r0, _08128F4C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x1 - b _08128FA6 - .align 2, 0 -_08128F4C: .4byte gUnknown_203B0E0 -_08128F50: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - movs r0, 0xA - b _08128F9A -_08128F60: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - movs r0, 0x1 - bl sub_8129218 - b _08128FA8 -_08128F74: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - ldr r0, _08128F88 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x6 - b _08128FA6 - .align 2, 0 -_08128F88: .4byte gUnknown_203B0E0 -_08128F8C: - ldr r0, _08128FB0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08128FA8 - movs r0, 0x7 -_08128F9A: - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128FB4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x4 -_08128FA6: - strh r0, [r1, 0x6] -_08128FA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128FB0: .4byte gMain -_08128FB4: .4byte gUnknown_203B0E0 - thumb_func_end sub_8128E78 - - thumb_func_start sub_8128FB8 -sub_8128FB8: @ 8128FB8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08128FD4 @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r4, r1, 0 - cmp r0, 0xD - bls _08128FCA - b _08129206 -_08128FCA: - lsls r0, 2 - ldr r1, _08128FD8 @ =_08128FDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128FD4: .4byte gUnknown_203B0E0 -_08128FD8: .4byte _08128FDC - .align 2, 0 -_08128FDC: - .4byte _08129014 - .4byte _0812902E - .4byte _08129054 - .4byte _08129098 - .4byte _081290BC - .4byte _081290D8 - .4byte _0812911C - .4byte _08129144 - .4byte _08129168 - .4byte _08129180 - .4byte _081291A4 - .4byte _081291B2 - .4byte _081291C8 - .4byte _081291E8 -_08129014: - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0 - bne _0812901E - b _081291C2 -_0812901E: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _08129206 -_0812902E: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _0812903C - b _08129206 -_0812903C: - movs r0, 0xE - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129050 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129050: .4byte gUnknown_203B0E0 -_08129054: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08129080 - cmp r1, 0 - bgt _0812906E - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08129074 - b _08129206 -_0812906E: - cmp r1, 0x1 - beq _08129074 - b _08129206 -_08129074: - ldr r0, _0812907C @ =gUnknown_203B0E0 - ldr r1, [r0] - b _081291C2 - .align 2, 0 -_0812907C: .4byte gUnknown_203B0E0 -_08129080: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129094 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129094: .4byte gUnknown_203B0E0 -_08129098: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _081290A6 - b _08129206 -_081290A6: - movs r0, 0xF - movs r1, 0 - bl sub_8129C34 - ldr r0, _081290B8 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081290B8: .4byte gUnknown_203B0E0 -_081290BC: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _081290CA - b _08129206 -_081290CA: - ldr r0, _081290D4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x5 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081290D4: .4byte gUnknown_203B0E0 -_081290D8: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08129104 - cmp r1, 0 - bgt _081290F2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081290F8 - b _08129206 -_081290F2: - cmp r1, 0x1 - beq _081290F8 - b _08129206 -_081290F8: - ldr r0, _08129100 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _081291C2 - .align 2, 0 -_08129100: .4byte gUnknown_203B0E0 -_08129104: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129118 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x6 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129118: .4byte gUnknown_203B0E0 -_0812911C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - movs r0, 0x10 - movs r1, 0 - bl sub_8129C34 - bl sub_8129470 - ldr r0, _08129140 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x7 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129140: .4byte gUnknown_203B0E0 -_08129144: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - bl SetContinueGameWarpStatusToDynamicWarp - movs r0, 0 - bl TrySavingData - ldr r0, _08129164 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x8 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129164: .4byte gUnknown_203B0E0 -_08129168: - movs r0, 0x11 - movs r1, 0 - bl sub_8129C34 - ldr r0, _0812917C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x9 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_0812917C: .4byte gUnknown_203B0E0 -_08129180: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - movs r0, 0x30 - bl PlaySE - bl ClearContinueGameWarpStatus2 - ldr r0, _081291A0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xA - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081291A0: .4byte gUnknown_203B0E0 -_081291A4: - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x19] - ldr r1, [r4] - movs r0, 0xB - strh r0, [r1, 0x6] - b _08129206 -_081291B2: - ldr r0, [r4] - ldrb r1, [r0, 0x19] - adds r1, 0x1 - strb r1, [r0, 0x19] - ldr r1, [r4] - ldrb r0, [r1, 0x19] - cmp r0, 0x78 - bls _08129206 -_081291C2: - movs r0, 0xC - strh r0, [r1, 0x6] - b _08129206 -_081291C8: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081291E4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xD - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081291E4: .4byte gUnknown_203B0E0 -_081291E8: - ldr r0, _08129210 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08129206 - bl sub_812B4B8 - bl sub_8129B88 - bl sub_81284BC - ldr r0, _08129214 @ =CB2_ReturnToField - bl SetMainCallback2 -_08129206: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129210: .4byte gPaletteFade -_08129214: .4byte CB2_ReturnToField - thumb_func_end sub_8128FB8 - - thumb_func_start sub_8129218 -sub_8129218: @ 8129218 - ldr r1, _08129224 @ =gUnknown_203B0E0 - ldr r1, [r1] - movs r2, 0 - strh r0, [r1, 0x4] - strh r2, [r1, 0x6] - bx lr - .align 2, 0 -_08129224: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129218 - - thumb_func_start sub_8129228 -sub_8129228: @ 8129228 - push {lr} - ldr r0, _08129258 @ =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _081292B2 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08129268 - ldr r0, _0812925C @ =gUnknown_203B0E0 - ldr r2, [r0] - ldr r1, _08129260 @ =gUnknown_845A8A8 - ldrb r0, [r2, 0x10] - adds r0, r1 - ldrb r1, [r2, 0x12] - ldrb r0, [r0] - cmp r1, r0 - bcs _08129264 - adds r0, r1, 0x1 - b _081292CC - .align 2, 0 -_08129258: .4byte gMain -_0812925C: .4byte gUnknown_203B0E0 -_08129260: .4byte gUnknown_845A8A8 -_08129264: - strb r3, [r2, 0x12] - b _081292CE -_08129268: - ldr r0, _0812928C @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0x3 - beq _081292AE - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _08129296 - ldrb r0, [r1, 0x11] - cmp r0, 0 - beq _08129290 - subs r0, 0x1 - strb r0, [r1, 0x11] - b _081292CE - .align 2, 0 -_0812928C: .4byte gUnknown_203B0E0 -_08129290: - movs r0, 0x4 - strb r0, [r1, 0x11] - b _081292CE -_08129296: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _081292AE - ldrb r0, [r1, 0x11] - cmp r0, 0x3 - bhi _081292AA - adds r0, 0x1 - strb r0, [r1, 0x11] - b _081292CE -_081292AA: - strb r3, [r1, 0x11] - b _081292CE -_081292AE: - movs r0, 0 - b _081292D0 -_081292B2: - ldr r0, _081292C0 @ =gUnknown_203B0E0 - ldr r2, [r0] - ldrb r0, [r2, 0x12] - cmp r0, 0 - beq _081292C4 - subs r0, 0x1 - b _081292CC - .align 2, 0 -_081292C0: .4byte gUnknown_203B0E0 -_081292C4: - ldr r0, _081292D4 @ =gUnknown_845A8A8 - ldrb r1, [r2, 0x10] - adds r1, r0 - ldrb r0, [r1] -_081292CC: - strb r0, [r2, 0x12] -_081292CE: - movs r0, 0x1 -_081292D0: - pop {r1} - bx r1 - .align 2, 0 -_081292D4: .4byte gUnknown_845A8A8 - thumb_func_end sub_8129228 - - thumb_func_start sub_81292D8 -sub_81292D8: @ 81292D8 - push {r4-r6,lr} - sub sp, 0x18 - ldr r0, _08129318 @ =gUnknown_203B0E0 - ldr r5, [r0] - ldrb r0, [r5, 0x10] - cmp r0, 0x3 - beq _08129320 - ldr r3, _0812931C @ =gUnknown_845A9AC - ldrb r1, [r5, 0x12] - lsls r1, 2 - adds r2, r0, 0 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldr r4, [r1] - ldrb r0, [r5, 0x11] - cmp r0, 0 - beq _08129312 - adds r1, r0, 0 -_08129302: - ldrb r0, [r4] - cmp r0, 0xF9 - bne _0812930A - adds r4, 0x1 -_0812930A: - adds r4, 0x1 - subs r1, 0x1 - cmp r1, 0 - bne _08129302 -_08129312: - movs r5, 0x1 - b _08129346 - .align 2, 0 -_08129318: .4byte gUnknown_203B0E0 -_0812931C: .4byte gUnknown_845A9AC -_08129320: - ldrb r0, [r5, 0x12] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r0 - adds r1, 0xB9 - adds r1, r5, r1 - mov r0, sp - bl StringCopy - movs r1, 0 - strb r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x1] - mov r4, sp - mov r0, sp - bl StringLength_Multibyte - adds r5, r0, 0 -_08129346: - ldr r6, _081293A8 @ =gUnknown_203B0E0 - ldr r1, [r6] - ldrb r0, [r1, 0x15] - strb r0, [r1, 0x14] - cmp r4, 0 - beq _0812939E - bl sub_81294C8 - adds r2, r0, 0 - subs r5, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0812939A - ldr r0, [r6] - ldrb r0, [r0, 0x15] - cmp r0, 0xE - bhi _0812939A - adds r3, r6, 0 -_0812936C: - ldrb r0, [r4] - cmp r0, 0xF9 - bne _08129378 - strb r0, [r2] - adds r4, 0x1 - adds r2, 0x1 -_08129378: - ldrb r0, [r4] - strb r0, [r2] - adds r4, 0x1 - adds r2, 0x1 - ldr r1, [r3] - ldrb r0, [r1, 0x15] - adds r0, 0x1 - strb r0, [r1, 0x15] - subs r5, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0812939A - ldr r0, [r3] - ldrb r0, [r0, 0x15] - cmp r0, 0xE - bls _0812936C -_0812939A: - movs r0, 0xFF - strb r0, [r2] -_0812939E: - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081293A8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81292D8 - - thumb_func_start sub_81293AC -sub_81293AC: @ 81293AC - push {r4,lr} - ldr r4, _081293D4 @ =gUnknown_203B0E0 - ldr r1, [r4] - ldrb r0, [r1, 0x15] - strb r0, [r1, 0x14] - ldr r0, [r4] - ldrb r0, [r0, 0x15] - cmp r0, 0 - beq _081293CE - bl sub_81294EC - movs r1, 0xFF - strb r1, [r0] - ldr r1, [r4] - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x15] -_081293CE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081293D4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81293AC - - thumb_func_start sub_81293D8 -sub_81293D8: @ 81293D8 - push {lr} - ldr r0, _08129400 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x14] - bl sub_81294EC - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0xF9 - beq _081293FC - ldr r1, _08129404 @ =gUnknown_845A8AC - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081293FC - strb r0, [r2] -_081293FC: - pop {r0} - bx r0 - .align 2, 0 -_08129400: .4byte gUnknown_203B0E0 -_08129404: .4byte gUnknown_845A8AC - thumb_func_end sub_81293D8 - - thumb_func_start sub_8129408 -sub_8129408: @ 8129408 - push {lr} - ldr r0, _08129418 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - bne _0812941C - movs r0, 0 - b _0812941E - .align 2, 0 -_08129418: .4byte gUnknown_203B0E0 -_0812941C: - movs r0, 0x1 -_0812941E: - pop {r1} - bx r1 - thumb_func_end sub_8129408 - - thumb_func_start sub_8129424 -sub_8129424: @ 8129424 - push {r4,lr} - bl sub_8129758 - adds r1, r0, 0 - ldr r4, _08129450 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r3, [r0, 0x12] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 2 - adds r2, r3 - adds r2, 0xB9 - adds r0, r2 - bl StringCopy - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x18] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129450: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129424 - - thumb_func_start sub_8129454 -sub_8129454: @ 8129454 - ldr r1, _0812946C @ =gUnknown_203B0E0 - ldr r2, [r1] - movs r0, 0xFF - strb r0, [r2, 0x1A] - ldr r2, [r1] - movs r3, 0 - movs r0, 0xF - strb r0, [r2, 0x14] - ldr r0, [r1] - strb r3, [r0, 0x15] - bx lr - .align 2, 0 -_0812946C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129454 - - thumb_func_start sub_8129470 -sub_8129470: @ 8129470 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _081294A4 @ =gSaveBlock1Ptr - mov r8, r0 - ldr r7, _081294A8 @ =gUnknown_203B0E0 - movs r6, 0xB9 - ldr r5, _081294AC @ =0x00003ad4 - movs r4, 0x9 -_08129482: - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - ldr r1, [r7] - adds r1, r6 - bl StringCopy - adds r6, 0x15 - adds r5, 0x15 - subs r4, 0x1 - cmp r4, 0 - bge _08129482 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081294A4: .4byte gSaveBlock1Ptr -_081294A8: .4byte gUnknown_203B0E0 -_081294AC: .4byte 0x00003ad4 - thumb_func_end sub_8129470 - - thumb_func_start sub_81294B0 -sub_81294B0: @ 81294B0 - ldr r2, _081294C4 @ =gUnknown_203B0E0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r0 - adds r1, 0xB9 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_081294C4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294B0 - - thumb_func_start sub_81294C8 -sub_81294C8: @ 81294C8 - push {lr} - ldr r0, _081294E8 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - ldrb r0, [r0, 0x1A] - cmp r0, 0xFF - beq _081294E0 -_081294D8: - adds r1, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _081294D8 -_081294E0: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_081294E8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294C8 - - thumb_func_start sub_81294EC -sub_81294EC: @ 81294EC - push {lr} - ldr r0, _08129518 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0x1A - adds r1, r2, 0 - ldrb r0, [r0, 0x1A] - cmp r0, 0xFF - beq _08129510 -_081294FE: - adds r2, r1, 0 - ldrb r0, [r2] - cmp r0, 0xF9 - bne _08129508 - adds r1, r2, 0x1 -_08129508: - adds r1, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _081294FE -_08129510: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08129518: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294EC - - thumb_func_start sub_812951C -sub_812951C: @ 812951C - push {r4,lr} - ldr r4, _0812955C @ =gUnknown_203B0E0 - ldr r0, [r4] - adds r0, 0x1A - bl StringLength_Multibyte - adds r2, r0, 0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x1A - movs r4, 0 - cmp r2, 0xA - bls _08129550 - subs r2, 0xA - movs r3, 0 - cmp r4, r2 - bcs _08129550 -_0812953E: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _08129546 - adds r1, 0x1 -_08129546: - adds r1, 0x1 - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - bcc _0812953E -_08129550: - lsls r0, r4, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812955C: .4byte gUnknown_203B0E0 - thumb_func_end sub_812951C - - thumb_func_start sub_8129560 -sub_8129560: @ 8129560 - movs r1, 0 - strb r1, [r0] - bx lr - thumb_func_end sub_8129560 - - thumb_func_start sub_8129568 -sub_8129568: @ 8129568 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _08129588 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _0812958C @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129588: .4byte gSaveBlock2Ptr -_0812958C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129568 - - thumb_func_start sub_8129590 -sub_8129590: @ 8129590 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _081295B8 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - adds r4, 0x9 - ldr r0, _081295BC @ =gUnknown_203B0E0 - ldr r1, [r0] - adds r1, 0x1A - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081295B8: .4byte gSaveBlock2Ptr -_081295BC: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129590 - - thumb_func_start sub_81295C0 -sub_81295C0: @ 81295C0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _081295E4 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _081295E8 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - bl sub_80FB9D0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081295E4: .4byte gSaveBlock2Ptr -_081295E8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81295C0 - - thumb_func_start sub_81295EC -sub_81295EC: @ 81295EC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _0812960C @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _08129610 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812960C: .4byte gSaveBlock2Ptr -_08129610: .4byte gUnknown_203B0E0 - thumb_func_end sub_81295EC - - thumb_func_start sub_8129614 -sub_8129614: @ 8129614 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _08129634 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _08129638 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129634: .4byte gSaveBlock2Ptr -_08129638: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129614 - - thumb_func_start sub_812963C -sub_812963C: @ 812963C - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - ldrb r0, [r5] - adds r1, r0, 0 - adds r4, r5, 0x1 - adds r5, r4, 0 - adds r5, 0x8 - cmp r0, 0x2 - beq _08129664 - cmp r0, 0x2 - bgt _0812965A - cmp r0, 0x1 - beq _08129688 - b _081296EC -_0812965A: - cmp r1, 0x3 - beq _081296BE - cmp r1, 0x5 - beq _081296B2 - b _081296EC -_08129664: - ldr r0, _08129680 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - ldrb r1, [r4, 0x8] - cmp r0, r1 - beq _081296EC - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _08129684 @ =gUnknown_841B3AA - b _081296D8 - .align 2, 0 -_08129680: .4byte gUnknown_203B0E0 -_08129684: .4byte gUnknown_841B3AA -_08129688: - adds r0, r6, 0 - adds r1, r4, 0 - bl StringCopy - movs r1, 0xFC - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x13 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x2A - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF0 - strb r1, [r0] - adds r0, 0x1 - adds r1, r5, 0 - bl StringCopy - movs r0, 0x1 - b _081296EE -_081296B2: - ldr r0, _081296E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x79 - adds r1, r4, 0 - bl StringCopy -_081296BE: - ldr r0, _081296E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - ldrb r5, [r5] - cmp r0, r5 - beq _081296EC - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _081296E8 @ =gUnknown_841B3BE -_081296D8: - adds r0, r6, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x1 - b _081296EE - .align 2, 0 -_081296E4: .4byte gUnknown_203B0E0 -_081296E8: .4byte gUnknown_841B3BE -_081296EC: - movs r0, 0 -_081296EE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_812963C - - thumb_func_start sub_81296F4 -sub_81296F4: @ 81296F4 - ldr r0, _081296FC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - bx lr - .align 2, 0 -_081296FC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81296F4 - - thumb_func_start sub_8129700 -sub_8129700: @ 8129700 - ldr r2, _08129710 @ =gUnknown_203B0E0 - ldr r3, [r2] - ldrb r2, [r3, 0x11] - strb r2, [r0] - ldrb r0, [r3, 0x12] - strb r0, [r1] - bx lr - .align 2, 0 -_08129710: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129700 - - thumb_func_start sub_8129714 -sub_8129714: @ 8129714 - ldr r0, _0812971C @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x1A - bx lr - .align 2, 0 -_0812971C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129714 - - thumb_func_start sub_8129720 -sub_8129720: @ 8129720 - push {lr} - bl sub_8129714 - bl StringLength_Multibyte - pop {r1} - bx r1 - thumb_func_end sub_8129720 - - thumb_func_start sub_8129730 -sub_8129730: @ 8129730 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08129748 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r3, [r0, 0x15] - ldrb r2, [r0, 0x14] - subs r0, r3, r2 - cmp r0, 0 - bge _0812974C - negs r0, r0 - str r3, [r4] - b _0812974E - .align 2, 0 -_08129748: .4byte gUnknown_203B0E0 -_0812974C: - str r2, [r4] -_0812974E: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8129730 - - thumb_func_start sub_8129758 -sub_8129758: @ 8129758 - push {lr} - bl sub_812951C - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08129784 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - cmp r2, 0 - beq _0812977E -_0812976E: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _08129776 - adds r1, 0x1 -_08129776: - adds r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0812976E -_0812977E: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_08129784: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129758 - - thumb_func_start sub_8129788 -sub_8129788: @ 8129788 - push {r4,lr} - bl sub_812951C - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _081297C0 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - movs r2, 0 - movs r3, 0 - cmp r2, r4 - bcs _081297B8 -_081297A2: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _081297AA - adds r1, 0x1 -_081297AA: - adds r1, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - adds r3, 0x1 - cmp r3, r4 - bcc _081297A2 -_081297B8: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081297C0: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129788 - - thumb_func_start sub_81297C4 -sub_81297C4: @ 81297C4 - ldr r0, _081297CC @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x39 - bx lr - .align 2, 0 -_081297CC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297C4 - - thumb_func_start sub_81297D0 -sub_81297D0: @ 81297D0 - ldr r0, _081297D8 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - bx lr - .align 2, 0 -_081297D8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297D0 - - thumb_func_start sub_81297DC -sub_81297DC: @ 81297DC - ldr r0, _081297E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - bx lr - .align 2, 0 -_081297E4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297DC - - thumb_func_start sub_81297E8 -sub_81297E8: @ 81297E8 - push {lr} - bl sub_81294EC - ldrb r1, [r0] - cmp r1, 0xFF - bhi _08129802 - ldr r0, _08129808 @ =gUnknown_845A8AC - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, r1 - beq _08129802 - cmp r0, 0 - bne _0812980C -_08129802: - movs r0, 0x3 - b _0812980E - .align 2, 0 -_08129808: .4byte gUnknown_845A8AC -_0812980C: - movs r0, 0 -_0812980E: - pop {r1} - bx r1 - thumb_func_end sub_81297E8 - - thumb_func_start sub_8129814 -sub_8129814: @ 8129814 - ldr r0, _0812981C @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x79 - bx lr - .align 2, 0 -_0812981C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129814 - - thumb_func_start copy_strings_to_sav1 -copy_strings_to_sav1: @ 8129820 - push {r4,lr} - ldr r4, _081298A4 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _081298A8 @ =0x00003ad4 - adds r0, r1 - ldr r1, _081298AC @ =gUnknown_841B510 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298B0 @ =0x00003ae9 - adds r0, r1 - ldr r1, _081298B4 @ =gUnknown_841B516 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298B8 @ =0x00003afe - adds r0, r1 - ldr r1, _081298BC @ =gUnknown_841B51E - bl StringCopy - ldr r0, [r4] - ldr r1, _081298C0 @ =0x00003b13 - adds r0, r1 - ldr r1, _081298C4 @ =gUnknown_841B524 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298C8 @ =0x00003b28 - adds r0, r1 - ldr r1, _081298CC @ =gUnknown_841B52B - bl StringCopy - ldr r0, [r4] - ldr r1, _081298D0 @ =0x00003b3d - adds r0, r1 - ldr r1, _081298D4 @ =gUnknown_841B531 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298D8 @ =0x00003b52 - adds r0, r1 - ldr r1, _081298DC @ =gUnknown_841B535 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298E0 @ =0x00003b67 - adds r0, r1 - ldr r1, _081298E4 @ =gUnknown_841B53B - bl StringCopy - ldr r0, [r4] - ldr r1, _081298E8 @ =0x00003b7c - adds r0, r1 - ldr r1, _081298EC @ =gUnknown_841B541 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298F0 @ =0x00003b91 - adds r0, r1 - ldr r1, _081298F4 @ =gUnknown_841B54B - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081298A4: .4byte gSaveBlock1Ptr -_081298A8: .4byte 0x00003ad4 -_081298AC: .4byte gUnknown_841B510 -_081298B0: .4byte 0x00003ae9 -_081298B4: .4byte gUnknown_841B516 -_081298B8: .4byte 0x00003afe -_081298BC: .4byte gUnknown_841B51E -_081298C0: .4byte 0x00003b13 -_081298C4: .4byte gUnknown_841B524 -_081298C8: .4byte 0x00003b28 -_081298CC: .4byte gUnknown_841B52B -_081298D0: .4byte 0x00003b3d -_081298D4: .4byte gUnknown_841B531 -_081298D8: .4byte 0x00003b52 -_081298DC: .4byte gUnknown_841B535 -_081298E0: .4byte 0x00003b67 -_081298E4: .4byte gUnknown_841B53B -_081298E8: .4byte 0x00003b7c -_081298EC: .4byte gUnknown_841B541 -_081298F0: .4byte 0x00003b91 -_081298F4: .4byte gUnknown_841B54B - thumb_func_end copy_strings_to_sav1 - - thumb_func_start sub_81298F8 -sub_81298F8: @ 81298F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812991C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _08129912 - b _08129B08 -_08129912: - lsls r0, 2 - ldr r1, _08129920 @ =_08129924 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812991C: .4byte gTasks+0x8 -_08129920: .4byte _08129924 - .align 2, 0 -_08129924: - .4byte _08129944 - .4byte _08129952 - .4byte _08129AEC - .4byte _081299A0 - .4byte _08129A8C - .4byte _08129AC4 - .4byte _08129AD8 - .4byte _08129A7C -_08129944: - ldr r0, _08129978 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0812994E - b _08129AE0 -_0812994E: - movs r0, 0x1 - strh r0, [r4] -_08129952: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - strh r0, [r4, 0x8] - ldr r3, _0812997C @ =gUnknown_203B0E0 - ldr r0, [r3] - ldrb r1, [r0, 0xD] - movs r5, 0x8 - ldrsh r0, [r4, r5] - cmp r1, r0 - beq _08129980 - movs r0, 0x2 - strh r0, [r4] - ldr r0, [r3] - strb r2, [r0, 0xD] - b _08129B08 - .align 2, 0 -_08129978: .4byte gReceivedRemoteLinkPlayers -_0812997C: .4byte gUnknown_203B0E0 -_08129980: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x6] - cmp r0, 0 - bne _08129998 - bl sub_80FBA1C - cmp r0, 0 - beq _08129998 - b _08129B08 -_08129998: - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x3 - strh r0, [r4] -_081299A0: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bgt _081299DA - movs r2, 0x6 - ldrsh r0, [r4, r2] - movs r3, 0x2 - ldrsh r1, [r4, r3] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081299DA - movs r2, 0x1 -_081299BC: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _081299DA - movs r5, 0x6 - ldrsh r0, [r4, r5] - movs r3, 0x2 - ldrsh r1, [r4, r3] - asrs r0, r1 - ands r0, r2 - cmp r0, 0 - beq _081299BC -_081299DA: - ldrh r1, [r4, 0x2] - movs r5, 0x2 - ldrsh r0, [r4, r5] - cmp r0, 0x5 - bne _081299E6 - b _08129B04 -_081299E6: - strh r1, [r4, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - movs r1, 0x2 - ldrsh r0, [r4, r1] - lsls r0, 8 - ldr r1, _08129A0C @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bhi _08129A28 - lsls r0, 2 - ldr r1, _08129A10 @ =_08129A14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08129A0C: .4byte gBlockRecvBuffer -_08129A10: .4byte _08129A14 - .align 2, 0 -_08129A14: - .4byte _08129A28 - .4byte _08129A2C - .4byte _08129A30 - .4byte _08129A34 - .4byte _08129A38 -_08129A28: - movs r0, 0x3 - b _08129A3A -_08129A2C: - movs r0, 0x3 - b _08129A3A -_08129A30: - movs r0, 0x4 - b _08129A3A -_08129A34: - movs r0, 0x5 - b _08129A3A -_08129A38: - movs r0, 0x6 -_08129A3A: - strh r0, [r4, 0xA] - ldr r5, _08129A68 @ =gUnknown_203B0E0 - ldr r0, [r5] - adds r0, 0x39 - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 8 - ldr r2, _08129A6C @ =gBlockRecvBuffer - adds r1, r2 - bl sub_812963C - cmp r0, 0 - beq _08129A70 - ldr r0, [r5] - ldrh r1, [r4, 0x2] - strb r1, [r0, 0x16] - movs r0, 0xC - movs r1, 0x2 - bl sub_8129C34 - movs r0, 0x7 - b _08129A72 - .align 2, 0 -_08129A68: .4byte gUnknown_203B0E0 -_08129A6C: .4byte gBlockRecvBuffer -_08129A70: - ldrh r0, [r4, 0xA] -_08129A72: - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - b _08129B08 -_08129A7C: - movs r0, 0x2 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129B08 - ldrh r0, [r4, 0xA] - b _08129B06 -_08129A8C: - ldr r6, _08129AB4 @ =gUnknown_203B0E0 - ldr r0, [r6] - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _08129AC0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08129AC0 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08129AB8 - bl sub_80FA4A8 - ldr r1, [r6] - movs r0, 0x1 - b _08129ADE - .align 2, 0 -_08129AB4: .4byte gUnknown_203B0E0 -_08129AB8: - movs r5, 0x4 - ldrsh r0, [r4, r5] - bl sub_80FBD6C -_08129AC0: - movs r0, 0x3 - b _08129B06 -_08129AC4: - ldr r0, _08129AD4 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _08129AE0 - movs r0, 0x2 - b _08129ADE - .align 2, 0 -_08129AD4: .4byte gUnknown_203B0E0 -_08129AD8: - ldr r0, _08129AE8 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 -_08129ADE: - strb r0, [r1, 0x17] -_08129AE0: - adds r0, r5, 0 - bl DestroyTask - b _08129B08 - .align 2, 0 -_08129AE8: .4byte gUnknown_203B0E0 -_08129AEC: - bl sub_80FBA1C - cmp r0, 0 - bne _08129B08 - ldr r0, _08129B10 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08129B04 - ldrb r0, [r1, 0xD] - bl sub_80FB030 -_08129B04: - movs r0, 0x1 -_08129B06: - strh r0, [r4] -_08129B08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08129B10: .4byte gUnknown_203B0E0 - thumb_func_end sub_81298F8 - - thumb_func_start sub_8129B14 -sub_8129B14: @ 8129B14 - push {r4,lr} - ldr r4, _08129B60 @ =gUnknown_203B0E4 - ldr r0, _08129B64 @ =0x00002168 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _08129B70 - bl sub_812AE70 - cmp r0, 0 - beq _08129B70 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08129B68 @ =gUnknown_845AA84 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _08129B6C @ =gUnknown_845AA94 - bl InitWindows - bl ResetTempTileDataBuffers - bl sub_812AD50 - ldr r0, [r4] - bl sub_8129BB8 - bl sub_8129BC4 - movs r0, 0 - movs r1, 0 - bl sub_8129C34 - movs r0, 0x1 - b _08129B72 - .align 2, 0 -_08129B60: .4byte gUnknown_203B0E4 -_08129B64: .4byte 0x00002168 -_08129B68: .4byte gUnknown_845AA84 -_08129B6C: .4byte gUnknown_845AA94 -_08129B70: - movs r0, 0 -_08129B72: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129B14 - - thumb_func_start sub_8129B78 -sub_8129B78: @ 8129B78 - push {lr} - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8129B78 - - thumb_func_start sub_8129B88 -sub_8129B88: @ 8129B88 - push {r4,lr} - bl sub_812AEB0 - ldr r4, _08129BB0 @ =gUnknown_203B0E4 - ldr r0, [r4] - cmp r0, 0 - beq _08129B9E - bl Free - movs r0, 0 - str r0, [r4] -_08129B9E: - bl FreeAllWindowBuffers - ldr r1, _08129BB4 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129BB0: .4byte gUnknown_203B0E4 -_08129BB4: .4byte gScanlineEffect - thumb_func_end sub_8129B88 - - thumb_func_start sub_8129BB8 -sub_8129BB8: @ 8129BB8 - movs r2, 0 - movs r1, 0xFF - strh r1, [r0, 0x18] - strh r1, [r0, 0x1E] - strh r2, [r0, 0x1A] - bx lr - thumb_func_end sub_8129BB8 - - thumb_func_start sub_8129BC4 -sub_8129BC4: @ 8129BC4 - push {r4,r5,lr} - ldr r1, _08129BF4 @ =gUnknown_203B0E4 - ldr r0, [r1] - cmp r0, 0 - beq _08129BEC - movs r2, 0 - adds r4, r1, 0 - ldr r5, _08129BF8 @ =sub_812A420 - movs r3, 0 -_08129BD6: - ldr r0, [r4] - lsls r1, r2, 3 - adds r0, r1 - str r5, [r0] - strb r3, [r0, 0x4] - ldr r0, [r4] - adds r0, r1 - strb r3, [r0, 0x5] - adds r2, 0x1 - cmp r2, 0x2 - ble _08129BD6 -_08129BEC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08129BF4: .4byte gUnknown_203B0E4 -_08129BF8: .4byte sub_812A420 - thumb_func_end sub_8129BC4 - - thumb_func_start sub_8129BFC -sub_8129BFC: @ 8129BFC - push {r4-r6,lr} - ldr r1, _08129C30 @ =gUnknown_203B0E4 - ldr r0, [r1] - cmp r0, 0 - beq _08129C2A - movs r5, 0 - adds r6, r1, 0 -_08129C0A: - ldr r0, [r6] - lsls r4, r5, 3 - adds r1, r0, r4 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08129C24 - adds r0, r1, 0x5 - ldr r1, [r1] - bl _call_via_r1 - ldr r1, [r6] - adds r1, r4 - strb r0, [r1, 0x4] -_08129C24: - adds r5, 0x1 - cmp r5, 0x2 - ble _08129C0A -_08129C2A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08129C30: .4byte gUnknown_203B0E4 - thumb_func_end sub_8129BFC - - thumb_func_start sub_8129C34 -sub_8129C34: @ 8129C34 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - ldr r3, _08129C70 @ =gUnknown_203B0E4 - ldr r0, [r3] - lsrs r1, 21 - adds r0, r1 - ldr r2, _08129C74 @ =sub_812A420 - str r2, [r0] - movs r4, 0 - adds r5, r3, 0 - adds r3, r1, 0 - mov r12, r4 - ldr r1, _08129C78 @ =gUnknown_845AABC - movs r7, 0x1 - adds r2, r1, 0x4 -_08129C56: - ldrh r0, [r1] - cmp r0, r6 - bne _08129C7C - ldr r1, [r5] - adds r1, r3 - ldr r0, [r2] - str r0, [r1] - strb r7, [r1, 0x4] - ldr r0, [r5] - adds r0, r3 - mov r1, r12 - strb r1, [r0, 0x5] - b _08129C86 - .align 2, 0 -_08129C70: .4byte gUnknown_203B0E4 -_08129C74: .4byte sub_812A420 -_08129C78: .4byte gUnknown_845AABC -_08129C7C: - adds r1, 0x8 - adds r2, 0x8 - adds r4, 0x1 - cmp r4, 0x14 - bls _08129C56 -_08129C86: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8129C34 - - thumb_func_start sub_8129C8C -sub_8129C8C: @ 8129C8C - lsls r0, 24 - ldr r1, _08129C9C @ =gUnknown_203B0E4 - ldr r1, [r1] - lsrs r0, 21 - adds r1, r0 - ldrb r0, [r1, 0x4] - bx lr - .align 2, 0 -_08129C9C: .4byte gUnknown_203B0E4 - thumb_func_end sub_8129C8C - - thumb_func_start sub_8129CA0 -sub_8129CA0: @ 8129CA0 - push {r4,lr} - adds r4, r0, 0 - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08129D36 - ldrb r0, [r4] - cmp r0, 0x6 - bhi _08129D2C - lsls r0, 2 - ldr r1, _08129CC0 @ =_08129CC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08129CC0: .4byte _08129CC4 - .align 2, 0 -_08129CC4: - .4byte _08129CE0 - .4byte _08129CEA - .4byte _08129CF0 - .4byte _08129CF6 - .4byte _08129CFC - .4byte _08129D02 - .4byte _08129D14 -_08129CE0: - bl sub_812AAD4 - bl sub_812AB8C - b _08129D30 -_08129CEA: - bl sub_812ABD8 - b _08129D30 -_08129CF0: - bl sub_812AC08 - b _08129D30 -_08129CF6: - bl sub_812AC58 - b _08129D30 -_08129CFC: - bl sub_812AC9C - b _08129D30 -_08129D02: - bl sub_812ACC0 - bl sub_812ACEC - bl sub_812AD20 - bl sub_812AD04 - b _08129D30 -_08129D14: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129D30 - bl sub_812AEC8 - bl sub_812B048 - bl sub_812B100 - b _08129D30 -_08129D2C: - movs r0, 0 - b _08129D38 -_08129D30: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129D36: - movs r0, 0x1 -_08129D38: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129CA0 - - thumb_func_start sub_8129D40 -sub_8129D40: @ 8129D40 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129D50 - cmp r0, 0x1 - beq _08129D5E - b _08129D68 -_08129D50: - bl sub_812AA10 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - b _08129D68 -_08129D5E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129D70 -_08129D68: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129D70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129D40 - - thumb_func_start sub_8129D78 -sub_8129D78: @ 8129D78 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129D88 - cmp r0, 0x1 - beq _08129D96 - b _08129DA0 -_08129D88: - bl sub_812AA64 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - b _08129DA0 -_08129D96: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129DA8 -_08129DA0: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129DA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129D78 - - thumb_func_start sub_8129DB0 -sub_8129DB0: @ 8129DB0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _08129DE6 - cmp r0, 0x1 - bgt _08129DC4 - cmp r0, 0 - beq _08129DCA - b _08129E0C -_08129DC4: - cmp r0, 0x2 - beq _08129DF2 - b _08129E0C -_08129DCA: - movs r0, 0x1 - bl sub_812AEFC - bl sub_812A980 - cmp r0, 0 - bne _08129E12 - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - b _08129E0C -_08129DE6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _08129E0C - b _08129E12 -_08129DF2: - bl sub_812A9C8 - cmp r0, 0 - bne _08129E12 - bl sub_812AF1C - movs r0, 0 - bl sub_812AEFC - bl sub_812B160 - movs r0, 0 - b _08129E14 -_08129E0C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129E12: - movs r0, 0x1 -_08129E14: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129DB0 - - thumb_func_start sub_8129E1C -sub_8129E1C: @ 8129E1C - push {lr} - bl sub_812AF1C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8129E1C - - thumb_func_start sub_8129E28 -sub_8129E28: @ 8129E28 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129E38 - cmp r0, 0x1 - beq _08129E5C - b _08129E66 -_08129E38: - movs r0, 0 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xB - movs r2, 0x1 - bl sub_812A424 - ldr r0, _08129E58 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _08129E66 - .align 2, 0 -_08129E58: .4byte gUnknown_203B0E4 -_08129E5C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129E6E -_08129E66: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129E6E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129E28 - - thumb_func_start sub_8129E74 -sub_8129E74: @ 8129E74 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129E84 - cmp r0, 0x1 - beq _08129E94 - b _08129EAA -_08129E84: - bl sub_812A6F4 - bl sub_812A51C - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _08129EAA -_08129E94: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129EB0 - bl sub_812A728 - bl sub_812A544 - movs r0, 0 - b _08129EB2 -_08129EAA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129EB0: - movs r0, 0x1 -_08129EB2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129E74 - - thumb_func_start sub_8129EB8 -sub_8129EB8: @ 8129EB8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129ECA - cmp r0, 0x1 - beq _08129F02 - b _08129F14 -_08129ECA: - add r1, sp, 0x8 - add r0, sp, 0x4 - bl sub_8129730 - ldr r0, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x8] - lsls r1, 16 - lsrs r1, 16 - movs r2, 0 - bl sub_812A74C - bl sub_8129714 - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _08129F14 -_08129F02: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129F1A - bl sub_812B160 - movs r0, 0 - b _08129F1C -_08129F14: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129F1A: - movs r0, 0x1 -_08129F1C: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129EB8 - - thumb_func_start sub_8129F24 -sub_8129F24: @ 8129F24 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08129F80 - cmp r0, 0x1 - bgt _08129F3A - cmp r0, 0 - beq _08129F44 - b _08129FBA -_08129F3A: - cmp r0, 0x2 - beq _08129FA4 - cmp r0, 0x3 - beq _08129FB6 - b _08129FBA -_08129F44: - bl sub_8129788 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8129758 - adds r5, r0, 0 - bl StringLength_Multibyte - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x66 - bl sub_812A74C - movs r0, 0x5 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x4 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _08129FBA -_08129F80: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129FC0 - movs r0, 0x1 - movs r1, 0x10 - bl sub_812A578 - ldr r0, _08129FA0 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _08129FBA - .align 2, 0 -_08129FA0: .4byte gUnknown_203B0E4 -_08129FA4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129FC0 - movs r0, 0x1 - bl sub_812AF8C - b _08129FBA -_08129FB6: - movs r0, 0 - b _08129FC2 -_08129FBA: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_08129FC0: - movs r0, 0x1 -_08129FC2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8129F24 - - thumb_func_start sub_8129FCC -sub_8129FCC: @ 8129FCC - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x1 - beq _0812A028 - cmp r0, 0x1 - bgt _08129FE2 - cmp r0, 0 - beq _08129FEC - b _0812A062 -_08129FE2: - cmp r0, 0x2 - beq _0812A048 - cmp r0, 0x3 - beq _0812A05E - b _0812A062 -_08129FEC: - bl sub_8129788 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8129758 - adds r5, r0, 0 - bl StringLength_Multibyte - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_812A74C - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0812A062 -_0812A028: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A068 - bl sub_812A6F4 - ldr r0, _0812A044 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _0812A062 - .align 2, 0 -_0812A044: .4byte gUnknown_203B0E4 -_0812A048: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A068 - movs r0, 0 - bl sub_812AF8C - bl sub_812A728 - b _0812A062 -_0812A05E: - movs r0, 0 - b _0812A06A -_0812A062: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A068: - movs r0, 0x1 -_0812A06A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8129FCC - - thumb_func_start sub_812A074 -sub_812A074: @ 812A074 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A084 - cmp r0, 0x1 - beq _0812A098 - b _0812A0A6 -_0812A084: - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A0A6 -_0812A098: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A0A6 - movs r0, 0 - b _0812A0A8 -_0812A0A6: - movs r0, 0x1 -_0812A0A8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A074 - - thumb_func_start sub_812A0B0 -sub_812A0B0: @ 812A0B0 - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x4 - bhi _0812A182 - lsls r0, 2 - ldr r1, _0812A0C4 @ =_0812A0C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812A0C4: .4byte _0812A0C8 - .align 2, 0 -_0812A0C8: - .4byte _0812A0DC - .4byte _0812A108 - .4byte _0812A138 - .4byte _0812A15C - .4byte _0812A126 -_0812A0DC: - ldr r0, _0812A104 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrh r5, [r0, 0x1A] - bl sub_81297C4 - adds r4, r0, 0 - bl sub_81297D0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812AA78 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _0812A17C - .align 2, 0 -_0812A104: .4byte gUnknown_203B0E4 -_0812A108: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0812A182 - ldr r0, _0812A12C @ =gUnknown_203B0E4 - ldr r1, [r0] - ldrh r0, [r1, 0x1A] - cmp r0, 0x8 - bhi _0812A130 - adds r0, 0x1 - strh r0, [r1, 0x1A] - movs r0, 0x4 - strb r0, [r6] -_0812A126: - movs r0, 0 - b _0812A184 - .align 2, 0 -_0812A12C: .4byte gUnknown_203B0E4 -_0812A130: - strh r2, [r1, 0x1C] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A138: - movs r0, 0 - movs r1, 0 - movs r2, 0x5 - movs r3, 0x11 - bl ScrollWindow - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, _0812A178 @ =gUnknown_203B0E4 - ldr r1, [r0] - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A15C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A182 - ldr r0, _0812A178 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrh r0, [r0, 0x1C] - cmp r0, 0x2 - bhi _0812A17C - ldrb r0, [r6] - subs r0, 0x1 - b _0812A180 - .align 2, 0 -_0812A178: .4byte gUnknown_203B0E4 -_0812A17C: - ldrb r0, [r6] - adds r0, 0x1 -_0812A180: - strb r0, [r6] -_0812A182: - movs r0, 0x1 -_0812A184: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_812A0B0 - - thumb_func_start sub_812A18C -sub_812A18C: @ 812A18C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A19C - cmp r0, 0x1 - beq _0812A1A8 - b _0812A1AE -_0812A19C: - bl sub_812AFC0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A1AE -_0812A1A8: - bl sub_812AFFC - b _0812A1B0 -_0812A1AE: - movs r0, 0x1 -_0812A1B0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A18C - - thumb_func_start sub_812A1B8 -sub_812A1B8: @ 812A1B8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A1C8 - cmp r0, 0x1 - beq _0812A1E8 - b _0812A1F2 -_0812A1C8: - movs r0, 0x3 - movs r1, 0x10 - bl sub_812A578 - ldr r0, _0812A1E4 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A1F2 - .align 2, 0 -_0812A1E4: .4byte gUnknown_203B0E4 -_0812A1E8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A1F4 -_0812A1F2: - movs r0, 0x1 -_0812A1F4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A1B8 - - thumb_func_start sub_812A1FC -sub_812A1FC: @ 812A1FC - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A20C - cmp r0, 0x1 - beq _0812A22C - b _0812A236 -_0812A20C: - movs r0, 0x4 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A228 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A236 - .align 2, 0 -_0812A228: .4byte gUnknown_203B0E4 -_0812A22C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A238 -_0812A236: - movs r0, 0x1 -_0812A238: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A1FC - - thumb_func_start sub_812A240 -sub_812A240: @ 812A240 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A250 - cmp r0, 0x1 - beq _0812A280 - b _0812A28A -_0812A250: - bl DynamicPlaceholderTextUtil_Reset - bl sub_8129814 - adds r1, r0, 0 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0x5 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A27C @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A28A - .align 2, 0 -_0812A27C: .4byte gUnknown_203B0E4 -_0812A280: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A28C -_0812A28A: - movs r0, 0x1 -_0812A28C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A240 - - thumb_func_start sub_812A294 -sub_812A294: @ 812A294 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A2A4 - cmp r0, 0x1 - beq _0812A2D0 - b _0812A2DA -_0812A2A4: - movs r0, 0x6 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A2CC @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A2DA - .align 2, 0 -_0812A2CC: .4byte gUnknown_203B0E4 -_0812A2D0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A2DC -_0812A2DA: - movs r0, 0x1 -_0812A2DC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A294 - - thumb_func_start sub_812A2E4 -sub_812A2E4: @ 812A2E4 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A2F4 - cmp r0, 0x1 - beq _0812A320 - b _0812A32A -_0812A2F4: - movs r0, 0x7 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A31C @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A32A - .align 2, 0 -_0812A31C: .4byte gUnknown_203B0E4 -_0812A320: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A32C -_0812A32A: - movs r0, 0x1 -_0812A32C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A2E4 - - thumb_func_start sub_812A334 -sub_812A334: @ 812A334 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A344 - cmp r0, 0x1 - beq _0812A364 - b _0812A36E -_0812A344: - movs r0, 0x8 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A360 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A36E - .align 2, 0 -_0812A360: .4byte gUnknown_203B0E4 -_0812A364: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A370 -_0812A36E: - movs r0, 0x1 -_0812A370: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A334 - - thumb_func_start sub_812A378 -sub_812A378: @ 812A378 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A388 - cmp r0, 0x1 - beq _0812A3BC - b _0812A3C6 -_0812A388: - bl DynamicPlaceholderTextUtil_Reset - ldr r0, _0812A3B4 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0x9 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A3B8 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A3C6 - .align 2, 0 -_0812A3B4: .4byte gSaveBlock2Ptr -_0812A3B8: .4byte gUnknown_203B0E4 -_0812A3BC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A3C8 -_0812A3C6: - movs r0, 0x1 -_0812A3C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A378 - - thumb_func_start sub_812A3D0 -sub_812A3D0: @ 812A3D0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A3E0 - cmp r0, 0x1 - beq _0812A40C - b _0812A416 -_0812A3E0: - movs r0, 0xA - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A408 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A416 - .align 2, 0 -_0812A408: .4byte gUnknown_203B0E4 -_0812A40C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A418 -_0812A416: - movs r0, 0x1 -_0812A418: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A3D0 - - thumb_func_start sub_812A420 -sub_812A420: @ 812A420 - movs r0, 0 - bx lr - thumb_func_end sub_812A420 - - thumb_func_start sub_812A424 -sub_812A424: @ 812A424 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r4, _0812A4FC @ =0xffffff00 - ldr r2, [sp, 0xC] - ands r2, r4 - lsrs r0, 16 - ldr r3, _0812A500 @ =0xffff00ff - ands r2, r3 - orrs r2, r0 - lsrs r1, 8 - ldr r0, _0812A504 @ =0xff00ffff - ands r2, r0 - orrs r2, r1 - ldr r0, _0812A508 @ =0x00ffffff - ands r2, r0 - movs r0, 0xC0 - lsls r0, 19 - orrs r2, r0 - str r2, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r4 - movs r1, 0x4 - orrs r0, r1 - ands r0, r3 - movs r1, 0xE0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0812A50C @ =0x0000ffff - ands r0, r1 - movs r1, 0xA4 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x10] - add r0, sp, 0xC - bl AddWindow - adds r1, r0, 0 - ldr r6, _0812A510 @ =gUnknown_203B0E4 - ldr r0, [r6] - movs r7, 0 - strh r1, [r0, 0x18] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _0812A4F0 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r6] - ldrb r0, [r0, 0x18] - bl PutWindowTilemap - ldr r0, [r6] - ldrb r0, [r0, 0x18] - ldr r2, _0812A514 @ =gText_Yes - movs r5, 0x2 - str r5, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldr r0, [r6] - ldrb r0, [r0, 0x18] - ldr r2, _0812A518 @ =gText_No - movs r1, 0x10 - str r1, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldr r0, [r6] - ldrb r0, [r0, 0x18] - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - ldr r0, [r6] - ldrb r0, [r0, 0x18] - movs r1, 0xE - str r1, [sp] - str r5, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor -_0812A4F0: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A4FC: .4byte 0xffffff00 -_0812A500: .4byte 0xffff00ff -_0812A504: .4byte 0xff00ffff -_0812A508: .4byte 0x00ffffff -_0812A50C: .4byte 0x0000ffff -_0812A510: .4byte gUnknown_203B0E4 -_0812A514: .4byte gText_Yes -_0812A518: .4byte gText_No - thumb_func_end sub_812A424 - - thumb_func_start sub_812A51C -sub_812A51C: @ 812A51C - push {r4,lr} - ldr r4, _0812A540 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x18] - cmp r0, 0xFF - beq _0812A53A - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl ClearWindowTilemap -_0812A53A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A540: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A51C - - thumb_func_start sub_812A544 -sub_812A544: @ 812A544 - push {r4,lr} - ldr r4, _0812A564 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x18] - cmp r0, 0xFF - beq _0812A55E - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x18] -_0812A55E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A564: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A544 - - thumb_func_start sub_812A568 -sub_812A568: @ 812A568 - push {lr} - bl Menu_ProcessInput - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_812A568 - - thumb_func_start sub_812A578 -sub_812A578: @ 812A578 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1C - adds r7, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r1, _0812A624 @ =0xffffff00 - ldr r3, [sp, 0x14] - ands r3, r1 - ldr r2, _0812A628 @ =0xffff00ff - ands r3, r2 - movs r0, 0x80 - lsls r0, 4 - orrs r3, r0 - ldr r0, _0812A62C @ =0xff00ffff - ands r3, r0 - movs r0, 0x80 - lsls r0, 13 - orrs r3, r0 - ldr r5, _0812A630 @ =0x00ffffff - ands r3, r5 - movs r0, 0xA8 - lsls r0, 21 - orrs r3, r0 - str r3, [sp, 0x14] - ldr r0, [sp, 0x18] - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - ands r0, r2 - movs r1, 0xE0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0812A634 @ =0x0000ffff - ands r0, r1 - movs r1, 0xD4 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x18] - ldr r1, _0812A638 @ =gUnknown_845AB64 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _0812A5F8 - lsls r0, r3, 16 - movs r1, 0xF9 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - ands r2, r3 - orrs r2, r0 - lsrs r1, r2, 24 - adds r1, 0x7 - lsls r1, 24 - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] -_0812A5F8: - add r0, sp, 0x14 - bl AddWindow - ldr r5, _0812A63C @ =gUnknown_203B0E4 - ldr r1, [r5] - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x1E] - mov r8, r0 - cmp r0, 0xFF - beq _0812A6E2 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0812A640 - adds r0, r1, 0 - adds r0, 0x22 - ldr r1, [r4] - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r0, [r5] - adds r6, r0, 0 - adds r6, 0x22 - b _0812A642 - .align 2, 0 -_0812A624: .4byte 0xffffff00 -_0812A628: .4byte 0xffff00ff -_0812A62C: .4byte 0xff00ffff -_0812A630: .4byte 0x00ffffff -_0812A634: .4byte 0x0000ffff -_0812A638: .4byte gUnknown_845AB64 -_0812A63C: .4byte gUnknown_203B0E4 -_0812A640: - ldr r6, [r4] -_0812A642: - mov r0, r9 - lsls r1, r0, 8 - movs r0, 0 - movs r2, 0 - bl ChangeBgY - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - ldr r1, _0812A6AC @ =gUnknown_845AB64 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x1 - bne _0812A6B0 - adds r0, r5, 0 - movs r1, 0xA - movs r2, 0x2 - bl DrawTextBorderInner - ldrb r3, [r4, 0x5] - adds r3, 0x8 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x6] - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - ldrb r0, [r4, 0x7] - str r0, [sp, 0xC] - ldrb r0, [r4, 0x8] - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParameterized5 - b _0812A6DA - .align 2, 0 -_0812A6AC: .4byte gUnknown_845AB64 -_0812A6B0: - adds r0, r5, 0 - movs r1, 0xA - movs r2, 0x2 - bl DrawTextBorderOuter - ldrb r3, [r4, 0x5] - ldrb r0, [r4, 0x6] - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - ldrb r0, [r4, 0x7] - str r0, [sp, 0xC] - ldrb r0, [r4, 0x8] - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParameterized5 -_0812A6DA: - ldr r0, _0812A6F0 @ =gUnknown_203B0E4 - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x1E] -_0812A6E2: - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A6F0: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A578 - - thumb_func_start sub_812A6F4 -sub_812A6F4: @ 812A6F4 - push {r4,lr} - ldr r4, _0812A724 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x1E] - cmp r0, 0xFF - beq _0812A712 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldr r0, [r4] - ldrb r0, [r0, 0x1E] - bl ClearWindowTilemap -_0812A712: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A724: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A6F4 - - thumb_func_start sub_812A728 -sub_812A728: @ 812A728 - push {r4,lr} - ldr r4, _0812A748 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x1E] - cmp r0, 0xFF - beq _0812A742 - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x1E] -_0812A742: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A748: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A728 - - thumb_func_start sub_812A74C -sub_812A74C: @ 812A74C - push {lr} - sub sp, 0x8 - adds r3, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 19 - lsrs r3, 16 - lsls r1, 19 - lsrs r1, 16 - str r1, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - movs r0, 0x1 - adds r1, r2, 0 - adds r2, r3, 0 - movs r3, 0x1 - bl FillWindowPixelRect - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812A74C - - thumb_func_start sub_812A778 -sub_812A778: @ 812A778 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r10, r1 - ldr r1, [sp, 0x54] - lsls r0, 16 - lsrs r5, r0, 16 - mov r9, r5 - lsls r2, 24 - lsrs r4, r2, 24 - mov r8, r4 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r4, 0 - beq _0812A7B4 - bl sub_81297DC - adds r1, r0, 0 - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_812A74C -_0812A7B4: - add r0, sp, 0xC - mov r1, r8 - strb r1, [r0] - strb r7, [r0, 0x1] - strb r6, [r0, 0x2] - add r4, sp, 0x10 - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x8 - strb r0, [r4, 0x2] - mov r0, sp - adds r0, 0x13 - mov r1, r10 - bl StringCopy - mov r0, r9 - lsls r2, r0, 27 - lsrs r2, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812A778 - - thumb_func_start sub_812A804 -sub_812A804: @ 812A804 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4C - movs r0, 0x2 - movs r1, 0xFF - bl FillWindowPixelBuffer - bl sub_81296F4 - lsls r0, 24 - lsrs r2, r0, 24 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - movs r0, 0xE - strb r0, [r1, 0x1] - movs r0, 0xD - strb r0, [r1, 0x2] - cmp r2, 0x3 - beq _0812A8A0 - add r1, sp, 0x10 - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - str r0, [sp, 0x40] - str r1, [sp, 0x44] - cmp r2, 0x2 - bne _0812A84C - movs r1, 0x6 - str r1, [sp, 0x40] -_0812A84C: - movs r7, 0 - movs r6, 0 - lsls r0, r2, 2 - ldr r1, _0812A89C @ =gUnknown_845A9AC - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldr r0, [sp, 0x40] - lsls r5, r0, 24 -_0812A85E: - ldr r1, [r4] - cmp r1, 0 - bne _0812A866 - b _0812A96C -_0812A866: - mov r0, sp - adds r0, 0x13 - bl StringCopy - lsls r3, r6, 24 - lsrs r3, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - ldr r0, [sp, 0x44] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - lsrs r2, r5, 24 - bl AddTextPrinterParameterized3 - adds r4, 0x4 - adds r7, 0x1 - adds r0, r6, 0 - adds r0, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - cmp r7, 0x9 - ble _0812A85E - b _0812A96C - .align 2, 0 -_0812A89C: .4byte gUnknown_845A9AC -_0812A8A0: - movs r1, 0x4 - str r1, [sp, 0x40] - movs r7, 0 - movs r6, 0 -_0812A8A8: - adds r0, r7, 0 - bl sub_81294B0 - adds r5, r0, 0 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - cmp r0, 0x28 - bgt _0812A8E6 - lsls r3, r6, 24 - lsrs r3, 24 - add r4, sp, 0xC - str r4, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r4, 0x80 - lsls r4, 19 - lsrs r2, r4, 24 - bl AddTextPrinterParameterized3 - adds r0, r7, 0x1 - str r0, [sp, 0x48] - adds r6, 0xC - mov r10, r6 - b _0812A960 -_0812A8E6: - adds r0, r5, 0 - bl StringLength_Multibyte - adds r4, r0, 0 - mov r1, sp - adds r1, 0x10 - str r1, [sp, 0x44] - ldr r0, [sp, 0x40] - lsls r0, 24 - mov r8, r0 - lsls r1, r6, 24 - mov r9, r1 - adds r0, r7, 0x1 - str r0, [sp, 0x48] - adds r6, 0xC - mov r10, r6 - ldr r7, [sp, 0x40] - adds r7, 0x23 - ldr r6, [sp, 0x44] -_0812A90C: - subs r4, 0x1 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl StringCopyN_Multibyte - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - cmp r0, 0x23 - bgt _0812A90C - mov r1, r8 - lsrs r2, r1, 24 - mov r0, r9 - lsrs r4, r0, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - ldr r1, [sp, 0x44] - str r1, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - adds r2, r7, 0 - add r0, sp, 0xC - str r0, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - ldr r0, _0812A97C @ =gUnknown_845ABE8 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 -_0812A960: - ldr r7, [sp, 0x48] - mov r4, r10 - lsls r0, r4, 16 - lsrs r6, r0, 16 - cmp r7, 0x9 - ble _0812A8A8 -_0812A96C: - add sp, 0x4C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A97C: .4byte gUnknown_845ABE8 - thumb_func_end sub_812A804 - - thumb_func_start sub_812A980 -sub_812A980: @ 812A980 - push {r4,lr} - ldr r1, _0812A9A4 @ =gUnknown_203B0E4 - ldr r2, [r1] - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, 0x37 - bgt _0812A9B4 - adds r0, r3, 0 - adds r0, 0xC - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x37 - ble _0812A9A8 - movs r0, 0x38 - strh r0, [r2, 0x20] - b _0812A9B4 - .align 2, 0 -_0812A9A4: .4byte gUnknown_203B0E4 -_0812A9A8: - movs r1, 0x20 - ldrsh r0, [r2, r1] - bl sub_812ADA0 - movs r0, 0x1 - b _0812A9C0 -_0812A9B4: - ldr r0, [r1] - movs r4, 0x20 - ldrsh r0, [r0, r4] - bl sub_812ADF8 - movs r0, 0 -_0812A9C0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A980 - - thumb_func_start sub_812A9C8 -sub_812A9C8: @ 812A9C8 - push {r4,lr} - ldr r1, _0812A9EC @ =gUnknown_203B0E4 - ldr r2, [r1] - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, 0 - ble _0812A9FC - adds r0, r3, 0 - subs r0, 0xC - strh r0, [r2, 0x20] - lsls r0, 16 - cmp r0, 0 - bgt _0812A9F0 - movs r0, 0 - strh r0, [r2, 0x20] - b _0812A9FC - .align 2, 0 -_0812A9EC: .4byte gUnknown_203B0E4 -_0812A9F0: - movs r1, 0x20 - ldrsh r0, [r2, r1] - bl sub_812ADA0 - movs r0, 0x1 - b _0812AA08 -_0812A9FC: - ldr r0, [r1] - movs r4, 0x20 - ldrsh r0, [r0, r4] - bl sub_812ADF8 - movs r0, 0 -_0812AA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A9C8 - - thumb_func_start sub_812AA10 -sub_812AA10: @ 812AA10 - push {lr} - sub sp, 0xC - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - ldr r0, _0812AA60 @ =gUnknown_845ABEC - str r0, [sp] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0xE - movs r3, 0x5 - bl UnionRoomAndTradeMenuPrintOptions - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xE - str r1, [sp] - movs r1, 0x5 - str r1, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0 - movs r3, 0 - bl Menu_InitCursor - movs r0, 0x3 - bl PutWindowTilemap - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0812AA60: .4byte gUnknown_845ABEC - thumb_func_end sub_812AA10 - - thumb_func_start sub_812AA64 -sub_812AA64: @ 812AA64 - push {lr} - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - pop {r0} - bx r0 - thumb_func_end sub_812AA64 - - thumb_func_start sub_812AA78 -sub_812AA78: @ 812AA78 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - add r3, sp, 0xC - movs r1, 0x1 - strb r1, [r3] - lsrs r2, 23 - adds r1, r2, 0x2 - strb r1, [r3, 0x1] - adds r1, r3, 0 - adds r2, 0x3 - strb r2, [r1, 0x2] - lsls r4, r0, 4 - subs r4, r0 - lsls r3, r4, 16 - lsrs r3, 16 - movs r0, 0xA8 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - lsls r4, 24 - lsrs r4, 24 - add r0, sp, 0xC - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812AA78 - - thumb_func_start sub_812AAD4 -sub_812AAD4: @ 812AAD4 - push {lr} - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0xE0 - lsls r1, 8 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _0812AB88 @ =0x000040f0 - movs r0, 0x40 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0x90 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3D - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0812AB88: .4byte 0x000040f0 - thumb_func_end sub_812AAD4 - - thumb_func_start sub_812AB8C -sub_812AB8C: @ 812AB8C - push {r4,lr} - ldr r4, _0812ABC8 @ =gUnknown_203B0E4 - ldr r1, [r4] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABCC @ =0x00000928 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABD0 @ =0x00001128 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABD4 @ =0x00001928 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812ABC8: .4byte gUnknown_203B0E4 -_0812ABCC: .4byte 0x00000928 -_0812ABD0: .4byte 0x00001128 -_0812ABD4: .4byte 0x00001928 - thumb_func_end sub_812AB8C - - thumb_func_start sub_812ABD8 -sub_812ABD8: @ 812ABD8 - push {lr} - sub sp, 0x8 - movs r1, 0xC0 - lsls r1, 19 - movs r0, 0 - movs r2, 0x20 - movs r3, 0x1 - bl RequestDma3Fill - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812ABD8 - - thumb_func_start sub_812AC08 -sub_812AC08: @ 812AC08 - push {lr} - sub sp, 0x4 - ldr r0, _0812AC48 @ =gUnknown_8EAA9F0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0812AC4C @ =gUnknown_845AA24 - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812AC50 @ =gUnknown_8EAAA10 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _0812AC54 @ =gUnknown_8EAAA6C - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0812AC48: .4byte gUnknown_8EAA9F0 -_0812AC4C: .4byte gUnknown_845AA24 -_0812AC50: .4byte gUnknown_8EAAA10 -_0812AC54: .4byte gUnknown_8EAAA6C - thumb_func_end sub_812AC08 - - thumb_func_start sub_812AC58 -sub_812AC58: @ 812AC58 - push {lr} - sub sp, 0x4 - ldr r0, _0812AC90 @ =gUnknown_8EA1700 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812AC94 @ =gUnknown_8EA1720 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _0812AC98 @ =gUnknown_8EA1958 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0812AC90: .4byte gUnknown_8EA1700 -_0812AC94: .4byte gUnknown_8EA1720 -_0812AC98: .4byte gUnknown_8EA1958 - thumb_func_end sub_812AC58 - - thumb_func_start sub_812AC9C -sub_812AC9C: @ 812AC9C - push {lr} - ldr r0, _0812ACB8 @ =gUnknown_845AA44 - movs r1, 0x80 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812ACBC @ =0x06004020 - movs r0, 0 - movs r2, 0x20 - movs r3, 0x1 - bl RequestDma3Fill - pop {r0} - bx r0 - .align 2, 0 -_0812ACB8: .4byte gUnknown_845AA44 -_0812ACBC: .4byte 0x06004020 - thumb_func_end sub_812AC9C - - thumb_func_start sub_812ACC0 -sub_812ACC0: @ 812ACC0 - push {lr} - ldr r0, _0812ACE8 @ =gUnknown_845AA64 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .align 2, 0 -_0812ACE8: .4byte gUnknown_845AA64 - thumb_func_end sub_812ACC0 - - thumb_func_start sub_812ACEC -sub_812ACEC: @ 812ACEC - push {lr} - movs r0, 0x2 - bl PutWindowTilemap - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_812ACEC - - thumb_func_start sub_812AD04 -sub_812AD04: @ 812AD04 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_812AD04 - - thumb_func_start sub_812AD20 -sub_812AD20: @ 812AD20 - push {lr} - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xD0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x3 - movs r1, 0xA - movs r2, 0x20 - bl TextWindow_SetStdFrame0_WithPal - ldr r0, _0812AD4C @ =gTMCaseMainWindowPalette - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_0812AD4C: .4byte gTMCaseMainWindowPalette - thumb_func_end sub_812AD20 - - thumb_func_start sub_812AD50 -sub_812AD50: @ 812AD50 - push {lr} - sub sp, 0x10 - ldr r0, _0812AD8C @ =0xa2600001 - str r0, [sp, 0x4] - ldr r0, _0812AD90 @ =0x04000014 - str r0, [sp] - mov r2, sp - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - mov r0, sp - strb r1, [r0, 0x9] - ldr r0, _0812AD94 @ =gUnknown_203B0E4 - ldr r0, [r0] - strh r1, [r0, 0x20] - str r1, [sp, 0xC] - add r0, sp, 0xC - ldr r1, _0812AD98 @ =gScanlineEffectRegBuffers - ldr r2, _0812AD9C @ =0x010003c0 - bl CpuFastSet - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812AD8C: .4byte 0xa2600001 -_0812AD90: .4byte 0x04000014 -_0812AD94: .4byte gUnknown_203B0E4 -_0812AD98: .4byte gScanlineEffectRegBuffers -_0812AD9C: .4byte 0x010003c0 - thumb_func_end sub_812AD50 - - thumb_func_start sub_812ADA0 -sub_812ADA0: @ 812ADA0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - ldr r5, _0812ADE8 @ =gScanlineEffect - ldrb r0, [r5, 0x14] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 7 - ldr r4, _0812ADEC @ =gScanlineEffectRegBuffers - adds r1, r4 - ldr r2, _0812ADF0 @ =0x01000090 - mov r0, sp - bl CpuSet - mov r0, sp - adds r0, 0x2 - movs r1, 0 - strh r1, [r0] - ldrb r2, [r5, 0x14] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 7 - movs r2, 0x90 - lsls r2, 1 - adds r4, r2 - adds r1, r4 - ldr r2, _0812ADF4 @ =0x01000010 - bl CpuSet - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812ADE8: .4byte gScanlineEffect -_0812ADEC: .4byte gScanlineEffectRegBuffers -_0812ADF0: .4byte 0x01000090 -_0812ADF4: .4byte 0x01000010 - thumb_func_end sub_812ADA0 - - thumb_func_start sub_812ADF8 -sub_812ADF8: @ 812ADF8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - strh r4, [r0] - ldr r5, _0812AE64 @ =gScanlineEffectRegBuffers - ldr r0, _0812AE68 @ =0x01000090 - mov r9, r0 - mov r0, sp - adds r1, r5, 0 - mov r2, r9 - bl CpuSet - mov r0, sp - adds r0, 0x2 - movs r6, 0 - strh r6, [r0] - movs r2, 0x90 - lsls r2, 1 - adds r1, r5, r2 - ldr r2, _0812AE6C @ =0x01000010 - mov r8, r2 - bl CpuSet - add r0, sp, 0x4 - strh r4, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r5, r2 - mov r2, r9 - bl CpuSet - mov r0, sp - adds r0, 0x6 - strh r6, [r0] - movs r1, 0x8A - lsls r1, 4 - adds r5, r1 - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812AE64: .4byte gScanlineEffectRegBuffers -_0812AE68: .4byte 0x01000090 -_0812AE6C: .4byte 0x01000010 - thumb_func_end sub_812ADF8 - - thumb_func_start sub_812AE70 -sub_812AE70: @ 812AE70 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _0812AE9C @ =gUnknown_845AF58 -_0812AE76: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x4 - bls _0812AE76 - ldr r0, _0812AEA0 @ =gUnknown_845AF80 - bl LoadSpritePalette - ldr r4, _0812AEA4 @ =gUnknown_203B0E8 - movs r0, 0x18 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0812AEA8 - movs r0, 0x1 - b _0812AEAA - .align 2, 0 -_0812AE9C: .4byte gUnknown_845AF58 -_0812AEA0: .4byte gUnknown_845AF80 -_0812AEA4: .4byte gUnknown_203B0E8 -_0812AEA8: - movs r0, 0 -_0812AEAA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812AE70 - - thumb_func_start sub_812AEB0 -sub_812AEB0: @ 812AEB0 - push {lr} - ldr r0, _0812AEC4 @ =gUnknown_203B0E8 - ldr r0, [r0] - cmp r0, 0 - beq _0812AEBE - bl Free -_0812AEBE: - pop {r0} - bx r0 - .align 2, 0 -_0812AEC4: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AEB0 - - thumb_func_start sub_812AEC8 -sub_812AEC8: @ 812AEC8 - push {lr} - ldr r0, _0812AEF0 @ =gUnknown_845AFC0 - movs r1, 0xA - movs r2, 0x18 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812AEF4 @ =gUnknown_203B0E8 - ldr r2, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0812AEF8 @ =gSprites - adds r1, r0 - str r1, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0812AEF0: .4byte gUnknown_845AFC0 -_0812AEF4: .4byte gUnknown_203B0E8 -_0812AEF8: .4byte gSprites - thumb_func_end sub_812AEC8 - - thumb_func_start sub_812AEFC -sub_812AEFC: @ 812AEFC - ldr r1, _0812AF18 @ =gUnknown_203B0E8 - ldr r1, [r1] - ldr r2, [r1] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_0812AF18: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AEFC - - thumb_func_start sub_812AF1C -sub_812AF1C: @ 812AF1C - push {r4,r5,lr} - sub sp, 0x4 - bl sub_81296F4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - adds r5, 0x1 - mov r0, sp - adds r1, r5, 0 - bl sub_8129700 - cmp r4, 0x3 - beq _0812AF5C - ldr r4, _0812AF58 @ =gUnknown_203B0E8 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - ldr r1, [r4] - ldr r2, [r1] - mov r0, sp - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0xA - strh r0, [r2, 0x20] - ldr r2, [r1] - b _0812AF72 - .align 2, 0 -_0812AF58: .4byte gUnknown_203B0E8 -_0812AF5C: - ldr r4, _0812AF88 @ =gUnknown_203B0E8 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - ldr r2, [r4] - ldr r1, [r2] - movs r0, 0x18 - strh r0, [r1, 0x20] - ldr r2, [r2] -_0812AF72: - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x18 - strh r0, [r2, 0x22] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812AF88: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AF1C - - thumb_func_start sub_812AF8C -sub_812AF8C: @ 812AF8C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 2 - ldr r0, _0812AFB8 @ =gUnknown_845AC14 + 2 - adds r4, r0 - movs r0, 0 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - ldr r0, _0812AFBC @ =0x01010000 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x4 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812AFB8: .4byte gUnknown_845AC14 + 2 -_0812AFBC: .4byte 0x01010000 - thumb_func_end sub_812AF8C - - thumb_func_start sub_812AFC0 -sub_812AFC0: @ 812AFC0 - push {lr} - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0812AFE0 - ldr r0, _0812AFDC @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0812AFEC - .align 2, 0 -_0812AFDC: .4byte gUnknown_203B0E8 -_0812AFE0: - ldr r0, _0812AFF8 @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim -_0812AFEC: - ldr r0, _0812AFF8 @ =gUnknown_203B0E8 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x14] - pop {r0} - bx r0 - .align 2, 0 -_0812AFF8: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AFC0 - - thumb_func_start sub_812AFFC -sub_812AFFC: @ 812AFFC - push {r4,lr} - ldr r4, _0812B00C @ =gUnknown_203B0E8 - ldr r1, [r4] - ldrh r0, [r1, 0x14] - cmp r0, 0x3 - bls _0812B010 -_0812B008: - movs r0, 0 - b _0812B042 - .align 2, 0 -_0812B00C: .4byte gUnknown_203B0E8 -_0812B010: - adds r0, 0x1 - strh r0, [r1, 0x14] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bls _0812B040 - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0812B034 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - b _0812B008 -_0812B034: - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - b _0812B008 -_0812B040: - movs r0, 0x1 -_0812B042: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812AFFC - - thumb_func_start sub_812B048 -sub_812B048: @ 812B048 - push {r4,r5,lr} - ldr r0, _0812B08C @ =gUnknown_845AFE0 - movs r1, 0x4C - movs r2, 0x98 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812B090 @ =gUnknown_203B0E8 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0812B094 @ =gSprites - adds r1, r4 - str r1, [r2, 0x8] - ldr r0, _0812B098 @ =gUnknown_845AFF8 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B08C: .4byte gUnknown_845AFE0 -_0812B090: .4byte gUnknown_203B0E8 -_0812B094: .4byte gSprites -_0812B098: .4byte gUnknown_845AFF8 - thumb_func_end sub_812B048 - - thumb_func_start sub_812B09C -sub_812B09C: @ 812B09C - push {r4,lr} - adds r4, r0, 0 - bl sub_81297DC - adds r3, r0, 0 - cmp r3, 0xF - bne _0812B0B8 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0812B0CC -_0812B0B8: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - lsls r0, r3, 3 - adds r0, 0x4C - strh r0, [r4, 0x20] -_0812B0CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812B09C - - thumb_func_start sub_812B0D4 -sub_812B0D4: @ 812B0D4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B0FA - strh r2, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B0FA - strh r2, [r1, 0x24] -_0812B0FA: - pop {r0} - bx r0 - thumb_func_end sub_812B0D4 - - thumb_func_start sub_812B100 -sub_812B100: @ 812B100 - push {r4,r5,lr} - ldr r0, _0812B150 @ =gUnknown_845B050 - movs r1, 0x8 - movs r2, 0x98 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812B154 @ =gUnknown_203B0E8 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0812B158 @ =gSprites - adds r1, r4 - str r1, [r2, 0xC] - ldr r0, _0812B15C @ =gUnknown_845B068 - movs r1, 0x20 - movs r2, 0x98 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2, 0x10] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B150: .4byte gUnknown_845B050 -_0812B154: .4byte gUnknown_203B0E8 -_0812B158: .4byte gSprites -_0812B15C: .4byte gUnknown_845B068 - thumb_func_end sub_812B100 - - thumb_func_start sub_812B160 -sub_812B160: @ 812B160 - push {r4,lr} - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0812B198 - bl sub_8129720 - cmp r0, 0 - beq _0812B1A2 - ldr r3, _0812B194 @ =gUnknown_203B0E8 - ldr r0, [r3] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - ldr r0, [r0, 0x10] - movs r1, 0x3 - bl StartSpriteAnim - b _0812B1D6 - .align 2, 0 -_0812B194: .4byte gUnknown_203B0E8 -_0812B198: - bl sub_81297E8 - adds r4, r0, 0 - cmp r4, 0x3 - bne _0812B1B8 -_0812B1A2: - ldr r0, _0812B1B4 @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _0812B1D6 - .align 2, 0 -_0812B1B4: .4byte gUnknown_203B0E8 -_0812B1B8: - ldr r3, _0812B1DC @ =gUnknown_203B0E8 - ldr r0, [r3] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - ldr r0, [r0, 0x10] - lsls r1, r4, 24 - lsrs r1, 24 - bl StartSpriteAnim -_0812B1D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812B1DC: .4byte gUnknown_203B0E8 - thumb_func_end sub_812B160 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/data_8479668.s b/data/data_8479668.s index 8527b4f09..393a5cc44 100644 --- a/data/data_8479668.s +++ b/data/data_8479668.s @@ -75,64 +75,64 @@ gUnknown_847AA8F:: gUnknown_847AAA8:: .string "{CLEAR 11}…{CLEAR 16}“{CLEAR 16}”{CLEAR 18}‘{CLEAR 18}'{CLEAR 18} $" -gUnknown_847AAC1:: +gText_UnionRoomChatKeyboard_ABCDE:: .string "ABCDE$" -gUnknown_847AAC7:: +gText_UnionRoomChatKeyboard_FGHIJ:: .string "FGHIJ$" -gUnknown_847AACD:: +gText_UnionRoomChatKeyboard_KLMNO:: .string "KLMNO$" -gUnknown_847AAD3:: +gText_UnionRoomChatKeyboard_PQRST:: .string "PQRST$" -gUnknown_847AAD9:: +gText_UnionRoomChatKeyboard_UVWXY:: .string "UVWXY$" -gUnknown_847AADF:: +gText_UnionRoomChatKeyboard_Z:: .string "Z $" -gUnknown_847AAE5:: +gText_UnionRoomChatKeyboard_01234Upper:: .string "01234$" -gUnknown_847AAEB:: +gText_UnionRoomChatKeyboard_56789Upper:: .string "56789$" -gUnknown_847AAF1:: +gText_UnionRoomChatKeyboard_PunctuationUpper:: .string ".,!? $" -gUnknown_847AAF7:: +gText_UnionRoomChatKeyboard_SymbolsUpper:: .string "-/&… $" -gUnknown_847AAFD:: +gText_UnionRoomChatKeyboard_abcde:: .string "abcde$" -gUnknown_847AB03:: +gText_UnionRoomChatKeyboard_fghij:: .string "fghij$" -gUnknown_847AB09:: +gText_UnionRoomChatKeyboard_klmno:: .string "klmno$" -gUnknown_847AB0F:: +gText_UnionRoomChatKeyboard_pqrst:: .string "pqrst$" -gUnknown_847AB15:: +gText_UnionRoomChatKeyboard_uvwxy:: .string "uvwxy$" -gUnknown_847AB1B:: +gText_UnionRoomChatKeyboard_z:: .string "z $" -gUnknown_847AB21:: +gText_UnionRoomChatKeyboard_01234Lower:: .string "01234$" -gUnknown_847AB27:: +gText_UnionRoomChatKeyboard_56789Lower:: .string "56789$" -gUnknown_847AB2D:: +gText_UnionRoomChatKeyboard_PunctuationLower:: .string ".,!? $" -gUnknown_847AB33:: +gText_UnionRoomChatKeyboard_SymbolsLower:: .string "-/&… $" .string "$" @@ -144,34 +144,34 @@ gUnknown_847AB33:: .string "$" .string "$" -gUnknown_847AB41:: +gText_UnionRoomChatKeyboard_Emoji1:: .string "{EXTRA 245}{EXTRA 246}{EXTRA 247}{EXTRA 248}{EXTRA 254}$" -gUnknown_847AB4C:: +gText_UnionRoomChatKeyboard_Emoji2:: .string "{EXTRA 249}{EXTRA 250}{EXTRA 252}{EXTRA 251}{EXTRA 253}$" -gUnknown_847AB57:: +gText_UnionRoomChatKeyboard_Emoji3:: .string "{EXTRA 236}{EXTRA 237}{EXTRA 238}{EXTRA 235}{EXTRA 234}$" -gUnknown_847AB62:: +gText_UnionRoomChatKeyboard_Emoji4:: .string "♂♀{EXTRA 212}{EXTRA 213}{EXTRA 211}$" -gUnknown_847AB6B:: +gText_UnionRoomChatKeyboard_Emoji5:: .string "{EXTRA 216}{EXTRA 217}{EXTRA 242}{EXTRA 243}{EXTRA 244}$" -gUnknown_847AB76:: +gText_UnionRoomChatKeyboard_Emoji6:: .string "{EXTRA 218}{EXTRA 241}{EXTRA 224}{EXTRA 226}{EXTRA 227}$" -gUnknown_847AB81:: +gText_UnionRoomChatKeyboard_Emoji7:: .string "{EXTRA 240}{EXTRA 239}{EXTRA 225}{EXTRA 214}{EXTRA 215}$" -gUnknown_847AB8C:: +gText_UnionRoomChatKeyboard_Emoji8:: .string "{EXTRA 228}{EXTRA 229}{EXTRA 230}{EXTRA 231}{EXTRA 232}$" -gUnknown_847AB97:: +gText_UnionRoomChatKeyboard_Emoji9:: .string "{EXTRA 233}{EXTRA 220}{EXTRA 221}{EXTRA 222}{EXTRA 209}$" -gUnknown_847ABA2:: +gText_UnionRoomChatKeyboard_Emoji10:: .string "{EXTRA 210}{EXTRA 208}ょ: $" // trainer_tower (again?) diff --git a/data/event_scripts.s b/data/event_scripts.s index 950bc6d5d..e28093686 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -637,6 +637,8 @@ gStdScriptsEnd:: .include "data/maps/Route18/text.inc" .include "data/maps/Route19/text.inc" .include "data/maps/Route20/text.inc" + .include "data/maps/Route21_North/text.inc" + .include "data/maps/Route21_South/text.inc" .include "data/maps/Route22/text.inc" .include "data/maps/Route23/text.inc" .include "data/maps/Route24/text.inc" @@ -689,6 +691,7 @@ gStdScriptsEnd:: .include "data/maps/VermilionCity_House1/text.inc" .include "data/maps/VermilionCity_PokemonCenter_1F/text.inc" .include "data/maps/VermilionCity_PokemonFanClub/text.inc" + .include "data/maps/VermilionCity_House2/text.inc" .include "data/maps/VermilionCity_Mart/text.inc" .include "data/maps/VermilionCity_Gym/text.inc" .include "data/maps/VermilionCity_House3/text.inc" @@ -940,23 +943,7 @@ Text_DugUpItemFromGround:: @ 81A5700 .string "from deep in the ground.$" .include "data/text/route23.inc" - -Text_1A58A7:: @ 81A58A7 - .string "Let's see…\n" - .string "Uh-oh! You have caught only\l" - .string "{STR_VAR_3} kinds of POKéMON!\p" - .string "You need {STR_VAR_1} kinds\n" - .string "if you want the {STR_VAR_2}.$" - -Text_1A5909:: @ 81A5909 - .string "…Oh. I see.\p" - .string "When you get {STR_VAR_1} kinds of POKéMON,\n" - .string "come back for the {STR_VAR_2}.$" - -Text_1A594D:: @ 81A594D - .string "Oh! I see you don't have any\n" - .string "room for the {STR_VAR_2}.$" - + .include "data/text/aide.inc" .include "data/text/ingame_trade.inc" Text_CardKeyOpenedDoor:: @ 81A5B88 @@ -1076,13 +1063,7 @@ Text_FoundTMHMContainsMove:: @ 81A63E8 .string "{PLAYER} found a {STR_VAR_2}!\n" .string "It contains {STR_VAR_1}.$" -Text_1A6407:: @ 81A6407 - .string "おつかれさん!\n" - .string "どこに いきたいんだ?$" - -Text_1A641B:: @ 81A641B - .string "All right!\n" - .string "All aboard SEAGALLOP HI-SPEED {STR_VAR_1}!$" + .include "data/text/seagallop.inc" @ Call for legendary bird trio Text_Gyaoo:: @ 81A6448 @@ -1430,20 +1411,7 @@ EventScript_1A7AB9:: @ 81A7AB9 special Special_GetElevatorFloor return -EventScript_1A7ABD:: @ 81A7ABD - msgbox Text_1A58A7 - release - end - -EventScript_1A7AC7:: @ 81A7AC7 - msgbox Text_1A594D - release - end - -EventScript_1A7AD1:: @ 81A7AD1 - msgbox Text_1A5909 - release - end + .include "data/scripts/aide.inc" gUnknown_81A7ADB:: @ 81A7ADB special sub_80CADC4 @@ -1525,21 +1493,21 @@ Common_EventScript_DirectCornerAttendant:: @ 81A8D02 call CableClub_EventScript_DirectCornerAttendant end -VermilionCity_PokemonCenter_1F_EventScript_1A8D08:: @ 81A8D08 +VermilionCity_PokemonCenter_1F_EventScript_VSSeekerWoman:: @ 81A8D08 lock faceplayer - goto_if_set FLAG_GOT_VS_SEEKER, EventScript_1A8D3F - msgbox Text_194234 + goto_if_set FLAG_GOT_VS_SEEKER, VermilionCity_PokemonCenter_1F_EventScript_ExplainVSSeeker + msgbox VermilionCity_PokemonCenter_1F_Text_UrgeToBattleSomeoneAgain setflag FLAG_GOT_VS_SEEKER giveitem ITEM_VS_SEEKER compare VAR_RESULT, FALSE goto_if_eq EventScript_BagIsFull - msgbox Text_19430F + msgbox VermilionCity_PokemonCenter_1F_Text_UseDeviceForRematches release end -EventScript_1A8D3F:: @ 81A8D3F - msgbox Text_194381 +VermilionCity_PokemonCenter_1F_EventScript_ExplainVSSeeker:: @ 81A8D3F + msgbox VermilionCity_PokemonCenter_1F_Text_ExplainVSSeeker release end diff --git a/data/graphics.s b/data/graphics.s index 809385e49..247a5d230 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -16374,16 +16374,16 @@ gFameCheckerBg3Tilemap:: @ 8EA0700 gFameCheckerBg2Tilemap:: @ 8EA0F00 .incbin "data/graphics/fame_checker_tilemap2.bin" -gUnknown_8EA1700:: @ 8EA1700 +gLinkMiscMenu_Pal:: @ 8EA1700 .incbin "graphics/interface/union_room_chat.gbapal" -gUnknown_8EA1720:: @ 8EA1720 +gLinkMiscMenu_Gfx:: @ 8EA1720 .incbin "graphics/interface/union_room_chat.4bpp.lz" -gUnknown_8EA1958:: @ 8EA1958 +gLinkMiscMenu_Tilemap:: @ 8EA1958 .incbin "graphics/interface/union_room_chat.bin.lz" -gUnknown_8EA1A50:: @ 8EA1A50 +gUnionRoomChatIcons:: @ 8EA1A50 .incbin "graphics/interface/union_room_chat_icons.4bpp.lz" .align 2 @@ -16508,13 +16508,13 @@ gTilesetPalettes_8EA9D88:: @ 8EA9D88 gTilesetTiles_8EA9F88:: @ 8EA9F88 .incbin "data/tilesets/secondary/82D4E6C/tiles.4bpp.lz" -gUnknown_8EAA9F0:: @ 8EAA9F0 +gUnionRoomChatPanelBgPal_7:: @ 8EAA9F0 .incbin "graphics/interface/union_room_chat_panel.gbapal" -gUnknown_8EAAA10:: @ 8EAAA10 +gUnionRoomChatPanelBgTiles:: @ 8EAAA10 .incbin "graphics/interface/union_room_chat_panel.4bpp.lz" -gUnknown_8EAAA6C:: @ 8EAAA6C +gUnionRoomChatPanelBgMap:: @ 8EAAA6C .incbin "graphics/interface/union_room_chat_panel.bin.lz" gCreditsMonBackdropPals:: @ 8EAAB18 diff --git a/data/maps/CinnabarIsland/scripts.inc b/data/maps/CinnabarIsland/scripts.inc index 5780a2bf6..e0260dac5 100644 --- a/data/maps/CinnabarIsland/scripts.inc +++ b/data/maps/CinnabarIsland/scripts.inc @@ -213,7 +213,7 @@ CinnabarIsland_EventScript_SailToOneIsland:: @ 81670E6 setvar VAR_MAP_SCENE_ONE_ISLAND_HARBOR, 1 setvar VAR_0x8004, SEAGALLOP_CINNABAR_ISLAND setvar VAR_0x8006, SEAGALLOP_ONE_ISLAND - goto EventScript_1A90DA + goto EventScript_SetSail end CinnabarIsland_EventScript_ApproachShore:: @ 8167142 diff --git a/data/maps/FiveIsland_Harbor/scripts.inc b/data/maps/FiveIsland_Harbor/scripts.inc index 71f305d0b..47ee3487f 100644 --- a/data/maps/FiveIsland_Harbor/scripts.inc +++ b/data/maps/FiveIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ FiveIsland_Harbor_EventScript_171D43:: @ 8171D43 message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_FIVE_ISLAND - goto EventScript_1A900F + goto EventScript_ChooseDestFromIsland end diff --git a/data/maps/FourIsland_Harbor/scripts.inc b/data/maps/FourIsland_Harbor/scripts.inc index 39d98de68..d8933d783 100644 --- a/data/maps/FourIsland_Harbor/scripts.inc +++ b/data/maps/FourIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ FourIsland_Harbor_EventScript_171C99:: @ 8171C99 message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_FOUR_ISLAND - goto EventScript_1A900F + goto EventScript_ChooseDestFromIsland end diff --git a/data/maps/LavenderTown_Mart/text.inc b/data/maps/LavenderTown_Mart/text.inc index a5b0a4968..cdf25450e 100644 --- a/data/maps/LavenderTown_Mart/text.inc +++ b/data/maps/LavenderTown_Mart/text.inc @@ -18,3 +18,8 @@ LavenderTown_Mart_Text_TrainerDuosCanChallengeYou:: @ 8193DF1 .string "If that happens, you have to send\n" .string "out two POKéMON to battle, too.$" +LavenderTown_Mart_Text_SoldNuggetFromMountainsFor5000:: @ 8193E82 + .string "この あいだ やまおくで\n" + .string "きんのたまを ひろい ましてね!\p" + .string "つかえない しなもの ですが\n" + .string "うったら なんと 5000¥でした$" diff --git a/data/maps/OneIsland_Harbor/scripts.inc b/data/maps/OneIsland_Harbor/scripts.inc index 754c6f7c6..bbbe36fb9 100644 --- a/data/maps/OneIsland_Harbor/scripts.inc +++ b/data/maps/OneIsland_Harbor/scripts.inc @@ -38,5 +38,5 @@ OneIsland_Harbor_EventScript_1713BD:: @ 81713BD message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_ONE_ISLAND - goto EventScript_1A8EC5 + goto EventScript_ChooseDestFromOneIsland end diff --git a/data/maps/OneIsland_PokemonCenter_1F/scripts.inc b/data/maps/OneIsland_PokemonCenter_1F/scripts.inc index 4f1a059ad..05f00c76b 100644 --- a/data/maps/OneIsland_PokemonCenter_1F/scripts.inc +++ b/data/maps/OneIsland_PokemonCenter_1F/scripts.inc @@ -503,7 +503,7 @@ EventScript_1711DA:: @ 81711DA setvar VAR_MAP_SCENE_CINNABAR_ISLAND, 3 setvar VAR_0x8004, SEAGALLOP_ONE_ISLAND setvar VAR_0x8006, SEAGALLOP_CINNABAR_ISLAND - goto EventScript_1A90DA + goto EventScript_SetSail end EventScript_1712E4:: @ 81712E4 diff --git a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc index d28125f72..0e466abd3 100644 --- a/data/maps/PalletTown_ProfessorOaksLab/scripts.inc +++ b/data/maps/PalletTown_ProfessorOaksLab/scripts.inc @@ -346,7 +346,7 @@ EventScript_16939C:: @ 816939C end EventScript_1693AC:: @ 81693AC - trainerbattle_tutorial TRAINER_RIVAL_OAKS_LAB_SQUIRTLE, 3, Text_18DDEA, Text_18DE1A + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_SQUIRTLE, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory goto EventScript_1694C2 end @@ -402,7 +402,7 @@ EventScript_169414:: @ 8169414 end EventScript_169424:: @ 8169424 - trainerbattle_tutorial TRAINER_RIVAL_OAKS_LAB_CHARMANDER, 3, Text_18DDEA, Text_18DE1A + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_CHARMANDER, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory goto EventScript_1694C2 end @@ -461,7 +461,7 @@ EventScript_16948F:: @ 816948F end EventScript_16949F:: @ 816949F - trainerbattle_tutorial TRAINER_RIVAL_OAKS_LAB_BULBASAUR, 3, Text_18DDEA, Text_18DE1A + trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_BULBASAUR, RIVAL_BATTLE_TUTORIAL, Text_18DDEA, Text_RivalVictory goto EventScript_1694C2 end diff --git a/data/maps/PalletTown_ProfessorOaksLab/text.inc b/data/maps/PalletTown_ProfessorOaksLab/text.inc index 3d0c7ba57..e437d4b39 100644 --- a/data/maps/PalletTown_ProfessorOaksLab/text.inc +++ b/data/maps/PalletTown_ProfessorOaksLab/text.inc @@ -36,7 +36,8 @@ Text_18DDEA:: @ 818DDEA .string "Unbelievable!\l" .string "I picked the wrong POKéMON!$" -Text_18DE1A:: @ 818DE1A +@ Also used for early Route 22 battle +Text_RivalVictory:: @ 818DE1A .string "{RIVAL}: Yeah!\n" .string "Am I great or what?$" diff --git a/data/maps/Route1/map.json b/data/maps/Route1/map.json index 8d636de9a..1a2426066 100644 --- a/data/maps/Route1/map.json +++ b/data/maps/Route1/map.json @@ -34,7 +34,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route1_EventScript_167EFE", + "script": "Route1_EventScript_MartClerk", "flag": "0" }, { @@ -47,7 +47,7 @@ "movement_range_y": 3, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route1_EventScript_167F52", + "script": "Route1_EventScript_Boy", "flag": "0" } ], @@ -59,7 +59,7 @@ "x": 9, "y": 31, "elevation": 0, - "script": "Route1_EventScript_167F5B" + "script": "Route1_EventScript_RouteSign" } ] } diff --git a/data/maps/Route1/scripts.inc b/data/maps/Route1/scripts.inc index 8d5617e3f..36a42f65e 100644 --- a/data/maps/Route1/scripts.inc +++ b/data/maps/Route1/scripts.inc @@ -1,11 +1,11 @@ Route1_MapScripts:: @ 8167EFD .byte 0 -Route1_EventScript_167EFE:: @ 8167EFE +Route1_EventScript_MartClerk:: @ 8167EFE lock faceplayer - goto_if_set FLAG_GOT_POTION_ON_ROUTE_1, EventScript_167F48 - msgbox gUnknown_818329D + goto_if_set FLAG_GOT_POTION_ON_ROUTE_1, Route1_EventScript_AlreadyGotPotion + msgbox Route1_Text_WorkAtPokeMartTakeSample textcolor 3 checkitemspace ITEM_POTION, 1 compare VAR_RESULT, FALSE @@ -16,21 +16,21 @@ Route1_EventScript_167EFE:: @ 8167EFE waitmessage waitfanfare additem ITEM_POTION - msgbox gUnknown_8183387 + msgbox Route1_Text_PutPotionAway call EventScript_1A6675 setflag FLAG_GOT_POTION_ON_ROUTE_1 release end -EventScript_167F48:: @ 8167F48 - msgbox gUnknown_8183347 +Route1_EventScript_AlreadyGotPotion:: @ 8167F48 + msgbox Route1_Text_ComeSeeUsIfYouNeedPokeBalls release end -Route1_EventScript_167F52:: @ 8167F52 - msgbox gUnknown_81833B9, MSGBOX_NPC +Route1_EventScript_Boy:: @ 8167F52 + msgbox Route1_Text_CanJumpFromLedges, MSGBOX_NPC end -Route1_EventScript_167F5B:: @ 8167F5B - msgbox gUnknown_818343A, MSGBOX_SIGN +Route1_EventScript_RouteSign:: @ 8167F5B + msgbox Route1_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route1/text.inc b/data/maps/Route1/text.inc index 7b4150b03..57ebecb86 100644 --- a/data/maps/Route1/text.inc +++ b/data/maps/Route1/text.inc @@ -1,4 +1,4 @@ -gUnknown_818329D:: @ 818329D +Route1_Text_WorkAtPokeMartTakeSample:: @ 818329D .string "Hi!\n" .string "I work at a POKéMON MART.\p" .string "It's part of a convenient chain\n" @@ -7,22 +7,22 @@ gUnknown_818329D:: @ 818329D .string "I know, I'll give you a sample.\n" .string "Here you go!$" -gUnknown_8183347:: @ 8183347 +Route1_Text_ComeSeeUsIfYouNeedPokeBalls:: @ 8183347 .string "Please come see us if you need\n" .string "POKé BALLS for catching POKéMON.$" -gUnknown_8183387:: @ 8183387 +Route1_Text_PutPotionAway:: @ 8183387 .string "{PLAYER} put the POTION away in\n" .string "the BAG's ITEMS POCKET.$" -gUnknown_81833B9:: @ 81833B9 +Route1_Text_CanJumpFromLedges:: @ 81833B9 .string "See those ledges along the road?\p" .string "It's a bit scary, but you can jump\n" .string "from them.\p" .string "You can get back to PALLET TOWN\n" .string "quicker that way.$" -gUnknown_818343A:: @ 818343A +Route1_Text_RouteSign:: @ 818343A .string "ROUTE 1\n" .string "PALLET TOWN - VIRIDIAN CITY$" diff --git a/data/maps/Route10_PokemonCenter_1F/scripts.inc b/data/maps/Route10_PokemonCenter_1F/scripts.inc index f81563b0c..56e0b448e 100644 --- a/data/maps/Route10_PokemonCenter_1F/scripts.inc +++ b/data/maps/Route10_PokemonCenter_1F/scripts.inc @@ -34,17 +34,17 @@ Route10_PokemonCenter_1F_EventScript_16FC65:: @ 816FC65 goto_if_set FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE, EventScript_16FCE7 msgbox gUnknown_819E5FB, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1A7AD1 + goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 specialvar VAR_RESULT, Special_GetPokedexCount getnumberstring 2, VAR_0x8006 call EventScript_16FCF1 compare VAR_0x8006, 20 - goto_if_lt EventScript_1A7ABD + goto_if_lt Aide_EventScript_HaventCaughtEnough msgbox gUnknown_819E733 checkitemspace ITEM_EVERSTONE, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A7AC7 + goto_if_eq Aide_EventScript_NoRoomForItem giveitem_msg gUnknown_819E786, ITEM_EVERSTONE setflag FLAG_GOT_EVERSTONE_FROM_OAKS_AIDE msgbox gUnknown_819E7AF diff --git a/data/maps/Route11_EastEntrance_2F/scripts.inc b/data/maps/Route11_EastEntrance_2F/scripts.inc index 68b520e47..91a6d20bd 100644 --- a/data/maps/Route11_EastEntrance_2F/scripts.inc +++ b/data/maps/Route11_EastEntrance_2F/scripts.inc @@ -61,17 +61,17 @@ Route11_EastEntrance_2F_EventScript_16FDD8:: @ 816FDD8 goto_if_set FLAG_GOT_ITEMFINDER, EventScript_16FE5A msgbox gUnknown_819E9E5, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1A7AD1 + goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 specialvar VAR_RESULT, Special_GetPokedexCount getnumberstring 2, VAR_0x8006 call EventScript_16FE64 compare VAR_0x8006, 30 - goto_if_lt EventScript_1A7ABD + goto_if_lt Aide_EventScript_HaventCaughtEnough msgbox gUnknown_819EAE4 checkitemspace ITEM_ITEMFINDER, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A7AC7 + goto_if_eq Aide_EventScript_NoRoomForItem giveitem_msg gUnknown_819EB37, ITEM_ITEMFINDER setflag FLAG_GOT_ITEMFINDER msgbox gUnknown_819EB59 diff --git a/data/maps/Route15_WestEntrance_2F/scripts.inc b/data/maps/Route15_WestEntrance_2F/scripts.inc index c4cc4b6fd..088a65876 100644 --- a/data/maps/Route15_WestEntrance_2F/scripts.inc +++ b/data/maps/Route15_WestEntrance_2F/scripts.inc @@ -24,17 +24,17 @@ Route15_WestEntrance_2F_EventScript_1700B9:: @ 81700B9 goto_if_set FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE, EventScript_17013B msgbox gUnknown_819F5AB, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1A7AD1 + goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 specialvar VAR_RESULT, Special_GetPokedexCount getnumberstring 2, VAR_0x8006 call EventScript_170145 compare VAR_0x8006, 50 - goto_if_lt EventScript_1A7ABD + goto_if_lt Aide_EventScript_HaventCaughtEnough msgbox gUnknown_819F6AA checkitemspace ITEM_EXP_SHARE, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A7AC7 + goto_if_eq Aide_EventScript_NoRoomForItem giveitem_msg gUnknown_819F6FD, ITEM_EXP_SHARE setflag FLAG_GOT_EXP_SHARE_FROM_OAKS_AIDE msgbox gUnknown_819F71F diff --git a/data/maps/Route16_NorthEntrance_2F/scripts.inc b/data/maps/Route16_NorthEntrance_2F/scripts.inc index 2dfd8f1b0..7ccba34c8 100644 --- a/data/maps/Route16_NorthEntrance_2F/scripts.inc +++ b/data/maps/Route16_NorthEntrance_2F/scripts.inc @@ -24,17 +24,17 @@ Route16_NorthEntrance_2F_EventScript_1702E3:: @ 81702E3 goto_if_set FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE, EventScript_170365 msgbox gUnknown_819FB0E, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1A7AD1 + goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 specialvar VAR_RESULT, Special_GetPokedexCount getnumberstring 2, VAR_0x8006 call EventScript_17036F compare VAR_0x8006, 40 - goto_if_lt EventScript_1A7ABD + goto_if_lt Aide_EventScript_HaventCaughtEnough msgbox gUnknown_819FC15 checkitemspace ITEM_AMULET_COIN, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A7AC7 + goto_if_eq Aide_EventScript_NoRoomForItem giveitem_msg gUnknown_819FC68, ITEM_AMULET_COIN setflag FLAG_GOT_AMULET_COIN_FROM_OAKS_AIDE msgbox gUnknown_819FC93 diff --git a/data/maps/Route2/map.json b/data/maps/Route2/map.json index ac504faae..86be51055 100644 --- a/data/maps/Route2/map.json +++ b/data/maps/Route2/map.json @@ -195,14 +195,14 @@ "x": 14, "y": 12, "elevation": 0, - "script": "Route2_EventScript_167F6E" + "script": "Route2_EventScript_DiglettsCaveSign" }, { "type": "bg_event_type_0", "x": 7, "y": 73, "elevation": 0, - "script": "Route2_EventScript_167F65" + "script": "Route2_EventScript_RouteSign" } ] } diff --git a/data/maps/Route2/scripts.inc b/data/maps/Route2/scripts.inc index 75a3dd87b..2ecb31d72 100644 --- a/data/maps/Route2/scripts.inc +++ b/data/maps/Route2/scripts.inc @@ -1,10 +1,10 @@ Route2_MapScripts:: @ 8167F64 .byte 0 -Route2_EventScript_167F65:: @ 8167F65 - msgbox gUnknown_818345E, MSGBOX_SIGN +Route2_EventScript_RouteSign:: @ 8167F65 + msgbox Route2_Text_RouteSign, MSGBOX_SIGN end -Route2_EventScript_167F6E:: @ 8167F6E - msgbox gUnknown_8183482, MSGBOX_SIGN +Route2_EventScript_DiglettsCaveSign:: @ 8167F6E + msgbox Route2_Text_DiglettsCave, MSGBOX_SIGN end diff --git a/data/maps/Route2/text.inc b/data/maps/Route2/text.inc index 4197b7071..1ca497d6b 100644 --- a/data/maps/Route2/text.inc +++ b/data/maps/Route2/text.inc @@ -1,7 +1,7 @@ -gUnknown_818345E:: @ 818345E +Route2_Text_RouteSign:: @ 818345E .string "ROUTE 2\n" .string "VIRIDIAN CITY - PEWTER CITY$" -gUnknown_8183482:: @ 8183482 +Route2_Text_DiglettsCave:: @ 8183482 .string "DIGLETT'S CAVE$" diff --git a/data/maps/Route21_North/text.inc b/data/maps/Route21_North/text.inc new file mode 100644 index 000000000..e8fc3223a --- /dev/null +++ b/data/maps/Route21_North/text.inc @@ -0,0 +1,48 @@ +Text_1882E1:: @ 81882E1 + .string "Strong TRAINERS and WATER POKéMON\n" + .string "are common sights in these parts.\p" + .string "They say that MISTY of the\n" + .string "CERULEAN GYM trains here.$" + +Text_18835A:: @ 818835A + .string "You want to know if the fish are\n" + .string "biting?$" + +Text_188383:: @ 8188383 + .string "Dang!$" + +Text_188389:: @ 8188389 + .string "I can't catch anything good.\n" + .string "Not one good POKéMON to be had!$" + +Text_1883C6:: @ 81883C6 + .string "I got a big haul!\n" + .string "Wanna go for it?$" + +Text_1883E9:: @ 81883E9 + .string "Heheh, MAGIKARP just don't make\n" + .string "the grade, do they?$" + +Text_18841D:: @ 818841D + .string "I seem to only catch MAGIKARP!$" + +Text_18843C:: @ 818843C + .string "The sea cleanses my body and soul!$" + +Text_18845F:: @ 818845F + .string "Ayah!$" + +Text_188465:: @ 8188465 + .string "The sea is great and all, but I\n" + .string "like the mountains, too.$" + +Text_18849E:: @ 818849E + .string "おれだって たまには\n" + .string "およぎに くるぜ!$" + +Text_1884B3:: @ 81884B3 + .string "ぐわわ!$" + +Text_1884B8:: @ 81884B8 + .string "うきやすそう だと?\n" + .string "うるせー おおきな おせわだッ!$" diff --git a/data/maps/Route21_South/text.inc b/data/maps/Route21_South/text.inc new file mode 100644 index 000000000..8700006ef --- /dev/null +++ b/data/maps/Route21_South/text.inc @@ -0,0 +1,87 @@ +Text_1884D4:: @ 81884D4 + .string "I caught my POKéMON at sea.$" + +Text_1884F0:: @ 81884F0 + .string "Diver!!\n" + .string "Down!!$" + +Text_1884FF:: @ 81884FF + .string "Where'd you catch your POKéMON?$" + +Text_18851F:: @ 818851F + .string "Right now, I'm in a triathlon meet.$" + +Text_188543:: @ 8188543 + .string "Pant…\n" + .string "Pant… Pant…$" + +Text_188555:: @ 8188555 + .string "I'm beat! But, I still have the\n" + .string "bike race and marathon left!$" + +Text_188592:: @ 8188592 + .string "Ahh!\n" + .string "Feel the sun and the wind!$" + +Text_1885B2:: @ 81885B2 + .string "Yow!\n" + .string "I lost!$" + +Text_1885BF:: @ 81885BF + .string "I'm sunburnt to a crisp!$" + +Text_1885D8:: @ 81885D8 + .string "Hey, don't scare away the fish!$" + +Text_1885F8:: @ 81885F8 + .string "Sorry! I'm just so frustrated from\n" + .string "not catching anything.$" + +Text_188632:: @ 8188632 + .string "Sheesh, I haven't caught a thing.\n" + .string "Could this place actually be a\l" + .string "giant pool or something?$" + +Text_18868C:: @ 818868C + .string "Keep me company till I get a hit.$" + +Text_1886AE:: @ 81886AE + .string "That burned some time.$" + +Text_1886C5:: @ 81886C5 + .string "Oh wait!\n" + .string "I got a bite! Yeah!$" + +Text_1886E2:: @ 81886E2 + .string "LIL: Huh? A battle?\n" + .string "IAN, can't you do it alone?$" + +Text_188712:: @ 8188712 + .string "LIL: Oh, see?\n" + .string "We lost. Happy now?$" + +Text_188734:: @ 8188734 + .string "LIL: I'm tired.\n" + .string "Can't we go home already?$" + +Text_18875E:: @ 818875E + .string "LIL: Huh? A battle?\n" + .string "I can't be bothered to do it alone.\l" + .string "Bring two POKéMON, won't you?$" + +Text_1887B4:: @ 81887B4 + .string "IAN: My sis doesn't get enough\n" + .string "exercise, so I made her come.$" + +Text_1887F1:: @ 81887F1 + .string "IAN: Awww, Sis!\n" + .string "Get it together!$" + +Text_188812:: @ 8188812 + .string "IAN: Come on, Sis!\p" + .string "You're not going to lose weight\n" + .string "like this!$" + +Text_188850:: @ 8188850 + .string "IAN: We want a two-on-two battle.\n" + .string "So can you bring two POKéMON?$" diff --git a/data/maps/Route22/map.json b/data/maps/Route22/map.json index c6f903acc..e8695121f 100644 --- a/data/maps/Route22/map.json +++ b/data/maps/Route22/map.json @@ -62,7 +62,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 1, - "script": "Route22_EventScript_16828C" + "script": "Route22_EventScript_EarlyRivalTriggerTop" }, { "type": "trigger", @@ -71,7 +71,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 1, - "script": "Route22_EventScript_168298" + "script": "Route22_EventScript_EarlyRivalTriggerMid" }, { "type": "trigger", @@ -80,7 +80,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 1, - "script": "Route22_EventScript_1682AB" + "script": "Route22_EventScript_EarlyRivalTriggerBottom" }, { "type": "trigger", @@ -89,7 +89,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 3, - "script": "Route22_EventScript_1683ED" + "script": "Route22_EventScript_LateRivalTriggerTop" }, { "type": "trigger", @@ -98,7 +98,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 3, - "script": "Route22_EventScript_1683F9" + "script": "Route22_EventScript_LateRivalTriggerMid" }, { "type": "trigger", @@ -107,7 +107,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE22", "var_value": 3, - "script": "Route22_EventScript_16840C" + "script": "Route22_EventScript_LateRivalTriggerBottom" } ], "bg_events": [ @@ -116,7 +116,7 @@ "x": 7, "y": 12, "elevation": 0, - "script": "Route22_EventScript_1684E2" + "script": "Route22_EventScript_LeagueGateSign" } ] } diff --git a/data/maps/Route22/scripts.inc b/data/maps/Route22/scripts.inc index 8036883f3..dbc10e129 100644 --- a/data/maps/Route22/scripts.inc +++ b/data/maps/Route22/scripts.inc @@ -1,100 +1,94 @@ Route22_MapScripts:: @ 816828B .byte 0 -Route22_EventScript_16828C:: @ 816828C +Route22_EventScript_EarlyRivalTriggerTop:: @ 816828C lockall setvar VAR_TEMP_1, 0 - goto EventScript_1682BE - -EventScript_168297:: @ 8168297 + goto Route22_EventScript_EarlyRival end -Route22_EventScript_168298:: @ 8168298 +Route22_EventScript_EarlyRivalTriggerMid:: @ 8168298 lockall setvar VAR_TEMP_1, 1 setobjectxyperm 1, 25, 5 - goto EventScript_1682BE - -EventScript_1682AA:: @ 81682AA + goto Route22_EventScript_EarlyRival end -Route22_EventScript_1682AB:: @ 81682AB +Route22_EventScript_EarlyRivalTriggerBottom:: @ 81682AB lockall setvar VAR_TEMP_1, 2 setobjectxyperm 1, 25, 5 - goto EventScript_1682BE - -EventScript_1682BD:: @ 81682BD + goto Route22_EventScript_EarlyRival end -EventScript_1682BE:: @ 81682BE +Route22_EventScript_EarlyRival:: @ 81682BE textcolor 0 playbgm MUS_RIVAL1, 0 addobject 1 compare VAR_TEMP_1, 0 - call_if_eq EventScript_168350 + call_if_eq Route22_EventScript_EarlyRivalApproach compare VAR_TEMP_1, 1 - call_if_eq EventScript_168350 + call_if_eq Route22_EventScript_EarlyRivalApproach compare VAR_TEMP_1, 2 - call_if_eq EventScript_16835B + call_if_eq Route22_EventScript_EarlyRivalApproachBottom delay 6 - msgbox gUnknown_8188890 + msgbox Route22_Text_EarlyRivalIntro compare VAR_STARTER_MON, 2 - call_if_eq EventScript_16836D + call_if_eq Route22_EventScript_EarlyRivalSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_16837C + call_if_eq Route22_EventScript_EarlyRivalBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_16838B - msgbox gUnknown_8188974 + call_if_eq Route22_EventScript_EarlyRivalCharmander + msgbox Route22_Text_EarlyRivalPostBattle closemessage delay 10 playbgm MUS_RIVAL2, 0 compare VAR_TEMP_1, 0 - call_if_eq EventScript_16839A + call_if_eq Route22_EventScript_EarlyRivalExit compare VAR_TEMP_1, 1 - call_if_eq EventScript_16839A + call_if_eq Route22_EventScript_EarlyRivalExit compare VAR_TEMP_1, 2 - call_if_eq EventScript_1683A5 + call_if_eq Route22_EventScript_EarlyRivalExitBottom fadedefaultbgm removeobject 1 setvar VAR_MAP_SCENE_ROUTE22, 2 releaseall end -EventScript_168350:: @ 8168350 - applymovement 1, Movement_1683D1 +Route22_EventScript_EarlyRivalApproach:: @ 8168350 + applymovement 1, Route22_Movement_RivalApproach waitmovement 0 return -EventScript_16835B:: @ 816835B - applymovement 1, Movement_1683D9 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1683E3 +Route22_EventScript_EarlyRivalApproachBottom:: @ 816835B + applymovement 1, Route22_Movement_RivalApproachBottom + applymovement OBJ_EVENT_ID_PLAYER, Route22_Movement_PlayerFaceRival waitmovement 0 return -EventScript_16836D:: @ 816836D - trainerbattle_tutorial TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE, 0, Text_188959, Text_18DE1A +Route22_EventScript_EarlyRivalSquirtle:: @ 816836D + trainerbattle_earlyrival TRAINER_RIVAL_ROUTE22_EARLY_SQUIRTLE, 0, Route22_Text_EarlyRivalDefeat, Text_RivalVictory return -EventScript_16837C:: @ 816837C - trainerbattle_tutorial TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR, 0, Text_188959, Text_18DE1A +Route22_EventScript_EarlyRivalBulbasaur:: @ 816837C + trainerbattle_earlyrival TRAINER_RIVAL_ROUTE22_EARLY_BULBASAUR, 0, Route22_Text_EarlyRivalDefeat, Text_RivalVictory return -EventScript_16838B:: @ 816838B - trainerbattle_tutorial TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER, 0, Text_188959, Text_18DE1A +Route22_EventScript_EarlyRivalCharmander:: @ 816838B + trainerbattle_earlyrival TRAINER_RIVAL_ROUTE22_EARLY_CHARMANDER, 0, Route22_Text_EarlyRivalDefeat, Text_RivalVictory return -EventScript_16839A:: @ 816839A - applymovement 1, Movement_1683B8 +Route22_EventScript_EarlyRivalExit:: @ 816839A + applymovement 1, Route22_Movement_EarlyRivalExit waitmovement 0 return -EventScript_1683A5:: @ 81683A5 - applymovement 1, Movement_1683C5 +Route22_EventScript_EarlyRivalExitBottom:: @ 81683A5 + applymovement 1, Route22_Movement_EarlyRivalExitBottom waitmovement 0 return -Movement_1683B0:: @ 8 +Route22_Movement_UnusedRivalExit:: @ 8 walk_right walk_right walk_right @@ -104,7 +98,7 @@ Movement_1683B0:: @ 8 walk_right step_end -Movement_1683B8:: @ 81683B8 +Route22_Movement_EarlyRivalExit:: @ 81683B8 walk_down walk_right walk_right @@ -119,7 +113,7 @@ Movement_1683B8:: @ 81683B8 walk_down step_end -Movement_1683C5:: @ 81683C5 +Route22_Movement_EarlyRivalExitBottom:: @ 81683C5 walk_right walk_right walk_right @@ -133,7 +127,7 @@ Movement_1683C5:: @ 81683C5 walk_down step_end -Movement_1683D1:: @ 81683D1 +Route22_Movement_RivalApproach:: @ 81683D1 walk_right walk_right walk_right @@ -143,7 +137,7 @@ Movement_1683D1:: @ 81683D1 walk_right step_end -Movement_1683D9:: @ 81683D9 +Route22_Movement_RivalApproachBottom:: @ 81683D9 walk_right walk_right walk_right @@ -155,7 +149,7 @@ Movement_1683D9:: @ 81683D9 walk_in_place_fastest_down step_end -Movement_1683E3:: @ 81683E3 +Route22_Movement_PlayerFaceRival:: @ 81683E3 delay_16 delay_16 delay_16 @@ -167,55 +161,49 @@ Movement_1683E3:: @ 81683E3 walk_in_place_fastest_up step_end -Route22_EventScript_1683ED:: @ 81683ED +Route22_EventScript_LateRivalTriggerTop:: @ 81683ED lockall setvar VAR_TEMP_1, 0 - goto EventScript_16841F - -EventScript_1683F8:: @ 81683F8 + goto Route22_EventScript_LateRival end -Route22_EventScript_1683F9:: @ 81683F9 +Route22_EventScript_LateRivalTriggerMid:: @ 81683F9 lockall setvar VAR_TEMP_1, 1 setobjectxyperm 1, 25, 5 - goto EventScript_16841F - -EventScript_16840B:: @ 816840B + goto Route22_EventScript_LateRival end -Route22_EventScript_16840C:: @ 816840C +Route22_EventScript_LateRivalTriggerBottom:: @ 816840C lockall setvar VAR_TEMP_1, 2 setobjectxyperm 1, 25, 5 - goto EventScript_16841F - -EventScript_16841E:: @ 816841E + goto Route22_EventScript_LateRival end -EventScript_16841F:: @ 816841F +Route22_EventScript_LateRival:: @ 816841F textcolor 0 playbgm MUS_RIVAL1, 0 addobject 1 compare VAR_TEMP_1, 0 - call_if_eq EventScript_16849C + call_if_eq Route22_EventScript_LateRivalApproach compare VAR_TEMP_1, 1 - call_if_eq EventScript_16849C + call_if_eq Route22_EventScript_LateRivalApproach compare VAR_TEMP_1, 2 - call_if_eq EventScript_1684A7 - msgbox gUnknown_8188A3C + call_if_eq Route22_EventScript_LateRivalApproachBottom + msgbox Route22_Text_LateRivalIntro setvar VAR_LAST_TALKED, 1 compare VAR_STARTER_MON, 2 - call_if_eq EventScript_1684B9 + call_if_eq Route22_EventScript_LateRivalSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_1684C4 + call_if_eq Route22_EventScript_LateRivalBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_1684CF - msgbox gUnknown_8188B29 + call_if_eq Route22_EventScript_LateRivalCharmander + msgbox Route22_Text_LateRivalPostBattle closemessage delay 10 playbgm MUS_RIVAL2, 0 - applymovement 1, Movement_1684DA + applymovement 1, Route22_Movement_LateRivalExit waitmovement 0 fadedefaultbgm removeobject 1 @@ -223,30 +211,30 @@ EventScript_16841F:: @ 816841F releaseall end -EventScript_16849C:: @ 816849C - applymovement 1, Movement_1683D1 +Route22_EventScript_LateRivalApproach:: @ 816849C + applymovement 1, Route22_Movement_RivalApproach waitmovement 0 return -EventScript_1684A7:: @ 81684A7 - applymovement 1, Movement_1683D9 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1683E3 +Route22_EventScript_LateRivalApproachBottom:: @ 81684A7 + applymovement 1, Route22_Movement_RivalApproachBottom + applymovement OBJ_EVENT_ID_PLAYER, Route22_Movement_PlayerFaceRival waitmovement 0 return -EventScript_1684B9:: @ 81684B9 - trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE, Text_188B08 +Route22_EventScript_LateRivalSquirtle:: @ 81684B9 + trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_SQUIRTLE, Route22_Text_LateRivalDefeat return -EventScript_1684C4:: @ 81684C4 - trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR, Text_188B08 +Route22_EventScript_LateRivalBulbasaur:: @ 81684C4 + trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_BULBASAUR, Route22_Text_LateRivalDefeat return -EventScript_1684CF:: @ 81684CF - trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER, Text_188B08 +Route22_EventScript_LateRivalCharmander:: @ 81684CF + trainerbattle_no_intro TRAINER_RIVAL_ROUTE22_LATE_CHARMANDER, Route22_Text_LateRivalDefeat return -Movement_1684DA:: @ 81684DA +Route22_Movement_LateRivalExit:: @ 81684DA walk_left walk_left walk_left @@ -256,6 +244,6 @@ Movement_1684DA:: @ 81684DA walk_left step_end -Route22_EventScript_1684E2:: @ 81684E2 - msgbox gUnknown_8188BFF, MSGBOX_SIGN +Route22_EventScript_LeagueGateSign:: @ 81684E2 + msgbox Route22_Text_LeagueGateSign, MSGBOX_SIGN end diff --git a/data/maps/Route22/text.inc b/data/maps/Route22/text.inc index 7bfe6931b..72b4ca28b 100644 --- a/data/maps/Route22/text.inc +++ b/data/maps/Route22/text.inc @@ -1,201 +1,66 @@ -Text_1882E1:: @ 81882E1 - .string "Strong TRAINERS and WATER POKéMON\n" - .string "are common sights in these parts.\p" - .string "They say that MISTY of the\n" - .string "CERULEAN GYM trains here.$" - -Text_18835A:: @ 818835A - .string "You want to know if the fish are\n" - .string "biting?$" - -Text_188383:: @ 8188383 - .string "Dang!$" - -Text_188389:: @ 8188389 - .string "I can't catch anything good.\n" - .string "Not one good POKéMON to be had!$" - -Text_1883C6:: @ 81883C6 - .string "I got a big haul!\n" - .string "Wanna go for it?$" - -Text_1883E9:: @ 81883E9 - .string "Heheh, MAGIKARP just don't make\n" - .string "the grade, do they?$" - -Text_18841D:: @ 818841D - .string "I seem to only catch MAGIKARP!$" - -Text_18843C:: @ 818843C - .string "The sea cleanses my body and soul!$" - -Text_18845F:: @ 818845F - .string "Ayah!$" - -Text_188465:: @ 8188465 - .string "The sea is great and all, but I\n" - .string "like the mountains, too.$" - -Text_18849E:: @ 818849E - .string "おれだって たまには\n" - .string "およぎに くるぜ!$" - -Text_1884B3:: @ 81884B3 - .string "ぐわわ!$" - -Text_1884B8:: @ 81884B8 - .string "うきやすそう だと?\n" - .string "うるせー おおきな おせわだッ!$" - -Text_1884D4:: @ 81884D4 - .string "I caught my POKéMON at sea.$" - -Text_1884F0:: @ 81884F0 - .string "Diver!!\n" - .string "Down!!$" - -Text_1884FF:: @ 81884FF - .string "Where'd you catch your POKéMON?$" - -Text_18851F:: @ 818851F - .string "Right now, I'm in a triathlon meet.$" - -Text_188543:: @ 8188543 - .string "Pant…\n" - .string "Pant… Pant…$" - -Text_188555:: @ 8188555 - .string "I'm beat! But, I still have the\n" - .string "bike race and marathon left!$" - -Text_188592:: @ 8188592 - .string "Ahh!\n" - .string "Feel the sun and the wind!$" - -Text_1885B2:: @ 81885B2 - .string "Yow!\n" - .string "I lost!$" - -Text_1885BF:: @ 81885BF - .string "I'm sunburnt to a crisp!$" - -Text_1885D8:: @ 81885D8 - .string "Hey, don't scare away the fish!$" - -Text_1885F8:: @ 81885F8 - .string "Sorry! I'm just so frustrated from\n" - .string "not catching anything.$" - -Text_188632:: @ 8188632 - .string "Sheesh, I haven't caught a thing.\n" - .string "Could this place actually be a\l" - .string "giant pool or something?$" - -Text_18868C:: @ 818868C - .string "Keep me company till I get a hit.$" - -Text_1886AE:: @ 81886AE - .string "That burned some time.$" - -Text_1886C5:: @ 81886C5 - .string "Oh wait!\n" - .string "I got a bite! Yeah!$" - -Text_1886E2:: @ 81886E2 - .string "LIL: Huh? A battle?\n" - .string "IAN, can't you do it alone?$" - -Text_188712:: @ 8188712 - .string "LIL: Oh, see?\n" - .string "We lost. Happy now?$" - -Text_188734:: @ 8188734 - .string "LIL: I'm tired.\n" - .string "Can't we go home already?$" - -Text_18875E:: @ 818875E - .string "LIL: Huh? A battle?\n" - .string "I can't be bothered to do it alone.\l" - .string "Bring two POKéMON, won't you?$" - -Text_1887B4:: @ 81887B4 - .string "IAN: My sis doesn't get enough\n" - .string "exercise, so I made her come.$" - -Text_1887F1:: @ 81887F1 - .string "IAN: Awww, Sis!\n" - .string "Get it together!$" - -Text_188812:: @ 8188812 - .string "IAN: Come on, Sis!\p" - .string "You're not going to lose weight\n" - .string "like this!$" - -Text_188850:: @ 8188850 - .string "IAN: We want a two-on-two battle.\n" - .string "So can you bring two POKéMON?$" - -gUnknown_8188890:: @ 8188890 - .string "{RIVAL}: Hey! {PLAYER}!\p" - .string "You're off to the POKéMON LEAGUE?\n" - .string "Forget about it!\p" - .string "You probably don't have any\n" - .string "BADGES, do you?\p" - .string "The guard won't let you through\n" - .string "without them.\p" - .string "By the way, did your POKéMON get\n" - .string "any stronger?$" - -Text_188959:: @ 8188959 - .string "Awww!\n" - .string "You just lucked out!$" - -gUnknown_8188974:: @ 8188974 - .string "I heard the POKéMON LEAGUE is\n" - .string "crawling with tough TRAINERS.\p" - .string "I have to figure out how to get\n" - .string "past them.\p" - .string "You should quit dawdling and get a\n" - .string "move on!$" - -Text_188A07:: @ 8188A07 - .string "{RIVAL}“なんだ?\n" - .string "ポケモン 2ひきも\l" - .string "もってるの なぜか だって?\p" - .string "おまえも\n" - .string "つかまえれば いい じゃん!$" - -gUnknown_8188A3C:: @ 8188A3C - .string "{RIVAL}: What? {PLAYER}!\n" - .string "What a surprise to see you here!\p" - .string "So you're going to the POKéMON\n" - .string "LEAGUE?\p" - .string "You collected all the BADGES, too?\n" - .string "That's cool!\p" - .string "Then I'll whip you, {PLAYER}, as a\n" - .string "warm-up for the POKéMON LEAGUE!\p" - .string "Come on!$" - -Text_188B08:: @ 8188B08 - .string "What!?\p" - .string "I was just careless, you!$" - -gUnknown_8188B29:: @ 8188B29 - .string "That loosened me up.\n" - .string "I'm ready for the POKéMON LEAGUE!\p" - .string "{PLAYER}, you need more practice.\p" - .string "But hey, you know that!\n" - .string "I'm out of here. Smell ya!$" - -Text_188BAF:: @ 8188BAF - .string "{RIVAL}“ひゃははッ {PLAYER}ー!\n" - .string "それで がんばってるのかよ!\l" - .string "おれの さいのうに くらべりゃ\l" - .string "{PLAYER}は まだまだ だな!\p" - .string "もっと れんしゅう こいよ!\n" - .string "あははーッ!$" - -gUnknown_8188BFF:: @ 8188BFF - .string "POKéMON LEAGUE\n" - .string "Front Gate$" +Route22_Text_EarlyRivalIntro:: @ 8188890 + .string "{RIVAL}: Hey! {PLAYER}!\p" + .string "You're off to the POKéMON LEAGUE?\n" + .string "Forget about it!\p" + .string "You probably don't have any\n" + .string "BADGES, do you?\p" + .string "The guard won't let you through\n" + .string "without them.\p" + .string "By the way, did your POKéMON get\n" + .string "any stronger?$" + +Route22_Text_EarlyRivalDefeat:: @ 8188959 + .string "Awww!\n" + .string "You just lucked out!$" + +Route22_Text_EarlyRivalPostBattle:: @ 8188974 + .string "I heard the POKéMON LEAGUE is\n" + .string "crawling with tough TRAINERS.\p" + .string "I have to figure out how to get\n" + .string "past them.\p" + .string "You should quit dawdling and get a\n" + .string "move on!$" + +@ Translated in RB as "{RIVAL}: What? Why do I have 2 POKéMON? You should catch some more too!" +Route22_Text_RivalShouldCatchSomeMons:: @ 8188A07 + .string "{RIVAL}“なんだ?\n" + .string "ポケモン 2ひきも\l" + .string "もってるの なぜか だって?\p" + .string "おまえも\n" + .string "つかまえれば いい じゃん!$" + +Route22_Text_LateRivalIntro:: @ 8188A3C + .string "{RIVAL}: What? {PLAYER}!\n" + .string "What a surprise to see you here!\p" + .string "So you're going to the POKéMON\n" + .string "LEAGUE?\p" + .string "You collected all the BADGES, too?\n" + .string "That's cool!\p" + .string "Then I'll whip you, {PLAYER}, as a\n" + .string "warm-up for the POKéMON LEAGUE!\p" + .string "Come on!$" + +Route22_Text_LateRivalDefeat:: @ 8188B08 + .string "What!?\p" + .string "I was just careless, you!$" + +Route22_Text_LateRivalPostBattle:: @ 8188B29 + .string "That loosened me up.\n" + .string "I'm ready for the POKéMON LEAGUE!\p" + .string "{PLAYER}, you need more practice.\p" + .string "But hey, you know that!\n" + .string "I'm out of here. Smell ya!$" + +@ Translated in RB as "{RIVAL}: Hahaha! {PLAYER}! That's your best? You're nowhere near as good as me, pal! Go train some more! You loser!" +Route22_Text_LateRivalVictory:: @ 8188BAF + .string "{RIVAL}“ひゃははッ {PLAYER}ー!\n" + .string "それで がんばってるのかよ!\l" + .string "おれの さいのうに くらべりゃ\l" + .string "{PLAYER}は まだまだ だな!\p" + .string "もっと れんしゅう こいよ!\n" + .string "あははーッ!$" + +Route22_Text_LeagueGateSign:: @ 8188BFF + .string "POKéMON LEAGUE\n" + .string "Front Gate$" diff --git a/data/maps/Route2_EastBuilding/map.json b/data/maps/Route2_EastBuilding/map.json index 2367b0b91..e966962c6 100644 --- a/data/maps/Route2_EastBuilding/map.json +++ b/data/maps/Route2_EastBuilding/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_EastBuilding_EventScript_16F67F", + "script": "Route2_EastBuilding_EventScript_Aide", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_EastBuilding_EventScript_16F714", + "script": "Route2_EastBuilding_EventScript_Rocker", "flag": "0" } ], diff --git a/data/maps/Route2_EastBuilding/scripts.inc b/data/maps/Route2_EastBuilding/scripts.inc index cba95dc0b..a94d72fd7 100644 --- a/data/maps/Route2_EastBuilding/scripts.inc +++ b/data/maps/Route2_EastBuilding/scripts.inc @@ -1,40 +1,42 @@ +.equ REQUIRED_SEEN_MONS, 10 + Route2_EastBuilding_MapScripts:: @ 816F67E .byte 0 -Route2_EastBuilding_EventScript_16F67F:: @ 816F67F +Route2_EastBuilding_EventScript_Aide:: @ 816F67F lock faceplayer - call EventScript_16F70B - goto_if_set FLAG_GOT_HM05, EventScript_16F701 - msgbox gUnknown_819D64F, MSGBOX_YESNO + call Route2_EastBuilding_EventScript_GetAideRequestInfo + goto_if_set FLAG_GOT_HM05, Route2_EastBuilding_EventScript_AlreadyGotHM05 + msgbox Route2_EastBuilding_Text_GiveHM05IfSeen10Mons, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_1A7AD1 + goto_if_eq Aide_EventScript_DeclineCheckMons setvar VAR_0x8004, 0 specialvar VAR_RESULT, Special_GetPokedexCount getnumberstring 2, VAR_0x8006 - call EventScript_16F70B - compare VAR_0x8006, 10 - goto_if_lt EventScript_1A7ABD - msgbox gUnknown_819D74E + call Route2_EastBuilding_EventScript_GetAideRequestInfo + compare VAR_0x8006, REQUIRED_SEEN_MONS + goto_if_lt Aide_EventScript_HaventCaughtEnough + msgbox Route2_EastBuilding_Text_GreatHereYouGo checkitemspace ITEM_HM05, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_1A7AC7 - giveitem_msg gUnknown_819D7A1, ITEM_HM05 + goto_if_eq Aide_EventScript_NoRoomForItem + giveitem_msg Route2_EastBuilding_Text_ReceivedHM05FromAide, ITEM_HM05 setflag FLAG_GOT_HM05 - msgbox gUnknown_819D7C1 + msgbox Route2_EastBuilding_Text_ExplainHM05 release end -EventScript_16F701:: @ 816F701 - msgbox gUnknown_819D7C1 +Route2_EastBuilding_EventScript_AlreadyGotHM05:: @ 816F701 + msgbox Route2_EastBuilding_Text_ExplainHM05 release end -EventScript_16F70B:: @ 816F70B - getnumberstring 0, 10 +Route2_EastBuilding_EventScript_GetAideRequestInfo:: @ 816F70B + getnumberstring 0, REQUIRED_SEEN_MONS getitemname 1, ITEM_HM05 return -Route2_EastBuilding_EventScript_16F714:: @ 816F714 - msgbox gUnknown_819D81E, MSGBOX_NPC +Route2_EastBuilding_EventScript_Rocker:: @ 816F714 + msgbox Route2_EastBuilding_Text_CanGetThroughRockTunnel, MSGBOX_NPC end diff --git a/data/maps/Route2_EastBuilding/text.inc b/data/maps/Route2_EastBuilding/text.inc index 228cf3c4d..1de4b8fc7 100644 --- a/data/maps/Route2_EastBuilding/text.inc +++ b/data/maps/Route2_EastBuilding/text.inc @@ -1,4 +1,4 @@ -gUnknown_819D64F:: @ 819D64F +Route2_EastBuilding_Text_GiveHM05IfSeen10Mons:: @ 819D64F .string "Hi! Remember me?\n" .string "I'm one of PROF. OAK's AIDES.\p" .string "If your POKéDEX has complete data\n" @@ -10,23 +10,23 @@ gUnknown_819D64F:: @ 819D64F .string "Have you gathered data on at least\n" .string "ten kinds of POKéMON?$" -gUnknown_819D74E:: @ 819D74E +Route2_EastBuilding_Text_GreatHereYouGo:: @ 819D74E .string "Great! You have caught or owned\n" .string "{STR_VAR_3} kinds of POKéMON!\p" .string "Congratulations!\n" .string "Here you go!$" -gUnknown_819D7A1:: @ 819D7A1 +Route2_EastBuilding_Text_ReceivedHM05FromAide:: @ 819D7A1 .string "{PLAYER} received HM05\n" .string "from the AIDE.$" -gUnknown_819D7C1:: @ 819D7C1 +Route2_EastBuilding_Text_ExplainHM05:: @ 819D7C1 .string "HM05 contains the hidden move\n" .string "FLASH.\p" .string "FLASH lights up even the darkest\n" .string "of caves and dungeons.$" -gUnknown_819D81E:: @ 819D81E +Route2_EastBuilding_Text_CanGetThroughRockTunnel:: @ 819D81E .string "Once a POKéMON learns FLASH, you\n" .string "can get through ROCK TUNNEL.$" diff --git a/data/maps/Route2_House/map.json b/data/maps/Route2_House/map.json index 4c4b7e790..8f9785c33 100644 --- a/data/maps/Route2_House/map.json +++ b/data/maps/Route2_House/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_House_EventScript_16F5F9", + "script": "Route2_House_EventScript_Scientist", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_House_EventScript_16F602", + "script": "Route2_House_EventScript_Reyley", "flag": "0" } ], diff --git a/data/maps/Route2_House/scripts.inc b/data/maps/Route2_House/scripts.inc index 2cdc2d8ec..6c442958c 100644 --- a/data/maps/Route2_House/scripts.inc +++ b/data/maps/Route2_House/scripts.inc @@ -1,43 +1,43 @@ Route2_House_MapScripts:: @ 816F5F8 .byte 0 -Route2_House_EventScript_16F5F9:: @ 816F5F9 - msgbox gUnknown_819D5E7, MSGBOX_NPC +Route2_House_EventScript_Scientist:: @ 816F5F9 + msgbox Route2_House_Text_FaintedMonsCanUseFieldMoves, MSGBOX_NPC end -Route2_House_EventScript_16F602:: @ 816F602 +Route2_House_EventScript_Reyley:: @ 816F602 lock faceplayer setvar VAR_0x8008, INGAME_TRADE_MR_MIME call EventScript_GetInGameTradeSpeciesInfo - goto_if_set FLAG_DID_MIMIEN_TRADE, EventScript_16F674 + goto_if_set FLAG_DID_MIMIEN_TRADE, Route2_House_EventScript_AlreadyTraded msgbox Trade_Text_LookingForMonWannaTradeForMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16F65C + goto_if_eq Route2_House_EventScript_DeclineTrade call EventScript_ChooseMonForInGameTrade compare VAR_0x8004, PARTY_SIZE - goto_if_ge EventScript_16F65C + goto_if_ge Route2_House_EventScript_DeclineTrade call EventScript_GetInGameTradeSpecies compare VAR_RESULT, VAR_0x8009 - goto_if_ne EventScript_16F666 + goto_if_ne Route2_House_EventScript_NotRequestedMon call EventScript_DoInGameTrade msgbox Trade_Text_HeyThanks setflag FLAG_DID_MIMIEN_TRADE release end -EventScript_16F65C:: @ 816F65C +Route2_House_EventScript_DeclineTrade:: @ 816F65C msgbox Trade_Text_AwwOhWell release end -EventScript_16F666:: @ 816F666 +Route2_House_EventScript_NotRequestedMon:: @ 816F666 getspeciesname 0, VAR_0x8009 msgbox Trade_Text_WhatThatsNoMon release end -EventScript_16F674:: @ 816F674 +Route2_House_EventScript_AlreadyTraded:: @ 816F674 msgbox Trade_Text_IsntMyOldMonGreat release end diff --git a/data/maps/Route2_House/text.inc b/data/maps/Route2_House/text.inc index 5fde449d3..76267c113 100644 --- a/data/maps/Route2_House/text.inc +++ b/data/maps/Route2_House/text.inc @@ -1,4 +1,4 @@ -gUnknown_819D5E7:: @ 819D5E7 +Route2_House_Text_FaintedMonsCanUseFieldMoves:: @ 819D5E7 .string "A fainted POKéMON just has no\n" .string "energy left to battle.\p" .string "It can still use moves like CUT\n" diff --git a/data/maps/Route2_ViridianForest_NorthEntrance/map.json b/data/maps/Route2_ViridianForest_NorthEntrance/map.json index 1d73befbd..7f4225d23 100644 --- a/data/maps/Route2_ViridianForest_NorthEntrance/map.json +++ b/data/maps/Route2_ViridianForest_NorthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_ViridianForest_NorthEntrance_EventScript_16F71E", + "script": "Route2_ViridianForest_NorthEntrance_EventScript_Youngster", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_ViridianForest_NorthEntrance_EventScript_16F727", + "script": "Route2_ViridianForest_NorthEntrance_EventScript_OldMan", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_ViridianForest_NorthEntrance_EventScript_16F730", + "script": "Route2_ViridianForest_NorthEntrance_EventScript_CooltrainerF", "flag": "0" } ], diff --git a/data/maps/Route2_ViridianForest_NorthEntrance/scripts.inc b/data/maps/Route2_ViridianForest_NorthEntrance/scripts.inc index 29e6bd757..756cf31d9 100644 --- a/data/maps/Route2_ViridianForest_NorthEntrance/scripts.inc +++ b/data/maps/Route2_ViridianForest_NorthEntrance/scripts.inc @@ -1,14 +1,14 @@ Route2_ViridianForest_NorthEntrance_MapScripts:: @ 816F71D .byte 0 -Route2_ViridianForest_NorthEntrance_EventScript_16F71E:: @ 816F71E - msgbox gUnknown_819D85C, MSGBOX_NPC +Route2_ViridianForest_NorthEntrance_EventScript_Youngster:: @ 816F71E + msgbox Route2_ViridianForest_NorthEntrance_Text_ManyMonsOnlyInForests, MSGBOX_NPC end -Route2_ViridianForest_NorthEntrance_EventScript_16F727:: @ 816F727 - msgbox gUnknown_819D8D0, MSGBOX_NPC +Route2_ViridianForest_NorthEntrance_EventScript_OldMan:: @ 816F727 + msgbox Route2_ViridianForest_NorthEntrance_Text_CanCutSkinnyTrees, MSGBOX_NPC end -Route2_ViridianForest_NorthEntrance_EventScript_16F730:: @ 816F730 - msgbox gUnknown_819D93B, MSGBOX_NPC +Route2_ViridianForest_NorthEntrance_EventScript_CooltrainerF:: @ 816F730 + msgbox Route2_ViridianForest_NorthEntrance_Text_CanCancelEvolution, MSGBOX_NPC end diff --git a/data/maps/Route2_ViridianForest_NorthEntrance/text.inc b/data/maps/Route2_ViridianForest_NorthEntrance/text.inc index 630d39fc9..9fec461a8 100644 --- a/data/maps/Route2_ViridianForest_NorthEntrance/text.inc +++ b/data/maps/Route2_ViridianForest_NorthEntrance/text.inc @@ -1,16 +1,16 @@ -gUnknown_819D85C:: @ 819D85C +Route2_ViridianForest_NorthEntrance_Text_ManyMonsOnlyInForests:: @ 819D85C .string "Many POKéMON live only in forests \n" .string "and caves.\p" .string "You need to be persistent and look\n" .string "everywhere to get different kinds.$" -gUnknown_819D8D0:: @ 819D8D0 +Route2_ViridianForest_NorthEntrance_Text_CanCutSkinnyTrees:: @ 819D8D0 .string "Have you noticed the skinny trees\n" .string "on the roadside?\p" .string "They can be cut down by a special\n" .string "POKéMON move, I hear.$" -gUnknown_819D93B:: @ 819D93B +Route2_ViridianForest_NorthEntrance_Text_CanCancelEvolution:: @ 819D93B .string "Do you know the evolution-cancel\n" .string "technique?\p" .string "When a POKéMON is evolving, you\n" diff --git a/data/maps/Route2_ViridianForest_SouthEntrance/map.json b/data/maps/Route2_ViridianForest_SouthEntrance/map.json index 8d85f8f46..4e0ad0164 100644 --- a/data/maps/Route2_ViridianForest_SouthEntrance/map.json +++ b/data/maps/Route2_ViridianForest_SouthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_ViridianForest_SouthEntrance_EventScript_16F5E6", + "script": "Route2_ViridianForest_SouthEntrance_EventScript_Woman1", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route2_ViridianForest_SouthEntrance_EventScript_16F5EF", + "script": "Route2_ViridianForest_SouthEntrance_EventScript_Woman2", "flag": "0" } ], diff --git a/data/maps/Route2_ViridianForest_SouthEntrance/scripts.inc b/data/maps/Route2_ViridianForest_SouthEntrance/scripts.inc index aea8bfaa4..2a60a3772 100644 --- a/data/maps/Route2_ViridianForest_SouthEntrance/scripts.inc +++ b/data/maps/Route2_ViridianForest_SouthEntrance/scripts.inc @@ -1,10 +1,10 @@ Route2_ViridianForest_SouthEntrance_MapScripts:: @ 816F5E5 .byte 0 -Route2_ViridianForest_SouthEntrance_EventScript_16F5E6:: @ 816F5E6 - msgbox gUnknown_819D52C, MSGBOX_NPC +Route2_ViridianForest_SouthEntrance_EventScript_Woman1:: @ 816F5E6 + msgbox Route2_ViridianForest_SouthEntrance_Text_ForestIsMaze, MSGBOX_NPC end -Route2_ViridianForest_SouthEntrance_EventScript_16F5EF:: @ 816F5EF - msgbox gUnknown_819D58B, MSGBOX_NPC +Route2_ViridianForest_SouthEntrance_EventScript_Woman2:: @ 816F5EF + msgbox Route2_ViridianForest_SouthEntrance_Text_RattataHasWickedBite, MSGBOX_NPC end diff --git a/data/maps/Route2_ViridianForest_SouthEntrance/text.inc b/data/maps/Route2_ViridianForest_SouthEntrance/text.inc index c92538340..20e25429f 100644 --- a/data/maps/Route2_ViridianForest_SouthEntrance/text.inc +++ b/data/maps/Route2_ViridianForest_SouthEntrance/text.inc @@ -1,9 +1,9 @@ -gUnknown_819D52C:: @ 819D52C +Route2_ViridianForest_SouthEntrance_Text_ForestIsMaze:: @ 819D52C .string "Are you going to VIRIDIAN FOREST?\n" .string "It's a natural maze in there.\l" .string "Be careful you don't get lost.$" -gUnknown_819D58B:: @ 819D58B +Route2_ViridianForest_SouthEntrance_Text_RattataHasWickedBite:: @ 819D58B .string "RATTATA may be small, but don't\n" .string "underestimate its wicked bite.\p" .string "Have you caught one already?$" diff --git a/data/maps/SSAnne_1F_Corridor/map.json b/data/maps/SSAnne_1F_Corridor/map.json index bf4c1e004..eab4e822a 100644 --- a/data/maps/SSAnne_1F_Corridor/map.json +++ b/data/maps/SSAnne_1F_Corridor/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Corridor_EventScript_1608D5", + "script": "SSAnne_1F_Corridor_EventScript_Sailor", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Corridor_EventScript_1608CC", + "script": "SSAnne_1F_Corridor_EventScript_WorkerM", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Corridor/scripts.inc b/data/maps/SSAnne_1F_Corridor/scripts.inc index 21967cf04..bc116f99b 100644 --- a/data/maps/SSAnne_1F_Corridor/scripts.inc +++ b/data/maps/SSAnne_1F_Corridor/scripts.inc @@ -1,10 +1,10 @@ SSAnne_1F_Corridor_MapScripts:: @ 81608CB .byte 0 -SSAnne_1F_Corridor_EventScript_1608CC:: @ 81608CC - msgbox gUnknown_8172EE7, MSGBOX_NPC +SSAnne_1F_Corridor_EventScript_WorkerM:: @ 81608CC + msgbox SSAnne_1F_Corridor_Text_LeStrongSilentType, MSGBOX_NPC end -SSAnne_1F_Corridor_EventScript_1608D5:: @ 81608D5 - msgbox gUnknown_8172F60, MSGBOX_NPC +SSAnne_1F_Corridor_EventScript_Sailor:: @ 81608D5 + msgbox SSAnne_1F_Corridor_Text_PassengersAreRestless, MSGBOX_NPC end diff --git a/data/maps/SSAnne_1F_Corridor/text.inc b/data/maps/SSAnne_1F_Corridor/text.inc index dff534c9a..f720e2ed9 100644 --- a/data/maps/SSAnne_1F_Corridor/text.inc +++ b/data/maps/SSAnne_1F_Corridor/text.inc @@ -1,4 +1,4 @@ -gUnknown_8172EE7:: @ 8172EE7 +SSAnne_1F_Corridor_Text_LeStrongSilentType:: @ 8172EE7 .string "Bonjour!\n" .string "I am le waiter on this ship!\p" .string "I will be happy to serve you\n" @@ -6,7 +6,7 @@ gUnknown_8172EE7:: @ 8172EE7 .string "… … …\n" .string "Ah! Le strong silent type!$" -gUnknown_8172F60:: @ 8172F60 +SSAnne_1F_Corridor_Text_PassengersAreRestless:: @ 8172F60 .string "The passengers are restless from\n" .string "this long voyage.\p" .string "You might be challenged by the\n" diff --git a/data/maps/SSAnne_1F_Room1/map.json b/data/maps/SSAnne_1F_Room1/map.json index e8547d2e3..42c95079b 100644 --- a/data/maps/SSAnne_1F_Room1/map.json +++ b/data/maps/SSAnne_1F_Room1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room1_EventScript_160BDC", + "script": "SSAnne_1F_Room1_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room1/scripts.inc b/data/maps/SSAnne_1F_Room1/scripts.inc index 5f610c830..8cbf9edb7 100644 --- a/data/maps/SSAnne_1F_Room1/scripts.inc +++ b/data/maps/SSAnne_1F_Room1/scripts.inc @@ -1,6 +1,6 @@ SSAnne_1F_Room1_MapScripts:: @ 8160BDB .byte 0 -SSAnne_1F_Room1_EventScript_160BDC:: @ 8160BDC - msgbox gUnknown_817393B, MSGBOX_NPC +SSAnne_1F_Room1_EventScript_Gentleman:: @ 8160BDC + msgbox SSAnne_1F_Room1_Text_ImAGlobalPoliceAgent, MSGBOX_NPC end diff --git a/data/maps/SSAnne_1F_Room1/text.inc b/data/maps/SSAnne_1F_Room1/text.inc index 252ab2283..1466bcfe8 100644 --- a/data/maps/SSAnne_1F_Room1/text.inc +++ b/data/maps/SSAnne_1F_Room1/text.inc @@ -1,4 +1,4 @@ -gUnknown_817393B:: @ 817393B +SSAnne_1F_Room1_Text_ImAGlobalPoliceAgent:: @ 817393B .string "Ssh…!\n" .string "I'm a GLOBAL POLICE agent.\p" .string "I'm on the trail of TEAM ROCKET.\n" diff --git a/data/maps/SSAnne_1F_Room2/map.json b/data/maps/SSAnne_1F_Room2/map.json index db08152f0..8a779f450 100644 --- a/data/maps/SSAnne_1F_Room2/map.json +++ b/data/maps/SSAnne_1F_Room2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SSAnne_1F_Room2_EventScript_160BEF", + "script": "SSAnne_1F_Room2_EventScript_Ann", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_1F_Room2_EventScript_160C06", + "script": "SSAnne_1F_Room2_EventScript_Tyler", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 1, - "script": "SSAnne_1F_Room2_EventScript_160BE6", + "script": "SSAnne_1F_Room2_EventScript_Woman", "flag": "0" }, { diff --git a/data/maps/SSAnne_1F_Room2/scripts.inc b/data/maps/SSAnne_1F_Room2/scripts.inc index 3a80d3cfe..10154e734 100644 --- a/data/maps/SSAnne_1F_Room2/scripts.inc +++ b/data/maps/SSAnne_1F_Room2/scripts.inc @@ -1,16 +1,16 @@ SSAnne_1F_Room2_MapScripts:: @ 8160BE5 .byte 0 -SSAnne_1F_Room2_EventScript_160BE6:: @ 8160BE6 - msgbox gUnknown_8173AC5, MSGBOX_NPC +SSAnne_1F_Room2_EventScript_Woman:: @ 8160BE6 + msgbox SSAnne_1F_Room2_Text_CruisingAroundWorld, MSGBOX_NPC end -SSAnne_1F_Room2_EventScript_160BEF:: @ 8160BEF - trainerbattle_single TRAINER_LASS_ANN, Text_173A1A, Text_173A4F - msgbox gUnknown_8173A7A, MSGBOX_AUTOCLOSE +SSAnne_1F_Room2_EventScript_Ann:: @ 8160BEF + trainerbattle_single TRAINER_LASS_ANN, SSAnne_1F_Room2_Text_AnnIntro, SSAnne_1F_Room2_Text_AnnDefeat + msgbox SSAnne_1F_Room2_Text_AnnPostBattle, MSGBOX_AUTOCLOSE end -SSAnne_1F_Room2_EventScript_160C06:: @ 8160C06 - trainerbattle_single TRAINER_YOUNGSTER_TYLER, Text_173999, Text_1739B1 - msgbox gUnknown_81739C5, MSGBOX_AUTOCLOSE +SSAnne_1F_Room2_EventScript_Tyler:: @ 8160C06 + trainerbattle_single TRAINER_YOUNGSTER_TYLER, SSAnne_1F_Room2_Text_TylerIntro, SSAnne_1F_Room2_Text_TylerDefeat + msgbox SSAnne_1F_Room2_Text_TylerPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_1F_Room2/text.inc b/data/maps/SSAnne_1F_Room2/text.inc index 92dc9a93c..55daa017f 100644 --- a/data/maps/SSAnne_1F_Room2/text.inc +++ b/data/maps/SSAnne_1F_Room2/text.inc @@ -1,31 +1,31 @@ -Text_173999:: @ 8173999 +SSAnne_1F_Room2_Text_TylerIntro:: @ 8173999 .string "I love POKéMON!\n" .string "Do you?$" -Text_1739B1:: @ 81739B1 +SSAnne_1F_Room2_Text_TylerDefeat:: @ 81739B1 .string "Wow! \n" .string "You're great!$" -gUnknown_81739C5:: @ 81739C5 +SSAnne_1F_Room2_Text_TylerPostBattle:: @ 81739C5 .string "Listen, listen!\n" .string "Let me be your friend, okay?\p" .string "Then we can trade POKéMON and\n" .string "do stuff.$" -Text_173A1A:: @ 8173A1A +SSAnne_1F_Room2_Text_AnnIntro:: @ 8173A1A .string "I collected these POKéMON\n" .string "from all around the world!$" -Text_173A4F:: @ 8173A4F +SSAnne_1F_Room2_Text_AnnDefeat:: @ 8173A4F .string "Oh, no!\n" .string "I went around the world for these!$" -gUnknown_8173A7A:: @ 8173A7A +SSAnne_1F_Room2_Text_AnnPostBattle:: @ 8173A7A .string "You hurt my poor POKéMON!\p" .string "I demand that you heal them at a\n" .string "POKéMON CENTER!$" -gUnknown_8173AC5:: @ 8173AC5 +SSAnne_1F_Room2_Text_CruisingAroundWorld:: @ 8173AC5 .string "We are cruising around the world,\n" .string "my children and I.$" diff --git a/data/maps/SSAnne_1F_Room3/map.json b/data/maps/SSAnne_1F_Room3/map.json index 71febbbf9..d610ee30a 100644 --- a/data/maps/SSAnne_1F_Room3/map.json +++ b/data/maps/SSAnne_1F_Room3/map.json @@ -23,7 +23,7 @@ "movement_range_y": 3, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room3_EventScript_160C1E", + "script": "SSAnne_1F_Room3_EventScript_LittleGirl", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room3_EventScript_160C30", + "script": "SSAnne_1F_Room3_EventScript_Wigglytuff", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room3_EventScript_160C27", + "script": "SSAnne_1F_Room3_EventScript_BaldingMan", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room3/scripts.inc b/data/maps/SSAnne_1F_Room3/scripts.inc index 7b9651040..446106c4e 100644 --- a/data/maps/SSAnne_1F_Room3/scripts.inc +++ b/data/maps/SSAnne_1F_Room3/scripts.inc @@ -1,20 +1,20 @@ SSAnne_1F_Room3_MapScripts:: @ 8160C1D .byte 0 -SSAnne_1F_Room3_EventScript_160C1E:: @ 8160C1E - msgbox gUnknown_8173B21, MSGBOX_NPC +SSAnne_1F_Room3_EventScript_LittleGirl:: @ 8160C1E + msgbox SSAnne_1F_Room3_Text_AlwaysTravelWithWigglytuff, MSGBOX_NPC end -SSAnne_1F_Room3_EventScript_160C27:: @ 8160C27 - msgbox gUnknown_8173AFA, MSGBOX_NPC +SSAnne_1F_Room3_EventScript_BaldingMan:: @ 8160C27 + msgbox SSAnne_1F_Room3_Text_CruiseIsElegantAndCozy, MSGBOX_NPC end -SSAnne_1F_Room3_EventScript_160C30:: @ 8160C30 +SSAnne_1F_Room3_EventScript_Wigglytuff:: @ 8160C30 lock faceplayer waitse playmoncry SPECIES_WIGGLYTUFF, 0 - msgbox gUnknown_8173B61 + msgbox SSAnne_1F_Room3_Text_Wigglytuff waitmoncry release end diff --git a/data/maps/SSAnne_1F_Room3/text.inc b/data/maps/SSAnne_1F_Room3/text.inc index 32709c631..d79d495e9 100644 --- a/data/maps/SSAnne_1F_Room3/text.inc +++ b/data/maps/SSAnne_1F_Room3/text.inc @@ -1,11 +1,11 @@ -gUnknown_8173AFA:: @ 8173AFA +SSAnne_1F_Room3_Text_CruiseIsElegantAndCozy:: @ 8173AFA .string "A world cruise is so elegant yet\n" .string "cozy!$" -gUnknown_8173B21:: @ 8173B21 +SSAnne_1F_Room3_Text_AlwaysTravelWithWigglytuff:: @ 8173B21 .string "I always travel with WIGGLYTUFF.\n" .string "I never leave home without it.$" -gUnknown_8173B61:: @ 8173B61 +SSAnne_1F_Room3_Text_Wigglytuff:: @ 8173B61 .string "WIGGLYTUFF: Puup pupuu!$" diff --git a/data/maps/SSAnne_1F_Room4/map.json b/data/maps/SSAnne_1F_Room4/map.json index a97e88fcc..262a1a089 100644 --- a/data/maps/SSAnne_1F_Room4/map.json +++ b/data/maps/SSAnne_1F_Room4/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room4_EventScript_160C44", + "script": "SSAnne_1F_Room4_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room4/scripts.inc b/data/maps/SSAnne_1F_Room4/scripts.inc index 9e6f3fdc2..7a4dfde80 100644 --- a/data/maps/SSAnne_1F_Room4/scripts.inc +++ b/data/maps/SSAnne_1F_Room4/scripts.inc @@ -1,17 +1,17 @@ SSAnne_1F_Room4_MapScripts:: @ 8160C43 .byte 0 -SSAnne_1F_Room4_EventScript_160C44:: @ 8160C44 +SSAnne_1F_Room4_EventScript_Woman:: @ 8160C44 lock faceplayer checkplayergender compare VAR_RESULT, MALE - goto_if_eq EventScript_160C5C - msgbox gUnknown_8173BA4 + goto_if_eq SSAnne_1F_Room4_EventScript_WomanPlayerMale + msgbox SSAnne_1F_Room4_Text_WaitressCherryPiePlease release end -EventScript_160C5C:: @ 8160C5C - msgbox gUnknown_8173B79 +SSAnne_1F_Room4_EventScript_WomanPlayerMale:: @ 8160C5C + msgbox SSAnne_1F_Room4_Text_WaiterCherryPiePlease release end diff --git a/data/maps/SSAnne_1F_Room4/text.inc b/data/maps/SSAnne_1F_Room4/text.inc index 8b3f4c775..e0eb0bcce 100644 --- a/data/maps/SSAnne_1F_Room4/text.inc +++ b/data/maps/SSAnne_1F_Room4/text.inc @@ -1,8 +1,8 @@ -gUnknown_8173B79:: @ 8173B79 +SSAnne_1F_Room4_Text_WaiterCherryPiePlease:: @ 8173B79 .string "Waiter, I would like a cherry pie,\n" .string "please!$" -gUnknown_8173BA4:: @ 8173BA4 +SSAnne_1F_Room4_Text_WaitressCherryPiePlease:: @ 8173BA4 .string "Waitress, I would like a cherry\n" .string "pie, please!$" diff --git a/data/maps/SSAnne_1F_Room5/map.json b/data/maps/SSAnne_1F_Room5/map.json index 7d3c24e5b..6cdd3d088 100644 --- a/data/maps/SSAnne_1F_Room5/map.json +++ b/data/maps/SSAnne_1F_Room5/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "SSAnne_1F_Room5_EventScript_160C67", + "script": "SSAnne_1F_Room5_EventScript_Arthur", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room5/scripts.inc b/data/maps/SSAnne_1F_Room5/scripts.inc index 028442449..e91e35bf6 100644 --- a/data/maps/SSAnne_1F_Room5/scripts.inc +++ b/data/maps/SSAnne_1F_Room5/scripts.inc @@ -1,7 +1,7 @@ SSAnne_1F_Room5_MapScripts:: @ 8160C66 .byte 0 -SSAnne_1F_Room5_EventScript_160C67:: @ 8160C67 - trainerbattle_single TRAINER_GENTLEMAN_ARTHUR, Text_173BD1, Text_173BFA - msgbox gUnknown_8173C30, MSGBOX_AUTOCLOSE +SSAnne_1F_Room5_EventScript_Arthur:: @ 8160C67 + trainerbattle_single TRAINER_GENTLEMAN_ARTHUR, SSAnne_1F_Room5_Text_ArthurIntro, SSAnne_1F_Room5_Text_ArthurDefeat + msgbox SSAnne_1F_Room5_Text_ArthurPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_1F_Room5/text.inc b/data/maps/SSAnne_1F_Room5/text.inc index 09d582707..dd2f80262 100644 --- a/data/maps/SSAnne_1F_Room5/text.inc +++ b/data/maps/SSAnne_1F_Room5/text.inc @@ -1,12 +1,12 @@ -Text_173BD1:: @ 8173BD1 +SSAnne_1F_Room5_Text_ArthurIntro:: @ 8173BD1 .string "You insolent pup!\n" .string "How dare you barge in!$" -Text_173BFA:: @ 8173BFA +SSAnne_1F_Room5_Text_ArthurDefeat:: @ 8173BFA .string "Humph! You rude child!\n" .string "You have no sense of courtesy!$" -gUnknown_8173C30:: @ 8173C30 +SSAnne_1F_Room5_Text_ArthurPostBattle:: @ 8173C30 .string "I wish to be left alone!\n" .string "Get out!$" diff --git a/data/maps/SSAnne_1F_Room6/map.json b/data/maps/SSAnne_1F_Room6/map.json index 881554a8d..b9b25ff45 100644 --- a/data/maps/SSAnne_1F_Room6/map.json +++ b/data/maps/SSAnne_1F_Room6/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_1F_Room6_EventScript_160DF3", + "script": "SSAnne_1F_Room6_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room6/scripts.inc b/data/maps/SSAnne_1F_Room6/scripts.inc index 42c69fb3b..dec1181bf 100644 --- a/data/maps/SSAnne_1F_Room6/scripts.inc +++ b/data/maps/SSAnne_1F_Room6/scripts.inc @@ -1,27 +1,27 @@ SSAnne_1F_Room6_MapScripts:: @ 8160DF2 .byte 0 -SSAnne_1F_Room6_EventScript_160DF3:: @ 8160DF3 +SSAnne_1F_Room6_EventScript_Woman:: @ 8160DF3 lock faceplayer - msgbox gUnknown_817445B, MSGBOX_YESNO + msgbox SSAnne_1F_Room6_Text_TakeAShortRest, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_160E18 + goto_if_eq SSAnne_1F_Room6_EventScript_DeclineHeal closemessage call EventScript_OutOfCenterPartyHeal - msgbox gUnknown_8174490 + msgbox SSAnne_1F_Room6_Text_GladEveryoneIsRefreshed release end -EventScript_160E18:: @ 8160E18 +SSAnne_1F_Room6_EventScript_DeclineHeal:: @ 8160E18 checkplayergender compare VAR_RESULT, MALE - goto_if_eq EventScript_160E2E - msgbox gUnknown_8174515 + goto_if_eq SSAnne_1F_Room6_EventScript_DeclineHealMale + msgbox SSAnne_1F_Room6_Text_SorryYouLookLikeMySister release end -EventScript_160E2E:: @ 8160E2E - msgbox gUnknown_81744D0 +SSAnne_1F_Room6_EventScript_DeclineHealMale:: @ 8160E2E + msgbox SSAnne_1F_Room6_Text_SorryYouLookLikeMyBrother release end diff --git a/data/maps/SSAnne_1F_Room6/text.inc b/data/maps/SSAnne_1F_Room6/text.inc index 442992f02..6d4d98ff5 100644 --- a/data/maps/SSAnne_1F_Room6/text.inc +++ b/data/maps/SSAnne_1F_Room6/text.inc @@ -1,16 +1,16 @@ -gUnknown_817445B:: @ 817445B +SSAnne_1F_Room6_Text_TakeAShortRest:: @ 817445B .string "You look tired. Would you like to\n" .string "take a short rest?$" -gUnknown_8174490:: @ 8174490 +SSAnne_1F_Room6_Text_GladEveryoneIsRefreshed:: @ 8174490 .string "I'm glad to see that everyone is\n" .string "looking refreshed and chipper.$" -gUnknown_81744D0:: @ 81744D0 +SSAnne_1F_Room6_Text_SorryYouLookLikeMyBrother:: @ 81744D0 .string "Oh, I'm sorry for fussing over you.\n" .string "You look like my little brother…$" -gUnknown_8174515:: @ 8174515 +SSAnne_1F_Room6_Text_SorryYouLookLikeMySister:: @ 8174515 .string "Oh, I'm sorry for fussing over you.\n" .string "You look like my little sister…$" diff --git a/data/maps/SSAnne_1F_Room7/map.json b/data/maps/SSAnne_1F_Room7/map.json index 887022650..98496a947 100644 --- a/data/maps/SSAnne_1F_Room7/map.json +++ b/data/maps/SSAnne_1F_Room7/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_1F_Room7_EventScript_160C7F", + "script": "SSAnne_1F_Room7_EventScript_Thomas", "flag": "0" } ], diff --git a/data/maps/SSAnne_1F_Room7/scripts.inc b/data/maps/SSAnne_1F_Room7/scripts.inc index 5901ee65b..60e26dc73 100644 --- a/data/maps/SSAnne_1F_Room7/scripts.inc +++ b/data/maps/SSAnne_1F_Room7/scripts.inc @@ -1,7 +1,7 @@ SSAnne_1F_Room7_MapScripts:: @ 8160C7E .byte 0 -SSAnne_1F_Room7_EventScript_160C7F:: @ 8160C7F - trainerbattle_single TRAINER_GENTLEMAN_THOMAS, Text_173C52, Text_173CB4 - msgbox gUnknown_8173CC4, MSGBOX_AUTOCLOSE +SSAnne_1F_Room7_EventScript_Thomas:: @ 8160C7F + trainerbattle_single TRAINER_GENTLEMAN_THOMAS, SSAnne_1F_Room7_Text_ThomasIntro, SSAnne_1F_Room7_Text_ThomasDefeat + msgbox SSAnne_1F_Room7_Text_ThomasPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_1F_Room7/text.inc b/data/maps/SSAnne_1F_Room7/text.inc index d4fed83fb..3a8ce2f28 100644 --- a/data/maps/SSAnne_1F_Room7/text.inc +++ b/data/maps/SSAnne_1F_Room7/text.inc @@ -1,11 +1,11 @@ -Text_173C52:: @ 8173C52 +SSAnne_1F_Room7_Text_ThomasIntro:: @ 8173C52 .string "I am but a solitary traveler…\p" .string "My sole companions and friends are\n" .string "POKéMON I caught on my journeys…$" -Text_173CB4:: @ 8173CB4 +SSAnne_1F_Room7_Text_ThomasDefeat:: @ 8173CB4 .string "My, my friends…$" -gUnknown_8173CC4:: @ 8173CC4 +SSAnne_1F_Room7_Text_ThomasPostBattle:: @ 8173CC4 .string "You should be nice to friends!$" diff --git a/data/maps/SSAnne_2F_Corridor/map.json b/data/maps/SSAnne_2F_Corridor/map.json index 850b63fc4..e3b506027 100644 --- a/data/maps/SSAnne_2F_Corridor/map.json +++ b/data/maps/SSAnne_2F_Corridor/map.json @@ -36,7 +36,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Corridor_EventScript_160A54", + "script": "SSAnne_2F_Corridor_EventScript_Sailor", "flag": "0" } ], @@ -113,7 +113,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR", "var_value": 0, - "script": "SSAnne_2F_Corridor_EventScript_1608DF" + "script": "SSAnne_2F_Corridor_EventScript_RivalTriggerLeft" }, { "type": "trigger", @@ -122,7 +122,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR", "var_value": 0, - "script": "SSAnne_2F_Corridor_EventScript_1608EB" + "script": "SSAnne_2F_Corridor_EventScript_RivalTriggerMid" }, { "type": "trigger", @@ -131,7 +131,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR", "var_value": 0, - "script": "SSAnne_2F_Corridor_EventScript_1608F7" + "script": "SSAnne_2F_Corridor_EventScript_RivalTriggerRight" } ], "bg_events": [] diff --git a/data/maps/SSAnne_2F_Corridor/scripts.inc b/data/maps/SSAnne_2F_Corridor/scripts.inc index 02b06920a..ed0ddd056 100644 --- a/data/maps/SSAnne_2F_Corridor/scripts.inc +++ b/data/maps/SSAnne_2F_Corridor/scripts.inc @@ -1,31 +1,25 @@ SSAnne_2F_Corridor_MapScripts:: @ 81608DE .byte 0 -SSAnne_2F_Corridor_EventScript_1608DF:: @ 81608DF +SSAnne_2F_Corridor_EventScript_RivalTriggerLeft:: @ 81608DF lockall setvar VAR_TEMP_1, 0 - goto EventScript_160903 - -EventScript_1608EA:: @ 81608EA + goto SSAnne_2F_Corridor_EventScript_RivalTrigger end -SSAnne_2F_Corridor_EventScript_1608EB:: @ 81608EB +SSAnne_2F_Corridor_EventScript_RivalTriggerMid:: @ 81608EB lockall setvar VAR_TEMP_1, 1 - goto EventScript_160903 - -EventScript_1608F6:: @ 81608F6 + goto SSAnne_2F_Corridor_EventScript_RivalTrigger end -SSAnne_2F_Corridor_EventScript_1608F7:: @ 81608F7 +SSAnne_2F_Corridor_EventScript_RivalTriggerRight:: @ 81608F7 lockall setvar VAR_TEMP_1, 2 - goto EventScript_160903 - -EventScript_160902:: @ 8160902 + goto SSAnne_2F_Corridor_EventScript_RivalTrigger end -EventScript_160903:: @ 8160903 +SSAnne_2F_Corridor_EventScript_RivalTrigger:: @ 8160903 textcolor 0 playse SE_KAIDAN delay 5 @@ -36,80 +30,80 @@ EventScript_160903:: @ 8160903 waitmovement 0 delay 20 compare VAR_TEMP_1, 0 - call_if_eq EventScript_1609AD + call_if_eq SSAnne_2F_Corridor_EventScript_RivalApproachLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_1609B8 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalApproachMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_1609CA - msgbox gUnknown_8173035 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalApproachRight + msgbox SSAnne_2F_Corridor_Text_RivalIntro setvar VAR_LAST_TALKED, 1 compare VAR_STARTER_MON, 2 - call_if_eq EventScript_1609DC + call_if_eq SSAnne_2F_Corridor_EventScript_RivalSquirtle compare VAR_STARTER_MON, 1 - call_if_eq EventScript_1609E7 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalBulbasaur compare VAR_STARTER_MON, 0 - call_if_eq EventScript_1609F2 - msgbox gUnknown_8173164 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalCharmander + msgbox SSAnne_2F_Corridor_Text_RivalPostBattle closemessage delay 10 playbgm MUS_RIVAL2, 0 compare VAR_TEMP_1, 0 - call_if_eq EventScript_1609FD + call_if_eq SSAnne_2F_Corridor_EventScript_RivalExitLeft compare VAR_TEMP_1, 1 - call_if_eq EventScript_160A08 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalExitMid compare VAR_TEMP_1, 2 - call_if_eq EventScript_160A13 + call_if_eq SSAnne_2F_Corridor_EventScript_RivalExitRight fadedefaultbgm removeobject 1 setvar VAR_MAP_SCENE_S_S_ANNE_2F_CORRIDOR, 1 releaseall end -EventScript_1609AD:: @ 81609AD - applymovement 1, Movement_160A2A +SSAnne_2F_Corridor_EventScript_RivalApproachLeft:: @ 81609AD + applymovement 1, SSAnne_2F_Corridor_Movement_RivalApproachLeft waitmovement 0 return -EventScript_1609B8:: @ 81609B8 - applymovement 1, Movement_160A2E - applymovement OBJ_EVENT_ID_PLAYER, Movement_160A24 +SSAnne_2F_Corridor_EventScript_RivalApproachMid:: @ 81609B8 + applymovement 1, SSAnne_2F_Corridor_Movement_RivalApproachMid + applymovement OBJ_EVENT_ID_PLAYER, SSAnne_2F_Corridor_Movement_PlayerFaceRivalMid waitmovement 0 return -EventScript_1609CA:: @ 81609CA - applymovement OBJ_EVENT_ID_PLAYER, Movement_160A1E - applymovement 1, Movement_160A34 +SSAnne_2F_Corridor_EventScript_RivalApproachRight:: @ 81609CA + applymovement OBJ_EVENT_ID_PLAYER, SSAnne_2F_Corridor_Movement_PlayerFaceRivalRight + applymovement 1, SSAnne_2F_Corridor_Movement_RivalApproachRight waitmovement 0 return -EventScript_1609DC:: @ 81609DC - trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_SQUIRTLE, Text_173110 +SSAnne_2F_Corridor_EventScript_RivalSquirtle:: @ 81609DC + trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_SQUIRTLE, SSAnne_2F_Corridor_Text_RivalDefeat return -EventScript_1609E7:: @ 81609E7 - trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_BULBASAUR, Text_173110 +SSAnne_2F_Corridor_EventScript_RivalBulbasaur:: @ 81609E7 + trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_BULBASAUR, SSAnne_2F_Corridor_Text_RivalDefeat return -EventScript_1609F2:: @ 81609F2 - trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_CHARMANDER, Text_173110 +SSAnne_2F_Corridor_EventScript_RivalCharmander:: @ 81609F2 + trainerbattle_no_intro TRAINER_RIVAL_SS_ANNE_CHARMANDER, SSAnne_2F_Corridor_Text_RivalDefeat return -EventScript_1609FD:: @ 81609FD - applymovement 1, Movement_160A3B +SSAnne_2F_Corridor_EventScript_RivalExitLeft:: @ 81609FD + applymovement 1, SSAnne_2F_Corridor_Movement_RivalExitLeft waitmovement 0 return -EventScript_160A08:: @ 8160A08 - applymovement 1, Movement_160A44 +SSAnne_2F_Corridor_EventScript_RivalExitMid:: @ 8160A08 + applymovement 1, SSAnne_2F_Corridor_Movement_RivalExitMid waitmovement 0 return -EventScript_160A13:: @ 8160A13 - applymovement 1, Movement_160A4C +SSAnne_2F_Corridor_EventScript_RivalExitRight:: @ 8160A13 + applymovement 1, SSAnne_2F_Corridor_Movement_RivalExitRight waitmovement 0 return -Movement_160A1E:: @ 8160A1E +SSAnne_2F_Corridor_Movement_PlayerFaceRivalRight:: @ 8160A1E delay_16 delay_16 delay_16 @@ -117,7 +111,7 @@ Movement_160A1E:: @ 8160A1E walk_in_place_fastest_left step_end -Movement_160A24:: @ 8160A24 +SSAnne_2F_Corridor_Movement_PlayerFaceRivalMid:: @ 8160A24 delay_16 delay_16 delay_16 @@ -125,13 +119,13 @@ Movement_160A24:: @ 8160A24 walk_in_place_fastest_left step_end -Movement_160A2A:: @ 8160A2A +SSAnne_2F_Corridor_Movement_RivalApproachLeft:: @ 8160A2A walk_down walk_down walk_down step_end -Movement_160A2E:: @ 8160A2E +SSAnne_2F_Corridor_Movement_RivalApproachMid:: @ 8160A2E walk_down walk_down walk_down @@ -139,7 +133,7 @@ Movement_160A2E:: @ 8160A2E walk_in_place_fastest_right step_end -Movement_160A34:: @ 8160A34 +SSAnne_2F_Corridor_Movement_RivalApproachRight:: @ 8160A34 walk_down walk_down walk_down @@ -148,7 +142,7 @@ Movement_160A34:: @ 8160A34 delay_4 step_end -Movement_160A3B:: @ 8160A3B +SSAnne_2F_Corridor_Movement_RivalExitLeft:: @ 8160A3B walk_right walk_down walk_down @@ -159,7 +153,7 @@ Movement_160A3B:: @ 8160A3B walk_down step_end -Movement_160A44:: @ 8160A44 +SSAnne_2F_Corridor_Movement_RivalExitMid:: @ 8160A44 walk_down walk_down walk_down @@ -169,7 +163,7 @@ Movement_160A44:: @ 8160A44 walk_down step_end -Movement_160A4C:: @ 8160A4C +SSAnne_2F_Corridor_Movement_RivalExitRight:: @ 8160A4C walk_down walk_down walk_down @@ -179,6 +173,6 @@ Movement_160A4C:: @ 8160A4C walk_down step_end -SSAnne_2F_Corridor_EventScript_160A54:: @ 8160A54 - msgbox gUnknown_8172FC3, MSGBOX_NPC +SSAnne_2F_Corridor_EventScript_Sailor:: @ 8160A54 + msgbox SSAnne_2F_Corridor_Text_ThisShipIsLuxuryLiner, MSGBOX_NPC end diff --git a/data/maps/SSAnne_2F_Corridor/text.inc b/data/maps/SSAnne_2F_Corridor/text.inc index fde6846f2..2f830479d 100644 --- a/data/maps/SSAnne_2F_Corridor/text.inc +++ b/data/maps/SSAnne_2F_Corridor/text.inc @@ -1,10 +1,10 @@ -gUnknown_8172FC3:: @ 8172FC3 +SSAnne_2F_Corridor_Text_ThisShipIsLuxuryLiner:: @ 8172FC3 .string "This ship, she is a luxury liner for\n" .string "TRAINERS of the world!\p" .string "At every port, we hold parties with\n" .string "invited TRAINERS.$" -gUnknown_8173035:: @ 8173035 +SSAnne_2F_Corridor_Text_RivalIntro:: @ 8173035 .string "{RIVAL}: Bonjour!\n" .string "{PLAYER}!\p" .string "Imagine seeing you here!\n" @@ -15,18 +15,18 @@ gUnknown_8173035:: @ 8173035 .string "Crawl around in grassy areas, and\n" .string "look hard for them.$" -Text_173110:: @ 8173110 +SSAnne_2F_Corridor_Text_RivalDefeat:: @ 8173110 .string "Humph!\p" .string "At least you're raising your\n" .string "POKéMON!$" -Text_17313D:: @ 817313D +SSAnne_2F_Corridor_Text_RivalVictory:: @ 817313D .string "{PLAYER}‥!\n" .string "ふなよい してるのか!\p" .string "もっと からだ\n" .string "きたえた ほうが いいぜ!$" -gUnknown_8173164:: @ 8173164 +SSAnne_2F_Corridor_Text_RivalPostBattle:: @ 8173164 .string "{RIVAL}: I heard there was a CUT\n" .string "master on board.\p" .string "But he was just a seasick old man!\p" diff --git a/data/maps/SSAnne_2F_Room1/map.json b/data/maps/SSAnne_2F_Room1/map.json index eacfe5c91..20e221a85 100644 --- a/data/maps/SSAnne_2F_Room1/map.json +++ b/data/maps/SSAnne_2F_Room1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room1_EventScript_160C97", + "script": "SSAnne_2F_Room1_EventScript_Gentleman", "flag": "0" } ], diff --git a/data/maps/SSAnne_2F_Room1/scripts.inc b/data/maps/SSAnne_2F_Room1/scripts.inc index 9748777c7..a31c914c1 100644 --- a/data/maps/SSAnne_2F_Room1/scripts.inc +++ b/data/maps/SSAnne_2F_Room1/scripts.inc @@ -1,10 +1,10 @@ SSAnne_2F_Room1_MapScripts:: @ 8160C96 .byte 0 -SSAnne_2F_Room1_EventScript_160C97:: @ 8160C97 +SSAnne_2F_Room1_EventScript_Gentleman:: @ 8160C97 lock faceplayer - message Text_173CE3 + message SSAnne_2F_Room1_Text_SleepingMonLookedLikeThis waitmessage setvar VAR_0x8004, SPECIES_SNORLAX special Special_SetSeenMon diff --git a/data/maps/SSAnne_2F_Room1/text.inc b/data/maps/SSAnne_2F_Room1/text.inc index 5a18af424..c75f4adb7 100644 --- a/data/maps/SSAnne_2F_Room1/text.inc +++ b/data/maps/SSAnne_2F_Room1/text.inc @@ -1,4 +1,4 @@ -Text_173CE3:: @ 8173CE3 +SSAnne_2F_Room1_Text_SleepingMonLookedLikeThis:: @ 8173CE3 .string "I've journeyed far and wide, but in\n" .string "all my travels I've never seen\l" .string "any POKéMON sleep like this one!\p" diff --git a/data/maps/SSAnne_2F_Room2/map.json b/data/maps/SSAnne_2F_Room2/map.json index e01f65eb5..df5cf4bc8 100644 --- a/data/maps/SSAnne_2F_Room2/map.json +++ b/data/maps/SSAnne_2F_Room2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_2F_Room2_EventScript_160CB1", + "script": "SSAnne_2F_Room2_EventScript_Dale", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SSAnne_2F_Room2_EventScript_160CC8", + "script": "SSAnne_2F_Room2_EventScript_Brooks", "flag": "0" }, { diff --git a/data/maps/SSAnne_2F_Room2/scripts.inc b/data/maps/SSAnne_2F_Room2/scripts.inc index 6568baa0e..3968c2726 100644 --- a/data/maps/SSAnne_2F_Room2/scripts.inc +++ b/data/maps/SSAnne_2F_Room2/scripts.inc @@ -1,12 +1,12 @@ SSAnne_2F_Room2_MapScripts:: @ 8160CB0 .byte 0 -SSAnne_2F_Room2_EventScript_160CB1:: @ 8160CB1 - trainerbattle_single TRAINER_FISHERMAN_DALE, Text_173DDB, Text_173DF7 - msgbox gUnknown_8173E04, MSGBOX_AUTOCLOSE +SSAnne_2F_Room2_EventScript_Dale:: @ 8160CB1 + trainerbattle_single TRAINER_FISHERMAN_DALE, SSAnne_2F_Room2_Text_DaleIntro, SSAnne_2F_Room2_Text_DaleDefeat + msgbox SSAnne_2F_Room2_Text_DalePostBattle, MSGBOX_AUTOCLOSE end -SSAnne_2F_Room2_EventScript_160CC8:: @ 8160CC8 - trainerbattle_single TRAINER_GENTLEMAN_BROOKS, Text_173D63, Text_173D92 - msgbox gUnknown_8173DB6, MSGBOX_AUTOCLOSE +SSAnne_2F_Room2_EventScript_Brooks:: @ 8160CC8 + trainerbattle_single TRAINER_GENTLEMAN_BROOKS, SSAnne_2F_Room2_Text_BrooksIntro, SSAnne_2F_Room2_Text_BrooksDefeat + msgbox SSAnne_2F_Room2_Text_BrooksPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_2F_Room2/text.inc b/data/maps/SSAnne_2F_Room2/text.inc index a931a8e47..e7fb8ea8a 100644 --- a/data/maps/SSAnne_2F_Room2/text.inc +++ b/data/maps/SSAnne_2F_Room2/text.inc @@ -1,22 +1,22 @@ -Text_173D63:: @ 8173D63 +SSAnne_2F_Room2_Text_BrooksIntro:: @ 8173D63 .string "Competing against the young keeps\n" .string "me youthful.$" -Text_173D92:: @ 8173D92 +SSAnne_2F_Room2_Text_BrooksDefeat:: @ 8173D92 .string "Good match!\n" .string "Ah, I feel young again!$" -gUnknown_8173DB6:: @ 8173DB6 +SSAnne_2F_Room2_Text_BrooksPostBattle:: @ 8173DB6 .string "Fifteen years ago, I would\n" .string "have won!$" -Text_173DDB:: @ 8173DDB +SSAnne_2F_Room2_Text_DaleIntro:: @ 8173DDB .string "Check out what I fished up!$" -Text_173DF7:: @ 8173DF7 +SSAnne_2F_Room2_Text_DaleDefeat:: @ 8173DF7 .string "I'm all out!$" -gUnknown_8173E04:: @ 8173E04 +SSAnne_2F_Room2_Text_DalePostBattle:: @ 8173E04 .string "Party?\p" .string "The cruise ship's party should be\n" .string "over by now.$" diff --git a/data/maps/SSAnne_2F_Room3/map.json b/data/maps/SSAnne_2F_Room3/map.json index 7cc2af8e7..8dbb1e408 100644 --- a/data/maps/SSAnne_2F_Room3/map.json +++ b/data/maps/SSAnne_2F_Room3/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room3_EventScript_160CE0", + "script": "SSAnne_2F_Room3_EventScript_Gentleman", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room3_EventScript_160CE9", + "script": "SSAnne_2F_Room3_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/SSAnne_2F_Room3/scripts.inc b/data/maps/SSAnne_2F_Room3/scripts.inc index 33924805b..8de8f47f3 100644 --- a/data/maps/SSAnne_2F_Room3/scripts.inc +++ b/data/maps/SSAnne_2F_Room3/scripts.inc @@ -1,10 +1,10 @@ SSAnne_2F_Room3_MapScripts:: @ 8160CDF .byte 0 -SSAnne_2F_Room3_EventScript_160CE0:: @ 8160CE0 - msgbox gUnknown_8173E3A, MSGBOX_NPC +SSAnne_2F_Room3_EventScript_Gentleman:: @ 8160CE0 + msgbox SSAnne_2F_Room3_Text_SeenMonsFerryPeople, MSGBOX_NPC end -SSAnne_2F_Room3_EventScript_160CE9:: @ 8160CE9 - msgbox gUnknown_8173E7B, MSGBOX_NPC +SSAnne_2F_Room3_EventScript_OldMan:: @ 8160CE9 + msgbox SSAnne_2F_Room3_Text_SomeTreesCanBeCutDown, MSGBOX_NPC end diff --git a/data/maps/SSAnne_2F_Room3/text.inc b/data/maps/SSAnne_2F_Room3/text.inc index c87c96ae0..680267ced 100644 --- a/data/maps/SSAnne_2F_Room3/text.inc +++ b/data/maps/SSAnne_2F_Room3/text.inc @@ -1,8 +1,8 @@ -gUnknown_8173E3A:: @ 8173E3A +SSAnne_2F_Room3_Text_SeenMonsFerryPeople:: @ 8173E3A .string "Ah, yes, I have seen some POKéMON\n" .string "ferry people across the water!$" -gUnknown_8173E7B:: @ 8173E7B +SSAnne_2F_Room3_Text_SomeTreesCanBeCutDown:: @ 8173E7B .string "Small trees can be chopped down\n" .string "using the move CUT.\p" .string "But remember this!\n" diff --git a/data/maps/SSAnne_2F_Room4/map.json b/data/maps/SSAnne_2F_Room4/map.json index 9b15b4707..dca8226dd 100644 --- a/data/maps/SSAnne_2F_Room4/map.json +++ b/data/maps/SSAnne_2F_Room4/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_2F_Room4_EventScript_160CF3", + "script": "SSAnne_2F_Room4_EventScript_Lamar", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_2F_Room4_EventScript_160D0A", + "script": "SSAnne_2F_Room4_EventScript_Dawn", "flag": "0" }, { diff --git a/data/maps/SSAnne_2F_Room4/scripts.inc b/data/maps/SSAnne_2F_Room4/scripts.inc index 85ecb21bf..13694bcfb 100644 --- a/data/maps/SSAnne_2F_Room4/scripts.inc +++ b/data/maps/SSAnne_2F_Room4/scripts.inc @@ -1,12 +1,12 @@ SSAnne_2F_Room4_MapScripts:: @ 8160CF2 .byte 0 -SSAnne_2F_Room4_EventScript_160CF3:: @ 8160CF3 - trainerbattle_single TRAINER_GENTLEMAN_LAMAR, Text_173F07, Text_173F42 - msgbox gUnknown_8173F55, MSGBOX_AUTOCLOSE +SSAnne_2F_Room4_EventScript_Lamar:: @ 8160CF3 + trainerbattle_single TRAINER_GENTLEMAN_LAMAR, SSAnne_2F_Room4_Text_LamarIntro, SSAnne_2F_Room4_Text_LamarDefeat + msgbox SSAnne_2F_Room4_Text_LamarPostBattle, MSGBOX_AUTOCLOSE end -SSAnne_2F_Room4_EventScript_160D0A:: @ 8160D0A - trainerbattle_single TRAINER_LASS_DAWN, Text_173F83, Text_173FAB - msgbox gUnknown_8173FB9, MSGBOX_AUTOCLOSE +SSAnne_2F_Room4_EventScript_Dawn:: @ 8160D0A + trainerbattle_single TRAINER_LASS_DAWN, SSAnne_2F_Room4_Text_DawnIntro, SSAnne_2F_Room4_Text_DawnDefeat + msgbox SSAnne_2F_Room4_Text_DawnPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_2F_Room4/text.inc b/data/maps/SSAnne_2F_Room4/text.inc index 69e7a7b0d..9eb19a2b4 100644 --- a/data/maps/SSAnne_2F_Room4/text.inc +++ b/data/maps/SSAnne_2F_Room4/text.inc @@ -1,22 +1,22 @@ -Text_173F07:: @ 8173F07 +SSAnne_2F_Room4_Text_LamarIntro:: @ 8173F07 .string "Which do you find more worthy,\n" .string "a strong or a rare POKéMON?$" -Text_173F42:: @ 8173F42 +SSAnne_2F_Room4_Text_LamarDefeat:: @ 8173F42 .string "I must salute you!$" -gUnknown_8173F55:: @ 8173F55 +SSAnne_2F_Room4_Text_LamarPostBattle:: @ 8173F55 .string "Personally, I prefer strong and\n" .string "rare POKéMON.$" -Text_173F83:: @ 8173F83 +SSAnne_2F_Room4_Text_DawnIntro:: @ 8173F83 .string "I don't believe I saw you at the\n" .string "party?$" -Text_173FAB:: @ 8173FAB +SSAnne_2F_Room4_Text_DawnDefeat:: @ 8173FAB .string "Take it easy!$" -gUnknown_8173FB9:: @ 8173FB9 +SSAnne_2F_Room4_Text_DawnPostBattle:: @ 8173FB9 .string "Oh, I adore your strong POKéMON!\n" .string "Oh, how I envy you for them!$" diff --git a/data/maps/SSAnne_2F_Room5/map.json b/data/maps/SSAnne_2F_Room5/map.json index 87a4b8adc..0821d13bd 100644 --- a/data/maps/SSAnne_2F_Room5/map.json +++ b/data/maps/SSAnne_2F_Room5/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room5_EventScript_160D22", + "script": "SSAnne_2F_Room5_EventScript_Gentleman", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room5_EventScript_160D2B", + "script": "SSAnne_2F_Room5_EventScript_LittleBoy", "flag": "0" } ], diff --git a/data/maps/SSAnne_2F_Room5/scripts.inc b/data/maps/SSAnne_2F_Room5/scripts.inc index 9635b4bf7..2a02c6d91 100644 --- a/data/maps/SSAnne_2F_Room5/scripts.inc +++ b/data/maps/SSAnne_2F_Room5/scripts.inc @@ -1,10 +1,10 @@ SSAnne_2F_Room5_MapScripts:: @ 8160D21 .byte 0 -SSAnne_2F_Room5_EventScript_160D22:: @ 8160D22 - msgbox gUnknown_8173FF7, MSGBOX_NPC +SSAnne_2F_Room5_EventScript_Gentleman:: @ 8160D22 + msgbox SSAnne_2F_Room5_Text_HaveYouGoneToSafariZone, MSGBOX_NPC end -SSAnne_2F_Room5_EventScript_160D2B:: @ 8160D2B - msgbox gUnknown_817404F, MSGBOX_NPC +SSAnne_2F_Room5_EventScript_LittleBoy:: @ 8160D2B + msgbox SSAnne_2F_Room5_Text_WeThinkSafariZoneIsAwesome, MSGBOX_NPC end diff --git a/data/maps/SSAnne_2F_Room5/text.inc b/data/maps/SSAnne_2F_Room5/text.inc index 75d44d3a5..7aa3e2ade 100644 --- a/data/maps/SSAnne_2F_Room5/text.inc +++ b/data/maps/SSAnne_2F_Room5/text.inc @@ -1,10 +1,10 @@ -gUnknown_8173FF7:: @ 8173FF7 +SSAnne_2F_Room5_Text_HaveYouGoneToSafariZone:: @ 8173FF7 .string "Have you gone to the SAFARI ZONE\n" .string "in FUCHSIA CITY?\p" .string "There are many kinds of rare\n" .string "POKéMON.$" -gUnknown_817404F:: @ 817404F +SSAnne_2F_Room5_Text_WeThinkSafariZoneIsAwesome:: @ 817404F .string "Me and my daddy think the SAFARI\n" .string "ZONE is awesome!\l" .string "I wish we could go there again.$" diff --git a/data/maps/SSAnne_2F_Room6/map.json b/data/maps/SSAnne_2F_Room6/map.json index 8e79519a0..56b6e6201 100644 --- a/data/maps/SSAnne_2F_Room6/map.json +++ b/data/maps/SSAnne_2F_Room6/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room6_EventScript_160D3E", + "script": "SSAnne_2F_Room6_EventScript_Woman2", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_2F_Room6_EventScript_160D35", + "script": "SSAnne_2F_Room6_EventScript_Woman1", "flag": "0" } ], diff --git a/data/maps/SSAnne_2F_Room6/scripts.inc b/data/maps/SSAnne_2F_Room6/scripts.inc index e92a5501e..458e7c35b 100644 --- a/data/maps/SSAnne_2F_Room6/scripts.inc +++ b/data/maps/SSAnne_2F_Room6/scripts.inc @@ -1,10 +1,10 @@ SSAnne_2F_Room6_MapScripts:: @ 8160D34 .byte 0 -SSAnne_2F_Room6_EventScript_160D35:: @ 8160D35 - msgbox gUnknown_81740A1, MSGBOX_NPC +SSAnne_2F_Room6_EventScript_Woman1:: @ 8160D35 + msgbox SSAnne_2F_Room6_Text_CaptainIsAwfullySick, MSGBOX_NPC end -SSAnne_2F_Room6_EventScript_160D3E:: @ 8160D3E - msgbox gUnknown_81740D6, MSGBOX_NPC +SSAnne_2F_Room6_EventScript_Woman2:: @ 8160D3E + msgbox SSAnne_2F_Room6_Text_ManyPeopleGetSeasick, MSGBOX_NPC end diff --git a/data/maps/SSAnne_2F_Room6/text.inc b/data/maps/SSAnne_2F_Room6/text.inc index 6f5b0abff..9820c1870 100644 --- a/data/maps/SSAnne_2F_Room6/text.inc +++ b/data/maps/SSAnne_2F_Room6/text.inc @@ -1,7 +1,7 @@ -gUnknown_81740A1:: @ 81740A1 +SSAnne_2F_Room6_Text_CaptainIsAwfullySick:: @ 81740A1 .string "The CAPTAIN said he's awfully sick.\n" .string "He was all pale.$" -gUnknown_81740D6:: @ 81740D6 +SSAnne_2F_Room6_Text_ManyPeopleGetSeasick:: @ 81740D6 .string "I hear many people get seasick.$" diff --git a/data/maps/SSAnne_3F_Corridor/map.json b/data/maps/SSAnne_3F_Corridor/map.json index 78aa22911..7c11905f1 100644 --- a/data/maps/SSAnne_3F_Corridor/map.json +++ b/data/maps/SSAnne_3F_Corridor/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_3F_Corridor_EventScript_160A5E", + "script": "SSAnne_3F_Corridor_EventScript_Sailor", "flag": "0" } ], diff --git a/data/maps/SSAnne_3F_Corridor/scripts.inc b/data/maps/SSAnne_3F_Corridor/scripts.inc index 5e67f5532..549fe8f84 100644 --- a/data/maps/SSAnne_3F_Corridor/scripts.inc +++ b/data/maps/SSAnne_3F_Corridor/scripts.inc @@ -1,6 +1,6 @@ SSAnne_3F_Corridor_MapScripts:: @ 8160A5D .byte 0 -SSAnne_3F_Corridor_EventScript_160A5E:: @ 8160A5E - msgbox gUnknown_817320C, MSGBOX_NPC +SSAnne_3F_Corridor_EventScript_Sailor:: @ 8160A5E + msgbox SSAnne_3F_Corridor_Text_CaptainTeachesCutToMons, MSGBOX_NPC end diff --git a/data/maps/SSAnne_3F_Corridor/text.inc b/data/maps/SSAnne_3F_Corridor/text.inc index 7d4a71bb4..a76f43a11 100644 --- a/data/maps/SSAnne_3F_Corridor/text.inc +++ b/data/maps/SSAnne_3F_Corridor/text.inc @@ -1,4 +1,4 @@ -gUnknown_817320C:: @ 817320C +SSAnne_3F_Corridor_Text_CaptainTeachesCutToMons:: @ 817320C .string "Our CAPTAIN is a sword master.\n" .string "He's awesome at using CUT.\p" .string "They say he even teaches CUT\n" diff --git a/data/maps/SSAnne_B1F_Room1/map.json b/data/maps/SSAnne_B1F_Room1/map.json index a5fa829d4..4608e6c9a 100644 --- a/data/maps/SSAnne_B1F_Room1/map.json +++ b/data/maps/SSAnne_B1F_Room1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SSAnne_B1F_Room1_EventScript_160D48", + "script": "SSAnne_B1F_Room1_EventScript_Barny", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SSAnne_B1F_Room1_EventScript_160D5F", + "script": "SSAnne_B1F_Room1_EventScript_Phillip", "flag": "0" } ], diff --git a/data/maps/SSAnne_B1F_Room1/scripts.inc b/data/maps/SSAnne_B1F_Room1/scripts.inc index 44cb7d2d1..eb35be89e 100644 --- a/data/maps/SSAnne_B1F_Room1/scripts.inc +++ b/data/maps/SSAnne_B1F_Room1/scripts.inc @@ -1,12 +1,12 @@ SSAnne_B1F_Room1_MapScripts:: @ 8160D47 .byte 0 -SSAnne_B1F_Room1_EventScript_160D48:: @ 8160D48 - trainerbattle_single TRAINER_FISHERMAN_BARNY, Text_174177, Text_1741EF - msgbox gUnknown_817420E, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room1_EventScript_Barny:: @ 8160D48 + trainerbattle_single TRAINER_FISHERMAN_BARNY, SSAnne_B1F_Room1_Text_BarnyIntro, SSAnne_B1F_Room1_Text_BarnyDefeat + msgbox SSAnne_B1F_Room1_Text_BarnyPostBattle, MSGBOX_AUTOCLOSE end -SSAnne_B1F_Room1_EventScript_160D5F:: @ 8160D5F - trainerbattle_single TRAINER_SAILOR_PHILLIP, Text_1740F6, Text_174123 - msgbox gUnknown_817413A, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room1_EventScript_Phillip:: @ 8160D5F + trainerbattle_single TRAINER_SAILOR_PHILLIP, SSAnne_B1F_Room1_Text_PhillipIntro, SSAnne_B1F_Room1_Text_PhillipDefeat + msgbox SSAnne_B1F_Room1_Text_PhillipPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_B1F_Room1/text.inc b/data/maps/SSAnne_B1F_Room1/text.inc index 2802e4a84..bdd4b753c 100644 --- a/data/maps/SSAnne_B1F_Room1/text.inc +++ b/data/maps/SSAnne_B1F_Room1/text.inc @@ -1,26 +1,26 @@ -Text_1740F6:: @ 81740F6 +SSAnne_B1F_Room1_Text_PhillipIntro:: @ 81740F6 .string "Matey, you're walking the plank if\n" .string "you lose!$" -Text_174123:: @ 8174123 +SSAnne_B1F_Room1_Text_PhillipDefeat:: @ 8174123 .string "Argh!\n" .string "Beaten by a kid!$" -gUnknown_817413A:: @ 817413A +SSAnne_B1F_Room1_Text_PhillipPostBattle:: @ 817413A .string "When we're out at sea, jellyfish\n" .string "POKéMON sometimes drift by.$" -Text_174177:: @ 8174177 +SSAnne_B1F_Room1_Text_BarnyIntro:: @ 8174177 .string "Hello, stranger!\p" .string "I can't tell if you're from the seas\n" .string "or mountains, but stop and chat.\p" .string "All my POKéMON are from the sea.$" -Text_1741EF:: @ 81741EF +SSAnne_B1F_Room1_Text_BarnyDefeat:: @ 81741EF .string "Darn!\n" .string "I let that one get away!$" -gUnknown_817420E:: @ 817420E +SSAnne_B1F_Room1_Text_BarnyPostBattle:: @ 817420E .string "I was going to make you my\n" .string "assistant, too!$" diff --git a/data/maps/SSAnne_B1F_Room2/map.json b/data/maps/SSAnne_B1F_Room2/map.json index 462ce7098..31c7d6eb7 100644 --- a/data/maps/SSAnne_B1F_Room2/map.json +++ b/data/maps/SSAnne_B1F_Room2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SSAnne_B1F_Room2_EventScript_160D77", + "script": "SSAnne_B1F_Room2_EventScript_Huey", "flag": "0" }, { diff --git a/data/maps/SSAnne_B1F_Room2/scripts.inc b/data/maps/SSAnne_B1F_Room2/scripts.inc index db9f37fe3..011950863 100644 --- a/data/maps/SSAnne_B1F_Room2/scripts.inc +++ b/data/maps/SSAnne_B1F_Room2/scripts.inc @@ -1,7 +1,7 @@ SSAnne_B1F_Room2_MapScripts:: @ 8160D76 .byte 0 -SSAnne_B1F_Room2_EventScript_160D77:: @ 8160D77 - trainerbattle_single TRAINER_SAILOR_HUEY, Text_174239, Text_17425C - msgbox gUnknown_8174272, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room2_EventScript_Huey:: @ 8160D77 + trainerbattle_single TRAINER_SAILOR_HUEY, SSAnne_B1F_Room2_Text_HueyIntro, SSAnne_B1F_Room2_Text_HueyDefeat + msgbox SSAnne_B1F_Room2_Text_HueyPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_B1F_Room2/text.inc b/data/maps/SSAnne_B1F_Room2/text.inc index df94d6351..852bf55b1 100644 --- a/data/maps/SSAnne_B1F_Room2/text.inc +++ b/data/maps/SSAnne_B1F_Room2/text.inc @@ -1,10 +1,10 @@ -Text_174239:: @ 8174239 +SSAnne_B1F_Room2_Text_HueyIntro:: @ 8174239 .string "Even us sailors have POKéMON, too!$" -Text_17425C:: @ 817425C +SSAnne_B1F_Room2_Text_HueyDefeat:: @ 817425C .string "Okay, you're not bad.$" -gUnknown_8174272:: @ 8174272 +SSAnne_B1F_Room2_Text_HueyPostBattle:: @ 8174272 .string "We caught all our POKéMON while\n" .string "we were out at sea.$" diff --git a/data/maps/SSAnne_B1F_Room3/map.json b/data/maps/SSAnne_B1F_Room3/map.json index 78786691b..70237229c 100644 --- a/data/maps/SSAnne_B1F_Room3/map.json +++ b/data/maps/SSAnne_B1F_Room3/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_B1F_Room3_EventScript_160D8F", + "script": "SSAnne_B1F_Room3_EventScript_Dylan", "flag": "0" }, { diff --git a/data/maps/SSAnne_B1F_Room3/scripts.inc b/data/maps/SSAnne_B1F_Room3/scripts.inc index df90031ac..9d0ffc95e 100644 --- a/data/maps/SSAnne_B1F_Room3/scripts.inc +++ b/data/maps/SSAnne_B1F_Room3/scripts.inc @@ -1,7 +1,7 @@ SSAnne_B1F_Room3_MapScripts:: @ 8160D8E .byte 0 -SSAnne_B1F_Room3_EventScript_160D8F:: @ 8160D8F - trainerbattle_single TRAINER_SAILOR_DYLAN, Text_1742A6, Text_1742C3 - msgbox gUnknown_81742D2, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room3_EventScript_Dylan:: @ 8160D8F + trainerbattle_single TRAINER_SAILOR_DYLAN, SSAnne_B1F_Room3_Text_DylanIntro, SSAnne_B1F_Room3_Text_DylanDefeat + msgbox SSAnne_B1F_Room3_Text_DylanPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_B1F_Room3/text.inc b/data/maps/SSAnne_B1F_Room3/text.inc index f74b96052..cec2b5ec6 100644 --- a/data/maps/SSAnne_B1F_Room3/text.inc +++ b/data/maps/SSAnne_B1F_Room3/text.inc @@ -1,11 +1,11 @@ -Text_1742A6:: @ 81742A6 +SSAnne_B1F_Room3_Text_DylanIntro:: @ 81742A6 .string "I like feisty kids like you!$" -Text_1742C3:: @ 81742C3 +SSAnne_B1F_Room3_Text_DylanDefeat:: @ 81742C3 .string "Argh!\n" .string "Lost it!$" -gUnknown_81742D2:: @ 81742D2 +SSAnne_B1F_Room3_Text_DylanPostBattle:: @ 81742D2 .string "Sea POKéMON live in deep water.\n" .string "You'll need a ROD to fish them up!$" diff --git a/data/maps/SSAnne_B1F_Room4/map.json b/data/maps/SSAnne_B1F_Room4/map.json index ff6030afb..8222e4dbc 100644 --- a/data/maps/SSAnne_B1F_Room4/map.json +++ b/data/maps/SSAnne_B1F_Room4/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "SSAnne_B1F_Room4_EventScript_160DBE", + "script": "SSAnne_B1F_Room4_EventScript_Duncan", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SSAnne_B1F_Room4_EventScript_160DA7", + "script": "SSAnne_B1F_Room4_EventScript_Leonard", "flag": "0" } ], diff --git a/data/maps/SSAnne_B1F_Room4/scripts.inc b/data/maps/SSAnne_B1F_Room4/scripts.inc index c84b55b07..66b928b4c 100644 --- a/data/maps/SSAnne_B1F_Room4/scripts.inc +++ b/data/maps/SSAnne_B1F_Room4/scripts.inc @@ -1,12 +1,12 @@ SSAnne_B1F_Room4_MapScripts:: @ 8160DA6 .byte 0 -SSAnne_B1F_Room4_EventScript_160DA7:: @ 8160DA7 - trainerbattle_single TRAINER_SAILOR_LEONARD, Text_174315, Text_174348 - msgbox gUnknown_8174362, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room4_EventScript_Leonard:: @ 8160DA7 + trainerbattle_single TRAINER_SAILOR_LEONARD, SSAnne_B1F_Room4_Text_LeonardIntro, SSAnne_B1F_Room4_Text_LeonardDefeat + msgbox SSAnne_B1F_Room4_Text_LeonardPostBattle, MSGBOX_AUTOCLOSE end -SSAnne_B1F_Room4_EventScript_160DBE:: @ 8160DBE - trainerbattle_single TRAINER_SAILOR_DUNCAN, Text_174385, Text_1743B3 - msgbox gUnknown_81743C8, MSGBOX_AUTOCLOSE +SSAnne_B1F_Room4_EventScript_Duncan:: @ 8160DBE + trainerbattle_single TRAINER_SAILOR_DUNCAN, SSAnne_B1F_Room4_Text_DuncanIntro, SSAnne_B1F_Room4_Text_DuncanDefeat + msgbox SSAnne_B1F_Room4_Text_DuncanPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_B1F_Room4/text.inc b/data/maps/SSAnne_B1F_Room4/text.inc index d2f19f49f..fa6d7eb2e 100644 --- a/data/maps/SSAnne_B1F_Room4/text.inc +++ b/data/maps/SSAnne_B1F_Room4/text.inc @@ -1,23 +1,23 @@ -Text_174315:: @ 8174315 +SSAnne_B1F_Room4_Text_LeonardIntro:: @ 8174315 .string "You know what they say about\n" .string "sailors and battling!$" -Text_174348:: @ 8174348 +SSAnne_B1F_Room4_Text_LeonardDefeat:: @ 8174348 .string "Right!\n" .string "Good battle, mate!$" -gUnknown_8174362:: @ 8174362 +SSAnne_B1F_Room4_Text_LeonardPostBattle:: @ 8174362 .string "Hahaha!\n" .string "Want to be a sailor, mate?$" -Text_174385:: @ 8174385 +SSAnne_B1F_Room4_Text_DuncanIntro:: @ 8174385 .string "Come on, then!\n" .string "My sailor's pride is at stake!$" -Text_1743B3:: @ 81743B3 +SSAnne_B1F_Room4_Text_DuncanDefeat:: @ 81743B3 .string "Your spirit sank me!$" -gUnknown_81743C8:: @ 81743C8 +SSAnne_B1F_Room4_Text_DuncanPostBattle:: @ 81743C8 .string "Did you see the FISHING GURU in\n" .string "VERMILION CITY?$" diff --git a/data/maps/SSAnne_B1F_Room5/map.json b/data/maps/SSAnne_B1F_Room5/map.json index 8896c897f..5ed5383ea 100644 --- a/data/maps/SSAnne_B1F_Room5/map.json +++ b/data/maps/SSAnne_B1F_Room5/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_B1F_Room5_EventScript_160DD6", + "script": "SSAnne_B1F_Room5_EventScript_Boy", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_B1F_Room5_EventScript_160DDF", + "script": "SSAnne_B1F_Room5_EventScript_Machoke", "flag": "0" }, { diff --git a/data/maps/SSAnne_B1F_Room5/scripts.inc b/data/maps/SSAnne_B1F_Room5/scripts.inc index 37d26661b..320f233fd 100644 --- a/data/maps/SSAnne_B1F_Room5/scripts.inc +++ b/data/maps/SSAnne_B1F_Room5/scripts.inc @@ -1,16 +1,16 @@ SSAnne_B1F_Room5_MapScripts:: @ 8160DD5 .byte 0 -SSAnne_B1F_Room5_EventScript_160DD6:: @ 8160DD6 - msgbox gUnknown_81743F8, MSGBOX_NPC +SSAnne_B1F_Room5_EventScript_Boy:: @ 8160DD6 + msgbox SSAnne_B1F_Room5_Text_MachokeHasStrengthToMoveRocks, MSGBOX_NPC end -SSAnne_B1F_Room5_EventScript_160DDF:: @ 8160DDF +SSAnne_B1F_Room5_EventScript_Machoke:: @ 8160DDF lock faceplayer waitse playmoncry SPECIES_MACHOKE, 0 - msgbox gUnknown_8174444 + msgbox SSAnne_B1F_Room5_Text_Machoke waitmoncry release end diff --git a/data/maps/SSAnne_B1F_Room5/text.inc b/data/maps/SSAnne_B1F_Room5/text.inc index ac30dbe95..3126f97e3 100644 --- a/data/maps/SSAnne_B1F_Room5/text.inc +++ b/data/maps/SSAnne_B1F_Room5/text.inc @@ -1,8 +1,8 @@ -gUnknown_81743F8:: @ 81743F8 +SSAnne_B1F_Room5_Text_MachokeHasStrengthToMoveRocks:: @ 81743F8 .string "My buddy MACHOKE is super strong!\p" .string "He has enough STRENGTH to move\n" .string "big rocks!$" -gUnknown_8174444:: @ 8174444 +SSAnne_B1F_Room5_Text_Machoke:: @ 8174444 .string "MACHOKE: Gwoh! Goggoh!$" diff --git a/data/maps/SSAnne_CaptainsOffice/map.json b/data/maps/SSAnne_CaptainsOffice/map.json index 8ec955624..0f79b1014 100644 --- a/data/maps/SSAnne_CaptainsOffice/map.json +++ b/data/maps/SSAnne_CaptainsOffice/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_CaptainsOffice_EventScript_160B3A", + "script": "SSAnne_CaptainsOffice_EventScript_Captain", "flag": "0" } ], @@ -43,21 +43,21 @@ "x": 2, "y": 4, "elevation": 0, - "script": "SSAnne_CaptainsOffice_EventScript_160BD2" + "script": "SSAnne_CaptainsOffice_EventScript_Book" }, { "type": "bg_event_type_0", "x": 5, "y": 3, "elevation": 0, - "script": "SSAnne_CaptainsOffice_EventScript_160BC9" + "script": "SSAnne_CaptainsOffice_EventScript_TrashCan" }, { "type": "bg_event_type_0", "x": 2, "y": 3, "elevation": 0, - "script": "SSAnne_CaptainsOffice_EventScript_160BD2" + "script": "SSAnne_CaptainsOffice_EventScript_Book" } ] } diff --git a/data/maps/SSAnne_CaptainsOffice/scripts.inc b/data/maps/SSAnne_CaptainsOffice/scripts.inc index 7171cae6d..d5d976e21 100644 --- a/data/maps/SSAnne_CaptainsOffice/scripts.inc +++ b/data/maps/SSAnne_CaptainsOffice/scripts.inc @@ -1,12 +1,12 @@ SSAnne_CaptainsOffice_MapScripts:: @ 8160B39 .byte 0 -SSAnne_CaptainsOffice_EventScript_160B3A:: @ 8160B3A +SSAnne_CaptainsOffice_EventScript_Captain:: @ 8160B3A lock - goto_if_set FLAG_GOT_HM01, EventScript_160BB5 - msgbox gUnknown_8173646 + goto_if_set FLAG_GOT_HM01, SSAnne_CaptainsOffice_EventScript_AlreadyGotCut + msgbox SSAnne_CaptainsOffice_Text_CaptainIFeelSeasick textcolor 3 - message Text_173676 + message SSAnne_CaptainsOffice_Text_RubbedCaptainsBack waitmessage playfanfare MUS_ME_ASA waitfanfare @@ -14,33 +14,34 @@ SSAnne_CaptainsOffice_EventScript_160B3A:: @ 8160B3A delay 50 applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_81736A6 - giveitem_msg gUnknown_81737AF, ITEM_HM01, 1, MUS_FAN5 - msgbox gUnknown_81737D2 + msgbox SSAnne_CaptainsOffice_Text_ThankYouHaveHMForCut + giveitem_msg SSAnne_CaptainsOffice_Text_ObtainedHM01FromCaptain, ITEM_HM01, 1, MUS_FAN5 + msgbox SSAnne_CaptainsOffice_Text_ExplainCut setflag FLAG_GOT_HM01 setvar VAR_MAP_SCENE_VERMILION_CITY, 1 release end -EventScript_160BA0:: @ 8160BA0 - msgbox gUnknown_81738C3 +@ Unused +SSAnne_CaptainsOffice_EventScript_NoRoomForCut:: @ 8160BA0 + msgbox SSAnne_CaptainsOffice_Text_YouHaveNoRoomForThis closemessage applymovement 1, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_160BB5:: @ 8160BB5 +SSAnne_CaptainsOffice_EventScript_AlreadyGotCut:: @ 8160BB5 applymovement 1, Movement_FacePlayer waitmovement 0 - msgbox gUnknown_8173831 + msgbox SSAnne_CaptainsOffice_Text_SSAnneWillSetSailSoon release end -SSAnne_CaptainsOffice_EventScript_160BC9:: @ 8160BC9 - msgbox gUnknown_81738E6, MSGBOX_SIGN +SSAnne_CaptainsOffice_EventScript_TrashCan:: @ 8160BC9 + msgbox SSAnne_CaptainsOffice_Text_YuckShouldntHaveLooked, MSGBOX_SIGN end -SSAnne_CaptainsOffice_EventScript_160BD2:: @ 8160BD2 - msgbox gUnknown_8173903, MSGBOX_SIGN +SSAnne_CaptainsOffice_EventScript_Book:: @ 8160BD2 + msgbox SSAnne_CaptainsOffice_Text_HowToConquerSeasickness, MSGBOX_SIGN end diff --git a/data/maps/SSAnne_CaptainsOffice/text.inc b/data/maps/SSAnne_CaptainsOffice/text.inc index eab68b9bd..f4860b998 100644 --- a/data/maps/SSAnne_CaptainsOffice/text.inc +++ b/data/maps/SSAnne_CaptainsOffice/text.inc @@ -1,15 +1,15 @@ -gUnknown_8173646:: @ 8173646 +SSAnne_CaptainsOffice_Text_CaptainIFeelSeasick:: @ 8173646 .string "CAPTAIN: Ooargh…\n" .string "I feel hideous…\l" .string "Urrp! Seasick…$" -Text_173676:: @ 8173676 +SSAnne_CaptainsOffice_Text_RubbedCaptainsBack:: @ 8173676 .string "{PLAYER} rubbed the CAPTAIN's\n" .string "back!\p" .string "Rub-rub…\n" .string "Rub-rub…$" -gUnknown_81736A6:: @ 81736A6 +SSAnne_CaptainsOffice_Text_ThankYouHaveHMForCut:: @ 81736A6 .string "CAPTAIN: Whew! Thank you!\n" .string "I'm feeling much better now.\p" .string "You want to see my hidden CUT\n" @@ -21,17 +21,17 @@ gUnknown_81736A6:: @ 81736A6 .string "Teach CUT to your POKéMON, and\n" .string "you can see it CUT anytime!$" -gUnknown_81737AF:: @ 81737AF +SSAnne_CaptainsOffice_Text_ObtainedHM01FromCaptain:: @ 81737AF .string "{PLAYER} obtained HM01\n" .string "from the CAPTAIN!$" -gUnknown_81737D2:: @ 81737D2 +SSAnne_CaptainsOffice_Text_ExplainCut:: @ 81737D2 .string "Using CUT, you can chop down\n" .string "small trees.\p" .string "Why not try it with the trees\n" .string "around VERMILION CITY?$" -gUnknown_8173831:: @ 8173831 +SSAnne_CaptainsOffice_Text_SSAnneWillSetSailSoon:: @ 8173831 .string "CAPTAIN: …Whew!\p" .string "Now that I'm not sick anymore,\n" .string "I guess it's time.\p" @@ -39,15 +39,15 @@ gUnknown_8173831:: @ 8173831 .string "Farewell, until our return to\n" .string "VERMILION CITY!$" -gUnknown_81738C3:: @ 81738C3 +SSAnne_CaptainsOffice_Text_YouHaveNoRoomForThis:: @ 81738C3 .string "Oh, no!\n" .string "You have no room for this!$" -gUnknown_81738E6:: @ 81738E6 +SSAnne_CaptainsOffice_Text_YuckShouldntHaveLooked:: @ 81738E6 .string "Yuck!\n" .string "Shouldn't have looked!$" -gUnknown_8173903:: @ 8173903 +SSAnne_CaptainsOffice_Text_HowToConquerSeasickness:: @ 8173903 .string "How to Conquer Seasickness…\n" .string "The CAPTAIN's reading this!$" diff --git a/data/maps/SSAnne_Deck/map.json b/data/maps/SSAnne_Deck/map.json index 43fcf5c4d..617a770b3 100644 --- a/data/maps/SSAnne_Deck/map.json +++ b/data/maps/SSAnne_Deck/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "SSAnne_Deck_EventScript_160A9B", + "script": "SSAnne_Deck_EventScript_Trevor", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Deck_EventScript_160A72", + "script": "SSAnne_Deck_EventScript_BaldingMan", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Deck_EventScript_160A7B", + "script": "SSAnne_Deck_EventScript_Sailor", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "SSAnne_Deck_EventScript_160A84", + "script": "SSAnne_Deck_EventScript_Edmond", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Deck_EventScript_160A69", + "script": "SSAnne_Deck_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/SSAnne_Deck/scripts.inc b/data/maps/SSAnne_Deck/scripts.inc index d61b65d87..feee8040c 100644 --- a/data/maps/SSAnne_Deck/scripts.inc +++ b/data/maps/SSAnne_Deck/scripts.inc @@ -1,24 +1,24 @@ SSAnne_Deck_MapScripts:: @ 8160A68 .byte 0 -SSAnne_Deck_EventScript_160A69:: @ 8160A69 - msgbox gUnknown_817326F, MSGBOX_NPC +SSAnne_Deck_EventScript_Youngster:: @ 8160A69 + msgbox SSAnne_Deck_Text_ShipDepartingSoon, MSGBOX_NPC end -SSAnne_Deck_EventScript_160A72:: @ 8160A72 - msgbox gUnknown_81732C6, MSGBOX_NPC +SSAnne_Deck_EventScript_BaldingMan:: @ 8160A72 + msgbox SSAnne_Deck_Text_FeelSeasick, MSGBOX_NPC end -SSAnne_Deck_EventScript_160A7B:: @ 8160A7B - msgbox gUnknown_81732A2, MSGBOX_NPC +SSAnne_Deck_EventScript_Sailor:: @ 8160A7B + msgbox SSAnne_Deck_Text_ScrubbingDecksHardWork, MSGBOX_NPC end -SSAnne_Deck_EventScript_160A84:: @ 8160A84 - trainerbattle_single TRAINER_SAILOR_EDMOND, Text_173308, Text_17332B - msgbox gUnknown_817333E, MSGBOX_AUTOCLOSE +SSAnne_Deck_EventScript_Edmond:: @ 8160A84 + trainerbattle_single TRAINER_SAILOR_EDMOND, SSAnne_Deck_Text_EdmondIntro, SSAnne_Deck_Text_EdmondDefeat + msgbox SSAnne_Deck_Text_EdmondPostBattle, MSGBOX_AUTOCLOSE end -SSAnne_Deck_EventScript_160A9B:: @ 8160A9B - trainerbattle_single TRAINER_SAILOR_TREVOR, Text_173382, Text_1733A0 - msgbox gUnknown_81733B5, MSGBOX_AUTOCLOSE +SSAnne_Deck_EventScript_Trevor:: @ 8160A9B + trainerbattle_single TRAINER_SAILOR_TREVOR, SSAnne_Deck_Text_TrevorIntro, SSAnne_Deck_Text_TrevorDefeat + msgbox SSAnne_Deck_Text_TrevorPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/SSAnne_Deck/text.inc b/data/maps/SSAnne_Deck/text.inc index 08be9fc7d..73c4f42e5 100644 --- a/data/maps/SSAnne_Deck/text.inc +++ b/data/maps/SSAnne_Deck/text.inc @@ -1,35 +1,35 @@ -gUnknown_817326F:: @ 817326F +SSAnne_Deck_Text_ShipDepartingSoon:: @ 817326F .string "The party's over.\n" .string "The ship will be departing soon.$" -gUnknown_81732A2:: @ 81732A2 +SSAnne_Deck_Text_ScrubbingDecksHardWork:: @ 81732A2 .string "Whew!\n" .string "Scrubbing decks is hard work!$" -gUnknown_81732C6:: @ 81732C6 +SSAnne_Deck_Text_FeelSeasick:: @ 81732C6 .string "Urf… I feel ill…\p" .string "I got seasick, so I stepped out to\n" .string "get some air…$" -Text_173308:: @ 8173308 +SSAnne_Deck_Text_EdmondIntro:: @ 8173308 .string "Hey, matey!\p" .string "Let's do a little jig!$" -Text_17332B:: @ 817332B +SSAnne_Deck_Text_EdmondDefeat:: @ 817332B .string "You're impressive!$" -gUnknown_817333E:: @ 817333E +SSAnne_Deck_Text_EdmondPostBattle:: @ 817333E .string "How many kinds of POKéMON do you\n" .string "think there are in this big world?$" -Text_173382:: @ 8173382 +SSAnne_Deck_Text_TrevorIntro:: @ 8173382 .string "Ahoy, there!\n" .string "Are you seasick?$" -Text_1733A0:: @ 81733A0 +SSAnne_Deck_Text_TrevorDefeat:: @ 81733A0 .string "I was just careless!$" -gUnknown_81733B5:: @ 81733B5 +SSAnne_Deck_Text_TrevorPostBattle:: @ 81733B5 .string "My pa said there are 100 kinds of\n" .string "POKéMON. I think there are more.$" diff --git a/data/maps/SSAnne_Exterior/scripts.inc b/data/maps/SSAnne_Exterior/scripts.inc index a8ad24173..416c98cd6 100644 --- a/data/maps/SSAnne_Exterior/scripts.inc +++ b/data/maps/SSAnne_Exterior/scripts.inc @@ -8,22 +8,22 @@ SSAnne_Exterior_OnTransition:: @ 816084B end SSAnne_Exterior_OnFrame:: @ 816084F - map_script_2 VAR_MAP_SCENE_VERMILION_CITY, 1, SSAnne_Exterior_160859 + map_script_2 VAR_MAP_SCENE_VERMILION_CITY, 1, SSAnne_Exterior_ExitSSAnne .2byte 0 -SSAnne_Exterior_160859:: @ 8160859 +SSAnne_Exterior_ExitSSAnne:: @ 8160859 lockall getplayerxy VAR_0x8004, VAR_0x8005 compare VAR_0x8005, 6 - call_if_le EventScript_1608A1 + call_if_le SSAnne_Exterior_WalkDown compare VAR_0x8005, 7 - call_if_ge EventScript_1608AC + call_if_ge SSAnne_Exterior_WalkInPlaceDown fadenewbgm MUS_NAMINORI delay 50 special Special_SSAnneDepartureCutscene waitstate removeobject 1 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1608B7 + applymovement OBJ_EVENT_ID_PLAYER, SSAnne_Exterior_Movement_Exit waitmovement 0 setvar VAR_MAP_SCENE_VERMILION_CITY, 2 setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 0 @@ -32,17 +32,17 @@ SSAnne_Exterior_160859:: @ 8160859 releaseall end -EventScript_1608A1:: @ 81608A1 - applymovement OBJ_EVENT_ID_PLAYER, Movement_1608C1 +SSAnne_Exterior_WalkDown:: @ 81608A1 + applymovement OBJ_EVENT_ID_PLAYER, SSAnne_Exterior_Movement_WalkDown waitmovement 0 return -EventScript_1608AC:: @ 81608AC +SSAnne_Exterior_WalkInPlaceDown:: @ 81608AC applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return -Movement_1608B7:: @ 81608B7 +SSAnne_Exterior_Movement_Exit:: @ 81608B7 walk_up walk_up walk_up @@ -54,7 +54,7 @@ Movement_1608B7:: @ 81608B7 walk_up step_end -Movement_1608C1:: @ 81608C1 +SSAnne_Exterior_Movement_WalkDown:: @ 81608C1 walk_down walk_down walk_down diff --git a/data/maps/SSAnne_Kitchen/map.json b/data/maps/SSAnne_Kitchen/map.json index 25cc15fad..579f9e9b0 100644 --- a/data/maps/SSAnne_Kitchen/map.json +++ b/data/maps/SSAnne_Kitchen/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160AB3", + "script": "SSAnne_Kitchen_EventScript_Chef1", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160ABC", + "script": "SSAnne_Kitchen_EventScript_Chef2", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160AC5", + "script": "SSAnne_Kitchen_EventScript_Chef3", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160ACE", + "script": "SSAnne_Kitchen_EventScript_Chef4", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160B1E", + "script": "SSAnne_Kitchen_EventScript_Chef5", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160B27", + "script": "SSAnne_Kitchen_EventScript_Chef6", "flag": "0" }, { @@ -101,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SSAnne_Kitchen_EventScript_160B30", + "script": "SSAnne_Kitchen_EventScript_Chef7", "flag": "0" }, { diff --git a/data/maps/SSAnne_Kitchen/scripts.inc b/data/maps/SSAnne_Kitchen/scripts.inc index 565efd607..2f3d0ee06 100644 --- a/data/maps/SSAnne_Kitchen/scripts.inc +++ b/data/maps/SSAnne_Kitchen/scripts.inc @@ -1,53 +1,53 @@ SSAnne_Kitchen_MapScripts:: @ 8160AB2 .byte 0 -SSAnne_Kitchen_EventScript_160AB3:: @ 8160AB3 - msgbox gUnknown_81733F8, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef1:: @ 8160AB3 + msgbox SSAnne_Kitchen_Text_BusyOutOfTheWay, MSGBOX_NPC end -SSAnne_Kitchen_EventScript_160ABC:: @ 8160ABC - msgbox gUnknown_8173429, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef2:: @ 8160ABC + msgbox SSAnne_Kitchen_Text_SawOddBerryInTrash, MSGBOX_NPC end -SSAnne_Kitchen_EventScript_160AC5:: @ 8160AC5 - msgbox gUnknown_8173462, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef3:: @ 8160AC5 + msgbox SSAnne_Kitchen_Text_SoBusyImDizzy, MSGBOX_NPC end -SSAnne_Kitchen_EventScript_160ACE:: @ 8160ACE +SSAnne_Kitchen_EventScript_Chef4:: @ 8160ACE lock faceplayer - msgbox gUnknown_8173570 + msgbox SSAnne_Kitchen_Text_IAmLeChefMainCourseIs random 3 copyvar VAR_0x8008, VAR_RESULT compare VAR_0x8008, 0 - call_if_eq EventScript_160B03 + call_if_eq SSAnne_Kitchen_EventScript_SalmonDuSalad compare VAR_0x8008, 1 - call_if_eq EventScript_160B0C + call_if_eq SSAnne_Kitchen_EventScript_EelsAuBarbecue compare VAR_0x8008, 2 - call_if_eq EventScript_160B15 + call_if_eq SSAnne_Kitchen_EventScript_PrimeBeefsteak release end -EventScript_160B03:: @ 8160B03 - msgbox gUnknown_817359F +SSAnne_Kitchen_EventScript_SalmonDuSalad:: @ 8160B03 + msgbox SSAnne_Kitchen_Text_SalmonDuSalad return -EventScript_160B0C:: @ 8160B0C - msgbox gUnknown_81735DF +SSAnne_Kitchen_EventScript_EelsAuBarbecue:: @ 8160B0C + msgbox SSAnne_Kitchen_Text_EelsAuBarbecue return -EventScript_160B15:: @ 8160B15 - msgbox gUnknown_8173611 +SSAnne_Kitchen_EventScript_PrimeBeefsteak:: @ 8160B15 + msgbox SSAnne_Kitchen_Text_PrimeBeefsteak return -SSAnne_Kitchen_EventScript_160B1E:: @ 8160B1E - msgbox gUnknown_81734A0, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef5:: @ 8160B1E + msgbox SSAnne_Kitchen_Text_PeelSpudsEveryDay, MSGBOX_NPC end -SSAnne_Kitchen_EventScript_160B27:: @ 8160B27 - msgbox gUnknown_81734D3, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef6:: @ 8160B27 + msgbox SSAnne_Kitchen_Text_HearAboutSnorlaxItsAGlutton, MSGBOX_NPC end -SSAnne_Kitchen_EventScript_160B30:: @ 8160B30 - msgbox gUnknown_817353E, MSGBOX_NPC +SSAnne_Kitchen_EventScript_Chef7:: @ 8160B30 + msgbox SSAnne_Kitchen_Text_OnlyGetToPeelOnions, MSGBOX_NPC end diff --git a/data/maps/SSAnne_Kitchen/text.inc b/data/maps/SSAnne_Kitchen/text.inc index edd115076..24146ac8a 100644 --- a/data/maps/SSAnne_Kitchen/text.inc +++ b/data/maps/SSAnne_Kitchen/text.inc @@ -1,47 +1,47 @@ -gUnknown_81733F8:: @ 81733F8 +SSAnne_Kitchen_Text_BusyOutOfTheWay:: @ 81733F8 .string "You, mon petit!\n" .string "We're busy here!\l" .string "Out of the way!$" -gUnknown_8173429:: @ 8173429 +SSAnne_Kitchen_Text_SawOddBerryInTrash:: @ 8173429 .string "I saw an odd BERRY in the trash.\n" .string "I wonder what that was?$" -gUnknown_8173462:: @ 8173462 +SSAnne_Kitchen_Text_SoBusyImDizzy:: @ 8173462 .string "I'm so busy I'm getting dizzy!\n" .string "You have to give me room here!$" -gUnknown_81734A0:: @ 81734A0 +SSAnne_Kitchen_Text_PeelSpudsEveryDay:: @ 81734A0 .string "Hum-de-hum-de-ho…\p" .string "I peel spuds every day!\n" .string "Hum-hum…$" -gUnknown_81734D3:: @ 81734D3 +SSAnne_Kitchen_Text_HearAboutSnorlaxItsAGlutton:: @ 81734D3 .string "Did you hear about SNORLAX?\n" .string "It's a glutton.\p" .string "No other POKéMON eats and sleeps\n" .string "the way SNORLAX can and does!$" -gUnknown_817353E:: @ 817353E +SSAnne_Kitchen_Text_OnlyGetToPeelOnions:: @ 817353E .string "Snivel… Sniff…\p" .string "I only get to peel onions…\n" .string "Snivel…$" -gUnknown_8173570:: @ 8173570 +SSAnne_Kitchen_Text_IAmLeChefMainCourseIs:: @ 8173570 .string "Er-hem!\n" .string "Indeed I am le CHEF!\p" .string "Le main course is$" -gUnknown_817359F:: @ 817359F +SSAnne_Kitchen_Text_SalmonDuSalad:: @ 817359F .string "Salmon du Salad!\p" .string "Les guests may gripe it's fish\n" .string "again, however!$" -gUnknown_81735DF:: @ 81735DF +SSAnne_Kitchen_Text_EelsAuBarbecue:: @ 81735DF .string "Eels au Barbecue!\p" .string "Les guests will mutiny, I fear.$" -gUnknown_8173611:: @ 8173611 +SSAnne_Kitchen_Text_PrimeBeefsteak:: @ 8173611 .string "Prime Beefsteak!\p" .string "But, have I enough fillets du\n" .string "beef?$" diff --git a/data/maps/SevenIsland_Harbor/scripts.inc b/data/maps/SevenIsland_Harbor/scripts.inc index dfa2da755..f042ca668 100644 --- a/data/maps/SevenIsland_Harbor/scripts.inc +++ b/data/maps/SevenIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ SevenIsland_Harbor_EventScript_170BE5:: @ 8170BE5 message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_SEVEN_ISLAND - goto EventScript_1A900F + goto EventScript_ChooseDestFromIsland end diff --git a/data/maps/SixIsland_Harbor/scripts.inc b/data/maps/SixIsland_Harbor/scripts.inc index 8db4500ca..11ed9c7b8 100644 --- a/data/maps/SixIsland_Harbor/scripts.inc +++ b/data/maps/SixIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ SixIsland_Harbor_EventScript_171E48:: @ 8171E48 message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_SIX_ISLAND - goto EventScript_1A900F + goto EventScript_ChooseDestFromIsland end diff --git a/data/maps/ThreeIsland_Harbor/scripts.inc b/data/maps/ThreeIsland_Harbor/scripts.inc index 0edd8cac9..6705741cb 100644 --- a/data/maps/ThreeIsland_Harbor/scripts.inc +++ b/data/maps/ThreeIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ ThreeIsland_Harbor_EventScript_171EAA:: @ 8171EAA message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_THREE_ISLAND - goto EventScript_1A900F + goto EventScript_ChooseDestFromIsland end diff --git a/data/maps/TwoIsland_Harbor/scripts.inc b/data/maps/TwoIsland_Harbor/scripts.inc index ff1bb82bf..8c2eab36d 100644 --- a/data/maps/TwoIsland_Harbor/scripts.inc +++ b/data/maps/TwoIsland_Harbor/scripts.inc @@ -7,5 +7,5 @@ TwoIsland_Harbor_EventScript_171806:: @ 8171806 message Text_WhereDoYouWantToSail waitmessage setvar VAR_0x8004, SEAGALLOP_TWO_ISLAND - goto EventScript_1A8F54 + goto EventScript_ChooseDestFromTwoIsland end diff --git a/data/maps/VermilionCity/map.json b/data/maps/VermilionCity/map.json index e4286aa87..0a5fe287a 100644 --- a/data/maps/VermilionCity/map.json +++ b/data/maps/VermilionCity/map.json @@ -34,7 +34,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166917", + "script": "VermilionCity_EventScript_Woman", "flag": "0" }, { @@ -47,7 +47,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166920", + "script": "VermilionCity_EventScript_OldMan1", "flag": "0" }, { @@ -60,7 +60,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166C2F", + "script": "VermilionCity_EventScript_OldMan2", "flag": "0" }, { @@ -73,7 +73,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166C38", + "script": "VermilionCity_EventScript_Machop", "flag": "0" }, { @@ -86,7 +86,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166C17", + "script": "VermilionCity_EventScript_Sailor", "flag": "0" }, { @@ -99,7 +99,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166941", + "script": "VermilionCity_EventScript_FerrySailor", "flag": "0" }, { @@ -125,7 +125,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_EventScript_166C20", + "script": "VermilionCity_EventScript_OaksAide", "flag": "FLAG_HIDE_VERMILION_CITY_OAKS_AIDE" } ], @@ -209,7 +209,7 @@ "elevation": 0, "var": "VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER", "var_value": 0, - "script": "VermilionCity_EventScript_166B8A" + "script": "VermilionCity_EventScript_CheckTicketLeft" }, { "type": "trigger", @@ -218,7 +218,7 @@ "elevation": 0, "var": "VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER", "var_value": 0, - "script": "VermilionCity_EventScript_166B91" + "script": "VermilionCity_EventScript_CheckTicketRight" }, { "type": "trigger", @@ -227,7 +227,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": 0, - "script": "VermilionCity_EventScript_166B98" + "script": "VermilionCity_EventScript_ExitedTicketCheck" }, { "type": "trigger", @@ -236,7 +236,7 @@ "elevation": 0, "var": "VAR_TEMP_1", "var_value": 0, - "script": "VermilionCity_EventScript_166B98" + "script": "VermilionCity_EventScript_ExitedTicketCheck" } ], "bg_events": [ @@ -245,35 +245,35 @@ "x": 33, "y": 6, "elevation": 0, - "script": "VermilionCity_EventScript_166C53" + "script": "VermilionCity_EventScript_CitySign" }, { "type": "bg_event_type_0", "x": 10, "y": 17, "elevation": 3, - "script": "VermilionCity_EventScript_166C65" + "script": "VermilionCity_EventScript_PokemonFanClubSign" }, { "type": "bg_event_type_0", "x": 10, "y": 24, "elevation": 0, - "script": "VermilionCity_EventScript_166C6E" + "script": "VermilionCity_EventScript_GymSign" }, { "type": "bg_event_type_0", "x": 34, "y": 18, "elevation": 0, - "script": "VermilionCity_EventScript_166C86" + "script": "VermilionCity_EventScript_HarborSign" }, { "type": "bg_event_type_0", "x": 45, "y": 17, "elevation": 3, - "script": "VermilionCity_EventScript_166C5C" + "script": "VermilionCity_EventScript_SnorlaxNotice" }, { "type": "hidden_item", diff --git a/data/maps/VermilionCity/scripts.inc b/data/maps/VermilionCity/scripts.inc index ad6a36007..0442f3d02 100644 --- a/data/maps/VermilionCity/scripts.inc +++ b/data/maps/VermilionCity/scripts.inc @@ -1,62 +1,64 @@ +.equ LOCALID_FERRY_SAILOR, 6 + VermilionCity_MapScripts:: @ 81668DC map_script MAP_SCRIPT_ON_TRANSITION, VermilionCity_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, VermilionCity_OnFrame .byte 0 VermilionCity_OnFrame:: @ 81668E7 - map_script_2 VAR_MAP_SCENE_VERMILION_CITY, 2, EventScript_1668F1 + map_script_2 VAR_MAP_SCENE_VERMILION_CITY, 2, VermilionCity_EventScript_ExitSSAnne .2byte 0 -EventScript_1668F1:: @ 81668F1 +VermilionCity_EventScript_ExitSSAnne:: @ 81668F1 lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_166903 + applymovement OBJ_EVENT_ID_PLAYER, VermilionCity_Movement_ExitSSAnne waitmovement 0 setvar VAR_MAP_SCENE_VERMILION_CITY, 3 releaseall end -Movement_166903:: @ 8166903 +VermilionCity_Movement_ExitSSAnne:: @ 8166903 walk_up walk_up step_end VermilionCity_OnTransition:: @ 8166906 setworldmapflag FLAG_WORLD_MAP_VERMILION_CITY - call_if_set FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION, EventScript_166913 + call_if_set FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION, VermilionCity_EventScript_HideOaksAide end -EventScript_166913:: @ 8166913 +VermilionCity_EventScript_HideOaksAide:: @ 8166913 setflag FLAG_HIDE_VERMILION_CITY_OAKS_AIDE return -VermilionCity_EventScript_166917:: @ 8166917 - msgbox gUnknown_817F723, MSGBOX_NPC +VermilionCity_EventScript_Woman:: @ 8166917 + msgbox VermilionCity_Text_GrimerMultipliesInSludge, MSGBOX_NPC end -VermilionCity_EventScript_166920:: @ 8166920 +VermilionCity_EventScript_OldMan1:: @ 8166920 lock faceplayer compare VAR_MAP_SCENE_VERMILION_CITY, 3 - goto_if_eq EventScript_166937 - msgbox gUnknown_817F776 + goto_if_eq VermilionCity_EventScript_OldMan1SSAnneLeft + msgbox VermilionCity_Text_DidYouSeeSSAnneInHarbor release end -EventScript_166937:: @ 8166937 - msgbox gUnknown_817F7A6 +VermilionCity_EventScript_OldMan1SSAnneLeft:: @ 8166937 + msgbox VermilionCity_Text_SSAnneHasDepartedForYear release end -VermilionCity_EventScript_166941:: @ 8166941 +VermilionCity_EventScript_FerrySailor:: @ 8166941 lock faceplayer compare VAR_MAP_SCENE_VERMILION_CITY, 3 - goto_if_eq EventScript_166996 - msgbox gUnknown_817FA22 + goto_if_eq VermilionCity_EventScript_CheckSeagallopPresent + msgbox VermilionCity_Text_WelcomeToTheSSAnne release end -EventScript_166958:: @ 8166958 +VermilionCity_EventScript_CheckHasMysticTicket:: @ 8166958 goto_if_unset FLAG_SYS_GOT_MYSTIC_TICKET, EventScript_SetResultFalse checkitem ITEM_MYSTIC_TICKET, 1 compare VAR_RESULT, FALSE @@ -64,7 +66,7 @@ EventScript_166958:: @ 8166958 goto EventScript_SetResultTrue end -EventScript_166977:: @ 8166977 +VermilionCity_EventScript_CheckHasAuroraTicket:: @ 8166977 goto_if_unset FLAG_SYS_GOT_AURORA_TICKET, EventScript_SetResultFalse checkitem ITEM_AURORA_TICKET, 1 compare VAR_RESULT, FALSE @@ -72,206 +74,207 @@ EventScript_166977:: @ 8166977 goto EventScript_SetResultTrue end -EventScript_166996:: @ 8166996 +VermilionCity_EventScript_CheckSeagallopPresent:: @ 8166996 setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_ge EventScript_1669BB + goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestRainbowPass compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1 - goto_if_ge EventScript_166B3B - msgbox gUnknown_817FB10 + goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestTriPass + msgbox VermilionCity_Text_TheShipSetSail release end -EventScript_1669BB:: @ 81669BB +VermilionCity_EventScript_ChooseSeagallopDestRainbowPass:: @ 81669BB goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - call EventScript_166958 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1669FD - call EventScript_166977 - compare VAR_RESULT, 1 - goto_if_eq EventScript_166A5F + call VermilionCity_EventScript_CheckHasMysticTicket + compare VAR_RESULT, TRUE + goto_if_eq VermilionCity_EventScript_HasMysticTicket + call VermilionCity_EventScript_CheckHasAuroraTicket + compare VAR_RESULT, TRUE + goto_if_eq VermilionCity_EventScript_HasAuroraTicket setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY - message Text_17FBB8 + message VermilionCity_Text_BoardSeagallopRainbowPass waitmessage - goto EventScript_1A911E + goto EventScript_SeviiDestinationsPage1 end -EventScript_1669FD:: @ 81669FD - call EventScript_166977 - compare VAR_RESULT, 1 - goto_if_eq EventScript_166AB1 - call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, EventScript_166A53 - message Text_17FCC1 +VermilionCity_EventScript_HasMysticTicket:: @ 81669FD + call VermilionCity_EventScript_CheckHasAuroraTicket + compare VAR_RESULT, TRUE + goto_if_eq VermilionCity_EventScript_HasMysticAndAuroraTickets + call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowMysticTicket + message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 17, 6, MULTICHOICE_SEVII_NAVEL, FALSE switch VAR_RESULT - case 0, EventScript_1A911E - case 1, EventScript_166B0B + case 0, EventScript_SeviiDestinationsPage1 + case 1, EventScript_SailToNavelRock case 2, EventScript_CancelSail case 127, EventScript_CancelSail end -EventScript_166A53:: @ 8166A53 +VermilionCity_EventScript_ShowMysticTicket:: @ 8166A53 setflag FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN - msgbox gUnknown_817FC00 + msgbox VermilionCity_Text_OhMysticTicketTakeYouToNavelRock return -EventScript_166A5F:: @ 8166A5F - call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, EventScript_166AA5 - message Text_17FCC1 +VermilionCity_EventScript_HasAuroraTicket:: @ 8166A5F + call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowAuroraTicket + message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 13, 6, MULTICHOICE_SEVII_BIRTH, FALSE switch VAR_RESULT - case 0, EventScript_1A911E - case 1, EventScript_166B23 + case 0, EventScript_SeviiDestinationsPage1 + case 1, EventScript_SailToBirthIsland case 2, EventScript_CancelSail case 127, EventScript_CancelSail end -EventScript_166AA5:: @ 8166AA5 +VermilionCity_EventScript_ShowAuroraTicket:: @ 8166AA5 setflag FLAG_SHOWED_AURORATICKET_TO_CAPTAIN - msgbox gUnknown_817FC5F + msgbox VermilionCity_Text_OhAuroraTicketTakeYouToBirthIsland return -EventScript_166AB1:: @ 8166AB1 - call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, EventScript_166A53 - call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, EventScript_166AA5 - message Text_17FCC1 +VermilionCity_EventScript_HasMysticAndAuroraTickets:: @ 8166AB1 + call_if_unset FLAG_SHOWED_MYSTICTICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowMysticTicket + call_if_unset FLAG_SHOWED_AURORATICKET_TO_CAPTAIN, VermilionCity_EventScript_ShowAuroraTicket + message VermilionCity_Text_BoardSeagallopFerry waitmessage multichoice 13, 5, MULTICHOICE_SEVII_NAVEL_BIRTH, FALSE switch VAR_RESULT - case 0, EventScript_1A911E - case 1, EventScript_166B0B - case 2, EventScript_166B23 + case 0, EventScript_SeviiDestinationsPage1 + case 1, EventScript_SailToNavelRock + case 2, EventScript_SailToBirthIsland case 3, EventScript_CancelSail case 127, EventScript_CancelSail end -EventScript_166B0B:: @ 8166B0B - msgbox gUnknown_817FCEC +EventScript_SailToNavelRock:: @ 8166B0B + msgbox VermilionCity_Text_Seagallop10Departing setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY setvar VAR_0x8006, SEAGALLOP_NAVEL_ROCK - goto EventScript_1A90DA + goto EventScript_SetSail end -EventScript_166B23:: @ 8166B23 - msgbox gUnknown_817FD5F +EventScript_SailToBirthIsland:: @ 8166B23 + msgbox VermilionCity_Text_Seagallop12Departing setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY setvar VAR_0x8006, SEAGALLOP_BIRTH_ISLAND - goto EventScript_1A90DA + goto EventScript_SetSail end -EventScript_166B3B:: @ 8166B3B - message Text_17FB23 +VermilionCity_EventScript_ChooseSeagallopDestTriPass:: @ 8166B3B + message VermilionCity_Text_BoardSeagallopTriPass waitmessage setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY multichoice 19, 5, MULTICHOICE_SEAGALLOP_123, FALSE switch VAR_RESULT - case 0, EventScript_1A8FEE - case 1, EventScript_1A8FF9 - case 2, EventScript_1A9004 + case 0, EventScript_SailToOneIsland2 + case 1, EventScript_SailToTwoIsland2 + case 2, EventScript_SailToThreeIsland2 case 3, EventScript_CancelSail case 127, EventScript_CancelSail end -EventScript_166B88:: @ 8166B88 +@ Unreachable +Vermilion_EventScript_Unused:: @ 8166B88 release end -VermilionCity_EventScript_166B8A:: @ 8166B8A +VermilionCity_EventScript_CheckTicketLeft:: @ 8166B8A lockall - goto EventScript_166BA0 + goto VermilionCity_EventScript_CheckTicket end -VermilionCity_EventScript_166B91:: @ 8166B91 +VermilionCity_EventScript_CheckTicketRight:: @ 8166B91 lockall - goto EventScript_166BA0 + goto VermilionCity_EventScript_CheckTicket end -VermilionCity_EventScript_166B98:: @ 8166B98 +VermilionCity_EventScript_ExitedTicketCheck:: @ 8166B98 lockall setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 0 releaseall end -EventScript_166BA0:: @ 8166BA0 +VermilionCity_EventScript_CheckTicket:: @ 8166BA0 textcolor 0 - applymovement 6, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_FERRY_SAILOR, Movement_WalkInPlaceFastestLeft applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 compare VAR_MAP_SCENE_VERMILION_CITY, 3 - goto_if_eq EventScript_166BED - msgbox gUnknown_817FA3C - goto_if_unset FLAG_GOT_SS_TICKET, EventScript_166BDE - msgbox gUnknown_817FA77 + goto_if_eq VermilionCity_EventScript_CheckSeagallopPresentTrigger + msgbox VermilionCity_Text_DoYouHaveATicket + goto_if_unset FLAG_GOT_SS_TICKET, VermilionCity_EventScript_DontHaveSSTicket + msgbox VermilionCity_Text_FlashedSSTicket setvar VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER, 1 releaseall end -EventScript_166BDE:: @ 8166BDE - msgbox gUnknown_817FABA +VermilionCity_EventScript_DontHaveSSTicket:: @ 8166BDE + msgbox VermilionCity_Text_DontHaveNeededSSTicket closemessage - goto EventScript_1A9108 + goto VermilionCity_EventScript_WalkUpPier end -EventScript_166BED:: @ 8166BED +VermilionCity_EventScript_CheckSeagallopPresentTrigger:: @ 8166BED setvar VAR_0x8004, SEAGALLOP_VERMILION_CITY compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_ge EventScript_1669BB + goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestRainbowPass compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 1 - goto_if_ge EventScript_166B3B - msgbox gUnknown_817FB10 + goto_if_ge VermilionCity_EventScript_ChooseSeagallopDestTriPass + msgbox VermilionCity_Text_TheShipSetSail closemessage - goto EventScript_1A9108 + goto VermilionCity_EventScript_WalkUpPier end -VermilionCity_EventScript_166C17:: @ 8166C17 - msgbox gUnknown_817F8AC, MSGBOX_NPC +VermilionCity_EventScript_Sailor:: @ 8166C17 + msgbox VermilionCity_Text_SSAnneVisitsOnceAYear, MSGBOX_NPC end -VermilionCity_EventScript_166C20:: @ 8166C20 +VermilionCity_EventScript_OaksAide:: @ 8166C20 lock faceplayer setflag FLAG_TALKED_TO_OAKS_AIDE_IN_VERMILION - msgbox gUnknown_817FDD2 + msgbox VermilionCity_Text_Route2AideHasPackageForYou release end -VermilionCity_EventScript_166C2F:: @ 8166C2F - msgbox gUnknown_817F7FD, MSGBOX_NPC +VermilionCity_EventScript_OldMan2:: @ 8166C2F + msgbox VermilionCity_Text_BuildingOnThisLand, MSGBOX_NPC end -VermilionCity_EventScript_166C38:: @ 8166C38 +VermilionCity_EventScript_Machop:: @ 8166C38 lock faceplayer waitse playmoncry SPECIES_MACHOP, 0 - msgbox gUnknown_817F871 + msgbox VermilionCity_Text_Machop waitmoncry - msgbox gUnknown_817F888 + msgbox VermilionCity_Text_MachopStompingLandFlat release end -VermilionCity_EventScript_166C53:: @ 8166C53 - msgbox gUnknown_817F8FB, MSGBOX_SIGN +VermilionCity_EventScript_CitySign:: @ 8166C53 + msgbox VermilionCity_Text_CitySign, MSGBOX_SIGN end -VermilionCity_EventScript_166C5C:: @ 8166C5C - msgbox gUnknown_817F928, MSGBOX_SIGN +VermilionCity_EventScript_SnorlaxNotice:: @ 8166C5C + msgbox VermilionCity_Text_SnorlaxBlockingRoute12, MSGBOX_SIGN end -VermilionCity_EventScript_166C65:: @ 8166C65 - msgbox gUnknown_817F9A1, MSGBOX_SIGN +VermilionCity_EventScript_PokemonFanClubSign:: @ 8166C65 + msgbox VermilionCity_Text_PokemonFanClubSign, MSGBOX_SIGN end -VermilionCity_EventScript_166C6E:: @ 8166C6E +VermilionCity_EventScript_GymSign:: @ 8166C6E lockall famechecker FAMECHECKER_LTSURGE, 0 - msgbox gUnknown_817F9CC + msgbox VermilionCity_Text_GymSign releaseall end -VermilionCity_EventScript_166C86:: @ 8166C86 - msgbox gUnknown_817FA11, MSGBOX_SIGN +VermilionCity_EventScript_HarborSign:: @ 8166C86 + msgbox VermilionCity_Text_VermilionHarbor, MSGBOX_SIGN end diff --git a/data/maps/VermilionCity/text.inc b/data/maps/VermilionCity/text.inc index bce18d9fb..bb784b83a 100644 --- a/data/maps/VermilionCity/text.inc +++ b/data/maps/VermilionCity/text.inc @@ -1,39 +1,39 @@ -gUnknown_817F723:: @ 817F723 +VermilionCity_Text_GrimerMultipliesInSludge:: @ 817F723 .string "We're careful about pollution here.\p" .string "We've heard GRIMER multiplies in\n" .string "toxic sludge.$" -gUnknown_817F776:: @ 817F776 +VermilionCity_Text_DidYouSeeSSAnneInHarbor:: @ 817F776 .string "Did you see the S.S. ANNE moored\n" .string "in the harbor?$" -gUnknown_817F7A6:: @ 817F7A6 +VermilionCity_Text_SSAnneHasDepartedForYear:: @ 817F7A6 .string "So, the S.S. ANNE has departed?\p" .string "She'll be back in VERMILION about\n" .string "this time next year.$" -gUnknown_817F7FD:: @ 817F7FD +VermilionCity_Text_BuildingOnThisLand:: @ 817F7FD .string "I'm putting up a building on this\n" .string "plot of land. I own it all.\p" .string "My POKéMON is tamping the land\n" .string "to lay the foundation.$" -gUnknown_817F871:: @ 817F871 +VermilionCity_Text_Machop:: @ 817F871 .string "MACHOP: Guoh! Gogogoh!$" -gUnknown_817F888:: @ 817F888 +VermilionCity_Text_MachopStompingLandFlat:: @ 817F888 .string "A MACHOP is stomping the land flat.$" -gUnknown_817F8AC:: @ 817F8AC +VermilionCity_Text_SSAnneVisitsOnceAYear:: @ 817F8AC .string "The S.S. ANNE is a famous luxury\n" .string "cruise ship.\p" .string "It visits VERMILION once a year.$" -gUnknown_817F8FB:: @ 817F8FB +VermilionCity_Text_CitySign:: @ 817F8FB .string "VERMILION CITY\n" .string "The Port of Exquisite Sunsets$" -gUnknown_817F928:: @ 817F928 +VermilionCity_Text_SnorlaxBlockingRoute12:: @ 817F928 .string "NOTICE!\p" .string "ROUTE 12 may be blocked off by a\n" .string "sleeping POKéMON.\p" @@ -41,83 +41,83 @@ gUnknown_817F928:: @ 817F928 .string "LAVENDER TOWN.\p" .string "VERMILION POLICE$" -gUnknown_817F9A1:: @ 817F9A1 +VermilionCity_Text_PokemonFanClubSign:: @ 817F9A1 .string "POKéMON FAN CLUB\n" .string "All POKéMON fans welcome!$" -gUnknown_817F9CC:: @ 817F9CC +VermilionCity_Text_GymSign:: @ 817F9CC .string "VERMILION CITY POKéMON GYM\n" .string "LEADER: LT. SURGE\l" .string "The Lightning American!$" -gUnknown_817FA11:: @ 817FA11 +VermilionCity_Text_VermilionHarbor:: @ 817FA11 .string "VERMILION HARBOR$" -gUnknown_817FA22:: @ 817FA22 +VermilionCity_Text_WelcomeToTheSSAnne:: @ 817FA22 .string "Welcome to the S.S. ANNE!$" -gUnknown_817FA3C:: @ 817FA3C +VermilionCity_Text_DoYouHaveATicket:: @ 817FA3C .string "Welcome to the S.S. ANNE!\p" .string "Excuse me, do you have a ticket?$" -gUnknown_817FA77:: @ 817FA77 +VermilionCity_Text_FlashedSSTicket:: @ 817FA77 .string "{SIZE}Á{PLAYER} flashed the S.S. TICKET!\p" .string "{SIZE}ÇGreat!\n" .string "Welcome to the S.S. ANNE!$" -gUnknown_817FABA:: @ 817FABA +VermilionCity_Text_DontHaveNeededSSTicket:: @ 817FABA .string "{SIZE}Á{PLAYER} doesn't have the needed\n" .string "S.S. TICKET.\p" .string "{SIZE}ÇSorry!\p" .string "You need a ticket to get aboard.$" -gUnknown_817FB10:: @ 817FB10 +VermilionCity_Text_TheShipSetSail:: @ 817FB10 .string "The ship set sail.$" -Text_17FB23:: @ 817FB23 +VermilionCity_Text_BoardSeagallopTriPass:: @ 817FB23 .string "Ah, you have a TRI-PASS.\p" .string "Would you like to board\n" .string "a SEAGALLOP ferry?$" -Text_17FB67:: @ 817FB67 +VermilionCity_Text_Seagallop7Departing:: @ 817FB67 .string "Okay, everything's in order.\p" .string "SEAGALLOP HI-SPEED 7 will be\n" .string "departing immediately.$" -Text_17FBB8:: @ 817FBB8 +VermilionCity_Text_BoardSeagallopRainbowPass:: @ 817FBB8 .string "Ah, you have a RAINBOW PASS.\p" .string "Would you like to board\n" .string "a SEAGALLOP ferry?$" -gUnknown_817FC00:: @ 817FC00 +VermilionCity_Text_OhMysticTicketTakeYouToNavelRock:: @ 817FC00 .string "Oh! That's a MYSTICTICKET!\n" .string "Now that is rare.\p" .string "We'll be happy to take you to\n" .string "NAVEL ROCK anytime.$" -gUnknown_817FC5F:: @ 817FC5F +VermilionCity_Text_OhAuroraTicketTakeYouToBirthIsland:: @ 817FC5F .string "Oh! That's an AURORATICKET!\n" .string "Now that is rare.\p" .string "We'll be happy to take you to\n" .string "BIRTH ISLAND anytime.$" -Text_17FCC1:: @ 817FCC1 +VermilionCity_Text_BoardSeagallopFerry:: @ 817FCC1 .string "Would you like to board\n" .string "a SEAGALLOP ferry?$" -gUnknown_817FCEC:: @ 817FCEC +VermilionCity_Text_Seagallop10Departing:: @ 817FCEC .string "Okay, everything's in order for you\n" .string "to board a special ferry.\p" .string "SEAGALLOP HI-SPEED 10 will be\n" .string "departing immediately.$" -gUnknown_817FD5F:: @ 817FD5F +VermilionCity_Text_Seagallop12Departing:: @ 817FD5F .string "Okay, everything's in order for you\n" .string "to board a special ferry.\p" .string "SEAGALLOP HI-SPEED 12 will be\n" .string "departing immediately.$" -gUnknown_817FDD2:: @ 817FDD2 +VermilionCity_Text_Route2AideHasPackageForYou:: @ 817FDD2 .string "Oh, hello, {PLAYER}!\n" .string "How are you doing?\p" .string "It's me, one of PROF. OAK's AIDES.\p" diff --git a/data/maps/VermilionCity_Gym/map.json b/data/maps/VermilionCity_Gym/map.json index 8ed2603da..628d88070 100644 --- a/data/maps/VermilionCity_Gym/map.json +++ b/data/maps/VermilionCity_Gym/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_Gym_EventScript_16B94A", + "script": "VermilionCity_Gym_EventScript_LtSurge", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "VermilionCity_Gym_EventScript_16BA1E", + "script": "VermilionCity_Gym_EventScript_Baily", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "VermilionCity_Gym_EventScript_16B9FA", + "script": "VermilionCity_Gym_EventScript_Dwayne", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_Gym_EventScript_16BA6C", + "script": "VermilionCity_Gym_EventScript_GymGuy", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "VermilionCity_Gym_EventScript_16BA35", + "script": "VermilionCity_Gym_EventScript_Tucker", "flag": "0" } ], @@ -109,119 +109,119 @@ "x": 3, "y": 17, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16BA8B" + "script": "VermilionCity_Gym_EventScript_GymStatue" }, { "type": "bg_event_type_0", "x": 7, "y": 17, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16BA8B" + "script": "VermilionCity_Gym_EventScript_GymStatue" }, { "type": "bg_event_type_0", "x": 1, "y": 10, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B78F" + "script": "VermilionCity_Gym_EventScript_TrashCan1" }, { "type": "bg_event_type_0", "x": 3, "y": 10, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B79B" + "script": "VermilionCity_Gym_EventScript_TrashCan2" }, { "type": "bg_event_type_0", "x": 5, "y": 10, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7A7" + "script": "VermilionCity_Gym_EventScript_TrashCan3" }, { "type": "bg_event_type_0", "x": 7, "y": 10, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7B3" + "script": "VermilionCity_Gym_EventScript_TrashCan4" }, { "type": "bg_event_type_0", "x": 9, "y": 10, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7BF" + "script": "VermilionCity_Gym_EventScript_TrashCan5" }, { "type": "bg_event_type_0", "x": 1, "y": 12, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7CB" + "script": "VermilionCity_Gym_EventScript_TrashCan6" }, { "type": "bg_event_type_0", "x": 3, "y": 12, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7D7" + "script": "VermilionCity_Gym_EventScript_TrashCan7" }, { "type": "bg_event_type_0", "x": 5, "y": 12, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7E3" + "script": "VermilionCity_Gym_EventScript_TrashCan8" }, { "type": "bg_event_type_0", "x": 7, "y": 12, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7EF" + "script": "VermilionCity_Gym_EventScript_TrashCan9" }, { "type": "bg_event_type_0", "x": 9, "y": 12, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B7FB" + "script": "VermilionCity_Gym_EventScript_TrashCan10" }, { "type": "bg_event_type_0", "x": 1, "y": 14, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B807" + "script": "VermilionCity_Gym_EventScript_TrashCan11" }, { "type": "bg_event_type_0", "x": 3, "y": 14, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B813" + "script": "VermilionCity_Gym_EventScript_TrashCan12" }, { "type": "bg_event_type_0", "x": 5, "y": 14, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B81F" + "script": "VermilionCity_Gym_EventScript_TrashCan13" }, { "type": "bg_event_type_0", "x": 7, "y": 14, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B82B" + "script": "VermilionCity_Gym_EventScript_TrashCan14" }, { "type": "bg_event_type_0", "x": 9, "y": 14, "elevation": 0, - "script": "VermilionCity_Gym_EventScript_16B837" + "script": "VermilionCity_Gym_EventScript_TrashCan15" } ] } diff --git a/data/maps/VermilionCity_Gym/scripts.inc b/data/maps/VermilionCity_Gym/scripts.inc index 0d95d76f8..5d3760df9 100644 --- a/data/maps/VermilionCity_Gym/scripts.inc +++ b/data/maps/VermilionCity_Gym/scripts.inc @@ -1,180 +1,185 @@ +.equ FOUND_FIRST_SWITCH, FLAG_TEMP_1 +.equ SWITCH1_ID, VAR_0x8004 +.equ SWITCH2_ID, VAR_0x8005 +.equ TRASH_CAN_ID, VAR_0x8008 + VermilionCity_Gym_MapScripts:: @ 816B69E map_script MAP_SCRIPT_ON_LOAD, VermilionCity_Gym_OnLoad map_script MAP_SCRIPT_ON_TRANSITION, VermilionCity_Gym_OnTransition .byte 0 VermilionCity_Gym_OnLoad:: @ 816B6A9 - call_if_set FLAG_TEMP_1, EventScript_16B6BC - call_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, EventScript_16B717 - end - -EventScript_16B6BC:: @ 816B6BC - setmetatile 3, 6, 699, 1 - setmetatile 4, 6, 700, 1 - setmetatile 5, 6, 701, 1 - setmetatile 6, 6, 702, 1 - setmetatile 7, 6, 703, 1 - setmetatile 3, 7, 707, 1 - setmetatile 4, 7, 708, 1 - setmetatile 5, 7, 709, 1 - setmetatile 6, 7, 710, 1 - setmetatile 7, 7, 711, 1 + call_if_set FOUND_FIRST_SWITCH, VermilionCity_Gym_EventScript_SetOneBeamOff + call_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, VermilionCity_Gym_EventScript_SetBeamsOff + end + +VermilionCity_Gym_EventScript_SetOneBeamOff:: @ 816B6BC + setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_HalfOn, 1 + setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_HalfOn, 1 + setmetatile 5, 6, METATILE_VermilionGym_Beam_MidTop_HalfOn, 1 + setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_HalfOn, 1 + setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_HalfOn, 1 + setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_HalfOn, 1 + setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_HalfOn, 1 + setmetatile 5, 7, METATILE_VermilionGym_Beam_MidBottom_HalfOn, 1 + setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn, 1 + setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn, 1 return -EventScript_16B717:: @ 816B717 - setmetatile 3, 6, 659, 1 - setmetatile 4, 6, 660, 0 - setmetatile 5, 6, 641, 0 - setmetatile 6, 6, 661, 0 - setmetatile 7, 6, 662, 1 - setmetatile 3, 7, 667, 1 - setmetatile 4, 7, 668, 0 - setmetatile 5, 7, 641, 0 - setmetatile 6, 7, 669, 0 - setmetatile 7, 7, 670, 1 +VermilionCity_Gym_EventScript_SetBeamsOff:: @ 816B717 + setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Off, 1 + setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_Off, 0 + setmetatile 5, 6, METATILE_VermilionGym_Floor, 0 + setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_Off, 0 + setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_Off, 1 + setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Off, 1 + setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_Off, 0 + setmetatile 5, 7, METATILE_VermilionGym_Floor, 0 + setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_Off, 0 + setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Off, 1 return VermilionCity_Gym_OnTransition:: @ 816B772 - call EventScript_16B778 + call VermilionCity_Gym_EventScript_InitTrashCans end -EventScript_16B778:: @ 816B778 +VermilionCity_Gym_EventScript_InitTrashCans:: @ 816B778 goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, EventScript_Return special Special_SetVermilionTrashCans - copyvar VAR_TEMP_0, VAR_0x8004 - copyvar VAR_TEMP_1, VAR_0x8005 + copyvar VAR_TEMP_0, SWITCH1_ID + copyvar VAR_TEMP_1, SWITCH2_ID return -VermilionCity_Gym_EventScript_16B78F:: @ 816B78F +VermilionCity_Gym_EventScript_TrashCan1:: @ 816B78F lockall - setvar VAR_0x8008, 1 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 1 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B79B:: @ 816B79B +VermilionCity_Gym_EventScript_TrashCan2:: @ 816B79B lockall - setvar VAR_0x8008, 2 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 2 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7A7:: @ 816B7A7 +VermilionCity_Gym_EventScript_TrashCan3:: @ 816B7A7 lockall - setvar VAR_0x8008, 3 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 3 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7B3:: @ 816B7B3 +VermilionCity_Gym_EventScript_TrashCan4:: @ 816B7B3 lockall - setvar VAR_0x8008, 4 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 4 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7BF:: @ 816B7BF +VermilionCity_Gym_EventScript_TrashCan5:: @ 816B7BF lockall - setvar VAR_0x8008, 5 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 5 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7CB:: @ 816B7CB +VermilionCity_Gym_EventScript_TrashCan6:: @ 816B7CB lockall - setvar VAR_0x8008, 6 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 6 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7D7:: @ 816B7D7 +VermilionCity_Gym_EventScript_TrashCan7:: @ 816B7D7 lockall - setvar VAR_0x8008, 7 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 7 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7E3:: @ 816B7E3 +VermilionCity_Gym_EventScript_TrashCan8:: @ 816B7E3 lockall - setvar VAR_0x8008, 8 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 8 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7EF:: @ 816B7EF +VermilionCity_Gym_EventScript_TrashCan9:: @ 816B7EF lockall - setvar VAR_0x8008, 9 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 9 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B7FB:: @ 816B7FB +VermilionCity_Gym_EventScript_TrashCan10:: @ 816B7FB lockall - setvar VAR_0x8008, 10 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 10 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B807:: @ 816B807 +VermilionCity_Gym_EventScript_TrashCan11:: @ 816B807 lockall - setvar VAR_0x8008, 11 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 11 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B813:: @ 816B813 +VermilionCity_Gym_EventScript_TrashCan12:: @ 816B813 lockall - setvar VAR_0x8008, 12 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 12 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B81F:: @ 816B81F +VermilionCity_Gym_EventScript_TrashCan13:: @ 816B81F lockall - setvar VAR_0x8008, 13 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 13 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B82B:: @ 816B82B +VermilionCity_Gym_EventScript_TrashCan14:: @ 816B82B lockall - setvar VAR_0x8008, 14 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 14 + goto VermilionCity_Gym_EventScript_TrashCan end -VermilionCity_Gym_EventScript_16B837:: @ 816B837 +VermilionCity_Gym_EventScript_TrashCan15:: @ 816B837 lockall - setvar VAR_0x8008, 15 - goto EventScript_16B843 + setvar TRASH_CAN_ID, 15 + goto VermilionCity_Gym_EventScript_TrashCan end -EventScript_16B843:: @ 816B843 +VermilionCity_Gym_EventScript_TrashCan:: @ 816B843 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - copyvar VAR_0x8004, VAR_TEMP_0 - copyvar VAR_0x8005, VAR_TEMP_1 - goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, EventScript_16B8E5 - goto_if_set FLAG_TEMP_1, EventScript_16B89E - compare VAR_0x8004, VAR_0x8008 - goto_if_eq EventScript_16B885 - msgbox gUnknown_8195289 + copyvar SWITCH1_ID, VAR_TEMP_0 + copyvar SWITCH2_ID, VAR_TEMP_1 + goto_if_set FLAG_FOUND_BOTH_VERMILION_GYM_SWITCHES, VermilionCity_Gym_EventScript_LocksAlreadyOpen + goto_if_set FOUND_FIRST_SWITCH, VermilionCity_Gym_EventScript_TrySwitchTwo + compare SWITCH1_ID, TRASH_CAN_ID + goto_if_eq VermilionCity_Gym_EventScript_FoundSwitchOne + msgbox VermilionCity_Gym_Text_NopeOnlyTrashHere releaseall end -EventScript_16B885:: @ 816B885 - msgbox gUnknown_81952A8 +VermilionCity_Gym_EventScript_FoundSwitchOne:: @ 816B885 + msgbox VermilionCity_Gym_Text_SwitchUnderTrashFirstLockOpened playse SE_PIN waitse - call EventScript_16B6BC + call VermilionCity_Gym_EventScript_SetOneBeamOff special DrawWholeMapView - setflag FLAG_TEMP_1 + setflag FOUND_FIRST_SWITCH releaseall end -EventScript_16B89E:: @ 816B89E - compare VAR_0x8005, VAR_0x8008 - goto_if_eq EventScript_16B8CB - msgbox gUnknown_819536C - clearflag FLAG_TEMP_1 +VermilionCity_Gym_EventScript_TrySwitchTwo:: @ 816B89E + compare SWITCH2_ID, TRASH_CAN_ID + goto_if_eq VermilionCity_Gym_EventScript_FoundSwitchTwo + msgbox VermilionCity_Gym_Text_OnlyTrashLocksWereReset + clearflag FOUND_FIRST_SWITCH special Special_SetVermilionTrashCans - copyvar VAR_TEMP_0, VAR_0x8004 - copyvar VAR_TEMP_1, VAR_0x8005 - call EventScript_16B8EF + copyvar VAR_TEMP_0, SWITCH1_ID + copyvar VAR_TEMP_1, SWITCH2_ID + call VermilionCity_Gym_EventScript_SetBeamsOn special DrawWholeMapView releaseall end -EventScript_16B8CB:: @ 816B8CB - msgbox gUnknown_8195330 +VermilionCity_Gym_EventScript_FoundSwitchTwo:: @ 816B8CB + msgbox VermilionCity_Gym_Text_SecondLockOpened closemessage - call EventScript_16B717 + call VermilionCity_Gym_EventScript_SetBeamsOff special DrawWholeMapView playse SE_KI_GASYAN waitse @@ -182,105 +187,105 @@ EventScript_16B8CB:: @ 816B8CB releaseall end -EventScript_16B8E5:: @ 816B8E5 - msgbox gUnknown_8195289 +VermilionCity_Gym_EventScript_LocksAlreadyOpen:: @ 816B8E5 + msgbox VermilionCity_Gym_Text_NopeOnlyTrashHere releaseall end -EventScript_16B8EF:: @ 816B8EF - setmetatile 3, 6, 681, 1 - setmetatile 4, 6, 682, 1 - setmetatile 5, 6, 645, 1 - setmetatile 6, 6, 683, 1 - setmetatile 7, 6, 684, 1 - setmetatile 3, 7, 689, 1 - setmetatile 4, 7, 690, 1 - setmetatile 5, 7, 653, 1 - setmetatile 6, 7, 691, 1 - setmetatile 7, 7, 692, 1 +VermilionCity_Gym_EventScript_SetBeamsOn:: @ 816B8EF + setmetatile 3, 6, METATILE_VermilionGym_Beam_Node_TopLeft_On, 1 + setmetatile 4, 6, METATILE_VermilionGym_Beam_Node_TopLeft_Edge_On, 1 + setmetatile 5, 6, METATILE_VermilionGym_Beam_MidTop, 1 + setmetatile 6, 6, METATILE_VermilionGym_Beam_Node_TopRight_Edge_On, 1 + setmetatile 7, 6, METATILE_VermilionGym_Beam_Node_TopRight_On, 1 + setmetatile 3, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_On, 1 + setmetatile 4, 7, METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_On, 1 + setmetatile 5, 7, METATILE_VermilionGym_Beam_MidBottom, 1 + setmetatile 6, 7, METATILE_VermilionGym_Beam_Node_BottomRight_Edge_On, 1 + setmetatile 7, 7, METATILE_VermilionGym_Beam_Node_BottomRight_On, 1 return -VermilionCity_Gym_EventScript_16B94A:: @ 816B94A +VermilionCity_Gym_EventScript_LtSurge:: @ 816B94A famechecker FAMECHECKER_LTSURGE, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - trainerbattle_single TRAINER_LEADER_LT_SURGE, Text_194BA4, Text_194E03, EventScript_16B97C, NO_MUSIC - goto_if_unset FLAG_GOT_TM34_FROM_SURGE, EventScript_16B9AF - msgbox gUnknown_8194C8E + trainerbattle_single TRAINER_LEADER_LT_SURGE, VermilionCity_Gym_Text_LtSurgeIntro, VermilionCity_Gym_Text_LtSurgeDefeat, VermilionCity_Gym_EventScript_DefeatedLtSurge, NO_MUSIC + goto_if_unset FLAG_GOT_TM34_FROM_SURGE, VermilionCity_Gym_EventScript_GiveTM43 + msgbox VermilionCity_Gym_Text_LtSurgePostBattle release end -EventScript_16B97C:: @ 816B97C +VermilionCity_Gym_EventScript_DefeatedLtSurge:: @ 816B97C famechecker FAMECHECKER_LTSURGE, 1 - call_if_unset FLAG_GOT_HM05, EventScript_16B9AB + call_if_unset FLAG_GOT_HM05, VermilionCity_Gym_EventScript_ShowOaksAide clearflag FLAG_HIDE_FAME_CHECKER_LT_SURGE_JOURNAL setflag FLAG_DEFEATED_LT_SURGE setflag FLAG_BADGE03_GET set_gym_trainers 3 - goto EventScript_16B9AF + goto VermilionCity_Gym_EventScript_GiveTM43 end -EventScript_16B9AB:: @ 816B9AB +VermilionCity_Gym_EventScript_ShowOaksAide:: @ 816B9AB clearflag FLAG_HIDE_VERMILION_CITY_OAKS_AIDE return -EventScript_16B9AF:: @ 816B9AF - msgbox gUnknown_8194CFA +VermilionCity_Gym_EventScript_GiveTM43:: @ 816B9AF + msgbox VermilionCity_Gym_Text_ExplainThunderBadgeTakeThis checkitemspace ITEM_TM34, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16B9F0 - giveitem_msg gUnknown_8194D87, ITEM_TM34 + goto_if_eq VermilionCity_Gym_EventScript_NoRoomForTM43 + giveitem_msg VermilionCity_Gym_Text_ReceivedTM43FromLtSurge, ITEM_TM34 setflag FLAG_GOT_TM34_FROM_SURGE - msgbox gUnknown_8194DA8 + msgbox VermilionCity_Gym_Text_ExplainTM34 release end -EventScript_16B9F0:: @ 816B9F0 - msgbox gUnknown_8194DE3 +VermilionCity_Gym_EventScript_NoRoomForTM43:: @ 816B9F0 + msgbox VermilionCity_Gym_Text_MakeRoomInYourBag release end -VermilionCity_Gym_EventScript_16B9FA:: @ 816B9FA - trainerbattle_single TRAINER_SAILOR_DWAYNE, Text_194FBD, Text_194FF1 +VermilionCity_Gym_EventScript_Dwayne:: @ 816B9FA + trainerbattle_single TRAINER_SAILOR_DWAYNE, VermilionCity_Gym_Text_DwayneIntro, VermilionCity_Gym_Text_DwayneDefeat famechecker FAMECHECKER_LTSURGE, 4 - msgbox gUnknown_8195004, MSGBOX_AUTOCLOSE + msgbox VermilionCity_Gym_Text_DwaynePostBattle, MSGBOX_AUTOCLOSE end -VermilionCity_Gym_EventScript_16BA1E:: @ 816BA1E - trainerbattle_single TRAINER_ENGINEER_BAILY, Text_194F1F, Text_194F6F - msgbox gUnknown_8194F76, MSGBOX_AUTOCLOSE +VermilionCity_Gym_EventScript_Baily:: @ 816BA1E + trainerbattle_single TRAINER_ENGINEER_BAILY, VermilionCity_Gym_Text_BailyIntro, VermilionCity_Gym_Text_BailyDefeat + msgbox VermilionCity_Gym_Text_BailyPostBattle, MSGBOX_AUTOCLOSE end -VermilionCity_Gym_EventScript_16BA35:: @ 816BA35 - trainerbattle_single TRAINER_GENTLEMAN_TUCKER, Text_194E57, Text_194EA5, EventScript_16BA5D +VermilionCity_Gym_EventScript_Tucker:: @ 816BA35 + trainerbattle_single TRAINER_GENTLEMAN_TUCKER, VermilionCity_Gym_Text_TuckerIntro, VermilionCity_Gym_Text_TuckerDefeat, VermilionCity_Gym_EventScript_DefeatedTucker famechecker FAMECHECKER_LTSURGE, 3 - msgbox gUnknown_8194EBD, MSGBOX_AUTOCLOSE + msgbox VermilionCity_Gym_Text_TuckerPostBattle, MSGBOX_AUTOCLOSE end -EventScript_16BA5D:: @ 816BA5D +VermilionCity_Gym_EventScript_DefeatedTucker:: @ 816BA5D famechecker FAMECHECKER_LTSURGE, 2 release end -VermilionCity_Gym_EventScript_16BA6C:: @ 816BA6C +VermilionCity_Gym_EventScript_GymGuy:: @ 816BA6C lock faceplayer - goto_if_set FLAG_DEFEATED_LT_SURGE, EventScript_16BA81 - msgbox gUnknown_81950B4 + goto_if_set FLAG_DEFEATED_LT_SURGE, VermilionCity_Gym_EventScript_GymGuyPostVictory + msgbox VermilionCity_Gym_Text_GymGuyAdvice release end -EventScript_16BA81:: @ 816BA81 - msgbox gUnknown_81951EC +VermilionCity_Gym_EventScript_GymGuyPostVictory:: @ 816BA81 + msgbox VermilionCity_Gym_Text_GymGuyPostVictory release end -VermilionCity_Gym_EventScript_16BA8B:: @ 816BA8B +VermilionCity_Gym_EventScript_GymStatue:: @ 816BA8B lockall - goto_if_set FLAG_BADGE03_GET, EventScript_16BA9F - msgbox gUnknown_819520B + goto_if_set FLAG_BADGE03_GET, VermilionCity_Gym_EventScript_GymStatuePostVictory + msgbox VermilionCity_Gym_Text_GymStatue releaseall end -EventScript_16BA9F:: @ 816BA9F - msgbox gUnknown_8195248 +VermilionCity_Gym_EventScript_GymStatuePostVictory:: @ 816BA9F + msgbox VermilionCity_Gym_Text_GymStatuePlayerWon releaseall end diff --git a/data/maps/VermilionCity_Gym/text.inc b/data/maps/VermilionCity_Gym/text.inc index b0cff583a..e364f8d10 100644 --- a/data/maps/VermilionCity_Gym/text.inc +++ b/data/maps/VermilionCity_Gym/text.inc @@ -1,4 +1,4 @@ -Text_194BA4:: @ 8194BA4 +VermilionCity_Gym_Text_LtSurgeIntro:: @ 8194BA4 .string "Hey, kid! What do you think you're\n" .string "doing here?\p" .string "You won't live long in combat!\n" @@ -9,13 +9,13 @@ Text_194BA4:: @ 8194BA4 .string "paralysis!\p" .string "The same as I'll do to you!{PLAY_BGM}{MUS_EXEYE}$" -gUnknown_8194C8E:: @ 8194C8E +VermilionCity_Gym_Text_LtSurgePostBattle:: @ 8194C8E .string "A little word of advice, kid!\p" .string "Electricity is sure powerful!\p" .string "But, it's useless against GROUND-\n" .string "type POKéMON!$" -gUnknown_8194CFA:: @ 8194CFA +VermilionCity_Gym_Text_ExplainThunderBadgeTakeThis:: @ 8194CFA .string "The THUNDERBADGE cranks up your\n" .string "POKéMON's SPEED!\p" .string "It also lets your POKéMON FLY\n" @@ -23,58 +23,58 @@ gUnknown_8194CFA:: @ 8194CFA .string "You're special, kid!\n" .string "Take this!$" -gUnknown_8194D87:: @ 8194D87 +VermilionCity_Gym_Text_ReceivedTM43FromLtSurge:: @ 8194D87 .string "{PLAYER} received TM34\n" .string "from LT. SURGE.$" -gUnknown_8194DA8:: @ 8194DA8 +VermilionCity_Gym_Text_ExplainTM34:: @ 8194DA8 .string "TM34 contains SHOCK WAVE!\p" .string "Teach it to an ELECTRIC POKéMON!$" -gUnknown_8194DE3:: @ 8194DE3 +VermilionCity_Gym_Text_MakeRoomInYourBag:: @ 8194DE3 .string "Yo, kid, make room in your BAG!$" -Text_194E03:: @ 8194E03 +VermilionCity_Gym_Text_LtSurgeDefeat:: @ 8194E03 .string "Now that's a shocker!\p" .string "You're the real deal, kid!\p" .string "Fine, then, take the THUNDERBADGE!$" -Text_194E57:: @ 8194E57 +VermilionCity_Gym_Text_TuckerIntro:: @ 8194E57 .string "When I was in the Army, LT. SURGE\n" .string "was my strict CO.\p" .string "He was a hard taskmaster.$" -Text_194EA5:: @ 8194EA5 +VermilionCity_Gym_Text_TuckerDefeat:: @ 8194EA5 .string "Stop!\n" .string "You're very good!$" -gUnknown_8194EBD:: @ 8194EBD +VermilionCity_Gym_Text_TuckerPostBattle:: @ 8194EBD .string "It's not easy opening that door.\p" .string "LT. SURGE was always famous for\n" .string "his cautious nature in the Army.$" -Text_194F1F:: @ 8194F1F +VermilionCity_Gym_Text_BailyIntro:: @ 8194F1F .string "I'm a lightweight, but I'm good\n" .string "with electricity!\p" .string "That's why I joined this GYM.$" -Text_194F6F:: @ 8194F6F +VermilionCity_Gym_Text_BailyDefeat:: @ 8194F6F .string "Fried!$" -gUnknown_8194F76:: @ 8194F76 +VermilionCity_Gym_Text_BailyPostBattle:: @ 8194F76 .string "Okay, I'll talk!\p" .string "LT. SURGE said he hid door\n" .string "switches inside something.$" -Text_194FBD:: @ 8194FBD +VermilionCity_Gym_Text_DwayneIntro:: @ 8194FBD .string "This is no place for kids!\n" .string "Not even if you're good!$" -Text_194FF1:: @ 8194FF1 +VermilionCity_Gym_Text_DwayneDefeat:: @ 8194FF1 .string "Wow!\n" .string "Surprised me!$" -gUnknown_8195004:: @ 8195004 +VermilionCity_Gym_Text_DwaynePostBattle:: @ 8195004 .string "LT. SURGE installed the traps in\n" .string "the GYM himself.\p" .string "He set up double locks everywhere.\n" @@ -82,7 +82,7 @@ gUnknown_8195004:: @ 8195004 .string "When you open the first lock, the\n" .string "second lock is right next to it.$" -gUnknown_81950B4:: @ 81950B4 +VermilionCity_Gym_Text_GymGuyAdvice:: @ 81950B4 .string "Yo!\n" .string "Champ in the making!\p" .string "LT. SURGE has a nickname.\p" @@ -97,42 +97,42 @@ gUnknown_81950B4:: @ 81950B4 .string "He's locked himself in, so it won't\n" .string "be easy getting to him.$" -gUnknown_81951EC:: @ 81951EC +VermilionCity_Gym_Text_GymGuyPostVictory:: @ 81951EC .string "Whew!\n" .string "That match was electric!$" -gUnknown_819520B:: @ 819520B +VermilionCity_Gym_Text_GymStatue:: @ 819520B .string "VERMILION POKéMON GYM\n" .string "LEADER: LT. SURGE\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}$" -gUnknown_8195248:: @ 8195248 +VermilionCity_Gym_Text_GymStatuePlayerWon:: @ 8195248 .string "VERMILION POKéMON GYM\n" .string "LEADER: LT. SURGE\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}, {PLAYER}$" -gUnknown_8195289:: @ 8195289 +VermilionCity_Gym_Text_NopeOnlyTrashHere:: @ 8195289 .string "Nope!\n" .string "There's only trash here.$" -gUnknown_81952A8:: @ 81952A8 +VermilionCity_Gym_Text_SwitchUnderTrashFirstLockOpened:: @ 81952A8 .string "Hey! There's a switch under the\n" .string "trash! Turn it on!\p" .string "The first electric lock opened!$" -Text_1952FB:: @ 81952FB +VermilionCity_Gym_Text_AnotherSwitchInTrash:: @ 81952FB .string "ガサゴソ‥!\n" .string "おっと! ゴミばこの そこに\l" .string "また スイッチが あった!\l" .string "おして みよう! ‥ ポチッとな$" -gUnknown_8195330:: @ 8195330 +VermilionCity_Gym_Text_SecondLockOpened:: @ 8195330 .string "The second electric lock opened!\n" .string "The motorized door opened!$" -gUnknown_819536C:: @ 819536C +VermilionCity_Gym_Text_OnlyTrashLocksWereReset:: @ 819536C .string "Nope!\n" .string "There's only trash here.\p" .string "Hey!\n" diff --git a/data/maps/VermilionCity_House1/map.json b/data/maps/VermilionCity_House1/map.json index 7eec8c8e8..008e98610 100644 --- a/data/maps/VermilionCity_House1/map.json +++ b/data/maps/VermilionCity_House1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_House1_EventScript_16B3A7", + "script": "VermilionCity_House1_EventScript_FishingGuru", "flag": "0" } ], diff --git a/data/maps/VermilionCity_House1/scripts.inc b/data/maps/VermilionCity_House1/scripts.inc index 3fb54afee..8ab0b17f2 100644 --- a/data/maps/VermilionCity_House1/scripts.inc +++ b/data/maps/VermilionCity_House1/scripts.inc @@ -1,35 +1,35 @@ VermilionCity_House1_MapScripts:: @ 816B3A6 .byte 0 -VermilionCity_House1_EventScript_16B3A7:: @ 816B3A7 +VermilionCity_House1_EventScript_FishingGuru:: @ 816B3A7 lock faceplayer - goto_if_set FLAG_GOT_OLD_ROD, EventScript_16B3CF - msgbox gUnknown_8193EC1, MSGBOX_YESNO + goto_if_set FLAG_GOT_OLD_ROD, VermilionCity_House1_EventScript_AlreadyGotOldRod + msgbox VermilionCity_House1_Text_ImFishingGuruDoYouLikeToFish, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16B3D9 - msgbox gUnknown_8194028 + goto_if_eq VermilionCity_House1_EventScript_GiveOldRod + msgbox VermilionCity_House1_Text_OhThatsSoDisappointing release end -EventScript_16B3CF:: @ 816B3CF - msgbox gUnknown_8194045 +VermilionCity_House1_EventScript_AlreadyGotOldRod:: @ 816B3CF + msgbox VermilionCity_House1_Text_HowAreTheFishBiting release end -EventScript_16B3D9:: @ 816B3D9 +VermilionCity_House1_EventScript_GiveOldRod:: @ 816B3D9 checkitemspace ITEM_OLD_ROD, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16B41A + goto_if_eq VermilionCity_House1_EventScript_NoRoomForOldRod additem ITEM_OLD_ROD - msgbox gUnknown_8193F2A - msgreceiveditem gUnknown_8193F81, ITEM_OLD_ROD + msgbox VermilionCity_House1_Text_TakeThisAndFish + msgreceiveditem VermilionCity_House1_Text_ReceivedOldRodFromFishingGuru, ITEM_OLD_ROD setflag FLAG_GOT_OLD_ROD - msgbox gUnknown_8193FAF + msgbox VermilionCity_House1_Text_FishingIsAWayOfLife release end -EventScript_16B41A:: @ 816B41A - msgbox gUnknown_819406F +VermilionCity_House1_EventScript_NoRoomForOldRod:: @ 816B41A + msgbox VermilionCity_House1_Text_NoRoomForNiceGift release end diff --git a/data/maps/VermilionCity_House1/text.inc b/data/maps/VermilionCity_House1/text.inc index 66ea21646..55c2c700c 100644 --- a/data/maps/VermilionCity_House1/text.inc +++ b/data/maps/VermilionCity_House1/text.inc @@ -1,39 +1,33 @@ -Text_193E82:: @ 8193E82 - .string "この あいだ やまおくで\n" - .string "きんのたまを ひろい ましてね!\p" - .string "つかえない しなもの ですが\n" - .string "うったら なんと 5000¥でした$" - -gUnknown_8193EC1:: @ 8193EC1 +VermilionCity_House1_Text_ImFishingGuruDoYouLikeToFish:: @ 8193EC1 .string "I'm the FISHING GURU!\p" .string "I simply looove fishing!\n" .string "I can't bear to go without.\p" .string "Tell me, do you like to fish?$" -gUnknown_8193F2A:: @ 8193F2A +VermilionCity_House1_Text_TakeThisAndFish:: @ 8193F2A .string "Grand! I like your style.\n" .string "I think we can be friends.\p" .string "Take this and fish, young friend!$" -gUnknown_8193F81:: @ 8193F81 +VermilionCity_House1_Text_ReceivedOldRodFromFishingGuru:: @ 8193F81 .string "{PLAYER} received an OLD ROD from\n" .string "the FISHING GURU.$" -gUnknown_8193FAF:: @ 8193FAF +VermilionCity_House1_Text_FishingIsAWayOfLife:: @ 8193FAF .string "Fishing is a way of life!\n" .string "It is like the finest poetry.\p" .string "From the seas to rivers, go out\n" .string "and land the big one, my friend.$" -gUnknown_8194028:: @ 8194028 +VermilionCity_House1_Text_OhThatsSoDisappointing:: @ 8194028 .string "Oh…\n" .string "That's so disappointing…$" -gUnknown_8194045:: @ 8194045 +VermilionCity_House1_Text_HowAreTheFishBiting:: @ 8194045 .string "Hello there, {PLAYER}!\p" .string "How are the fish biting?$" -gUnknown_819406F:: @ 819406F +VermilionCity_House1_Text_NoRoomForNiceGift:: @ 819406F .string "Oh, no!\p" .string "I had a nice gift for you, but you\n" .string "have no room for it!$" diff --git a/data/maps/VermilionCity_House2/map.json b/data/maps/VermilionCity_House2/map.json index a503a2aa6..3c40bf806 100644 --- a/data/maps/VermilionCity_House2/map.json +++ b/data/maps/VermilionCity_House2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_House2_EventScript_16B5D7", + "script": "VermilionCity_House2_EventScript_Elyssa", "flag": "0" } ], diff --git a/data/maps/VermilionCity_House2/scripts.inc b/data/maps/VermilionCity_House2/scripts.inc index 82cc901ba..8dbdd4888 100644 --- a/data/maps/VermilionCity_House2/scripts.inc +++ b/data/maps/VermilionCity_House2/scripts.inc @@ -1,39 +1,39 @@ VermilionCity_House2_MapScripts:: @ 816B5D6 .byte 0 -VermilionCity_House2_EventScript_16B5D7:: @ 816B5D7 +VermilionCity_House2_EventScript_Elyssa:: @ 816B5D7 lock faceplayer setvar VAR_0x8008, INGAME_TRADE_FARFETCHD call EventScript_GetInGameTradeSpeciesInfo - goto_if_set FLAG_DID_CH_DING_TRADE, EventScript_16B649 - msgbox gUnknown_81949CB, MSGBOX_YESNO + goto_if_set FLAG_DID_CH_DING_TRADE, VermilionCity_House2_EventScript_AlreadyTraded + msgbox VermilionCity_House2_Text_DoYouHaveMonWantToTradeForMyMon, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16B631 + goto_if_eq VermilionCity_House2_EventScript_DeclineTrade call EventScript_ChooseMonForInGameTrade compare VAR_0x8004, PARTY_SIZE - goto_if_ge EventScript_16B631 + goto_if_ge VermilionCity_House2_EventScript_DeclineTrade call EventScript_GetInGameTradeSpecies compare VAR_RESULT, VAR_0x8009 - goto_if_ne EventScript_16B63B + goto_if_ne VermilionCity_House2_EventScript_NotRequestedMon call EventScript_DoInGameTrade - msgbox gUnknown_8194A44 + msgbox VermilionCity_House2_Text_ThankYou setflag FLAG_DID_CH_DING_TRADE release end -EventScript_16B631:: @ 816B631 - msgbox gUnknown_81949FD +VermilionCity_House2_EventScript_DeclineTrade:: @ 816B631 + msgbox VermilionCity_House2_Text_ThatsTooBad release end -EventScript_16B63B:: @ 816B63B +VermilionCity_House2_EventScript_NotRequestedMon:: @ 816B63B getspeciesname 0, VAR_0x8009 - msgbox gUnknown_8194A0D + msgbox VermilionCity_House2_Text_ThisIsNoMon release end -EventScript_16B649:: @ 816B649 - msgbox gUnknown_8194A4F +VermilionCity_House2_EventScript_AlreadyTraded:: @ 816B649 + msgbox VermilionCity_House2_Text_HowIsMyOldMon release end diff --git a/data/maps/VermilionCity_House2/text.inc b/data/maps/VermilionCity_House2/text.inc new file mode 100644 index 000000000..2908cb450 --- /dev/null +++ b/data/maps/VermilionCity_House2/text.inc @@ -0,0 +1,20 @@ +VermilionCity_House2_Text_DoYouHaveMonWantToTradeForMyMon:: @ 81949CB + .string "Hi!\n" + .string "Do you have a {STR_VAR_1}?\p" + .string "Want to trade it for my\n" + .string "{STR_VAR_2}?$" + +VermilionCity_House2_Text_ThatsTooBad:: @ 81949FD + .string "That's too bad.$" + +VermilionCity_House2_Text_ThisIsNoMon:: @ 8194A0D + .string "…This is no {STR_VAR_1}.\p" + .string "If you get one, please trade it\n" + .string "to me!$" + +VermilionCity_House2_Text_ThankYou:: @ 8194A44 + .string "Thank you!$" + +VermilionCity_House2_Text_HowIsMyOldMon:: @ 8194A4F + .string "How is my old {STR_VAR_2}?\p" + .string "My {STR_VAR_1} is doing great!$" diff --git a/data/maps/VermilionCity_Mart/map.json b/data/maps/VermilionCity_Mart/map.json index e2aaee125..3ef4658f1 100644 --- a/data/maps/VermilionCity_Mart/map.json +++ b/data/maps/VermilionCity_Mart/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_Mart_EventScript_16B666", + "script": "VermilionCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_Mart_EventScript_16B654", + "script": "VermilionCity_Mart_EventScript_CooltrainerF", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_Mart_EventScript_16B65D", + "script": "VermilionCity_Mart_EventScript_BaldingMan", "flag": "0" } ], diff --git a/data/maps/VermilionCity_Mart/scripts.inc b/data/maps/VermilionCity_Mart/scripts.inc index 3af796ada..3ce0d842a 100644 --- a/data/maps/VermilionCity_Mart/scripts.inc +++ b/data/maps/VermilionCity_Mart/scripts.inc @@ -1,27 +1,27 @@ VermilionCity_Mart_MapScripts:: @ 816B653 .byte 0 -VermilionCity_Mart_EventScript_16B654:: @ 816B654 - msgbox gUnknown_8194B65, MSGBOX_NPC +VermilionCity_Mart_EventScript_CooltrainerF:: @ 816B654 + msgbox VermilionCity_Mart_Text_MonsGoodOrBadDependingOnTrainer, MSGBOX_NPC end -VermilionCity_Mart_EventScript_16B65D:: @ 816B65D - msgbox gUnknown_8194A77, MSGBOX_NPC +VermilionCity_Mart_EventScript_BaldingMan:: @ 816B65D + msgbox VermilionCity_Mart_Text_TeamRocketAreWickedPeople, MSGBOX_NPC end -VermilionCity_Mart_EventScript_16B666:: @ 816B666 +VermilionCity_Mart_EventScript_Clerk:: @ 816B666 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16B68C + pokemart VermilionCity_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16B68C:: @ 816B68C +VermilionCity_Mart_Items:: @ 816B68C .2byte ITEM_POKE_BALL .2byte ITEM_SUPER_POTION .2byte ITEM_ANTIDOTE diff --git a/data/maps/VermilionCity_Mart/text.inc b/data/maps/VermilionCity_Mart/text.inc index 2d85d941f..b8685b62a 100644 --- a/data/maps/VermilionCity_Mart/text.inc +++ b/data/maps/VermilionCity_Mart/text.inc @@ -1,4 +1,4 @@ -gUnknown_8194A77:: @ 8194A77 +VermilionCity_Mart_Text_TeamRocketAreWickedPeople:: @ 8194A77 .string "There are wicked people who will\n" .string "use POKéMON for criminal acts.\p" .string "TEAM ROCKET traffics in rare\n" @@ -8,7 +8,7 @@ gUnknown_8194A77:: @ 8194A77 .string "That's the sort of horrid people\n" .string "they are, TEAM ROCKET.$" -gUnknown_8194B65:: @ 8194B65 +VermilionCity_Mart_Text_MonsGoodOrBadDependingOnTrainer:: @ 8194B65 .string "I think POKéMON can be good or\n" .string "bad. It depends on the TRAINER.$" diff --git a/data/maps/VermilionCity_PokemonCenter_1F/map.json b/data/maps/VermilionCity_PokemonCenter_1F/map.json index 70b50d7fe..b9837fca2 100644 --- a/data/maps/VermilionCity_PokemonCenter_1F/map.json +++ b/data/maps/VermilionCity_PokemonCenter_1F/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_16B433", + "script": "VermilionCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_16B43C", + "script": "VermilionCity_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_16B445", + "script": "VermilionCity_PokemonCenter_1F_EventScript_Hiker", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_16B44E", + "script": "VermilionCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_1A8D08", + "script": "VermilionCity_PokemonCenter_1F_EventScript_VSSeekerWoman", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_1ACE83", + "script": "VermilionCity_PokemonCenter_1F_EventScript_PokemonJournalLtSurge", "flag": "FLAG_HIDE_FAME_CHECKER_LT_SURGE_JOURNAL" }, { @@ -101,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonCenter_1F_EventScript_1ACE83", + "script": "VermilionCity_PokemonCenter_1F_EventScript_PokemonJournalLtSurge", "flag": "FLAG_HIDE_FAME_CHECKER_LT_SURGE_JOURNAL" } ], diff --git a/data/maps/VermilionCity_PokemonCenter_1F/scripts.inc b/data/maps/VermilionCity_PokemonCenter_1F/scripts.inc index ad7e02455..5f4338101 100644 --- a/data/maps/VermilionCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/VermilionCity_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ VermilionCity_PokemonCenter_1F_OnTransition:: @ 816B42F setrespawn SPAWN_VERMILION_CITY end -VermilionCity_PokemonCenter_1F_EventScript_16B433:: @ 816B433 +VermilionCity_PokemonCenter_1F_EventScript_Nurse:: @ 816B433 lock faceplayer call EventScript_PkmnCenterNurse release end -VermilionCity_PokemonCenter_1F_EventScript_16B43C:: @ 816B43C - msgbox gUnknown_8194145, MSGBOX_NPC +VermilionCity_PokemonCenter_1F_EventScript_Man:: @ 816B43C + msgbox VermilionCity_PokemonCenter_1F_Text_PoisonedMonFaintedWhileWalking, MSGBOX_NPC end -VermilionCity_PokemonCenter_1F_EventScript_16B445:: @ 816B445 - msgbox gUnknown_81940AF, MSGBOX_NPC +VermilionCity_PokemonCenter_1F_EventScript_Hiker:: @ 816B445 + msgbox VermilionCity_PokemonCenter_1F_Text_TrainerMonsStrongerThanWild, MSGBOX_NPC end -VermilionCity_PokemonCenter_1F_EventScript_16B44E:: @ 816B44E - msgbox gUnknown_8194180, MSGBOX_NPC +VermilionCity_PokemonCenter_1F_EventScript_Youngster:: @ 816B44E + msgbox VermilionCity_PokemonCenter_1F_Text_AllMonWeakToSpecificTypes, MSGBOX_NPC end diff --git a/data/maps/VermilionCity_PokemonCenter_1F/text.inc b/data/maps/VermilionCity_PokemonCenter_1F/text.inc index 811f01edf..cd3780286 100644 --- a/data/maps/VermilionCity_PokemonCenter_1F/text.inc +++ b/data/maps/VermilionCity_PokemonCenter_1F/text.inc @@ -1,15 +1,15 @@ -gUnknown_81940AF:: @ 81940AF +VermilionCity_PokemonCenter_1F_Text_TrainerMonsStrongerThanWild:: @ 81940AF .string "Even if they are the same level,\n" .string "POKéMON can have very different\l" .string "stats and abilities.\p" .string "A POKéMON raised by a TRAINER is\n" .string "stronger than one in the wild.$" -gUnknown_8194145:: @ 8194145 +VermilionCity_PokemonCenter_1F_Text_PoisonedMonFaintedWhileWalking:: @ 8194145 .string "My POKéMON was poisoned!\n" .string "It fainted while we were walking!$" -gUnknown_8194180:: @ 8194180 +VermilionCity_PokemonCenter_1F_Text_AllMonWeakToSpecificTypes:: @ 8194180 .string "It is true that a higher-level\n" .string "POKéMON will be more powerful…\p" .string "But, all POKéMON will have weak\n" @@ -17,3 +17,28 @@ gUnknown_8194180:: @ 8194180 .string "So, there appears to be no\n" .string "universally strong POKéMON.$" +VermilionCity_PokemonCenter_1F_Text_UrgeToBattleSomeoneAgain:: @ 8194234 + .string "The urge to battle with someone\n" + .string "you've tangled with before…\p" + .string "Have you ever had that urge?\n" + .string "I'm sure you have.\p" + .string "I wanted to battle certain people\n" + .string "again over and over, too.\p" + .string "So, I've been giving these away.\n" + .string "Please, take one!$" + +VermilionCity_PokemonCenter_1F_Text_UseDeviceForRematches:: @ 819430F + .string "Use that device and you'll find\n" + .string "TRAINERS looking for a rematch.\p" + .string "You have to charge its battery to\n" + .string "use it, though.$" + +VermilionCity_PokemonCenter_1F_Text_ExplainVSSeeker:: @ 8194381 + .string "How do you use the VS SEEKER?\n" + .string "There's nothing to it.\p" + .string "Use it like beep-beep-beep, and\n" + .string "TRAINERS around you will notice.\p" + .string "If any TRAINER wants a rematch,\n" + .string "it will let you know immediately.\p" + .string "Charge its battery and use it\n" + .string "while you're on a road.$" diff --git a/data/maps/VermilionCity_PokemonFanClub/map.json b/data/maps/VermilionCity_PokemonFanClub/map.json index c9f0c45ed..c669797e7 100644 --- a/data/maps/VermilionCity_PokemonFanClub/map.json +++ b/data/maps/VermilionCity_PokemonFanClub/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B47F", + "script": "VermilionCity_PokemonFanClub_EventScript_Chairman", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B4FC", + "script": "VermilionCity_PokemonFanClub_EventScript_WorkerF", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B59E", + "script": "VermilionCity_PokemonFanClub_EventScript_Pikachu", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B5B1", + "script": "VermilionCity_PokemonFanClub_EventScript_Seel", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B528", + "script": "VermilionCity_PokemonFanClub_EventScript_Woman", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B563", + "script": "VermilionCity_PokemonFanClub_EventScript_FatMan", "flag": "0" } ], @@ -122,14 +122,14 @@ "x": 2, "y": 1, "elevation": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B5C4" + "script": "VermilionCity_PokemonFanClub_EventScript_RulesSign1" }, { "type": "bg_event_type_0", "x": 9, "y": 1, "elevation": 0, - "script": "VermilionCity_PokemonFanClub_EventScript_16B5CD" + "script": "VermilionCity_PokemonFanClub_EventScript_RulesSign2" } ] } diff --git a/data/maps/VermilionCity_PokemonFanClub/scripts.inc b/data/maps/VermilionCity_PokemonFanClub/scripts.inc index 23b24b9a2..09f8d1d8b 100644 --- a/data/maps/VermilionCity_PokemonFanClub/scripts.inc +++ b/data/maps/VermilionCity_PokemonFanClub/scripts.inc @@ -1,118 +1,121 @@ +.equ SPOKE_TO_WOMAN_LAST, FLAG_TEMP_2 +.equ SPOKE_TO_FAT_MAN_LAST, FLAG_TEMP_3 + VermilionCity_PokemonFanClub_MapScripts:: @ 816B47E .byte 0 -VermilionCity_PokemonFanClub_EventScript_16B47F:: @ 816B47F +VermilionCity_PokemonFanClub_EventScript_Chairman:: @ 816B47F lock faceplayer - goto_if_set FLAG_GOT_BIKE_VOUCHER, EventScript_16B4A7 - msgbox gUnknown_819457E, MSGBOX_YESNO + goto_if_set FLAG_GOT_BIKE_VOUCHER, VermilionCity_PokemonFanClub_EventScript_AlreadyHeardStory + msgbox VermilionCity_PokemonFanClub_Text_DidYouComeToHearAboutMyMons, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16B4B1 - msgbox gUnknown_8194860 + goto_if_eq VermilionCity_PokemonFanClub_EventScript_ChairmanStory + msgbox VermilionCity_PokemonFanClub_Text_ComeBackToHearStory release end -EventScript_16B4A7:: @ 816B4A7 - msgbox gUnknown_819488E +VermilionCity_PokemonFanClub_EventScript_AlreadyHeardStory:: @ 816B4A7 + msgbox VermilionCity_PokemonFanClub_Text_DidntComeToSeeAboutMonsAgain release end -EventScript_16B4B1:: @ 816B4B1 - msgbox gUnknown_8194628 +VermilionCity_PokemonFanClub_EventScript_ChairmanStory:: @ 816B4B1 + msgbox VermilionCity_PokemonFanClub_Text_ChairmansStory checkitemspace ITEM_BIKE_VOUCHER, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16B4F2 + goto_if_eq VermilionCity_PokemonFanClub_EventScript_NoRoomForBikeVoucher setflag FLAG_GOT_BIKE_VOUCHER - giveitem_msg gUnknown_819474E, ITEM_BIKE_VOUCHER, 1, MUS_FAN5 - msgbox gUnknown_819477C + giveitem_msg VermilionCity_PokemonFanClub_Text_ReceivedBikeVoucherFromChairman, ITEM_BIKE_VOUCHER, 1, MUS_FAN5 + msgbox VermilionCity_PokemonFanClub_Text_ExplainBikeVoucher release end -EventScript_16B4F2:: @ 816B4F2 - msgbox gUnknown_81948D2 +VermilionCity_PokemonFanClub_EventScript_NoRoomForBikeVoucher:: @ 816B4F2 + msgbox VermilionCity_PokemonFanClub_Text_MakeRoomForThis release end -VermilionCity_PokemonFanClub_EventScript_16B4FC:: @ 816B4FC +VermilionCity_PokemonFanClub_EventScript_WorkerF:: @ 816B4FC lock faceplayer - goto_if_set FLAG_SYS_GAME_CLEAR, EventScript_16B511 - msgbox gUnknown_81948E6 + goto_if_set FLAG_SYS_GAME_CLEAR, VermilionCity_PokemonFanClub_EventScript_WorkerFGameClear + msgbox VermilionCity_PokemonFanClub_Text_ChairmanVeryVocalAboutPokemon release end -EventScript_16B511:: @ 816B511 +VermilionCity_PokemonFanClub_EventScript_WorkerFGameClear:: @ 816B511 famechecker FAMECHECKER_DAISY, 1 - msgbox gUnknown_8194960 + msgbox VermilionCity_PokemonFanClub_Text_ChairmanReallyAdoresHisMons release end -VermilionCity_PokemonFanClub_EventScript_16B528:: @ 816B528 +VermilionCity_PokemonFanClub_EventScript_Woman:: @ 816B528 lock faceplayer - goto_if_set FLAG_TEMP_3, EventScript_16B54B - msgbox gUnknown_81944CC + goto_if_set SPOKE_TO_FAT_MAN_LAST, VermilionCity_PokemonFanClub_EventScript_WomanSpokeToFatMan + msgbox VermilionCity_PokemonFanClub_Text_AdoreMySeel closemessage applymovement 5, Movement_FaceOriginalDirection waitmovement 0 - setflag FLAG_TEMP_2 + setflag SPOKE_TO_WOMAN_LAST release end -EventScript_16B54B:: @ 816B54B - msgbox gUnknown_8194518 +VermilionCity_PokemonFanClub_EventScript_WomanSpokeToFatMan:: @ 816B54B + msgbox VermilionCity_PokemonFanClub_Text_SeelFarMoreAttractive closemessage applymovement 5, Movement_FaceOriginalDirection waitmovement 0 - clearflag FLAG_TEMP_3 + clearflag SPOKE_TO_FAT_MAN_LAST release end -VermilionCity_PokemonFanClub_EventScript_16B563:: @ 816B563 +VermilionCity_PokemonFanClub_EventScript_FatMan:: @ 816B563 lock faceplayer - goto_if_set FLAG_TEMP_2, EventScript_16B586 - msgbox gUnknown_819446F + goto_if_set SPOKE_TO_WOMAN_LAST, VermilionCity_PokemonFanClub_EventScript_FatManSpokeToWoman + msgbox VermilionCity_PokemonFanClub_Text_AdmirePikachusTail closemessage applymovement 6, Movement_FaceOriginalDirection waitmovement 0 - setflag FLAG_TEMP_3 + setflag SPOKE_TO_FAT_MAN_LAST release end -EventScript_16B586:: @ 816B586 - msgbox gUnknown_819449C +VermilionCity_PokemonFanClub_EventScript_FatManSpokeToWoman:: @ 816B586 + msgbox VermilionCity_PokemonFanClub_Text_PikachuTwiceAsCute closemessage applymovement 6, Movement_FaceOriginalDirection waitmovement 0 - clearflag FLAG_TEMP_2 + clearflag SPOKE_TO_WOMAN_LAST release end -VermilionCity_PokemonFanClub_EventScript_16B59E:: @ 816B59E +VermilionCity_PokemonFanClub_EventScript_Pikachu:: @ 816B59E lock faceplayer waitse playmoncry SPECIES_PIKACHU, 0 - msgbox gUnknown_819455A + msgbox VermilionCity_PokemonFanClub_Text_Pikachu waitmoncry release end -VermilionCity_PokemonFanClub_EventScript_16B5B1:: @ 816B5B1 +VermilionCity_PokemonFanClub_EventScript_Seel:: @ 816B5B1 lock faceplayer waitse playmoncry SPECIES_SEEL, 0 - msgbox gUnknown_8194571 + msgbox VermilionCity_PokemonFanClub_Text_Seel waitmoncry release end -VermilionCity_PokemonFanClub_EventScript_16B5C4:: @ 816B5C4 - msgbox gUnknown_8194910, MSGBOX_SIGN +VermilionCity_PokemonFanClub_EventScript_RulesSign1:: @ 816B5C4 + msgbox VermilionCity_PokemonFanClub_Text_ListenPolitelyToOtherTrainers, MSGBOX_SIGN end -VermilionCity_PokemonFanClub_EventScript_16B5CD:: @ 816B5CD - msgbox gUnknown_819493D, MSGBOX_SIGN +VermilionCity_PokemonFanClub_EventScript_RulesSign2:: @ 816B5CD + msgbox VermilionCity_PokemonFanClub_Text_SomeoneBragsBragBack, MSGBOX_SIGN end diff --git a/data/maps/VermilionCity_PokemonFanClub/text.inc b/data/maps/VermilionCity_PokemonFanClub/text.inc index 1264be24d..7e28fd548 100644 --- a/data/maps/VermilionCity_PokemonFanClub/text.inc +++ b/data/maps/VermilionCity_PokemonFanClub/text.inc @@ -1,56 +1,30 @@ -Text_194234:: @ 8194234 - .string "The urge to battle with someone\n" - .string "you've tangled with before…\p" - .string "Have you ever had that urge?\n" - .string "I'm sure you have.\p" - .string "I wanted to battle certain people\n" - .string "again over and over, too.\p" - .string "So, I've been giving these away.\n" - .string "Please, take one!$" - -Text_19430F:: @ 819430F - .string "Use that device and you'll find\n" - .string "TRAINERS looking for a rematch.\p" - .string "You have to charge its battery to\n" - .string "use it, though.$" - -Text_194381:: @ 8194381 - .string "How do you use the VS SEEKER?\n" - .string "There's nothing to it.\p" - .string "Use it like beep-beep-beep, and\n" - .string "TRAINERS around you will notice.\p" - .string "If any TRAINER wants a rematch,\n" - .string "it will let you know immediately.\p" - .string "Charge its battery and use it\n" - .string "while you're on a road.$" - -gUnknown_819446F:: @ 819446F +VermilionCity_PokemonFanClub_Text_AdmirePikachusTail:: @ 819446F .string "Won't you admire my PIKACHU's\n" .string "adorable tail?$" -gUnknown_819449C:: @ 819449C +VermilionCity_PokemonFanClub_Text_PikachuTwiceAsCute:: @ 819449C .string "Humph!\p" .string "My PIKACHU is twice as cute as\n" .string "that one!$" -gUnknown_81944CC:: @ 81944CC +VermilionCity_PokemonFanClub_Text_AdoreMySeel:: @ 81944CC .string "I just adore my SEEL!\n" .string "It's so lovable!\p" .string "It squeals, “Kyuuuh,” when I\n" .string "hug it!$" -gUnknown_8194518:: @ 8194518 +VermilionCity_PokemonFanClub_Text_SeelFarMoreAttractive:: @ 8194518 .string "Oh, dear!\p" .string "My SEEL is far more attractive.\n" .string "By double, I would say.$" -gUnknown_819455A:: @ 819455A +VermilionCity_PokemonFanClub_Text_Pikachu:: @ 819455A .string "PIKACHU: Chu! Pikachu!$" -gUnknown_8194571:: @ 8194571 +VermilionCity_PokemonFanClub_Text_Seel:: @ 8194571 .string "SEEL: Kyuoo!$" -gUnknown_819457E:: @ 819457E +VermilionCity_PokemonFanClub_Text_DidYouComeToHearAboutMyMons:: @ 819457E .string "I chair the POKéMON Fan Club!\p" .string "I raise more than a hundred\n" .string "POKéMON!\p" @@ -60,7 +34,7 @@ gUnknown_819457E:: @ 819457E .string "Did you come visit to hear about\n" .string "my POKéMON?$" -gUnknown_8194628:: @ 8194628 +VermilionCity_PokemonFanClub_Text_ChairmansStory:: @ 8194628 .string "Good!\n" .string "Then listen up!\p" .string "My favorite RAPIDASH…\p" @@ -76,11 +50,11 @@ gUnknown_8194628:: @ 8194628 .string "Thanks for hearing me out!\n" .string "I want you to have this!$" -gUnknown_819474E:: @ 819474E +VermilionCity_PokemonFanClub_Text_ReceivedBikeVoucherFromChairman:: @ 819474E .string "{PLAYER} received a BIKE VOUCHER\n" .string "from the CHAIRMAN.$" -gUnknown_819477C:: @ 819477C +VermilionCity_PokemonFanClub_Text_ExplainBikeVoucher:: @ 819477C .string "Take that BIKE VOUCHER to the\n" .string "BIKE SHOP in CERULEAN CITY.\p" .string "Exchange that for a BICYCLE\n" @@ -90,55 +64,33 @@ gUnknown_819477C:: @ 819477C .string "So, I have no need for a BICYCLE.\p" .string "I hope you like cycling!$" -gUnknown_8194860:: @ 8194860 +VermilionCity_PokemonFanClub_Text_ComeBackToHearStory:: @ 8194860 .string "Oh. Come back when you want to\n" .string "hear my story!$" -gUnknown_819488E:: @ 819488E +VermilionCity_PokemonFanClub_Text_DidntComeToSeeAboutMonsAgain:: @ 819488E .string "Hello, {PLAYER}!\p" .string "Did you come see me about my\n" .string "POKéMON again?\p" .string "No?\n" .string "Too bad!$" -gUnknown_81948D2:: @ 81948D2 +VermilionCity_PokemonFanClub_Text_MakeRoomForThis:: @ 81948D2 .string "Make room for this!$" -gUnknown_81948E6:: @ 81948E6 +VermilionCity_PokemonFanClub_Text_ChairmanVeryVocalAboutPokemon:: @ 81948E6 .string "Our CHAIRMAN is very vocal about\n" .string "POKéMON.$" -gUnknown_8194910:: @ 8194910 +VermilionCity_PokemonFanClub_Text_ListenPolitelyToOtherTrainers:: @ 8194910 .string "Let's all listen politely to other\n" .string "TRAINERS!$" -gUnknown_819493D:: @ 819493D +VermilionCity_PokemonFanClub_Text_SomeoneBragsBragBack:: @ 819493D .string "If someone brags, brag right back!$" -gUnknown_8194960:: @ 8194960 +VermilionCity_PokemonFanClub_Text_ChairmanReallyAdoresHisMons:: @ 8194960 .string "Our CHAIRMAN really does adore his\n" .string "POKéMON.\p" .string "But the person who is most liked by\n" .string "POKéMON is DAISY, I think.$" - -gUnknown_81949CB:: @ 81949CB - .string "Hi!\n" - .string "Do you have a {STR_VAR_1}?\p" - .string "Want to trade it for my\n" - .string "{STR_VAR_2}?$" - -gUnknown_81949FD:: @ 81949FD - .string "That's too bad.$" - -gUnknown_8194A0D:: @ 8194A0D - .string "…This is no {STR_VAR_1}.\p" - .string "If you get one, please trade it\n" - .string "to me!$" - -gUnknown_8194A44:: @ 8194A44 - .string "Thank you!$" - -gUnknown_8194A4F:: @ 8194A4F - .string "How is my old {STR_VAR_2}?\p" - .string "My {STR_VAR_1} is doing great!$" - diff --git a/data/maps/ViridianCity/map.json b/data/maps/ViridianCity/map.json index ca30e0c6e..a83f47f5a 100644 --- a/data/maps/ViridianCity/map.json +++ b/data/maps/ViridianCity/map.json @@ -65,7 +65,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_EventScript_1659CA", + "script": "ViridianCity_EventScript_OldMan", "flag": "0" }, { @@ -78,7 +78,7 @@ "movement_range_y": 3, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_EventScript_1659F6", + "script": "ViridianCity_EventScript_TutorialOldMan", "flag": "0" }, { @@ -91,7 +91,7 @@ "movement_range_y": 3, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_EventScript_165AC4", + "script": "ViridianCity_EventScript_Woman", "flag": "0" }, { @@ -104,7 +104,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_EventScript_165A8F", + "script": "ViridianCity_EventScript_Youngster", "flag": "0" }, { @@ -117,7 +117,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_EventScript_1659C1", + "script": "ViridianCity_EventScript_Boy", "flag": "0" }, { @@ -192,7 +192,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN", "var_value": 0, - "script": "ViridianCity_EventScript_165AF6" + "script": "ViridianCity_EventScript_RoadBlocked" }, { "type": "trigger", @@ -201,7 +201,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR", "var_value": 0, - "script": "ViridianCity_EventScript_16596D" + "script": "ViridianCity_EventScript_GymDoorLocked" }, { "type": "trigger", @@ -210,7 +210,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN", "var_value": 1, - "script": "ViridianCity_EventScript_165B10" + "script": "ViridianCity_EventScript_TutorialTriggerLeft" }, { "type": "trigger", @@ -219,7 +219,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN", "var_value": 1, - "script": "ViridianCity_EventScript_165B2E" + "script": "ViridianCity_EventScript_TutorialTriggerRight" } ], "bg_events": [ @@ -228,35 +228,35 @@ "x": 23, "y": 1, "elevation": 3, - "script": "ViridianCity_EventScript_16599D" + "script": "ViridianCity_EventScript_TrainerTips1" }, { "type": "bg_event_type_0", "x": 32, "y": 10, "elevation": 0, - "script": "ViridianCity_EventScript_1659AF" + "script": "ViridianCity_EventScript_GymSign" }, { "type": "bg_event_type_0", "x": 20, "y": 31, "elevation": 0, - "script": "ViridianCity_EventScript_1659A6" + "script": "ViridianCity_EventScript_TrainerTips2" }, { "type": "bg_event_type_0", "x": 20, "y": 16, "elevation": 0, - "script": "ViridianCity_EventScript_165994" + "script": "ViridianCity_EventScript_CitySign" }, { "type": "bg_event_type_0", "x": 36, "y": 10, "elevation": 0, - "script": "ViridianCity_EventScript_1659B8" + "script": "ViridianCity_EventScript_GymDoor" } ] } diff --git a/data/maps/ViridianCity/scripts.inc b/data/maps/ViridianCity/scripts.inc index c317a92eb..4fb140b24 100644 --- a/data/maps/ViridianCity/scripts.inc +++ b/data/maps/ViridianCity/scripts.inc @@ -1,3 +1,5 @@ +.equ LOCALID_TUTORIAL_MAN, 4 + ViridianCity_MapScripts:: @ 81658D3 map_script MAP_SCRIPT_ON_TRANSITION, ViridianCity_OnTransition .byte 0 @@ -5,32 +7,32 @@ ViridianCity_MapScripts:: @ 81658D3 ViridianCity_OnTransition:: @ 81658D9 setworldmapflag FLAG_WORLD_MAP_VIRIDIAN_CITY compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0 - call_if_eq EventScript_165920 + call_if_eq ViridianCity_EventScript_SetOldManBlockingRoad compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 1 - call_if_eq EventScript_16590F + call_if_eq ViridianCity_EventScript_SetOldManStandingByRoad compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2 - call_if_ge EventScript_165909 + call_if_ge ViridianCity_EventScript_SetOldManNormal compare VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 0 - call_if_eq EventScript_165931 + call_if_eq ViridianCity_EventScript_TryUnlockGym end -EventScript_165909:: @ 8165909 +ViridianCity_EventScript_SetOldManNormal:: @ 8165909 setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_1 return -EventScript_16590F:: @ 816590F +ViridianCity_EventScript_SetOldManStandingByRoad:: @ 816590F setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_1 - setobjectxyperm 4, 21, 8 - setobjectmovementtype 4, 1 + setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 8 + setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_LOOK_AROUND return -EventScript_165920:: @ 8165920 - setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_VIRIDIAN_DRUNK - setobjectxyperm 4, 21, 11 - setobjectmovementtype 4, 8 +ViridianCity_EventScript_SetOldManBlockingRoad:: @ 8165920 + setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN + setobjectxyperm LOCALID_TUTORIAL_MAN, 21, 11 + setobjectmovementtype LOCALID_TUTORIAL_MAN, MOVEMENT_TYPE_FACE_DOWN return -EventScript_165931:: @ 8165931 +ViridianCity_EventScript_TryUnlockGym:: @ 8165931 goto_if_unset FLAG_BADGE02_GET, EventScript_Return goto_if_unset FLAG_BADGE03_GET, EventScript_Return goto_if_unset FLAG_BADGE04_GET, EventScript_Return @@ -40,106 +42,109 @@ EventScript_165931:: @ 8165931 setvar VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 1 return -ViridianCity_EventScript_16596D:: @ 816596D +ViridianCity_EventScript_GymDoorLocked:: @ 816596D lockall textcolor 3 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 delay 20 - msgbox gUnknown_817E2F5 + msgbox ViridianCity_Text_GymDoorsAreLocked closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_165992 + applymovement OBJ_EVENT_ID_PLAYER, ViridianCity_Movement_JumpDownLedge waitmovement 0 releaseall end -Movement_165992:: @ 8165992 +ViridianCity_Movement_JumpDownLedge:: @ 8165992 jump_2_down step_end -ViridianCity_EventScript_165994:: @ 8165994 - msgbox gUnknown_817E1BB, MSGBOX_SIGN +ViridianCity_EventScript_CitySign:: @ 8165994 + msgbox ViridianCity_Text_CitySign, MSGBOX_SIGN end -ViridianCity_EventScript_16599D:: @ 816599D - msgbox gUnknown_817E1E7, MSGBOX_SIGN +ViridianCity_EventScript_TrainerTips1:: @ 816599D + msgbox ViridianCity_Text_CatchMonsForEasierBattles, MSGBOX_SIGN end -ViridianCity_EventScript_1659A6:: @ 81659A6 - msgbox gUnknown_817E24D, MSGBOX_SIGN +ViridianCity_EventScript_TrainerTips2:: @ 81659A6 + msgbox ViridianCity_Text_MovesLimitedByPP, MSGBOX_SIGN end -ViridianCity_EventScript_1659AF:: @ 81659AF - msgbox gUnknown_817E2DB, MSGBOX_SIGN +ViridianCity_EventScript_GymSign:: @ 81659AF + msgbox ViridianCity_Text_GymSign, MSGBOX_SIGN end -ViridianCity_EventScript_1659B8:: @ 81659B8 - msgbox gUnknown_817E2F5, MSGBOX_SIGN +ViridianCity_EventScript_GymDoor:: @ 81659B8 + msgbox ViridianCity_Text_GymDoorsAreLocked, MSGBOX_SIGN end -ViridianCity_EventScript_1659C1:: @ 81659C1 - msgbox gUnknown_817DABB, MSGBOX_NPC +ViridianCity_EventScript_Boy:: @ 81659C1 + msgbox ViridianCity_Text_CanCarryMonsAnywhere, MSGBOX_NPC end -ViridianCity_EventScript_1659CA:: @ 81659CA +@ Other old man, not the tutorial old man +ViridianCity_EventScript_OldMan:: @ 81659CA lock faceplayer compare VAR_MAP_SCENE_VIRIDIAN_CITY_GYM_DOOR, 1 - goto_if_eq EventScript_1659EC - msgbox gUnknown_817DB39 + goto_if_eq ViridianCity_EventScript_OldManGymLeaderReturned + msgbox ViridianCity_Text_GymClosedWonderWhoLeaderIs closemessage applymovement 3, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_1659EC:: @ 81659EC - msgbox gUnknown_817DB78 +ViridianCity_EventScript_OldManGymLeaderReturned:: @ 81659EC + msgbox ViridianCity_Text_ViridiansGymLeaderReturned release end -ViridianCity_EventScript_1659F6:: @ 81659F6 +ViridianCity_EventScript_TutorialOldMan:: @ 81659F6 lock faceplayer - goto_if_set FLAG_BADGE01_GET, EventScript_165A23 + goto_if_set FLAG_BADGE01_GET, ViridianCity_EventScript_AskIfTeachyTVHelpful compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2 - goto_if_ge EventScript_165A4A + goto_if_ge ViridianCity_EventScript_TutorialCompleted compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 1 - goto_if_eq EventScript_165A54 + goto_if_eq ViridianCity_EventScript_TutorialStart compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0 - goto_if_eq EventScript_165A84 + goto_if_eq ViridianCity_EventScript_TutorialNotReady end -EventScript_165A23:: @ 8165A23 - msgbox gUnknown_817E046, MSGBOX_YESNO +ViridianCity_EventScript_AskIfTeachyTVHelpful:: @ 8165A23 + msgbox ViridianCity_Text_HowsTeachyTVHelping, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_165A40 - msgbox gUnknown_817E0EA + goto_if_eq ViridianCity_EventScript_TeachyTVNotHelpful + msgbox ViridianCity_Text_MyGrandsonOnTheShow release end -EventScript_165A40:: @ 8165A40 - msgbox gUnknown_817E14E +ViridianCity_EventScript_TeachyTVNotHelpful:: @ 8165A40 + msgbox ViridianCity_Text_TooBusyForTeachyTV release end -EventScript_165A4A:: @ 8165A4A - msgbox gUnknown_817DF61 +ViridianCity_EventScript_TutorialCompleted:: @ 8165A4A + msgbox ViridianCity_Text_WeakenMonsFirstToCatch release end -EventScript_165A54:: @ 8165A54 - call EventScript_165B4C +ViridianCity_EventScript_TutorialStart:: @ 8165A54 + call ViridianCity_EventScript_DoTutorialBattle release end -EventScript_165A5B:: @ 8165A5B - msgbox gUnknown_817DEEB +@ Unused +ViridianCity_EventScript_WatchToLearnBasics:: @ 8165A5B + msgbox ViridianCity_Text_WatchThatToLearnBasics release end -EventScript_165A65:: @ 8165A65 - msgbox gUnknown_817DE9B +@ Unused. Starts battle after the post battle text, which is odd. +ViridianCity_EventScript_TutorialUnused:: @ 8165A65 + msgbox ViridianCity_Text_ThatWasEducationalTakeThis goto_if_questlog EventScript_ReleaseEnd special sub_8112364 special ScrSpecial_StartOldManTutorialBattle @@ -147,43 +152,43 @@ EventScript_165A65:: @ 8165A65 release end -EventScript_165A84:: @ 8165A84 - msgbox gUnknown_817DD03 +ViridianCity_EventScript_TutorialNotReady:: @ 8165A84 + msgbox ViridianCity_Text_ThisIsPrivateProperty closemessage release end -ViridianCity_EventScript_165A8F:: @ 8165A8F +ViridianCity_EventScript_Youngster:: @ 8165A8F lock faceplayer - msgbox gUnknown_817DB98, MSGBOX_YESNO + msgbox ViridianCity_Text_WantToKnowAboutCaterpillarMons, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_165AB0 + goto_if_eq ViridianCity_EventScript_YoungsterExplainCaterpillars compare VAR_RESULT, NO - goto_if_eq EventScript_165ABA + goto_if_eq ViridianCity_EventScript_YoungsterDeclineExplanation end -EventScript_165AB0:: @ 8165AB0 - msgbox gUnknown_817DBE4 +ViridianCity_EventScript_YoungsterExplainCaterpillars:: @ 8165AB0 + msgbox ViridianCity_Text_ExplainCaterpieWeedle release end -EventScript_165ABA:: @ 8165ABA - msgbox gUnknown_817DBD5 +ViridianCity_EventScript_YoungsterDeclineExplanation:: @ 8165ABA + msgbox ViridianCity_Text_OhOkayThen release end -ViridianCity_EventScript_165AC4:: @ 8165AC4 +ViridianCity_EventScript_Woman:: @ 8165AC4 lock faceplayer compare VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 0 - goto_if_eq EventScript_165ADB - msgbox gUnknown_817DC99 + goto_if_eq ViridianCity_EventScript_WomanRoadBlocked + msgbox ViridianCity_Text_GoShoppingInPewterOccasionally release end -EventScript_165ADB:: @ 8165ADB - msgbox gUnknown_817DC4E +ViridianCity_EventScript_WomanRoadBlocked:: @ 8165ADB + msgbox ViridianCity_Text_GrandpaHasntHadCoffeeYet closemessage applymovement 5, Movement_FaceOriginalDirection waitmovement 0 @@ -194,44 +199,44 @@ ViridianCity_EventScript_DreamEaterTutor:: @ 8165AF0 goto EventScript_DreamEaterTutor end -ViridianCity_EventScript_165AF6:: @ 8165AF6 +ViridianCity_EventScript_RoadBlocked:: @ 8165AF6 lockall textcolor 0 - msgbox gUnknown_817DD03 + msgbox ViridianCity_Text_ThisIsPrivateProperty closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_165B0E + applymovement OBJ_EVENT_ID_PLAYER, ViridianCity_Movement_WalkDown waitmovement 0 releaseall end -Movement_165B0E:: @ 8165B0E +ViridianCity_Movement_WalkDown:: @ 8165B0E walk_down step_end -ViridianCity_EventScript_165B10:: @ 8165B10 +ViridianCity_EventScript_TutorialTriggerLeft:: @ 8165B10 lockall textcolor 0 - applymovement 4, Movement_WalkInPlaceFastestLeft + applymovement LOCALID_TUTORIAL_MAN, Movement_WalkInPlaceFastestLeft waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 - call EventScript_165B4C + call ViridianCity_EventScript_DoTutorialBattle release end -ViridianCity_EventScript_165B2E:: @ 8165B2E +ViridianCity_EventScript_TutorialTriggerRight:: @ 8165B2E lockall textcolor 0 - applymovement 4, Movement_WalkInPlaceFastestRight + applymovement LOCALID_TUTORIAL_MAN, Movement_WalkInPlaceFastestRight waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 - call EventScript_165B4C + call ViridianCity_EventScript_DoTutorialBattle release end -EventScript_165B4C:: @ 8165B4C - msgbox gUnknown_817DD4E +ViridianCity_EventScript_DoTutorialBattle:: @ 8165B4C + msgbox ViridianCity_Text_ShowYouHowToCatchMons closemessage goto_if_questlog EventScript_ReleaseEnd special sub_8112364 @@ -239,8 +244,8 @@ EventScript_165B4C:: @ 8165B4C waitstate lock faceplayer - msgbox gUnknown_817DE9B + msgbox ViridianCity_Text_ThatWasEducationalTakeThis setvar VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 2 giveitem ITEM_TEACHY_TV - msgbox gUnknown_817DEEB + msgbox ViridianCity_Text_WatchThatToLearnBasics return diff --git a/data/maps/ViridianCity/text.inc b/data/maps/ViridianCity/text.inc index 37b1d3c55..d029c942d 100644 --- a/data/maps/ViridianCity/text.inc +++ b/data/maps/ViridianCity/text.inc @@ -1,47 +1,47 @@ -gUnknown_817DABB:: @ 817DABB +ViridianCity_Text_CanCarryMonsAnywhere:: @ 817DABB .string "Those POKé BALLS at your waist!\n" .string "You have POKéMON, don't you?\p" .string "It's great that you can carry and\n" .string "use POKéMON anytime, anywhere.$" -gUnknown_817DB39:: @ 817DB39 +ViridianCity_Text_GymClosedWonderWhoLeaderIs:: @ 817DB39 .string "This POKéMON GYM is always closed.\p" .string "I wonder who the LEADER is?$" -gUnknown_817DB78:: @ 817DB78 +ViridianCity_Text_ViridiansGymLeaderReturned:: @ 817DB78 .string "VIRIDIAN GYM's LEADER returned!$" -gUnknown_817DB98:: @ 817DB98 +ViridianCity_Text_WantToKnowAboutCaterpillarMons:: @ 817DB98 .string "You want to know about the two\n" .string "kinds of caterpillar POKéMON?$" -gUnknown_817DBD5:: @ 817DBD5 +ViridianCity_Text_OhOkayThen:: @ 817DBD5 .string "Oh, okay then!$" -gUnknown_817DBE4:: @ 817DBE4 +ViridianCity_Text_ExplainCaterpieWeedle:: @ 817DBE4 .string "CATERPIE has no poison,\n" .string "but WEEDLE does.\p" .string "Watch that your POKéMON aren't\n" .string "stabbed by WEEDLE's POISON STING.$" -gUnknown_817DC4E:: @ 817DC4E +ViridianCity_Text_GrandpaHasntHadCoffeeYet:: @ 817DC4E .string "Oh, Grandpa!\n" .string "Don't be so mean!\p" .string "I'm so sorry.\n" .string "He hasn't had his coffee yet.$" -gUnknown_817DC99:: @ 817DC99 +ViridianCity_Text_GoShoppingInPewterOccasionally:: @ 817DC99 .string "I go shopping in PEWTER CITY\n" .string "occasionally.\p" .string "I have to take the winding trail in\n" .string "VIRIDIAN FOREST when I go.$" -gUnknown_817DD03:: @ 817DD03 +ViridianCity_Text_ThisIsPrivateProperty:: @ 817DD03 .string "I absolutely forbid you from\n" .string "going through here!\p" .string "This is private property!$" -gUnknown_817DD4E:: @ 817DD4E +ViridianCity_Text_ShowYouHowToCatchMons:: @ 817DD4E .string "Well, now, I've had my coffee, and\n" .string "that's what I need to get going!\p" .string "Hm?\n" @@ -58,18 +58,18 @@ gUnknown_817DD4E:: @ 817DD4E .string "I suppose I had better show you\n" .string "then!$" -gUnknown_817DE9B:: @ 817DE9B +ViridianCity_Text_ThatWasEducationalTakeThis:: @ 817DE9B .string "There! Now tell me, that was\n" .string "educational, was it not?\p" .string "And here, take this, too.$" -gUnknown_817DEEB:: @ 817DEEB +ViridianCity_Text_WatchThatToLearnBasics:: @ 817DEEB .string "If there's something you don't\n" .string "understand, watch that.\p" .string "It will teach you about the basics\n" .string "of being a POKéMON TRAINER.$" -gUnknown_817DF61:: @ 817DF61 +ViridianCity_Text_WeakenMonsFirstToCatch:: @ 817DF61 .string "Well, now, I've had my coffee, and\n" .string "that's what I need to get going!\p" .string "But I made it too strong.\n" @@ -79,7 +79,7 @@ gUnknown_817DF61:: @ 817DF61 .string "At first, focus on weakening the\n" .string "POKéMON before trying to catch it.$" -gUnknown_817E046:: @ 817E046 +ViridianCity_Text_HowsTeachyTVHelping:: @ 817E046 .string "Well, now, I've had my coffee, and\n" .string "that's what I need to get going!\p" .string "But I made it too strong.\n" @@ -87,39 +87,39 @@ gUnknown_817E046:: @ 817E046 .string "Incidentally, is my old TEACHY TV\n" .string "helping you?$" -gUnknown_817E0EA:: @ 817E0EA +ViridianCity_Text_MyGrandsonOnTheShow:: @ 817E0EA .string "Wahaha!\n" .string "It's my grandson on the show!\p" .string "Since he's the one doing the\n" .string "teaching, you're bound to learn.$" -gUnknown_817E14E:: @ 817E14E +ViridianCity_Text_TooBusyForTeachyTV:: @ 817E14E .string "Hm… You're too busy to not even\n" .string "have the time for TEACHY TV…\p" .string "Time is money, and neither should\n" .string "be ill spent…$" -gUnknown_817E1BB:: @ 817E1BB +ViridianCity_Text_CitySign:: @ 817E1BB .string "VIRIDIAN CITY \n" .string "The Eternally Green Paradise$" -gUnknown_817E1E7:: @ 817E1E7 +ViridianCity_Text_CatchMonsForEasierBattles:: @ 817E1E7 .string "TRAINER TIPS\p" .string "Catch POKéMON and expand your\n" .string "collection.\p" .string "The more you have, the easier it\n" .string "is to battle.$" -gUnknown_817E24D:: @ 817E24D +ViridianCity_Text_MovesLimitedByPP:: @ 817E24D .string "TRAINER TIPS\p" .string "The battle moves of POKéMON are\n" .string "limited by their POWER POINTS, PP.\p" .string "To replenish PP, rest your tired\n" .string "POKéMON at a POKéMON CENTER.$" -gUnknown_817E2DB:: @ 817E2DB +ViridianCity_Text_GymSign:: @ 817E2DB .string "VIRIDIAN CITY POKéMON GYM$" -gUnknown_817E2F5:: @ 817E2F5 +ViridianCity_Text_GymDoorsAreLocked:: @ 817E2F5 .string "VIRIDIAN GYM's doors are locked…$" diff --git a/data/maps/ViridianCity_Gym/map.json b/data/maps/ViridianCity_Gym/map.json index 0297a31b1..b4c9a93e4 100644 --- a/data/maps/ViridianCity_Gym/map.json +++ b/data/maps/ViridianCity_Gym/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_169FD6", + "script": "ViridianCity_Gym_EventScript_Takashi", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_16A004", + "script": "ViridianCity_Gym_EventScript_Yuji", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_169FA8", + "script": "ViridianCity_Gym_EventScript_Atsushi", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_169F7A", + "script": "ViridianCity_Gym_EventScript_Jason", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "ViridianCity_Gym_EventScript_169F91", + "script": "ViridianCity_Gym_EventScript_Cole", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "ViridianCity_Gym_EventScript_169FBF", + "script": "ViridianCity_Gym_EventScript_Kiyo", "flag": "0" }, { @@ -101,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_169FED", + "script": "ViridianCity_Gym_EventScript_Samuel", "flag": "0" }, { @@ -114,7 +114,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_Gym_EventScript_169ECA", + "script": "ViridianCity_Gym_EventScript_Giovanni", "flag": "FLAG_HIDE_VIRIDIAN_GIOVANNI" }, { @@ -127,7 +127,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "ViridianCity_Gym_EventScript_16A01B", + "script": "ViridianCity_Gym_EventScript_Warren", "flag": "0" }, { @@ -140,7 +140,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_Gym_EventScript_16A032", + "script": "ViridianCity_Gym_EventScript_GymGuy", "flag": "0" } ], @@ -174,14 +174,14 @@ "x": 15, "y": 20, "elevation": 0, - "script": "ViridianCity_Gym_EventScript_16A05E" + "script": "ViridianCity_Gym_EventScript_GymStatue" }, { "type": "bg_event_type_0", "x": 19, "y": 20, "elevation": 0, - "script": "ViridianCity_Gym_EventScript_16A05E" + "script": "ViridianCity_Gym_EventScript_GymStatue" }, { "type": "hidden_item", diff --git a/data/maps/ViridianCity_Gym/scripts.inc b/data/maps/ViridianCity_Gym/scripts.inc index 0579e9e32..c14dceddf 100644 --- a/data/maps/ViridianCity_Gym/scripts.inc +++ b/data/maps/ViridianCity_Gym/scripts.inc @@ -1,11 +1,11 @@ ViridianCity_Gym_MapScripts:: @ 8169EC9 .byte 0 -ViridianCity_Gym_EventScript_169ECA:: @ 8169ECA +ViridianCity_Gym_EventScript_Giovanni:: @ 8169ECA famechecker FAMECHECKER_GIOVANNI, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - trainerbattle_single TRAINER_LEADER_GIOVANNI, Text_18F352, Text_18F43F, EventScript_169F04, NO_MUSIC - goto_if_unset FLAG_GOT_TM26_FROM_GIOVANNI, EventScript_169F2F - msgbox gUnknown_818F4A2 + trainerbattle_single TRAINER_LEADER_GIOVANNI, ViridianCity_Gym_Text_GiovanniIntro, ViridianCity_Gym_Text_GiovanniDefeat, ViridianCity_Gym_EventScript_DefeatedGiovanni, NO_MUSIC + goto_if_unset FLAG_GOT_TM26_FROM_GIOVANNI, ViridianCity_Gym_EventScript_GiveTM26 + msgbox ViridianCity_Gym_Text_GiovanniPostBattle closemessage fadescreen FADE_TO_BLACK removeobject 8 @@ -13,94 +13,94 @@ ViridianCity_Gym_EventScript_169ECA:: @ 8169ECA release end -EventScript_169F04:: @ 8169F04 +ViridianCity_Gym_EventScript_DefeatedGiovanni:: @ 8169F04 famechecker FAMECHECKER_GIOVANNI, 3 setflag FLAG_HIDE_MISC_KANTO_ROCKETS setflag FLAG_DEFEATED_LEADER_GIOVANNI setflag FLAG_BADGE08_GET setvar VAR_MAP_SCENE_ROUTE22, 3 set_gym_trainers 8 - goto EventScript_169F2F + goto ViridianCity_Gym_EventScript_GiveTM26 end -EventScript_169F2F:: @ 8169F2F - msgbox gUnknown_818F586 +ViridianCity_Gym_EventScript_GiveTM26:: @ 8169F2F + msgbox ViridianCity_Gym_Text_ExplainEarthBadgeTakeThis checkitemspace ITEM_TM26, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_169F70 - giveitem_msg gUnknown_818F675, ITEM_TM26 + goto_if_eq ViridianCity_Gym_EventScript_NoRoomForTM26 + giveitem_msg ViridianCity_Gym_Text_ReceivedTM26FromGiovanni, ITEM_TM26 setflag FLAG_GOT_TM26_FROM_GIOVANNI - msgbox gUnknown_818F695 + msgbox ViridianCity_Gym_Text_ExplainTM26 release end -EventScript_169F70:: @ 8169F70 - msgbox gUnknown_818F71B +ViridianCity_Gym_EventScript_NoRoomForTM26:: @ 8169F70 + msgbox ViridianCity_Gym_Text_YouDoNotHaveSpace release end -ViridianCity_Gym_EventScript_169F7A:: @ 8169F7A - trainerbattle_single TRAINER_TAMER_JASON, Text_18F7F3, Text_18F824 - msgbox gUnknown_818F840, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Jason:: @ 8169F7A + trainerbattle_single TRAINER_TAMER_JASON, ViridianCity_Gym_Text_JasonIntro, ViridianCity_Gym_Text_JasonDefeat + msgbox ViridianCity_Gym_Text_JasonPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_169F91:: @ 8169F91 - trainerbattle_single TRAINER_TAMER_COLE, Text_18F98A, Text_18F9BB - msgbox gUnknown_818F9CC, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Cole:: @ 8169F91 + trainerbattle_single TRAINER_TAMER_COLE, ViridianCity_Gym_Text_ColeIntro, ViridianCity_Gym_Text_ColeDefeat + msgbox ViridianCity_Gym_Text_ColePostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_169FA8:: @ 8169FA8 - trainerbattle_single TRAINER_BLACK_BELT_ATSUSHI, Text_18F7AD, Text_18F7D6 - msgbox gUnknown_818F7DD, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Atsushi:: @ 8169FA8 + trainerbattle_single TRAINER_BLACK_BELT_ATSUSHI, ViridianCity_Gym_Text_AtsushiIntro, ViridianCity_Gym_Text_AtsushiDefeat + msgbox ViridianCity_Gym_Text_AtsushiPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_169FBF:: @ 8169FBF - trainerbattle_single TRAINER_BLACK_BELT_KIYO, Text_18F86C, Text_18F899 - msgbox gUnknown_818F8A0, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Kiyo:: @ 8169FBF + trainerbattle_single TRAINER_BLACK_BELT_KIYO, ViridianCity_Gym_Text_KiyoIntro, ViridianCity_Gym_Text_KiyoDefeat + msgbox ViridianCity_Gym_Text_KiyoPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_169FD6:: @ 8169FD6 - trainerbattle_single TRAINER_BLACK_BELT_TAKASHI, Text_18F92C, Text_18F95A - msgbox gUnknown_818F960, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Takashi:: @ 8169FD6 + trainerbattle_single TRAINER_BLACK_BELT_TAKASHI, ViridianCity_Gym_Text_TakashiIntro, ViridianCity_Gym_Text_TakashiDefeat + msgbox ViridianCity_Gym_Text_TakashiPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_169FED:: @ 8169FED - trainerbattle_single TRAINER_COOLTRAINER_SAMUEL, Text_18F9E7, Text_18FA2D - msgbox gUnknown_818FA3B, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Samuel:: @ 8169FED + trainerbattle_single TRAINER_COOLTRAINER_SAMUEL, ViridianCity_Gym_Text_SamuelIntro, ViridianCity_Gym_Text_SamuelDefeat + msgbox ViridianCity_Gym_Text_SamuelPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_16A004:: @ 816A004 - trainerbattle_single TRAINER_COOLTRAINER_YUJI, Text_18F73B, Text_18F769 - msgbox gUnknown_818F77B, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Yuji:: @ 816A004 + trainerbattle_single TRAINER_COOLTRAINER_YUJI, ViridianCity_Gym_Text_YujiIntro, ViridianCity_Gym_Text_YujiDefeat + msgbox ViridianCity_Gym_Text_YujiPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_16A01B:: @ 816A01B - trainerbattle_single TRAINER_COOLTRAINER_WARREN, Text_18F8CB, Text_18F8EE - msgbox gUnknown_818F8FE, MSGBOX_AUTOCLOSE +ViridianCity_Gym_EventScript_Warren:: @ 816A01B + trainerbattle_single TRAINER_COOLTRAINER_WARREN, ViridianCity_Gym_Text_WarrenIntro, ViridianCity_Gym_Text_WarrenDefeat + msgbox ViridianCity_Gym_Text_WarrenPostBattle, MSGBOX_AUTOCLOSE end -ViridianCity_Gym_EventScript_16A032:: @ 816A032 +ViridianCity_Gym_EventScript_GymGuy:: @ 816A032 lock faceplayer - goto_if_set FLAG_DEFEATED_LEADER_GIOVANNI, EventScript_16A047 - msgbox gUnknown_818FA81 + goto_if_set FLAG_DEFEATED_LEADER_GIOVANNI, ViridianCity_Gym_EventScript_GymGuyPostVictory + msgbox ViridianCity_Gym_Text_GymGuyAdvice release end -EventScript_16A047:: @ 816A047 +ViridianCity_Gym_EventScript_GymGuyPostVictory:: @ 816A047 famechecker FAMECHECKER_GIOVANNI, 4 - msgbox gUnknown_818FB56 + msgbox ViridianCity_Gym_Text_GymGuyPostVictory release end -ViridianCity_Gym_EventScript_16A05E:: @ 816A05E +ViridianCity_Gym_EventScript_GymStatue:: @ 816A05E lockall - goto_if_set FLAG_BADGE08_GET, EventScript_16A072 - msgbox gUnknown_818FB8D + goto_if_set FLAG_BADGE08_GET, ViridianCity_Gym_EventScript_GymStatuePostVictory + msgbox ViridianCity_Gym_Text_GymStatue releaseall end -EventScript_16A072:: @ 816A072 - msgbox gUnknown_818FBC1 +ViridianCity_Gym_EventScript_GymStatuePostVictory:: @ 816A072 + msgbox ViridianCity_Gym_Text_GymStatuePlayerWon releaseall end diff --git a/data/maps/ViridianCity_Gym/text.inc b/data/maps/ViridianCity_Gym/text.inc index 7372bd6d3..38561c011 100644 --- a/data/maps/ViridianCity_Gym/text.inc +++ b/data/maps/ViridianCity_Gym/text.inc @@ -1,4 +1,4 @@ -Text_18F352:: @ 818F352 +ViridianCity_Gym_Text_GiovanniIntro:: @ 818F352 .string "Fwahahaha!\n" .string "Welcome to my hideout!\p" .string "It shall be so until I can restore\n" @@ -9,14 +9,14 @@ Text_18F352:: @ 818F352 .string "Once more, you shall face\n" .string "GIOVANNI, the greatest TRAINER!{PLAY_BGM}{MUS_ROCKET}$" -Text_18F43F:: @ 818F43F +ViridianCity_Gym_Text_GiovanniDefeat:: @ 818F43F .string "Ha!\n" .string "That was a truly intense fight.\l" .string "You have won!\p" .string "As proof, here is the EARTHBADGE!\n" .string "{PAUSE_MUSIC}{PLAY_BGM}{MUS_ME_BACHI}{PAUSE 0xFE}{PAUSE 0x56}{RESUME_MUSIC}$" -gUnknown_818F4A2:: @ 818F4A2 +ViridianCity_Gym_Text_GiovanniPostBattle:: @ 818F4A2 .string "Having lost in this fashion, \n" .string "I can't face my followers.\l" .string "I have betrayed their trust.\p" @@ -27,7 +27,7 @@ gUnknown_818F4A2:: @ 818F4A2 .string "Let us meet again someday!\n" .string "Farewell!$" -gUnknown_818F586:: @ 818F586 +ViridianCity_Gym_Text_ExplainEarthBadgeTakeThis:: @ 818F586 .string "The EARTHBADGE makes POKéMON of\n" .string "any level obey without question.\p" .string "It is evidence of your mastery as\n" @@ -38,111 +38,111 @@ gUnknown_818F586:: @ 818F586 .string "Consider it a gift for your POKéMON\n" .string "LEAGUE challenge.$" -gUnknown_818F675:: @ 818F675 +ViridianCity_Gym_Text_ReceivedTM26FromGiovanni:: @ 818F675 .string "{PLAYER} received TM26\n" .string "from GIOVANNI.$" -gUnknown_818F695:: @ 818F695 +ViridianCity_Gym_Text_ExplainTM26:: @ 818F695 .string "TM26 contains EARTHQUAKE.\p" .string "It is a powerful attack that causes\n" .string "a massive tremor.\p" .string "I made it when I ran the GYM here,\n" .string "far too long ago… $" -gUnknown_818F71B:: @ 818F71B +ViridianCity_Gym_Text_YouDoNotHaveSpace:: @ 818F71B .string "You do not have space for this!$" -Text_18F73B:: @ 818F73B +ViridianCity_Gym_Text_YujiIntro:: @ 818F73B .string "Heh!\n" .string "You must be running out of steam\l" .string "by now!$" -Text_18F769:: @ 818F769 +ViridianCity_Gym_Text_YujiDefeat:: @ 818F769 .string "I ran out of gas!$" -gUnknown_818F77B:: @ 818F77B +ViridianCity_Gym_Text_YujiPostBattle:: @ 818F77B .string "You'll need power to keep up with\n" .string "our GYM LEADER.$" -Text_18F7AD:: @ 818F7AD +ViridianCity_Gym_Text_AtsushiIntro:: @ 818F7AD .string "Rrrroar!\n" .string "I'm working myself into a rage!$" -Text_18F7D6:: @ 818F7D6 +ViridianCity_Gym_Text_AtsushiDefeat:: @ 818F7D6 .string "Wargh!$" -gUnknown_818F7DD:: @ 818F7DD +ViridianCity_Gym_Text_AtsushiPostBattle:: @ 818F7DD .string "I'm still not worthy!$" -Text_18F7F3:: @ 818F7F3 +ViridianCity_Gym_Text_JasonIntro:: @ 818F7F3 .string "POKéMON and I, we make wonderful\n" .string "music together!$" -Text_18F824:: @ 818F824 +ViridianCity_Gym_Text_JasonDefeat:: @ 818F824 .string "You are in perfect harmony!$" -gUnknown_818F840:: @ 818F840 +ViridianCity_Gym_Text_JasonPostBattle:: @ 818F840 .string "Do you know the identity of our\n" .string "GYM LEADER?$" -Text_18F86C:: @ 818F86C +ViridianCity_Gym_Text_KiyoIntro:: @ 818F86C .string "Karate is the ultimate form of\n" .string "martial arts!$" -Text_18F899:: @ 818F899 +ViridianCity_Gym_Text_KiyoDefeat:: @ 818F899 .string "Aiyah!$" -gUnknown_818F8A0:: @ 818F8A0 +ViridianCity_Gym_Text_KiyoPostBattle:: @ 818F8A0 .string "If my POKéMON were as good at\n" .string "karate as I…$" -Text_18F8CB:: @ 818F8CB +ViridianCity_Gym_Text_WarrenIntro:: @ 818F8CB .string "The truly talented win with style.$" -Text_18F8EE:: @ 818F8EE +ViridianCity_Gym_Text_WarrenDefeat:: @ 818F8EE .string "I lost my grip!$" -gUnknown_818F8FE:: @ 818F8FE +ViridianCity_Gym_Text_WarrenPostBattle:: @ 818F8FE .string "The LEADER will scold me for\n" .string "losing this way…$" -Text_18F92C:: @ 818F92C +ViridianCity_Gym_Text_TakashiIntro:: @ 818F92C .string "I'm the KARATE KING!\n" .string "Your fate rests with me!$" -Text_18F95A:: @ 818F95A +ViridianCity_Gym_Text_TakashiDefeat:: @ 818F95A .string "Ayah!$" -gUnknown_818F960:: @ 818F960 +ViridianCity_Gym_Text_TakashiPostBattle:: @ 818F960 .string "The POKéMON LEAGUE?\n" .string "You? Don't get cocky!$" -Text_18F98A:: @ 818F98A +ViridianCity_Gym_Text_ColeIntro:: @ 818F98A .string "Your POKéMON will cower at the\n" .string "crack of my whip!$" -Text_18F9BB:: @ 818F9BB +ViridianCity_Gym_Text_ColeDefeat:: @ 818F9BB .string "Yowch!\n" .string "Whiplash!$" -gUnknown_818F9CC:: @ 818F9CC +ViridianCity_Gym_Text_ColePostBattle:: @ 818F9CC .string "Wait!\n" .string "I was just careless!$" -Text_18F9E7:: @ 818F9E7 +ViridianCity_Gym_Text_SamuelIntro:: @ 818F9E7 .string "VIRIDIAN GYM was closed for a\n" .string "long time.\p" .string "But now, our LEADER is back!$" -Text_18FA2D:: @ 818FA2D +ViridianCity_Gym_Text_SamuelDefeat:: @ 818FA2D .string "I was beaten?$" -gUnknown_818FA3B:: @ 818FA3B +ViridianCity_Gym_Text_SamuelPostBattle:: @ 818FA3B .string "You can go on to the POKéMON\n" .string "LEAGUE only by defeating our GYM\l" .string "LEADER!$" -gUnknown_818FA81:: @ 818FA81 +ViridianCity_Gym_Text_GymGuyAdvice:: @ 818FA81 .string "Yo!\n" .string "Champ in the making!\p" .string "Even I don't know the VIRIDIAN\n" @@ -153,17 +153,17 @@ gUnknown_818FA81:: @ 818FA81 .string "Also, I heard that the TRAINERS\n" .string "here like GROUND-type POKéMON.$" -gUnknown_818FB56:: @ 818FB56 +ViridianCity_Gym_Text_GymGuyPostVictory:: @ 818FB56 .string "Blow me away! GIOVANNI was the\n" .string "GYM LEADER of VIRIDIAN?$" -gUnknown_818FB8D:: @ 818FB8D +ViridianCity_Gym_Text_GymStatue:: @ 818FB8D .string "VIRIDIAN POKéMON GYM\n" .string "LEADER: ?\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}$" -gUnknown_818FBC1:: @ 818FBC1 +ViridianCity_Gym_Text_GymStatuePlayerWon:: @ 818FBC1 .string "VIRIDIAN POKéMON GYM\n" .string "LEADER: GIOVANNI\p" .string "WINNING TRAINERS:\n" diff --git a/data/maps/ViridianCity_House1/map.json b/data/maps/ViridianCity_House1/map.json index 1a960169e..167069bc6 100644 --- a/data/maps/ViridianCity_House1/map.json +++ b/data/maps/ViridianCity_House1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_House1_EventScript_169E9B", + "script": "ViridianCity_House1_EventScript_BaldingMan", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 2, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_House1_EventScript_169EA4", + "script": "ViridianCity_House1_EventScript_LittleGirl", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_House1_EventScript_169EAD", + "script": "ViridianCity_House1_EventScript_Speary", "flag": "0" } ], @@ -83,7 +83,7 @@ "x": 7, "y": 1, "elevation": 0, - "script": "ViridianCity_House1_EventScript_169EC0" + "script": "ViridianCity_House1_EventScript_NicknameSign" } ] } diff --git a/data/maps/ViridianCity_House1/scripts.inc b/data/maps/ViridianCity_House1/scripts.inc index 446035efe..0af4621cf 100644 --- a/data/maps/ViridianCity_House1/scripts.inc +++ b/data/maps/ViridianCity_House1/scripts.inc @@ -1,24 +1,24 @@ ViridianCity_House1_MapScripts:: @ 8169E9A .byte 0 -ViridianCity_House1_EventScript_169E9B:: @ 8169E9B - msgbox gUnknown_818F292, MSGBOX_NPC +ViridianCity_House1_EventScript_BaldingMan:: @ 8169E9B + msgbox ViridianCity_House1_Text_NicknamingIsFun, MSGBOX_NPC end -ViridianCity_House1_EventScript_169EA4:: @ 8169EA4 - msgbox gUnknown_818F30F, MSGBOX_NPC +ViridianCity_House1_EventScript_LittleGirl:: @ 8169EA4 + msgbox ViridianCity_House1_Text_MyDaddyLovesMonsToo, MSGBOX_NPC end -ViridianCity_House1_EventScript_169EAD:: @ 8169EAD +ViridianCity_House1_EventScript_Speary:: @ 8169EAD lock faceplayer waitse playmoncry SPECIES_SPEAROW, 0 - msgbox gUnknown_818F32C + msgbox ViridianCity_House1_Text_Speary waitmoncry release end -ViridianCity_House1_EventScript_169EC0:: @ 8169EC0 - msgbox gUnknown_818F33D, MSGBOX_SIGN +ViridianCity_House1_EventScript_NicknameSign:: @ 8169EC0 + msgbox ViridianCity_House1_Text_SpearowNameSpeary, MSGBOX_SIGN end diff --git a/data/maps/ViridianCity_House1/text.inc b/data/maps/ViridianCity_House1/text.inc index c1ec37238..15b066efa 100644 --- a/data/maps/ViridianCity_House1/text.inc +++ b/data/maps/ViridianCity_House1/text.inc @@ -1,16 +1,16 @@ -gUnknown_818F292:: @ 818F292 +ViridianCity_House1_Text_NicknamingIsFun:: @ 818F292 .string "Coming up with nicknames is fun,\n" .string "but it's not so easy to do.\p" .string "Clever names are nice, but simple\n" .string "names are easier to remember.$" -gUnknown_818F30F:: @ 818F30F +ViridianCity_House1_Text_MyDaddyLovesMonsToo:: @ 818F30F .string "My daddy loves POKéMON, too.$" -gUnknown_818F32C:: @ 818F32C +ViridianCity_House1_Text_Speary:: @ 818F32C .string "SPEARY: Tetweet!$" -gUnknown_818F33D:: @ 818F33D +ViridianCity_House1_Text_SpearowNameSpeary:: @ 818F33D .string "SPEAROW\n" .string "Name: SPEARY$" diff --git a/data/maps/ViridianCity_House2/map.json b/data/maps/ViridianCity_House2/map.json index 5190a5d28..dc80606ec 100644 --- a/data/maps/ViridianCity_House2/map.json +++ b/data/maps/ViridianCity_House2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_House2_EventScript_16A094", + "script": "ViridianCity_House2_EventScript_Woman", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_House2_EventScript_16A07D", + "script": "ViridianCity_House2_EventScript_Lass", "flag": "0" } ], @@ -70,35 +70,35 @@ "x": 4, "y": 4, "elevation": 0, - "script": "ViridianCity_House2_EventScript_16A0AB" + "script": "ViridianCity_House2_EventScript_Notebook" }, { "type": "bg_event_type_0", "x": 5, "y": 1, "elevation": 0, - "script": "ViridianCity_House2_EventScript_16A11D" + "script": "ViridianCity_House2_EventScript_Blackboard" }, { "type": "bg_event_type_0", "x": 4, "y": 1, "elevation": 0, - "script": "ViridianCity_House2_EventScript_16A11D" + "script": "ViridianCity_House2_EventScript_Blackboard" }, { "type": "bg_event_type_1", "x": 9, "y": 2, "elevation": 0, - "script": "ViridianCity_House2_EventScript_1ACD65" + "script": "ViridianCity_House2_EventScript_PokemonJournal" }, { "type": "bg_event_type_1", "x": 8, "y": 2, "elevation": 0, - "script": "ViridianCity_House2_EventScript_1ACD65" + "script": "ViridianCity_House2_EventScript_PokemonJournal" } ] } diff --git a/data/maps/ViridianCity_House2/scripts.inc b/data/maps/ViridianCity_House2/scripts.inc index 6a0845622..0c08b447d 100644 --- a/data/maps/ViridianCity_House2/scripts.inc +++ b/data/maps/ViridianCity_House2/scripts.inc @@ -1,97 +1,97 @@ ViridianCity_House2_MapScripts:: @ 816A07C .byte 0 -ViridianCity_House2_EventScript_16A07D:: @ 816A07D +ViridianCity_House2_EventScript_Lass:: @ 816A07D lock faceplayer - msgbox gUnknown_818FC00 + msgbox ViridianCity_House2_Text_TryingToMemorizeNotes closemessage applymovement 2, Movement_WalkInPlaceFastestUp waitmovement 0 release end -ViridianCity_House2_EventScript_16A094:: @ 816A094 +ViridianCity_House2_EventScript_Woman:: @ 816A094 lock faceplayer - msgbox gUnknown_818FC2B + msgbox ViridianCity_House2_Text_ReadBlackboardCarefully closemessage applymovement 1, Movement_FaceOriginalDirection waitmovement 0 release end -ViridianCity_House2_EventScript_16A0AB:: @ 816A0AB +ViridianCity_House2_EventScript_Notebook:: @ 816A0AB lockall - msgbox gUnknown_818FC65 - msgbox gUnknown_818FF19, MSGBOX_YESNO + msgbox ViridianCity_House2_Text_NotebookFirstPage + msgbox ViridianCity_House2_Text_TurnThePage, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16A11B - msgbox gUnknown_818FD23 - msgbox gUnknown_818FF19, MSGBOX_YESNO + goto_if_eq ViridianCity_House2_EventScript_StopReadingNotebook + msgbox ViridianCity_House2_Text_NotebookSecondPage + msgbox ViridianCity_House2_Text_TurnThePage, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16A11B - msgbox gUnknown_818FDA8 - msgbox gUnknown_818FF19, MSGBOX_YESNO + goto_if_eq ViridianCity_House2_EventScript_StopReadingNotebook + msgbox ViridianCity_House2_Text_NotebookThirdPage + msgbox ViridianCity_House2_Text_TurnThePage, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16A11B - msgbox gUnknown_818FE5C + goto_if_eq ViridianCity_House2_EventScript_StopReadingNotebook + msgbox ViridianCity_House2_Text_NotebookFourthPage applymovement 2, Movement_WalkInPlaceFastestUp waitmovement 0 textcolor 1 - msgbox gUnknown_818FF28 + msgbox ViridianCity_House2_Text_HeyDontLookAtMyNotes releaseall end -EventScript_16A11B:: @ 816A11B +ViridianCity_House2_EventScript_StopReadingNotebook:: @ 816A11B releaseall end -ViridianCity_House2_EventScript_16A11D:: @ 816A11D +ViridianCity_House2_EventScript_Blackboard:: @ 816A11D lockall - msgbox gUnknown_818FF4B - goto EventScript_16A12C + msgbox ViridianCity_House2_Text_BlackboardListsStatusProblems + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A12C:: @ 816A12C - message Text_18FF88 +ViridianCity_House2_EventScript_ChooseBlackboardTopic:: @ 816A12C + message ViridianCity_House2_Text_ReadWhichTopic waitmessage multichoicegrid 7, 1, MULTICHOICE_TRAINER_SCHOOL_WHITEBOARD, 3, FALSE switch VAR_RESULT - case 0, EventScript_16A18B - case 1, EventScript_16A1A7 - case 2, EventScript_16A1C3 - case 3, EventScript_16A199 - case 4, EventScript_16A1B5 - case 5, EventScript_16A1D1 - case 127, EventScript_16A1D1 + case 0, ViridianCity_House2_EventScript_ReadSleep + case 1, ViridianCity_House2_EventScript_ReadPoison + case 2, ViridianCity_House2_EventScript_ReadParalysis + case 3, ViridianCity_House2_EventScript_ReadBurn + case 4, ViridianCity_House2_EventScript_ReadFreeze + case 5, ViridianCity_House2_EventScript_ExitBlackboard + case 127, ViridianCity_House2_EventScript_ExitBlackboard end -EventScript_16A18B:: @ 816A18B - msgbox gUnknown_818FFA9 - goto EventScript_16A12C +ViridianCity_House2_EventScript_ReadSleep:: @ 816A18B + msgbox ViridianCity_House2_Text_ExplainSleep + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A199:: @ 816A199 - msgbox gUnknown_8190025 - goto EventScript_16A12C +ViridianCity_House2_EventScript_ReadBurn:: @ 816A199 + msgbox ViridianCity_House2_Text_ExplainBurn + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A1A7:: @ 816A1A7 - msgbox gUnknown_819009F - goto EventScript_16A12C +ViridianCity_House2_EventScript_ReadPoison:: @ 816A1A7 + msgbox ViridianCity_House2_Text_ExplainPoison + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A1B5:: @ 816A1B5 - msgbox gUnknown_819010F - goto EventScript_16A12C +ViridianCity_House2_EventScript_ReadFreeze:: @ 816A1B5 + msgbox ViridianCity_House2_Text_ExplainFreeze + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A1C3:: @ 816A1C3 - msgbox gUnknown_8190199 - goto EventScript_16A12C +ViridianCity_House2_EventScript_ReadParalysis:: @ 816A1C3 + msgbox ViridianCity_House2_Text_ExplainParalysis + goto ViridianCity_House2_EventScript_ChooseBlackboardTopic end -EventScript_16A1D1:: @ 816A1D1 +ViridianCity_House2_EventScript_ExitBlackboard:: @ 816A1D1 releaseall end diff --git a/data/maps/ViridianCity_House2/text.inc b/data/maps/ViridianCity_House2/text.inc index a575c0f34..176bb713a 100644 --- a/data/maps/ViridianCity_House2/text.inc +++ b/data/maps/ViridianCity_House2/text.inc @@ -1,13 +1,13 @@ -gUnknown_818FC00:: @ 818FC00 +ViridianCity_House2_Text_TryingToMemorizeNotes:: @ 818FC00 .string "Whew! I'm trying to memorize all my\n" .string "notes.$" -gUnknown_818FC2B:: @ 818FC2B +ViridianCity_House2_Text_ReadBlackboardCarefully:: @ 818FC2B .string "Okay!\p" .string "Be sure to read what's on the\n" .string "blackboard carefully!$" -gUnknown_818FC65:: @ 818FC65 +ViridianCity_House2_Text_NotebookFirstPage:: @ 818FC65 .string "Let's check out the notebook.\p" .string "First page…\p" .string "POKé BALLS are used to catch\n" @@ -17,14 +17,14 @@ gUnknown_818FC65:: @ 818FC65 .string "People who raise and battle\n" .string "with POKéMON are called TRAINERS.$" -gUnknown_818FD23:: @ 818FD23 +ViridianCity_House2_Text_NotebookSecondPage:: @ 818FD23 .string "Second page…\p" .string "A healthy POKéMON may be hard to\n" .string "catch, so weaken it first.\p" .string "Poison, burn, or cause another\n" .string "status problem to weaken it.$" -gUnknown_818FDA8:: @ 818FDA8 +ViridianCity_House2_Text_NotebookThirdPage:: @ 818FDA8 .string "Third page…\p" .string "POKéMON TRAINERS seek others to\n" .string "engage in POKéMON battles.\p" @@ -33,7 +33,7 @@ gUnknown_818FDA8:: @ 818FDA8 .string "Battles are constantly waged at\n" .string "POKéMON GYMS everywhere.$" -gUnknown_818FE5C:: @ 818FE5C +ViridianCity_House2_Text_NotebookFourthPage:: @ 818FE5C .string "Fourth page…\p" .string "The ultimate goal for all POKéMON\n" .string "TRAINERS is simple.\p" @@ -43,21 +43,21 @@ gUnknown_818FE5C:: @ 818FE5C .string "The ELITE FOUR of the POKéMON\n" .string "LEAGUE!$" -gUnknown_818FF19:: @ 818FF19 +ViridianCity_House2_Text_TurnThePage:: @ 818FF19 .string "Turn the page?$" -gUnknown_818FF28:: @ 818FF28 +ViridianCity_House2_Text_HeyDontLookAtMyNotes:: @ 818FF28 .string "GIRL: Hey!\n" .string "Don't look at my notes!$" -gUnknown_818FF4B:: @ 818FF4B +ViridianCity_House2_Text_BlackboardListsStatusProblems:: @ 818FF4B .string "The blackboard lists POKéMON\n" .string "STATUS problems during battles.$" -Text_18FF88:: @ 818FF88 +ViridianCity_House2_Text_ReadWhichTopic:: @ 818FF88 .string "Which topic do you want to read?$" -gUnknown_818FFA9:: @ 818FFA9 +ViridianCity_House2_Text_ExplainSleep:: @ 818FFA9 .string "A POKéMON can't attack if it's\n" .string "asleep.\p" .string "POKéMON will stay asleep even\n" @@ -65,19 +65,19 @@ gUnknown_818FFA9:: @ 818FFA9 .string "Use AWAKENING to awaken one\n" .string "from sleep.$" -gUnknown_8190025:: @ 8190025 +ViridianCity_House2_Text_ExplainBurn:: @ 8190025 .string "A burn reduces ATTACK power.\n" .string "It also causes ongoing HP loss.\p" .string "A burn remains after a battle.\n" .string "Use BURN HEAL to cure a burn.$" -gUnknown_819009F:: @ 819009F +ViridianCity_House2_Text_ExplainPoison:: @ 819009F .string "When poisoned, a POKéMON's health\n" .string "steadily drops.\p" .string "Poison lingers after battles.\n" .string "Use an ANTIDOTE to cure poison!$" -gUnknown_819010F:: @ 819010F +ViridianCity_House2_Text_ExplainFreeze:: @ 819010F .string "A frozen POKéMON becomes\n" .string "helplessly immobile.\p" .string "It stays frozen even after the\n" @@ -85,7 +85,7 @@ gUnknown_819010F:: @ 819010F .string "Use ICE HEAL to thaw out the\n" .string "suffering POKéMON.$" -gUnknown_8190199:: @ 8190199 +ViridianCity_House2_Text_ExplainParalysis:: @ 8190199 .string "Paralysis reduces SPEED and may\n" .string "prevent the POKéMON from moving.\p" .string "Paralysis remains after battles.\n" diff --git a/data/maps/ViridianCity_Mart/map.json b/data/maps/ViridianCity_Mart/map.json index 09f58a9d5..5a4ae7bc0 100644 --- a/data/maps/ViridianCity_Mart/map.json +++ b/data/maps/ViridianCity_Mart/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_Mart_EventScript_16A268", + "script": "ViridianCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_Mart_EventScript_16A2B7", + "script": "ViridianCity_Mart_EventScript_Youngster", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_Mart_EventScript_16A2AE", + "script": "ViridianCity_Mart_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/ViridianCity_Mart/scripts.inc b/data/maps/ViridianCity_Mart/scripts.inc index 1f66937cf..5ad0d9a2f 100644 --- a/data/maps/ViridianCity_Mart/scripts.inc +++ b/data/maps/ViridianCity_Mart/scripts.inc @@ -4,36 +4,36 @@ ViridianCity_Mart_MapScripts:: @ 816A1D3 .byte 0 ViridianCity_Mart_OnLoad:: @ 816A1DE - goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_16A1E8 + goto_if_unset FLAG_SYS_POKEDEX_GET, ViridianCity_Mart_EventScript_HideQuestionnaire end -EventScript_16A1E8:: @ 816A1E8 - setmetatile 1, 3, 703, 1 - setmetatile 1, 4, 704, 1 +ViridianCity_Mart_EventScript_HideQuestionnaire:: @ 816A1E8 + setmetatile 1, 3, METATILE_Shop_CounterMid_Top, 1 + setmetatile 1, 4, METATILE_Shop_CounterMid_Bottom, 1 end ViridianCity_Mart_OnFrame:: @ 816A1FB - map_script_2 VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 0, EventScript_16A205 + map_script_2 VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 0, ViridianCity_Mart_EventScript_ParcelScene .2byte 0 -EventScript_16A205:: @ 816A205 +ViridianCity_Mart_EventScript_ParcelScene:: @ 816A205 lockall textcolor 0 applymovement 1, Movement_WalkInPlaceFastestDown waitmovement 0 - msgbox gUnknown_819021A + msgbox ViridianCity_Mart_Text_YouCameFromPallet closemessage - applymovement 1, Movement_16A262 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16A25C + applymovement 1, ViridianCity_Mart_Movement_FacePlayer + applymovement OBJ_EVENT_ID_PLAYER, ViridianCity_Mart_Movement_ApproachCounter waitmovement 0 - msgbox gUnknown_819023A + msgbox ViridianCity_Mart_Text_TakeThisToProfOak setvar VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 1 - giveitem_msg gUnknown_8190289, ITEM_OAKS_PARCEL, 1, MUS_FAN5 + giveitem_msg ViridianCity_Mart_Text_ReceivedOaksParcelFromClerk, ITEM_OAKS_PARCEL, 1, MUS_FAN5 setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 5 releaseall end -Movement_16A25C:: @ 816A25C +ViridianCity_Mart_Movement_ApproachCounter:: @ 816A25C walk_up walk_up walk_up @@ -41,7 +41,7 @@ Movement_16A25C:: @ 816A25C walk_in_place_fastest_left step_end -Movement_16A262:: @ 816A262 +ViridianCity_Mart_Movement_FacePlayer:: @ 816A262 delay_16 delay_16 delay_16 @@ -49,21 +49,21 @@ Movement_16A262:: @ 816A262 walk_in_place_fastest_right step_end -ViridianCity_Mart_EventScript_16A268:: @ 816A268 +ViridianCity_Mart_EventScript_Clerk:: @ 816A268 lock faceplayer compare VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 1 - goto_if_eq EventScript_16A2A4 + goto_if_eq ViridianCity_Mart_EventScript_SayHiToOak goto_if_questlog EventScript_ReleaseEnd message Text_MayIHelpYou waitmessage - pokemart Items_16A298 + pokemart ViridianCity_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16A298:: @ 816A298 +ViridianCity_Mart_Items:: @ 816A298 .2byte ITEM_POKE_BALL .2byte ITEM_POTION .2byte ITEM_ANTIDOTE @@ -72,15 +72,15 @@ Items_16A298:: @ 816A298 release end -EventScript_16A2A4:: @ 816A2A4 - msgbox Text_1902BF +ViridianCity_Mart_EventScript_SayHiToOak:: @ 816A2A4 + msgbox ViridianCity_Mart_Text_SayHiToOakForMe release end -ViridianCity_Mart_EventScript_16A2AE:: @ 816A2AE - msgbox gUnknown_81902F5, MSGBOX_NPC +ViridianCity_Mart_EventScript_Woman:: @ 816A2AE + msgbox ViridianCity_Mart_Text_ShopDoesGoodBusinessInAntidotes, MSGBOX_NPC end -ViridianCity_Mart_EventScript_16A2B7:: @ 816A2B7 - msgbox gUnknown_819032C, MSGBOX_NPC +ViridianCity_Mart_EventScript_Youngster:: @ 816A2B7 + msgbox ViridianCity_Mart_Text_GotToBuySomePotions, MSGBOX_NPC end diff --git a/data/maps/ViridianCity_Mart/text.inc b/data/maps/ViridianCity_Mart/text.inc index a610e83cd..c54f4220a 100644 --- a/data/maps/ViridianCity_Mart/text.inc +++ b/data/maps/ViridianCity_Mart/text.inc @@ -1,25 +1,25 @@ -gUnknown_819021A:: @ 819021A +ViridianCity_Mart_Text_YouCameFromPallet:: @ 819021A .string "Hey!\n" .string "You came from PALLET TOWN?$" -gUnknown_819023A:: @ 819023A +ViridianCity_Mart_Text_TakeThisToProfOak:: @ 819023A .string "You know PROF. OAK, right?\p" .string "His order came in.\n" .string "Can I get you to take it to him?$" -gUnknown_8190289:: @ 8190289 +ViridianCity_Mart_Text_ReceivedOaksParcelFromClerk:: @ 8190289 .string "{PLAYER} received OAK'S PARCEL\n" .string "from the POKéMON MART clerk.$" -Text_1902BF:: @ 81902BF +ViridianCity_Mart_Text_SayHiToOakForMe:: @ 81902BF .string "Okay, thanks! Please say hi to\n" .string "PROF. OAK for me, too.$" -gUnknown_81902F5:: @ 81902F5 +ViridianCity_Mart_Text_ShopDoesGoodBusinessInAntidotes:: @ 81902F5 .string "This shop does good business in\n" .string "ANTIDOTES, I've heard.$" -gUnknown_819032C:: @ 819032C +ViridianCity_Mart_Text_GotToBuySomePotions:: @ 819032C .string "I've got to buy some POTIONS.\p" .string "You never know when your POKéMON\n" .string "will need quick healing.$" diff --git a/data/maps/ViridianCity_PokemonCenter_1F/map.json b/data/maps/ViridianCity_PokemonCenter_1F/map.json index 3e5822608..c531d4b59 100644 --- a/data/maps/ViridianCity_PokemonCenter_1F/map.json +++ b/data/maps/ViridianCity_PokemonCenter_1F/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_PokemonCenter_1F_EventScript_16A2CF", + "script": "ViridianCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_PokemonCenter_1F_EventScript_16A2E1", + "script": "ViridianCity_PokemonCenter_1F_EventScript_Gentleman", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_PokemonCenter_1F_EventScript_16A2D8", + "script": "ViridianCity_PokemonCenter_1F_EventScript_Boy", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianCity_PokemonCenter_1F_EventScript_16A2EA", + "script": "ViridianCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/ViridianCity_PokemonCenter_1F/scripts.inc b/data/maps/ViridianCity_PokemonCenter_1F/scripts.inc index 43e74ef4c..ca02e1113 100644 --- a/data/maps/ViridianCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/ViridianCity_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ ViridianCity_PokemonCenter_1F_OnTransition:: @ 816A2CB setrespawn SPAWN_VIRIDIAN_CITY end -ViridianCity_PokemonCenter_1F_EventScript_16A2CF:: @ 816A2CF +ViridianCity_PokemonCenter_1F_EventScript_Nurse:: @ 816A2CF lock faceplayer call EventScript_PkmnCenterNurse release end -ViridianCity_PokemonCenter_1F_EventScript_16A2D8:: @ 816A2D8 - msgbox gUnknown_81903E5, MSGBOX_NPC +ViridianCity_PokemonCenter_1F_EventScript_Boy:: @ 816A2D8 + msgbox ViridianCity_PokemonCenter_1F_Text_PokeCenterInEveryTown, MSGBOX_NPC end -ViridianCity_PokemonCenter_1F_EventScript_16A2E1:: @ 816A2E1 - msgbox gUnknown_8190384, MSGBOX_NPC +ViridianCity_PokemonCenter_1F_EventScript_Gentleman:: @ 816A2E1 + msgbox ViridianCity_PokemonCenter_1F_Text_FeelFreeToUsePC, MSGBOX_NPC end -ViridianCity_PokemonCenter_1F_EventScript_16A2EA:: @ 816A2EA - msgbox gUnknown_8190450, MSGBOX_NPC +ViridianCity_PokemonCenter_1F_EventScript_Youngster:: @ 816A2EA + msgbox ViridianCity_PokemonCenter_1F_Text_PokeCentersHealMons, MSGBOX_NPC end diff --git a/data/maps/ViridianCity_PokemonCenter_1F/text.inc b/data/maps/ViridianCity_PokemonCenter_1F/text.inc index 18b535a45..f0e636704 100644 --- a/data/maps/ViridianCity_PokemonCenter_1F/text.inc +++ b/data/maps/ViridianCity_PokemonCenter_1F/text.inc @@ -1,16 +1,16 @@ -gUnknown_8190384:: @ 8190384 +ViridianCity_PokemonCenter_1F_Text_FeelFreeToUsePC:: @ 8190384 .string "Please feel free to use that PC in\n" .string "the corner.\p" .string "The receptionist told me so.\n" .string "It's so kind of her!$" -gUnknown_81903E5:: @ 81903E5 +ViridianCity_PokemonCenter_1F_Text_PokeCenterInEveryTown:: @ 81903E5 .string "There's a POKéMON CENTER in every\n" .string "town ahead.\p" .string "They charge no money, so don't\n" .string "be shy about healing POKéMON.$" -gUnknown_8190450:: @ 8190450 +ViridianCity_PokemonCenter_1F_Text_PokeCentersHealMons:: @ 8190450 .string "POKéMON CENTERS heal your tired,\n" .string "hurt, or fainted POKéMON.\p" .string "They make all POKéMON completely\n" diff --git a/data/maps/ViridianForest/map.json b/data/maps/ViridianForest/map.json index 90f689a9f..463bc53f5 100644 --- a/data/maps/ViridianForest/map.json +++ b/data/maps/ViridianForest/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianForest_EventScript_160529", + "script": "ViridianForest_EventScript_Youngster", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "ViridianForest_EventScript_160532", + "script": "ViridianForest_EventScript_Boy", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "ViridianForest_EventScript_160571", + "script": "ViridianForest_EventScript_Rick", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "ViridianForest_EventScript_160588", + "script": "ViridianForest_EventScript_Doug", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "ViridianForest_EventScript_16059F", + "script": "ViridianForest_EventScript_Sammy", "flag": "0" }, { @@ -127,7 +127,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ViridianForest_EventScript_1605B6", + "script": "ViridianForest_EventScript_Anthony", "flag": "0" }, { @@ -140,7 +140,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "ViridianForest_EventScript_1605CD", + "script": "ViridianForest_EventScript_Charlie", "flag": "0" }, { @@ -208,42 +208,42 @@ "x": 39, "y": 59, "elevation": 3, - "script": "ViridianForest_EventScript_16053B" + "script": "ViridianForest_EventScript_TrainerTips1" }, { "type": "bg_event_type_0", "x": 43, "y": 26, "elevation": 0, - "script": "ViridianForest_EventScript_16054D" + "script": "ViridianForest_EventScript_TrainerTips3" }, { "type": "bg_event_type_0", "x": 9, "y": 29, "elevation": 0, - "script": "ViridianForest_EventScript_160556" + "script": "ViridianForest_EventScript_TrainerTips4" }, { "type": "bg_event_type_0", "x": 6, "y": 12, "elevation": 0, - "script": "ViridianForest_EventScript_160568" + "script": "ViridianForest_EventScript_ExitSign" }, { "type": "bg_event_type_0", "x": 28, "y": 44, "elevation": 0, - "script": "ViridianForest_EventScript_160544" + "script": "ViridianForest_EventScript_TrainerTips2" }, { "type": "bg_event_type_0", "x": 31, "y": 60, "elevation": 0, - "script": "ViridianForest_EventScript_16055F" + "script": "ViridianForest_EventScript_TrainerTips5" }, { "type": "hidden_item", diff --git a/data/maps/ViridianForest/scripts.inc b/data/maps/ViridianForest/scripts.inc index 6fb97d075..a54fa1377 100644 --- a/data/maps/ViridianForest/scripts.inc +++ b/data/maps/ViridianForest/scripts.inc @@ -6,59 +6,59 @@ ViridianForest_OnTransition:: @ 8160525 setworldmapflag FLAG_WORLD_MAP_VIRIDIAN_FOREST end -ViridianForest_EventScript_160529:: @ 8160529 - msgbox gUnknown_8172255, MSGBOX_NPC +ViridianForest_EventScript_Youngster:: @ 8160529 + msgbox ViridianForest_Text_FriendsItchingToBattle, MSGBOX_NPC end -ViridianForest_EventScript_160532:: @ 8160532 - msgbox gUnknown_8172559, MSGBOX_NPC +ViridianForest_EventScript_Boy:: @ 8160532 + msgbox ViridianForest_Text_RanOutOfPokeBalls, MSGBOX_NPC end -ViridianForest_EventScript_16053B:: @ 816053B - msgbox gUnknown_81725C7, MSGBOX_SIGN +ViridianForest_EventScript_TrainerTips1:: @ 816053B + msgbox ViridianForest_Text_AvoidGrassyAreasWhenWeak, MSGBOX_SIGN end -ViridianForest_EventScript_160544:: @ 8160544 - msgbox gUnknown_8172629, MSGBOX_SIGN +ViridianForest_EventScript_TrainerTips2:: @ 8160544 + msgbox ViridianForest_Text_UseAntidoteForPoison, MSGBOX_SIGN end -ViridianForest_EventScript_16054D:: @ 816054D - msgbox gUnknown_817265C, MSGBOX_SIGN +ViridianForest_EventScript_TrainerTips3:: @ 816054D + msgbox ViridianForest_Text_ContactOakViaPCToRatePokedex, MSGBOX_SIGN end -ViridianForest_EventScript_160556:: @ 8160556 - msgbox gUnknown_81726A3, MSGBOX_SIGN +ViridianForest_EventScript_TrainerTips4:: @ 8160556 + msgbox ViridianForest_Text_CantCatchOwnedMons, MSGBOX_SIGN end -ViridianForest_EventScript_16055F:: @ 816055F - msgbox gUnknown_817271D, MSGBOX_SIGN +ViridianForest_EventScript_TrainerTips5:: @ 816055F + msgbox ViridianForest_Text_WeakenMonsBeforeCapture, MSGBOX_SIGN end -ViridianForest_EventScript_160568:: @ 8160568 - msgbox gUnknown_8172773, MSGBOX_SIGN +ViridianForest_EventScript_ExitSign:: @ 8160568 + msgbox ViridianForest_Text_LeavingViridianForest, MSGBOX_SIGN end -ViridianForest_EventScript_160571:: @ 8160571 - trainerbattle_single TRAINER_BUG_CATCHER_RICK, Text_1722C7, Text_1722F9 - msgbox gUnknown_8172315, MSGBOX_AUTOCLOSE +ViridianForest_EventScript_Rick:: @ 8160571 + trainerbattle_single TRAINER_BUG_CATCHER_RICK, ViridianForest_Text_RickIntro, ViridianForest_Text_RickDefeat + msgbox ViridianForest_Text_RickPostBattle, MSGBOX_AUTOCLOSE end -ViridianForest_EventScript_160588:: @ 8160588 - trainerbattle_single TRAINER_BUG_CATCHER_DOUG, Text_17234A, Text_17237D - msgbox gUnknown_8172398, MSGBOX_AUTOCLOSE +ViridianForest_EventScript_Doug:: @ 8160588 + trainerbattle_single TRAINER_BUG_CATCHER_DOUG, ViridianForest_Text_DougIntro, ViridianForest_Text_DougDefeat + msgbox ViridianForest_Text_DougPostBattle, MSGBOX_AUTOCLOSE end -ViridianForest_EventScript_16059F:: @ 816059F - trainerbattle_single TRAINER_BUG_CATCHER_SAMMY, Text_1723D4, Text_172402 - msgbox gUnknown_817241F, MSGBOX_AUTOCLOSE +ViridianForest_EventScript_Sammy:: @ 816059F + trainerbattle_single TRAINER_BUG_CATCHER_SAMMY, ViridianForest_Text_SammyIntro, ViridianForest_Text_SammyDefeat + msgbox ViridianForest_Text_SammyPostBattle, MSGBOX_AUTOCLOSE end -ViridianForest_EventScript_1605B6:: @ 81605B6 - trainerbattle_single TRAINER_BUG_CATCHER_ANTHONY, Text_172482, Text_1724BF - msgbox gUnknown_81724DC, MSGBOX_AUTOCLOSE +ViridianForest_EventScript_Anthony:: @ 81605B6 + trainerbattle_single TRAINER_BUG_CATCHER_ANTHONY, ViridianForest_Text_AnthonyIntro, ViridianForest_Text_AnthonyDefeat + msgbox ViridianForest_Text_AnthonyPostBattle, MSGBOX_AUTOCLOSE end -ViridianForest_EventScript_1605CD:: @ 81605CD - trainerbattle_single TRAINER_BUG_CATCHER_CHARLIE, Text_1724F9, Text_17251B - msgbox gUnknown_8172527, MSGBOX_AUTOCLOSE +ViridianForest_EventScript_Charlie:: @ 81605CD + trainerbattle_single TRAINER_BUG_CATCHER_CHARLIE, ViridianForest_Text_CharlieIntro, ViridianForest_Text_CharlieDefeat + msgbox ViridianForest_Text_CharliePostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/ViridianForest/text.inc b/data/maps/ViridianForest/text.inc index e3dc737a2..226d9f905 100644 --- a/data/maps/ViridianForest/text.inc +++ b/data/maps/ViridianForest/text.inc @@ -1,105 +1,105 @@ -gUnknown_8172255:: @ 8172255 +ViridianForest_Text_FriendsItchingToBattle:: @ 8172255 .string "I came here with some friends to\n" .string "catch us some BUG POKéMON!\p" .string "They're all itching to get into\n" .string "some POKéMON battles!$" -Text_1722C7:: @ 81722C7 +ViridianForest_Text_RickIntro:: @ 81722C7 .string "Hey! You have POKéMON!\n" .string "Come on!\l" .string "Let's battle 'em!$" -Text_1722F9:: @ 81722F9 +ViridianForest_Text_RickDefeat:: @ 81722F9 .string "No!\nCATERPIE can't hack it!$" -gUnknown_8172315:: @ 8172315 +ViridianForest_Text_RickPostBattle:: @ 8172315 .string "Ssh! You'll scare the bugs away.\n" .string "Another time, okay?$" -Text_17234A:: @ 817234A +ViridianForest_Text_DougIntro:: @ 817234A .string "Yo!\n" .string "You can't jam out if you're a\l" .string "POKéMON TRAINER!$" -Text_17237D:: @ 817237D +ViridianForest_Text_DougDefeat:: @ 817237D .string "Huh?\n" .string "I ran out of POKéMON!$" -gUnknown_8172398:: @ 8172398 +ViridianForest_Text_DougPostBattle:: @ 8172398 .string "That totally stinks! I'm going to\n" .string "catch some stronger ones!$" -Text_1723D4:: @ 81723D4 +ViridianForest_Text_SammyIntro:: @ 81723D4 .string "Hey, wait up!\n" .string "What's the hurry? Why the rush?$" -Text_172402:: @ 8172402 +ViridianForest_Text_SammyDefeat:: @ 8172402 .string "I give!\n" .string "You're good at this!$" -gUnknown_817241F:: @ 817241F +ViridianForest_Text_SammyPostBattle:: @ 817241F .string "Sometimes, you can find stuff on\n" .string "the ground.\p" .string "I'm looking for the stuff I\n" .string "dropped. Can you help me?$" -Text_172482:: @ 8172482 +ViridianForest_Text_AnthonyIntro:: @ 8172482 .string "I might be little, but I won't like\n" .string "it if you go easy on me!$" -Text_1724BF:: @ 81724BF +ViridianForest_Text_AnthonyDefeat:: @ 81724BF .string "Oh, boo.\n" .string "Nothing went right.$" -gUnknown_81724DC:: @ 81724DC +ViridianForest_Text_AnthonyPostBattle:: @ 81724DC .string "I lost some of my allowance…$" -Text_1724F9:: @ 81724F9 +ViridianForest_Text_CharlieIntro:: @ 81724F9 .string "Did you know that POKéMON evolve?$" -Text_17251B:: @ 817251B +ViridianForest_Text_CharlieDefeat:: @ 817251B .string "Oh!\n" .string "I lost!$" -gUnknown_8172527:: @ 8172527 +ViridianForest_Text_CharliePostBattle:: @ 8172527 .string "BUG POKéMON evolve quickly.\n" .string "They're a lot of fun!$" -gUnknown_8172559:: @ 8172559 +ViridianForest_Text_RanOutOfPokeBalls:: @ 8172559 .string "I was throwing POKé BALLS to\n" .string "catch POKéMON, and I ran out.\p" .string "That's why you can never have too\n" .string "many POKé BALLS.$" -gUnknown_81725C7:: @ 81725C7 +ViridianForest_Text_AvoidGrassyAreasWhenWeak:: @ 81725C7 .string "TRAINER TIPS\p" .string "If your POKéMON are weak and you\n" .string "want to avoid battles, stay away\l" .string "from grassy areas!$" -gUnknown_8172629:: @ 8172629 +ViridianForest_Text_UseAntidoteForPoison:: @ 8172629 .string "For poison, use ANTIDOTE!\n" .string "Get it at POKéMON MARTS!$" -gUnknown_817265C:: @ 817265C +ViridianForest_Text_ContactOakViaPCToRatePokedex:: @ 817265C .string "TRAINER TIPS\p" .string "Contact PROF. OAK via a PC to\n" .string "get your POKéDEX evaluated!$" -gUnknown_81726A3:: @ 81726A3 +ViridianForest_Text_CantCatchOwnedMons:: @ 81726A3 .string "TRAINER TIPS\p" .string "You can't catch a POKéMON that\n" .string "belongs to someone else.\p" .string "Throw POKé BALLS only at wild\n" .string "POKéMON to catch them!$" -gUnknown_817271D:: @ 817271D +ViridianForest_Text_WeakenMonsBeforeCapture:: @ 817271D .string "TRAINER TIPS\p" .string "Weaken POKéMON before attempting\n" .string "capture!\p" .string "When healthy, they may escape!$" -gUnknown_8172773:: @ 8172773 +ViridianForest_Text_LeavingViridianForest:: @ 8172773 .string "LEAVING VIRIDIAN FOREST\n" .string "PEWTER CITY AHEAD$" diff --git a/data/scripts/aide.inc b/data/scripts/aide.inc new file mode 100644 index 000000000..3201de769 --- /dev/null +++ b/data/scripts/aide.inc @@ -0,0 +1,14 @@ +Aide_EventScript_HaventCaughtEnough:: @ 81A7ABD + msgbox Aide_Text_HaventCaughtEnoughMonsForItem + release + end + +Aide_EventScript_NoRoomForItem:: @ 81A7AC7 + msgbox Aide_Text_DontHaveAnyRoomForItem + release + end + +Aide_EventScript_DeclineCheckMons:: @ 81A7AD1 + msgbox Aide_Text_GetEnoughMonsComeBackForItem + release + end diff --git a/data/scripts/fame_checker.inc b/data/scripts/fame_checker.inc index 8bf111541..36383bfb8 100644 --- a/data/scripts/fame_checker.inc +++ b/data/scripts/fame_checker.inc @@ -1,10 +1,10 @@ -ViridianCity_House2_EventScript_1ACD65:: @ 81ACD65 +ViridianCity_House2_EventScript_PokemonJournal:: @ 81ACD65 lock faceplayer famechecker FAMECHECKER_OAK, 3 famechecker FAMECHECKER_DAISY, 3 textcolor 3 - msgbox gUnknown_81B1AB9 + msgbox PokemonJournal_Text_SpecialFeatureProfOak release end @@ -14,7 +14,7 @@ EventScript_1ACD8D:: @ 81ACD8D famechecker FAMECHECKER_DAISY, 1 famechecker FAMECHECKER_OAK, 4 textcolor 3 - msgbox gUnknown_81B1AB9 + msgbox PokemonJournal_Text_SpecialFeatureProfOak release end @@ -23,7 +23,7 @@ EventScript_1ACDB5:: @ 81ACDB5 faceplayer famechecker FAMECHECKER_DAISY, 4 textcolor 3 - msgbox gUnknown_81B1AB9 + msgbox PokemonJournal_Text_SpecialFeatureProfOak release end @@ -84,11 +84,11 @@ CeruleanCity_PokemonCenter_1F_EventScript_PokemonJournalMisty:: @ 81ACE68 release end -VermilionCity_PokemonCenter_1F_EventScript_1ACE83:: @ 81ACE83 +VermilionCity_PokemonCenter_1F_EventScript_PokemonJournalLtSurge:: @ 81ACE83 lockall famechecker FAMECHECKER_LTSURGE, 5 textcolor 3 - msgbox gUnknown_81B1558 + msgbox PokemonJournal_Text_SpecialFeatureLtSurge releaseall end diff --git a/data/scripts/seagallop.inc b/data/scripts/seagallop.inc index 77ed21b7a..c5489d7ee 100644 --- a/data/scripts/seagallop.inc +++ b/data/scripts/seagallop.inc @@ -1,205 +1,206 @@ -EventScript_1A8EC5:: @ 81A8EC5 +@ Separate selection menus for before the Rainbow Pass is obtained +EventScript_ChooseDestFromOneIsland:: @ 81A8EC5 compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_ge EventScript_1A911E + goto_if_ge EventScript_SeviiDestinationsPage1 compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4 - goto_if_ge EventScript_1A8F12 + goto_if_ge EventScript_ChooseDestFromOneIslandVermilionAllowed multichoice 19, 6, MULTICHOICE_ISLAND_23, FALSE switch VAR_RESULT - case 0, EventScript_1A8FF9 - case 1, EventScript_1A9004 + case 0, EventScript_SailToTwoIsland2 + case 1, EventScript_SailToThreeIsland2 case 2, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A8F12:: @ 81A8F12 +EventScript_ChooseDestFromOneIslandVermilionAllowed:: @ 81A8F12 multichoice 19, 5, MULTICHOICE_SEAGALLOP_V23, FALSE switch VAR_RESULT - case 0, EventScript_1A8FE3 - case 1, EventScript_1A8FF9 - case 2, EventScript_1A9004 + case 0, EventScript_SailToVermilion2 + case 1, EventScript_SailToTwoIsland2 + case 2, EventScript_SailToThreeIsland2 case 3, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A8F54:: @ 81A8F54 +EventScript_ChooseDestFromTwoIsland:: @ 81A8F54 compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_ge EventScript_1A911E + goto_if_ge EventScript_SeviiDestinationsPage1 compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4 - goto_if_ge EventScript_1A8FA1 + goto_if_ge EventScript_ChooseDestFromTwoIslandVermilionAllowed multichoice 19, 6, MULTICHOICE_ISLAND_13, FALSE switch VAR_RESULT - case 0, EventScript_1A8FEE - case 1, EventScript_1A9004 + case 0, EventScript_SailToOneIsland2 + case 1, EventScript_SailToThreeIsland2 case 2, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A8FA1:: @ 81A8FA1 +EventScript_ChooseDestFromTwoIslandVermilionAllowed:: @ 81A8FA1 multichoice 19, 5, MULTICHOICE_SEAGALLOP_V13, FALSE switch VAR_RESULT - case 0, EventScript_1A8FE3 - case 1, EventScript_1A8FEE - case 2, EventScript_1A9004 + case 0, EventScript_SailToVermilion2 + case 1, EventScript_SailToOneIsland2 + case 2, EventScript_SailToThreeIsland2 case 3, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A8FE3:: @ 81A8FE3 +EventScript_SailToVermilion2:: @ 81A8FE3 setvar VAR_0x8006, SEAGALLOP_VERMILION_CITY - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A8FEE:: @ 81A8FEE +EventScript_SailToOneIsland2:: @ 81A8FEE setvar VAR_0x8006, SEAGALLOP_ONE_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A8FF9:: @ 81A8FF9 +EventScript_SailToTwoIsland2:: @ 81A8FF9 setvar VAR_0x8006, SEAGALLOP_TWO_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A9004:: @ 81A9004 +EventScript_SailToThreeIsland2:: @ 81A9004 setvar VAR_0x8006, SEAGALLOP_THREE_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A900F:: @ 81A900F +EventScript_ChooseDestFromIsland:: @ 81A900F compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 5 - goto_if_ge EventScript_1A911E + goto_if_ge EventScript_SeviiDestinationsPage1 compare VAR_MAP_SCENE_CINNABAR_ISLAND, 4 - goto_if_ge EventScript_1A905C + goto_if_ge EventScript_ChooseDestFromIslandVermilionAllowed multichoice 19, 6, MULTICHOICE_ISLAND_12, FALSE switch VAR_RESULT - case 0, EventScript_1A8FEE - case 1, EventScript_1A8FF9 + case 0, EventScript_SailToOneIsland2 + case 1, EventScript_SailToTwoIsland2 case 2, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A905C:: @ 81A905C +EventScript_ChooseDestFromIslandVermilionAllowed:: @ 81A905C multichoice 19, 5, MULTICHOICE_SEAGALLOP_V12, FALSE switch VAR_RESULT - case 0, EventScript_1A8FE3 - case 1, EventScript_1A8FEE - case 2, EventScript_1A8FF9 + case 0, EventScript_SailToVermilion2 + case 1, EventScript_SailToOneIsland2 + case 2, EventScript_SailToTwoIsland2 case 3, EventScript_CancelSail case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A909E:: @ 81A909E - specialvar VAR_RESULT, sub_8147500 +EventScript_SailToDest:: @ 81A909E + specialvar VAR_RESULT, GetSeagallopNumber getnumberstring 0, VAR_RESULT compare VAR_0x8004, SEAGALLOP_VERMILION_CITY - goto_if_eq EventScript_1A90BE + goto_if_eq EventScript_DepartingVermilion compare VAR_0x8004, SEAGALLOP_VERMILION_CITY - goto_if_ne EventScript_1A90CC + goto_if_ne EventScript_DepartingNotVermilion end -EventScript_1A90BE:: @ 81A90BE - msgbox Text_17FB67 - goto EventScript_1A90DA +EventScript_DepartingVermilion:: @ 81A90BE + msgbox VermilionCity_Text_Seagallop7Departing + goto EventScript_SetSail end -EventScript_1A90CC:: @ 81A90CC - msgbox Text_1A641B - goto EventScript_1A90DA +EventScript_DepartingNotVermilion:: @ 81A90CC + msgbox Text_AllAboardSeagallopNum + goto EventScript_SetSail end -EventScript_1A90DA:: @ 81A90DA +EventScript_SetSail:: @ 81A90DA closemessage delay 20 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 fadescreen FADE_TO_BLACK - special ScrSpecial_SeagallopFerry + special DoSeagallopFerryScene waitstate end EventScript_CancelSail:: @ 81A90F6 - specialvar VAR_RESULT, sub_8147594 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1A9108 + specialvar VAR_RESULT, IsPlayerLeftOfVermilionSailor + compare VAR_RESULT, TRUE + goto_if_eq VermilionCity_EventScript_WalkUpPier release end -EventScript_1A9108:: @ 81A9108 +VermilionCity_EventScript_WalkUpPier:: @ 81A9108 closemessage - applymovement 6, Movement_FaceOriginalDirection - applymovement OBJ_EVENT_ID_PLAYER, Movement_1A911C + applymovement LOCALID_FERRY_SAILOR, Movement_FaceOriginalDirection + applymovement OBJ_EVENT_ID_PLAYER, VermilionCity_Movement_WalkUp waitmovement 0 releaseall end -Movement_1A911C:: @ 81A911C +VermilionCity_Movement_WalkUp:: @ 81A911C walk_up step_end -EventScript_1A911E:: @ 81A911E +EventScript_SeviiDestinationsPage1:: @ 81A911E setvar VAR_0x8005, 0 special Special_DrawSeagallopDestinationMenu waitstate specialvar VAR_0x8006, Special_GetSelectedSeagallopDestination switch VAR_0x8006 case SEAGALLOP_VERMILION_CITY, EventScript_SailToVermilionCity - case SEAGALLOP_ONE_ISLAND, EventScript_1A91E0 - case SEAGALLOP_TWO_ISLAND, EventScript_1A91EB - case SEAGALLOP_THREE_ISLAND, EventScript_1A91F6 - case SEAGALLOP_FOUR_ISLAND, EventScript_1A9201 - case SEAGALLOP_MORE, EventScript_1A917F + case SEAGALLOP_ONE_ISLAND, EventScript_SailToOneIsland + case SEAGALLOP_TWO_ISLAND, EventScript_SailToTwoIsland + case SEAGALLOP_THREE_ISLAND, EventScript_SailToThreeIsland + case SEAGALLOP_FOUR_ISLAND, EventScript_SailToFourIsland + case SEAGALLOP_MORE, EventScript_SeviiDestinationsPage2 case SCR_MENU_CANCEL, EventScript_CancelSail end -EventScript_1A917F:: @ 81A917F +EventScript_SeviiDestinationsPage2:: @ 81A917F setvar VAR_0x8005, 1 special Special_DrawSeagallopDestinationMenu waitstate specialvar VAR_0x8006, Special_GetSelectedSeagallopDestination switch VAR_0x8006 - case SEAGALLOP_FOUR_ISLAND, EventScript_1A9201 - case SEAGALLOP_FIVE_ISLAND, EventScript_1A920C - case SEAGALLOP_SIX_ISLAND, EventScript_1A9217 - case SEAGALLOP_SEVEN_ISLAND, EventScript_1A9222 - case SEAGALLOP_MORE, EventScript_1A911E + case SEAGALLOP_FOUR_ISLAND, EventScript_SailToFourIsland + case SEAGALLOP_FIVE_ISLAND, EventScript_SailToFiveIsland + case SEAGALLOP_SIX_ISLAND, EventScript_SailToSixIsland + case SEAGALLOP_SEVEN_ISLAND, EventScript_SailToSevenIsland + case SEAGALLOP_MORE, EventScript_SeviiDestinationsPage1 case SCR_MENU_CANCEL, EventScript_CancelSail end EventScript_SailToVermilionCity:: @ 81A91D5 setvar VAR_0x8006, SEAGALLOP_VERMILION_CITY - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A91E0:: @ 81A91E0 +EventScript_SailToOneIsland:: @ 81A91E0 setvar VAR_0x8006, SEAGALLOP_ONE_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A91EB:: @ 81A91EB +EventScript_SailToTwoIsland:: @ 81A91EB setvar VAR_0x8006, SEAGALLOP_TWO_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A91F6:: @ 81A91F6 +EventScript_SailToThreeIsland:: @ 81A91F6 setvar VAR_0x8006, SEAGALLOP_THREE_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A9201:: @ 81A9201 +EventScript_SailToFourIsland:: @ 81A9201 setvar VAR_0x8006, SEAGALLOP_FOUR_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A920C:: @ 81A920C +EventScript_SailToFiveIsland:: @ 81A920C setvar VAR_0x8006, SEAGALLOP_FIVE_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A9217:: @ 81A9217 +EventScript_SailToSixIsland:: @ 81A9217 setvar VAR_0x8006, SEAGALLOP_SIX_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end -EventScript_1A9222:: @ 81A9222 +EventScript_SailToSevenIsland:: @ 81A9222 setvar VAR_0x8006, SEAGALLOP_SEVEN_ISLAND - goto EventScript_1A909E + goto EventScript_SailToDest end diff --git a/data/specials.inc b/data/specials.inc index 92256dfab..39ce252a4 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -387,7 +387,7 @@ gSpecials:: @ 815FD60 def_special IsThereMonInRoute5Daycare def_special GetNumLevelsGainedForRoute5DaycareMon def_special TakePokemonFromRoute5Daycare - def_special ScrSpecial_SeagallopFerry + def_special DoSeagallopFerryScene def_special Special_PlayerPartyContainsSpecies def_special Special_SetSomeVariable def_special HelpSystem_BackupSomeVariable @@ -433,11 +433,11 @@ gSpecials:: @ 815FD60 def_special ShowDodrioBerryPickingRecords def_special Special_DrawSeagallopDestinationMenu def_special Special_GetSelectedSeagallopDestination - def_special sub_8147500 + def_special GetSeagallopNumber def_special GetPlayerFacingDirection def_special DoDeoxysRockInteraction def_special Special_SetDeoxysTriangleObjectPal - def_special sub_8147594 + def_special IsPlayerLeftOfVermilionSailor def_special Special_BadEggInParty def_special sub_815D834 def_special HasAllMons diff --git a/data/strings.s b/data/strings.s index e77730429..5cff90fcd 100644 --- a/data/strings.s +++ b/data/strings.s @@ -3093,40 +3093,40 @@ gUnknown_841B32E:: @ 841B32E .string "{DYNAMIC 0x00} learned\n" .string "{DYNAMIC 0x01}!$" -gUnknown_841B33D:: @ 0x841B33D +gText_Upper:: @ 0x841B33D .string "UPPER$" -gUnknown_841B343:: @ 0x841B343 +gText_Lower:: @ 0x841B343 .string "lower$" -gUnknown_841B349:: @ 0x841B349 +gText_Others:: @ 0x841B349 .string "OTHERS$" -gUnknown_841B350:: @ 0x841B350 +gText_Symbols:: @ 0x841B350 .string "SYMBOLS$" -gUnknown_841B358:: @ 0x841B358 +gText_Register2:: @ 0x841B358 .string "REGISTER$" -gUnknown_841B361:: @ 0x841B361 +gText_Exit:: @ 0x841B361 .string "EXIT$" -gUnknown_841B366:: @ 0x841B366 +gText_QuitChatting:: @ 0x841B366 .string "Quit chatting?$" -gUnknown_841B375:: @ 0x841B375 +gText_RegisterTextWhere:: @ 0x841B375 .string "Register text where?$" -gUnknown_841B38A:: @ 0x841B38A +gText_RegisterTextHere:: @ 0x841B38A .string "Register text here?$" -gUnknown_841B39E:: @ 0x841B39E +gText_InputText:: @ 0x841B39E .string "Input text.$" -gUnknown_841B3AA:: @ 841B3AA +gText_F700JoinedChat:: @ 841B3AA .string "{DYNAMIC 0x00} joined the chat!$" -gUnknown_841B3BE:: @ 841B3BE +gText_F700LeftChat:: @ 841B3BE .string "{DYNAMIC 0x00} left the chat.$" gUnknown_841B3D0:: @ 0x841B3D0 @@ -3135,60 +3135,60 @@ gUnknown_841B3D0:: @ 0x841B3D0 gUnknown_841B3DA:: @ 0x841B3DA .string "{DYNAMIC 0x00}の{DYNAMIC 0x01}ひきめは いません$" -gUnknown_841B3E9:: @ 0x841B3E9 +gText_ExitingTheChat:: @ 0x841B3E9 .string "Exiting the chat‥$" -gUnknown_841B3FB:: @ 0x841B3FB +gText_LeaderHasLeftEndingChat:: @ 0x841B3FB .string "The LEADER, {DYNAMIC 0x00}, has\n" .string "left, ending the chat.$" -gUnknown_841B426:: @ 0x841B426 +gText_RegisteredTextChanged_OKtoSave:: @ 0x841B426 .string "The registered text has been changed.\n" .string "Is it okay to save the game?$" -gUnknown_841B469:: @ 0x841B469 +gText_RegisteredTextChanged_AlreadySavedFile:: @ 0x841B469 .string "There is already a saved file.\n" .string "Is it okay to overwrite it?$" -gUnknown_841B4A4:: @ 0x841B4A4 +gText_RegisteredTextChanged_SavingDontTurnOff:: @ 0x841B4A4 .string "SAVING‥\n" .string "DON'T TURN OFF THE POWER.$" -gUnknown_841B4C6:: @ 0x841B4C6 +gText_RegisteredTextChanged_SavedTheGame:: @ 0x841B4C6 .string "{DYNAMIC 0x00} saved the game.$" -gUnknown_841B4D9:: @ 0x841B4D9 +gText_IfLeaderLeavesChatWillEnd:: @ 0x841B4D9 .string "If the LEADER leaves, the chat\n" .string "will end. Is that okay?$" -gUnknown_841B510:: @ 841B510 +gText_Hello:: @ 841B510 .string "HELLO$" -gUnknown_841B516:: @ 841B516 +gText_Pokemon2:: @ 841B516 .string "POKéMON$" -gUnknown_841B51E:: @ 841B51E +gText_Trade:: @ 841B51E .string "TRADE$" -gUnknown_841B524:: @ 841B524 +gText_Battle:: @ 841B524 .string "BATTLE$" -gUnknown_841B52B:: @ 841B52B +gText_Lets:: @ 841B52B .string "LET'S$" -gUnknown_841B531:: @ 841B531 +gText_Ok:: @ 841B531 .string "OK!$" -gUnknown_841B535:: @ 841B535 +gText_Sorry:: @ 841B535 .string "SORRY$" -gUnknown_841B53B:: @ 841B53B +gText_YaySmileEmoji:: @ 841B53B .string "YAY{EXTRA 0xF9}$" -gUnknown_841B541:: @ 841B541 +gText_ThankYou:: @ 841B541 .string "THANK YOU$" -gUnknown_841B54B:: @ 841B54B +gText_ByeBye:: @ 841B54B .string "BYE-BYE!$" gUnknown_841B554:: @ 841B554 diff --git a/data/text/aide.inc b/data/text/aide.inc new file mode 100644 index 000000000..70bf4aa70 --- /dev/null +++ b/data/text/aide.inc @@ -0,0 +1,15 @@ +Aide_Text_HaventCaughtEnoughMonsForItem:: @ 81A58A7 + .string "Let's see…\n" + .string "Uh-oh! You have caught only\l" + .string "{STR_VAR_3} kinds of POKéMON!\p" + .string "You need {STR_VAR_1} kinds\n" + .string "if you want the {STR_VAR_2}.$" + +Aide_Text_GetEnoughMonsComeBackForItem:: @ 81A5909 + .string "…Oh. I see.\p" + .string "When you get {STR_VAR_1} kinds of POKéMON,\n" + .string "come back for the {STR_VAR_2}.$" + +Aide_Text_DontHaveAnyRoomForItem:: @ 81A594D + .string "Oh! I see you don't have any\n" + .string "room for the {STR_VAR_2}.$" diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index ded2719f6..0705caffe 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -1387,7 +1387,7 @@ PokemonJournal_Text_SpecialFeatureMisty:: @ 81B14E8 .string "MISTY is said to worship LORELEI\n" .string "of the ELITE FOUR.$" -gUnknown_81B1558:: @ 81B1558 +PokemonJournal_Text_SpecialFeatureLtSurge:: @ 81B1558 .string "POKéMON JOURNAL\p" .string "Special Feature: VERMILION GYM\n" .string "LEADER LT. SURGE!\p" @@ -1461,7 +1461,7 @@ gUnknown_81B1A31:: @ 81B1A31 .string "be the elder of a famous clan of\l" .string "dragon masters.$" -gUnknown_81B1AB9:: @ 81B1AB9 +PokemonJournal_Text_SpecialFeatureProfOak:: @ 81B1AB9 .string "POKéMON JOURNAL\p" .string "Special Feature: PROF. OAK,\n" .string "the POKéMON Researcher!\p" diff --git a/data/text/seagallop.inc b/data/text/seagallop.inc new file mode 100644 index 000000000..3d4d0d958 --- /dev/null +++ b/data/text/seagallop.inc @@ -0,0 +1,7 @@ +Text_WhereDoYouWantToGo:: @ 81A6407 + .string "おつかれさん!\n" + .string "どこに いきたいんだ?$" + +Text_AllAboardSeagallopNum:: @ 81A641B + .string "All right!\n" + .string "All aboard SEAGALLOP HI-SPEED {STR_VAR_1}!$" diff --git a/data/union_room_chat.s b/data/union_room_chat.s deleted file mode 100644 index b61c5f44d..000000000 --- a/data/union_room_chat.s +++ /dev/null @@ -1,358 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_845A880:: @ 845A880 - .4byte sub_8128640 - .4byte sub_81286C4 - .4byte sub_81287B4 - .4byte sub_81288D4 - .4byte sub_8128DA4 - .4byte sub_8128E78 - .4byte sub_8128AA0 - .4byte sub_8128C04 - .4byte sub_8128CA8 - .4byte sub_8128FB8 - -gUnknown_845A8A8:: @ 845A8A8 - .byte 0x09, 0x09, 0x09, 0x09 - -gUnknown_845A8AC:: @ 845A8AC - .byte 0x00, 0x16, 0x17, 0x68, 0x19, 0x1a, 0x1b, 0x1c - .byte 0x1d, 0x1e, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24 - .byte 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02 - .byte 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00 - .byte 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 - .byte 0x13, 0x14, 0x2a, 0x2b, 0x2c, 0x2d, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00 - .byte 0x00, 0x00, 0x6f, 0x5b, 0x5c, 0x5d, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7 - .byte 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf - .byte 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7 - .byte 0xb8, 0xb9, 0xba, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9 - .byte 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1 - .byte 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9 - .byte 0xea, 0xeb, 0xec, 0xed, 0xee, 0xbb, 0xbc, 0xbd - .byte 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5 - .byte 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd - .byte 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xef - .byte 0xf0, 0xf4, 0xf5, 0xf6, 0xf1, 0xf2, 0xf3, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_845A9AC:: @ 845A9AC - .4byte gUnknown_847AAC1 - .4byte gUnknown_847AAC7 - .4byte gUnknown_847AACD - .4byte gUnknown_847AAD3 - .4byte gUnknown_847AAD9 - .4byte gUnknown_847AADF - .4byte gUnknown_847AAE5 - .4byte gUnknown_847AAEB - .4byte gUnknown_847AAF1 - .4byte gUnknown_847AAF7 - .4byte gUnknown_847AAFD - .4byte gUnknown_847AB03 - .4byte gUnknown_847AB09 - .4byte gUnknown_847AB0F - .4byte gUnknown_847AB15 - .4byte gUnknown_847AB1B - .4byte gUnknown_847AB21 - .4byte gUnknown_847AB27 - .4byte gUnknown_847AB2D - .4byte gUnknown_847AB33 - .4byte gUnknown_847AB41 - .4byte gUnknown_847AB4C - .4byte gUnknown_847AB57 - .4byte gUnknown_847AB62 - .4byte gUnknown_847AB6B - .4byte gUnknown_847AB76 - .4byte gUnknown_847AB81 - .4byte gUnknown_847AB8C - .4byte gUnknown_847AB97 - .4byte gUnknown_847ABA2 - -gUnknown_845AA24:: @ 845AA24 - .incbin "graphics/union_room_chat/unk_845AA24.gbapal" - -gUnknown_845AA44:: @ 845AA44 - .incbin "graphics/union_room_chat/unk_845AA44.gbapal" - -gUnknown_845AA64:: @ 845AA64 - .incbin "graphics/union_room_chat/unk_845AA64.gbapal" - -gUnknown_845AA84:: @ 845AA84 - .4byte 0x00000070 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 7, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000011fd - @ { - @ .bg = 1, - @ .charBaseIndex = 3, - @ .mapBaseIndex = 31, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x0000217a - @ { - @ .bg = 2, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 23, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 2, - @ .baseTile = 0x0000 - @ } - .4byte 0x000070f7 - @ { - @ .bg = 3, - @ .charBaseIndex = 1, - @ .mapBaseIndex = 15, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0001 - @ } - -gUnknown_845AA94:: @ 845AA94 - .byte 3, 8, 1, 21, 19, 15 - .2byte 0x0001 - .byte 1, 9, 18, 15, 2, 12 - .2byte 0x007a - .byte 1, 0, 2, 6, 15, 7 - .2byte 0x0020 - .byte 0, 1, 2, 7, 9, 14 - .2byte 0x0013 - .byte 255, 0, 0, 0, 0, 0 - .2byte 0x0000 - -gUnknown_845AABC:: @ 845AABC - .2byte 0x00 - .align 2 - .4byte sub_8129CA0 - .2byte 0x03 - .align 2 - .4byte sub_8129D40 - .2byte 0x04 - .align 2 - .4byte sub_8129D78 - .2byte 0x05 - .align 2 - .4byte sub_8129DB0 - .2byte 0x01 - .align 2 - .4byte sub_8129E1C - .2byte 0x06 - .align 2 - .4byte sub_8129E28 - .2byte 0x07 - .align 2 - .4byte sub_8129E74 - .2byte 0x08 - .align 2 - .4byte sub_8129EB8 - .2byte 0x09 - .align 2 - .4byte sub_8129F24 - .2byte 0x0a - .align 2 - .4byte sub_8129FCC - .2byte 0x0b - .align 2 - .4byte sub_812A074 - .2byte 0x0c - .align 2 - .4byte sub_812A0B0 - .2byte 0x02 - .align 2 - .4byte sub_812A18C - .2byte 0x0d - .align 2 - .4byte sub_812A1B8 - .2byte 0x12 - .align 2 - .4byte sub_812A1FC - .2byte 0x13 - .align 2 - .4byte sub_812A240 - .2byte 0x0e - .align 2 - .4byte sub_812A294 - .2byte 0x0f - .align 2 - .4byte sub_812A2E4 - .2byte 0x10 - .align 2 - .4byte sub_812A334 - .2byte 0x11 - .align 2 - .4byte sub_812A378 - .2byte 0x14 - .align 2 - .4byte sub_812A3D0 - -gUnknown_845AB64:: @ 845AB64 - .4byte gUnknown_841B366 - .byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 - .align 2 - .4byte gUnknown_841B375 - .byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 - .align 2 - .4byte gUnknown_841B38A - .byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 - .align 2 - .4byte gUnknown_841B39E - .byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 - .align 2 - .4byte gUnknown_841B3E9 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00 - .align 2 - .4byte gUnknown_841B3FB - .byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00 - .align 2 - .4byte gUnknown_841B426 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01 - .align 2 - .4byte gUnknown_841B469 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01 - .align 2 - .4byte gUnknown_841B4A4 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01 - .align 2 - .4byte gUnknown_841B4C6 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x01, 0x01 - .align 2 - .4byte gUnknown_841B4D9 - .byte 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01 - .align 2 - -gUnknown_845ABE8:: @ 845ABE8 - .string "…$" - - .align 2 -gUnknown_845ABEC:: @ 845ABEC - .4byte gUnknown_841B33D, 0 - .4byte gUnknown_841B343, 0 - .4byte gUnknown_841B350, 0 - .4byte gUnknown_841B358, 0 - .4byte gUnknown_841B361, 0 - -gUnknown_845AC14:: @ 845AC14 - .incbin "graphics/union_room_chat/unk_845AC14.gbapal" - -gUnknown_845AC34:: - .incbin "graphics/union_room_chat/unk_845AC34.4bpp.lz" - -gUnknown_845AEB8:: - .incbin "graphics/union_room_chat/unk_845AEB8.4bpp.lz" - -gUnknown_845AED8:: - .incbin "graphics/union_room_chat/unk_845AED8.4bpp.lz" - -gUnknown_845AF04:: - .incbin "graphics/union_room_chat/unk_845AF04.4bpp.lz" - -gUnknown_845AF58:: @ 845AF58 - obj_tiles gUnknown_845AC34, 0x1000, 0 - obj_tiles gUnknown_845AED8, 0x0040, 1 - obj_tiles gUnknown_845AEB8, 0x0040, 2 - obj_tiles gUnknown_845AF04, 0x0080, 3 - obj_tiles gUnknown_8EA1A50, 0x0400, 4 - -gUnknown_845AF80:: @ 845AF80 - obj_pal gUnknown_845AC14, 0 - -gOamData_845AF88:: - .4byte 0xc0004000, 0x00000400 - -gAnimCmd_845AF90:: - obj_image_anim_frame 0x0000, 30 - obj_image_anim_end - -gAnimCmd_845AF98:: - obj_image_anim_frame 0x0020, 30 - obj_image_anim_end - -gAnimCmd_845AFA0:: - obj_image_anim_frame 0x0040, 30 - obj_image_anim_end - -gAnimCmd_845AFA8:: - obj_image_anim_frame 0x0060, 30 - obj_image_anim_end - -gSpriteAnimTable_845AFB0:: - .4byte gAnimCmd_845AF90 - .4byte gAnimCmd_845AF98 - .4byte gAnimCmd_845AFA0 - .4byte gAnimCmd_845AFA8 - -gUnknown_845AFC0:: @ 845AFC0 - spr_template 0, 0, gOamData_845AF88, gSpriteAnimTable_845AFB0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gOamData_845AFD8:: - .4byte 0x00008000, 0x00000800 - -gUnknown_845AFE0:: @ 845AFE0 - spr_template 2, 0, gOamData_845AFD8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812B09C - -gUnknown_845AFF8:: @ 845AFF8 - spr_template 1, 0, gOamData_845AFD8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812B0D4 - -gOamData_845B010:: - .4byte 0x40000000, 0x00000800 - -gOamData_845B018:: - .4byte 0x80004000, 0x00000800 - -gAnimCmd_845B020:: - obj_image_anim_frame 0x0000, 2 - obj_image_anim_end - -gAnimCmd_845B028:: - obj_image_anim_frame 0x0008, 2 - obj_image_anim_end - -gAnimCmd_845B030:: - obj_image_anim_frame 0x0010, 2 - obj_image_anim_end - -gAnimCmd_845B038:: - obj_image_anim_frame 0x0018, 2 - obj_image_anim_end - -gSpriteAnimTable_845B040:: - .4byte gAnimCmd_845B020 - .4byte gAnimCmd_845B028 - .4byte gAnimCmd_845B030 - .4byte gAnimCmd_845B038 - -gUnknown_845B050:: @ 845B050 - spr_template 3, 0, gOamData_845B010, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_845B068:: @ 845B068 - spr_template 4, 0, gOamData_845B018, gSpriteAnimTable_845B040, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy diff --git a/include/battle_setup.h b/include/battle_setup.h index 4dc2f10f0..2aecbb0a4 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -19,7 +19,7 @@ void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerSc bool32 GetTrainerFlagFromScriptPointer(const u8 *data); void SetUpTrainerMovement(void); u8 ScrSpecial_GetTrainerBattleMode(void); -u16 sub_80803D8(void); +u16 GetRivalBattleFlags(void); u16 ScrSpecial_HasTrainerBeenFought(void); void SetBattledTrainerFlag(void); bool8 HasTrainerBeenFought(u16 trainerId); diff --git a/include/constants/battle.h b/include/constants/battle.h index b28955210..63be37936 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -81,6 +81,9 @@ #define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED)) #define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED) +#define RIVAL_BATTLE_HEAL_AFTER 1 +#define RIVAL_BATTLE_TUTORIAL 3 + // Battle Outcome defines #define B_OUTCOME_WON 0x1 #define B_OUTCOME_LOST 0x2 diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h index 8f700dc04..1e804fd18 100644 --- a/include/constants/battle_setup.h +++ b/include/constants/battle_setup.h @@ -10,6 +10,6 @@ #define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE 6 #define TRAINER_BATTLE_REMATCH_DOUBLE 7 #define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC 8 -#define TRAINER_BATTLE_TUTORIAL 9 +#define TRAINER_BATTLE_EARLY_RIVAL 9 #endif // GUARD_CONSTANTS_BATTLE_SETUP_H diff --git a/include/constants/global.h b/include/constants/global.h index 77ef6f203..7f3c80bb4 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -38,6 +38,10 @@ #define FEMALE 1 #define GENDER_COUNT 2 +#define BARD_SONG_LENGTH 6 +#define NUM_STORYTELLER_TALES 4 +#define NUM_TRADER_ITEMS 4 + #define OPTIONS_BUTTON_MODE_HELP 0 #define OPTIONS_BUTTON_MODE_LR 1 #define OPTIONS_BUTTON_MODE_L_EQUALS_A 2 @@ -62,6 +66,7 @@ #define MAX_MON_MOVES 4 +#define TRAINER_ID_LENGTH 4 #define PARTY_SIZE 6 #define MULTI_PARTY_SIZE (PARTY_SIZE / 2) diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 7cdfb25e5..8726113f4 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -4,6 +4,41 @@ // General #define METATILE_General_CalmWater 0x12B +// PokeMart +#define METATILE_Shop_CounterMid_Top 0x2BF +#define METATILE_Shop_CounterMid_Bottom 0x2C0 + +// Vermilion Gym +#define METATILE_VermilionGym_Floor 0x281 +#define METATILE_VermilionGym_Beam_MidTop 0x285 +#define METATILE_VermilionGym_Beam_MidBottom 0x28D +#define METATILE_VermilionGym_Beam_Node_TopLeft_Off 0x293 +#define METATILE_VermilionGym_Beam_Node_TopLeft_Edge_Off 0x294 +#define METATILE_VermilionGym_Beam_Node_TopRight_Edge_Off 0x295 +#define METATILE_VermilionGym_Beam_Node_TopRight_Off 0x296 +#define METATILE_VermilionGym_Beam_Node_BottomLeft_Off 0x29B +#define METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_Off 0x29C +#define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_Off 0x29D +#define METATILE_VermilionGym_Beam_Node_BottomRight_Off 0x29E +#define METATILE_VermilionGym_Beam_Node_TopLeft_On 0x2A9 +#define METATILE_VermilionGym_Beam_Node_TopLeft_Edge_On 0x2AA +#define METATILE_VermilionGym_Beam_Node_TopRight_Edge_On 0x2AB +#define METATILE_VermilionGym_Beam_Node_TopRight_On 0x2AC +#define METATILE_VermilionGym_Beam_Node_BottomLeft_On 0x2B1 +#define METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_On 0x2B2 +#define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_On 0x2B3 +#define METATILE_VermilionGym_Beam_Node_BottomRight_On 0x2B4 +#define METATILE_VermilionGym_Beam_Node_TopLeft_HalfOn 0x2BB +#define METATILE_VermilionGym_Beam_Node_TopLeft_Edge_HalfOn 0x2BC +#define METATILE_VermilionGym_Beam_MidTop_HalfOn 0x2BD +#define METATILE_VermilionGym_Beam_Node_TopRight_Edge_HalfOn 0x2BE +#define METATILE_VermilionGym_Beam_Node_TopRight_HalfOn 0x2BF +#define METATILE_VermilionGym_Beam_Node_BottomLeft_HalfOn 0x2C3 +#define METATILE_VermilionGym_Beam_Node_BottomLeft_Edge_HalfOn 0x2C4 +#define METATILE_VermilionGym_Beam_MidBottom_HalfOn 0x2C5 +#define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn 0x2C6 +#define METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn 0x2C7 + // Pokemon Mansion #define METATILE_PokemonMansion_Floor 0x284 #define METATILE_PokemonMansion_Floor_ShadeFull 0x285 diff --git a/include/constants/object_events.h b/include/constants/object_events.h index 60783a793..d6f33b33c 100644 --- a/include/constants/object_events.h +++ b/include/constants/object_events.h @@ -35,7 +35,7 @@ #define OBJECT_EVENT_GFX_WOMAN_3 31 #define OBJECT_EVENT_GFX_OLD_MAN_1 32 #define OBJECT_EVENT_GFX_OLD_MAN_2 33 -#define OBJECT_EVENT_GFX_VIRIDIAN_DRUNK 34 +#define OBJECT_EVENT_GFX_OLD_MAN_LYING_DOWN 34 #define OBJECT_EVENT_GFX_OLD_WOMAN 35 #define OBJECT_EVENT_GFX_TUBER_M_1 36 #define OBJECT_EVENT_GFX_TUBER_F 37 diff --git a/include/data_8479668.h b/include/data_8479668.h new file mode 100644 index 000000000..1a1f44267 --- /dev/null +++ b/include/data_8479668.h @@ -0,0 +1,35 @@ +#ifndef GUARD_DATA_8479668_H +#define GUARD_DATA_8479668_H + +extern const u8 gText_UnionRoomChatKeyboard_ABCDE[]; +extern const u8 gText_UnionRoomChatKeyboard_FGHIJ[]; +extern const u8 gText_UnionRoomChatKeyboard_KLMNO[]; +extern const u8 gText_UnionRoomChatKeyboard_PQRST[]; +extern const u8 gText_UnionRoomChatKeyboard_UVWXY[]; +extern const u8 gText_UnionRoomChatKeyboard_Z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_abcde[]; +extern const u8 gText_UnionRoomChatKeyboard_fghij[]; +extern const u8 gText_UnionRoomChatKeyboard_klmno[]; +extern const u8 gText_UnionRoomChatKeyboard_pqrst[]; +extern const u8 gText_UnionRoomChatKeyboard_uvwxy[]; +extern const u8 gText_UnionRoomChatKeyboard_z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationLower[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsLower[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji1[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji2[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji3[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji4[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji5[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji6[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji7[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji8[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji9[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji10[]; + +#endif //GUARD_DATA_8479668_H diff --git a/include/global.h b/include/global.h index 180a1e0a3..2f87a0c29 100644 --- a/include/global.h +++ b/include/global.h @@ -182,13 +182,13 @@ struct BerryCrush u32 unk; }; -#define PLAYER_NAME_LENGTH 8 +#define PLAYER_NAME_LENGTH 7 #define LINK_B_RECORDS_COUNT 5 struct LinkBattleRecord { - u8 name[PLAYER_NAME_LENGTH]; + u8 name[PLAYER_NAME_LENGTH + 1]; u16 trainerId; u16 wins; u16 losses; @@ -261,7 +261,7 @@ struct BattleTowerData // Leftover from R/S struct SaveBlock2 { - /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x008*/ u8 playerGender; // MALE, FEMALE /*0x009*/ u8 specialSaveWarpFlags; /*0x00A*/ u8 playerTrainerId[4]; @@ -312,7 +312,7 @@ struct SecretBaseRecord /*0x1A9D*/ u8 gender:1; /*0x1A9D*/ u8 sbr_field_1_5:1; /*0x1A9D*/ u8 sbr_field_1_6:2; - /*0x1A9E*/ u8 trainerName[7]; // TODO: Change PLAYER_NAME_LENGTH to 7 + /*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH]; /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1AA9*/ u8 language; /*0x1AAA*/ u16 sbr_field_e; @@ -398,41 +398,68 @@ struct MailStruct /*0x20*/ u16 itemId; }; -struct UnkMauvilleOldManStruct +struct MauvilleManCommon { - u8 unk_2D94; - u8 unk_2D95; - /*0x2D96*/ u16 mauvilleOldMan_ecArray[6]; - /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6]; - /*0x2DAE*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x2DB6*/ u8 filler_2DB6[0x3]; - /*0x2DB9*/ u8 playerTrainerId[4]; - u8 unk_2DBD; + u8 id; +}; + +struct MauvilleManBard +{ + /*0x00*/ u8 id; + /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; + /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; + /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x22*/ u8 filler_2DB6[0x3]; + /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH]; + /*0x29*/ bool8 hasChangedSong; + /*0x2A*/ u8 language; }; /*size = 0x2C*/ -struct UnkMauvilleOldManStruct2 +struct MauvilleManStoryteller +{ + u8 id; + bool8 alreadyRecorded; + u8 filler2[2]; + u8 gameStatIDs[NUM_STORYTELLER_TALES]; + u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH]; + u8 statValues[NUM_STORYTELLER_TALES][4]; + u8 language[NUM_STORYTELLER_TALES]; +}; + +struct MauvilleManGiddy { - u8 filler0; - u8 unk1; - u8 unk2; - u16 mauvilleOldMan_ecArray[10]; - u8 mauvilleOldMan_ecArray2[12]; - u8 fillerF[0x2]; + /*0x00*/ u8 id; + /*0x01*/ u8 taleCounter; + /*0x02*/ u8 questionNum; + /*0x04*/ u16 randomWords[10]; + /*0x18*/ u8 questionList[8]; + /*0x20*/ u8 language; }; /*size = 0x2C*/ +struct MauvilleManHipster +{ + u8 id; + bool8 alreadySpoken; + u8 language; +}; + struct MauvilleOldManTrader { - u8 unk0; - u8 unk1[4]; - u8 unk5[4][11]; - u8 unk31; + u8 id; + u8 decorIds[NUM_TRADER_ITEMS]; + u8 playerNames[NUM_TRADER_ITEMS][11]; + u8 alreadyTraded; + u8 language[NUM_TRADER_ITEMS]; }; typedef union OldMan { - struct UnkMauvilleOldManStruct oldMan1; - struct UnkMauvilleOldManStruct2 oldMan2; + struct MauvilleManCommon common; + struct MauvilleManBard bard; + struct MauvilleManGiddy giddy; + struct MauvilleManHipster hipster; struct MauvilleOldManTrader trader; + struct MauvilleManStoryteller storyteller; u8 filler[0x40]; } OldMan; @@ -715,9 +742,11 @@ struct TrainerRematchState struct TrainerNameRecord { u32 trainerId; - u8 trainerName[PLAYER_NAME_LENGTH]; + u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; +#define UNION_ROOM_KB_ROW_COUNT 10 + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -770,9 +799,10 @@ struct SaveBlock1 /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[16]; /*0x3A18*/ u8 seen2[DEX_FLAGS_NO]; - /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; + /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH + 1]; /*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS]; - /*0x3A94*/ u8 filler3A94[0x114]; + /*0x3A94*/ u8 filler3A94[0x40]; + /*0x3AD4*/ u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21]; /*0x3BA8*/ struct TrainerNameRecord trainerNameRecords[20]; /*0x3C98*/ struct DaycareMon route5DayCareMon; /*0x3D24*/ u8 filler3D24[0x10]; diff --git a/include/graphics.h b/include/graphics.h index e87acb556..467a1d461 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4864,4 +4864,15 @@ extern const u32 gUnknown_8E83444[]; extern const u32 gBagBgPalette[]; extern const u32 gBagBgPalette_FemaleOverride[]; +// union_room_chat_display +extern const u16 gUnionRoomChatPanelBgPal_7[]; +extern const u32 gUnionRoomChatPanelBgTiles[]; +extern const u32 gUnionRoomChatPanelBgMap[]; +extern const u16 gLinkMiscMenu_Pal[]; +extern const u32 gLinkMiscMenu_Gfx[]; +extern const u32 gLinkMiscMenu_Tilemap[]; + +// union_room_chat_objects +extern const u32 gUnionRoomChatIcons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/help_system.h b/include/help_system.h index 273b5e119..59adec912 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -92,5 +92,6 @@ bool8 MoveCursor(u8 by, u8 dirn); void HelpSystem_BackupSomeVariable(void); void HelpSystem_RestoreSomeVariable(void); void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height); +void sub_812B4AC(void); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 790429870..81dd7fdf0 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -216,7 +216,7 @@ struct UnkRfuStruct_2 /* 0x99d */ u8 unk_ce5; /* 0x99e */ u8 unk_ce6; /* 0x99f */ u8 unk_ce7; - /* 0x9a0 */ u8 unk_ce8; + /* 0x9a0 */ bool8 unk_ce8; /* 0x9a1 */ u8 unk_ce9; /* 0x9a2 */ u8 unk_cea[RFU_CHILD_MAX]; /* 0x9a6 */ u8 unk_cee[RFU_CHILD_MAX]; @@ -325,6 +325,10 @@ void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name); bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool32 GetRfuUnkCE8(void); +void sub_80FA4A8(void); +void sub_80FB9D0(void); +void sub_80FB030(u32 a0); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/main.h b/include/main.h index c962cf7bd..f89ffbd63 100644 --- a/include/main.h +++ b/include/main.h @@ -73,5 +73,6 @@ extern const char RomHeaderGameCode[4]; extern const char RomHeaderSoftwareVersion; extern u8 gLinkTransferringData; +extern u16 gKeyRepeatStartDelay; #endif // GUARD_MAIN_H diff --git a/include/strings.h b/include/strings.h index 0969a8338..5c8ffde4b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -40,7 +40,6 @@ extern const u8 gText_Second[]; extern const u8 gText_Third[]; extern const u8 gText_NoDecorations[]; extern const u8 gText_NoDecorationsInUse[]; -extern const u8 gText_Exit[]; extern const u8 gText_Cancel[]; extern const u8 gText_Color161Shadow161[]; extern const u8 gText_GoBackPrevMenu[]; @@ -288,7 +287,6 @@ extern const u8 gText_ThreePkmnAreNeeded[]; extern const u8 gText_TwoPokemonAreNeeded[]; extern const u8 gText_PokemonCantBeSame[]; extern const u8 gText_NoIdenticalHoldItems[]; -extern const u8 gString_Dummy[]; extern const u8 gText_DoWhatWithPokemon[]; extern const u8 gText_RestoreWhichMove[]; extern const u8 gText_BoostPp[]; @@ -327,13 +325,9 @@ extern const u8 gText_SendOut[]; extern const u8 gText_Enter[]; extern const u8 gText_NoEntry[]; extern const u8 gText_Store[]; -extern const u8 gText_Register[]; extern const u8 gText_Trade4[]; extern const u8 gText_NotPkmnOtherTrainerWants[]; extern const u8 gText_ThatIsntAnEgg[]; -extern const u8 gText_PkmnCantBeTradedNow[]; -extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; -extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; extern const u8 gUnknown_84176CF[]; @@ -346,7 +340,6 @@ extern const u8 gText_PkmnCantParticipate[]; extern const u8 gText_CancelParticipation[]; extern const u8 gUnknown_8417494[]; extern const u8 gMenuText_Confirm[]; -extern const u8 gText_Lv[]; extern const u8 gText_MaleSymbol[]; extern const u8 gText_FemaleSymbol[]; extern const u8 gText_Slash[]; @@ -984,6 +977,16 @@ extern const u8 gUnknown_8415F6C[]; extern const u8 gUnknown_8415FFF[]; extern const u8 gUnknown_8416002[]; +// daycare +extern const u8 gText_Lv[]; +extern const u8 gDaycareText_GetAlongVeryWell[]; +extern const u8 gDaycareText_GetAlong[]; +extern const u8 gDaycareText_DontLikeOther[]; +extern const u8 gDaycareText_PlayOther[]; +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_HatchedFromEgg[]; +extern const u8 gText_NickHatchPrompt[]; + // trainer card extern const u8 gText_WaitingTrainerFinishReading[]; extern const u8 gText_TrainerCardName[]; @@ -1065,4 +1068,36 @@ extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; extern const u8 gText_RefusedBattle[]; extern const u8 gText_BattleWasRefused[]; +// union_room_chat +extern const u8 gText_F700JoinedChat[]; +extern const u8 gText_F700LeftChat[]; +extern const u8 gText_Hello[]; +extern const u8 gText_Pokemon2[]; +extern const u8 gText_Trade[]; +extern const u8 gText_Battle[]; +extern const u8 gText_Lets[]; +extern const u8 gText_Ok[]; +extern const u8 gText_Sorry[]; +extern const u8 gText_YaySmileEmoji[]; +extern const u8 gText_ThankYou[]; +extern const u8 gText_ByeBye[]; + +// union_room_chat_display +extern const u8 gText_QuitChatting[]; +extern const u8 gText_RegisterTextWhere[]; +extern const u8 gText_RegisterTextHere[]; +extern const u8 gText_InputText[]; +extern const u8 gText_ExitingTheChat[]; +extern const u8 gText_LeaderHasLeftEndingChat[]; +extern const u8 gText_RegisteredTextChanged_OKtoSave[]; +extern const u8 gText_RegisteredTextChanged_AlreadySavedFile[]; +extern const u8 gText_RegisteredTextChanged_SavingDontTurnOff[]; +extern const u8 gText_RegisteredTextChanged_SavedTheGame[]; +extern const u8 gText_IfLeaderLeavesChatWillEnd[]; +extern const u8 gText_Upper[]; +extern const u8 gText_Lower[]; +extern const u8 gText_Symbols[]; +extern const u8 gText_Register2[]; +extern const u8 gText_Exit[]; + #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index cd059e0e5..ff8b033e9 100644 --- a/include/text.h +++ b/include/text.h @@ -5,10 +5,24 @@ #define CHAR_SPACE 0x00 #define CHAR_0 0xA1 +#define CHAR_1 0xA2 +#define CHAR_2 0xA3 +#define CHAR_3 0xA4 +#define CHAR_4 0xA5 +#define CHAR_5 0xA6 +#define CHAR_6 0xA7 +#define CHAR_7 0xA8 +#define CHAR_8 0xA9 +#define CHAR_9 0xAA +#define CHAR_EXCL_MARK 0xAB #define CHAR_QUESTION_MARK 0xAC #define CHAR_PERIOD 0xAD #define CHAR_HYPHEN 0xAE #define CHAR_ELLIPSIS 0xB0 +#define CHAR_DBL_QUOT_LEFT 0xB1 +#define CHAR_DBL_QUOT_RIGHT 0xB2 +#define CHAR_SGL_QUOT_LEFT 0xB3 +#define CHAR_SGL_QUOT_RIGHT 0xB4 #define CHAR_MALE 0xB5 #define CHAR_FEMALE 0xB6 #define CHAR_CURRENCY 0xB7 diff --git a/include/text_window.h b/include/text_window.h index 8e8466145..3796629b4 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -26,6 +26,7 @@ void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette); void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette); void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette); void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette); +void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum); void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset); void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx); void sub_814FEEC(u8 windowId, u16 destOffset, u8 palIdx); diff --git a/include/trade.h b/include/trade.h index d5106b172..f8e285e40 100644 --- a/include/trade.h +++ b/include/trade.h @@ -8,6 +8,10 @@ extern struct MailStruct gLinkPartnerMail[6]; extern u8 gSelectedTradeMonPositions[2]; +extern const u8 gText_MaleSymbol4[]; +extern const u8 gText_FemaleSymbol4[]; +extern const u8 gText_GenderlessSymbol[]; + extern const u16 gUnknown_826601C[]; void CB2_ReturnFromLinkTrade(void); s32 sub_804FB34(void); diff --git a/include/trainer_card.h b/include/trainer_card.h index 06844dc2e..ed3e803d5 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -24,7 +24,7 @@ struct TrainerCard /*0x20*/ u16 pokemonTrades; /*0x24*/ u32 money; /*0x28*/ u16 var_28[4]; - /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x38*/ u8 version; /*0x3A*/ u16 var_3A; /*0x3C*/ u32 berryCrushPoints; diff --git a/include/union_room.h b/include/union_room.h index 3cb8eb84a..7e48b3e6e 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -7,7 +7,7 @@ struct UnkStruct_Shared { struct GFtgtGname gname; - u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH]; + u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1]; }; struct UnkStruct_x1C diff --git a/include/union_room_chat.h b/include/union_room_chat.h index 66daac376..3ce78b210 100644 --- a/include/union_room_chat.h +++ b/include/union_room_chat.h @@ -1,8 +1,30 @@ #ifndef GUARD_UNION_ROOM_CHAT_H #define GUARD_UNION_ROOM_CHAT_H -void sub_801DD98(void); -void sub_8128420(void); -void copy_strings_to_sav1(void); +enum +{ + UNION_ROOM_KB_PAGE_UPPER, + UNION_ROOM_KB_PAGE_LOWER, + UNION_ROOM_KB_PAGE_EMOJI, + UNION_ROOM_KB_PAGE_COUNT +}; + +extern const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT]; + +void EnterUnionRoomChat(void); +u8 *UnionRoomChat_GetWorkRegisteredText(int arg0); +void UnionRoomChat_GetCursorColAndRow(u8 *colp, u8 *rowp); +u8 *UnionRoomChat_GetMessageEntryBuffer(void); +int UnionRoomChat_LenMessageEntryBuffer(void); +void UnionRoomChat_GetBufferSelectionRegion(u32 *startp, u32 *diffp); +u8 *UnionRoomChat_GetEndOfMessageEntryBuffer(void); +u16 UnionRoomChat_GetNumCharsInMessageEntryBuffer(void); +u8 *UnionRoomChat_GetLastReceivedMessage(void); +u16 UnionRoomChat_GetReceivedPlayerIndex(void); +int UnionRoomChat_GetMessageEntryCursorPosition(void); +int UnionRoomChat_GetWhetherShouldShowCaseToggleIcon(void); +u8 *UnionRoomChat_GetNameOfPlayerWhoDisbandedChat(void); +void UnionRoomChat_InitializeRegisteredTexts(void); +u8 GetCurrentKeyboardPage(void); #endif // GUARD_UNION_ROOM_CHAT_H diff --git a/include/union_room_chat_display.h b/include/union_room_chat_display.h new file mode 100644 index 000000000..f880eeecb --- /dev/null +++ b/include/union_room_chat_display.h @@ -0,0 +1,34 @@ +#ifndef GUARD_UNION_ROOM_CHAT_DISPLAY_H +#define GUARD_UNION_ROOM_CHAT_DISPLAY_H + +#define CHATDISPLAYROUTINE_LOADGFX 0 +#define CHATDISPLAYROUTINE_MOVEKBCURSOR 1 +#define CHATDISPLAYROUTINE_CURSORBLINK 2 +#define CHATDISPLAYROUTINE_SHOWKBSWAPMENU 3 +#define CHATDISPLAYROUTINE_HIDEKBSWAPMENU 4 +#define CHATDISPLAYROUTINE_SWITCHPAGES 5 +#define CHATDISPLAYROUTINE_SHOWQUITCHATTINGDIALOG 6 +#define CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO 7 +#define CHATDISPLAYROUTINE_PRINTMSG 8 +#define CHATDISPLAYROUTINE_PRINTREGISTERWHERE 9 +#define CHATDISPLAYROUTINE_CANCELREGISTER 10 +#define CHATDISPLAYROUTINE_RETURNTOKB 11 +#define CHATDISPLAYROUTINE_SCROLLCHAT 12 +#define CHATDISPLAYROUTINE_PRINTINPUTTEXT 13 +#define CHATDISPLAYROUTINE_ASKSAVE 14 +#define CHATDISPLAYROUTINE_ASKOVERWRITESAVE 15 +#define CHATDISPLAYROUTINE_PRINTSAVING 16 +#define CHATDISPLAYROUTINE_PRINTSAVEDTHEGAME 17 +#define CHATDISPLAYROUTINE_PRINTEXITINGCHAT 18 +#define CHATDISPLAYROUTINE_PRINTLEADERLEFT 19 +#define CHATDISPLAYROUTINE_SHOWCONFIRMLEADERLEAVEDIALOG 20 + +bool8 UnionRoomChat_TryAllocGraphicsWork(void); +bool32 UnionRoomChat_RunDisplaySubtask0(void); +void UnionRoomChat_FreeGraphicsWork(void); +void UnionRoomChat_RunDisplaySubtasks(void); +void UnionRoomChat_StartDisplaySubtask(u16 a0, u8 a1); +u8 RunDisplaySubtask(u8 a0); +s8 UnionRoomChat_ProcessInput(void); + +#endif //GUARD_UNION_ROOM_CHAT_DISPLAY_H diff --git a/include/union_room_chat_objects.h b/include/union_room_chat_objects.h new file mode 100644 index 000000000..879f9f86b --- /dev/null +++ b/include/union_room_chat_objects.h @@ -0,0 +1,16 @@ +#ifndef GUARD_UNION_ROOM_CHAT_OBJECTS_H +#define GUARD_UNION_ROOM_CHAT_OBJECTS_H + +bool32 UnionRoomChat_TryAllocSpriteWork(void); +void UnionRoomChat_FreeSpriteWork(void); +void UnionRoomChat_CreateSelectorCursorObj(void); +void UnionRoomChat_ToggleSelectorCursorObjVisibility(bool32 invisible); +void UnionRoomChat_MoveSelectorCursorObj(void); +void UnionRoomChat_UpdateObjPalCycle(u32 idx); +void UnionRoomChat_SetSelectorCursorClosedImage(void); +bool32 UnionRoomChat_AnimateSelectorCursorReopen(void); +void UnionRoomChat_SpawnTextEntryPointerSprites(void); +void CreatePageSwitchUISprites(void); +void UpdateVisibleUnionRoomChatIcon(void); + +#endif //GUARD_UNION_ROOM_CHAT_OBJECTS_H diff --git a/ld_script.txt b/ld_script.txt index 97e4a6b5e..5fbf5616e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -245,7 +245,9 @@ SECTIONS { src/union_room_battle.o(.text); asm/pokemon_special_anim.o(.text); src/party_menu.o(.text); - asm/union_room_chat.o(.text); + src/union_room_chat.o(.text); + src/union_room_chat_display.o(.text); + src/union_room_chat_objects.o(.text); src/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); @@ -532,7 +534,9 @@ SECTIONS { src/union_room_message.o(.rodata); data/pokemon_special_anim.o(.rodata); src/party_menu.o(.rodata); - data/union_room_chat.o(.rodata); + src/union_room_chat.o(.rodata); + src/union_room_chat_display.o(.rodata); + src/union_room_chat_objects.o(.rodata); src/help_system_812B1E0.o(.rodata); src/fame_checker.o(.rodata); src/menu2.o(.rodata); diff --git a/src/battle_main.c b/src/battle_main.c index fd8aeffbc..76f373f8f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -50,6 +50,7 @@ #include "cable_club.h" #include "constants/abilities.h" #include "constants/battle_move_effects.h" +#include "constants/battle_setup.h" #include "constants/hold_effects.h" #include "constants/items.h" #include "constants/moves.h" @@ -3716,12 +3717,12 @@ static void HandleEndTurn_BattleLost(void) } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == 9) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL) { - if (sub_80803D8() & 1) - gBattleCommunication[MULTISTRING_CHOOSER] = 1; + if (GetRivalBattleFlags() & RIVAL_BATTLE_HEAL_AFTER) + gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Dont do white out text else - gBattleCommunication[MULTISTRING_CHOOSER] = 2; + gBattleCommunication[MULTISTRING_CHOOSER] = 2; // Do white out text gBattlerAttacker = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } else diff --git a/src/battle_setup.c b/src/battle_setup.c index 102a1b969..ae6aaf8be 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -78,7 +78,7 @@ static EWRAM_DATA u8 *sTrainerVictorySpeech = NULL; static EWRAM_DATA u8 *sTrainerCannotBattleSpeech = NULL; static EWRAM_DATA u8 *sTrainerBattleEndScript = NULL; static EWRAM_DATA u8 *sTrainerABattleScriptRetAddr = NULL; -static EWRAM_DATA u16 gUnknown_20386CC = 0; +static EWRAM_DATA u16 sRivalBattleFlags = 0; static const u8 sBattleTransitionTable_Wild[][2] = { @@ -148,11 +148,11 @@ static const struct TrainerBattleParameter sOrdinaryNoIntroBattleParams[] = {&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR}, }; -static const struct TrainerBattleParameter sTutorialBattleParams[] = +static const struct TrainerBattleParameter sEarlyRivalBattleParams[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&gUnknown_20386CC, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sRivalBattleFlags, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerAIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, {&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, @@ -706,7 +706,7 @@ static void InitTrainerBattleVariables(void) sTrainerCannotBattleSpeech = NULL; sTrainerBattleEndScript = NULL; sTrainerABattleScriptRetAddr = NULL; - gUnknown_20386CC = 0; + sRivalBattleFlags = 0; } static inline void SetU8(void *ptr, u8 value) @@ -808,8 +808,8 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) SetMapVarsToTrainer(); gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A); return EventScript_TryDoRematchBattle; - case TRAINER_BATTLE_TUTORIAL: - TrainerBattleLoadArgs(sTutorialBattleParams, data); + case TRAINER_BATTLE_EARLY_RIVAL: + TrainerBattleLoadArgs(sEarlyRivalBattleParams, data); return EventScript_DoTrainerBattle; default: TrainerBattleLoadArgs(sOrdinaryBattleParams, data); @@ -846,9 +846,9 @@ u8 ScrSpecial_GetTrainerBattleMode(void) return sTrainerBattleMode; } -u16 sub_80803D8(void) +u16 GetRivalBattleFlags(void) { - return gUnknown_20386CC; + return sRivalBattleFlags; } u16 ScrSpecial_HasTrainerBeenFought(void) @@ -885,8 +885,7 @@ void ClearTrainerFlag(u16 trainerId) void BattleSetup_StartTrainerBattle(void) { gBattleTypeFlags = BATTLE_TYPE_TRAINER; - if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_TUTORIAL - && sub_80803D8() & 3) + if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL) gBattleTypeFlags |= BATTLE_TYPE_FIRST_BATTLE; gMain.savedCallback = CB2_EndTrainerBattle; DoTrainerBattle(); @@ -895,12 +894,12 @@ void BattleSetup_StartTrainerBattle(void) static void CB2_EndTrainerBattle(void) { - if (sTrainerBattleMode == TRAINER_BATTLE_TUTORIAL) + if (sTrainerBattleMode == TRAINER_BATTLE_EARLY_RIVAL) { if (IsPlayerDefeated(gBattleOutcome) == TRUE) { - gSpecialVar_Result = 1; - if (gUnknown_20386CC & 1) + gSpecialVar_Result = TRUE; + if (sRivalBattleFlags & RIVAL_BATTLE_HEAL_AFTER) { HealPlayerParty(); } @@ -915,7 +914,7 @@ static void CB2_EndTrainerBattle(void) } else { - gSpecialVar_Result = 0; + gSpecialVar_Result = FALSE; SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); SetBattledTrainerFlag(); sub_81139BC(); diff --git a/src/daycare.c b/src/daycare.c index a377e97f5..277a382c7 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1,44 +1,34 @@ #include "global.h" -#include "pokemon.h" +#include "gflib.h" #include "battle.h" #include "daycare.h" -#include "string_util.h" #include "constants/species.h" #include "constants/items.h" #include "mail_data.h" #include "pokemon_storage_system.h" #include "event_data.h" #include "random.h" -#include "main.h" #include "constants/moves.h" -#include "text.h" #include "menu.h" #include "new_menu_helpers.h" #include "script.h" #include "strings.h" -#include "task.h" -#include "window.h" #include "party_menu.h" #include "list_menu.h" #include "overworld.h" #include "pokedex.h" #include "decompress.h" -#include "palette.h" -#include "sound.h" #include "constants/songs.h" #include "text_window.h" #include "trig.h" -#include "malloc.h" -#include "gpu_regs.h" -#include "bg.h" #include "m4a.h" #include "graphics.h" #include "scanline_effect.h" #include "naming_screen.h" #include "help_system.h" #include "field_fadetransition.h" +#include "trade.h" #include "constants/daycare.h" -#include "constants/pokemon.h" #include "constants/region_map.h" // Combination of RSE's Day-Care (re-used on Four Island), FRLG's Day-Care, and egg_hatch.c @@ -60,20 +50,6 @@ struct EggHatchData u8 textColor[3]; }; -extern const u8 gText_MaleSymbol4[]; -extern const u8 gText_FemaleSymbol4[]; -extern const u8 gText_GenderlessSymbol[]; -extern const u8 gText_Lv[]; -extern const u8 gDaycareText_GetAlongVeryWell[]; -extern const u8 gDaycareText_GetAlong[]; -extern const u8 gDaycareText_DontLikeOther[]; -extern const u8 gDaycareText_PlayOther[]; -extern const u8 gExpandedPlaceholder_Empty[]; - -extern const u32 gUnknown_826601C[]; // tilemap gameboy circle -extern const u8 gText_HatchedFromEgg[]; -extern const u8 gText_NickHatchPrompt[]; - // this file's functions static void ClearDaycareMonMail(struct DayCareMail *mail); static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare); @@ -638,7 +614,7 @@ static void ClearDaycareMonMail(struct DayCareMail *mail) { s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH/* + 1*/; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) mail->OT_name[i] = 0; for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) mail->monName[i] = 0; diff --git a/src/fame_checker.c b/src/fame_checker.c index b8f2c0055..6f60b4a44 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -33,7 +33,7 @@ #define SPRITETAG_QUESTION_MARK 1001 #define SPRITETAG_SPINNING_POKEBALL 1002 #define SPRITETAG_SCROLL_INDICATORS 1004 -#define SPRITETAG_DAISY 1006 +#define SPRITETAG_DAISY 1006 // TODO: Investigate, seems to be used for other NPCs (e.g. Fan Club Chairman) #define SPRITETAG_FUJI 1007 #define SPRITETAG_OAK 1008 #define SPRITETAG_BILL 1009 diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 17f604ee8..a27948650 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -30,7 +30,7 @@ static u16 gUnknown_3002008[7]; struct GFtgtGname gHostRFUtgtGnameBuffer; struct UnkRfuStruct_2 Rfu; -u8 gHostRFUtgtUnameBuffer[PLAYER_NAME_LENGTH]; +u8 gHostRFUtgtUnameBuffer[PLAYER_NAME_LENGTH + 1]; static void sub_80F8AA4(void); static void sub_80F8AEC(void); @@ -448,7 +448,7 @@ static void sub_80F8B34(u8 taskId) gTasks[taskId].data[1] = 8; Rfu.unk_0c = 1; CreateTask(sub_80FA834, 5); - Rfu.unk_ce8 = 1; + Rfu.unk_ce8 = TRUE; DestroyTask(taskId); break; } @@ -1337,7 +1337,7 @@ static void sub_80FA1C4(void) static void sub_80FA224(void) { - if (gSendCmd[0] == 0 && Rfu.unk_ce8 == 0) + if (gSendCmd[0] == 0 && !Rfu.unk_ce8) { sub_80F9D04(0x5f00); Rfu.RfuFunc = sub_80FA1C4; @@ -1620,7 +1620,7 @@ static void sub_80FA834(u8 taskId) if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) { - Rfu.unk_ce8 = 0; + Rfu.unk_ce8 = FALSE; DestroyTask(taskId); } switch (gTasks[taskId].data[0]) @@ -1681,7 +1681,7 @@ static void sub_80FA834(u8 taskId) case 6: DestroyTask(taskId); gReceivedRemoteLinkPlayers = 1; - Rfu.unk_ce8 = 0; + Rfu.unk_ce8 = FALSE; sub_80FEA34(1, 0x258); if (Rfu.unk_ce6) { @@ -1740,7 +1740,7 @@ static void sub_80FAA94(u8 taskId) u8 r4 = Rfu.unk_cde[gUnknown_843EC38[Rfu.unk_ce9]]; if (Rfu.unk_f1 == 1 || Rfu.unk_f1 == 2) { - Rfu.unk_ce8 = 0; + Rfu.unk_ce8 = FALSE; DestroyTask(taskId); } switch (gTasks[taskId].data[0]) @@ -1790,7 +1790,7 @@ static void sub_80FAA94(u8 taskId) { CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); ResetBlockReceivedFlag(0); - Rfu.unk_ce8 = 0; + Rfu.unk_ce8 = FALSE; if (Rfu.unk_ce6) { for (i = 0; i < RFU_CHILD_MAX; i++) @@ -1799,7 +1799,7 @@ static void sub_80FAA94(u8 taskId) { Rfu.unk_ce5 = 1 << i; Rfu.unk_ce6 ^= (1 << i); - Rfu.unk_ce8 = 1; + Rfu.unk_ce8 = TRUE; break; } } @@ -1948,7 +1948,7 @@ void sub_80FB008(u8 a0, u32 a1, u32 a2) rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); } -void sub_80FB030(u32 a0) +void sub_80FB030(u32 linkPlayerCount) { s32 i; u32 r5; @@ -1964,9 +1964,10 @@ void sub_80FB030(u32 a0) { if ((r8 >> i) & 1) { - r7 |= ((0x80 | ((gLinkPlayers[Rfu.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.unk_cde[i]].trainerId & 7)) << (r5 << 3)); + r7 |= (( + 0x80 | ((gLinkPlayers[Rfu.unk_cde[i]].gender & 1) << 3) | (gLinkPlayers[Rfu.unk_cde[i]].trainerId & 7)) << (r5 << 3)); r5++; - if (r5 == a0 - 1) + if (r5 == linkPlayerCount - 1) break; } } @@ -2214,11 +2215,11 @@ static void sub_80FB5EC(u8 a0, u8 unused1) if (idx != 0) { r1 = 1 << sub_80F886C(idx); - if (Rfu.unk_ce6 == 0 && Rfu.unk_ce8 == 0) + if (Rfu.unk_ce6 == 0 && !Rfu.unk_ce8) { Rfu.unk_ce5 = r1; Rfu.unk_ce6 |= (r1 ^ idx); - Rfu.unk_ce8 = 1; + Rfu.unk_ce8 = TRUE; } else { @@ -2360,7 +2361,7 @@ bool32 sub_80FBA00(void) return FALSE; } -bool32 sub_80FBA1C(void) +bool32 GetRfuUnkCE8(void) { return Rfu.unk_ce8; } @@ -2534,7 +2535,7 @@ void sub_80FBD6C(u32 a0) static void sub_80FBDB8(u8 taskId) { - if (gSendCmd[0] == 0 && Rfu.unk_ce8 == 0) + if (gSendCmd[0] == 0 && !Rfu.unk_ce8) { sub_80F9D04(0xED00); gSendCmd[1] = gTasks[taskId].data[0]; diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 31ea0830b..69b6603a8 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -848,7 +848,7 @@ static void ZeroName(u8 *name) { s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { *name++ = 0; } @@ -858,7 +858,7 @@ static bool32 NameIsEmpty(const u8 *name) { s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { if (*name++ != 0) { diff --git a/src/mail_data.c b/src/mail_data.c index d4fa649e1..43ca1d0e6 100644 --- a/src/mail_data.c +++ b/src/mail_data.c @@ -20,7 +20,7 @@ void ClearMailStruct(struct MailStruct *mail) for (i = 0; i < MAIL_WORDS_COUNT; i++) mail->words[i] = 0xFFFF; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) mail->playerName[i] = EOS; for (i = 0; i < 4; i++) mail->trainerId[i] = 0; @@ -52,7 +52,7 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId) { for (i = 0; i < MAIL_WORDS_COUNT; i++) gSaveBlock1Ptr->mail[id].words[i] = 0xFFFF; - for (i = 0; i < PLAYER_NAME_LENGTH - 1 && gSaveBlock2Ptr->playerName[i] != EOS; i++) + for (i = 0; i < PLAYER_NAME_LENGTH && gSaveBlock2Ptr->playerName[i] != EOS; i++) gSaveBlock1Ptr->mail[id].playerName[i] = gSaveBlock2Ptr->playerName[i]; for (; i <= 5; i++) gSaveBlock1Ptr->mail[id].playerName[i] = CHAR_SPACE; diff --git a/src/new_game.c b/src/new_game.c index 381ba28c8..05fb9c83e 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -108,7 +108,7 @@ void ResetMenuAndMonGlobals(void) void NewGameInitData(void) { - u8 rivalName[PLAYER_NAME_LENGTH]; + u8 rivalName[PLAYER_NAME_LENGTH + 1]; StringCopy(rivalName, gSaveBlock1Ptr->rivalName); gDifferentSaveFile = TRUE; @@ -143,7 +143,7 @@ void NewGameInitData(void) sub_809C794(); InitEasyChatPhrases(); ResetTrainerFanClub(); - copy_strings_to_sav1(); + UnionRoomChat_InitializeRegisteredTexts(); ResetMiniGamesResults(); sub_8143D24(); SetAllRenewableItemFlags(); diff --git a/src/oak_speech.c b/src/oak_speech.c index 0ad5d6a6f..6887ff85a 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -1902,8 +1902,8 @@ static void GetDefaultName(u8 arg0, u8 namePick) src = sRivalNameChoices[namePick]; dest = gSaveBlock1Ptr->rivalName; } - for (i = 0; i < PLAYER_NAME_LENGTH - 1 && src[i] != EOS; i++) + for (i = 0; i < PLAYER_NAME_LENGTH && src[i] != EOS; i++) dest[i] = src[i]; - for (; i < PLAYER_NAME_LENGTH; i++) + for (; i < PLAYER_NAME_LENGTH + 1; i++) dest[i] = EOS; } diff --git a/src/pokemon.c b/src/pokemon.c index d1305861a..09e2ed998 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2991,7 +2991,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) { retVal = 0; - // FRLG changed this to 7 which used to be PLAYER_NAME_LENGTH + // FRLG changed this to 7 which used to be PLAYER_NAME_LENGTH + 1 while (retVal < 7) { data[retVal] = boxMon->otName[retVal]; @@ -5769,7 +5769,7 @@ s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor) bool8 IsTradedMon(struct Pokemon *mon) { - u8 otName[7 + 1]; // change PLAYER_NAME_LENGTH to 7 + u8 otName[PLAYER_NAME_LENGTH]; u32 otId; GetMonData(mon, MON_DATA_OT_NAME, otName); otId = GetMonData(mon, MON_DATA_OT_ID, 0); diff --git a/src/quest_log.c b/src/quest_log.c index 0cda4eb77..a02aea302 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -2411,8 +2411,8 @@ static void BufferFanClubTrainerName(struct LinkBattleRecords *linkRecords, u8 w else { str = gStringVar1; - StringCopyN(str, linkTrainerName, PLAYER_NAME_LENGTH - 1); - str[PLAYER_NAME_LENGTH - 1] = EOS; + StringCopyN(str, linkTrainerName, PLAYER_NAME_LENGTH); + str[PLAYER_NAME_LENGTH] = EOS; if ( str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN) { @@ -3401,8 +3401,8 @@ static const u16 *BufferQuestLogText_LinkTraded(const u16 *a0) { const u16 *r6 = a0 + 4; - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memcpy(gStringVar1, r6, PLAYER_NAME_LENGTH - 1); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(gStringVar1, r6, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); // Mon received @@ -3435,7 +3435,7 @@ static u16 *BufferQuestLogData_LinkBattledSingle(u16 *a0, const u16 *eventData) a0[0] = QL_EVENT_LINK_BATTLED_SINGLE; a0[1] = sQuestLogIdx; *((u8 *)a0 + 4) = *((const u8 *)eventData + 0); - memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH - 1); + memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH); a0 += 6; return a0; } @@ -3444,8 +3444,8 @@ static const u16 *BufferQuestLogText_LinkBattledSingle(const u16 *a0) { DynamicPlaceholderTextUtil_Reset(); - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH - 1); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); @@ -3459,7 +3459,7 @@ static u16 *BufferQuestLogData_LinkBattledDouble(u16 *a0, const u16 *eventData) a0[0] = QL_EVENT_LINK_BATTLED_DOUBLE; a0[1] = sQuestLogIdx; *((u8 *)a0 + 4) = *((const u8 *)eventData + 0); - memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH - 1); + memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH); a0 += 6; return a0; } @@ -3468,8 +3468,8 @@ static const u16 *BufferQuestLogText_LinkBattledDouble(const u16 *a0) { DynamicPlaceholderTextUtil_Reset(); - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH - 1); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, sBattleOutcomeTexts[((const u8 *)a0)[4]]); @@ -3483,9 +3483,9 @@ static u16 *BufferQuestLogData_LinkBattledMulti(u16 *a0, const u16 *eventData) a0[0] = QL_EVENT_LINK_BATTLED_MULTI; a0[1] = sQuestLogIdx; *((u8 *)a0 + 4) = *((const u8 *)eventData + 0); - memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH - 1); - memcpy((u8 *)a0 + 12, (const u8 *)eventData + 8, PLAYER_NAME_LENGTH - 1); - memcpy((u8 *)a0 + 19, (const u8 *)eventData + 15, PLAYER_NAME_LENGTH - 1); + memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH); + memcpy((u8 *)a0 + 12, (const u8 *)eventData + 8, PLAYER_NAME_LENGTH); + memcpy((u8 *)a0 + 19, (const u8 *)eventData + 15, PLAYER_NAME_LENGTH); a0 += 13; return a0; } @@ -3494,9 +3494,9 @@ static const u16 *BufferQuestLogText_LinkBattledMulti(const u16 *a0) { DynamicPlaceholderTextUtil_Reset(); - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memset(gStringVar2, EOS, PLAYER_NAME_LENGTH); - memset(gStringVar3, EOS, PLAYER_NAME_LENGTH); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memset(gStringVar2, EOS, PLAYER_NAME_LENGTH + 1); + memset(gStringVar3, EOS, PLAYER_NAME_LENGTH + 1); StringCopy7(gStringVar1, (const u8 *)a0 + 5); StringCopy7(gStringVar2, (const u8 *)a0 + 12); StringCopy7(gStringVar3, (const u8 *)a0 + 19); @@ -3548,7 +3548,7 @@ static u16 *BufferQuestLogData_LinkTradedUnionRoom(u16 *a0, const u16 *eventData a0[1] = sQuestLogIdx; a0[2] = eventData[0]; a0[3] = eventData[1]; - memcpy(r4, eventData + 2, PLAYER_NAME_LENGTH - 1); + memcpy(r4, eventData + 2, PLAYER_NAME_LENGTH); r4 += 8; return (u16 *)r4; } @@ -3556,8 +3556,8 @@ static u16 *BufferQuestLogData_LinkTradedUnionRoom(u16 *a0, const u16 *eventData static const u16 *BufferQuestLogText_LinkTradedUnionRoom(const u16 *a0) { const u8 *r6 = (const u8 *)(a0 + 4); - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memcpy(gStringVar1, r6, PLAYER_NAME_LENGTH - 1); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(gStringVar1, r6, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); QuestLog_GetSpeciesName(a0[3], gStringVar2, 0); QuestLog_GetSpeciesName(a0[2], gStringVar3, 0); @@ -3571,15 +3571,15 @@ static u16 *BufferQuestLogData_LinkBattledUnionRoom(u16 *a0, const u16 *eventDat a0[0] = QL_EVENT_LINK_BATTLED_UNION; a0[1] = sQuestLogIdx; *(u8 *)&a0[2] = *(const u8 *)&eventData[0]; - memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH - 1); + memcpy((u8 *)a0 + 5, (const u8 *)eventData + 1, PLAYER_NAME_LENGTH); a0 += 6; return a0; } static const u16 *BufferQuestLogText_LinkBattledUnionRoom(const u16 *a0) { - memset(gStringVar1, EOS, PLAYER_NAME_LENGTH); - memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH - 1); + memset(gStringVar1, EOS, PLAYER_NAME_LENGTH + 1); + memcpy(gStringVar1, (const u8 *)a0 + 5, PLAYER_NAME_LENGTH); BufferLinkPartnersName(gStringVar1); StringCopy(gStringVar2, sBattleOutcomeTexts[*(const u8 *)&a0[2]]); StringExpandPlaceholders(gStringVar4, QuestLog_Text_BattledTrainerEndedInOutcome); diff --git a/src/seagallop.c b/src/seagallop.c index 10ea97fec..aa0c48da1 100644 --- a/src/seagallop.c +++ b/src/seagallop.c @@ -176,7 +176,7 @@ static const struct SpriteTemplate sWakeSpriteTemplate = { SpriteCB_Wake }; -void ScrSpecial_SeagallopFerry(void) +void DoSeagallopFerryScene(void) { SetVBlankCallback(NULL); HelpSystem_Disable(); @@ -459,7 +459,8 @@ static bool8 GetDirectionOfTravel(void) return (sTravelDirectionMatrix[gSpecialVar_0x8004] >> gSpecialVar_0x8006) & 1; } -u8 sub_8147500(void) +// For "All aboard SEAGALLOP HI-SPEED ##" text +u8 GetSeagallopNumber(void) { u16 originId, destId; @@ -478,21 +479,34 @@ u8 sub_8147500(void) if (originId == SEAGALLOP_BIRTH_ISLAND || destId == SEAGALLOP_BIRTH_ISLAND) return 12; - if ((originId == SEAGALLOP_ONE_ISLAND || originId == SEAGALLOP_TWO_ISLAND || originId == SEAGALLOP_THREE_ISLAND) && (destId == SEAGALLOP_ONE_ISLAND || destId == SEAGALLOP_TWO_ISLAND || destId == SEAGALLOP_THREE_ISLAND)) + if ((originId == SEAGALLOP_ONE_ISLAND + || originId == SEAGALLOP_TWO_ISLAND + || originId == SEAGALLOP_THREE_ISLAND) + && (destId == SEAGALLOP_ONE_ISLAND + || destId == SEAGALLOP_TWO_ISLAND + || destId == SEAGALLOP_THREE_ISLAND)) return 2; - if ((originId == SEAGALLOP_FOUR_ISLAND || originId == SEAGALLOP_FIVE_ISLAND) && (destId == SEAGALLOP_FOUR_ISLAND || destId == SEAGALLOP_FIVE_ISLAND)) + if ((originId == SEAGALLOP_FOUR_ISLAND + || originId == SEAGALLOP_FIVE_ISLAND) + && (destId == SEAGALLOP_FOUR_ISLAND + || destId == SEAGALLOP_FIVE_ISLAND)) return 3; - if ((originId == SEAGALLOP_SIX_ISLAND || originId == SEAGALLOP_SEVEN_ISLAND) && (destId == SEAGALLOP_SIX_ISLAND || destId == SEAGALLOP_SEVEN_ISLAND)) + if ((originId == SEAGALLOP_SIX_ISLAND + || originId == SEAGALLOP_SEVEN_ISLAND) + && (destId == SEAGALLOP_SIX_ISLAND + || destId == SEAGALLOP_SEVEN_ISLAND)) return 5; return 6; } -bool8 sub_8147594(void) +bool8 IsPlayerLeftOfVermilionSailor(void) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(VERMILION_CITY) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(VERMILION_CITY) && gSaveBlock1Ptr->pos.x < 24) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(VERMILION_CITY) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(VERMILION_CITY) + && gSaveBlock1Ptr->pos.x < 24) return TRUE; return FALSE; diff --git a/src/trade.c b/src/trade.c index 05a259e60..fe5f53be9 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1,41 +1,22 @@ #include "global.h" -#include "palette.h" +#include "gflib.h" #include "task.h" #include "decompress.h" -#include "gpu_regs.h" -#include "malloc.h" -#include "bg.h" -#include "text.h" -#include "window.h" -#include "librfu.h" #include "text_window.h" -#include "evolution_scene.h" #include "pokemon_icon.h" -#include "pokedex.h" -#include "mail_data.h" #include "graphics.h" #include "link.h" -#include "random.h" -#include "save.h" #include "load_save.h" -#include "quest_log.h" -#include "field_fadetransition.h" -#include "mevent.h" -#include "help_system.h" #include "link_rfu.h" #include "cable_club.h" #include "data.h" -#include "sound.h" -#include "string_util.h" #include "strings.h" #include "menu.h" #include "overworld.h" #include "battle_anim.h" #include "pokeball.h" #include "party_menu.h" -#include "util.h" #include "daycare.h" -#include "script.h" #include "event_data.h" #include "battle_interface.h" #include "pokemon_summary_screen.h" @@ -43,11 +24,7 @@ #include "new_menu_helpers.h" #include "trade.h" #include "trade_scene.h" -#include "constants/species.h" -#include "constants/items.h" -#include "constants/easy_chat.h" #include "constants/songs.h" -#include "constants/region_map.h" #include "constants/moves.h" struct TradeMenuResources diff --git a/src/union_room.c b/src/union_room.c index 4e3428cc6..f942fb7d3 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -1852,7 +1852,7 @@ static void sub_81175BC(u8 taskId) sub_80F8D14(); SetHostRFUtgtGname(69, 0, 1); } - sub_8128420(); + EnterUnionRoomChat(); break; case 8: case 72: @@ -3385,7 +3385,7 @@ static void sub_81199FC(u8 taskId) case 2: if (sUnionRoomPlayerName[0] == EOS) { - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) { if (structPtr->field_0->arr[i].field_1A_0 == 1) { diff --git a/src/union_room_chat.c b/src/union_room_chat.c new file mode 100644 index 000000000..15601c028 --- /dev/null +++ b/src/union_room_chat.c @@ -0,0 +1,1452 @@ +#include "global.h" +#include "gflib.h" +#include "dynamic_placeholder_text_util.h" +#include "help_system.h" +#include "link.h" +#include "link_rfu.h" +#include "load_save.h" +#include "menu.h" +#include "overworld.h" +#include "quest_log.h" +#include "save.h" +#include "scanline_effect.h" +#include "strings.h" +#include "task.h" +#include "union_room_chat.h" +#include "union_room_chat_display.h" +#include "data_8479668.h" +#include "constants/songs.h" + +#define MESSAGE_BUFFER_NCHAR 15 + +#define CHAT_MESSAGE_0 0 +#define CHAT_MESSAGE_CHAT 1 +#define CHAT_MESSAGE_JOIN 2 +#define CHAT_MESSAGE_LEAVE 3 +#define CHAT_MESSAGE_DROP 4 +#define CHAT_MESSAGE_DISBAND 5 + +#define CHATENTRYROUTINE_JOIN 0 +#define CHATNETRYROUTINE_HANDLE_INPUT 1 +#define CHATENTRYROUTINE_SWITCH 2 +#define CHATENTRYROUTINE_ASKQUITCHATTING 3 +#define CHATENTRYROUTINE_SEND 4 +#define CHATENTRYROUTINE_REGISTER 5 +#define CHATENTRYROUTINE_EXITCHAT 6 +#define CHATENTRYROUTINE_DROP 7 +#define CHATENTRYROUTINE_DISBANDED 8 +#define CHATENTRYROUTINE_SAVEANDEXIT 9 + +#define CHATEXIT_NONE 0 +#define CHATEXIT_LEADER_LAST 1 +#define CHATEXIT_DROPPED 2 +#define CHATEXIT_DISBANDED 3 + +struct UnionRoomChat +{ + u8 filler0[0x4]; + u16 routineNo; + u16 routineState; + u8 filler8[0x2]; + u16 exitDelayTimer; + u8 fillerC[0x1]; + u8 linkPlayerCount; + u8 handleInputTask; + u8 receiveMessagesTask; + u8 currentPage; + u8 currentCol; + u8 currentRow; + u8 multiplayerId; + u8 lastBufferCursorPos; + u8 bufferCursorPos; + u8 receivedPlayerIndex; + u8 exitType; + bool8 changedRegisteredTexts; + u8 afterSaveTimer; + u8 messageEntryBuffer[2 * MESSAGE_BUFFER_NCHAR + 1]; + u8 receivedMessage[0x40]; + u8 hostName[0x40]; + u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21]; + u8 filler18B[0x5]; + u8 sendMessageBuffer[0x28]; +}; + +static EWRAM_DATA struct UnionRoomChat * sWork = NULL; + +static void InitChatWork(struct UnionRoomChat * unionRoomChat); +static void CB2_LoadInterface(void); +static void VBlankCB_UnionRoomChatMain(void); +static void CB2_UnionRoomChatMain(void); +static void Task_HandlePlayerInput(u8 taskId); +static void ChatEntryRoutine_Join(void); +static void ChatEntryRoutine_HandleInput(void); +static void ChatEntryRoutine_Switch(void); +static void ChatEntryRoutine_AskQuitChatting(void); +static void ChatEntryRoutine_ExitChat(void); +static void ChatEntryRoutine_Drop(void); +static void ChatEntryRoutine_Disbanded(void); +static void ChatEntryRoutine_SendMessage(void); +static void ChatEntryRoutine_Register(void); +static void ChatEntryRoutine_SaveAndExit(void); +static void GoToRoutine(u16 routineNo); +static bool32 TypeChatMessage_HandleDPad(void); +static void AppendCharacterToChatMessageBuffer(void); +static void DeleteLastCharacterOfChatMessageBuffer(void); +static void ToggleCaseOfLastCharacterInChatMessageBuffer(void); +static bool32 ChatMsgHasAtLeastOneCharcter(void); +static void RegisterTextAtRow(void); +static void ResetMessageEntryBuffer(void); +static void SaveRegisteredTextsToSB1(void); +static u8 *GetEndOfUnk1A(void); +static u8 *GetPtrToLastCharOfUnk1A(void); +static void PrepareSendBuffer_Null(u8 *ptr); +static void PrepareSendBuffer_Join(u8 *ptr); +static void PrepareSendBuffer_Chat(u8 *ptr); +static void PrepareSendBuffer_Leave(u8 *ptr); +static void PrepareSendBuffer_Drop(u8 *ptr); +static void PrepareSendBuffer_Disband(u8 *ptr); +static void Task_ReceiveChatMessage(u8 taskId); + +static void (*const sChatEntryRoutines[])(void) = { + [CHATENTRYROUTINE_JOIN] = ChatEntryRoutine_Join, + [CHATNETRYROUTINE_HANDLE_INPUT] = ChatEntryRoutine_HandleInput, + [CHATENTRYROUTINE_SWITCH] = ChatEntryRoutine_Switch, + [CHATENTRYROUTINE_ASKQUITCHATTING] = ChatEntryRoutine_AskQuitChatting, + [CHATENTRYROUTINE_SEND] = ChatEntryRoutine_SendMessage, + [CHATENTRYROUTINE_REGISTER] = ChatEntryRoutine_Register, + [CHATENTRYROUTINE_EXITCHAT] = ChatEntryRoutine_ExitChat, + [CHATENTRYROUTINE_DROP] = ChatEntryRoutine_Drop, + [CHATENTRYROUTINE_DISBANDED] = ChatEntryRoutine_Disbanded, + [CHATENTRYROUTINE_SAVEANDEXIT] = ChatEntryRoutine_SaveAndExit +}; + +static const u8 sKeyboardPageMaxRow[] = +{ + [UNION_ROOM_KB_PAGE_UPPER] = 9, + [UNION_ROOM_KB_PAGE_LOWER] = 9, + [UNION_ROOM_KB_PAGE_EMOJI] = 9, + 9 +}; + +static const u8 sCaseToggleTable[] = { + 0x00, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24, + 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02, + 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, + 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, + 0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00, + 0x00, 0x00, 0x6F, 0x5B, 0x5C, 0x5D, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, + 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, + 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, + 0xB8, 0xB9, 0xBA, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, + 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, + 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, + 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xBB, 0xBC, 0xBD, + 0xBE, 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, + 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xEF, + 0xF0, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT] = { + [UNION_ROOM_KB_PAGE_UPPER] = { + gText_UnionRoomChatKeyboard_ABCDE, + gText_UnionRoomChatKeyboard_FGHIJ, + gText_UnionRoomChatKeyboard_KLMNO, + gText_UnionRoomChatKeyboard_PQRST, + gText_UnionRoomChatKeyboard_UVWXY, + gText_UnionRoomChatKeyboard_Z, + gText_UnionRoomChatKeyboard_01234Upper, + gText_UnionRoomChatKeyboard_56789Upper, + gText_UnionRoomChatKeyboard_PunctuationUpper, + gText_UnionRoomChatKeyboard_SymbolsUpper + }, + [UNION_ROOM_KB_PAGE_LOWER] = { + gText_UnionRoomChatKeyboard_abcde, + gText_UnionRoomChatKeyboard_fghij, + gText_UnionRoomChatKeyboard_klmno, + gText_UnionRoomChatKeyboard_pqrst, + gText_UnionRoomChatKeyboard_uvwxy, + gText_UnionRoomChatKeyboard_z, + gText_UnionRoomChatKeyboard_01234Lower, + gText_UnionRoomChatKeyboard_56789Lower, + gText_UnionRoomChatKeyboard_PunctuationLower, + gText_UnionRoomChatKeyboard_SymbolsLower + }, + [UNION_ROOM_KB_PAGE_EMOJI] = { + gText_UnionRoomChatKeyboard_Emoji1, + gText_UnionRoomChatKeyboard_Emoji2, + gText_UnionRoomChatKeyboard_Emoji3, + gText_UnionRoomChatKeyboard_Emoji4, + gText_UnionRoomChatKeyboard_Emoji5, + gText_UnionRoomChatKeyboard_Emoji6, + gText_UnionRoomChatKeyboard_Emoji7, + gText_UnionRoomChatKeyboard_Emoji8, + gText_UnionRoomChatKeyboard_Emoji9, + gText_UnionRoomChatKeyboard_Emoji10 + } +}; + +void EnterUnionRoomChat(void) +{ + sWork = Alloc(sizeof(struct UnionRoomChat)); + InitChatWork(sWork); + gKeyRepeatStartDelay = 20; + sub_812B4AC(); + SetVBlankCallback(NULL); + SetMainCallback2(CB2_LoadInterface); +} + +static void InitChatWork(struct UnionRoomChat * unionRoomChat) +{ + int i; + + unionRoomChat->routineNo = CHATENTRYROUTINE_JOIN; + unionRoomChat->routineState = 0; + unionRoomChat->currentPage = UNION_ROOM_KB_PAGE_UPPER; + unionRoomChat->currentCol = 0; + unionRoomChat->currentRow = 0; + unionRoomChat->lastBufferCursorPos = 0; + unionRoomChat->bufferCursorPos = 0; + unionRoomChat->receivedPlayerIndex = 0; + unionRoomChat->messageEntryBuffer[0] = EOS; + unionRoomChat->linkPlayerCount = GetLinkPlayerCount(); + unionRoomChat->multiplayerId = GetMultiplayerId(); + unionRoomChat->exitType = 0; + unionRoomChat->changedRegisteredTexts = FALSE; + PrepareSendBuffer_Null(unionRoomChat->sendMessageBuffer); + for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++) + StringCopy(unionRoomChat->registeredTexts[i], gSaveBlock1Ptr->registeredTexts[i]); +} + +static void FreeChatWork(void) +{ + DestroyTask(sWork->handleInputTask); + DestroyTask(sWork->receiveMessagesTask); + Free(sWork); +} + +static void CB2_LoadInterface(void) +{ + switch (gMain.state) + { + case 0: + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + UnionRoomChat_TryAllocGraphicsWork(); + gMain.state++; + break; + case 1: + UnionRoomChat_RunDisplaySubtasks(); + if (!UnionRoomChat_RunDisplaySubtask0()) + { + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + SetVBlankCallback(VBlankCB_UnionRoomChatMain); + gMain.state++; + } + break; + case 2: + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_UnionRoomChatMain); + SetQuestLogEvent(QL_EVENT_USED_UNION_ROOM_CHAT, NULL); + sWork->handleInputTask = CreateTask(Task_HandlePlayerInput, 8); + sWork->receiveMessagesTask = CreateTask(Task_ReceiveChatMessage, 7); + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(232, 150); + } + break; + } +} + +static void VBlankCB_UnionRoomChatMain(void) +{ + TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + ScanlineEffect_InitHBlankDmaTransfer(); +} + +static void CB2_UnionRoomChatMain(void) +{ + RunTasks(); + UnionRoomChat_RunDisplaySubtasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void Task_HandlePlayerInput(u8 taskId) +{ + switch (sWork->exitType) + { + case CHATEXIT_LEADER_LAST: + GoToRoutine(CHATENTRYROUTINE_EXITCHAT); + sWork->exitType = CHATEXIT_NONE; + break; + case CHATEXIT_DROPPED: + GoToRoutine(CHATENTRYROUTINE_DROP); + sWork->exitType = CHATEXIT_NONE; + break; + case CHATEXIT_DISBANDED: + GoToRoutine(CHATENTRYROUTINE_DISBANDED); + sWork->exitType = CHATEXIT_NONE; + break; + } + + sChatEntryRoutines[sWork->routineNo](); +} + +static void ChatEntryRoutine_Join(void) +{ + switch (sWork->routineState) + { + case 0: + PrepareSendBuffer_Join(sWork->sendMessageBuffer); + sWork->routineState++; + // fall through + case 1: + if (IsLinkTaskFinished() && !GetRfuUnkCE8()) + { + if (SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer))) + sWork->routineState++; + } + break; + case 2: + if (IsLinkTaskFinished()) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + } +} + +static void ChatEntryRoutine_HandleInput(void) +{ + bool8 var0, var1; + + switch (sWork->routineState) + { + case 0: + if (JOY_NEW(START_BUTTON)) + { + if (sWork->bufferCursorPos) + GoToRoutine(CHATENTRYROUTINE_SEND); + } + else if (JOY_NEW(SELECT_BUTTON)) + { + GoToRoutine(CHATENTRYROUTINE_SWITCH); + } + else if (JOY_REPT(B_BUTTON)) + { + if (sWork->bufferCursorPos) + { + DeleteLastCharacterOfChatMessageBuffer(); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTMSG, 0); + sWork->routineState = 1; + } + else + { + GoToRoutine(CHATENTRYROUTINE_ASKQUITCHATTING); + } + } + else if (JOY_NEW(A_BUTTON)) + { + AppendCharacterToChatMessageBuffer(); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTMSG, 0); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_CURSORBLINK, 1); + sWork->routineState = 1; + } + else if (JOY_NEW(R_BUTTON)) + { + if (sWork->currentPage != UNION_ROOM_KB_PAGE_COUNT) + { + ToggleCaseOfLastCharacterInChatMessageBuffer(); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTMSG, 0); + sWork->routineState = 1; + } + else + { + GoToRoutine(CHATENTRYROUTINE_REGISTER); + } + } + else if (TypeChatMessage_HandleDPad()) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_MOVEKBCURSOR, 0); + sWork->routineState = 1; + } + break; + case 1: + var0 = RunDisplaySubtask(0); + var1 = RunDisplaySubtask(1); + if (!var0 && !var1) + sWork->routineState = 0; + break; + } +} + +static void ChatEntryRoutine_Switch(void) +{ + s16 input; + bool32 shouldSwitchPages; + + switch (sWork->routineState) + { + case 0: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_SHOWKBSWAPMENU, 0); + sWork->routineState++; + break; + case 1: + if (!RunDisplaySubtask(0)) + sWork->routineState++; + break; + case 2: + input = Menu_ProcessInput(); + switch (input) + { + default: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_HIDEKBSWAPMENU, 0); + shouldSwitchPages = TRUE; + if (sWork->currentPage == input || input > UNION_ROOM_KB_PAGE_COUNT) + shouldSwitchPages = FALSE; + break; + case MENU_NOTHING_CHOSEN: + if (JOY_NEW(SELECT_BUTTON)) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(1); + } + return; + case MENU_B_PRESSED: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_HIDEKBSWAPMENU, 0); + sWork->routineState = 3; + return; + } + + if (!shouldSwitchPages) + { + sWork->routineState = 3; + return; + } + + sWork->currentCol = 0; + sWork->currentRow = 0; + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_SWITCHPAGES, 1); + sWork->currentPage = input; + sWork->routineState = 4; + break; + case 3: + // Wait Return To Prev Page + if (!RunDisplaySubtask(0)) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + case 4: + // Wait Page Switch + if (!RunDisplaySubtask(0) && !RunDisplaySubtask(1)) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + } +} + +static void ChatEntryRoutine_AskQuitChatting(void) +{ + s8 input; + + switch (sWork->routineState) + { + case 0: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_SHOWQUITCHATTINGDIALOG, 0); + sWork->routineState = 1; + break; + case 1: + if (!RunDisplaySubtask(0)) + sWork->routineState = 2; + break; + case 2: + input = UnionRoomChat_ProcessInput(); + switch (input) + { + case -1: + case 1: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 3; + break; + case 0: + if (sWork->multiplayerId == 0) + { + PrepareSendBuffer_Disband(sWork->sendMessageBuffer); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 9; + } + else + { + PrepareSendBuffer_Leave(sWork->sendMessageBuffer); + sWork->routineState = 4; + } + break; + } + break; + case 3: + if (!RunDisplaySubtask(0)) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + case 9: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_SHOWCONFIRMLEADERLEAVEDIALOG, 0); + sWork->routineState = 10; + } + break; + case 10: + if (!RunDisplaySubtask(0)) + sWork->routineState = 8; + break; + case 8: + input = UnionRoomChat_ProcessInput(); + switch (input) + { + case -1: + case 1: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 3; + break; + case 0: + sub_80FA4A8(); + PrepareSendBuffer_Disband(sWork->sendMessageBuffer); + sWork->routineState = 4; + break; + } + break; + case 4: + if (IsLinkTaskFinished() && !GetRfuUnkCE8() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer))) + { + if (sWork->multiplayerId == 0) + sWork->routineState = 6; + else + sWork->routineState = 5; + } + break; + case 5: + if (gReceivedRemoteLinkPlayers == 0) + { + GoToRoutine(CHATENTRYROUTINE_SAVEANDEXIT); + } + break; + } +} + +static void ChatEntryRoutine_ExitChat(void) +{ + switch (sWork->routineState) + { + case 0: + if (!FuncIsActiveTask(Task_ReceiveChatMessage)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState++; + } + break; + case 1: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTEXITINGCHAT, 0); + sWork->routineState++; + } + break; + case 2: + if (!RunDisplaySubtask(0)) + { + PrepareSendBuffer_Drop(sWork->sendMessageBuffer); + sWork->routineState++; + } + break; + case 3: + if (IsLinkTaskFinished() && !GetRfuUnkCE8() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer))) + sWork->routineState++; + break; + case 4: + if ((GetBlockReceivedStatus() & 1) && !GetRfuUnkCE8()) + sWork->routineState++; + break; + case 5: + if (IsLinkTaskFinished() && !GetRfuUnkCE8()) + { + sub_800AAC0(); + sWork->exitDelayTimer = 0; + sWork->routineState++; + } + break; + case 6: + if (sWork->exitDelayTimer < 150) + sWork->exitDelayTimer++; + + if (!gReceivedRemoteLinkPlayers) + sWork->routineState++; + break; + case 7: + if (sWork->exitDelayTimer >= 150) + GoToRoutine(CHATENTRYROUTINE_SAVEANDEXIT); + else + sWork->exitDelayTimer++; + break; + } +} + +static void ChatEntryRoutine_Drop(void) +{ + switch (sWork->routineState) + { + case 0: + if (!FuncIsActiveTask(Task_ReceiveChatMessage)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState++; + } + break; + case 1: + if (!RunDisplaySubtask(0) && IsLinkTaskFinished() && !GetRfuUnkCE8()) + { + sub_800AAC0(); + sWork->exitDelayTimer = 0; + sWork->routineState++; + } + break; + case 2: + if (sWork->exitDelayTimer < 150) + sWork->exitDelayTimer++; + + if (!gReceivedRemoteLinkPlayers) + sWork->routineState++; + break; + case 3: + if (sWork->exitDelayTimer >= 150) + GoToRoutine(CHATENTRYROUTINE_SAVEANDEXIT); + else + sWork->exitDelayTimer++; + break; + } +} + +static void ChatEntryRoutine_Disbanded(void) +{ + switch (sWork->routineState) + { + case 0: + if (!FuncIsActiveTask(Task_ReceiveChatMessage)) + { + if (sWork->multiplayerId) + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + + sWork->routineState++; + } + break; + case 1: + if (!RunDisplaySubtask(0)) + { + if (sWork->multiplayerId != 0) + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTLEADERLEFT, 0); + + sWork->routineState++; + } + break; + case 2: + if (RunDisplaySubtask(0) != TRUE && IsLinkTaskFinished() && !GetRfuUnkCE8()) + { + sub_800AAC0(); + sWork->exitDelayTimer = 0; + sWork->routineState++; + } + break; + case 3: + if (sWork->exitDelayTimer < 150) + sWork->exitDelayTimer++; + + if (!gReceivedRemoteLinkPlayers) + sWork->routineState++; + break; + case 4: + if (sWork->exitDelayTimer >= 150) + GoToRoutine(CHATENTRYROUTINE_SAVEANDEXIT); + else + sWork->exitDelayTimer++; + break; + } +} + +static void ChatEntryRoutine_SendMessage(void) +{ + switch (sWork->routineState) + { + case 0: + if (!gReceivedRemoteLinkPlayers) + { + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + } + + PrepareSendBuffer_Chat(sWork->sendMessageBuffer); + sWork->routineState++; + // fall through + case 1: + if (IsLinkTaskFinished() == TRUE && !GetRfuUnkCE8() && SendBlock(0, sWork->sendMessageBuffer, sizeof(sWork->sendMessageBuffer))) + sWork->routineState++; + break; + case 2: + ResetMessageEntryBuffer(); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTMSG, 0); + sWork->routineState++; + break; + case 3: + if (!RunDisplaySubtask(0)) + sWork->routineState++; + break; + case 4: + if (IsLinkTaskFinished()) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + } +} + +static void ChatEntryRoutine_Register(void) +{ + switch (sWork->routineState) + { + case 0: + if (ChatMsgHasAtLeastOneCharcter()) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTREGISTERWHERE, 0); + sWork->routineState = 2; + } + else + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTINPUTTEXT, 0); + sWork->routineState = 5; + } + break; + case 1: + if (JOY_NEW(A_BUTTON)) + { + RegisterTextAtRow(); + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_RETURNTOKB, 0); + sWork->routineState = 3; + } + else if (JOY_NEW(B_BUTTON)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_CANCELREGISTER, 0); + sWork->routineState = 4; + } + else if (TypeChatMessage_HandleDPad()) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_MOVEKBCURSOR, 0); + sWork->routineState = 2; + } + break; + case 2: + if (!RunDisplaySubtask(0)) + sWork->routineState = 1; + break; + case 3: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_CANCELREGISTER, 0); + sWork->routineState = 4; + } + break; + case 4: + if (!RunDisplaySubtask(0)) + GoToRoutine(CHATNETRYROUTINE_HANDLE_INPUT); + break; + case 5: + if (!RunDisplaySubtask(0)) + sWork->routineState = 6; + break; + case 6: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 4; + } + break; + } +} + +static void ChatEntryRoutine_SaveAndExit(void) +{ + s8 input; + + switch (sWork->routineState) + { + case 0: + if (!sWork->changedRegisteredTexts) + { + sWork->routineState = 12; + } + else + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 1; + } + break; + case 1: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_ASKSAVE, 0); + sWork->routineState = 2; + } + break; + case 2: + input = UnionRoomChat_ProcessInput(); + switch (input) + { + case -1: + case 1: + sWork->routineState = 12; + break; + case 0: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 3; + break; + } + break; + case 3: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_ASKOVERWRITESAVE, 0); + sWork->routineState = 4; + } + break; + case 4: + if (!RunDisplaySubtask(0)) + sWork->routineState = 5; + break; + case 5: + input = UnionRoomChat_ProcessInput(); + switch (input) + { + case -1: + case 1: + sWork->routineState = 12; + break; + case 0: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, 0); + sWork->routineState = 6; + break; + } + break; + case 6: + if (!RunDisplaySubtask(0)) + { + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTSAVING, 0); + SaveRegisteredTextsToSB1(); + sWork->routineState = 7; + } + break; + case 7: + if (!RunDisplaySubtask(0)) + { + SetContinueGameWarpStatusToDynamicWarp(); + TrySavingData(SAVE_NORMAL); + sWork->routineState = 8; + } + break; + case 8: + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_PRINTSAVEDTHEGAME, 0); + sWork->routineState = 9; + break; + case 9: + if (!RunDisplaySubtask(0)) + { + PlaySE(SE_SAVE); + ClearContinueGameWarpStatus2(); + sWork->routineState = 10; + } + break; + case 10: + sWork->afterSaveTimer = 0; + sWork->routineState = 11; + break; + case 11: + sWork->afterSaveTimer++; + if (sWork->afterSaveTimer > 120) + sWork->routineState = 12; + break; + case 12: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + sWork->routineState = 13; + break; + case 13: + if (!gPaletteFade.active) + { + sub_812B4B8(); + UnionRoomChat_FreeGraphicsWork(); + FreeChatWork(); + SetMainCallback2(CB2_ReturnToField); + } + break; + } +} + +static void GoToRoutine(u16 routineNo) +{ + sWork->routineNo = routineNo; + sWork->routineState = 0; +} + +static bool32 TypeChatMessage_HandleDPad(void) +{ + do + { + if (JOY_REPT(DPAD_UP)) + { + if (sWork->currentRow) + sWork->currentRow--; + else + sWork->currentRow = sKeyboardPageMaxRow[sWork->currentPage]; + + break; + } + if (JOY_REPT(DPAD_DOWN)) + { + if (sWork->currentRow < sKeyboardPageMaxRow[sWork->currentPage]) + { + sWork->currentRow++; + } + else + { + sWork->currentRow = 0; + } + + break; + } + if (sWork->currentPage != UNION_ROOM_KB_PAGE_COUNT) + { + if (JOY_REPT(DPAD_LEFT)) + { + if (sWork->currentCol) + sWork->currentCol--; + else + sWork->currentCol = 4; + break; + } + if (JOY_REPT(DPAD_RIGHT)) + { + if (sWork->currentCol < 4) + sWork->currentCol++; + else + sWork->currentCol = 0; + break; + } + } + + return FALSE; + } while (0); + return TRUE; +} + +static void AppendCharacterToChatMessageBuffer(void) +{ + int i; + const u8 *charsStr; + int strLength; + u8 *str; + u8 buffer[21]; + + if (sWork->currentPage != UNION_ROOM_KB_PAGE_COUNT) + { + charsStr = gUnionRoomKeyboardText[sWork->currentPage][sWork->currentRow]; + for (i = 0; i < sWork->currentCol; i++) + { + if (*charsStr == CHAR_EXTRA_EMOJI) + charsStr++; + charsStr++; + } + + strLength = 1; + } + else + { + u8 *tempStr = StringCopy(buffer, sWork->registeredTexts[sWork->currentRow]); + tempStr[0] = CHAR_SPACE; + tempStr[1] = EOS; + charsStr = buffer; + strLength = StringLength_Multibyte(buffer); + } + + sWork->lastBufferCursorPos = sWork->bufferCursorPos; + if (!charsStr) + return; + + str = GetEndOfUnk1A(); + while (--strLength != -1 && sWork->bufferCursorPos < MESSAGE_BUFFER_NCHAR) + { + if (*charsStr == CHAR_EXTRA_EMOJI) + { + *str = *charsStr; + charsStr++; + str++; + } + + *str = *charsStr; + charsStr++; + str++; + + sWork->bufferCursorPos++; + } + + *str = EOS; +} + +static void DeleteLastCharacterOfChatMessageBuffer(void) +{ + sWork->lastBufferCursorPos = sWork->bufferCursorPos; + if (sWork->bufferCursorPos) + { + u8 *str = GetPtrToLastCharOfUnk1A(); + *str = EOS; + sWork->bufferCursorPos--; + } +} + +static void ToggleCaseOfLastCharacterInChatMessageBuffer(void) +{ + u8 *str; + u8 character; + + sWork->lastBufferCursorPos = sWork->bufferCursorPos - 1; + str = GetPtrToLastCharOfUnk1A(); + if (*str != CHAR_EXTRA_EMOJI) + { + character = sCaseToggleTable[*str]; + if (character) + *str = character; + } +} + +static bool32 ChatMsgHasAtLeastOneCharcter(void) +{ + if (sWork->bufferCursorPos) + return TRUE; + else + return FALSE; +} + +static void RegisterTextAtRow(void) +{ + u8 *src = UnionRoomChat_GetEndOfMessageEntryBuffer(); + StringCopy(sWork->registeredTexts[sWork->currentRow], src); + sWork->changedRegisteredTexts = TRUE; +} + +static void ResetMessageEntryBuffer(void) +{ + sWork->messageEntryBuffer[0] = EOS; + sWork->lastBufferCursorPos = MESSAGE_BUFFER_NCHAR; + sWork->bufferCursorPos = 0; +} + +static void SaveRegisteredTextsToSB1(void) +{ + int i; + for (i = 0; i < UNION_ROOM_KB_ROW_COUNT; i++) + StringCopy(gSaveBlock1Ptr->registeredTexts[i], sWork->registeredTexts[i]); +} + +u8 *UnionRoomChat_GetWorkRegisteredText(int arg0) +{ + return sWork->registeredTexts[arg0]; +} + +static u8 *GetEndOfUnk1A(void) +{ + u8 *str = sWork->messageEntryBuffer; + while (*str != EOS) + str++; + + return str; +} + +static u8 *GetPtrToLastCharOfUnk1A(void) +{ + u8 *str = sWork->messageEntryBuffer; + u8 *str2 = str; + while (*str != EOS) + { + str2 = str; + if (*str == CHAR_EXTRA_EMOJI) + str++; + str++; + } + + return str2; +} + +static u16 GetNumCharsInMessageEntryBuffer(void) +{ + u8 *str; + u32 i, numChars, strLength; + + strLength = StringLength_Multibyte(sWork->messageEntryBuffer); + str = sWork->messageEntryBuffer; + numChars = 0; + if (strLength > 10) + { + strLength -= 10; + for (i = 0; i < strLength; i++) + { + if (*str == CHAR_EXTRA_EMOJI) + str++; + + str++; + numChars++; + } + } + + return numChars; +} + +static void PrepareSendBuffer_Null(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_0; +} + +static void PrepareSendBuffer_Join(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_JOIN; + StringCopy(&arg0[1], gSaveBlock2Ptr->playerName); + arg0[1 + (PLAYER_NAME_LENGTH + 1)] = sWork->multiplayerId; +} + +static void PrepareSendBuffer_Chat(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_CHAT; + StringCopy(&arg0[1], gSaveBlock2Ptr->playerName); + StringCopy(&arg0[1 + (PLAYER_NAME_LENGTH + 1)], sWork->messageEntryBuffer); +} + +static void PrepareSendBuffer_Leave(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_LEAVE; + StringCopy(&arg0[1], gSaveBlock2Ptr->playerName); + arg0[1 + (PLAYER_NAME_LENGTH + 1)] = sWork->multiplayerId; + sub_80FB9D0(); +} + +static void PrepareSendBuffer_Drop(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_DROP; + StringCopy(&arg0[1], gSaveBlock2Ptr->playerName); + arg0[1 + (PLAYER_NAME_LENGTH + 1)] = sWork->multiplayerId; +} + +static void PrepareSendBuffer_Disband(u8 *arg0) +{ + arg0[0] = CHAT_MESSAGE_DISBAND; + StringCopy(&arg0[1], gSaveBlock2Ptr->playerName); + arg0[1 + (PLAYER_NAME_LENGTH + 1)] = sWork->multiplayerId; +} + +static bool32 ProcessReceivedChatMessage(u8 *dest, u8 *recvMessage) +{ + u8 *tempStr; + u8 cmd = *recvMessage; + u8 *name = recvMessage + 1; + recvMessage = name; + recvMessage += PLAYER_NAME_LENGTH + 1; + + switch (cmd) + { + case CHAT_MESSAGE_JOIN: + if (sWork->multiplayerId != name[PLAYER_NAME_LENGTH + 1]) + { + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, name); + DynamicPlaceholderTextUtil_ExpandPlaceholders(dest, gText_F700JoinedChat); + return TRUE; + } + break; + case CHAT_MESSAGE_CHAT: + tempStr = StringCopy(dest, name); + *(tempStr++) = EXT_CTRL_CODE_BEGIN; + *(tempStr++) = EXT_CTRL_CODE_CLEAR_TO; + *(tempStr++) = 42; + *(tempStr++) = CHAR_COLON; + StringCopy(tempStr, recvMessage); + return TRUE; + case CHAT_MESSAGE_DISBAND: + StringCopy(sWork->hostName, name); + // fall through + case CHAT_MESSAGE_LEAVE: + if (sWork->multiplayerId != *recvMessage) + { + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, name); + DynamicPlaceholderTextUtil_ExpandPlaceholders(dest, gText_F700LeftChat); + return TRUE; + } + break; + } + + return FALSE; +} + +u8 GetCurrentKeyboardPage(void) +{ + return sWork->currentPage; +} + +void UnionRoomChat_GetCursorColAndRow(u8 *colp, u8 *rowp) +{ + *colp = sWork->currentCol; + *rowp = sWork->currentRow; +} + +u8 *UnionRoomChat_GetMessageEntryBuffer(void) +{ + return sWork->messageEntryBuffer; +} + +int UnionRoomChat_LenMessageEntryBuffer(void) +{ + u8 *str = UnionRoomChat_GetMessageEntryBuffer(); + return StringLength_Multibyte(str); +} + +void UnionRoomChat_GetBufferSelectionRegion(u32 *startp, u32 *diffp) +{ + int diff = sWork->bufferCursorPos - sWork->lastBufferCursorPos; + if (diff < 0) + { + diff *= -1; + *startp = sWork->bufferCursorPos; + } + else + { + *startp = sWork->lastBufferCursorPos; + } + + *diffp = diff; +} + +u8 *UnionRoomChat_GetEndOfMessageEntryBuffer(void) +{ + int i; + u16 numChars = GetNumCharsInMessageEntryBuffer(); + u8 *str = sWork->messageEntryBuffer; + for (i = 0; i < numChars; i++) + { + if (*str == CHAR_EXTRA_EMOJI) + str++; + + str++; + } + + return str; +} + +// Useless overhead +u16 UnionRoomChat_GetNumCharsInMessageEntryBuffer(void) +{ + u16 count; + u32 i; + u16 numChars = GetNumCharsInMessageEntryBuffer(); + u8 *str = sWork->messageEntryBuffer; + for (count = 0, i = 0; i < numChars; count++, i++) + { + if (*str == CHAR_EXTRA_EMOJI) + str++; + + str++; + } + + return count; +} + +u8 *UnionRoomChat_GetLastReceivedMessage(void) +{ + return sWork->receivedMessage; +} + +u16 UnionRoomChat_GetReceivedPlayerIndex(void) +{ + return sWork->receivedPlayerIndex; +} + +int UnionRoomChat_GetMessageEntryCursorPosition(void) +{ + return sWork->bufferCursorPos; +} + +// This probably does more in the Japanese titles. +int UnionRoomChat_GetWhetherShouldShowCaseToggleIcon(void) +{ + u8 *str = GetPtrToLastCharOfUnk1A(); + u32 character = *str; + if (character > 0xFF || sCaseToggleTable[character] == character || sCaseToggleTable[character] == 0) + return 3; + else + return 0; +} + +u8 *UnionRoomChat_GetNameOfPlayerWhoDisbandedChat(void) +{ + return sWork->hostName; +} + +void UnionRoomChat_InitializeRegisteredTexts(void) +{ + StringCopy(gSaveBlock1Ptr->registeredTexts[0], gText_Hello); + StringCopy(gSaveBlock1Ptr->registeredTexts[1], gText_Pokemon2); + StringCopy(gSaveBlock1Ptr->registeredTexts[2], gText_Trade); + StringCopy(gSaveBlock1Ptr->registeredTexts[3], gText_Battle); + StringCopy(gSaveBlock1Ptr->registeredTexts[4], gText_Lets); + StringCopy(gSaveBlock1Ptr->registeredTexts[5], gText_Ok); + StringCopy(gSaveBlock1Ptr->registeredTexts[6], gText_Sorry); + StringCopy(gSaveBlock1Ptr->registeredTexts[7], gText_YaySmileEmoji); + StringCopy(gSaveBlock1Ptr->registeredTexts[8], gText_ThankYou); + StringCopy(gSaveBlock1Ptr->registeredTexts[9], gText_ByeBye); +} + +#define tState data[0] +#define tI data[1] +#define tCurrLinkPlayer data[2] +#define tBlockReceivedStatus data[3] +#define tLinkPlayerCount data[4] +#define tNextState data[5] + +static void Task_ReceiveChatMessage(u8 taskId) +{ + u8 *buffer; + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: + if (!gReceivedRemoteLinkPlayers) + { + DestroyTask(taskId); + return; + } + + tState = 1; + // fall through + case 1: + tLinkPlayerCount = GetLinkPlayerCount(); + if (sWork->linkPlayerCount != tLinkPlayerCount) + { + tState = 2; + sWork->linkPlayerCount = tLinkPlayerCount; + return; + } + + tBlockReceivedStatus = GetBlockReceivedStatus(); + if (!tBlockReceivedStatus && GetRfuUnkCE8()) + return; + + tI = 0; + tState = 3; + // fall through + case 3: + // Idle listen + for (; tI < 5 && ((tBlockReceivedStatus >> tI) & 1) == 0; tI++) + ; + + if (tI == 5) + { + tState = 1; + return; + } + + tCurrLinkPlayer = tI; + ResetBlockReceivedFlag(tCurrLinkPlayer); + buffer = (u8 *)gBlockRecvBuffer[tI]; + switch (buffer[0]) + { + default: + case CHAT_MESSAGE_CHAT: tNextState = 3; break; + case CHAT_MESSAGE_JOIN: tNextState = 3; break; + case CHAT_MESSAGE_LEAVE: tNextState = 4; break; + case CHAT_MESSAGE_DROP: tNextState = 5; break; + case CHAT_MESSAGE_DISBAND: tNextState = 6; break; + } + + if (ProcessReceivedChatMessage(sWork->receivedMessage, (u8 *)gBlockRecvBuffer[tI])) + { + sWork->receivedPlayerIndex = tI; + UnionRoomChat_StartDisplaySubtask(CHATDISPLAYROUTINE_SCROLLCHAT, 2); + tState = 7; + } + else + { + tState = tNextState; + } + + tI++; + break; + case 7: + if (!RunDisplaySubtask(2)) + tState = tNextState; + break; + case 4: + // Someone is leaving + if (sWork->multiplayerId == 0 && tCurrLinkPlayer != 0) + { + // You're the leader, and the person who left is not you + if (GetLinkPlayerCount() == 2) + { + sub_80FA4A8(); + sWork->exitType = CHATEXIT_LEADER_LAST; + DestroyTask(taskId); + return; + } + + sub_80FBD6C(tCurrLinkPlayer); + } + + tState = 3; + break; + case 5: + // Person left + if (sWork->multiplayerId != 0) + sWork->exitType = CHATEXIT_DROPPED; + + DestroyTask(taskId); + break; + case 6: + // The leader disbanded the chat + sWork->exitType = CHATEXIT_DISBANDED; + DestroyTask(taskId); + break; + case 2: + if (!GetRfuUnkCE8()) + { + if (sWork->multiplayerId == 0) + sub_80FB030(sWork->linkPlayerCount); + + tState = 1; + } + break; + } +} + +#undef tNextState +#undef tLinkPlayerCount +#undef tBlockReceivedStatus +#undef tCurrLinkPlayer +#undef tI +#undef tState diff --git a/src/union_room_chat_display.c b/src/union_room_chat_display.c new file mode 100644 index 000000000..54aef8d65 --- /dev/null +++ b/src/union_room_chat_display.c @@ -0,0 +1,1339 @@ +#include "global.h" +#include "gflib.h" +#include "dynamic_placeholder_text_util.h" +#include "graphics.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "scanline_effect.h" +#include "strings.h" +#include "text_window.h" +#include "union_room_chat.h" +#include "union_room_chat_display.h" +#include "union_room_chat_objects.h" + +#define STDMESSAGE_QUIT_CHATTING 0 +#define STDMESSAGE_REGISTER_WHERE 1 +#define STDMESSAGE_REGISTER_HERE 2 +#define STDMESSAGE_INPUT_TEXT 3 +#define STDMESSAGE_EXITING_CHAT 4 +#define STDMESSAGE_LEADER_LEFT 5 +#define STDMESSAGE_ASK_SAVE 6 +#define STDMESSAGE_ASK_OVERWRITE 7 +#define STDMESSAGE_SAVING_NO_OFF 8 +#define STDMESSAGE_SAVED_THE_GAME 9 +#define STDMESSAGE_WARN_LEADER_LEAVE 10 + +struct UnionRoomChat2Subtask +{ + bool32 (*callback)(u8 *); + u8 active; + u8 state; +}; + +struct UnionRoomChat2 +{ + struct UnionRoomChat2Subtask subtasks[3]; + u16 yesNoMenuWinId; + u16 curLine; + u16 scrollCount; + u16 messageWindowId; + s16 bg1hofs; + u8 expandedPlaceholdersBuffer[0x106]; + u8 bg0Buffer[BG_SCREEN_SIZE]; + u8 bg1Buffer[BG_SCREEN_SIZE]; + u8 bg3Buffer[BG_SCREEN_SIZE]; + u8 bg2Buffer[BG_SCREEN_SIZE]; + u8 unk2128[0x20]; + u8 unk2148[0x20]; +}; + +struct SubtaskInfo +{ + u16 idx; + bool32 (*callback)(u8 *); +}; + +struct MessageWindowInfo +{ + const u8 *text; + bool8 boxType; + u8 x; + u8 y; + u8 letterSpacing; + u8 lineSpacing; + bool8 expandPlaceholders; + bool8 widerBox; +}; + +static EWRAM_DATA struct UnionRoomChat2 * sWork = NULL; + +static void InitWork(struct UnionRoomChat2 * ptr); +static void UnionRoomChat_ResetDisplaySubtasks(void); +static bool32 DisplaySubtask_LoadGfx(u8 *state); +static bool32 DisplaySubtask_PrintWin3(u8 *state); +static bool32 DisplaySubtask_HideWin3(u8 *state); +static bool32 DisplaySubtask_SwitchPages(u8 *state); +static bool32 DisplaySubtask_MoveSelectorCursorObj(u8 *state); +static bool32 DisplaySubtask_ShowQuitChattingDialog(u8 *state); +static bool32 DisplaySubtask_HideQuitChattingDialog(u8 *state); +static bool32 DisplaySubtask_UpdateMessageBuffer(u8 *state); +static bool32 DisplaySubtask_PrintRegisterWhere(u8 *state); +static bool32 DisplaySubtask_CancelRegister(u8 *state); +static bool32 DisplaySubtask_ReturnToKeyboard(u8 *state); +static bool32 DisplaySubtask_ScrollChat(u8 *state); +static bool32 DisplaySubtask_AnimateSelectorCursorBlink(u8 *state); +static bool32 DisplaySubtask_PrintInputText(u8 *state); +static bool32 DisplaySubtask_PrintExitingChat(u8 *state); +static bool32 DisplaySubtask_PrintLeaderLeft(u8 *state); +static bool32 DisplaySubtask_AskSave(u8 *state); +static bool32 DisplaySubtask_AskOverwriteSave(u8 *state); +static bool32 DisplaySubtask_PrintSavingDontTurnOffPower(u8 *state); +static bool32 DisplaySubtask_PrintSavedTheGame(u8 *state); +static bool32 DisplaySubtask_ShowConfirmLeaderLeaveDialog(u8 *state); +static bool32 DisplaySubtaskDummy(u8 *state); +static void PlaceYesNoMenuAt(u8 a0, u8 a1, u8 a2); +static void HideYesNoMenuWindow(void); +static void DestroyYesNoMenuWindow(void); +static void PlaceStdMessageWindow(int id, u16 bg0vofs); +static void HideStdMessageWindow(void); +static void DestroyStdMessageWindow(void); +static void FillWin1Rect(u16 x, u16 width, u8 fillValue); +static void PrintOnWin1Parameterized(u16 x, u8 *str, u8 bgColor, u8 fgColor, u8 shadowColor); +static void PrintCurrentKeyboardPage(void); +static bool32 AnimateMoveBg1Right(void); +static bool32 AnimateMoveBg1Left(void); +static void PrintKeyboardSwapTextsOnWin3(void); +static void ClearWin3(void); +static void PrintTextOnWin0Colorized(u16 row, u8 *str, u8 colorIdx); +static void ResetGpuBgState(void); +static void SetBgTilemapWorkBuffers(void); +static void ClearBg0(void); +static void LoadUnionRoomChatPanelGfx(void); +static void LoadLinkMiscMenuGfx(void); +static void LoadBg1Pal8(void); +static void LoadWin0(void); +static void LoadWin2(void); +static void LoadWin1(void); +static void LoadWin3(void); +static void sub_812AD50(void); +static void FillScanlineEffectWithValue1col(s16 a0); +static void FillScanlineEffectWithValue2col(s16 a0); + +static const u16 sUnionRoomChatPanelBgPal_C[] = INCBIN_U16("graphics/union_room_chat/unk_845AA24.gbapal"); +static const u16 sBg1Pal8[] = INCBIN_U16("graphics/union_room_chat/unk_845AA44.gbapal"); +static const u16 sWin0PalF[] = INCBIN_U16("graphics/union_room_chat/unk_845AA64.gbapal"); + +static const struct BgTemplate gUnknown_845AA84[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x0000 + }, { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x0000 + }, { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 23, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x0000 + }, { + .bg = 3, + .charBaseIndex = 1, + .mapBaseIndex = 15, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0x0001 + } +}; + +static const struct WindowTemplate gUnknown_845AA94[] = { + { + .bg = 3, + .tilemapLeft = 8, + .tilemapTop = 1, + .width = 21, + .height = 19, + .paletteNum = 15, + .baseBlock = 0x001 + }, { + .bg = 1, + .tilemapLeft = 9, + .tilemapTop = 18, + .width = 15, + .height = 2, + .paletteNum = 12, + .baseBlock = 0x07a + }, { + .bg = 1, + .tilemapLeft = 0, + .tilemapTop = 2, + .width = 6, + .height = 15, + .paletteNum = 7, + .baseBlock = 0x020 + }, { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 2, + .width = 7, + .height = 9, + .paletteNum = 14, + .baseBlock = 0x013 + }, DUMMY_WIN_TEMPLATE +}; + +static const struct SubtaskInfo sSubtaskInfo[] = { + {CHATDISPLAYROUTINE_LOADGFX, DisplaySubtask_LoadGfx}, + {CHATDISPLAYROUTINE_SHOWKBSWAPMENU, DisplaySubtask_PrintWin3}, + {CHATDISPLAYROUTINE_HIDEKBSWAPMENU, DisplaySubtask_HideWin3}, + {CHATDISPLAYROUTINE_SWITCHPAGES, DisplaySubtask_SwitchPages}, + {CHATDISPLAYROUTINE_MOVEKBCURSOR, DisplaySubtask_MoveSelectorCursorObj}, + {CHATDISPLAYROUTINE_SHOWQUITCHATTINGDIALOG, DisplaySubtask_ShowQuitChattingDialog}, + {CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO, DisplaySubtask_HideQuitChattingDialog}, + {CHATDISPLAYROUTINE_PRINTMSG, DisplaySubtask_UpdateMessageBuffer}, + {CHATDISPLAYROUTINE_PRINTREGISTERWHERE, DisplaySubtask_PrintRegisterWhere}, + {CHATDISPLAYROUTINE_CANCELREGISTER, DisplaySubtask_CancelRegister}, + {CHATDISPLAYROUTINE_RETURNTOKB, DisplaySubtask_ReturnToKeyboard}, + {CHATDISPLAYROUTINE_SCROLLCHAT, DisplaySubtask_ScrollChat}, + {CHATDISPLAYROUTINE_CURSORBLINK, DisplaySubtask_AnimateSelectorCursorBlink}, + {CHATDISPLAYROUTINE_PRINTINPUTTEXT, DisplaySubtask_PrintInputText}, + {CHATDISPLAYROUTINE_PRINTEXITINGCHAT, DisplaySubtask_PrintExitingChat}, + {CHATDISPLAYROUTINE_PRINTLEADERLEFT, DisplaySubtask_PrintLeaderLeft}, + {CHATDISPLAYROUTINE_ASKSAVE, DisplaySubtask_AskSave}, + {CHATDISPLAYROUTINE_ASKOVERWRITESAVE, DisplaySubtask_AskOverwriteSave}, + {CHATDISPLAYROUTINE_PRINTSAVING, DisplaySubtask_PrintSavingDontTurnOffPower}, + {CHATDISPLAYROUTINE_PRINTSAVEDTHEGAME, DisplaySubtask_PrintSavedTheGame}, + {CHATDISPLAYROUTINE_SHOWCONFIRMLEADERLEAVEDIALOG, DisplaySubtask_ShowConfirmLeaderLeaveDialog} +}; + +static const struct MessageWindowInfo sMessageWindowInfo[] = { + + [STDMESSAGE_QUIT_CHATTING] = { + .text = gText_QuitChatting, + .boxType = 1, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = FALSE + }, + [STDMESSAGE_REGISTER_WHERE] = { + .text = gText_RegisterTextWhere, + .boxType = 1, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = FALSE + }, + [STDMESSAGE_REGISTER_HERE] = { + .text = gText_RegisterTextHere, + .boxType = 1, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = FALSE + }, + [STDMESSAGE_INPUT_TEXT] = { + .text = gText_InputText, + .boxType = 1, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = FALSE + }, + [STDMESSAGE_EXITING_CHAT] = { + .text = gText_ExitingTheChat, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = FALSE + }, + [STDMESSAGE_LEADER_LEFT] = { + .text = gText_LeaderHasLeftEndingChat, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 0, + .lineSpacing = 2, + .expandPlaceholders = TRUE, + .widerBox = FALSE + }, + [STDMESSAGE_ASK_SAVE] = { + .text = gText_RegisteredTextChanged_OKtoSave, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = TRUE + }, + [STDMESSAGE_ASK_OVERWRITE] = { + .text = gText_RegisteredTextChanged_AlreadySavedFile, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = TRUE + }, + [STDMESSAGE_SAVING_NO_OFF] = { + .text = gText_RegisteredTextChanged_SavingDontTurnOff, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = TRUE + }, + [STDMESSAGE_SAVED_THE_GAME] = { + .text = gText_RegisteredTextChanged_SavedTheGame, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = TRUE, + .widerBox = TRUE + }, + [STDMESSAGE_WARN_LEADER_LEAVE] = { + .text = gText_IfLeaderLeavesChatWillEnd, + .boxType = 2, + .x = 0, + .y = 0, + .letterSpacing = 1, + .lineSpacing = 2, + .expandPlaceholders = FALSE, + .widerBox = TRUE + } +}; + +static const u8 gText_Ellipsis[] = _("…"); + +static const struct MenuAction sKeyboardSwapTexts[] = { + {gText_Upper}, + {gText_Lower}, + {gText_Symbols}, + {gText_Register2}, + {gText_Exit} +}; + +bool8 UnionRoomChat_TryAllocGraphicsWork(void) +{ + sWork = Alloc(sizeof(*sWork)); + if (sWork && UnionRoomChat_TryAllocSpriteWork()) + { + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_845AA84, NELEMS(gUnknown_845AA84)); + InitWindows(gUnknown_845AA94); + ResetTempTileDataBuffers(); + sub_812AD50(); + InitWork(sWork); + UnionRoomChat_ResetDisplaySubtasks(); + UnionRoomChat_StartDisplaySubtask(0, 0); + return TRUE; + } + else + { + return FALSE; + } +} + +bool32 UnionRoomChat_RunDisplaySubtask0(void) +{ + return RunDisplaySubtask(0); +} + +void UnionRoomChat_FreeGraphicsWork(void) +{ + UnionRoomChat_FreeSpriteWork(); + if (sWork != NULL) + FREE_AND_SET_NULL(sWork); + + FreeAllWindowBuffers(); + gScanlineEffect.state = 3; +} + +static void InitWork(struct UnionRoomChat2 *arg0) +{ + arg0->yesNoMenuWinId = 0xFF; + arg0->messageWindowId = 0xFF; + arg0->curLine = 0; +} + +void UnionRoomChat_ResetDisplaySubtasks(void) +{ + int i; + + if (sWork == NULL) + return; + + for (i = 0; i < 3; i++) + { + sWork->subtasks[i].callback = DisplaySubtaskDummy; + sWork->subtasks[i].active = FALSE; + sWork->subtasks[i].state = 0; + } +} + +void UnionRoomChat_RunDisplaySubtasks(void) +{ + int i; + + if (sWork == NULL) + return; + + for (i = 0; i < 3; i++) + { + if (sWork->subtasks[i].active) + sWork->subtasks[i].active = sWork->subtasks[i].callback(&sWork->subtasks[i].state); + } +} + +void UnionRoomChat_StartDisplaySubtask(u16 arg0, u8 arg1) +{ + int i; + + sWork->subtasks[arg1].callback = DisplaySubtaskDummy; + for (i = 0; i < NELEMS(sSubtaskInfo); i++) + { + if (sSubtaskInfo[i].idx == arg0) + { + sWork->subtasks[arg1].callback = sSubtaskInfo[i].callback; + sWork->subtasks[arg1].active = TRUE; + sWork->subtasks[arg1].state = 0; + break; + } + } +} + +bool8 RunDisplaySubtask(u8 arg0) +{ + return sWork->subtasks[arg0].active; +} + +static bool32 DisplaySubtask_LoadGfx(u8 *state) +{ + if (FreeTempTileDataBuffersIfPossible() == TRUE) + return TRUE; + + switch (*state) + { + case 0: + ResetGpuBgState(); + SetBgTilemapWorkBuffers(); + break; + case 1: + ClearBg0(); + break; + case 2: + LoadUnionRoomChatPanelGfx(); + break; + case 3: + LoadLinkMiscMenuGfx(); + break; + case 4: + LoadBg1Pal8(); + break; + case 5: + LoadWin0(); + LoadWin2(); + LoadWin3(); + LoadWin1(); + break; + case 6: + if (!IsDma3ManagerBusyWithBgCopy()) + { + UnionRoomChat_CreateSelectorCursorObj(); + UnionRoomChat_SpawnTextEntryPointerSprites(); + CreatePageSwitchUISprites(); + } + break; + default: + return FALSE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_PrintWin3(u8 *state) +{ + switch (*state) + { + case 0: + PrintKeyboardSwapTextsOnWin3(); + CopyWindowToVram(3, 3); + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_HideWin3(u8 *state) +{ + switch (*state) + { + case 0: + ClearWin3(); + CopyWindowToVram(3, 3); + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_SwitchPages(u8 *state) +{ + switch (*state) + { + case 0: + UnionRoomChat_ToggleSelectorCursorObjVisibility(TRUE); + if (AnimateMoveBg1Right()) + return TRUE; + + PrintCurrentKeyboardPage(); + CopyWindowToVram(2, 2); + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return TRUE; + break; + case 2: + if (AnimateMoveBg1Left()) + return TRUE; + + UnionRoomChat_MoveSelectorCursorObj(); + UnionRoomChat_ToggleSelectorCursorObjVisibility(FALSE); + UpdateVisibleUnionRoomChatIcon(); + return FALSE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_MoveSelectorCursorObj(u8 *state) +{ + UnionRoomChat_MoveSelectorCursorObj(); + return FALSE; +} + +static bool32 DisplaySubtask_ShowQuitChattingDialog(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_QUIT_CHATTING, 0); + PlaceYesNoMenuAt(23, 11, 1); + CopyWindowToVram(sWork->messageWindowId, 3); + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_HideQuitChattingDialog(u8 *state) +{ + switch (*state) + { + case 0: + HideStdMessageWindow(); + HideYesNoMenuWindow(); + CopyBgTilemapBufferToVram(0); + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return TRUE; + + DestroyStdMessageWindow(); + DestroyYesNoMenuWindow(); + return FALSE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_UpdateMessageBuffer(u8 *state) +{ + u32 start, length; + u8 *str; + + switch (*state) + { + case 0: + UnionRoomChat_GetBufferSelectionRegion(&start, &length); + FillWin1Rect(start, length, PIXEL_FILL(0)); + str = UnionRoomChat_GetMessageEntryBuffer(); + PrintOnWin1Parameterized(0, str, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY); + CopyWindowToVram(1, 2); + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + UpdateVisibleUnionRoomChatIcon(); + return FALSE; + } + return TRUE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_PrintRegisterWhere(u8 *state) +{ + u16 var0; + u8 *str; + u16 length; + + switch (*state) + { + case 0: + var0 = UnionRoomChat_GetNumCharsInMessageEntryBuffer(); + str = UnionRoomChat_GetEndOfMessageEntryBuffer(); + length = StringLength_Multibyte(str); + FillWin1Rect(var0, length, PIXEL_FILL(6)); + PrintOnWin1Parameterized(var0, str, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_RED, TEXT_COLOR_LIGHT_RED); + CopyWindowToVram(1, 2); + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + PlaceStdMessageWindow(STDMESSAGE_REGISTER_WHERE, 16); + CopyWindowToVram(sWork->messageWindowId, 3); + } + else + { + return TRUE; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + UnionRoomChat_UpdateObjPalCycle(1); + else + return TRUE; + break; + case 3: + return FALSE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_CancelRegister(u8 *state) +{ + u16 x; + u8 *str; + u16 length; + + switch (*state) + { + case 0: + x = UnionRoomChat_GetNumCharsInMessageEntryBuffer(); + str = UnionRoomChat_GetEndOfMessageEntryBuffer(); + length = StringLength_Multibyte(str); + FillWin1Rect(x, length, PIXEL_FILL(0)); + PrintOnWin1Parameterized(x, str, TEXT_COLOR_LIGHT_GREY, TEXT_COLOR_WHITE, TEXT_COLOR_DARK_GREY); + CopyWindowToVram(1, 2); + break; + case 1: + if (!IsDma3ManagerBusyWithBgCopy()) + { + HideStdMessageWindow(); + CopyWindowToVram(sWork->messageWindowId, 3); + } + else + { + return TRUE; + } + break; + case 2: + if (!IsDma3ManagerBusyWithBgCopy()) + { + UnionRoomChat_UpdateObjPalCycle(0); + DestroyStdMessageWindow(); + } + else + { + return TRUE; + } + break; + case 3: + return FALSE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_ReturnToKeyboard(u8 *state) +{ + switch (*state) + { + case 0: + PrintCurrentKeyboardPage(); + CopyWindowToVram(2, 2); + (*state)++; + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return TRUE; + else + return FALSE; + } + + return TRUE; +} + +static bool32 DisplaySubtask_ScrollChat(u8 *state) +{ + u16 row; + u8 *str; + u8 colorIdx; + + switch (*state) + { + case 0: + row = sWork->curLine; + str = UnionRoomChat_GetLastReceivedMessage(); + colorIdx = UnionRoomChat_GetReceivedPlayerIndex(); + PrintTextOnWin0Colorized(row, str, colorIdx); + CopyWindowToVram(0, 2); + break; + case 1: + if (IsDma3ManagerBusyWithBgCopy()) + return TRUE; + + if (sWork->curLine < 9) + { + sWork->curLine++; + *state = 4; + return FALSE; + } + else + { + sWork->scrollCount = 0; + (*state)++; + } + // fall through + case 2: + ScrollWindow(0, 0, 5, PIXEL_FILL(1)); + CopyWindowToVram(0, 2); + sWork->scrollCount++; + (*state)++; + // fall through + case 3: + if (IsDma3ManagerBusyWithBgCopy()) + return TRUE; + + if (sWork->scrollCount < 3) + { + (*state)--; + return TRUE; + } + break; + case 4: + return FALSE; + default: + return TRUE; + } + + (*state)++; + return TRUE; +} + +static bool32 DisplaySubtask_AnimateSelectorCursorBlink(u8 *state) +{ + switch (*state) + { + case 0: + UnionRoomChat_SetSelectorCursorClosedImage(); + (*state)++; + break; + case 1: + return UnionRoomChat_AnimateSelectorCursorReopen(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_PrintInputText(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_INPUT_TEXT, 16); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_PrintExitingChat(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_EXITING_CHAT, 0); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_PrintLeaderLeft(u8 *state) +{ + u8 *str; + + switch (*state) + { + case 0: + DynamicPlaceholderTextUtil_Reset(); + str = UnionRoomChat_GetNameOfPlayerWhoDisbandedChat(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str); + PlaceStdMessageWindow(STDMESSAGE_LEADER_LEFT, 0); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_AskSave(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_ASK_SAVE, 0); + PlaceYesNoMenuAt(23, 10, 1); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_AskOverwriteSave(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_ASK_OVERWRITE, 0); + PlaceYesNoMenuAt(23, 10, 1); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_PrintSavingDontTurnOffPower(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_SAVING_NO_OFF, 0); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_PrintSavedTheGame(u8 *state) +{ + switch (*state) + { + case 0: + DynamicPlaceholderTextUtil_Reset(); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName); + PlaceStdMessageWindow(STDMESSAGE_SAVED_THE_GAME, 0); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtask_ShowConfirmLeaderLeaveDialog(u8 *state) +{ + switch (*state) + { + case 0: + PlaceStdMessageWindow(STDMESSAGE_WARN_LEADER_LEAVE, 0); + PlaceYesNoMenuAt(23, 10, 1); + CopyWindowToVram(sWork->messageWindowId, 3); + (*state)++; + break; + case 1: + return IsDma3ManagerBusyWithBgCopy(); + } + + return TRUE; +} + +static bool32 DisplaySubtaskDummy(u8 *arg0) +{ + return FALSE; +} + +static void PlaceYesNoMenuAt(u8 left, u8 top, u8 initialCursorPos) +{ + struct WindowTemplate template; + template.bg = 0; + template.tilemapLeft = left; + template.tilemapTop = top; + template.width = 6; + template.height = 4; + template.paletteNum = 14; + template.baseBlock = 0x052; + sWork->yesNoMenuWinId = AddWindow(&template); + if (sWork->yesNoMenuWinId != 0xFF) + { + FillWindowPixelBuffer(sWork->yesNoMenuWinId, PIXEL_FILL(1)); + PutWindowTilemap(sWork->yesNoMenuWinId); + AddTextPrinterParameterized(sWork->yesNoMenuWinId, 2, gText_Yes, 8, 2, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(sWork->yesNoMenuWinId, 2, gText_No, 8, 16, TEXT_SPEED_FF, NULL); + DrawTextBorderOuter(sWork->yesNoMenuWinId, 1, 13); + Menu_InitCursor(sWork->yesNoMenuWinId, 2, 0, 2, 14, 2, initialCursorPos); + } +} + +static void HideYesNoMenuWindow(void) +{ + if (sWork->yesNoMenuWinId != 0xFF) + { + ClearStdWindowAndFrameToTransparent(sWork->yesNoMenuWinId, FALSE); + ClearWindowTilemap(sWork->yesNoMenuWinId); + } +} + +static void DestroyYesNoMenuWindow(void) +{ + if (sWork->yesNoMenuWinId != 0xFF) + { + RemoveWindow(sWork->yesNoMenuWinId); + sWork->yesNoMenuWinId = 0xFF; + } +} + +s8 UnionRoomChat_ProcessInput(void) +{ + return Menu_ProcessInput(); +} + +static void PlaceStdMessageWindow(int id, u16 bg0vofs) +{ + const u8 *str; + int windowId; + struct WindowTemplate template; + template.bg = 0; + template.tilemapLeft = 8; + template.tilemapTop = 16; + template.width = 21; + template.height = 4; + template.paletteNum = 14; + template.baseBlock = 0x06A; + if (sMessageWindowInfo[id].widerBox) + { + template.tilemapLeft -= 7; + template.width += 7; + } + + sWork->messageWindowId = AddWindow(&template); + windowId = sWork->messageWindowId; + if (sWork->messageWindowId == 0xFF) + return; + + if (sMessageWindowInfo[id].expandPlaceholders) + { + DynamicPlaceholderTextUtil_ExpandPlaceholders(sWork->expandedPlaceholdersBuffer, sMessageWindowInfo[id].text); + str = sWork->expandedPlaceholdersBuffer; + } + else + { + str = sMessageWindowInfo[id].text; + } + + ChangeBgY(0, bg0vofs * 256, 0); + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + PutWindowTilemap(windowId); + if (sMessageWindowInfo[id].boxType == 1) + { + DrawTextBorderInner(windowId, 0xA, 2); + AddTextPrinterParameterized5( + windowId, + 2, + str, + sMessageWindowInfo[id].x + 8, + sMessageWindowInfo[id].y + 8, + TEXT_SPEED_FF, + NULL, + sMessageWindowInfo[id].letterSpacing, + sMessageWindowInfo[id].lineSpacing); + } + else + { + DrawTextBorderOuter(windowId, 0xA, 2); + AddTextPrinterParameterized5( + windowId, + 2, + str, + sMessageWindowInfo[id].x, + sMessageWindowInfo[id].y, + TEXT_SPEED_FF, + NULL, + sMessageWindowInfo[id].letterSpacing, + sMessageWindowInfo[id].lineSpacing); + } + + sWork->messageWindowId = windowId; +} + +static void HideStdMessageWindow(void) +{ + if (sWork->messageWindowId != 0xFF) + { + ClearStdWindowAndFrameToTransparent(sWork->messageWindowId, FALSE); + ClearWindowTilemap(sWork->messageWindowId); + } + + ChangeBgY(0, 0, 0); +} + +static void DestroyStdMessageWindow(void) +{ + if (sWork->messageWindowId != 0xFF) + { + RemoveWindow(sWork->messageWindowId); + sWork->messageWindowId = 0xFF; + } +} + +static void FillWin1Rect(u16 x, u16 width, u8 fillValue) +{ + FillWindowPixelRect(1, fillValue, x * 8, 1, width * 8, 14); +} + +static void PrintOnWin1Parameterized(u16 x, u8 *str, u8 bgColor, u8 fgColor, u8 shadowColor) +{ + u8 color[3]; + u8 strbuf[35]; + + if (bgColor != TEXT_COLOR_TRANSPARENT) + FillWin1Rect(x, UnionRoomChat_GetMessageEntryCursorPosition() - x, bgColor); + + color[0] = bgColor; + color[1] = fgColor; + color[2] = shadowColor; + strbuf[0] = EXT_CTRL_CODE_BEGIN; + strbuf[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING; + strbuf[2] = 8; + StringCopy(&strbuf[3], str); + AddTextPrinterParameterized3(1, 2, x * 8, 1, color, TEXT_SPEED_FF, strbuf); +} + +static void PrintCurrentKeyboardPage(void) +{ + u8 page; + int i; + u16 left; + u16 top; + u8 color[3]; + u8 str[45]; + u8 *str2; + + FillWindowPixelBuffer(2, PIXEL_FILL(15)); + page = GetCurrentKeyboardPage(); + color[0] = TEXT_COLOR_TRANSPARENT; + color[1] = TEXT_DYNAMIC_COLOR_5; + color[2] = TEXT_DYNAMIC_COLOR_4; + if (page != UNION_ROOM_KB_PAGE_COUNT) + { + str[0] = EXT_CTRL_CODE_BEGIN; + str[1] = EXT_CTRL_CODE_MIN_LETTER_SPACING; + str[2] = 8; + + if (page == UNION_ROOM_KB_PAGE_EMOJI) + left = 6; + else + left = 8; + for (i = 0, top = 0; i < UNION_ROOM_KB_ROW_COUNT; i++, top += 12) + { + if (!gUnionRoomKeyboardText[page][i]) + return; + + StringCopy(&str[3], gUnionRoomKeyboardText[page][i]); + AddTextPrinterParameterized3(2, 0, left, top, color, TEXT_SPEED_FF, str); + } + } + else + { + left = 4; + for (i = 0, top = 0; i < 10; i++, top += 12) + { + str2 = UnionRoomChat_GetWorkRegisteredText(i); + if (GetStringWidth(0, str2, 0) <= 40) + { + AddTextPrinterParameterized3(2, 0, left, top, color, TEXT_SPEED_FF, str2); + } + else + { + int length = StringLength_Multibyte(str2); + do + { + length--; + StringCopyN_Multibyte(str, str2, length); + } while (GetStringWidth(0, str, 0) > 35); + + AddTextPrinterParameterized3(2, 0, left, top, color, TEXT_SPEED_FF, str); + AddTextPrinterParameterized3(2, 0, left + 35, top, color, TEXT_SPEED_FF, gText_Ellipsis); + } + } + } +} + +static bool32 AnimateMoveBg1Right(void) +{ + if (sWork->bg1hofs < 56) + { + sWork->bg1hofs += 12; + if (sWork->bg1hofs >= 56) + sWork->bg1hofs = 56; + + if (sWork->bg1hofs < 56) + { + FillScanlineEffectWithValue1col(sWork->bg1hofs); + return TRUE; + } + } + + FillScanlineEffectWithValue2col(sWork->bg1hofs); + return FALSE; +} + +static bool32 AnimateMoveBg1Left(void) +{ + if (sWork->bg1hofs > 0) + { + sWork->bg1hofs -= 12; + if (sWork->bg1hofs <= 0) + sWork->bg1hofs = 0; + + if (sWork->bg1hofs > 0) + { + FillScanlineEffectWithValue1col(sWork->bg1hofs); + return TRUE; + } + } + + FillScanlineEffectWithValue2col(sWork->bg1hofs); + return FALSE; +} + +static void PrintKeyboardSwapTextsOnWin3(void) +{ + FillWindowPixelBuffer(3, PIXEL_FILL(1)); + DrawTextBorderOuter(3, 1, 13); + UnionRoomAndTradeMenuPrintOptions(3, 2, 14, 5, sKeyboardSwapTexts); + Menu_InitCursor(3, 2, 0, 0, 14, 5, GetCurrentKeyboardPage()); + PutWindowTilemap(3); +} + +static void ClearWin3(void) +{ + ClearStdWindowAndFrameToTransparent(3, FALSE); + ClearWindowTilemap(3); +} + +static void PrintTextOnWin0Colorized(u16 row, u8 *str, u8 colorIdx) +// colorIdx: 0 = grey, 1 = red, 2 = green, 3 = blue +{ + u8 color[3]; + color[0] = TEXT_COLOR_WHITE; + color[1] = colorIdx * 2 + 2; + color[2] = colorIdx * 2 + 3; + FillWindowPixelRect(0, PIXEL_FILL(1), 0, row * 15, 168, 15); + AddTextPrinterParameterized3(0, 2, 0, row * 15, color, TEXT_SPEED_FF, str); +} + +static void ResetGpuBgState(void) +{ + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + ChangeBgX(3, 0, 0); + ChangeBgY(3, 0, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(64, 240)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 144)); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_BG2 | WININ_WIN0_BG3 + | WININ_WIN0_OBJ | WININ_WIN0_CLR); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); +} + +static void SetBgTilemapWorkBuffers(void) +{ + SetBgTilemapBuffer(0, sWork->bg0Buffer); + SetBgTilemapBuffer(1, sWork->bg1Buffer); + SetBgTilemapBuffer(3, sWork->bg3Buffer); + SetBgTilemapBuffer(2, sWork->bg2Buffer); +} + +static void ClearBg0(void) +{ + RequestDma3Fill(0, (void *)BG_CHAR_ADDR(0), 0x20, 1); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(0); +} + +static void LoadUnionRoomChatPanelGfx(void) +{ + LoadPalette(gUnionRoomChatPanelBgPal_7, 0x70, 0x20); + LoadPalette(sUnionRoomChatPanelBgPal_C, 0xC0, 0x20); + DecompressAndCopyTileDataToVram(1, gUnionRoomChatPanelBgTiles, 0, 0, 0); + CopyToBgTilemapBuffer(1, gUnionRoomChatPanelBgMap, 0, 0); + CopyBgTilemapBufferToVram(1); +} + +static void LoadLinkMiscMenuGfx(void) +{ + u8 *ptr; + + LoadPalette(gLinkMiscMenu_Pal, 0, 0x20); + ptr = DecompressAndCopyTileDataToVram(2, gLinkMiscMenu_Gfx, 0, 0, 0); + CopyToBgTilemapBuffer(2, gLinkMiscMenu_Tilemap, 0, 0); + CopyBgTilemapBufferToVram(2); +} + +static void LoadBg1Pal8(void) +{ + LoadPalette(sBg1Pal8, 0x80, 0x20); + RequestDma3Fill(0, (void *)BG_CHAR_ADDR(1) + 0x20, 0x20, 1); +} + +static void LoadWin0(void) +{ + LoadPalette(sWin0PalF, 0xF0, 0x20); + PutWindowTilemap(0); + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + CopyWindowToVram(0, 3); +} + +static void LoadWin2(void) +{ + PutWindowTilemap(2); + PrintCurrentKeyboardPage(); + CopyWindowToVram(2, 3); +} + +static void LoadWin1(void) +{ + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + PutWindowTilemap(1); + CopyWindowToVram(1, 3); +} + +static void LoadWin3(void) +{ + FillWindowPixelBuffer(3, PIXEL_FILL(1)); + TextWindow_SetUserSelectedFrame(3, 1, 0xD0); + TextWindow_SetStdFrame0_WithPal(3, 0xA, 0x20); + LoadPalette(gTMCaseMainWindowPalette, 0xE0, 0x20); +} + +static void sub_812AD50(void) +{ + struct ScanlineEffectParams params; + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.dmaDest = ®_BG1HOFS; + params.initState = 1; + params.unused9 = 0; + sWork->bg1hofs = 0; + CpuFastFill(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers)); + ScanlineEffect_SetParams(params); +} + +static void FillScanlineEffectWithValue1col(s16 arg0) +{ + CpuFill16(arg0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], 0x120); + CpuFill16(0, gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer] + 0x90, 0x20); +} + +static void FillScanlineEffectWithValue2col(s16 arg0) +{ + CpuFill16(arg0, gScanlineEffectRegBuffers[0], 0x120); + CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x90, 0x20); + CpuFill16(arg0, gScanlineEffectRegBuffers[0] + 0x3C0, 0x120); + CpuFill16(0, gScanlineEffectRegBuffers[0] + 0x450, 0x20); +} diff --git a/src/union_room_chat_objects.c b/src/union_room_chat_objects.c new file mode 100644 index 000000000..f97136a0a --- /dev/null +++ b/src/union_room_chat_objects.c @@ -0,0 +1,318 @@ +#include "global.h" +#include "gflib.h" +#include "decompress.h" +#include "graphics.h" +#include "union_room_chat.h" + +struct UnionRoomChat3 +{ + struct Sprite *selectorCursorSprite; + struct Sprite *characterSelectCursorSprite; + struct Sprite *textEntryCursorSprite; + struct Sprite *rButtonSprite; + struct Sprite *chatIconsSprite; + u16 cursorBlinkTimer; +}; + +static EWRAM_DATA struct UnionRoomChat3 *sWork = NULL; + +static void SpriteCB_TextEntryCursor(struct Sprite * sprite); +static void SpriteCB_CharacterSelectCursor(struct Sprite * sprite); + +static const u16 sUnionRoomChatInterfacePal[] = INCBIN_U16("graphics/union_room_chat/unk_845AC14.gbapal"); +static const u32 sSelectorCursorGfxTiles[] = INCBIN_U32("graphics/union_room_chat/unk_845AC34.4bpp.lz"); +static const u32 sHorizontalBarGfxTiles[] = INCBIN_U32("graphics/union_room_chat/unk_845AEB8.4bpp.lz"); +static const u32 sMenuCursorGfxTiles[] = INCBIN_U32("graphics/union_room_chat/unk_845AED8.4bpp.lz"); +static const u32 sRButtonGfxTiles[] = INCBIN_U32("graphics/union_room_chat/unk_845AF04.4bpp.lz"); + +static const struct CompressedSpriteSheet sSpriteSheets[] = { + {sSelectorCursorGfxTiles, 0x1000, 0}, + {sMenuCursorGfxTiles, 0x0040, 1}, + {sHorizontalBarGfxTiles, 0x0040, 2}, + {sRButtonGfxTiles, 0x0080, 3}, + {gUnionRoomChatIcons, 0x0400, 4} +}; + +static const struct SpritePalette sSpritePalette = { + sUnionRoomChatInterfacePal, 0 +}; + +static const struct OamData sOamData_64x32_1 = { + .shape = SPRITE_SHAPE(64x32), + .size = SPRITE_SIZE(64x32), + .priority = 1 +}; + +static const union AnimCmd sAnim_CursorSmallOpen[] = { + ANIMCMD_FRAME(0x00, 30), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_CursorSmallClosed[] = { + ANIMCMD_FRAME(0x20, 30), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_CursorLargeOpen[] = { + ANIMCMD_FRAME(0x40, 30), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_CursorLargeClosed[] = { + ANIMCMD_FRAME(0x60, 30), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnims_SelectorCursor[] = { + sAnim_CursorSmallOpen, + sAnim_CursorSmallClosed, + sAnim_CursorLargeOpen, + sAnim_CursorLargeClosed +}; + +static const struct SpriteTemplate sSpriteTemplate_SelectorCursor = { + .tileTag = 0, + .paletteTag = 0, + .oam = &sOamData_64x32_1, + .anims = sSpriteAnims_SelectorCursor, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct OamData sOamData_8x16_2 = { + .shape = SPRITE_SHAPE(8x16), + .size = SPRITE_SIZE(8x16), + .priority = 2 +}; + +static const struct SpriteTemplate sSpriteTemplate_TextEntryCursor = { + .tileTag = 2, + .paletteTag = 0, + .oam = &sOamData_8x16_2, + .anims = gDummySpriteAnimTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TextEntryCursor +}; + +static const struct SpriteTemplate sSpriteTemplate_CharacterSelectCursor = { + .tileTag = 1, + .paletteTag = 0, + .oam = &sOamData_8x16_2, + .anims = gDummySpriteAnimTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_CharacterSelectCursor +}; + +static const struct OamData sOamData_16x16_2 = { + .shape = SPRITE_SHAPE(16x16), + .size = SPRITE_SIZE(16x16), + .priority = 2 +}; + +static const struct OamData sOamData_32x16_2 = { + .shape = SPRITE_SHAPE(32x16), + .size = SPRITE_SIZE(32x16), + .priority = 2 +}; + +static const union AnimCmd sAnim_UnionRoomChatIcons_ToggleCase[] = { + ANIMCMD_FRAME(0x00, 2), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_UnionRoomChatIcons_Dummy1[] = { + ANIMCMD_FRAME(0x08, 2), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_UnionRoomChatIcons_Dummy2[] = { + ANIMCMD_FRAME(0x10, 2), + ANIMCMD_END +}; + +static const union AnimCmd sAnim_UnionRoomChatIcons_Register[] = { + ANIMCMD_FRAME(0x18, 2), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_UnionRoomChatIcons[] = { + sAnim_UnionRoomChatIcons_ToggleCase, + sAnim_UnionRoomChatIcons_Dummy1, + sAnim_UnionRoomChatIcons_Dummy2, + sAnim_UnionRoomChatIcons_Register +}; + +static const struct SpriteTemplate sSpriteTemplate_RButton = { + .tileTag = 3, + .paletteTag = 0, + .oam = &sOamData_16x16_2, + .anims = gDummySpriteAnimTable, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +static const struct SpriteTemplate sSpriteTemplate_UnionRoomChatIcons = { + .tileTag = 4, + .paletteTag = 0, + .oam = &sOamData_32x16_2, + .anims = sSpriteAnimTable_UnionRoomChatIcons, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +bool32 UnionRoomChat_TryAllocSpriteWork(void) +{ + int i; + for (i = 0; i < NELEMS(sSpriteSheets); i++) + LoadCompressedSpriteSheet(&sSpriteSheets[i]); + + LoadSpritePalette(&sSpritePalette); + sWork = Alloc(sizeof(struct UnionRoomChat3)); + if (sWork == NULL) + return FALSE; + + return TRUE; +} + +void UnionRoomChat_FreeSpriteWork(void) +{ + if (sWork != NULL) + Free(sWork); +} + +void UnionRoomChat_CreateSelectorCursorObj(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_SelectorCursor, 10, 24, 0); + sWork->selectorCursorSprite = &gSprites[spriteId]; +} + +void UnionRoomChat_ToggleSelectorCursorObjVisibility(bool32 invisible) +{ + sWork->selectorCursorSprite->invisible = invisible; +} + +void UnionRoomChat_MoveSelectorCursorObj(void) +{ + u8 x, y; + u8 page = GetCurrentKeyboardPage(); + UnionRoomChat_GetCursorColAndRow(&x, &y); + if (page != UNION_ROOM_KB_PAGE_COUNT) + { + StartSpriteAnim(sWork->selectorCursorSprite, 0); + sWork->selectorCursorSprite->pos1.x = x * 8 + 10; + sWork->selectorCursorSprite->pos1.y = y * 12 + 24; + } + else + { + StartSpriteAnim(sWork->selectorCursorSprite, 2); + sWork->selectorCursorSprite->pos1.x = 24; + sWork->selectorCursorSprite->pos1.y = y * 12 + 24; + } +} + +void UnionRoomChat_UpdateObjPalCycle(int arg0) +{ + const u16 *palette = &sUnionRoomChatInterfacePal[arg0 * 2 + 1]; + u8 index = IndexOfSpritePaletteTag(0); + LoadPalette(palette, index * 16 + 0x101, 4); +} + +void UnionRoomChat_SetSelectorCursorClosedImage(void) +{ + if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT) + StartSpriteAnim(sWork->selectorCursorSprite, 1); + else + StartSpriteAnim(sWork->selectorCursorSprite, 3); + + sWork->cursorBlinkTimer = 0; +} + +bool32 UnionRoomChat_AnimateSelectorCursorReopen(void) +{ + if (sWork->cursorBlinkTimer > 3) + return FALSE; + + if (++sWork->cursorBlinkTimer > 3) + { + if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT) + StartSpriteAnim(sWork->selectorCursorSprite, 0); + else + StartSpriteAnim(sWork->selectorCursorSprite, 2); + + return FALSE; + } + + return TRUE; +} + +void UnionRoomChat_SpawnTextEntryPointerSprites(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_TextEntryCursor, 76, 152, 2); + sWork->textEntryCursorSprite = &gSprites[spriteId]; + spriteId = CreateSprite(&sSpriteTemplate_CharacterSelectCursor, 64, 152, 1); + sWork->characterSelectCursorSprite = &gSprites[spriteId]; +} + +static void SpriteCB_TextEntryCursor(struct Sprite *sprite) +{ + int var0 = UnionRoomChat_GetMessageEntryCursorPosition(); + if (var0 == 15) + { + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + sprite->pos1.x = var0 * 8 + 76; + } +} + +static void SpriteCB_CharacterSelectCursor(struct Sprite *sprite) +{ + if (++sprite->data[0] > 4) + { + sprite->data[0] = 0; + if (++sprite->pos2.x > 4) + sprite->pos2.x = 0; + } +} + +void CreatePageSwitchUISprites(void) +{ + u8 spriteId = CreateSprite(&sSpriteTemplate_RButton, 8, 152, 3); + sWork->rButtonSprite = &gSprites[spriteId]; + spriteId = CreateSprite(&sSpriteTemplate_UnionRoomChatIcons, 32, 152, 4); + sWork->chatIconsSprite = &gSprites[spriteId]; + sWork->chatIconsSprite->invisible = TRUE; +} + +void UpdateVisibleUnionRoomChatIcon(void) +{ + if (GetCurrentKeyboardPage() == UNION_ROOM_KB_PAGE_COUNT) + { + if (UnionRoomChat_LenMessageEntryBuffer() != 0) + { + // REGISTER + sWork->chatIconsSprite->invisible = FALSE; + StartSpriteAnim(sWork->chatIconsSprite, 3); + } + else + { + sWork->chatIconsSprite->invisible = TRUE; + } + } + else + { + int anim = UnionRoomChat_GetWhetherShouldShowCaseToggleIcon(); + if (anim == 3) + { + sWork->chatIconsSprite->invisible = TRUE; + } + else + { + // A <--> a + sWork->chatIconsSprite->invisible = FALSE; + StartSpriteAnim(sWork->chatIconsSprite, anim); + } + } +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 3ab110c7b..b9b7063d0 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -369,17 +369,12 @@ gUnknown_203B098: @ 203B098 .align 2 .include "src/party_menu.o" - .align 2 -gUnknown_203B0E0: @ 203B0E0 - .space 0x4 - -gUnknown_203B0E4: @ 203B0E4 - .space 0x4 - -gUnknown_203B0E8: @ 203B0E8 - .space 0x4 - + .include "src/union_room_chat.o" + .align 2 + .include "src/union_room_chat_display.o" + .align 2 + .include "src/union_room_chat_objects.o" .align 2 .include "src/help_system_812B1E0.o" .align 2 |