summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/map_header_banks.asm8
-rw-r--r--data/map_header_pointers.asm8
-rwxr-xr-xengine/pikachu_pic_animation.asm16
-rwxr-xr-xmain.asm33
-rwxr-xr-xscripts/billshouse.asm250
-rwxr-xr-xscripts/route11gateupstairs.asm2
6 files changed, 206 insertions, 111 deletions
diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm
index 40cd151f..87a99939 100644
--- a/data/map_header_banks.asm
+++ b/data/map_header_banks.asm
@@ -84,11 +84,11 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4)
db BANK(RockTunnelPokecenter_h)
db BANK(RockTunnel1_h)
db BANK(PowerPlant_h)
- db $12 ; db BANK(Route11Gate_h)
+ db BANK(Route11Gate_h)
db BANK(DiglettsCaveEntranceRoute11_h)
- db $12 ; db BANK(Route11GateUpstairs_h)
- db $12 ; db BANK(Route12Gate_h)
- db $07 ; db BANK(BillsHouse_h)
+ db BANK(Route11GateUpstairs_h)
+ db BANK(Route12Gate_h)
+ db BANK(BillsHouse_h)
db $17 ; db BANK(VermilionPokecenter_h)
db $16 ; db BANK(FanClub_h)
db $17 ; db BANK(VermilionMart_h)
diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm
index c8e41d14..2b1557b0 100644
--- a/data/map_header_pointers.asm
+++ b/data/map_header_pointers.asm
@@ -84,11 +84,11 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2)
dw RockTunnelPokecenter_h
dw RockTunnel1_h
dw PowerPlant_h
- dw $5396 ; dw Route11Gate_h
+ dw Route11Gate_h
dw DiglettsCaveEntranceRoute11_h
- dw $53de ; dw Route11GateUpstairs_h
- dw $548f ; dw Route12Gate_h
- dw $606e ; dw BillsHouse_h
+ dw Route11GateUpstairs_h
+ dw Route12Gate_h
+ dw BillsHouse_h
dw $4865 ; dw VermilionPokecenter_h
dw $5a00 ; dw FanClub_h ;id=90
dw $48cb ; dw VermilionMart_h
diff --git a/engine/pikachu_pic_animation.asm b/engine/pikachu_pic_animation.asm
index c16e3e5f..a9e0650b 100755
--- a/engine/pikachu_pic_animation.asm
+++ b/engine/pikachu_pic_animation.asm
@@ -863,10 +863,10 @@ Data_fd3b0:
db $04, $80, $07, $80 ; $1a
db $05, $80, $07, $80 ; $1b
db $06, $80, $07, $80 ; $1c
- db $0b, $27, $02, $00 ; $1d
- db $0c, $27, $02, $00 ; $1e
- db $0d, $27, $02, $00 ; $1f
- db $0e, $27, $02, $00 ; $20
+ db $0b, $27, $02, $00 ; $1d step down
+ db $0c, $27, $02, $00 ; $1e step up
+ db $0d, $27, $02, $00 ; $1f step left
+ db $0e, $27, $02, $00 ; $20 step right
db $0f, $27, $02, $00 ; $21
db $10, $27, $02, $00 ; $22
db $11, $27, $02, $00 ; $23
@@ -887,10 +887,10 @@ Data_fd3b0:
db $10, $0f, $08, $17 ; $32
db $11, $0f, $08, $17 ; $33
db $12, $0f, $08, $17 ; $34
- db $13, $0f, $06, $00 ; $35
- db $14, $0f, $06, $00 ; $36
- db $15, $0f, $06, $00 ; $37
- db $16, $0f, $06, $00 ; $38
+ db $13, $0f, $06, $00 ; $35 look down
+ db $14, $0f, $06, $00 ; $36 look up
+ db $15, $0f, $06, $00 ; $37 look left
+ db $16, $0f, $06, $00 ; $38 look right
db $02, $80, $04, $00 ; $39
db $02, $80, $05, $00 ; $3a
db $02, $80, $03, $80 ; $3b
diff --git a/main.asm b/main.asm
index ad386b82..0110758c 100755
--- a/main.asm
+++ b/main.asm
@@ -406,7 +406,13 @@ INCBIN "maps/powerplant.blk"
INCLUDE "data/mapHeaders/diglettscaveroute11.asm"
INCLUDE "scripts/diglettscaveroute11.asm"
INCLUDE "data/mapObjects/diglettscaveroute11.asm"
- dr $1def6,$1e2ae ; map scripts
+ dr $1def6,$1e06e ; map scripts
+
+INCLUDE "data/mapHeaders/billshouse.asm"
+INCLUDE "scripts/billshouse.asm"
+INCLUDE "data/mapObjects/billshouse.asm"
+BillsHouseBlocks:
+INCBIN "maps/billshouse.blk"
INCLUDE "engine/menu/oaks_pc.asm"
@@ -839,7 +845,11 @@ INCBIN "maps/route7.blk"
MtMoonPokecenterBlocks:
RockTunnelPokecenterBlocks:
INCBIN "maps/mtmoonpokecenter.blk"
- dr $480c7,$480eb
+Route11GateBlocks:
+INCBIN "maps/route11gate.blk"
+Route11GateUpstairsBlocks:
+Route12GateUpstairsBlocks:
+INCBIN "maps/route11gateupstairs.blk"
INCLUDE "scripts/route7.asm"
INCLUDE "data/mapHeaders/redshouse1f.asm"
@@ -857,7 +867,24 @@ INCLUDE "data/mapHeaders/rocktunnelpokecenter.asm"
INCLUDE "scripts/rocktunnelpokecenter.asm"
INCLUDE "data/mapObjects/rocktunnelpokecenter.asm"
- dr $49396,$49953
+INCLUDE "data/mapHeaders/route11gate.asm"
+INCLUDE "scripts/route11gate.asm"
+INCLUDE "data/mapObjects/route11gate.asm"
+
+INCLUDE "data/mapHeaders/route11gateupstairs.asm"
+INCLUDE "scripts/route11gateupstairs.asm"
+INCLUDE "data/mapObjects/route11gateupstairs.asm"
+
+INCLUDE "data/mapHeaders/route12gate.asm"
+INCLUDE "scripts/route12gate.asm"
+INCLUDE "data/mapObjects/route12gate.asm"
+Route12GateBlocks:
+INCBIN "maps/route12gate.blk"
+
+INCLUDE "data/mapHeaders/route12gateupstairs.asm"
+INCLUDE "scripts/route12gateupstairs.asm"
+INCLUDE "data/mapObjects/route12gateupstairs.asm"
+ dr $4958d,$49953
INCLUDE "data/mapHeaders/mtmoon1.asm"
INCLUDE "scripts/mtmoon1.asm"
diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm
index 4f01021e..014f5051 100755
--- a/scripts/billshouse.asm
+++ b/scripts/billshouse.asm
@@ -1,8 +1,10 @@
BillsHouseScript: ; 1e76a (7:676a)
+ call BillsHouseScript_1e09e
call EnableAutoTextBoxDrawing
ld a, [W_BILLSHOUSECURSCRIPT]
ld hl, BillsHouseScriptPointers
- jp JumpTable
+ call JumpTable
+ ret
BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript0
@@ -11,21 +13,65 @@ BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript3
dw BillsHouseScript4
dw BillsHouseScript5
+ dw BillsHouseScript6
+ dw BillsHouseScript7
+ dw BillsHouseScript8
+ dw BillsHouseScript9
+
+BillsHouseScript_1e09e:
+ ld hl, wPreventBlackout
+ bit 7, [hl]
+ set 7, [hl]
+ ret nz
+ ld hl, wd7f2
+ bit 5, [hl]
+ jr z, .asm_1e0af
+ jr .asm_1e0b3
+
+.asm_1e0af
+ ld a, $0
+ jr .asm_1e0b5
+
+.asm_1e0b3
+ ld a, $9
+.asm_1e0b5
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
BillsHouseScript0: ; 1e782 (7:6782)
+ ld a, [wd472]
+ bit 7, a
+ jr z, .asm_1e0d2
+ callab Func_fce73
+ jr c, .asm_1e0d2
+ callab Func_f24d5
+.asm_1e0d2
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $1
+ ld [W_BILLSHOUSECURSCRIPT], a
ret
BillsHouseScript1: ; 1e783 (7:6783)
+ ret
+
+BillsHouseScript2:
+ ld a, $ff
+ ld [wJoyIgnore], a
ld a, [wSpriteStateData1 + 9]
and a ; cp SPRITE_FACING_DOWN
ld de, MovementData_1e79c
jr nz, .notDown
+ call CheckPikachuAsleep
+ jr nz, .asm_1e0f8
+ callab Func_f250b
+.asm_1e0f8
ld de, MovementData_1e7a0
.notDown
ld a, $1
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $2
+ ld a, $3
ld [W_BILLSHOUSECURSCRIPT], a
ret
@@ -44,25 +90,58 @@ MovementData_1e7a0: ; 1e7a0 (7:67a0)
db NPC_MOVEMENT_UP
db $FF
-BillsHouseScript2: ; 1e7a6 (7:67a6)
+BillsHouseScript3: ; 1e7a6 (7:67a6)
ld a, [wd730]
bit 0, a
ret nz
ld a, HS_BILL_POKEMON
ld [wMissableObjectIndex], a
predef HideObject
- SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
+ call CheckPikachuAsleep
+ jr z, .asm_1e13e
+ ld hl, PikachuMovementData_1e14d
+ ld a, [wSpriteStateData1 + 9]
+ and a ; cp SPRITE_FACING_DOWN
+ jr nz, .asm_1e133
+ ld hl, PikachuMovementData_1e152
+.asm_1e133
+ call Func_159b
+ callab InitializePikachuTextID
+.asm_1e13e
xor a
ld [wJoyIgnore], a
- ld a, $3
+ SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
+ ld a, $4
ld [W_BILLSHOUSECURSCRIPT], a
ret
-BillsHouseScript3: ; 1e7c5 (7:67c5)
+PikachuMovementData_1e14d:
+ db $00
+ db $1e
+ db $1e
+ db $1e
+ db $3f
+
+PikachuMovementData_1e152:
+ db $00
+ db $1e
+ db $1f
+ db $1e
+ db $1e
+ db $20
+ db $36
+ db $3f
+
+BillsHouseScript4: ; 1e7c5 (7:67c5)
CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
ret z
- ld a, $f0
+ ld a, $fc
ld [wJoyIgnore], a
+ ld a, $5
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
+
+BillsHouseScript5:
ld a, $2
ld [wSpriteIndex], a
ld a, $c
@@ -79,11 +158,30 @@ BillsHouseScript3: ; 1e7c5 (7:67c5)
predef ShowObject
ld c, 8
call DelayFrames
+ ld hl, wd472
+ bit 7, [hl]
+ jr z, .asm_1e1c6
+ call CheckPikachuAsleep
+ jr z, .asm_1e1c6
+ ld a, $2
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ ld hl, PikachuMovementData_1e1a9
+ call Func_159b
+ ld a, $f
+ ld [wEmotionBubbleSpriteIndex], a
+ ld a, $0
+ ld [wWhichEmotionBubble], a
+ predef EmotionBubble
+ callab InitializePikachuTextID
+.asm_1e1c6
ld a, $2
ld [H_SPRITEINDEX], a
ld de, MovementData_1e807
call MoveSprite
- ld a, $4
+ ld a, $6
ld [W_BILLSHOUSECURSCRIPT], a
ret
@@ -95,26 +193,67 @@ MovementData_1e807: ; 1e807 (7:6807)
db NPC_MOVEMENT_DOWN
db $FF
-BillsHouseScript4: ; 1e80d (7:680d)
+PikachuMovementData_1e1a9:
+ db $00
+ db $37
+ db $3f
+
+BillsHouseScript6: ; 1e80d (7:680d)
ld a, [wd730]
bit 0, a
ret nz
- xor a
- ld [wJoyIgnore], a
SetEvent EVENT_MET_BILL_2 ; this event seems redundant
SetEvent EVENT_MET_BILL
- ld a, $0
+ ld a, $7
ld [W_BILLSHOUSECURSCRIPT], a
ret
-BillsHouseScript5: ; 1e827 (7:6827)
- ld a, $4
+BillsHouseScript7:
+ xor a
+ ld [wPlayerMovingDirection], a
+ ld a, SPRITE_FACING_UP
+ ld [wSpriteStateData1 + 9], a
+ ld a, $FF ^ (A_BUTTON | B_BUTTON)
+ ld [wJoyIgnore], a
+ ld de, RLE_1e219
+ ld hl, wSimulatedJoypadStatesEnd
+ call DecodeRLEList
+ dec a
+ ld [wSimulatedJoypadStatesIndex], a
+ call StartSimulatingJoypadStates
+ ld a, $8
+ ld [W_BILLSHOUSECURSCRIPT], a
+ ret
+
+RLE_1e219:
+ db D_RIGHT,$3
+ db $FF
+
+BillsHouseScript8:
+ ld a, [wSimulatedJoypadStatesIndex]
+ and a
+ ret nz
+ xor a
+ ld [wPlayerMovingDirection], a
+ ld a, SPRITE_FACING_UP
+ ld [wSpriteStateData1 + 9], a
+ ld a, $2
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_DOWN
+ ld [hSpriteFacingDirection], a
+ call SetSpriteFacingDirectionAndDelay
+ xor a
+ ld [wJoyIgnore], a
+ ld a, $2
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $0
+ ld a, $9
ld [W_BILLSHOUSECURSCRIPT], a
ret
+BillsHouseScript9: ; 1e827 (7:6827)
+ ret
+
BillsHouseTextPointers: ; 1e834 (7:6834)
dw BillsHouseText1
dw BillsHouseText2
@@ -122,91 +261,20 @@ BillsHouseTextPointers: ; 1e834 (7:6834)
dw BillsHouseText4
BillsHouseText4: ; 1e83c (7:683c)
- db $fd
+ TX_FAR _BillsHouseDontLeaveText
+ db "@"
BillsHouseText1: ; 1e83d (7:683d)
TX_ASM
- ld hl, BillsHouseText_1e865
- call PrintText
- call YesNoChoice
- ld a, [wCurrentMenuItem]
- and a
- jr nz, .asm_1e85a
-.asm_1e84d
- ld hl, BillsHouseText_1e86a
- call PrintText
- ld a, $1
- ld [W_BILLSHOUSECURSCRIPT], a
- jr .asm_1e862
-.asm_1e85a
- ld hl, BillsHouseText_1e86f
- call PrintText
- jr .asm_1e84d
-.asm_1e862
+ callba Func_f2418
jp TextScriptEnd
-BillsHouseText_1e865: ; 1e865 (7:6865)
- TX_FAR _BillsHouseText_1e865
- db "@"
-
-BillsHouseText_1e86a: ; 1e86a (7:686a)
- TX_FAR _BillsHouseText_1e86a
- db "@"
-
-BillsHouseText_1e86f: ; 1e86f (7:686f)
- TX_FAR _BillsHouseText_1e86f
- db "@"
-
BillsHouseText2: ; 1e874 (7:6874)
TX_ASM
- CheckEvent EVENT_GOT_SS_TICKET
- jr nz, .asm_1e8a9
- ld hl, BillThankYouText
- call PrintText
- lb bc, S_S_TICKET, 1
- call GiveItem
- jr nc, .BagFull
- ld hl, SSTicketReceivedText
- call PrintText
- SetEvent EVENT_GOT_SS_TICKET
- ld a, HS_CERULEAN_GUARD_1
- ld [wMissableObjectIndex], a
- predef ShowObject
- ld a, HS_CERULEAN_GUARD_2
- ld [wMissableObjectIndex], a
- predef HideObject
-.asm_1e8a9
- ld hl, BillsHouseText_1e8cb
- call PrintText
- jr .asm_1e8b7
-.BagFull
- ld hl, SSTicketNoRoomText
- call PrintText
-.asm_1e8b7
+ callba Func_f244a
jp TextScriptEnd
-BillThankYouText: ; 1e8ba (7:68ba)
- TX_FAR _BillThankYouText
- db "@"
-
-SSTicketReceivedText: ; 1e8bf (7:68bf)
- TX_FAR _SSTicketReceivedText
- db $11, $6, "@"
-
-SSTicketNoRoomText: ; 1e8c6 (7:68c6)
- TX_FAR _SSTicketNoRoomText
- db "@"
-
-BillsHouseText_1e8cb: ; 1e8cb (7:68cb)
- TX_FAR _BillsHouseText_1e8cb
- db "@"
-
BillsHouseText3: ; 1e8d0 (7:68d0)
TX_ASM
- ld hl, BillsHouseText_1e8da
- call PrintText
+ callba Func_f24a2
jp TextScriptEnd
-
-BillsHouseText_1e8da: ; 1e8da (7:68da)
- TX_FAR _BillsHouseText_1e8da
- db "@"
diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm
index ec543a6a..e41e46e5 100755
--- a/scripts/route11gateupstairs.asm
+++ b/scripts/route11gateupstairs.asm
@@ -9,7 +9,7 @@ Route11GateUpstairsTextPointers: ; 49457 (12:5457)
Route11GateUpstairsText1: ; 4945f (12:545f)
TX_ASM
- xor a
+ ld a, $0
ld [wWhichTrade], a
predef DoInGameTradeDialogue
Route11GateUpstairsScriptEnd: ; 49469 (12:5469)