chore: Turn project structure into workspace
This commit is contained in:
parent
d500b01709
commit
987a6ade9b
31 changed files with 124 additions and 57 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "lib/serde_sjson"]
|
||||||
|
path = lib/serde_sjson
|
||||||
|
url = git@git.sclu1034.dev:lucas/serde_sjson.git
|
29
Cargo.lock
generated
29
Cargo.lock
generated
|
@ -190,7 +190,9 @@ dependencies = [
|
||||||
"libloading",
|
"libloading",
|
||||||
"nanorand",
|
"nanorand",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
|
"sdk",
|
||||||
"serde",
|
"serde",
|
||||||
|
"serde_sjson",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-stream",
|
"tokio-stream",
|
||||||
|
@ -589,6 +591,26 @@ version = "1.0.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
|
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sdk"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"color-eyre",
|
||||||
|
"csv-async",
|
||||||
|
"futures",
|
||||||
|
"futures-util",
|
||||||
|
"glob",
|
||||||
|
"libloading",
|
||||||
|
"nanorand",
|
||||||
|
"pin-project-lite",
|
||||||
|
"serde",
|
||||||
|
"serde_sjson",
|
||||||
|
"tokio",
|
||||||
|
"tokio-stream",
|
||||||
|
"tracing",
|
||||||
|
"tracing-error",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.147"
|
version = "1.0.147"
|
||||||
|
@ -609,6 +631,13 @@ dependencies = [
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_sjson"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sharded-slab"
|
name = "sharded-slab"
|
||||||
version = "0.1.4"
|
version = "0.1.4"
|
||||||
|
|
27
Cargo.toml
27
Cargo.toml
|
@ -1,27 +1,6 @@
|
||||||
[package]
|
[workspace]
|
||||||
name = "dtmt"
|
resolver = "2"
|
||||||
version = "0.1.0"
|
members = ["crates/*", "lib/*"]
|
||||||
edition = "2021"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
clap = { version = "4.0.15", features = ["color", "derive", "std", "cargo", "unicode"] }
|
|
||||||
color-eyre = "0.6.2"
|
|
||||||
csv-async = { version = "1.2.4", features = ["tokio", "serde"] }
|
|
||||||
futures = "0.3.25"
|
|
||||||
futures-util = "0.3.24"
|
|
||||||
glob = "0.3.0"
|
|
||||||
libloading = "0.7.4"
|
|
||||||
nanorand = "0.7.0"
|
|
||||||
pin-project-lite = "0.2.9"
|
|
||||||
serde = { version = "1.0.147", features = ["derive"] }
|
|
||||||
tokio = { version = "1.21.2", features = ["rt-multi-thread", "fs", "process", "macros", "tracing", "io-util", "io-std"] }
|
|
||||||
tokio-stream = { version = "0.1.11", features = ["fs", "io-util"] }
|
|
||||||
tracing = { version = "0.1.37", features = ["async-await"] }
|
|
||||||
tracing-error = "0.2.0"
|
|
||||||
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
tempfile = "3.3.0"
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
strip = "debuginfo"
|
strip = "debuginfo"
|
||||||
|
|
26
crates/dtmt/Cargo.toml
Normal file
26
crates/dtmt/Cargo.toml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
[package]
|
||||||
|
name = "dtmt"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
clap = { version = "4.0.15", features = ["color", "derive", "std", "cargo", "unicode"] }
|
||||||
|
color-eyre = "0.6.2"
|
||||||
|
csv-async = { version = "1.2.4", features = ["tokio", "serde"] }
|
||||||
|
sdk = { path = "../../lib/sdk", version = "0.1.0" }
|
||||||
|
futures = "0.3.25"
|
||||||
|
futures-util = "0.3.24"
|
||||||
|
glob = "0.3.0"
|
||||||
|
libloading = "0.7.4"
|
||||||
|
nanorand = "0.7.0"
|
||||||
|
pin-project-lite = "0.2.9"
|
||||||
|
serde = { version = "1.0.147", features = ["derive"] }
|
||||||
|
serde_sjson = { path = "../../lib/serde_sjson", version = "0.1.0" }
|
||||||
|
tokio = { version = "1.21.2", features = ["rt-multi-thread", "fs", "process", "macros", "tracing", "io-util", "io-std"] }
|
||||||
|
tokio-stream = { version = "0.1.11", features = ["fs", "io-util"] }
|
||||||
|
tracing = { version = "0.1.37", features = ["async-await"] }
|
||||||
|
tracing-error = "0.2.0"
|
||||||
|
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
tempfile = "3.3.0"
|
|
@ -19,6 +19,6 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(_ctx: Arc<RwLock<dtmt::Context>>, _matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(_ctx: Arc<RwLock<sdk::Context>>, _matches: &ArgMatches) -> Result<()> {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
|
@ -5,8 +5,8 @@ use clap::{value_parser, Arg, ArgAction, ArgMatches, Command};
|
||||||
use color_eyre::eyre::{self, Result};
|
use color_eyre::eyre::{self, Result};
|
||||||
use color_eyre::{Help, SectionExt};
|
use color_eyre::{Help, SectionExt};
|
||||||
|
|
||||||
use dtmt::decompress;
|
|
||||||
use futures::future::try_join_all;
|
use futures::future::try_join_all;
|
||||||
|
use sdk::decompress;
|
||||||
use tokio::fs::{self, File};
|
use tokio::fs::{self, File};
|
||||||
use tokio::io::BufReader;
|
use tokio::io::BufReader;
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
|
@ -44,7 +44,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
|
|
||||||
#[tracing::instrument(skip(ctx))]
|
#[tracing::instrument(skip(ctx))]
|
||||||
async fn decompress_bundle<P1, P2>(
|
async fn decompress_bundle<P1, P2>(
|
||||||
ctx: Arc<RwLock<dtmt::Context>>,
|
ctx: Arc<RwLock<sdk::Context>>,
|
||||||
bundle: P1,
|
bundle: P1,
|
||||||
destination: P2,
|
destination: P2,
|
||||||
) -> Result<()>
|
) -> Result<()>
|
||||||
|
@ -60,7 +60,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
let bundles = matches
|
let bundles = matches
|
||||||
.get_many::<PathBuf>("bundle")
|
.get_many::<PathBuf>("bundle")
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
|
@ -6,9 +6,9 @@ use color_eyre::{
|
||||||
eyre::{self, Context, Result},
|
eyre::{self, Context, Result},
|
||||||
Help, Report, SectionExt,
|
Help, Report, SectionExt,
|
||||||
};
|
};
|
||||||
use dtmt::Bundle;
|
|
||||||
use futures::future::try_join_all;
|
use futures::future::try_join_all;
|
||||||
use glob::Pattern;
|
use glob::Pattern;
|
||||||
|
use sdk::Bundle;
|
||||||
use tokio::{fs, sync::RwLock};
|
use tokio::{fs, sync::RwLock};
|
||||||
|
|
||||||
use crate::cmd::util::collect_bundle_paths;
|
use crate::cmd::util::collect_bundle_paths;
|
||||||
|
@ -117,7 +117,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
{
|
{
|
||||||
let ljd_bin = matches
|
let ljd_bin = matches
|
||||||
.get_one::<String>("ljd")
|
.get_one::<String>("ljd")
|
|
@ -5,7 +5,7 @@ use color_eyre::{
|
||||||
eyre::{self, Context, Result},
|
eyre::{self, Context, Result},
|
||||||
Help,
|
Help,
|
||||||
};
|
};
|
||||||
use dtmt::Bundle;
|
use sdk::Bundle;
|
||||||
use tokio::{fs::File, io::AsyncReadExt, sync::RwLock};
|
use tokio::{fs::File, io::AsyncReadExt, sync::RwLock};
|
||||||
|
|
||||||
pub(crate) fn command_definition() -> Command {
|
pub(crate) fn command_definition() -> Command {
|
||||||
|
@ -42,7 +42,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
let bundle_path = matches
|
let bundle_path = matches
|
||||||
.get_one::<PathBuf>("bundle")
|
.get_one::<PathBuf>("bundle")
|
||||||
.expect("required parameter not found");
|
.expect("required parameter not found");
|
|
@ -4,8 +4,8 @@ use std::sync::Arc;
|
||||||
use clap::{value_parser, Arg, ArgAction, ArgMatches, Command};
|
use clap::{value_parser, Arg, ArgAction, ArgMatches, Command};
|
||||||
use color_eyre::eyre::{self, Result};
|
use color_eyre::eyre::{self, Result};
|
||||||
use color_eyre::{Help, SectionExt};
|
use color_eyre::{Help, SectionExt};
|
||||||
use dtmt::Bundle;
|
|
||||||
use futures::future::try_join_all;
|
use futures::future::try_join_all;
|
||||||
|
use sdk::Bundle;
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
|
|
||||||
use crate::cmd::util::collect_bundle_paths;
|
use crate::cmd::util::collect_bundle_paths;
|
||||||
|
@ -32,7 +32,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
let bundles = matches
|
let bundles = matches
|
||||||
.get_many::<PathBuf>("bundle")
|
.get_many::<PathBuf>("bundle")
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
|
@ -4,7 +4,7 @@ use clap::{Arg, ArgMatches, Command};
|
||||||
use color_eyre::eyre::Result;
|
use color_eyre::eyre::Result;
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
|
|
||||||
use dtmt::Oodle;
|
use sdk::Oodle;
|
||||||
|
|
||||||
mod decompress;
|
mod decompress;
|
||||||
mod extract;
|
mod extract;
|
||||||
|
@ -39,7 +39,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
if let Some(name) = matches.get_one::<String>("oodle") {
|
if let Some(name) = matches.get_one::<String>("oodle") {
|
||||||
let oodle = Oodle::new(name)?;
|
let oodle = Oodle::new(name)?;
|
||||||
let mut ctx = ctx.write().await;
|
let mut ctx = ctx.write().await;
|
|
@ -1,16 +1,32 @@
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use clap::{value_parser, Arg, ArgAction, ArgMatches, Command};
|
use clap::{value_parser, Arg, ArgAction, ArgMatches, Command, ValueEnum};
|
||||||
use color_eyre::eyre::{Context, Result};
|
use color_eyre::eyre::{Context, Result};
|
||||||
use color_eyre::{Help, SectionExt};
|
use color_eyre::{Help, SectionExt};
|
||||||
use dtmt::murmur::HashGroup;
|
|
||||||
use tokio::fs::File;
|
use tokio::fs::File;
|
||||||
use tokio::io::{AsyncBufReadExt, BufReader};
|
use tokio::io::{AsyncBufReadExt, BufReader};
|
||||||
use tokio::sync::RwLock;
|
use tokio::sync::RwLock;
|
||||||
use tokio_stream::wrappers::LinesStream;
|
use tokio_stream::wrappers::LinesStream;
|
||||||
use tokio_stream::StreamExt;
|
use tokio_stream::StreamExt;
|
||||||
|
|
||||||
|
#[derive(Copy, Clone, PartialEq, ValueEnum)]
|
||||||
|
pub enum HashGroup {
|
||||||
|
Filename,
|
||||||
|
Filetype,
|
||||||
|
Other,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<HashGroup> for sdk::murmur::HashGroup {
|
||||||
|
fn from(value: HashGroup) -> Self {
|
||||||
|
match value {
|
||||||
|
HashGroup::Filename => sdk::murmur::HashGroup::Filename,
|
||||||
|
HashGroup::Filetype => sdk::murmur::HashGroup::Filetype,
|
||||||
|
HashGroup::Other => sdk::murmur::HashGroup::Other,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub(crate) fn command_definition() -> Command {
|
pub(crate) fn command_definition() -> Command {
|
||||||
Command::new("dictionary")
|
Command::new("dictionary")
|
||||||
.about("Manipulate a hash dictionary file.")
|
.about("Manipulate a hash dictionary file.")
|
||||||
|
@ -59,7 +75,7 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(ctx: Arc<RwLock<sdk::Context>>, matches: &ArgMatches) -> Result<()> {
|
||||||
match matches.subcommand() {
|
match matches.subcommand() {
|
||||||
Some(("lookup", sub_matches)) => {
|
Some(("lookup", sub_matches)) => {
|
||||||
let hash = sub_matches
|
let hash = sub_matches
|
||||||
|
@ -72,7 +88,7 @@ pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -
|
||||||
|
|
||||||
let ctx = ctx.read().await;
|
let ctx = ctx.read().await;
|
||||||
for group in groups {
|
for group in groups {
|
||||||
let value = ctx.lookup_hash(*hash, *group);
|
let value = ctx.lookup_hash(*hash, (*group).into());
|
||||||
println!("{}", value);
|
println!("{}", value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +114,7 @@ pub(crate) async fn run(ctx: Arc<RwLock<dtmt::Context>>, matches: &ArgMatches) -
|
||||||
{
|
{
|
||||||
let mut ctx = ctx.write().await;
|
let mut ctx = ctx.write().await;
|
||||||
for line in lines.into_iter() {
|
for line in lines.into_iter() {
|
||||||
ctx.lookup.add(line?, *group);
|
ctx.lookup.add(line?, (*group).into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,6 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(_ctx: Arc<RwLock<dtmt::Context>>, _matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(_ctx: Arc<RwLock<sdk::Context>>, _matches: &ArgMatches) -> Result<()> {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
|
@ -17,6 +17,6 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(_ctx: Arc<RwLock<dtmt::Context>>, _matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(_ctx: Arc<RwLock<sdk::Context>>, _matches: &ArgMatches) -> Result<()> {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
|
@ -21,6 +21,6 @@ pub(crate) fn command_definition() -> Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tracing::instrument(skip_all)]
|
#[tracing::instrument(skip_all)]
|
||||||
pub(crate) async fn run(_ctx: Arc<RwLock<dtmt::Context>>, _matches: &ArgMatches) -> Result<()> {
|
pub(crate) async fn run(_ctx: Arc<RwLock<sdk::Context>>, _matches: &ArgMatches) -> Result<()> {
|
||||||
unimplemented!()
|
unimplemented!()
|
||||||
}
|
}
|
|
@ -65,7 +65,7 @@ async fn main() -> Result<()> {
|
||||||
.init();
|
.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
let ctx = dtmt::Context::new();
|
let ctx = sdk::Context::new();
|
||||||
let ctx = Arc::new(RwLock::new(ctx));
|
let ctx = Arc::new(RwLock::new(ctx));
|
||||||
|
|
||||||
{
|
{
|
20
lib/sdk/Cargo.toml
Normal file
20
lib/sdk/Cargo.toml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
[package]
|
||||||
|
name = "sdk"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
color-eyre = "0.6.2"
|
||||||
|
csv-async = { version = "1.2.4", features = ["tokio", "serde"] }
|
||||||
|
futures = "0.3.25"
|
||||||
|
futures-util = "0.3.24"
|
||||||
|
glob = "0.3.0"
|
||||||
|
libloading = "0.7.4"
|
||||||
|
nanorand = "0.7.0"
|
||||||
|
pin-project-lite = "0.2.9"
|
||||||
|
serde = { version = "1.0.147", features = ["derive"] }
|
||||||
|
serde_sjson = { path = "../../lib/serde_sjson", version = "0.1.0" }
|
||||||
|
tokio = { version = "1.21.2", features = ["rt-multi-thread", "fs", "process", "macros", "tracing", "io-util", "io-std"] }
|
||||||
|
tokio-stream = { version = "0.1.11", features = ["fs", "io-util"] }
|
||||||
|
tracing = { version = "0.1.37", features = ["async-await"] }
|
||||||
|
tracing-error = "0.2.0"
|
|
@ -1,4 +1,3 @@
|
||||||
use clap::ValueEnum;
|
|
||||||
use color_eyre::{eyre::Context, Help, Result, SectionExt};
|
use color_eyre::{eyre::Context, Help, Result, SectionExt};
|
||||||
use csv_async::{AsyncDeserializer, AsyncSerializer};
|
use csv_async::{AsyncDeserializer, AsyncSerializer};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
@ -7,7 +6,7 @@ use tokio_stream::StreamExt;
|
||||||
|
|
||||||
use super::{murmurhash64, Murmur32, Murmur64, SEED};
|
use super::{murmurhash64, Murmur32, Murmur64, SEED};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Deserialize, PartialEq, Serialize, ValueEnum)]
|
#[derive(Copy, Clone, Deserialize, PartialEq, Serialize)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub enum HashGroup {
|
pub enum HashGroup {
|
||||||
Filename,
|
Filename,
|
|
@ -1,8 +1,6 @@
|
||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
use core::ffi::{c_char, c_int, c_size_t, c_ulonglong, c_void};
|
use core::ffi::{c_char, c_int, c_size_t, c_ulonglong, c_void};
|
||||||
|
|
||||||
use clap::ValueEnum;
|
|
||||||
|
|
||||||
// Type definitions taken from Unreal Engine's `oodle2.h`
|
// Type definitions taken from Unreal Engine's `oodle2.h`
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
|
@ -44,19 +42,18 @@ impl From<bool> for OodleLZ_CheckCRC {
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
#[derive(Clone, Copy, Debug, ValueEnum)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub enum OodleLZ_Verbosity {
|
pub enum OodleLZ_Verbosity {
|
||||||
None = 0,
|
None = 0,
|
||||||
Minimal = 1,
|
Minimal = 1,
|
||||||
Some = 2,
|
Some = 2,
|
||||||
Lots = 3,
|
Lots = 3,
|
||||||
#[clap(hide = true)]
|
|
||||||
Force32 = 0x40000000,
|
Force32 = 0x40000000,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
#[derive(Clone, Copy, Debug, ValueEnum)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub enum OodleLZ_Decode_ThreadPhase {
|
pub enum OodleLZ_Decode_ThreadPhase {
|
||||||
Phase1 = 1,
|
Phase1 = 1,
|
||||||
Phase2 = 2,
|
Phase2 = 2,
|
||||||
|
@ -69,9 +66,8 @@ impl OodleLZ_Decode_ThreadPhase {
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
#[derive(Clone, Copy, Debug, ValueEnum)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub enum OodleLZ_Compressor {
|
pub enum OodleLZ_Compressor {
|
||||||
#[clap(hide = true)]
|
|
||||||
Invalid = -1,
|
Invalid = -1,
|
||||||
// None = memcpy, pass through uncompressed bytes
|
// None = memcpy, pass through uncompressed bytes
|
||||||
None = 3,
|
None = 3,
|
||||||
|
@ -97,13 +93,12 @@ pub enum OodleLZ_Compressor {
|
||||||
Lzblw = 5,
|
Lzblw = 5,
|
||||||
Lza = 6,
|
Lza = 6,
|
||||||
Count = 14,
|
Count = 14,
|
||||||
#[clap(hide = true)]
|
|
||||||
Force32 = 0x40000000,
|
Force32 = 0x40000000,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
#[derive(Clone, Copy, Debug, ValueEnum)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub enum OodleLZ_CompressionLevel {
|
pub enum OodleLZ_CompressionLevel {
|
||||||
// don't compress, just copy raw bytes
|
// don't compress, just copy raw bytes
|
||||||
None = 0,
|
None = 0,
|
||||||
|
@ -133,7 +128,6 @@ pub enum OodleLZ_CompressionLevel {
|
||||||
HyperFast3 = -3,
|
HyperFast3 = -3,
|
||||||
// fastest, less compression
|
// fastest, less compression
|
||||||
HyperFast4 = -4,
|
HyperFast4 = -4,
|
||||||
#[clap(hide = true)]
|
|
||||||
Force32 = 0x40000000,
|
Force32 = 0x40000000,
|
||||||
}
|
}
|
||||||
|
|
1
lib/serde_sjson
Submodule
1
lib/serde_sjson
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b53949d5df34f3407e09cdc21da426e64b976832
|
Loading…
Add table
Reference in a new issue