Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

fallout1-ce-pascal

Free Pascal port of Fallout 1 Community Edition — a work-in-progress re-implementation of Fallout 1 using SDL2

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Fallout 1 Community Edition - Pascal Port

A Free Pascal port of fallout1-ce by alexbatalov, which is a fully working re-implementation of Fallout 1 using SDL2.

This project is a line-by-line translation of the C++ source code into Object Pascal, targeting Free Pascal Compiler (FPC). It produces a native Linux binary with no C/C++ dependencies beyond SDL2.

Prerequisites

  • Free Pascal Compiler 3.2.0 or later
  • SDL2 development libraries (libsdl2-dev on Debian/Ubuntu)
  • A legal copy of Fallout 1 game data (from GOG or Steam)

Installing prerequisites on Debian/Ubuntu

bash
sudo apt install fpc libsdl2-dev

Building

bash
# Release build (optimized)
make

# Full release rebuild
make rebuild

# Debug build (range checks + line info for tracebacks)
make debug

# Full debug rebuild
make debug-rebuild

The compiled binary is placed in bin/ (intermediate build artifacts go to lib/).

Installation

Copy the compiled binary (bin/fallout_ce) into a folder containing the Fallout 1 game data files:

pascal
your-game-folder/
????????? fallout_ce          # compiled binary
????????? fallout.cfg
????????? MASTER.DAT
????????? CRITTER.DAT
????????? DATA/
    ????????? ...

The game data files can be found in your GOG or Steam installation of Fallout 1.

Running

bash
# Build and run (game data must be in bin/)
make run

# Build debug and run
make run-debug

Or run the binary directly from the folder containing the game data:

bash
cd your-game-folder
./fallout_ce

Current status

This is a work in progress. What works so far:

  • Intro cinematics (Interplay logo, nuclear explosion, etc.)
  • Main menu (New Game, Load Game, Options, Credits, Exit)
  • Starting a new game and entering the first level (Vault 13)
  • Walking around the first level

Everything beyond this is not yet functional. Contributions and testing are welcome.

Track the number of remaining C external stubs:

bash
make count

Author

Nicolas DEOUX

License

This project is licensed under the Sustainable Use License.