35 lines
938 B
Rust
35 lines
938 B
Rust
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::model::ModPack;
|
|
|
|
#[derive(Debug, Deserialize, Serialize, Clone)]
|
|
#[serde(rename_all = "PascalCase")]
|
|
pub struct SimpleMod {
|
|
pub name: String,
|
|
pub category: String,
|
|
pub full_path: String,
|
|
pub dat_file: String,
|
|
#[serde(default)]
|
|
pub is_default: bool,
|
|
pub mod_offset: usize,
|
|
pub mod_size: usize,
|
|
#[serde(default)]
|
|
pub mod_pack_entry: Option<serde_json::Value>,
|
|
}
|
|
|
|
impl From<Vec<SimpleMod>> for ModPack {
|
|
fn from(mods: Vec<SimpleMod>) -> Self {
|
|
ModPack {
|
|
minimum_framework_version: Default::default(),
|
|
ttmp_version: Default::default(),
|
|
name: "TexTools Mod Pack".into(),
|
|
author: "TexTools Mod Author".into(),
|
|
version: "1.0.0".into(),
|
|
description: None,
|
|
url: None,
|
|
mod_pack_pages: None,
|
|
simple_mods_list: Some(mods),
|
|
}
|
|
}
|
|
}
|