mirror of
https://github.com/a2x/cs2-dumper.git
synced 2025-10-07 22:50:03 +08:00
Print field types
This commit is contained in:
@@ -22,14 +22,25 @@ impl FileBuilder for CppBuilder {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn write_variable(&mut self, output: &mut dyn Write, name: &str, value: usize) -> Result<()> {
|
||||
write!(
|
||||
output,
|
||||
" constexpr std::ptrdiff_t {} = {:#X};\n",
|
||||
name, value
|
||||
)?;
|
||||
|
||||
Ok(())
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
comment: Option<&str>,
|
||||
) -> Result<()> {
|
||||
match comment {
|
||||
Some(comment) => write!(
|
||||
output,
|
||||
" constexpr std::ptrdiff_t {} = {:#X}; // {}\n",
|
||||
name, value, comment
|
||||
),
|
||||
None => write!(
|
||||
output,
|
||||
" constexpr std::ptrdiff_t {} = {:#X};\n",
|
||||
name, value
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
fn write_closure(&mut self, output: &mut dyn Write, eof: bool) -> Result<()> {
|
||||
|
@@ -19,10 +19,21 @@ impl FileBuilder for CSharpBuilder {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn write_variable(&mut self, output: &mut dyn Write, name: &str, value: usize) -> Result<()> {
|
||||
write!(output, " public const nint {} = {:#X};\n", name, value)?;
|
||||
|
||||
Ok(())
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
comment: Option<&str>,
|
||||
) -> Result<()> {
|
||||
match comment {
|
||||
Some(comment) => write!(
|
||||
output,
|
||||
" public const nint {} = {:#X}; // {}\n",
|
||||
name, value, comment
|
||||
),
|
||||
None => write!(output, " public const nint {} = {:#X};\n", name, value),
|
||||
}
|
||||
}
|
||||
|
||||
fn write_closure(&mut self, output: &mut dyn Write, eof: bool) -> Result<()> {
|
||||
|
@@ -2,8 +2,18 @@ use std::io::{Result, Write};
|
||||
|
||||
pub trait FileBuilder {
|
||||
fn extension(&mut self) -> &str;
|
||||
|
||||
fn write_top_level(&mut self, output: &mut dyn Write) -> Result<()>;
|
||||
|
||||
fn write_namespace(&mut self, output: &mut dyn Write, name: &str) -> Result<()>;
|
||||
fn write_variable(&mut self, output: &mut dyn Write, name: &str, value: usize) -> Result<()>;
|
||||
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
comment: Option<&str>,
|
||||
) -> Result<()>;
|
||||
|
||||
fn write_closure(&mut self, output: &mut dyn Write, eof: bool) -> Result<()>;
|
||||
}
|
||||
|
@@ -25,7 +25,13 @@ impl FileBuilder for JsonFileBuilder {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn write_variable(&mut self, _output: &mut dyn Write, name: &str, value: usize) -> Result<()> {
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
_output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
_comment: Option<&str>,
|
||||
) -> Result<()> {
|
||||
if let Some(json_as_map) = self.json.as_object_mut() {
|
||||
let namespace_entry = json_as_map
|
||||
.entry(self.namespace.clone())
|
||||
|
@@ -47,15 +47,25 @@ impl FileBuilder for FileBuilderEnum {
|
||||
}
|
||||
}
|
||||
|
||||
fn write_variable(&mut self, output: &mut dyn Write, name: &str, value: usize) -> Result<()> {
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
comment: Option<&str>,
|
||||
) -> Result<()> {
|
||||
match self {
|
||||
FileBuilderEnum::CppBuilder(builder) => builder.write_variable(output, name, value),
|
||||
FileBuilderEnum::CSharpBuilder(builder) => builder.write_variable(output, name, value),
|
||||
FileBuilderEnum::CppBuilder(builder) => {
|
||||
builder.write_variable(output, name, value, comment)
|
||||
}
|
||||
FileBuilderEnum::CSharpBuilder(builder) => {
|
||||
builder.write_variable(output, name, value, comment)
|
||||
}
|
||||
FileBuilderEnum::JsonFileBuilder(builder) => {
|
||||
builder.write_variable(output, name, value)
|
||||
builder.write_variable(output, name, value, comment)
|
||||
}
|
||||
FileBuilderEnum::RustFileBuilder(builder) => {
|
||||
builder.write_variable(output, name, value)
|
||||
builder.write_variable(output, name, value, comment)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -24,10 +24,21 @@ impl FileBuilder for RustFileBuilder {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn write_variable(&mut self, output: &mut dyn Write, name: &str, value: usize) -> Result<()> {
|
||||
write!(output, " pub const {}: usize = {:#X};\n", name, value)?;
|
||||
|
||||
Ok(())
|
||||
fn write_variable(
|
||||
&mut self,
|
||||
output: &mut dyn Write,
|
||||
name: &str,
|
||||
value: usize,
|
||||
comment: Option<&str>,
|
||||
) -> Result<()> {
|
||||
match comment {
|
||||
Some(comment) => write!(
|
||||
output,
|
||||
" pub const {}: usize = {:#X}; // {}\n",
|
||||
name, value, comment
|
||||
),
|
||||
None => write!(output, " pub const {}: usize = {:#X};\n", name, value),
|
||||
}
|
||||
}
|
||||
|
||||
fn write_closure(&mut self, output: &mut dyn Write, eof: bool) -> Result<()> {
|
||||
|
Reference in New Issue
Block a user