sm64pc/assets/demo_data.s
2019-10-05 15:08:05 -04:00

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