@bscotch/stitch
Version:
Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.
82 lines • 2.46 kB
TypeScript
import type { GameMakerCliBuildWorker, GameMakerCliOptions } from '../types/gameMakerCli.js';
/**
* GameMaker CLI workers that are for making builds
* and that are supported by Stitch.
*/
export type StitchSupportedBuilder = Exclude<GameMakerCliBuildWorker, 'amazonfire' | 'html5' | 'operagx' | 'ps4' | 'ps5' | 'tvos' | 'wasm'>;
export interface GameMakerRuntimeConfig {
active: string;
[version: string]: string;
}
export interface GameMakerUserData {
deviceID?: string;
/**
* User email address. The 'name' part is
* used as the local username.
*/
login?: `${string}@${string}`;
userID?: string;
}
export type GameMakerSupportedArchitecture = 'x64' | 'arm' | 'arm64';
export interface GameMakerLogOptions {
logDir?: string;
/**
* If `true`, will not include the timestamp
* in the logfile names. This is useful when
* you want to clobber the logs files with the
* latest logs.
*/
excludeLogFileTimestamps?: boolean;
}
export interface GameMakerRunOptions extends GameMakerLogOptions {
/**
* @default 'windows'
*/
targetPlatform?: StitchSupportedBuilder;
config?: string;
yyc?: boolean;
}
export interface GameMakerBuildOptions extends GameMakerRunOptions {
/**
* The name of the compiled artifact.
*/
outDir?: string;
}
export interface GameMakerExecuteOptions extends Omit<Partial<GameMakerCliOptions>, 'project'> {
}
/**
* The subset of Stitch's `Gms2Project`
* interface that the `GameMakerEngine`
* class makes use of.
*/
export interface GameMakerEngineProject {
readonly name: string;
readonly yypPathAbsolute: string;
readonly yypDirAbsolute: string;
}
export interface GameMakerExecutionResults {
/**
* Whether just building *or* running, we
* always attempt to compile. If `false`,
* Igor exited before finishing the compile.
*/
compileSucceeded: boolean;
/**
* If we are only building, the runner's
* success is `undefined`
*
* Otherwise, this value is `true` if
* the runner exits normally (e.g. via
* the user closing the window or via
* the GML function `game_end()`) and
* `false` otherwise.
*/
runnerSucceeded?: boolean;
stdout: string;
stderr: string;
compilerLogsPath: string;
runnerLogsPath?: string;
compilerLogs: string;
runnerLogs?: string;
}
//# sourceMappingURL=GameMakerEngine.types.d.ts.map