Crate lvd

Source
Expand description

A crate for working with level data files from the Super Smash Brothers Series.

§Minimal Example

let file = lvd::open("./pickel_world_00.lvd").unwrap();

println!("{:?}", &file.collisions[0].vertices[0]);

file.save("./pickel_world_00_edited.lvd").unwrap();

Structs§

Bounds
The bounds of a given rectangular area. Used for deathzones (blastzones) and camera pan boundaries.
ColFlags
The flags specifying certain aspects of the collision behavior (whether the collision is rigged to an animated bone, whether the platform can be dropped through, etc.)
Collision
A single collision in the level. Includes shape, ledges, collision material, flags about the collision properties, and all other properties of the collision.
CollisionCliff
Data describing grabbable ledges, internally called “cliffs”, present in this collision.
CollisionMaterial
A type representing the properties of a given collision segment which affects the physics, gameplay effects and sounds used for the segment.
DamageShape
A hurtbox present as a part of the level itself. An example being Luigi’s Mansion’s pillar hurtboxes that allow for parts of the stage to break.
GeneralShape
Shape data that can be used for various forms of “where is a shape located on the stage”
ItemSpawner
LineFlags
The various properties of a given collision segment that affect gameplay in non-physics manner, such as whether it is breakable or whether wall clings work on the given segment.
LvdEntry
The generic object data all entries in an LVD file have
LvdFile
The top-level structure representing the LVD file containing all the sections included within it.
Point
A generic location in the level that can be accessed by the specialized level code. Also used for things like points on the stage that character mechanics interact with (usually final smashes).
PokemonTrainerPlatform
The location on the stage where Pokemon Trainers can float on a cute little platform while watching their pokemon battle to the death. Alternative to PokemonTrainerRange, which utilizes existing models to have the trainers run “on” the stage.
PokemonTrainerRange
The area of the stage where the Pokemon Trainer can run when attempting to follow the player-controlled pokemon characters. Alternative to PokemonTrainerPlatform, which instead utilizes flying platforms due to not having a good location on the stage itself for them.
Section
A generic list of items of the same type grouped into a section. Sections in LVD come in a specific order for which type is which.
Spawn
A location for a spawn or respawn point
UnknownEntry
Your guess is as good as mine. If you know what this is submit a PR
UnsupportedSection
A generic type for a section which isn’t supported. Submit a PR to add support for any missing sections.
Vector2
A 2d point, size, or direction
Vector3
A 3d point, size, or direction

Enums§

GroundCollAttr
The type of a given ground collision (whether it is ice, wood, rock, wood, metal, etc)
LvdShape
A frequently-reused shape type for being able to describe the shape of various objects in LVD files.

Functions§

open
Read and parse an LVD from a file at a given path