Files
cell/todo/playdate.md
2025-12-17 02:53:01 -06:00

28 lines
1.0 KiB
Markdown

# Playdate SDK notes
Playdate should compile with playdate.cross
Check for 'pdc' to see if it's available
If it is, use playdate.cross to compile it and everything else
Do not include main; instead, actors should receive messages from the playdate SDK
pdc is used to bundle the compiled game's assets; playdate filesystem only can access files inside that bundle
Simulator dylib is lpatform specific, bundled only to allow it to load into the simulator; doesn't ship to playdate
pdex uses flags from playdate.cross
Example with meson:
pdx = custom_target('pdx bundle',
output: 'GameOfLife.pdx',
command: [join_paths(env['PLAYDATE_SDK_PATH'], 'bin', 'pdc'), 'Source', '@OUTPUT@'],
input: [elf, sim_dylib])
sim_dylib = custom_target('simulator dylib',
output: 'pdex.dylib',
command: ['clang', '-dynamiclib', '-DTARGET_SIMULATOR=1', '-o', '@OUTPUT@', 'main.c', 'setup.c'],
build_by_default: true)
elf = executable('pdex', ['main.c', 'setup.c'],
install: false,
c_args: device_c_args,
link_args: device_link_args)