kep-hack/scripts/GiovannisRoom.asm
Llinos Evans c0bf3ff49d Fix Giovanni's Room + bits and bobs
- Fixed the Arrow Tiles, it was very silly.
- Edited the text in Giovanni's Room to fix a gap, but also ended up adding citations and stuff to the file for the interested.
- Edited the map in Giovanni's Room to make a little more sense.
- Fixed some post-game Hall of Fame setup stuff.
- Edited Install.MD to be more idiot-proof
2023-09-20 01:24:35 +01:00

130 lines
2.7 KiB
NASM

GiovannisRoom_Script:
call EnableAutoTextBoxDrawing
ld de, GiovannisRoom_ScriptPointers
ld a, [wGiovannisRoomCurScript]
call ExecuteCurMapScriptInTable
ld [wGiovannisRoomCurScript], a
ret
GiovannisRoom_ScriptPointers:
dw GiovannisRoomScript0
dw GiovannisRoomScript4
GiovannisRoomScript0:
ld a, [wYCoord]
ld b, a
ld a, [wXCoord]
ld c, a
ld hl, GiovannisRoomArrowTilePlayerMovement
call DecodeArrowMovementRLE
cp $ff
jr z, .done ; Normally this checks for map trainers, but since there's none, we can remove them.
ld hl, wd736
set 7, [hl]
call StartSimulatingJoypadStates
ld a, SFX_ARROW_TILES
call PlaySound
ld a, $ff
ld [wJoyIgnore], a
ld a, $1
ld [wCurMapScript], a
.done
ret
; Some tile movements were removed due to either being unnecessary or ports from Viridian Gym itself.
GiovannisRoomArrowTilePlayerMovement:
map_coord_movement 12, 16, GiovannisRoomArrowMovement1
map_coord_movement 14, 15, GiovannisRoomArrowMovement2
map_coord_movement 10, 15, GiovannisRoomArrowMovement3
map_coord_movement 11, 14, GiovannisRoomArrowMovement4
map_coord_movement 13, 8, GiovannisRoomArrowMovement5
map_coord_movement 15, 8, GiovannisRoomArrowMovement7
map_coord_movement 12, 9, GiovannisRoomArrowMovement8
map_coord_movement 14, 9, GiovannisRoomArrowMovement9
map_coord_movement 15, 10, GiovannisRoomArrowMovement11
map_coord_movement 14, 11, GiovannisRoomArrowMovement13
db -1 ; end
GiovannisRoomArrowMovement1:
db D_UP, 2
db -1 ; end
GiovannisRoomArrowMovement2:
db D_UP, 9
db D_LEFT, 4
db -1 ; end
GiovannisRoomArrowMovement3:
db D_UP, 9
db -1 ; end
GiovannisRoomArrowMovement4:
db D_RIGHT, 2
db -1 ; end
GiovannisRoomArrowMovement5:
db D_RIGHT, 3
db D_DOWN, 2
db D_RIGHT, 2
db -1 ; end
GiovannisRoomArrowMovement7:
db D_RIGHT, 3
db D_DOWN, 2
db -1 ; end
GiovannisRoomArrowMovement8:
db D_UP, 1
db D_RIGHT, 2
db -1 ; end
GiovannisRoomArrowMovement9:
db D_UP, 1
db -1 ; end
GiovannisRoomArrowMovement11:
db D_RIGHT, 3
db -1 ; end
GiovannisRoomArrowMovement13:
db D_UP, 3
db -1 ; end
GiovannisRoomScript4:
ld a, [wSimulatedJoypadStatesIndex]
and a
jr nz, .GiovannisRoomLoadSpinnerArrow
xor a
ld [wJoyIgnore], a
ld hl, wd736
res 7, [hl]
ld a, $0
ld [wCurMapScript], a
ret
.GiovannisRoomLoadSpinnerArrow
farjp LoadSpinnerArrowTiles
GiovannisRoom_TextPointers:
dw GiovannisRoomText1
dw GiovannisRoomText2
dw GiovannisRoomText3
dw GiovannisRoomText4
dw PickUpItemText
dw PickUpItemText
GiovannisRoomText1:
text_far _GiovannisRoomText1
text_end
GiovannisRoomText2:
text_far _GiovannisRoomText2
text_end
GiovannisRoomText3:
text_far _GiovannisRoomText3
text_end
GiovannisRoomText4:
text_far _GiovannisRoomText4
text_end