Files
picobook/src/client/pico8-client/rawRenderCart.ts
2024-03-30 15:07:49 -07:00

30 lines
930 B
TypeScript

// @ts-ignore
import "./build/veryRawRenderCart.js";
type PicoBool = 0 | 1;
type RenderCart = (Module: {canvas: HTMLCanvasElement}, cartNames: string[], cartDatas: number[][], audioContext: AudioContext) => {
p8_touch_detected?: PicoBool;
p8_dropped_cart?: string;
p8_dropped_cart_name?: string;
pico8_state?: Partial<{
frame_number: number;
has_focus: PicoBool;
is_paused: PicoBool;
request_pointer_lock: PicoBool;
require_page_navigate_confirmation: PicoBool;
show_dpad: PicoBool;
shutdown_requested: PicoBool;
sound_volume: number;
}>;
pico8_buttons?: [number, number, number, number, number, number, number, number];
pico8_gamepads?: {count: number};
pico8_gpio?: number[]; // should be 128 length
pico8_audio_context?: AudioContext;
pico8_mouse?: [number, number, number];
codo_command?: number;
}
const typedRenderCart = (window as any).P8 as RenderCart;
export {typedRenderCart as renderCart}