Skip to content
sguzmanPublic

About

The Rust Age, fallout 1 ce rust port

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

782 Commits

Folders and files

Repository files navigation

Rust Age ☢️🦀

A strict native Rust port of Fallout 1 Community Edition, not a new game and not a C++ wrapper. Fallout 2 follows only when Fallout 1 is working and verified.

Rust Age iron-oxide red identity

Project color: #E05B4C · oklch(64% 0.17 29) — perceptual choice.

Not playable yet. This foundation currently provides a basic installation-path checker, a DAT archive index and extractor, master/critter patch-overlay lookup, and an FRM sprite decoder, palette tables, and original configuration/localized MSG readers. The project has offline framebuffer/PPM and optional read-only SDL2 map/sprite previews, static MAP object/route diagnostics, and an isolated partial, bounded interpreter with synthetic differential tests. There is no playable game loop, engine-connected script interpreter, or verified gameplay parity.

Source and operating model

The implementation is a source-level translation of Fallout 1 CE pinned at 0609bcfd0ec40ff0571d0f57fab2821eb461dc8b. Your fallout1-ce fork is read-only reference material, not the target of development. Fallout 2 CE remains read-only and out of scope until Fallout 1 ships.

Users supply their own legally obtained Fallout 1 installation. Rust Age loads original assets locally; no commercial game data or Windows executable is included in the repository.

Development

cargo test --all-targets
cargo run -- --check-installation /path/to/Fallout
cargo run -- --verify-installation /path/to/Fallout
cargo run -- --inspect-dat /path/to/Fallout/master.dat
cargo run -- --inspect-frm /path/to/Fallout master art/items/example.frm
cargo run -- --inspect-map /path/to/Fallout maps/example.map
cargo run -- --inspect-map-procedures /path/to/Fallout maps/example.map
cargo run -- --inspect-map-lifecycle /path/to/Fallout maps/example.map enter MAP_SID MAP_FLAGS # read-only
cargo run -- --inspect-map-scripts /path/to/Fallout maps/example.map
cargo run -- --inspect-map-script-owners /path/to/Fallout maps/example.map # read-only SID/object ownership diagnostics
cargo run -- --inspect-map-lifecycle-frames /path/to/Fallout maps/example.map enter MAP_SID MAP_FLAGS # read-only local procedure readiness
cargo run -- --inspect-int /path/to/Fallout scripts/example.int
cargo run -- --inspect-script-index /path/to/Fallout 0 # prints escaped procedure names, metadata and CE action bindings
cargo run -- --inspect-game-global /path/to/Fallout 123 # read-only original quest defaults
cargo run -- --inspect-map-route /path/to/Fallout maps/example.map 20099 20098
# Read-only parser reports square layers, serialized script records and object counts
cargo run -- --inspect-pro /path/to/Fallout proto/items/example.pro
cargo run -- --export-frm-preview /path/to/Fallout master art/items/example.frm 0 0 preview.ppm
python3 tools/render_roadmap.py --check

Replace the example FRM path with an existing sprite from your own Fallout 1 installation. The checker verifies only paths; the index validator opens both archives; sprite preview saves an unlit RGB PPM from original asset data, not a full frame or playable window. None of these commands proves game parity.

Static MAP floor preview (read-only)

The map preview loads the original MAP floor IDs, resolves art/tiles/tiles.lst, and draws the matching original FRM files into a 640×380 indexed framebuffer before exporting a PPM. It is a diagnostic and not the game's full map renderer: no lighting, scripts, interactive movement, roofs, actors, or quest progression.

cargo run -- --export-map-floor-preview /path/to/Fallout maps/example.map floor.ppm
cargo run -- --export-map-roof-preview /path/to/Fallout maps/example.map roofs.ppm
cargo run -- --export-map-object-preview /path/to/Fallout maps/example.map objects.ppm

Replace maps/example.map with a real map path from the original game installation. No extracted game assets belong in the repository.

Optional native SDL2 floor MAP window

This is a static, read-only floor preview, not a playable game. It uses the original map's entering tile, the local MAP + LST + FRM content pipeline, and the original VGA palette. It has no object/roof compositing, scripts or lighting; no original game data is included in the build.

cargo run --features native-window --bin rust-age-map-view -- /path/to/Fallout maps/example.map

Press R to toggle the unlit roof layer, and Escape to close. Resizing scales the original 640×380 framebuffer. This is still not a complete roof implementation: no egg mask, lighting or game simulation. Replace the example path with a map actually present in your installation.

Optional native SDL2 sprite window

On EndeavourOS, install the standard sdl2 development package if it is not already installed. The read-only SDL2 viewer is an optional feature; basic diagnostics do not require SDL2:

cargo run --features native-window --bin rust-age-view -- /path/to/Fallout master art/items/example.frm

Choose a real FRM path from your own game installation. Use Left/Right to switch frames, Up/Down to switch directions, Space to play/pause the original sprite animation independently of window redraws, and Escape to close. SDL2 uses the available Linux display backend (Wayland where supported, otherwise X11/XWayland). This is not a playable map or full game.

Progress and issues

🧠 Interpreter status · 📍 Roadmap · 🔢 Progress ledger · 🧩 C++→Rust port matrix · 📋 GitHub tracking queue.

Milestone/phase progress is aggregated from atomic tasks. Completed tasks disappear from progress reports, but their evidence remains in the ledger. No percentage is a claim that the game is playable.

Licensing

Sustainable Use License 1.0 governs this direct derivative of Fallout 1 CE (see LICENSE and provenance). This is source-available but not OSI-open-source, and noncommercial limitations apply. The empty repo was initially created with MIT text; it is preserved as historical initialization context, not as permission to relicense CE-derived work. Neither Bethesda nor Community Edition endorses this project.

About

The Rust Age, fallout 1 ce rust port

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages