diff --git a/engine/events_2.asm b/engine/events_2.asm new file mode 100644 index 000000000..accfdd451 --- /dev/null +++ b/engine/events_2.asm @@ -0,0 +1,643 @@ +; More overworld event handling. + +Function97c28: ; 97c28 + ld hl, StatusFlags2 + res 1, [hl] + res 2, [hl] + ret +; 97c30 + +Function97c30: ; 97c30 + ld a, [$d45c] + and a + ret z + ld hl, $d45e + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [$d45d] + call CallScript + scf + push af + xor a + ld hl, $d45c + ld bc, 8 + call ByteFill + pop af + ret +; 97c4f + +Function97c4f: ; 97c4f + ld hl, $d45c + ld a, [hl] + and a + ret nz + ld [hl], 1 + inc hl + ld [hl], b + inc hl + ld [hl], e + inc hl + ld [hl], d + scf + ret +; 97c5f + +Function97c5f: ; 97c5f + call GetFacingTileCoord + ld [EngineBuffer1], a + ld c, a + callba Function1365b + jr c, .asm_97cb9 + + call CheckCutTreeTile + jr nz, .whirlpool + callba TryCutOW + jr .asm_97cb9 + +.whirlpool + ld a, [EngineBuffer1] + call CheckWhirlpoolTile + jr nz, .waterfall + callba TryWhirlpoolOW + jr .asm_97cb9 + +.waterfall + ld a, [EngineBuffer1] + call CheckWaterfallTile + jr nz, .headbutt + callba TryWaterfallOW + jr .asm_97cb9 + +.headbutt + ld a, [EngineBuffer1] + call CheckHeadbuttTreeTile + jr nz, .surf + callba TryHeadbuttOW + jr c, .asm_97cb9 + jr .asm_97cb7 + +.surf + callba TrySurfOW + jr nc, .asm_97cb7 + jr .asm_97cb9 + +.asm_97cb7 + xor a + ret + +.asm_97cb9 + call PlayClickSFX + ld a, $ff + scf + ret +; 97cc0 + + +Function97cc0: ; 97cc0 +; Rock Smash encounter + + call Function968c7 + jr c, .asm_97ce2 + call Function97cfd + jr nc, .asm_97ce2 + ld hl, StatusFlags2 + bit 2, [hl] + jr nz, .asm_97cdb + callba Function2a0e7 + jr nz, .asm_97ce2 + jr .asm_97ce6 + +.asm_97cdb + call Function97d23 + jr nc, .asm_97ce2 + jr .asm_97ced + +.asm_97ce2 + ld a, 1 + and a + ret + +.asm_97ce6 + ld a, BANK(RockSmashBattleScript) + ld hl, RockSmashBattleScript + jr .asm_97cf4 + +.asm_97ced + ld a, BANK(UnknownScript_0x135eb) + ld hl, UnknownScript_0x135eb + jr .asm_97cf4 + +.asm_97cf4 + call CallScript + scf + ret +; 97cf9 + +RockSmashBattleScript: ; 97cf9 + battlecheck + startbattle + returnafterbattle + end +; 97cfd + +Function97cfd: ; 97cfd + ld hl, StatusFlags + bit 5, [hl] + jr nz, .asm_97d21 + ld a, [$d19a] + cp $4 + jr z, .asm_97d17 + cp $7 + jr z, .asm_97d17 + callba Function149dd + jr nc, .asm_97d21 + +.asm_97d17 + ld a, [StandingTile] + call CheckIceTile + jr z, .asm_97d21 + scf + ret + +.asm_97d21 + and a + ret +; 97d23 + +Function97d23: ; 97d23 + call Function97d64 + ret nc + call Function97d31 + callba Function2a1df + ret +; 97d31 + +Function97d31: ; 97d31 +; Pick a random mon out of ContestMons. + +.asm_97d31 + call Random + cp 100 << 1 + jr nc, .asm_97d31 + srl a + + ld hl, ContestMons + ld de, 4 +.CheckMon + sub [hl] + jr c, .GotMon + add hl, de + jr .CheckMon + +.GotMon + inc hl + +; Species + ld a, [hli] + ld [$d22e], a + +; Min level + ld a, [hli] + ld d, a + +; Max level + ld a, [hl] + + sub d + jr nz, .RandomLevel + +; If min and max are the same. + ld a, d + jr .GotLevel + +.RandomLevel +; Get a random level between the min and max. + ld c, a + inc c + call Random + ld a, [hRandomAdd] + call SimpleDivide + add d + +.GotLevel + ld [CurPartyLevel], a + + xor a + ret +; 97d64 + +Function97d64: ; 97d64 + ld a, [StandingTile] + call Function188e + ld b, $66 + jr z, .asm_97d70 + ld b, $33 + +.asm_97d70 + callba Function2a124 + callba Function2a138 + call Random + ld a, [hRandomAdd] + cp b + ret c + ld a, 1 + and a + ret +; 97d87 + +ContestMons: ; 97d87 + ; %, species, min, max + db 20, CATERPIE, 7, 18 + db 20, WEEDLE, 7, 18 + db 10, METAPOD, 9, 18 + db 10, KAKUNA, 9, 18 + db 5, BUTTERFREE, 12, 15 + db 5, BEEDRILL, 12, 15 + db 10, VENONAT, 10, 16 + db 10, PARAS, 10, 17 + db 5, SCYTHER, 13, 14 + db 5, PINSIR, 13, 14 + db -1, VENOMOTH, 30, 40 +; 97db3 + +Function97db3: ; 97db3 + nop + nop + ; fallthrough +; 97db5 + +Function97db5: ; 97db5 + ld hl, StatusFlags2 + bit 4, [hl] + jr z, .asm_97df7 + ld a, [PlayerState] + cp $1 + jr nz, .asm_97df7 + call Function2d05 + and a + jr nz, .asm_97df7 + ld hl, $dca2 + ld a, [hli] + ld d, a + ld e, [hl] + cp $ff + jr nz, .asm_97dd8 + ld a, e + cp $ff + jr z, .asm_97ddc + +.asm_97dd8 + inc de + ld [hl], e + dec hl + ld [hl], d + +.asm_97ddc + ld a, d + cp $4 + jr c, .asm_97df7 + ld a, [$dc31] + and a + jr nz, .asm_97df7 + ld a, $6 + ld [$dc31], a + xor a + ld [$dc32], a + ld hl, StatusFlags2 + res 4, [hl] + scf + ret + +.asm_97df7 + xor a + ret +; 97df9 + +Function97df9: ; 97df9 + ld hl, $d6de + ld de, $0006 + ld c, $4 + xor a +.asm_97e02 + ld [hl], a + add hl, de + dec c + jr nz, .asm_97e02 + ret +; 97e08 + +Function97e08: ; 97e08 + ld hl, $d6de + xor a +.asm_97e0c + ld [hConnectionStripLength], a + ld a, [hl] + and a + jr z, .asm_97e19 + push hl + ld b, h + ld c, l + call Function97e79 + pop hl + +.asm_97e19 + ld de, $0006 + add hl, de + ld a, [hConnectionStripLength] + inc a + cp $4 + jr nz, .asm_97e0c + ret +; 97e25 + +Function97e25: ; 97e25 + ld hl, $d6de + ld bc, 6 + call AddNTimes + ld b, h + ld c, l + ret +; 97e31 + +Function97e31: ; 97e31 + push bc + push de + call Function97e45 + ld d, h + ld e, l + pop hl + pop bc + ret c + ld a, b + ld bc, $0005 + call FarCopyBytes + xor a + ld [hl], a + ret +; 97e45 + +Function97e45: ; 97e45 + ld hl, $d6de + ld de, $0006 + ld c, $4 +.asm_97e4d + ld a, [hl] + and a + jr z, .asm_97e57 + add hl, de + dec c + jr nz, .asm_97e4d + scf + ret + +.asm_97e57 + ld a, $4 + sub c + and a + ret +; 97e5c + +Function97e5c: ; 97e5c + ld hl, $d6de + ld de, $0006 + ld c, $4 +.asm_97e64 + ld a, [hl] + cp b + jr z, .asm_97e6e + add hl, de + dec c + jr nz, .asm_97e64 + and a + ret + +.asm_97e6e + xor a + ld [hl], a + scf + ret +; 97e72 + +Function97e72: ; 97e72 + ld hl, $0000 + add hl, bc + ld [hl], 0 + ret +; 97e79 + +Function97e79: ; 97e79 + ld hl, $0000 + add hl, bc + ld a, [hl] + cp 5 + jr c, .asm_97e83 + xor a + +.asm_97e83 + ld e, a + ld d, 0 + ld hl, Table97e94 + add hl, de + add hl, de + add hl, de + ld a, [hli] + push af + ld a, [hli] + ld h, [hl] + ld l, a + pop af + rst FarCall + ret +; 97e94 + +Table97e94: ; 97e94 + dbw BANK(Function97eb7), Function97eb7 + dbw BANK(Function97eb8), Function97eb8 + dbw BANK(Function97f42), Function97f42 + dbw BANK(Function97ef9), Function97ef9 + dbw BANK(Function97ebc), Function97ebc +; 97ea3 + +Function97ea3: ; 97ea3 + ld hl, $0005 + add hl, bc + ld a, [hl] + pop hl + rst JumpTable + ret +; 97eab + +Function97eab: ; 97eab + ld hl, $0005 + add hl, bc + inc [hl] + ret +; 97eb1 + +Function97eb1: ; 97eb1 + ld hl, $0005 + add hl, bc + dec [hl] + ret +; 97eb7 + +Function97eb7: ; 97eb7 + ret +; 97eb8 + +Function97eb8: ; 97eb8 + call Function2f3e + ret +; 97ebc + +Function97ebc: ; 97ebc + call Function97ea3 + dw Function97ec3 + dw Function97ecd +; 97ec3 + +Function97ec3: ; 97ec3 + ld a, [hSCY] + ld hl, $0004 + add hl, bc + ld [hl], a + call Function97eab +; 97ecd + +Function97ecd: ; 97ecd + ld hl, $0001 + add hl, bc + ld a, [hl] + dec a + ld [hl], a + jr z, .asm_97eee + and $1 + jr z, .asm_97ee4 + ld hl, $0002 + add hl, bc + ld a, [hSCY] + sub [hl] + ld [hSCY], a + ret + +.asm_97ee4 + ld hl, $0002 + add hl, bc + ld a, [hSCY] + add [hl] + ld [hSCY], a + ret + +.asm_97eee + ld hl, $0004 + add hl, bc + ld a, [hl] + ld [hSCY], a + call Function97e72 + ret +; 97ef9 + +Function97ef9: ; 97ef9 + call Function97ea3 + dw Function97f02 + dw Function97f0a + dw Function97f1b +; 97f02 + +Function97f02: ; 97f02 + call Function97f38 + jr z, Function97f2c + call Function97eab +; 97f0a + +Function97f0a: ; 97f0a + call Function97f38 + jr z, Function97f2c + call Function97eab + + ld hl, $0002 + add hl, bc + ld a, [hl] + ld [$d173], a + ret +; 97f1b + +Function97f1b: ; 97f1b + call Function97f38 + jr z, Function97f2c + call Function97eb1 + + ld hl, $0003 + add hl, bc + ld a, [hl] + ld [$d173], a + ret +; 97f2c + +Function97f2c: ; 97f2c + ld a, $7f + ld [$d173], a + ld hl, $0005 + add hl, bc + ld [hl], 0 + ret +; 97f38 + +Function97f38: ; 97f38 + push bc + ld bc, $d4d6 + call GetSpriteDirection + and a + pop bc + ret +; 97f42 + +Function97f42: ; 97f42 + ld de, $d4d6 + ld a, $d +.asm_97f47 + push af + + ld hl, $0000 + add hl, de + ld a, [hl] + and a + jr z, .asm_97f71 + + ld hl, $0003 + add hl, de + ld a, [hl] + cp $19 + jr nz, .asm_97f71 + + ld hl, $000e + add hl, de + ld a, [hl] + call CheckPitTile + jr nz, .asm_97f71 + + ld hl, $0007 + add hl, de + ld a, [hl] + cp $ff + jr nz, .asm_97f71 + call Function3567 + jr c, .asm_97f7c + +.asm_97f71 + ld hl, $0028 + add hl, de + ld d, h + ld e, l + + pop af + dec a + jr nz, .asm_97f47 + ret + +.asm_97f7c + pop af + ret +; 97f7e + diff --git a/main.asm b/main.asm index 073eeb5de..b0a5f65aa 100644 --- a/main.asm +++ b/main.asm @@ -85542,657 +85542,12 @@ INCBIN "baserom.gbc",$93327,$93a31 - $93327 SECTION "bank25",ROMX,BANK[$25] - INCLUDE "maps/map_headers.asm" - INCLUDE "maps/second_map_headers.asm" - INCLUDE "engine/events.asm" - INCLUDE "engine/scripting.asm" - - -Function97c28: ; 97c28 - ld hl, StatusFlags2 - res 1, [hl] - res 2, [hl] - ret -; 97c30 - -Function97c30: ; 97c30 - ld a, [$d45c] - and a - ret z - ld hl, $d45e - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$d45d] - call CallScript - scf - push af - xor a - ld hl, $d45c - ld bc, 8 - call ByteFill - pop af - ret -; 97c4f - -Function97c4f: ; 97c4f - ld hl, $d45c - ld a, [hl] - and a - ret nz - ld [hl], 1 - inc hl - ld [hl], b - inc hl - ld [hl], e - inc hl - ld [hl], d - scf - ret -; 97c5f - -Function97c5f: ; 97c5f - call GetFacingTileCoord - ld [EngineBuffer1], a - ld c, a - callba Function1365b - jr c, .asm_97cb9 - - call CheckCutTreeTile - jr nz, .whirlpool - callba TryCutOW - jr .asm_97cb9 - -.whirlpool - ld a, [EngineBuffer1] - call CheckWhirlpoolTile - jr nz, .waterfall - callba TryWhirlpoolOW - jr .asm_97cb9 - -.waterfall - ld a, [EngineBuffer1] - call CheckWaterfallTile - jr nz, .headbutt - callba TryWaterfallOW - jr .asm_97cb9 - -.headbutt - ld a, [EngineBuffer1] - call CheckHeadbuttTreeTile - jr nz, .surf - callba TryHeadbuttOW - jr c, .asm_97cb9 - jr .asm_97cb7 - -.surf - callba TrySurfOW - jr nc, .asm_97cb7 - jr .asm_97cb9 - -.asm_97cb7 - xor a - ret - -.asm_97cb9 - call PlayClickSFX - ld a, $ff - scf - ret -; 97cc0 - - -Function97cc0: ; 97cc0 -; Rock Smash encounter - - call Function968c7 - jr c, .asm_97ce2 - call Function97cfd - jr nc, .asm_97ce2 - ld hl, StatusFlags2 - bit 2, [hl] - jr nz, .asm_97cdb - callba Function2a0e7 - jr nz, .asm_97ce2 - jr .asm_97ce6 - -.asm_97cdb - call Function97d23 - jr nc, .asm_97ce2 - jr .asm_97ced - -.asm_97ce2 - ld a, 1 - and a - ret - -.asm_97ce6 - ld a, BANK(RockSmashBattleScript) - ld hl, RockSmashBattleScript - jr .asm_97cf4 - -.asm_97ced - ld a, BANK(UnknownScript_0x135eb) - ld hl, UnknownScript_0x135eb - jr .asm_97cf4 - -.asm_97cf4 - call CallScript - scf - ret -; 97cf9 - -RockSmashBattleScript: ; 97cf9 - battlecheck - startbattle - returnafterbattle - end -; 97cfd - -Function97cfd: ; 97cfd - ld hl, StatusFlags - bit 5, [hl] - jr nz, .asm_97d21 - ld a, [$d19a] - cp $4 - jr z, .asm_97d17 - cp $7 - jr z, .asm_97d17 - callba Function149dd - jr nc, .asm_97d21 - -.asm_97d17 - ld a, [StandingTile] - call CheckIceTile - jr z, .asm_97d21 - scf - ret - -.asm_97d21 - and a - ret -; 97d23 - -Function97d23: ; 97d23 - call Function97d64 - ret nc - call Function97d31 - callba Function2a1df - ret -; 97d31 - -Function97d31: ; 97d31 -; Pick a random mon out of ContestMons. - -.asm_97d31 - call Random - cp 100 << 1 - jr nc, .asm_97d31 - srl a - - ld hl, ContestMons - ld de, 4 -.CheckMon - sub [hl] - jr c, .GotMon - add hl, de - jr .CheckMon - -.GotMon - inc hl - -; Species - ld a, [hli] - ld [$d22e], a - -; Min level - ld a, [hli] - ld d, a - -; Max level - ld a, [hl] - - sub d - jr nz, .RandomLevel - -; If min and max are the same. - ld a, d - jr .GotLevel - -.RandomLevel -; Get a random level between the min and max. - ld c, a - inc c - call Random - ld a, [hRandomAdd] - call SimpleDivide - add d - -.GotLevel - ld [CurPartyLevel], a - - xor a - ret -; 97d64 - -Function97d64: ; 97d64 - ld a, [StandingTile] - call Function188e - ld b, $66 - jr z, .asm_97d70 - ld b, $33 - -.asm_97d70 - callba Function2a124 - callba Function2a138 - call Random - ld a, [hRandomAdd] - cp b - ret c - ld a, 1 - and a - ret -; 97d87 - -ContestMons: ; 97d87 - ; %, species, min, max - db 20, CATERPIE, 7, 18 - db 20, WEEDLE, 7, 18 - db 10, METAPOD, 9, 18 - db 10, KAKUNA, 9, 18 - db 5, BUTTERFREE, 12, 15 - db 5, BEEDRILL, 12, 15 - db 10, VENONAT, 10, 16 - db 10, PARAS, 10, 17 - db 5, SCYTHER, 13, 14 - db 5, PINSIR, 13, 14 - db -1, VENOMOTH, 30, 40 -; 97db3 - -Function97db3: ; 97db3 - nop - nop - ; fallthrough -; 97db5 - -Function97db5: ; 97db5 - ld hl, StatusFlags2 - bit 4, [hl] - jr z, .asm_97df7 - ld a, [PlayerState] - cp $1 - jr nz, .asm_97df7 - call Function2d05 - and a - jr nz, .asm_97df7 - ld hl, $dca2 - ld a, [hli] - ld d, a - ld e, [hl] - cp $ff - jr nz, .asm_97dd8 - ld a, e - cp $ff - jr z, .asm_97ddc - -.asm_97dd8 - inc de - ld [hl], e - dec hl - ld [hl], d - -.asm_97ddc - ld a, d - cp $4 - jr c, .asm_97df7 - ld a, [$dc31] - and a - jr nz, .asm_97df7 - ld a, $6 - ld [$dc31], a - xor a - ld [$dc32], a - ld hl, StatusFlags2 - res 4, [hl] - scf - ret - -.asm_97df7 - xor a - ret -; 97df9 - -Function97df9: ; 97df9 - ld hl, $d6de - ld de, $0006 - ld c, $4 - xor a -.asm_97e02 - ld [hl], a - add hl, de - dec c - jr nz, .asm_97e02 - ret -; 97e08 - -Function97e08: ; 97e08 - ld hl, $d6de - xor a -.asm_97e0c - ld [hConnectionStripLength], a - ld a, [hl] - and a - jr z, .asm_97e19 - push hl - ld b, h - ld c, l - call Function97e79 - pop hl - -.asm_97e19 - ld de, $0006 - add hl, de - ld a, [hConnectionStripLength] - inc a - cp $4 - jr nz, .asm_97e0c - ret -; 97e25 - -Function97e25: ; 97e25 - ld hl, $d6de - ld bc, 6 - call AddNTimes - ld b, h - ld c, l - ret -; 97e31 - -Function97e31: ; 97e31 - push bc - push de - call Function97e45 - ld d, h - ld e, l - pop hl - pop bc - ret c - ld a, b - ld bc, $0005 - call FarCopyBytes - xor a - ld [hl], a - ret -; 97e45 - -Function97e45: ; 97e45 - ld hl, $d6de - ld de, $0006 - ld c, $4 -.asm_97e4d - ld a, [hl] - and a - jr z, .asm_97e57 - add hl, de - dec c - jr nz, .asm_97e4d - scf - ret - -.asm_97e57 - ld a, $4 - sub c - and a - ret -; 97e5c - -Function97e5c: ; 97e5c - ld hl, $d6de - ld de, $0006 - ld c, $4 -.asm_97e64 - ld a, [hl] - cp b - jr z, .asm_97e6e - add hl, de - dec c - jr nz, .asm_97e64 - and a - ret - -.asm_97e6e - xor a - ld [hl], a - scf - ret -; 97e72 - -Function97e72: ; 97e72 - ld hl, $0000 - add hl, bc - ld [hl], 0 - ret -; 97e79 - -Function97e79: ; 97e79 - ld hl, $0000 - add hl, bc - ld a, [hl] - cp 5 - jr c, .asm_97e83 - xor a - -.asm_97e83 - ld e, a - ld d, 0 - ld hl, Table97e94 - add hl, de - add hl, de - add hl, de - ld a, [hli] - push af - ld a, [hli] - ld h, [hl] - ld l, a - pop af - rst FarCall - ret -; 97e94 - -Table97e94: ; 97e94 - dbw BANK(Function97eb7), Function97eb7 - dbw BANK(Function97eb8), Function97eb8 - dbw BANK(Function97f42), Function97f42 - dbw BANK(Function97ef9), Function97ef9 - dbw BANK(Function97ebc), Function97ebc -; 97ea3 - -Function97ea3: ; 97ea3 - ld hl, $0005 - add hl, bc - ld a, [hl] - pop hl - rst JumpTable - ret -; 97eab - -Function97eab: ; 97eab - ld hl, $0005 - add hl, bc - inc [hl] - ret -; 97eb1 - -Function97eb1: ; 97eb1 - ld hl, $0005 - add hl, bc - dec [hl] - ret -; 97eb7 - -Function97eb7: ; 97eb7 - ret -; 97eb8 - -Function97eb8: ; 97eb8 - call Function2f3e - ret -; 97ebc - -Function97ebc: ; 97ebc - call Function97ea3 - dw Function97ec3 - dw Function97ecd -; 97ec3 - -Function97ec3: ; 97ec3 - ld a, [hSCY] - ld hl, $0004 - add hl, bc - ld [hl], a - call Function97eab -; 97ecd - -Function97ecd: ; 97ecd - ld hl, $0001 - add hl, bc - ld a, [hl] - dec a - ld [hl], a - jr z, .asm_97eee - and $1 - jr z, .asm_97ee4 - ld hl, $0002 - add hl, bc - ld a, [hSCY] - sub [hl] - ld [hSCY], a - ret - -.asm_97ee4 - ld hl, $0002 - add hl, bc - ld a, [hSCY] - add [hl] - ld [hSCY], a - ret - -.asm_97eee - ld hl, $0004 - add hl, bc - ld a, [hl] - ld [hSCY], a - call Function97e72 - ret -; 97ef9 - -Function97ef9: ; 97ef9 - call Function97ea3 - dw Function97f02 - dw Function97f0a - dw Function97f1b -; 97f02 - -Function97f02: ; 97f02 - call Function97f38 - jr z, Function97f2c - call Function97eab -; 97f0a - -Function97f0a: ; 97f0a - call Function97f38 - jr z, Function97f2c - call Function97eab - - ld hl, $0002 - add hl, bc - ld a, [hl] - ld [$d173], a - ret -; 97f1b - -Function97f1b: ; 97f1b - call Function97f38 - jr z, Function97f2c - call Function97eb1 - - ld hl, $0003 - add hl, bc - ld a, [hl] - ld [$d173], a - ret -; 97f2c - -Function97f2c: ; 97f2c - ld a, $7f - ld [$d173], a - ld hl, $0005 - add hl, bc - ld [hl], 0 - ret -; 97f38 - -Function97f38: ; 97f38 - push bc - ld bc, $d4d6 - call GetSpriteDirection - and a - pop bc - ret -; 97f42 - -Function97f42: ; 97f42 - ld de, $d4d6 - ld a, $d -.asm_97f47 - push af - - ld hl, $0000 - add hl, de - ld a, [hl] - and a - jr z, .asm_97f71 - - ld hl, $0003 - add hl, de - ld a, [hl] - cp $19 - jr nz, .asm_97f71 - - ld hl, $000e - add hl, de - ld a, [hl] - call CheckPitTile - jr nz, .asm_97f71 - - ld hl, $0007 - add hl, de - ld a, [hl] - cp $ff - jr nz, .asm_97f71 - call Function3567 - jr c, .asm_97f7c - -.asm_97f71 - ld hl, $0028 - add hl, de - ld d, h - ld e, l - - pop af - dec a - jr nz, .asm_97f47 - ret - -.asm_97f7c - pop af - ret -; 97f7e +INCLUDE "engine/events_2.asm"