Crate yy_typings[−][src]
Expand description
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
Typings associated with Object .yy
files, including typing for Events
and Vk Keycodes.
Typings for Scripts.
Typings for Shaders.
Typings for Sounds.
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.
Typings associated with Texture Groups.
Two utilities which may be useful for downstream crates:
Structs
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
A unqiue Id for audiogroups. Although it appears as if it could support
hierarchies and nesting, audio 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
audiogroups
.
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:
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
Paths on the File System.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
A struct, which implements Serialize and Deserialize, for Gms2 version strings of the form “1.0” or “4.2”. Basically, a bad SemVer.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
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
.
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:
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
This is a bodge to handle the fact that we don’t currently have support for many of the Gms2 yy-files. Eventually, we’d like to support all of them, but downstream crates need to have some basic support until then. For now, this can be used for all top level files, providing the simplest of support.
Viewpaths in the virtual file system created by the Folders in the Yyp,
deliminated by /
, and with a ViewPathLocation which ends in .yy
.\ or in
.yyp
.
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): ```txt
folders/
Sprites/
spr_enemy.yy
spr_player.yy
GMS2 project file typings
A description of a Config. Note that Configs form an acyclical graph by their children, so this tree could get quite large.
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.
Represents a resource entry in a YYP
Enums
Type Definitions
These are the Tags which can be assigned to nearly anything in the GMS2 editor. Users can add any UTF-8 valid tags.