UNPKG

@bscotch/gml-parser

Version:

A parser for GML (GameMaker Language) files for programmatic manipulation and analysis of GameMaker projects.

214 lines 5.8 kB
export interface ObjectEvent { label: string; name: string; eventNum: number; eventType: number; group: string; } export type ObjectEventName = (typeof objectEvents)[number]['name']; export type ObjectEventLabel = (typeof objectEvents)[number]['label']; interface ObjectAlarmEvent<N extends number> extends ObjectEvent { label: `Alarm ${N}`; name: `Alarm_${N}`; eventNum: N; eventType: 2; group: 'alarm'; } /** * Mapping of GameMaker filenames to their corresponding * human-friendly event names. */ export declare const objectEvents: readonly [{ readonly label: "Create"; readonly name: "Create_0"; readonly eventNum: 0; readonly eventType: 0; readonly group: "main"; }, { readonly label: "Destroy"; readonly name: "Destroy_0"; readonly eventNum: 0; readonly eventType: 1; readonly group: "cleanup"; }, { readonly label: "CleanUp"; readonly name: "CleanUp_0"; readonly eventNum: 0; readonly eventType: 12; readonly group: "cleanup"; }, { readonly label: "Room Start"; readonly name: "Other_4"; readonly eventNum: 4; readonly eventType: 7; readonly group: "cleanup"; }, { readonly label: "Room End"; readonly name: "Other_5"; readonly eventNum: 5; readonly eventType: 7; readonly group: "cleanup"; }, { readonly label: "Game End"; readonly name: "Other_3"; readonly eventNum: 3; readonly eventType: 7; readonly group: "cleanup"; }, { readonly label: "Pre-Draw"; readonly name: "Draw_76"; readonly eventNum: 76; readonly eventType: 8; readonly group: "draw"; }, { readonly label: "Draw Begin"; readonly name: "Draw_72"; readonly eventNum: 72; readonly eventType: 8; readonly group: "draw"; }, { readonly label: "Draw"; readonly name: "Draw_0"; readonly eventNum: 0; readonly eventType: 8; readonly group: "draw"; }, { readonly label: "Draw End"; readonly name: "Draw_73"; readonly eventNum: 73; readonly eventType: 8; readonly group: "draw"; }, { readonly label: "Post-Draw"; readonly name: "Draw_77"; readonly eventNum: 77; readonly eventType: 8; readonly group: "draw"; }, { readonly label: "Draw GUI Begin"; readonly name: "Draw_74"; readonly eventNum: 74; readonly eventType: 8; readonly group: "draw-gui"; }, { readonly label: "Draw GUI"; readonly name: "Draw_64"; readonly eventNum: 64; readonly eventType: 8; readonly group: "draw-gui"; }, { readonly label: "Draw GUI End"; readonly name: "Draw_75"; readonly eventNum: 75; readonly eventType: 8; readonly group: "draw-gui"; }, { readonly label: "Begin Step"; readonly name: "Step_1"; readonly eventNum: 1; readonly eventType: 3; readonly group: "step"; }, { readonly label: "Step"; readonly name: "Step_0"; readonly eventNum: 0; readonly eventType: 3; readonly group: "step"; }, { readonly label: "End Step"; readonly name: "Step_2"; readonly eventNum: 2; readonly eventType: 3; readonly group: "step"; }, ...({ label: string; name: string; eventNum: number; eventType: number; group: string; } | ObjectAlarmEvent<number> | { readonly label: "Animation Update"; readonly name: "Other_58"; readonly eventNum: 58; readonly eventType: 7; readonly group: "animation"; } | { readonly label: "Animation Event"; readonly name: "Other_59"; readonly eventNum: 59; readonly eventType: 7; readonly group: "animation"; } | { readonly label: "Async - Image Loaded"; readonly name: "Other_60"; readonly eventNum: 60; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - HTTP"; readonly name: "Other_62"; readonly eventNum: 62; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - System"; readonly name: "Other_75"; readonly eventNum: 75; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - Social"; readonly name: "Other_70"; readonly eventNum: 70; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - Save/Load"; readonly name: "Other_72"; readonly eventNum: 72; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - Steam"; readonly name: "Other_69"; readonly eventNum: 69; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Async - Dialog"; readonly name: "Other_63"; readonly eventNum: 63; readonly eventType: 7; readonly group: "async"; } | { readonly label: "Broadcast Message"; readonly name: "Other_76"; readonly eventNum: 76; readonly eventType: 7; readonly group: "broadcast message"; } | { readonly label: "Global Left Released"; readonly name: "Mouse_56"; readonly eventNum: 56; readonly eventType: 6; readonly group: "mouse"; } | { readonly label: "Global Right Released"; readonly name: "Mouse_57"; readonly eventNum: 57; readonly eventType: 6; readonly group: "mouse"; } | { readonly label: "Global Middle Released"; readonly name: "Mouse_58"; readonly eventNum: 58; readonly eventType: 6; readonly group: "mouse"; })[]]; /** * Given a GameMaker object event filename, get its human-friendly name. */ export declare function getEventFromFilename(filename: string): ObjectEvent | undefined; export declare function getEventFromLabel(label: string): ObjectEvent | undefined; export declare function getEventFrom(eventNum: number, eventType: number): ObjectEvent | undefined; export {}; //# sourceMappingURL=lib.objects.d.ts.map