pokecrystal/engine/dummy_game.asm

616 lines
7.8 KiB
NASM
Raw Normal View History

2015-11-12 04:38:57 +00:00
_DummyGame: ; e1e5b (38:5e5b)
call Functione1e67
call DelayFrame
.asm_e1e61
call Functione1ebb
jr nc, .asm_e1e61
ret
Functione1e67: ; e1e67 (38:5e67)
call DisableLCD
2015-11-20 20:15:32 +00:00
ld b, SCGB_08
2015-11-12 04:38:57 +00:00
call GetSGBLayout
callab ClearSpriteAnims
2015-11-12 04:38:57 +00:00
ld hl, LZ_e2221
ld de, VTiles2 tile $00
call Decompress
ld hl, Unknown_e00ed
ld de, VTiles0 tile $00
ld bc, $40
ld a, BANK(Unknown_e00ed)
call FarCopyBytes
ld a, $8
ld hl, wc300
ld [hli], a
ld [hl], $0
hlcoord 0, 0
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
xor a
ld [hSCY], a
ld [hSCX], a
ld [rWY], a
ld [wJumptableIndex], a
ld a, $1
ld [hBGMapMode], a
ld a, $e3
ld [rLCDC], a
ld a, $e4
call DmgToCgbBGPals
ld a, $e0
2015-12-09 16:38:40 +00:00
call DmgToCgbObjPal0
2015-11-12 04:38:57 +00:00
ret
Functione1ebb: ; e1ebb (38:5ebb)
ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e1ed0
call Functione1ed2
callab PlaySpriteAnimations
2015-11-12 04:38:57 +00:00
call DelayFrame
and a
ret
.asm_e1ed0
scf
ret
Functione1ed2: ; e1ed2 (38:5ed2)
ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_e1ee1
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; e1ee1 (38:5ee1)
Jumptable_e1ee1: ; e1ee1
dw Functione1ef3
dw Functione1efb
dw Functione1f1c
dw Functione1f42
dw Functione1f61
dw Functione1f8b
dw Functione1fba
dw Functione1fcc
dw Functione2000
; e1ef3
Functione1ef3: ; e1ef3
call Functione2152
ld hl, wJumptableIndex
inc [hl]
ret
; e1efb
Functione1efb: ; e1efb
call ret_e00ed
2015-11-12 04:38:57 +00:00
jr nc, .asm_e1f06
ld hl, wJumptableIndex
set 7, [hl]
ret
.asm_e1f06
call Functione209d
ld hl, wJumptableIndex
inc [hl]
xor a
ld [wc708], a
ld hl, wc703
rept 4
ld [hli], a
endr
ld [hl], a
ld [wc709], a
Functione1f1c: ; e1f1c
ld hl, wc708
ld a, [hl]
cp $2d
jr nc, .asm_e1f30
inc [hl]
call Functione2183
xor a
ld [wc6fd], a
call Functione2128
ret
.asm_e1f30
ld de, $341c
ld a, $c
2015-11-13 15:48:49 +00:00
call _InitSpriteAnimStruct
2015-11-12 04:38:57 +00:00
ld a, $5
ld [wc702], a
ld hl, wJumptableIndex
inc [hl]
ret
; e1f42
Functione1f42: ; e1f42
ld a, [wc702]
hlcoord 17, 0
add $f6
ld [hl], a
ld hl, wc702
ld a, [hl]
and a
jr nz, .asm_e1f58
ld a, $7
ld [wJumptableIndex], a
ret
.asm_e1f58
dec [hl]
xor a
ld [wcf64], a
ld hl, wJumptableIndex
inc [hl]
Functione1f61: ; e1f61
ld a, [wcf64]
and a
ret z
dec a
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld a, [hl]
cp $ff
ret z
ld [wc6fd], a
ld [wPlayerMinimized], a
ld a, e
ld [EnemyScreens], a
call Functione2183
call Functione2128
xor a
ld [wcf64], a
ld hl, wJumptableIndex
inc [hl]
ret
; e1f8b
Functione1f8b: ; e1f8b
ld a, [wcf64]
and a
ret z
dec a
ld hl, EnemyScreens
cp [hl]
ret z
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld a, [hl]
cp $ff
ret z
ld [wc6fd], a
ld [PlayerScreens], a
ld a, e
ld [wc701], a
call Functione2183
call Functione2128
ld a, $40
ld [wc708], a
ld hl, wJumptableIndex
inc [hl]
Functione1fba: ; e1fba
ld hl, wc708
ld a, [hl]
and a
jr z, .asm_e1fc3
dec [hl]
ret
.asm_e1fc3
call Functione2010
ld a, $3
ld [wJumptableIndex], a
ret
; e1fcc
Functione1fcc: ; e1fcc
ld a, [hJoypadPressed]
and A_BUTTON
ret z
xor a
ld [wc708], a
.asm_e1fd5
ld hl, wc708
ld a, [hl]
cp $2d
jr nc, .asm_e1ff9
inc [hl]
push af
call Functione2183
pop af
push hl
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld a, [hl]
pop hl
cp $ff
jr z, .asm_e1fd5
ld [wc6fd], a
call Functione2128
jr .asm_e1fd5
.asm_e1ff9
call WaitPressAorB_BlinkCursor
ld hl, wJumptableIndex
inc [hl]
Functione2000: ; e2000
call ret_e00ed
2015-11-12 04:38:57 +00:00
jr nc, .asm_e200b
ld hl, wJumptableIndex
set 7, [hl]
ret
.asm_e200b
xor a
ld [wJumptableIndex], a
ret
; e2010
Functione2010: ; e2010
ld hl, wPlayerMinimized
ld a, [hli]
cp [hl]
jr nz, .asm_e2066
ld a, [EnemyScreens]
call Functione2183
call Functione2142
ld a, [wc701]
call Functione2183
call Functione2142
ld a, [EnemyScreens]
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld [hl], $ff
ld a, [wc701]
ld e, a
ld d, $0
ld hl, wc6d0
add hl, de
ld [hl], $ff
ld hl, wc703
.asm_e2044
ld a, [hli]
and a
jr nz, .asm_e2044
dec hl
ld a, [wPlayerMinimized]
ld [hl], a
ld [wc6fd], a
ld hl, wc709
ld e, [hl]
rept 2
inc [hl]
endr
ld d, $0
hlcoord 5, 0
add hl, de
call Functione2128
ld hl, UnknownText_0xe2083
call PrintText
ret
.asm_e2066
xor a
ld [wc6fd], a
ld a, [EnemyScreens]
call Functione2183
call Functione2128
ld a, [wc701]
call Functione2183
call Functione2128
ld hl, UnknownText_0xe2098
call PrintText
ret
; e2083
UnknownText_0xe2083: ; 0xe2083
start_asm
; 0xe2084
Functione2084: ; e2084
push bc
hlcoord 2, 13
call Functione2128
ld hl, UnknownText_0xe2093
pop bc
rept 3
inc bc
endr
ret
; e2093
UnknownText_0xe2093: ; 0xe2093
; , yeah!
text_jump UnknownText_0x1c1a5b
db "@"
; 0xe2098
UnknownText_0xe2098: ; 0xe2098
; Darn…
text_jump UnknownText_0x1c1a65
db "@"
; 0xe209d
Functione209d: ; e209d
ld hl, wc6d0
ld bc, $2d
xor a
call ByteFill
call Functione2101
ld c, $2
ld b, [hl]
call Functione20e5
ld c, $8
ld b, [hl]
call Functione20e5
ld c, $4
ld b, [hl]
call Functione20e5
ld c, $7
ld b, [hl]
call Functione20e5
ld c, $3
ld b, [hl]
call Functione20e5
ld c, $6
ld b, [hl]
call Functione20e5
ld c, $1
ld b, [hl]
call Functione20e5
ld c, $5
ld hl, wc6d0
ld b, $2d
.asm_e20db
ld a, [hl]
and a
jr nz, .asm_e20e0
ld [hl], c
.asm_e20e0
inc hl
dec b
jr nz, .asm_e20db
ret
; e20e5
Functione20e5: ; e20e5
push hl
ld de, wc6d0
.asm_e20e9
call Random
and $3f
cp $2d
jr nc, .asm_e20e9
ld l, a
ld h, $0
add hl, de
ld a, [hl]
and a
jr nz, .asm_e20e9
ld [hl], c
dec b
jr nz, .asm_e20e9
pop hl
inc hl
ret
; e2101
Functione2101: ; e2101
ld a, [MenuSelection2]
dec a
ld l, a
ld h, 0
rept 3
add hl, hl
endr
ld de, Unknown_e2110
add hl, de
ret
; e2110
Unknown_e2110: ; e2110
db $02, $03, $06, $06, $06, $08, $08, $06
db $02, $02, $04, $06, $06, $08, $08, $09
db $02, $02, $02, $04, $07, $08, $08, $0c
; e2128
Functione2128: ; e2128
ld a, [wc6fd]
sla a
sla a
add $4
ld [hli], a
inc a
ld [hld], a
inc a
ld bc, SCREEN_WIDTH
add hl, bc
ld [hli], a
inc a
ld [hl], a
ld c, 3
call DelayFrames
ret
; e2142
Functione2142: ; e2142
ld a, $1
ld [hli], a
ld [hld], a
ld bc, SCREEN_WIDTH
add hl, bc
ld [hli], a
ld [hl], a
ld c, 3
call DelayFrames
ret
; e2152
Functione2152: ; e2152
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $1
call ByteFill
hlcoord 0, 0
ld de, String_e2177
call PlaceString
hlcoord 15, 0
ld de, String_e217d
call PlaceString
ld hl, UnknownText_0xe2176
call PrintText
ret
; e2176
UnknownText_0xe2176: ; 0xe2176
db "@"
; 0xe2177
String_e2177: db "とったもの@"
String_e217d: db "あと かい@"
; e2183
Functione2183: ; e2183
ld d, $0
.asm_e2185
sub $9
jr c, .asm_e218c
inc d
jr .asm_e2185
.asm_e218c
add $9
ld e, a
hlcoord 1, 2
ld bc, $28
.asm_e2195
ld a, d
and a
jr z, .asm_e219d
add hl, bc
dec d
jr .asm_e2195
.asm_e219d
sla e
add hl, de
ret
; e21a1
Functione21a1: ; e21a1 (38:61a1)
ld a, [wJumptableIndex]
cp $7
jr nc, .quit
call JoyTextDelay
ld hl, hJoypadPressed ; $ffa3
ld a, [hl]
and A_BUTTON
jr nz, .pressed_a
ld a, [hl]
and D_LEFT
jr nz, .pressed_left
ld a, [hl]
and D_RIGHT
jr nz, .pressed_right
ld a, [hl]
and D_UP
jr nz, .pressed_up
ld a, [hl]
and D_DOWN
jr nz, .pressed_down
ret
.quit
ld hl, 0
add hl, bc
ld [hl], $0
ret
.pressed_a
ld hl, $c
add hl, bc
ld a, [hl]
inc a
ld [wcf64], a
ret
.pressed_left
ld hl, $6
add hl, bc
ld a, [hl]
and a
ret z
sub $10
ld [hl], a
ld hl, $c
add hl, bc
dec [hl]
ret
.pressed_right
ld hl, $6
add hl, bc
ld a, [hl]
cp $80
ret z
add $10
ld [hl], a
ld hl, $c
add hl, bc
inc [hl]
ret
.pressed_up
ld hl, $7
add hl, bc
ld a, [hl]
and a
ret z
sub $10
ld [hl], a
ld hl, $c
add hl, bc
ld a, [hl]
sub $9
ld [hl], a
ret
.pressed_down
ld hl, $7
add hl, bc
ld a, [hl]
cp $40
ret z
add $10
ld [hl], a
ld hl, $c
add hl, bc
ld a, [hl]
add $9
ld [hl], a
ret
; e2221 (38:6221)
LZ_e2221: ; e2221
INCBIN "gfx/unknown/0e2221.2bpp.lz"