read what the binary says about itself: names, signatures, prototypes; gen v2
This commit is contained in:
parent
54ef572202
commit
c458b4cb50
34 changed files with 58363 additions and 192 deletions
16
src/main.rs
16
src/main.rs
|
|
@ -72,7 +72,7 @@ enum Cmd {
|
|||
#[arg(long)]
|
||||
keep: bool,
|
||||
/// With --gamedata, also run the LIVE fuzzer against this same server for N randomized probes
|
||||
/// (0 = off). Reuses the launched server — no separate `fuzz-live` run needed for CI.
|
||||
/// (0 = off). Runs against the server `produce` already launched; there is no separate command for it.
|
||||
#[arg(long, default_value_t = 500)]
|
||||
fuzz_iterations: usize,
|
||||
},
|
||||
|
|
@ -129,6 +129,16 @@ enum Cmd {
|
|||
/// Multilib non-virtual names to fold as sigs — `{lib: [{name,addr}]}`; `make_sig` runs per lib.
|
||||
#[arg(long)]
|
||||
extra_sigs: Option<PathBuf>,
|
||||
/// Declared C++ prototypes (`mappings/prototypes.json`) to judge against this build's measured
|
||||
/// register footprints. Emits `abi-<game>.json`. Static repo input — omit to skip the manifest.
|
||||
#[arg(long)]
|
||||
prototypes: Option<PathBuf>,
|
||||
/// Valve's naming for the entity class behind each `PVAL_EHANDLE` Pulse parameter
|
||||
/// (`mappings/ehandle-classes.json`), propagated across the parameters this build's destructor
|
||||
/// addresses prove are the same type. Static repo input — omit and the bindings artifact simply
|
||||
/// states no class.
|
||||
#[arg(long)]
|
||||
ehandle_classes: Option<PathBuf>,
|
||||
/// Byte budget for signatures the FOLD generates (the extrapolated tiers). The derive's own
|
||||
/// `core` sigs use a separate fixed budget — this flag does not widen those.
|
||||
#[arg(long, default_value_t = 400)]
|
||||
|
|
@ -356,6 +366,8 @@ fn main() -> Result<()> {
|
|||
full_names,
|
||||
extra_offsets,
|
||||
extra_sigs,
|
||||
prototypes,
|
||||
ehandle_classes,
|
||||
sig_cap,
|
||||
version,
|
||||
out_dir,
|
||||
|
|
@ -393,6 +405,8 @@ fn main() -> Result<()> {
|
|||
full_names: inputs.full_names.as_deref(),
|
||||
extra_offsets: inputs.extra_offsets.as_deref(),
|
||||
extra_sigs: inputs.extra_sigs.as_deref(),
|
||||
prototypes: prototypes.as_deref(),
|
||||
ehandle_classes: ehandle_classes.as_deref(),
|
||||
sig_cap,
|
||||
version: &version,
|
||||
out_dir: &out_dir,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue