@bscotch/yy
Version:
Stringify, parse, read, and write GameMaker yy and yyp files.
1,214 lines (1,213 loc) • 85.3 kB
TypeScript
import { z } from 'zod';
import { FixedNumber } from './utility.js';
export declare enum SpriteType {
Default = 0,
UNKNOWN1 = 1,
Spine = 2,
Svg = 3,
UNKNOWN4 = 4,
UNKNOWN5 = 5,
UNKNOWN6 = 6
}
export declare enum SpriteLayerBlendMode {
Normal = 0,
Add = 1,
Subtract = 2,
Multiply = 3
}
export declare enum SpriteCollisionKind {
Precise = 0,
Rectangle = 1,
Ellipse = 2,
Diamond = 3,
PrecisePerFrame = 4,
RectangleWithRotation = 5,
SpineCollisionMesh = 6
}
export declare enum SpriteBoundingBoxMode {
/** what does this imply about bboxes? */
Automatic = 0,
FullImage = 1,
Manual = 2
}
export declare enum SpriteOrigin {
TopLeft = 0,
TopCenter = 1,
TopRight = 2,
MiddleLeft = 3,
MiddleCenter = 4,
MiddleRight = 5,
BottomLeft = 6,
BottomCenter = 7,
BottomRight = 8,
Custom = 9
}
export declare enum SpritePlaybackSpeedType {
FramesPerSecond = 0,
FramesPerGameFrame = 1
}
export type SpriteImageBase = z.infer<typeof spriteImageBaseSchema>;
declare const spriteImageBaseSchema: z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
/** Seems to always be empty */
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
}, z.core.$strip>;
export type SpriteImage = z.infer<typeof spriteImageSchema>;
declare const spriteImageSchema: z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>;
export type SpriteCompositeImage = z.infer<typeof spriteCompositeImageSchema>;
declare const spriteCompositeImageSchema: z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodNull;
}, z.core.$strip>;
export type SpriteFrame = z.input<typeof spriteFrameSchema>;
declare const spriteFrameSchema: z.ZodObject<{
/**
* Unique GUID. Matches the name of an image file (+'.png')
* that sits alongside the .yy file. Also matches a corresponding
* folder name inside the "layers" folder. The Composite image
* and each one listed in 'images' all have the same value here
* for their "FrameId.name" field.
*/
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>;
/**
* Image created by flattening layers.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
compositeImage: z.ZodOptional<z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodNull;
}, z.core.$strip>>;
/**
* One image per layer.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>>>;
/**
* The parent sprite, same as the sprite's ID from the YYP.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
parent: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>;
export type SpriteImageLayer = z.input<typeof spriteImageLayerSchema>;
declare const spriteImageLayerSchema: z.ZodObject<{
visible: z.ZodDefault<z.ZodBoolean>;
isLocked: z.ZodDefault<z.ZodBoolean>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
displayName: z.ZodDefault<z.ZodString>;
resourceVersion: z.ZodDefault<z.ZodString>;
/**
* The unique GUID for this layer, used by Frames in their LayerId field.
*/
name: z.ZodDefault<z.ZodString>;
/** Seems to be unused -- always an empty array. */
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
}, z.core.$strip>;
export type SpriteFolderLayer = z.input<typeof spriteFolderLayerSchema>;
declare const spriteFolderLayerSchema: z.ZodObject<{
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>;
resourceVersion: z.ZodDefault<z.ZodString>;
name: z.ZodDefault<z.ZodString>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
displayName: z.ZodDefault<z.ZodString>;
isLocked: z.ZodDefault<z.ZodBoolean>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
visible: z.ZodDefault<z.ZodBoolean>;
layers: z.ZodDefault<z.ZodArray<z.ZodObject<{
visible: z.ZodDefault<z.ZodBoolean>;
isLocked: z.ZodDefault<z.ZodBoolean>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
displayName: z.ZodDefault<z.ZodString>;
resourceVersion: z.ZodDefault<z.ZodString>;
/**
* The unique GUID for this layer, used by Frames in their LayerId field.
*/
name: z.ZodDefault<z.ZodString>;
/** Seems to be unused -- always an empty array. */
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
}, z.core.$strip>>>;
}, z.core.$strip>;
export type SpriteSequenceTrackKeyframe = z.input<typeof spriteSequenceTrackKeyframeSchema>;
declare const spriteSequenceTrackKeyframeSchema: z.ZodIntersection<z.ZodObject<{
id: z.ZodDefault<z.ZodString>;
Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Stretch: z.ZodDefault<z.ZodBoolean>;
Disabled: z.ZodDefault<z.ZodBoolean>;
IsCreationKey: z.ZodDefault<z.ZodBoolean>;
Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
Id: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
}, z.core.$strip>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
}, z.core.$strip>], "resourceType">>;
export type SpriteSequenceEventType = z.infer<typeof spriteSequenceEventTypeSchema>;
declare const spriteSequenceEventTypeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"MessageEventKeyframe">;
}, z.core.$strip>], "resourceType">;
export type SpriteSequenceTrack = z.infer<typeof spriteSequenceTrackSchema>;
declare const spriteSequenceTrackSchema: z.ZodObject<{
name: z.ZodDefault<z.ZodString>;
spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
trackColour: z.ZodDefault<z.ZodNumber>;
inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
builtinName: z.ZodDefault<z.ZodNumber>;
traits: z.ZodDefault<z.ZodNumber>;
interpolation: z.ZodDefault<z.ZodNumber>;
tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
isCreationTrack: z.ZodDefault<z.ZodBoolean>;
resourceVersion: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
id: z.ZodDefault<z.ZodString>;
Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Stretch: z.ZodDefault<z.ZodBoolean>;
Disabled: z.ZodDefault<z.ZodBoolean>;
IsCreationKey: z.ZodDefault<z.ZodBoolean>;
Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
Id: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
}, z.core.$strip>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
}, z.core.$strip>], "resourceType">>>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
}) | ({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
}), {
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
} | {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
})>>>;
}, z.core.$strip>;
export type SpriteSequence = z.input<typeof spriteSequenceSchema>;
declare const spriteSequenceSchema: z.ZodObject<{
timeUnits: z.ZodDefault<z.ZodNumber>;
playback: z.ZodDefault<z.ZodNumber>;
/**
* FPS (probably 30, 45, or 60), set via the editor
*/
playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
/**
* FPS type, set via the editor
*/
playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>;
autoRecord: z.ZodDefault<z.ZodBoolean>;
volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
/**
* Number of frames
*/
length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{
x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
}, z.core.$strip>>>;
lockOrigin: z.ZodDefault<z.ZodBoolean>;
showBackdrop: z.ZodDefault<z.ZodBoolean>;
showBackdropImage: z.ZodDefault<z.ZodBoolean>;
backdropImagePath: z.ZodDefault<z.ZodString>;
backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
backdropWidth: z.ZodDefault<z.ZodNumber>;
backdropHeight: z.ZodDefault<z.ZodNumber>;
backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
xorigin: z.ZodDefault<z.ZodNumber>;
yorigin: z.ZodDefault<z.ZodNumber>;
eventToFunction: z.ZodDefault<z.ZodUnknown>;
eventStubScript: z.ZodDefault<z.ZodUnknown>;
name: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>;
resourceVersion: z.ZodDefault<z.ZodString>;
events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"MessageEventKeyframe">;
}, z.core.$strip>], "resourceType">>>;
moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"MomentsEventKeyframe">;
}, z.core.$strip>], "resourceType">>>;
tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
name: z.ZodDefault<z.ZodString>;
spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
trackColour: z.ZodDefault<z.ZodNumber>;
inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
builtinName: z.ZodDefault<z.ZodNumber>;
traits: z.ZodDefault<z.ZodNumber>;
interpolation: z.ZodDefault<z.ZodNumber>;
tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
isCreationTrack: z.ZodDefault<z.ZodBoolean>;
resourceVersion: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
id: z.ZodDefault<z.ZodString>;
Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Stretch: z.ZodDefault<z.ZodBoolean>;
Disabled: z.ZodDefault<z.ZodBoolean>;
IsCreationKey: z.ZodDefault<z.ZodBoolean>;
Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
Id: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
}, z.core.$strip>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
}, z.core.$strip>], "resourceType">>>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
}) | ({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
}), {
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
} | {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
})>>>;
}, z.core.$strip>>>;
/**
* Matches the YYP resource's 'id' value.
*/
spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>>;
parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>>;
}, z.core.$strip>;
/**
* Data structure for Sprite .yy files.
*/
export type YySpriteLoose = z.input<typeof yySpriteSchemaStrict>;
export type YySprite = z.output<typeof yySpriteSchemaStrict>;
declare const yySpriteSchemaStrict: z.ZodPipe<z.ZodObject<{
"%Name": z.ZodOptional<z.ZodString>;
ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
name: z.ZodString;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
parent: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
bboxMode: z.ZodDefault<z.ZodEnum<typeof SpriteBoundingBoxMode>>;
collisionKind: z.ZodDefault<z.ZodEnum<typeof SpriteCollisionKind>>;
type: z.ZodDefault<z.ZodEnum<typeof SpriteType>>;
origin: z.ZodDefault<z.ZodEnum<typeof SpriteOrigin>>;
preMultiplyAlpha: z.ZodDefault<z.ZodBoolean>;
edgeFiltering: z.ZodDefault<z.ZodBoolean>;
collisionTolerance: z.ZodDefault<z.ZodNumber>;
swfPrecision: z.ZodDefault<z.ZodNumber>;
bbox_left: z.ZodDefault<z.ZodNumber>;
bbox_right: z.ZodDefault<z.ZodNumber>;
bbox_top: z.ZodDefault<z.ZodNumber>;
bbox_bottom: z.ZodDefault<z.ZodNumber>;
HTile: z.ZodDefault<z.ZodBoolean>;
VTile: z.ZodDefault<z.ZodBoolean>;
For3D: z.ZodDefault<z.ZodBoolean>;
DynamicTexturePage: z.ZodDefault<z.ZodBoolean>;
width: z.ZodDefault<z.ZodNumber>;
height: z.ZodDefault<z.ZodNumber>;
textureGroupId: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
swatchColours: z.ZodDefault<z.ZodUnknown>;
gridX: z.ZodDefault<z.ZodNumber>;
gridY: z.ZodDefault<z.ZodNumber>;
frames: z.ZodDefault<z.ZodArray<z.ZodObject<{
/**
* Unique GUID. Matches the name of an image file (+'.png')
* that sits alongside the .yy file. Also matches a corresponding
* folder name inside the "layers" folder. The Composite image
* and each one listed in 'images' all have the same value here
* for their "FrameId.name" field.
*/
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>;
/**
* Image created by flattening layers.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
compositeImage: z.ZodOptional<z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodNull;
}, z.core.$strip>>;
/**
* One image per layer.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
images: z.ZodOptional<z.ZodArray<z.ZodObject<{
FrameId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>;
name: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>;
LayerId: z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>>>;
/**
* The parent sprite, same as the sprite's ID from the YYP.
*
* Automatically generated by the IDE for resourceVersion 1.0,
* removed in 1.1.
*/
parent: z.ZodOptional<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>>>;
sequence: z.ZodPrefault<z.ZodObject<{
timeUnits: z.ZodDefault<z.ZodNumber>;
playback: z.ZodDefault<z.ZodNumber>;
/**
* FPS (probably 30, 45, or 60), set via the editor
*/
playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
/**
* FPS type, set via the editor
*/
playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>;
autoRecord: z.ZodDefault<z.ZodBoolean>;
volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
/**
* Number of frames
*/
length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{
x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
}, z.core.$strip>>>;
lockOrigin: z.ZodDefault<z.ZodBoolean>;
showBackdrop: z.ZodDefault<z.ZodBoolean>;
showBackdropImage: z.ZodDefault<z.ZodBoolean>;
backdropImagePath: z.ZodDefault<z.ZodString>;
backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
backdropWidth: z.ZodDefault<z.ZodNumber>;
backdropHeight: z.ZodDefault<z.ZodNumber>;
backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
xorigin: z.ZodDefault<z.ZodNumber>;
yorigin: z.ZodDefault<z.ZodNumber>;
eventToFunction: z.ZodDefault<z.ZodUnknown>;
eventStubScript: z.ZodDefault<z.ZodUnknown>;
name: z.ZodOptional<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>;
resourceVersion: z.ZodDefault<z.ZodString>;
events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"MessageEventKeyframe">;
}, z.core.$strip>], "resourceType">>>;
moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"MomentsEventKeyframe">;
}, z.core.$strip>], "resourceType">>>;
tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{
name: z.ZodDefault<z.ZodString>;
spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>;
trackColour: z.ZodDefault<z.ZodNumber>;
inheritsTrackColour: z.ZodDefault<z.ZodBoolean>;
builtinName: z.ZodDefault<z.ZodNumber>;
traits: z.ZodDefault<z.ZodNumber>;
interpolation: z.ZodDefault<z.ZodNumber>;
tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>;
isCreationTrack: z.ZodDefault<z.ZodBoolean>;
resourceVersion: z.ZodDefault<z.ZodString>;
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>;
keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{
Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{
id: z.ZodDefault<z.ZodString>;
Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
Stretch: z.ZodDefault<z.ZodBoolean>;
Disabled: z.ZodDefault<z.ZodBoolean>;
IsCreationKey: z.ZodDefault<z.ZodBoolean>;
Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
Id: z.ZodDefault<z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>;
resourceVersion: z.ZodDefault<z.ZodString>;
resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>;
}, z.core.$strip>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">;
}, z.core.$strip>], "resourceType">>>>>;
resourceVersion: z.ZodDefault<z.ZodString>;
}, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodLiteral<"KeyframeStore`1">;
elementType: z.ZodLiteral<"SpriteFrameKeyframe">;
}, z.core.$strip>], "resourceType">>>, z.ZodTransform<({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
}) | ({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
}), {
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
} | {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
})>>>;
}, z.core.$strip>>>;
/**
* Matches the YYP resource's 'id' value.
*/
spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>>;
parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
name: z.ZodString;
path: z.ZodString;
}, z.core.$strip>>>;
}, z.core.$strip>>;
layers: z.ZodPrefault<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{
visible: z.ZodDefault<z.ZodBoolean>;
isLocked: z.ZodDefault<z.ZodBoolean>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
displayName: z.ZodDefault<z.ZodString>;
resourceVersion: z.ZodDefault<z.ZodString>;
/**
* The unique GUID for this layer, used by Frames in their LayerId field.
*/
name: z.ZodDefault<z.ZodString>;
/** Seems to be unused -- always an empty array. */
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
}, z.core.$strip>, z.ZodObject<{
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>;
resourceVersion: z.ZodDefault<z.ZodString>;
name: z.ZodDefault<z.ZodString>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
displayName: z.ZodDefault<z.ZodString>;
isLocked: z.ZodDefault<z.ZodBoolean>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
visible: z.ZodDefault<z.ZodBoolean>;
layers: z.ZodDefault<z.ZodArray<z.ZodObject<{
visible: z.ZodDefault<z.ZodBoolean>;
isLocked: z.ZodDefault<z.ZodBoolean>;
blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>;
opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>;
displayName: z.ZodDefault<z.ZodString>;
resourceVersion: z.ZodDefault<z.ZodString>;
/**
* The unique GUID for this layer, used by Frames in their LayerId field.
*/
name: z.ZodDefault<z.ZodString>;
/** Seems to be unused -- always an empty array. */
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>;
}, z.core.$strip>>>;
}, z.core.$strip>], "resourceType">>>>;
resourceType: z.ZodDefault<z.ZodLiteral<"GMSprite">>;
nineSlice: z.ZodDefault<z.ZodOptional<z.ZodUnknown>>;
}, z.core.$strip>, z.ZodTransform<{
name: string;
parent: {
name: string;
path: string;
};
resourceVersion: string;
bboxMode: SpriteBoundingBoxMode;
collisionKind: SpriteCollisionKind;
type: SpriteType;
origin: SpriteOrigin;
preMultiplyAlpha: boolean;
edgeFiltering: boolean;
collisionTolerance: number;
swfPrecision: number;
bbox_left: number;
bbox_right: number;
bbox_top: number;
bbox_bottom: number;
HTile: boolean;
VTile: boolean;
For3D: boolean;
DynamicTexturePage: boolean;
width: number;
height: number;
textureGroupId: {
name: string;
path: string;
};
swatchColours: unknown;
gridX: number;
gridY: number;
frames: {
name: string;
resourceType: "GMSpriteFrame";
resourceVersion: string;
tags?: string[] | undefined;
compositeImage?: {
FrameId: {
name: string;
path: string;
};
resourceVersion: "1.0";
name: string;
resourceType: "GMSpriteBitmap";
LayerId: null;
tags?: string[] | undefined;
} | undefined;
images?: {
FrameId: {
name: string;
path: string;
};
resourceVersion: "1.0";
name: string;
resourceType: "GMSpriteBitmap";
LayerId: {
name: string;
path: string;
};
tags?: string[] | undefined;
}[] | undefined;
parent?: {
name: string;
path: string;
} | undefined;
}[];
sequence: {
timeUnits: number;
playback: number;
playbackSpeed: FixedNumber;
playbackSpeedType: SpritePlaybackSpeedType;
autoRecord: boolean;
volume: FixedNumber;
length: FixedNumber;
visibleRange: {
x: FixedNumber;
y: FixedNumber;
} | null;
lockOrigin: boolean;
showBackdrop: boolean;
showBackdropImage: boolean;
backdropImagePath: string;
backdropImageOpacity: FixedNumber;
backdropWidth: number;
backdropHeight: number;
backdropXOffset: FixedNumber;
backdropYOffset: FixedNumber;
xorigin: number;
yorigin: number;
eventToFunction: unknown;
eventStubScript: unknown;
resourceType: "GMSequence";
resourceVersion: string;
events: {
Keyframes: unknown[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<MessageEventKeyframe>";
} | {
resourceType: "KeyframeStore`1";
elementType: "MessageEventKeyframe";
});
moments: {
Keyframes: unknown[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<MomentsEventKeyframe>";
} | {
resourceType: "KeyframeStore`1";
elementType: "MomentsEventKeyframe";
});
tracks: {
name: string;
spriteId: unknown;
trackColour: number;
inheritsTrackColour: boolean;
builtinName: number;
traits: number;
interpolation: number;
tracks: unknown[];
events: unknown[];
modifiers: unknown[];
isCreationTrack: boolean;
resourceVersion: string;
resourceType: "GMSpriteFramesTrack";
keyframes: ({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore<SpriteFrameKeyframe>";
}) | ({
Keyframes: ({
id: string;
Key: FixedNumber;
Length: FixedNumber;
Stretch: boolean;
Disabled: boolean;
IsCreationKey: boolean;
Channels: Record<string, {
Id: {
name: string;
path: string;
};
resourceVersion: string;
resourceType: "SpriteFrameKeyframe";
}>;
resourceVersion: string;
} & ({
resourceType: "Keyframe`1";
elementType: "SpriteFrameKeyframe";
} | {
resourceType: "Keyframe<SpriteFrameKeyframe>";
}))[];
resourceVersion: string;
} & {
resourceType: "KeyframeStore`1";
elementType: "SpriteFrameKeyframe";
});
tags?: string[] | undefined;
}[];
name?: string | undefined;
tags?: string[] | undefined;
spriteId?: {
name: string;
path: string;
} | undefined;
parent?: {
name: string;
path: string;
} | undefined;
};
layers: ({
visible: boolean;
isLocked: boolean;
blendMode: SpriteLayerBlendMode;
opacity: FixedNumber;
displayName: string;
resourceVersion: string;
name: string;
resourceType: "GMImageLayer";
tags?: string[] | undefined;
} | {
resourceType: "GMImageFolderLayer";
resourceVersion: string;
name: string;
blendMode: SpriteLayerBlendMode;
displayName: string;
isLocked: boolean;
opacity: FixedNumber;
visible: boolean;
layers: {
visible: boolean;
isLocked: boolean;
blendMode: SpriteLayerBlendMode;
opacity: FixedNumber;
displayName: string;
resourceVersion: string;
name: string;
resourceType: "GMImageLayer";
tags?: string[] | undefined;
}[];
})[];
resourceType: "GMSprite";
nineSlice: unknown;
"%Name"?: string | undefined;
ConfigValues?: Record<string, Record<string, string>> | undefined;
tags?: string[] | undefined;
}, {
name: string;
parent: {
name: string;
path: string;
};
resourceVersion: string;
bboxMode: SpriteBoundingBoxMode;
collisionKind: SpriteCollisionKind;
type: SpriteType;
origin: SpriteOrigin;
preMultiplyAlpha: boolean;
edgeFiltering: boolean;
collisionTolerance: number;
swfPrecision: number;
bbox_left: number;
bbox_right: number;
bbox_top: number;
bbox_bottom: number;
HTile: boolean;
VTile: boolean;
For3D: boolean;
DynamicTexturePage: boolean;
width: number;
height: number;
textureGroupId: {
name: string;
path: string;
};
swatchColours: unknown;
gridX: number;
gridY: number;
frames: {
name: string;
resourceType: "GMSpriteFrame";
resourceVersion: string;
tags?: string[] | undefined;
compositeImage?: {
FrameId: {
name: string;
path: string;
};
resourceVersion: "1.0";
name: string;
resourceType: "GMSpriteBitmap";
LayerId: null;
tags?: string[] | undefined;
} | undefined;
images?: {
FrameId: {
name: string;
path: string;
};
resourceVersion: "1.0";
name: string;
resourceType: "GMSpriteBitmap";
LayerId: {
name: string;
path: string;
};
tags?: string[] | undefined;
}[] | undefined;
parent?: {
name: string;
path: string;
} | undefined;
}[];
sequence: {
timeUnits: number;
playback: number;
playbackSpeed: FixedNumber;
playbackSpeedType: SpritePlaybackSpeedType;
autoRecord: boolean;
volume: FixedNumber;
length: FixedNumber;
visibleRange: {
x: FixedNumber;
y: FixedNumber;
} | null;
lockOrigin: boolean;
showBackdrop: boolean;
showBackdropImage: boolean;
backdropImagePath: string;
backdropImageOpacity: FixedNumber;
backdropWidth: number;
backdropHeight: number;
backdropXOffset: FixedNumber;
backdropYOffset: FixedNumber;
xorigin: number;
yorigin: number;
eventToFunction: unknown;
eventStubScript: unknown;
resourceType: "GMSequence";
resourceVersion: string;
events: {
Keyframes: unknown[];
resourceVersion: string;
} & ({
resourceType: "KeyframeStore<MessageEventKeyframe>";
} | {
resourceType: "KeyframeStore`1";