29 lines
882 B
TypeScript
29 lines
882 B
TypeScript
|
|
// @ts-ignore
|
||
|
|
import renderCart from "./build/rawRenderCart.js";
|
||
|
|
|
||
|
|
type PicoBool = 0 | 1;
|
||
|
|
|
||
|
|
type RenderCart = (Module: {canvas: HTMLCanvasElement}, cartNames: string[], cartDatas: number[][]) => {
|
||
|
|
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];
|
||
|
|
}
|
||
|
|
|
||
|
|
const typedRenderCart = renderCart as RenderCart;
|
||
|
|
|
||
|
|
export {typedRenderCart as renderCart}
|