fallout for linux source

Timeslip

Water Chip? Been There, Done That
Modder
I never managed to think of anything useful to do with this, and since I'm distancing myself from sfall I might as well drop this off too. ('This' being the native sdl/linux version of fallout 2 I made some time ago)

https://mega.co.nz/#!ng1QCCKJ!V-BYfsgZGhiYRmONqQnnx4uq4jHWFxsGf-4xzLevB3M (password is fallout)
Download includes fallout 2 assembly and a VS2010 project to host it. I was doing the linux side of the development in a VM that I no longer have, and I may not have merged the latest code in from there to the project, so it may not build on linux out of the box. (It also means the makefile is missing... Shouldn't be too hard to work out.)

The fallout code needs to be assembled with yasm rather than nasm, (or at least it did a couple of years ago) because nasm doesn't scale well to input files of that size.

The source code for the ida plugin that generates usable assembler code from an ida database isn't included, sorry.

The source code includes some movie playing code, which is not written by me, and I haven't a clue where I got it from. No idea what the licence is. Fallout asm is obviously bethesda's. SDL and zlib are in there too.

Knock yourself out, but I still think that this is a stupid way of running things on linux, and normal fallout2+sfall running on wine is still the best option till someone finishes a full engine replacement.
 
Last edited:
Wow, awesome. :D

Hint to potential developers: This would be a really good start to a real C re-implementation of Fallout 2: the idea would be to one-by-one replace the assembly procedures with pure C ones, and eventually you end up with a pure C implementation. (That, or you could help with DarkFO -- but this is a near-100% accurate port.)
 
Wow, awesome. :D

Hint to potential developers: This would be a really good start to a real C re-implementation of Fallout 2: the idea would be to one-by-one replace the assembly procedures with pure C ones, and eventually you end up with a pure C implementation. (That, or you could help with DarkFO -- but this is a near-100% accurate port.)

If this would happen, I sure hope the remake will be multi-platform :)
Open source Fallout engine re-written in C/C++ is my dream for a long time. And I know this IS possible (looking at OpenTTD and OpenXCom - which are extremely successful) with proper management (only open source but with reasonable team of maintainers) and some dedication.
 
Wow, awesome. :D

Hint to potential developers: This would be a really good start to a real C re-implementation of Fallout 2: the idea would be to one-by-one replace the assembly procedures with pure C ones, and eventually you end up with a pure C implementation. (That, or you could help with DarkFO -- but this is a near-100% accurate port.)

If this would happen, I sure hope the remake will be multi-platform :)
Open source Fallout engine re-written in C/C++ is my dream for a long time. And I know this IS possible (looking at OpenTTD and OpenXCom - which are extremely successful) with proper management (only open source but with reasonable team of maintainers) and some dedication.

Well, you could get that started.

Or you could give up and help with other vaguely related projects. :D
 
Hint to potential developers: This would be a really good start to a real C re-implementation of Fallout 2: the idea would be to one-by-one replace the assembly procedures with pure C ones, and eventually you end up with a pure C implementation. (That, or you could help with DarkFO -- but this is a near-100% accurate port.)
Yup, that's one possibility. I did make a start, until I worked out that at my rate of progress it would be 10 years till I was done. :/ In that released code the movie function have all been moved into the C, because the original fallout versions were polymorphic and didn't survive the translation from ida.

See keeperfx for an example of this done pretty well, although that looks like it's going to take another 10 years till it's finished too...

If this would happen, I sure hope the remake will be multi-platform :)
The current version works as well on windows as linux. (If not better, if the linux code was out of date.) Shouldn't be hard to make it even more cross platform; it's mostly a case of matching up calling conventions and plugging the gaps in each platforms c library. Of course, porting it to something non x86 would be harder, but not entirely impossible. I had a go at getting qemu's binary translation code to run on it, but never got far enough to produce anything.
 
If this would happen, I sure hope the remake will be multi-platform :)
The current version works as well on windows as linux. (If not better, if the linux code was out of date.) Shouldn't be hard to make it even more cross platform; it's mostly a case of matching up calling conventions and plugging the gaps in each platforms c library. Of course, porting it to something non x86 would be harder, but not entirely impossible. I had a go at getting qemu's binary translation code to run on it, but never got far enough to produce anything.

I imagine he means if it was rewritten in pure C (i.e. Portable Assembler), then it should be mostly trivial assuming the target platform is not too alien.
Well, get on it phobos. :D
 
I imagine he means if it was rewritten in pure C (i.e. Portable Assembler), then it should be mostly trivial assuming the target platform is not too alien.
Well, get on it phobos. :D

Considering how much time it takes for me to change those sfall arrays, I think I can write fallout engine re-implementation in about... 20-30 years :D
Sadly, I have moderate C++ experience. I can contribute to existing project, doing some features, etc. But I can't handle building C++ project from scratch and/or maintaining it :(
 
Any chance to make this runnable?
We are writing c++/SDL2 engine reimplementation, and this will greatly help with debugging and peeking how original binary worked.
 
Any chance to make this runnable?
We are writing c++/SDL2 engine reimplementation, and this will greatly help with debugging and peeking how original binary worked.

Sounds interesting, do you have a website? How far is this project? How many programmers involved?
 
https://falltergeist.org/ it's around 40% done, ai+battle system are what's left until semi-playable version.
Currently there's 3-4 programmers, including me, +/- couple of people, who send pull requests from time to time.
We're on hiatus until New Year, because of real life, though.
 
That looks really promising! Do you need some additional programming? I have 0 experience with SDL though, and still learning C++, but I can help you out with information about how original engine worked (I have IDA pro database and can explain how to use them).

О наболевшем: когда задумаетесь о скриптовом движке, помимо интерпретатора оригинальных скриптов, добавьте поддержку нормального, актуального скриптового языка такого как LUA или Python. Это ключ к успеху в подобном проекте, ИМХО (ну помимо успешного доведения до рабочего состояния самой игры ;) )
 
Last edited:
Nice. Wish I knew this existed earlier. :) Shame there is no scripting yet though.

Actually, there is partly fallout VM support (scripts load, small subset of opcodes work), but until most game mechanics are in place, there is no point in that :)

I managed to compile this on my PC yesterday and from the looks of it, they've gone pretty far already (sound and movies work, actual maps work, main interface mostly work, scripts work), I would say about 40% is done :)

PS: this probably deserves dedicated thread but as I understand authors don't want to go public too much about their engine until it's mostly finished (which is good to possible player/modders - doesn't create too much expectations; but some possible contributors might just not know about the project they would've loved to join).
 
Back
Top