Fallout 1 & 2 reversing and modding resource
You can find additional information and code at github.com/rotators
Fallout2.exe
StructuresSfall references
Fallout 2 RE references
Function and variable offsets
Call structure
x64dbg database
Fallout_1_and_2_IDA68.rar - IDA database
f2_res.dll (High resolution patch)
SymbolsModding
Comprehensive Fallout 2 Modding Guide - sourceQuantum's Fallout Modding 'How To' Videos
File formats
Artwork
The Complete Fallout 1 & 2 ArtworkAnimation
Animation namesAnimation viewer - TypeScript source
Scripting
Fallout 2 opcodes - does not include sfall opcodes. Official Fallout 2 scripts source codeWorldmap
Fallout2 worldmap.txt interactive browser and parserWatcom
Watcom is the compiler that was used to compile both Fallout 1 and 2.
Watcom does not support the __fastcall keyword except to alias it to null. The register calling convention may be selected by command line switch. (However, IDA uses __fastcall anyway for uniformity.)
Up to 4 registers are assigned to arguments in the order eax, edx, ebx, ecx. Arguments are assigned to registers from left to right.
If any argument cannot be assigned to a register (say it is too large) it, and all subsequent arguments, are assigned to the stack. Arguments assigned to the stack are pushed from right to left. Names are mangled by adding a suffixed underscore.
eax->func(edx, ebx, ecx, push...)
func(eax, edx, ebx, ecx, push...)
ASM
x86 referencex86 and amd64 instruction reference
x86 opcode table
Online x86 / x64 Assembler and Disassembler
Reversing tools
OllyDBG - debuggerx64dbg - debugger
IDA 7 freeware - disassembler/debugger
IDA 5 - Old version of IDA, suitable for DOS reversing
PE explorer
HxD - Freeware Hex Editor and Disk Editor (alternatives)
DLL Export Viewer v1.66
Scylla - Imports viewer
idbutil - Tool for dumping data from IDA pro databases
Additional stuff
IDA database
idbtool.exe --enums Fallout2.idb > enums.txt
idbtool.exe --names Fallout2.idb > names.txt
Fallout tools
List of toolsFallout 2 @ NMA
Team-X Utilities
Tool | Author | Description |
---|---|---|
Sfall Script Editor | Sfall team | Allows to edit and compile SSL scripts in a convenient way. |
Dat Explorer 1.43 | Dims | DAT file packer / unpacker. With a graphical interface. |
Sfall
A set of engine modifications that greatly enhances the engine. Includes fixes for bugs in the original engine, allows fallout to run correctly on modern operating systems, and adds additional features for modders.
Binary distros
SourceforgeSource code
Check out the code from the main repo or rotators sfall branch.git clone https://github.com/phobos2077/sfall.git src
DirectX
Main SDK needed is DirectX june 2010. dinput.lib from DirectX august 2007 also needed.
Mirror: DirectX SDK Collection
sfall dev
Projects
Project | Description |
---|---|
Reverse engineered Fallout 2 | Fallout 2 RE project by Alexander Batalov. Announcement post |
Fallout 2 Javascript port | Inactive engine implementation |
DarkFO, a post-nuclear RPG remake (of Fallout 2) | Inactive engine implementation in TypeScript and Python |
falltergeist | Opensource crossplatform Fallout 2™ game engine written in C++ and SDL. |
Fallout 2 tweaks | A collection of convenience tweaks, common sense changes, and cheats for Fallout 2. It is highly configurable, any component can be used with or without others. Some components also allow fine tuning. |
Fallout 2 map editor | Fallout 2 map editor by Jan Simek |
Klamath | C++ utilities for working with Fallout 1/2 assets |