mirror of
https://github.com/a2x/cs2-dumper.git
synced 2025-05-14 01:45:35 +08:00
Write enum member values in hexadecimal
This commit is contained in:
parent
413ae710b1
commit
8b79c3ba8d
@ -73,7 +73,7 @@ impl<'a> CodeGen for Item<'a> {
|
||||
fn to_cs(&self, results: &Results, indent_size: usize) -> Result<String> {
|
||||
match self {
|
||||
Item::Buttons(buttons) => buttons.to_cs(results, indent_size),
|
||||
Item::Interfaces(interfaces) => interfaces.to_cs(results, indent_size),
|
||||
Item::Interfaces(ifaces) => ifaces.to_cs(results, indent_size),
|
||||
Item::Offsets(offsets) => offsets.to_cs(results, indent_size),
|
||||
Item::Schemas(schemas) => schemas.to_cs(results, indent_size),
|
||||
}
|
||||
@ -82,7 +82,7 @@ impl<'a> CodeGen for Item<'a> {
|
||||
fn to_hpp(&self, results: &Results, indent_size: usize) -> Result<String> {
|
||||
match self {
|
||||
Item::Buttons(buttons) => buttons.to_hpp(results, indent_size),
|
||||
Item::Interfaces(interfaces) => interfaces.to_hpp(results, indent_size),
|
||||
Item::Interfaces(ifaces) => ifaces.to_hpp(results, indent_size),
|
||||
Item::Offsets(offsets) => offsets.to_hpp(results, indent_size),
|
||||
Item::Schemas(schemas) => schemas.to_hpp(results, indent_size),
|
||||
}
|
||||
@ -91,7 +91,7 @@ impl<'a> CodeGen for Item<'a> {
|
||||
fn to_json(&self, results: &Results, indent_size: usize) -> Result<String> {
|
||||
match self {
|
||||
Item::Buttons(buttons) => buttons.to_json(results, indent_size),
|
||||
Item::Interfaces(interfaces) => interfaces.to_json(results, indent_size),
|
||||
Item::Interfaces(ifaces) => ifaces.to_json(results, indent_size),
|
||||
Item::Offsets(offsets) => offsets.to_json(results, indent_size),
|
||||
Item::Schemas(schemas) => schemas.to_json(results, indent_size),
|
||||
}
|
||||
@ -100,7 +100,7 @@ impl<'a> CodeGen for Item<'a> {
|
||||
fn to_rs(&self, results: &Results, indent_size: usize) -> Result<String> {
|
||||
match self {
|
||||
Item::Buttons(buttons) => buttons.to_rs(results, indent_size),
|
||||
Item::Interfaces(interfaces) => interfaces.to_rs(results, indent_size),
|
||||
Item::Interfaces(ifaces) => ifaces.to_rs(results, indent_size),
|
||||
Item::Offsets(offsets) => offsets.to_rs(results, indent_size),
|
||||
Item::Schemas(schemas) => schemas.to_rs(results, indent_size),
|
||||
}
|
||||
|
@ -27,10 +27,10 @@ impl CodeGen for SchemaMap {
|
||||
|fmt| {
|
||||
for enum_ in enums {
|
||||
let ty = match enum_.ty.as_str() {
|
||||
"int8" => "sbyte",
|
||||
"int16" => "short",
|
||||
"int32" => "int",
|
||||
"int64" => "long",
|
||||
"uint8" => "byte",
|
||||
"uint16" => "ushort",
|
||||
"uint32" => "uint",
|
||||
"uint64" => "ulong",
|
||||
_ => continue,
|
||||
};
|
||||
|
||||
@ -40,13 +40,13 @@ impl CodeGen for SchemaMap {
|
||||
fmt.block(
|
||||
&format!("public enum {} : {}", sanitize_name(&enum_.name), ty),
|
||||
|fmt| {
|
||||
let members: Vec<_> = enum_
|
||||
let members = enum_
|
||||
.members
|
||||
.iter()
|
||||
.map(|member| {
|
||||
format!("{} = {}", member.name, member.value)
|
||||
format!("{} = {:#X}", member.name, member.value)
|
||||
})
|
||||
.collect()
|
||||
.collect::<Vec<_>>()
|
||||
.join(",\n");
|
||||
|
||||
writeln!(fmt, "{}", members)
|
||||
@ -111,10 +111,10 @@ impl CodeGen for SchemaMap {
|
||||
|fmt| {
|
||||
for enum_ in enums {
|
||||
let ty = match enum_.ty.as_str() {
|
||||
"int8" => "int8_t",
|
||||
"int16" => "int16_t",
|
||||
"int32" => "int32_t",
|
||||
"int64" => "int64_t",
|
||||
"uint8" => "uint8_t",
|
||||
"uint16" => "uint16_t",
|
||||
"uint32" => "uint32_t",
|
||||
"uint64" => "uint64_t",
|
||||
_ => continue,
|
||||
};
|
||||
|
||||
@ -128,13 +128,13 @@ impl CodeGen for SchemaMap {
|
||||
ty
|
||||
),
|
||||
|fmt| {
|
||||
let members: Vec<_> = enum_
|
||||
let members = enum_
|
||||
.members
|
||||
.iter()
|
||||
.map(|member| {
|
||||
format!("{} = {}", member.name, member.value)
|
||||
format!("{} = {:#X}", member.name, member.value)
|
||||
})
|
||||
.collect()
|
||||
.collect::<Vec<_>>()
|
||||
.join(",\n");
|
||||
|
||||
writeln!(fmt, "{}", members)
|
||||
@ -276,10 +276,10 @@ impl CodeGen for SchemaMap {
|
||||
|fmt| {
|
||||
for enum_ in enums {
|
||||
let ty = match enum_.ty.as_str() {
|
||||
"int8" => "i8",
|
||||
"int16" => "i16",
|
||||
"int32" => "i32",
|
||||
"int64" => "i64",
|
||||
"uint8" => "u8",
|
||||
"uint16" => "u16",
|
||||
"uint32" => "u32",
|
||||
"uint64" => "u64",
|
||||
_ => continue,
|
||||
};
|
||||
|
||||
@ -295,13 +295,13 @@ impl CodeGen for SchemaMap {
|
||||
|fmt| {
|
||||
// TODO: Handle the case where multiple members share
|
||||
// the same value.
|
||||
let members: Vec<_> = enum_
|
||||
let members = enum_
|
||||
.members
|
||||
.iter()
|
||||
.map(|member| {
|
||||
format!("{} = {}", member.name, member.value)
|
||||
format!("{} = {:#X}", member.name, member.value)
|
||||
})
|
||||
.collect()
|
||||
.collect::<Vec<_>>()
|
||||
.join(",\n");
|
||||
|
||||
writeln!(fmt, "{}", members)
|
||||
|
@ -23,10 +23,10 @@ impl SchemaEnumInfoData {
|
||||
#[inline]
|
||||
pub fn type_name(&self) -> &str {
|
||||
match self.alignment {
|
||||
1 => "int8",
|
||||
2 => "int16",
|
||||
4 => "int32",
|
||||
8 => "int64",
|
||||
1 => "uint8",
|
||||
2 => "uint16",
|
||||
4 => "uint32",
|
||||
8 => "uint64",
|
||||
_ => "unknown",
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user