-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sfall: SpeedPatch, LoadGameHook (LoopFlag) #174
base: main
Are you sure you want to change the base?
Conversation
87222f9
to
d23c849
Compare
2df2397
to
64ae27f
Compare
// 0x48FC48 | ||
int _do_options() | ||
{ | ||
return showOptionsWithInitialKeyCode(-1); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A function with this code already exists, see line 462:
// 0x48FC48
int showOptions()
{
return showOptionsWithInitialKeyCode(-1);
}
// True if game was started, false when on the main menu | ||
bool mainIsGameLoaded(); | ||
void mainSetIsGameLoaded(bool isGameLoaded); | ||
|
||
bool mainIsInEndgameSlideshow(); | ||
void mainSetIsInEndgameSlideshow(bool isInEndgameSlideshow); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose these could also live in loop.h
as extra flags? Depends how much we want to stay close to sfall, I guess. WDYT?
64ae27f
to
220c30a
Compare
I'm pretty sure steal odds shouldn't be related to speed patch in any way. I've have researched that code last year when working on steal rebalance. It's just regular math and Fallout's RNG. |
What?
This PR adds support ✅ for a subset of the sfall Speed patch:
It doesn't ❌ deal with the keybinding part:
It also, out of necessity, implements much of the
LoadGameHook
flag tracking in a new fileloop.c
. With this we now have an easy way to check whether eg. an inventory screen is open, etc.Proof of concept
vid.mp4
Approach taken
getTicks()
to optionally multiply its resultLoadGameHook
sfall module intoloop.c
Related links
LoadGameHook.h
(definition ofLoopFlag
)LoadGameHook.cpp
SpeedPatch.cpp
ddraw.ini
configPossible problems (maybe they are also problems on
main
, and not caused by this patch?)From my gameplay it seems like critters (like eg. geckos in Toxic Caves) don't move (as in, walk and wander around) as often as in the original game (from my memory). They almost don't move at all. Maybe their movement runs on the original speed somehow? Maybe this is an issue in original+sfall SpeedPatch as well?Seen onmain
as wellCompanions seem to only attack if the enemy is in range, they won't walk to them. (With the distance setting at "Charge!")In the end they do move towards the enemies, it's just not always.