Crate yy_typings[−][src]
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 |
script | Typings for Scripts. |
shader | Typings for Shaders. |
sounds | Typings for Sounds. |
sprite_yy | Typings associated with Sprite |
texture_group | Typings associated with Texture Groups. |
utils | Two utilities which may be useful for downstream crates: |
Structs
AnimationCurve | 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. |
AudioGroup | |
AudioGroupId | 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
|
AudioGroupPath | The |
Extension | 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. |
FilesystemPath | Paths on the File System. |
Font | 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. |
Note | 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. |
Path | 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. |
ResourceVersion | A struct, which implements Serialize and Deserialize, for Gms2 version strings of the form “1.0” or “4.2”. Basically, a bad SemVer. |
Room | 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. |
RoomOrderId | |
Sequence | 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. |
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
|
TexturePathLocation | The |
TileSet | 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. |
Timeline | 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. |
ViewPath | Viewpaths in the virtual file system created by the Folders in the Yyp,
deliminated by |
ViewPathLocation | The |
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. |