tups: add map kinds from RA2.exe

main
q3k 2022-04-15 01:21:38 +00:00
parent 08e36badd2
commit d8bb1fe7d9
1 changed files with 21 additions and 1 deletions

View File

@ -94,19 +94,39 @@ impl gma::Atom for Color {
#[derive(Debug,GMISerializable)]
pub enum MapKind {
Ambient = 0,
Diffuse = 1,
Specular = 2,
Shine = 3,
ShineStrength = 4,
SelfIllum = 5,
Opacity = 6,
FilterColor = 7,
Bump = 8,
Reflect = 9,
Refract = 10,
Displacement = 11,
Name = 12,
Generic = 13,
}
impl gma::Serializable for MapKind {
fn write<W: io::Write, S: string::ToString>(&self, _name: S, w: &mut gma::WriteStream<W>) -> gma::WriteResult<()> {
match self {
MapKind::Ambient => w.emit("*MAP_AMBIENT"),
MapKind::Diffuse => w.emit("*MAP_DIFFUSE"),
MapKind::Specular => w.emit("*MAP_SPECULAR"),
MapKind::Shine => w.emit("*MAP_SHINE"),
MapKind::ShineStrength => w.emit("*MAP_SHINESTRENGTH"),
MapKind::SelfIllum => w.emit("*MAP_SELFILLUM"),
MapKind::Opacity => w.emit("*MAP_OPACITY"),
MapKind::FilterColor => w.emit("*MAP_FILTERCOLOR"),
MapKind::Bump => w.emit("*MAP_BUMP"),
MapKind::Reflect => w.emit("*MAP_REFLECT"),
MapKind::Refract => w.emit("*MAP_REFRACT"),
MapKind::Displacement => w.emit("*MAP_DISPLACEMENT"),
MapKind::Name => w.emit("*MAP_NAME"),
MapKind::Generic => w.emit("*MAP_GENERIC"),
}
}
}
@ -311,7 +331,7 @@ impl gmi::Serializable for Object {
let (res, check) = match (tlv.tag, tlv.flags) {
(2, 4) => (Object::Geometry(r.read("geometry")?), false),
(4, 2) => (Object::Camera(r.read("camera")?), false),
(5, 3) => (Object::Light(r.read("light")?), false),
(5, 3) => (Object::Light(r.read("light")?), true),
(21, 2) => (Object::AttachmentPoint(r.read("attachmentpoint")?), true),
(30, 2) => (Object::Simulation(r.read("simulation")?), false),
(31, 4) => (Object::RBCollection(r.read("rigidbodycollection")?), true),