Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _script_flags_set:
- push af
- pop bc
- ld a, c
- ld [byte_18A0BD], a
- ret
- off_14AF: dw _scr_cmd00
- dw _scr_cmd01
- dw _scr_cmd02
- dw _scr_cmd03
- dw _scr_cmd04
- dw _scr_cmd05
- dw _scr_cmd06
- dw _scr_cmd07
- dw _scr_cmd08
- dw _scr_cmd09
- dw _scr_cmd0A
- dw _scr_cmd0B
- dw _scr_cmd0C
- dw _scr_cmd0D
- dw _scr_cmd0E
- dw _scr_cmd0F
- dw _scr_cmd10
- dw _scr_cmd11
- dw _scr_cmd12
- dw _scr_cmd13
- dw _scr_cmd14
- dw _scr_cmd16
- dw _scr_cmd16
- dw _scr_cmd17
- dw _scr_cmd18
- dw _scr_cmd1A
- dw _scr_cmd1A
- dw _scr_cmd1B
- dw _scr_cmd1E
- dw _scr_cmd1E
- dw _scr_cmd1E
- dw _scr_cmd1F
- dw _scr_cmd20
- dw _scr_cmd21
- dw _scr_cmd22
- dw _scr_cmd23
- dw _scr_cmd24
- dw _scr_cmd25
- dw _scr_cmd26
- dw _scr_cmd27
- dw _scr_cmd28
- dw _scr_cmd29
- dw _scr_cmd2A
- dw _scr_cmd2B
- dw _scr_cmd2C
- dw _scr_cmd2D
- dw _scr_cmd2E
- dw _scr_cmd2F
- dw _scr_cmd30
- dw _scr_cmd34
- dw _scr_cmd34
- dw _scr_cmd34
- dw _scr_cmd34
- dw _scr_cmd36
- dw _scr_cmd36
- dw _scr_cmd37
- dw _scr_cmd38
- dw _scr_cmd39
- dw _scr_cmd3A
- dw _scr_cmd3B
- dw _scr_cmd3C
- dw _scr_cmd3D
- dw _scr_cmd3E
- dw _scr_cmd40
- dw _scr_cmd40
- dw _scr_cmd41
- dw _scr_cmd42
- dw _scr_cmd43
- dw _scr_cmd44
- dw _scr_cmd45
- dw _scr_cmd46
- dw _scr_cmd47
- dw _scr_cmd48
- dw _scr_cmd49
- dw _scr_cmd4A
- _script_run:
- ld a, [byte_10D4A1]
- and a
- ret nz
- dec a
- ld hl, byte_18A0BC
- and [hl]
- jr z, _script_exec
- dec [hl]
- ret
- _script_exec:
- ld a, [byte_18A0BA]
- ld l, a
- ld a, [byte_18A0BB]
- ld h, a
- _script_cmd_fetch:
- ldi a, [hl]
- sla a
- ld de, off_14AF
- add a, e
- ld e, a
- jr nc, loc_1564
- inc d
- loc_1564:
- ld a, [de]
- ld c, a
- inc de
- ld a, [de]
- ld b, a
- push bc
- ret
- sub_156B:
- ld a, l
- ld [byte_18A0BA], a
- ld a, h
- ld [byte_18A0BB], a
- ret
- sub_1572:
- ld de, unk_18A0C3
- ld a, [byte_18A0C2]
- _de_add_a_0:
- add a, e
- ld e, a
- ret nc
- inc d
- ret
- sub_157C:
- ld [de], a
- inc de
- ld a, [byte_18A0C2]
- inc a
- ld [byte_18A0C2], a
- ret
- sub_1584:
- ld a, [byte_18A0C2]
- dec a
- ld [byte_18A0C2], a
- dec de
- ld a, [de]
- ret
- _scr_cmd00:
- ld a, $80
- ld [byte_18A0CA], a
- ret
- _scr_cmd01:
- jp sub_156B
- _scr_cmd02:
- ldi a, [hl]
- ld [byte_18A0BC], a
- jp sub_156B
- _scr_cmd05:
- ldi a, [hl]
- ld b, a
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- ld d, a
- push hl
- ld hl, byte_18A0CB
- ldi a, [hl]
- ld [byte_18A0A8], a
- ldi a, [hl]
- ld [byte_18A0A9], a
- ldi a, [hl]
- ld [byte_18A0AA], a
- ldi a, [hl]
- ld [byte_18A0AB], a
- ld a, [byte_18A0D1]
- and $20
- ld [byte_18A0AC], a
- xor a
- ld [byte_18A0AD], a
- call sub_149B
- call _script_flags_set
- pop hl
- jp _script_cmd_fetch
- _scr_cmd03:
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- ld d, a
- call sub_156B
- push de
- ret
- _scr_cmd06:
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- push hl
- ld h, a
- ld l, e
- ld bc, sub_15D7
- push bc
- jp [hl]
- sub_15D7:
- pop hl
- jp _script_cmd_fetch
- _scr_cmd04:
- ldi a, [hl]
- ld [byte_10D4A0], a
- jp loc_8EE
- _scr_cmd07:
- ldi a, [hl]
- ld [byte_18A0BA], a
- ldi a, [hl]
- ld [byte_18A0BB], a
- jp _script_exec
- _scr_cmd08:
- ldi a, [hl]
- ld [byte_18A0BA], a
- ldi a, [hl]
- ld [byte_18A0BB], a
- call sub_1572
- ld a, h
- call sub_157C
- ld a, l
- call sub_157C
- jp _script_exec
- _scr_cmd09:
- call sub_1572
- call sub_1584
- ld l, a
- call sub_1584
- ld h, a
- jp _script_cmd_fetch
- _scr_cmd0A:
- call sub_1572
- ld a, [byte_18A0C2]
- dec a
- dec a
- ld [byte_18A0C2], a
- jr _scr_cmd07
- _scr_cmd0B:
- xor a
- ld [byte_18A0C0], a
- jp _script_cmd_fetch
- _scr_cmd0C:
- xor a
- ld [byte_18A0C1], a
- jp _script_cmd_fetch
- _scr_cmd0D:
- ld bc, byte_18A0C0
- jr loc_162C
- _scr_cmd0E:
- ld bc, byte_18A0C1
- loc_162C:
- ld a, [bc]
- inc a
- ld [bc], a
- cp [hl]
- inc hl
- jp c, _scr_cmd07
- xor a
- ld [bc], a
- jr loc_164C
- _scr_cmd0F:
- ld a, [byte_18A0BD]
- ld c, a
- push bc
- pop af
- jr z, loc_164C
- jp _scr_cmd07
- _scr_cmd10:
- ld a, [byte_18A0BD]
- ld c, a
- push bc
- pop af
- jr c, loc_164C
- jp _scr_cmd07
- loc_164C:
- inc hl
- inc hl
- jp _script_cmd_fetch
- _scr_cmd11:
- ld c, $92
- ldi a, [hl]
- add a, c
- ld c, a
- ldi a, [hl]
- ld b, a
- ld a, [c]
- and b
- jr nz, loc_164C
- jp _scr_cmd07
- _scr_cmd12:
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- ld d, a
- ld a, [de]
- sla a
- add a, l
- ld e, a
- ld a, h
- adc a, 0
- ld d, a
- ld a, [de]
- ld l, a
- inc de
- ld a, [de]
- ld h, a
- jp _script_cmd_fetch
- _scr_cmd13:
- ldi a, [hl]
- ld [byte_18A0BE], a
- ldi a, [hl]
- ld [byte_18A0BF], a
- jp _script_cmd_fetch
- _scr_cmd14:
- ldi a, [hl]
- ld c, a
- ldi a, [hl]
- ld b, a
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- ld d, a
- ld a, c
- loc_1686:
- ld [de], a
- inc de
- dec b
- jr nz, loc_1686
- jp _script_cmd_fetch
- jp _script_cmd_fetch
- _scr_cmd16:
- ldi a, [hl]
- push hl
- call sub_2E7
- pop hl
- jp _script_cmd_fetch
- _scr_cmd17:
- push hl
- call sub_16BA
- call sub_16B0
- pop hl
- jp sub_156B
- _scr_cmd18:
- push hl
- call sub_16BA
- call sub_16B0
- pop hl
- jp _script_cmd_fetch
- sub_16B0:
- ld de, byte_18A0D4
- ld hl, byte_18A0CB
- ld a, [byte_18A0D2]
- jr loc_16C2
- sub_16BA:
- ld de, unk_18A0D5
- ld hl, byte_18A0CD
- ld a, [byte_18A0D3]
- loc_16C2:
- and a
- ret z
- bit 7, a
- jr nz, loc_16D2
- call sub_16DF
- add a, [hl]
- ldi [hl], a
- ld a, [hl]
- adc a, 0
- ld [hl], a
- ret
- loc_16D2:
- cpl
- inc a
- call sub_16DF
- ld a, [hl]
- sub b
- ldi [hl], a
- ld a, [hl]
- sbc a, 0
- ld [hl], a
- ret
- sub_16DF:
- swap a
- ld c, a
- and 7
- ld b, a
- ld a, c
- and $F0
- ld c, a
- ld a, [de]
- add a, c
- ld [de], a
- ld a, b
- adc a, 0
- ld b, a
- ret
- _scr_cmd1A:
- ld c, $CA
- ld a, [c]
- res 7, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd1B:
- ld c, $CA
- ld a, [c]
- set 7, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd1E:
- ldi a, [hl]
- ld [byte_18A0CF], a
- jp _script_cmd_fetch
- _scr_cmd1F:
- ldi a, [hl]
- ld [byte_18A0D0], a
- jp _script_cmd_fetch
- _scr_cmd20:
- ld c, $D1
- ld a, [c]
- res 4, a
- or [hl]
- ld [c], a
- inc hl
- jp _script_cmd_fetch
- _scr_cmd21:
- ld c, $D1
- ld a, [c]
- res 5, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd22:
- ld c, $D1
- ld a, [c]
- set 5, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd23:
- ld c, $D1
- ld a, [c]
- res 6, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd24:
- ld c, $D1
- ld a, [c]
- set 6, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd25:
- ld c, $D1
- ld a, [c]
- res 7, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd26:
- ld c, $D1
- ld a, [c]
- set 7, a
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd27:
- ldi a, [hl]
- ld [byte_18A0CD], a
- ldi a, [hl]
- ld [byte_18A0CE], a
- jp _script_cmd_fetch
- _scr_cmd28:
- ldi a, [hl]
- ld [byte_18A0CB], a
- ldi a, [hl]
- ld [byte_18A0CC], a
- jp _script_cmd_fetch
- _scr_cmd29:
- ld c, $CD
- jr loc_1768
- _scr_cmd2A:
- ld c, $CB
- loc_1768:
- ld b, 0
- ld a, [hl]
- bit 7, a
- jr z, loc_1770
- dec b
- loc_1770:
- ld a, [c]
- add a, [hl]
- ld [c], a
- inc c
- ld a, [c]
- adc a, b
- ld [c], a
- inc hl
- jp _script_cmd_fetch
- _scr_cmd2B:
- ldi a, [hl]
- ld [byte_18A0D3], a
- jp _script_cmd_fetch
- _scr_cmd2C:
- ldi a, [hl]
- ld [byte_18A0D2], a
- jp _script_cmd_fetch
- _scr_cmd2D:
- ld a, [byte_18A0D3]
- inc a
- ld [byte_18A0D3], a
- jp _script_cmd_fetch
- _scr_cmd2E:
- ld a, [byte_18A0D2]
- inc a
- ld [byte_18A0D2], a
- jp _script_cmd_fetch
- _scr_cmd2F:
- ld a, [byte_18A0D3]
- dec a
- ld [byte_18A0D3], a
- jp _script_cmd_fetch
- _scr_cmd30:
- ld a, [byte_18A0D2]
- dec a
- ld [byte_18A0D2], a
- jp _script_cmd_fetch
- _scr_cmd34:
- ldi a, [hl]
- ld [byte_18A0DB], a
- ldi a, [hl]
- ld [byte_18A0DA], a
- jp _script_cmd_fetch
- _scr_cmd36:
- ldi a, [hl]
- ld [byte_18A0DE], a
- jp _script_cmd_fetch
- sub_17B6:
- ldi a, [hl]
- ld [byte_18A097], a
- ldi a, [hl]
- or $98
- ld [byte_18A096], a
- ret
- sub_17BF:
- ldi a, [hl]
- ld e, a
- ldi a, [hl]
- ld d, a
- ret
- _scr_cmd37:
- ldi a, [hl]
- ld b, a
- call sub_17B6
- call sub_17BF
- push hl
- ld l, e
- ld h, d
- call sub_466
- pop hl
- jp _script_cmd_fetch
- _scr_cmd38:
- call sub_17BF
- push hl
- ld l, e
- ld h, d
- call sub_457
- pop hl
- jp _script_cmd_fetch
- _scr_cmd39:
- call sub_17B6
- call sub_17BF
- push hl
- ld h, d
- ld l, e
- call sub_4D6
- pop hl
- jp _script_cmd_fetch
- _scr_cmd3A:
- ldi a, [hl]
- ld b, a
- ldi a, [hl]
- ld c, a
- call sub_17B6
- call sub_17BF
- push hl
- ld l, e
- ld h, d
- call loc_535
- pop hl
- jp _script_cmd_fetch
- _scr_cmd3B:
- call sub_17BF
- push hl
- ld h, d
- ld l, e
- call sub_7C5
- pop hl
- jp _script_cmd_fetch
- _scr_cmd3C:
- call _script_flags_set
- jp _script_cmd_fetch
- _scr_cmd3D:
- ldi a, [hl]
- ld b, a
- push hl
- call sub_781
- pop hl
- jr _scr_cmd3C
- _scr_cmd3E:
- ldi a, [hl]
- ld b, a
- push hl
- call sub_7A3
- pop hl
- jr _scr_cmd3C
- _scr_cmd40:
- call sub_17BF
- ldi a, [hl]
- ld c, a
- ldi a, [hl]
- push hl
- ld h, a
- ld l, c
- call sub_697
- pop hl
- jr _scr_cmd3C
- _scr_cmd41:
- call sub_17BF
- ldi a, [hl]
- ld c, a
- ldi a, [hl]
- push hl
- ld h, a
- ld l, c
- call sub_6B1
- pop hl
- jr _scr_cmd3C
- _scr_cmd42:
- ldi a, [hl]
- ld b, a
- call sub_17B6
- push hl
- call sub_72F
- pop hl
- jp _script_cmd_fetch
- _scr_cmd43:
- ldi a, [hl]
- ld b, a
- call sub_17B6
- push hl
- call sub_747
- pop hl
- jp _script_cmd_fetch
- _scr_cmd44:
- ldi a, [hl]
- ld b, a
- call sub_17B6
- call sub_17BF
- push hl
- call sub_6CA
- pop hl
- jp _script_cmd_fetch
- _scr_cmd45:
- ldi a, [hl]
- add a, $47
- ld c, a
- ldi a, [hl]
- ld [c], a
- jp _script_cmd_fetch
- _scr_cmd46:
- ldi a, [hl]
- ld [byte_10D9A1], a
- ldi a, [hl]
- ld [byte_10D9A2], a
- jp _script_cmd_fetch
- _scr_cmd47:
- ldi a, [hl]
- ld c, a
- call sub_17B6
- call sub_17BF
- push hl
- call sub_81B
- pop hl
- jp sub_156B
- _scr_cmd48:
- ld a, [byte_10D9A9]
- cp $FF
- jr z, loc_18AC
- ret
- _scr_cmd49:
- ld a, [byte_10D9A9]
- cp $FF
- jr z, loc_18AA
- jp _scr_cmd07
- loc_18AA:
- inc hl
- inc hl
- loc_18AC:
- jp sub_156B
- _scr_cmd4A:
- ldi a, [hl]
- ld [byte_10DD34], a
- ldi a, [hl]
- ld [byte_10DD35], a
- push hl
- ld a, 5
- call sub_108F
- ld hl, off_14018
- call sub_10A3
- call sub_109B
- pop hl
- jp sub_156B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement