fallout for linux source

Discussion in 'Fallout General Modding' started by Timeslip, Aug 31, 2014.

  1. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    Aug 15, 2007
    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: Aug 31, 2014
    • [Like] [Like] x 1
  2. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    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.)
     
    • [Like] [Like] x 1
  3. phobos2077

    phobos2077 Mildly Dipped
    Modder

    Apr 24, 2010
    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.
     
  4. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    Well, you could get that started.

    Or you could give up and help with other vaguely related projects. :D
     
  5. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    Aug 15, 2007
    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...

    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.
     
  6. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    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
     
  7. phobos2077

    phobos2077 Mildly Dipped
    Modder

    Apr 24, 2010
    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 :(
     
  8. Spunkybd

    Spunkybd First time out of the vault

    Oct 16, 2014
    Hope you don't mind, but i put this on github, with credits to you.

    https://github.com/Spunkybd/fallout-for-linux-source

    If anyone feels they can contribute to this at all, let me know.

    Timeslip, If you'd like to take over, I can transfer owner ship.

    Thanks.
     
  9. iSage

    iSage First time out of the vault

    Oct 27, 2014
    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.
     
  10. phobos2077

    phobos2077 Mildly Dipped
    Modder

    Apr 24, 2010
    Sounds interesting, do you have a website? How far is this project? How many programmers involved?
     
  11. iSage

    iSage First time out of the vault

    Oct 27, 2014
    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.
     
  12. phobos2077

    phobos2077 Mildly Dipped
    Modder

    Apr 24, 2010
    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: Dec 6, 2014
  13. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    Nice. Wish I knew this existed earlier. :) Shame there is no scripting yet though.
     
  14. phobos2077

    phobos2077 Mildly Dipped
    Modder

    Apr 24, 2010
    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).