alexbatalov / fallout2-ce

Fallout 2 for modern operating systems
Other
1.69k stars 110 forks source link

Fallout Et Tu Compatibility with the project #166

Open erzakr opened 1 year ago

erzakr commented 1 year ago

I was wondering if it is possible to get fallout 1 working with the fallout et tu mod. I think it would be very nice to also play fallout 1 on android.

alexbatalov commented 1 year ago

Et Tu uses many Sfall features and, most importantly, overrides to the hardcoded behaviour. The integration of Sfall is in progress, albeit slow. In the meantime you can try Nevada and Sonora. As far as I know original versions of these mods did not rely on Sfall and should work in CE on all supported platforms, including Android.

IronKing24 commented 1 year ago

can the engine be made to handle F1 data post V1 or close to it (referring to the community edition)

alexbatalov commented 1 year ago

I didn't get you.

IronKing24 commented 1 year ago

sorry for the bad wording, what I ment is the community version may (possibility) become able to run fallout 1 natively after version 1.x.x (after it can run fallout 2 correctly and completely)

kaelef commented 1 year ago

I'm also wondering if there's anything equivalent to FO2-CE for FO1. Are the two games different enough that it wouldn't make sense to expand the FO2-CE project to also run FO1? EDIT: Never mind - this answered in #61

alexbatalov commented 1 year ago

Fallout 1 is in development. I don't have deadline, current progress is about 60%.

phobos2077 commented 1 year ago

For playing/modding purposes, I think supporting Et Tu is the best place to put effort (in Fallout 2 engine). But since Et Tu relies on some hard-core hacking to replicate FO1 features, certain FO1 features (like question prompting) can be implemented directly here and then enabled via some ini setting. This is the hardest part. Rest is just implementing remaining sfall features that other mods will still require anyway.

Fallout 1 is of course useful for purists and for historical purposes, but I think most people would like the QoL features of both vanilla FO2 engine as well as EtTu and supplementary mods.

c-a-s-m commented 5 months ago

I was able to start Fallout EtTu under linux using minimal modifications to fallout2-ce project. diff.txt Unfortunately it looks like a dirty hack. I wish we have sfall to be compiled into fallout2-ce (or be loaded dynamically by it).

P.S. Sorry, globfree call is missing.

phobos2077 commented 5 months ago

sfall is already built in Fallout2 CE, just not the whole of it. Only features that are actually needed are being ported over slowly.

c-a-s-m commented 5 months ago

sfall is already built in Fallout2 CE, just not the whole of it.

Sounds like "pregnant... partially".

I talk not about copy-paste of sfall code into fallout2-ce, but about usage of original sfall code.

phobos2077 commented 5 months ago

I talk not about copy-paste of sfall code into fallout2-ce, but about usage of original sfall code.

Sfall modifies the original game binary code in memory. Fallout CE is the whole engine which is recompiled from source code. The original binary is not involved thus "using original sfall code" won't work.

c-a-s-m commented 5 months ago

I'm surprised that a programmer cannot distinct source code and compiled and linked binary. Compiled and linked sfall does modify loaded fallout2.exe. But source code of sfall is just a set of functions calling other functions. The latter may be replaced during a different compilation process, changing the whole compiled sfall binary behaviour.

phobos2077 commented 5 months ago

Compiled and linked sfall does modify loaded fallout2.exe. But source code of sfall is just a set of functions calling other functions. The latter may be replaced during a different compilation process, changing the whole compiled sfall binary behaviour.

Most of what these "just a set of functions calling other functions" do is tweaking the binary with ASM hacks, that's literally what sfall is - some new C++/ASM code with engine interaction layer, which is by far the biggest piece of sfall. The whole reason for sfall existence is the lack of original source code. This project being a full set of engine source code, makes most of that code redundant.

On top of that, I find sfall to be incredibly bloated. I think it's a good opportunity to re-think what's actually needed and only port over those tweaks/features to CE.

Maybe give some concrete example of what problem you want to solve so this discussion gets more productive.