fix resources
This commit is contained in:
@@ -10,13 +10,14 @@ pub struct LevelGroup {
|
||||
pub group_guid: String,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "LoadSide")]
|
||||
pub load_side: String,
|
||||
pub load_side: LoadSide,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "LoadOnInitial")]
|
||||
pub load_on_initial: bool,
|
||||
|
||||
// #[serde(rename = "AnchorList")]
|
||||
// pub anchor_list: Vec<LevelAnchor>,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "AnchorList")]
|
||||
pub anchor_list: Vec<LevelAnchor>,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "MonsterList")]
|
||||
pub monster_list: Vec<LevelMonster>,
|
||||
@@ -32,7 +33,7 @@ pub struct LevelGroup {
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct LevelProp {
|
||||
#[serde(rename = "ID")]
|
||||
pub id: i64,
|
||||
pub id: u32, // need
|
||||
#[serde(default)]
|
||||
#[serde(rename = "Category")]
|
||||
pub category: String,
|
||||
@@ -41,27 +42,30 @@ pub struct LevelProp {
|
||||
pub group_name: String,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "LoadSide")]
|
||||
pub load_side: String,
|
||||
pub load_side: Option<LoadSide>, // need
|
||||
#[serde(default)]
|
||||
#[serde(rename = "PosX")]
|
||||
pub pos_x: f64,
|
||||
pub pos_x: f64, // n
|
||||
#[serde(default)]
|
||||
#[serde(rename = "PosY")]
|
||||
pub pos_y: f64,
|
||||
pub pos_y: f64, // n
|
||||
#[serde(default)]
|
||||
#[serde(rename = "PosZ")]
|
||||
pub pos_z: f64,
|
||||
pub pos_z: f64, // n
|
||||
#[serde(default)]
|
||||
#[serde(rename = "RotY")]
|
||||
pub rot_y: f64,
|
||||
pub rot_y: f64, // n
|
||||
#[serde(rename = "PropID")]
|
||||
pub prop_id: u32,
|
||||
pub prop_id: u32, // n
|
||||
#[serde(rename = "AnchorID")]
|
||||
pub anchor_id: Option<u32>,
|
||||
pub anchor_id: Option<u32>, // n
|
||||
#[serde(rename = "AnchorGroupID")]
|
||||
pub anchor_group_id: Option<u32>,
|
||||
pub anchor_group_id: Option<u32>, // n
|
||||
#[serde(rename = "MappingInfoID")]
|
||||
pub mapping_info_id: Option<u32>,
|
||||
pub mapping_info_id: Option<u32>, // n
|
||||
|
||||
#[serde(rename = "InitLevelGraph")]
|
||||
pub init_level_graph: Option<String>,
|
||||
|
||||
#[serde(default)]
|
||||
#[serde(rename = "State")]
|
||||
@@ -73,17 +77,24 @@ pub struct LevelProp {
|
||||
pub group_id: u32,
|
||||
#[serde(rename = "IsDelete")]
|
||||
#[serde(default)]
|
||||
pub is_delete: bool,
|
||||
pub is_delete: bool, // n
|
||||
#[serde(rename = "IsClientOnly")]
|
||||
#[serde(default)]
|
||||
pub client_only: bool,
|
||||
pub client_only: bool, // n
|
||||
|
||||
// #[serde(default)]
|
||||
// pub is_door: bool,
|
||||
// #[serde(default)]
|
||||
// pub is_chest: bool,
|
||||
#[serde(default)]
|
||||
pub __test_field: String,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct LevelAnchor {
|
||||
#[serde(rename = "ID")]
|
||||
pub id: i64,
|
||||
pub id: u32,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "PosX")]
|
||||
pub pos_x: f64,
|
||||
@@ -104,7 +115,7 @@ pub struct LevelAnchor {
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct LevelNPC {
|
||||
#[serde(rename = "ID")]
|
||||
pub id: i64,
|
||||
pub id: u32,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "PosX")]
|
||||
pub pos_x: f64,
|
||||
@@ -120,16 +131,22 @@ pub struct LevelNPC {
|
||||
#[serde(rename = "RotY")]
|
||||
pub rot_y: f64,
|
||||
#[serde(rename = "NPCID")]
|
||||
pub npcid: i64,
|
||||
pub npcid: u32,
|
||||
#[serde(default)]
|
||||
pub group_id: u32,
|
||||
#[serde(rename = "IsDelete")]
|
||||
#[serde(default)]
|
||||
pub is_delete: bool,
|
||||
#[serde(rename = "IsClientOnly")]
|
||||
#[serde(default)]
|
||||
pub client_only: bool,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct LevelMonster {
|
||||
#[serde(rename = "ID")]
|
||||
pub id: i64,
|
||||
pub id: u32,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "RotY")]
|
||||
pub rot_y: f64,
|
||||
@@ -143,12 +160,44 @@ pub struct LevelMonster {
|
||||
#[serde(rename = "PosZ")]
|
||||
pub pos_z: f64,
|
||||
#[serde(rename = "NPCMonsterID")]
|
||||
pub npcmonster_id: i64,
|
||||
pub npcmonster_id: u32,
|
||||
#[serde(default)]
|
||||
#[serde(rename = "EventID")]
|
||||
pub event_id: i64,
|
||||
pub event_id: u32,
|
||||
#[serde(default)]
|
||||
pub group_id: u32,
|
||||
#[serde(rename = "IsDelete")]
|
||||
#[serde(default)]
|
||||
pub is_delete: bool,
|
||||
#[serde(rename = "IsClientOnly")]
|
||||
#[serde(default)]
|
||||
pub client_only: bool,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Copy)]
|
||||
pub enum LoadSide {
|
||||
Client = 0,
|
||||
Server = 1,
|
||||
Unk = 2,
|
||||
}
|
||||
|
||||
impl Default for LoadSide {
|
||||
fn default() -> Self {
|
||||
Self::Client
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct LevelFloor {
|
||||
#[serde(rename = "FloorID")]
|
||||
pub floor_id: u32,
|
||||
#[serde(rename = "FloorName")]
|
||||
pub floor_name: String,
|
||||
#[serde(rename = "StartGroupID")]
|
||||
pub start_group_id: u32,
|
||||
#[serde(rename = "StartAnchorID")]
|
||||
pub start_anchor_id: u32,
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
@@ -272,10 +321,14 @@ pub type StringMap<T> = HashMap<String, T>;
|
||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||
pub struct SimpleLevelGroup {
|
||||
pub teleports: IntMap<LevelProp>,
|
||||
pub group_items: IntMap<LevelGroupItem>,
|
||||
}
|
||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
||||
pub struct LevelGroupItem {
|
||||
pub props: Vec<LevelProp>,
|
||||
pub npcs: Vec<LevelNPC>,
|
||||
pub monsters: Vec<LevelMonster>,
|
||||
pub group_ids: Vec<u32>,
|
||||
pub anchors: HashMap<u32, LevelAnchor>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
@@ -285,6 +338,7 @@ pub struct GameResources {
|
||||
pub level_group: StringMap<SimpleLevelGroup>,
|
||||
pub maze_prop: IntMap<MazeProp>,
|
||||
pub maze_plane: IntMap<MazePlane>,
|
||||
pub level_floor: StringMap<LevelFloor>,
|
||||
}
|
||||
|
||||
impl GameResources {
|
||||
|
||||
Reference in New Issue
Block a user