mirror of
https://github.com/a2x/cs2-dumper.git
synced 2025-04-01 04:35:34 +08:00
Fix mismatched types in C# source gen
This commit is contained in:
parent
ea249e3595
commit
b244f7b292
@ -16,7 +16,11 @@ impl CodeWriter for InterfaceMap {
|
||||
false,
|
||||
|fmt| {
|
||||
for (name, value) in ifaces {
|
||||
writeln!(fmt, "public const nint {} = {:#X};", name, value)?;
|
||||
if *value > i32::MAX as u64 {
|
||||
writeln!(fmt, "public static readonly nint {} = unchecked((nint){:#X});", name, value)?;
|
||||
} else {
|
||||
writeln!(fmt, "public const nint {} = {:#X};", name, value)?;
|
||||
};
|
||||
}
|
||||
|
||||
Ok(())
|
||||
|
@ -41,7 +41,13 @@ impl CodeWriter for SchemaMap {
|
||||
.members
|
||||
.iter()
|
||||
.map(|member| {
|
||||
format!("{} = {:#X}", member.name, member.value)
|
||||
let hex = format!("{:#X}", member.value);
|
||||
let cast = if member.value == -1 {
|
||||
format!("unchecked(({})-1)", type_name)
|
||||
} else {
|
||||
format!("{}", hex)
|
||||
};
|
||||
format!("{} = {}", member.name, cast)
|
||||
})
|
||||
.collect::<Vec<_>>()
|
||||
.join(",\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user