Game update (14005)

This commit is contained in:
a2x
2024-04-30 09:03:45 +10:00
parent 1b85d65822
commit 8dc027007e
82 changed files with 1805 additions and 1991 deletions

View File

@@ -9,7 +9,7 @@ use skidscan_macros::signature;
use crate::error::{Error, Result};
use crate::source2::KeyButton;
#[derive(Debug, Deserialize, Serialize)]
#[derive(Deserialize, Serialize)]
pub struct Button {
pub name: String,
pub value: u32,
@@ -56,7 +56,6 @@ fn read_buttons(
cur_button = button.next;
}
// Sort buttons by name.
buttons.sort_unstable_by(|a, b| a.name.cmp(&b.name));
Ok(buttons)

View File

@@ -13,7 +13,7 @@ use crate::source2::InterfaceReg;
pub type InterfaceMap = BTreeMap<String, Vec<Interface>>;
#[derive(Debug, Deserialize, Serialize)]
#[derive(Deserialize, Serialize)]
pub struct Interface {
pub name: String,
pub value: u32,
@@ -50,6 +50,7 @@ fn read_interfaces(
while !cur_reg.is_null() {
let reg = cur_reg.read(process)?;
let name = reg.name.read_string(process)?.to_string();
let value = (reg.create_fn.address() - module.base) as u32;
debug!(
@@ -65,7 +66,6 @@ fn read_interfaces(
cur_reg = reg.next;
}
// Sort interfaces by name.
ifaces.sort_unstable_by(|a, b| a.name.cmp(&b.name));
Ok(ifaces)

View File

@@ -12,7 +12,6 @@ mod interfaces;
mod offsets;
mod schemas;
#[derive(Debug)]
pub struct AnalysisResult {
pub buttons: Vec<Button>,
pub interfaces: InterfaceMap,

View File

@@ -13,7 +13,7 @@ use crate::error::{Error, Result};
pub type OffsetMap = BTreeMap<String, Vec<Offset>>;
#[derive(Debug, Deserialize, Serialize)]
#[derive(Deserialize, Serialize)]
pub struct Offset {
pub name: String,
pub value: u32,

View File

@@ -14,14 +14,14 @@ use crate::source2::*;
pub type SchemaMap = BTreeMap<String, (Vec<Class>, Vec<Enum>)>;
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub enum ClassMetadata {
Unknown { name: String },
NetworkChangeCallback { name: String },
NetworkVarNames { name: String, type_name: String },
}
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub struct Class {
pub name: String,
pub module_name: String,
@@ -30,14 +30,14 @@ pub struct Class {
pub fields: Vec<ClassField>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub struct ClassField {
pub name: String,
pub type_name: String,
pub offset: i32,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub struct Enum {
pub name: String,
pub alignment: u8,
@@ -45,13 +45,13 @@ pub struct Enum {
pub members: Vec<EnumMember>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub struct EnumMember {
pub name: String,
pub value: i64,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
#[derive(Clone, Deserialize, Serialize)]
pub struct TypeScope {
pub module_name: String,
pub classes: Vec<Class>,