New Citrine map architecture, Kinchou01

This adds all the required architecture for the new maps to work, as well as Kinchou01 to play when in Celeste Hill itself.

This doesn't add the events, though.
This commit is contained in:
Llinos Evans 2023-06-14 22:49:03 +01:00
parent 8045451b78
commit 86230c64f1
25 changed files with 277 additions and 6 deletions

View file

@ -376,6 +376,7 @@ INCLUDE "crysaudio/music/RBY/meetjessiejames.asm"
INCLUDE "crysaudio/music/RBY/digda01.asm"
INCLUDE "crysaudio/music/RBY/field06.asm"
INCLUDE "crysaudio/music/RBY/victory4.asm"
INCLUDE "crysaudio/music/RBY/kinchou01.asm"
SECTION "TCG Songs 1", ROMX

View file

@ -272,6 +272,9 @@ DEF FIRST_INDOOR_MAP EQU const_value
map_const BATTLE_TENT, 5, 10 ; $FA
map_const MT_MOON_SQUARE, 13, 7 ; $FB
map_const MT_MOON_SQUARE_HOUSE, 4, 4 ; $FC
map_const CELESTE_HILL_CAVE, 20, 19 ; $FD
map_const CELESTE_HILL_OUTSIDE, 20, 18 ; $FE
map_const BRUNSWICK_GROTTO, 20, 9 ; $FF ; ooo
DEF NUM_MAPS EQU const_value
; Indoor maps, such as houses, use this as the Map ID in their exit warps

View file

@ -60,6 +60,7 @@
const MUSIC_MEET_JESSIE_JAMES
const MUSIC_SAKAKI
const MUSIC_VICTORY4
const MUSIC_KINCHOU01
const NUM_SONGS

View file

@ -0,0 +1,142 @@
;
;; Kinchou01
;
;; Converting on Fri Jul 28 15:34:53 1995
;
;; by ver 1.02
;
Music_Kinchou01::
channel_count 3
channel 1, Music_Kinchou01_Ch1
channel 2, Music_Kinchou01_Ch2
channel 3, Music_Kinchou01_Ch3
;;----------------------------------------
Music_Kinchou01_Ch1:
;;----------------------------------------
tempo 144
volume 7, 7
duty_cycle 3
note_type 12, 12, 3
toggle_perfect_pitch
rest 16
.loop
rest 16
;; P1-1 --- tied
rest 16
rest 10
octave 3
note B_, 1
;; P1-2 --- tied
octave 4
note F#, 1
;; P1-3 --- tied
note B_, 1
rest 1
;; P1-4 --- tied
note B_, 1
note A#, 1
;; P1-5
note B_, 8
rest 2
octave 2
note B_, 1
octave 3
note F#, 1
note B_, 1
rest 1
note B_, 1
note A#, 1
;; P1-6
note B_, 8
rest 2
octave 3
note F#, 1
note E_, 1
note D#, 1
rest 1
note D#, 1
note E_, 1
;; P1-7
note F#, 1
rest 1
note F#, 1
note A#, 1
note B_, 1
rest 1
note B_, 1
rest 1
note G#, 1
rest 7
;; P1-8
note F#, 1
rest 15
sound_loop 0, .loop
;;----------------------------------------
Music_Kinchou01_Ch2:
;;----------------------------------------
;; P2-1
.loop
duty_cycle 3
note_type 12, 12, 2
octave 3
note D#, 2
octave 2
note B_, 2
octave 3
note G_, 2
octave 2
note B_, 2
sound_loop 0, .loop
;;----------------------------------------
Music_Kinchou01_Ch3:
;;----------------------------------------
note_type 12, 1, 0
;; P3-1 -
rest 16
;; P3-2 -
.loop
rest 16
;; P3-3
octave 5
note D#, 8
rest 2
note C#, 2
note D#, 2
note E_, 2
;; P3-4
note F#, 2
note E_, 2
note D#, 2
note C#, 2
note D#, 8
rest 2
;; P3-5 --- tied
note G#, 2
note F#, 2
note E_, 2
note D#, 8
rest 2
;; P3-6 --- tied
note F#, 2
note E_, 2
note D#, 2
note D#, 8
rest 8
;; P3-7 --- tied
note E_, 1
rest 7
;; P3-8
note D#, 1
rest 15
sound_loop 0, .loop

View file

@ -54,3 +54,4 @@ Music:
dba Music_MeetJessieJames
dba Music_Sakaki
dba Music_Victory4
dba Music_Kinchou01

View file

@ -0,0 +1,2 @@
map_header BrunswickGrotto, BRUNSWICK_GROTTO, FOREST, 0
end_map_header

View file

@ -0,0 +1,2 @@
map_header CelesteHillCave, CELESTE_HILL_CAVE, CAVERN, 0
end_map_header

View file

@ -0,0 +1,2 @@
map_header CelesteHillOutside, CELESTE_HILL_OUTSIDE, CELESTE, 0
end_map_header

View file

@ -255,7 +255,10 @@ MapHSPointers:
dw GiovannisRoomHS
dw NoHS ; Battle Tent
dw NoHS ; Mt Moon Square
DW NoHS ; Mt Moon Square House
dw NoHS ; Mt Moon Square House
dw NoHS ; Celeste Hill Cave
dw NoHS ; Celeste Hill Outside
dw NoHS ; Brunswick Grotto, should have HS Data later.
assert_table_length NUM_MAPS
dw -1 ; end

View file

@ -254,4 +254,7 @@ MapHeaderBanks::
db BANK(BattleTent_h)
db BANK(MtMoonSquare_h)
db BANK(MtMoonSquareHouse_h)
db BANK(CelesteHillCave_h)
db BANK(CelesteHillOutside_h)
db BANK(BrunswickGrotto_h)
assert_table_length NUM_MAPS

View file

@ -254,4 +254,7 @@ MapHeaderPointers::
dw BattleTent_h
dw MtMoonSquare_h
dw MtMoonSquareHouse_h
dw CelesteHillCave_h
dw CelesteHillOutside_h
dw BrunswickGrotto_h
assert_table_length NUM_MAPS

View file

@ -0,0 +1,11 @@
BrunswickGrotto_Object:
db $0 ; border block
def_warp_events
warp_event 4, 11, 0, REDS_HOUSE_2F
def_bg_events
def_object_events
def_warps_to BRUNSWICK_GROTTO

View file

@ -0,0 +1,11 @@
CelesteHillCave_Object:
db $0 ; border block
def_warp_events
warp_event 4, 11, 0, REDS_HOUSE_2F
def_bg_events
def_object_events
def_warps_to CELESTE_HILL_CAVE

View file

@ -0,0 +1,11 @@
CelesteHillOutside_Object:
db $0 ; border block
def_warp_events
warp_event 4, 11, 0, REDS_HOUSE_2F
def_bg_events
def_object_events
def_warps_to CELESTE_HILL_OUTSIDE

View file

@ -253,4 +253,7 @@ MapSongBanks::
db MUSIC_GYM, 0 ; BATTLE_TENT
db MUSIC_VICTORY4, 0 ; MT_MOON_SQUARE
db MUSIC_VICTORY4, 0 ; MT_MOON_SQUARE_HOUSE
db MUSIC_KINCHOU01, 0 ; CELESTE_HILL_CAVE
db MUSIC_KINCHOU01, 0 ; CELESTE_HILL_OUTSIDE
db MUSIC_DUNGEON2, 0 ; BRUNSWICK_GROTTO
assert_table_length NUM_MAPS

View file

@ -253,6 +253,9 @@ WildDataPointers:
dw NothingWildMons ; battle tent
dw NothingWildMons ; mt moon square
dw NothingWildMons
dw CelesteHillCaveWildMons
dw CelesteHillWildMons ; using Celeste Hill's summit for Celeste Hill Outside
dw BrunswickGrottoWildMons
assert_table_length NUM_MAPS
dw -1 ; end
@ -343,3 +346,5 @@ INCLUDE "data/wild/maps/BrunswickTrail.asm"
INCLUDE "data/wild/maps/GarnetCavern1F.asm"
INCLUDE "data/wild/maps/GarnetCavernB1F.asm"
INCLUDE "data/wild/maps/GarnetCavern2F.asm"
INCLUDE "data/wild/maps/CelesteHillCave.asm"
INCLUDE "data/wild/maps/BrunswickGrotto.asm"

View file

@ -0,0 +1,17 @@
; Another way to obtain Virdian Forest bugs, which are hard to bring up to speed post-game.
BrunswickGrottoWildMons:
def_grass_wildmons 10 ; encounter rate
db 51, BEEDRILL
db 52, BUTTERFREE
db 52, CARAPTHOR
db 51, VENOMOTH
db 53, PARASECT
db 53, PARASECT
db 53, CACTUS
db 54, SCYTHER
db 54, PINSIR
db 55, PINSIR
end_grass_wildmons
def_water_wildmons 0 ; encounter rate
end_water_wildmons

View file

@ -0,0 +1,18 @@
; Pretty generic cave, only it contains the Ground-type tradables.
; Vague reference to the iconic wild Steelix.
CelesteHillCaveWildMons:
def_grass_wildmons 10 ; encounter rate
db 51, GRAVELER
db 52, MAROWAK
db 52, GRAVELER
db 51, MAROWAK
db 53, TOEDSCOOL
db 53, RHYDON
db 53, STEELIX
db 54, GOLEM
db 54, RHYPERIOR
db 55, RHYPERIOR
end_grass_wildmons
def_water_wildmons 0 ; encounter rate
end_water_wildmons

View file

@ -1387,3 +1387,17 @@ INCLUDE "data/maps/objects/MtMoonSquareHouse.asm"
INCLUDE "scripts/MtMoonSquareHouse.asm"
MtMoonSquareHouse_Blocks: INCBIN "maps/MtMoonSquareHouse.blk"
INCLUDE "data/maps/headers/CelesteHillCave.asm"
INCLUDE "scripts/CelesteHillCave.asm"
INCLUDE "data/maps/objects/CelesteHillCave.asm"
CelesteHillCave_Blocks: INCBIN "maps/CelesteHillCave.blk"
INCLUDE "data/maps/headers/CelesteHillOutside.asm"
INCLUDE "scripts/CelesteHillOutside.asm"
INCLUDE "data/maps/objects/CelesteHillOutside.asm"
CelesteHillOutside_Blocks: INCBIN "maps/CelesteHillOutside.blk"
INCLUDE "data/maps/headers/BrunswickGrotto.asm"
INCLUDE "scripts/BrunswickGrotto.asm"
INCLUDE "data/maps/objects/BrunswickGrotto.asm"
BrunswickGrotto_Blocks: INCBIN "maps/BrunswickGrotto.blk"

Binary file not shown.

View file

@ -1,15 +1,15 @@
Exception: STATUS_ACCESS_VIOLATION at rip=00100401246
rax=FFFFFFF7FFF8BFA1 rbx=0000000000000D1B rcx=0000000800000010
rdx=0000000000000000 rsi=0000000800061DCE rdi=0000000000000000
rax=FFFFFFF7FFF8BD51 rbx=0000000000000072 rcx=0000000800000010
rdx=0000000000000000 rsi=00000008000640E6 rdi=0000000000000000
r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=0000000800074060 r13=0000000100403148
r11=0000000100401282 r12=00000008000742B0 r13=0000000100403148
r14=0000000000000000 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFCA60
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1116, thread main
program=C:\cygwin64\home\chipp\kep-hack\tools\scan_includes.exe, pid 1332, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00100403156 00100401246 (00800061DCE, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401246 (008000640E6, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000)
00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70)
000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000)

View file

@ -0,0 +1,6 @@
BrunswickGrotto_Script:
jp EnableAutoTextBoxDrawing
BrunswickGrotto_TextPointers:
text_end ; unused

View file

@ -0,0 +1,6 @@
CelesteHillCave_Script:
jp EnableAutoTextBoxDrawing
CelesteHillCave_TextPointers:
text_end ; unused

View file

@ -0,0 +1,6 @@
CelesteHillOutside_Script:
jp EnableAutoTextBoxDrawing
CelesteHillOutside_TextPointers:
text_end ; unused