51 lines
1.3 KiB
ArmAsm
51 lines
1.3 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .data
|
|
|
|
.macro demo name
|
|
.word32 (\name - gDemoInputs)
|
|
.word32 (\name\()_end - \name)
|
|
.endm
|
|
|
|
# Whomp's Fortress has the wrong size. The original entries probably manually
|
|
# input the sizes, but we opt for macros for cleanliness.
|
|
.macro demo2 name
|
|
.word32 (\name - gDemoInputs)
|
|
.word32 ((\name\()_end + 0x170) - \name)
|
|
.endm
|
|
|
|
.macro demofile name
|
|
\name:
|
|
.incbin "assets/demos/\name\().bin"
|
|
\name\()_end:
|
|
.endm
|
|
|
|
glabel gDemoInputs
|
|
.word32 (demo_entry_end - demo_entry_start) / 8 # number of entries
|
|
.word 0
|
|
|
|
demo_entry_start:
|
|
.ifdef VERSION_US
|
|
demo bitdw # Bowser in the Dark World
|
|
.endif
|
|
demo2 wf # Whomp's Fortress (the size is too large, but the demo ends before it can use the PSS demo inputs.)
|
|
demo ccm # Cool Cool Mountain
|
|
demo bbh # Big Boo's Haunt
|
|
demo jrb # Jolly Rodger's Bay
|
|
demo hmc # Hazy Maze Cave
|
|
demo pss # Princess Secret Slide
|
|
demo_entry_end:
|
|
|
|
demofile bbh
|
|
demofile ccm
|
|
demofile hmc
|
|
demofile jrb
|
|
demofile wf
|
|
demofile pss
|
|
demofile unused # might be an unused demo, but it doesn't define a header, so it cant be
|
|
# normally called. speculation: "blooper" take for CCM. Mario runs into
|
|
# the sign and aligns himself as if it were a mistake.
|
|
.ifdef VERSION_US
|
|
demofile bitdw
|
|
.endif
|