[][src]Crate yy_typings

This is a library was created for the development of Fields of Mistria, a farming RPG with tons of Sprites, by NPC Studio. This tool was created to support an Aseprite -> GMS2 pipeline tool. That tool is not public. Using this tool, one should be able to generate their own pipeline without difficulty.

This crate only supports Gms2, and only supports Gms2 2.3 and above. If users do want to use a version with Gms2 version 2.2, there is a historical release on the main branch which was made before 2.3's release, though it is not nearly as fully featured as the current branch.

This repository has a pair: the Yy-Boss, which provides active Yyp handling over stdin/stdout, abstracting over Gms2's native types to allow users to dynamically create resources (and analyze existing resources) without handling the Gms2 Yy files directly.

Modules

object_yy

Typings associated with Object .yy files, including typing for Events and Vk Keycodes.

script

Typings for Scripts.

shader

Typings for Shaders.

sprite_yy

Typings associated with Sprite .yy files, including many of the types associated with Sequences, for now. In future iterations of this crate, those shared resources will be in their own module.

texture_group

Typings associated with Texture Groups.

utils

Two utilities which may be useful for downstream crates:

Structs

AudioGroup
FilesystemPath

Paths on the File System.

ResourceVersion

A struct, which implements Serialize and Deserialize, for Gms2 version strings of the form "1.0" or "4.2". Basically, a bad SemVer.

TexturePath

A unqiue Id for textures. Although it appears as if it could support hierarchies and nesting, textures ids never actually show that in practice, so this form is likely an artifact of the Yyg internal project structures.. The first member of this hierarchy is always texturegroups.

TexturePathLocation

The path component will never end with .yy, even if it describes a virtual folder or file. This is to say, given the texture groups Default, Crops, and Enemies, we would expect to see the following TexturePath vec, in Json:

ViewPath

Viewpaths in the virtual file system created by the Folders in the Yyp, deliminated by /, and with a ViewPathLocation which ends in .yy.

ViewPathLocation

The path component will always end with .yy, even if it describes a virtual folder or file. Given the following Gms2 folder virtual system (not operating system file system):

Yyp

GMS2 project file typings

YypConfig

A description of a Config. Note that Configs form an acyclical graph by their children, so this tree could get quite large.

YypFolder

A YYP Folder. These form a graph, but each path is a full path from the root. Therefore, to create a tree, one must walk from the root to the final destination.

YypIncludedFile
YypMetaData
YypResource

Represents a resource entry in a YYP

Enums

ConstGmFolder
ConstGmIncludedFile
ConstGmProject

Type Definitions

Tags

These are the Tags which can be assigned to nearly anything in the GMS2 editor. Users can add any UTF-8 valid tags.