mirror of
https://git.neonteam.dev/amizing/robinsr.git
synced 2025-03-12 03:28:30 -04:00
- move structs inside `sr_tools.rs` into individual file - implement in-game equip handler (relic & lightcone)
57 lines
1.0 KiB
Rust
57 lines
1.0 KiB
Rust
use proto::{MotionInfo, Vector};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::impl_from;
|
|
|
|
// SCENE
|
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
|
pub struct Scene {
|
|
pub plane_id: u32,
|
|
pub floor_id: u32,
|
|
pub entry_id: u32,
|
|
}
|
|
|
|
impl Default for Scene {
|
|
fn default() -> Self {
|
|
Self {
|
|
plane_id: 20411,
|
|
floor_id: 20411001,
|
|
entry_id: 2041101,
|
|
}
|
|
}
|
|
}
|
|
|
|
#[derive(Debug, Serialize, Deserialize, Clone)]
|
|
pub struct Position {
|
|
pub x: i32,
|
|
pub y: i32,
|
|
pub z: i32,
|
|
pub rot_y: i32,
|
|
}
|
|
|
|
impl Default for Position {
|
|
fn default() -> Self {
|
|
Position {
|
|
x: -26968,
|
|
y: 78953,
|
|
z: 14457,
|
|
rot_y: 11858,
|
|
}
|
|
}
|
|
}
|
|
|
|
impl_from!(Position, MotionInfo, |value| {
|
|
MotionInfo {
|
|
rot: Some(Vector {
|
|
x: 0,
|
|
y: value.rot_y,
|
|
z: 0,
|
|
}),
|
|
pos: Some(Vector {
|
|
x: value.x,
|
|
y: value.y,
|
|
z: value.z,
|
|
}),
|
|
}
|
|
});
|