Skip to content

evildarkarchon/CLASSIC-Fallout4

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,762 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLASSIC (Crash Log Auto Scanner & Setup Integrity Checker)

Overview

CLASSIC analyzes crash logs and game/mod setups for Bethesda titles (currently Fallout 4, with Skyrim support in progress). It provides detailed diagnostics and remediation guidance across hundreds of automated checks.

As of the current codebase, CLASSIC is a native C++ + Rust application:

  • GUI: classic-gui/ (Qt 6, C++)
  • CLI: classic-cli/ (C++)
  • Business logic: ClassicLib-rs/ (Rust workspace)
  • C++ ↔ Rust bridge: ClassicLib-rs/cpp-bindings/classic-cpp-bridge/

Maintained Python integration bindings exist under ClassicLib-rs/python-bindings/ for integration scenarios.

For older historical context, see CLASSIC - Readme.pdf.

Nexus Mods: https://www.nexusmods.com/fallout4/mods/56255


Requirements

Fallout 4

Detailed Buffout 4 installation instructions

Skyrim (work in progress)


Installation

Option 1 (Recommended): Download prebuilt release

  1. Open the latest release
  2. Download the .7z archive from Assets
  3. Extract with 7-Zip
  4. Run:
    • CLASSIC.exe for GUI
    • classic-cli.exe for CLI

Release bundles include CLASSIC Data/ and required runtime files.

Option 2: Build from source (Windows)

Prerequisites

  • Visual Studio with C++ Desktop workload (MSVC toolchain)
  • vcpkg
  • VCPKG_ROOT environment variable configured (example: C:\vcpkg)
  • Rust toolchain (cargo)
  • CMake 3.25+
  • Ninja
  • Qt 6 (for GUI)

Build CLI

pwsh -ExecutionPolicy Bypass -File classic-cli/build_cli.ps1

Build GUI

pwsh -ExecutionPolicy Bypass -File classic-gui/build_gui.ps1

Build with tests

pwsh -ExecutionPolicy Bypass -File classic-cli/build_cli.ps1 -Test
pwsh -ExecutionPolicy Bypass -File classic-gui/build_gui.ps1 -Test

# Selected C++ tests through the wrappers
pwsh -ExecutionPolicy Bypass -File classic-cli/build_cli.ps1 -Test -CTestName "ThreadPool executes all enqueued tasks"
pwsh -ExecutionPolicy Bypass -File classic-cli/build_cli.ps1 -Test -IntegrationTestName help,version
pwsh -ExecutionPolicy Bypass -File classic-gui/build_gui.ps1 -Test -CTestName classic-gui-test-scan-settings-wiring

CLI integration tests use crash-log fixtures from sample_logs/FO4 (git submodule). Initialize submodules before running tests:

git submodule update --init --recursive

Development quick reference

Rust workspace (ClassicLib-rs/)

cargo build --workspace --manifest-path ClassicLib-rs/Cargo.toml
cargo test --workspace --manifest-path ClassicLib-rs/Cargo.toml
cargo fmt --all --manifest-path ClassicLib-rs/Cargo.toml -- --check
cargo clippy --workspace --all-targets --all-features --manifest-path ClassicLib-rs/Cargo.toml -- -D warnings

C++ apps

# CLI
pwsh -ExecutionPolicy Bypass -File classic-cli/build_cli.ps1

# GUI
pwsh -ExecutionPolicy Bypass -File classic-gui/build_gui.ps1

Use the build scripts instead of raw CMake commands, raw ctest, or direct test executable launches so VS Dev Shell and C++ test environment setup stay correct.


CI

GitHub Actions workflows:

  • ci-cpp.yml - C++ CLI/GUI build and test pipeline on windows-latest
  • ci-rust.yml - Rust format/lint/build/test
  • ci-typescript.yml - Node bindings parity gates + Bun/Node runtime tests
  • ci-python-bindings.yml - Python bindings parity gates + smoke tests
  • benchmarks.yml - benchmark/performance pipeline

Repository layout

  • classic-cli/ — C++ command-line scanner
  • classic-gui/ — C++ Qt 6 desktop GUI
  • ClassicLib-rs/ — Rust business logic + bindings
  • CLASSIC Data/ — runtime data, databases, help, graphics

Contributing

  1. Keep C++ changes in classic-cli/ or classic-gui/ focused and testable.
  2. Keep core logic in Rust crates under ClassicLib-rs/business-logic/.
  3. Run relevant C++/Rust checks before opening a PR.
  4. Keep docs aligned with architecture changes (especially this README and AGENTS.md).

About

Crash Log Auto-Scanner for Buffout 4. Script that scans crash logs generated by Buffout 4 and provides troubleshooting advice depending on what it finds.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 72.6%
  • Python 9.4%
  • C++ 6.7%
  • TypeScript 6.1%
  • PowerShell 4.1%
  • CMake 0.5%
  • Other 0.6%