sfall-team / sfall Goto Github PK
View Code? Open in Web Editor NEWsfall - Engine modifications for Fallout 2
Home Page: https://sfall-team.github.io/sfall/
License: GNU General Public License v3.0
sfall - Engine modifications for Fallout 2
Home Page: https://sfall-team.github.io/sfall/
License: GNU General Public License v3.0
Would you please add a hook script for Karma changes? Since there is a ddraw.ini setting to display them it should be a fairly simple fis.
Need to check line of sight when highlighting items/container. Otherwise it's a cheating.
Would it be possible to hook explosions. I recently had the odd experience of having several bundles of dynamite in a bag, I set timers on two and after the explosions there sat the bag undamage with dynamite still in it. I want to write a script to trigger sympathetic detonations and destroy or scatter items in the hex the explosion was in.
I love the idea behind controlling critters sfall gives (essentially Fallout Tactics in FO2 setting), but since NPCs acquire all your tags, perks and traits, it quickly turns them into copies of you, essentially way too powerful to make this option a valid way to play the game.
Could it be changed so that each time the NPCs (or critters you control in general) get a turn, they get their perks wiped out, their tags wiped out or changed to something unimportant (like gambling, sneak) and traits cleaned/changed to unimportant like sexappeal?
That would totally make it worth to re-play the game as a proper squad commander for extra flavor.
When PipboyTimeAnimDelay is set to 0:
Need to decide on following topics.
How to name our Fallout Engine structs? In existing code there was no majority in naming, but most prominent is "sTile", "sMap", etc. I'm not sure it's a good scheme though.
How to name our namespaces for engine variables, wrappers and structs. Need something consistent. Current version is not final.
PS: because we extracted real original names for all engine functions and many variables, we will use the same names for function wrappers and variable pointers.
Is it possible to detect sfall version in ddraw.dll? The reason I'm asking is that I've a mod that requires sfall 3.5+. I want to bundle the last version with the mod, and upgrade ddraw.dll if required. However, the only information I have about the version is a comment in ddraw.ini, which I'd rather not rely upon.
Or, am I overthinking this too much and it's always safe to upgrade ddraw.dll (leaving ddraw.ini intact, to preserve user settings)?
Can we fix this? The amount of time that passes when loading a map differs widely and as far as I know it's hard-coded.
In my opinion there should be no hard-coded time increase whatsoever; it should be based on worldmap speed of how far it is from the current map. Or if that's too difficult to automate, which is likely, just leave it up to the modder to put it in the script.
Fallout 1: For example loading a map can take days in-game, sometimes even weeks. This can be seen going to Irwin's Farm, and doing the caravans.
Not sure about Fallout 2 but I think it also exists in that engine. Just calling the load_map(Z) function seems to essentially do something like calling a "set_game_time(game_time + rand(X, Y))"
I was reminded of it by this bug report from Fixt:
"entering Irwin's farm takes 5-6 days, leaving it takes two weeks." <-- none of that is in the script, it's all being applied by the engine.
Need to investigate the code, and think of some hook script ideas, that will allow to customize AI behavior.
Keep these possible goals in mind while searching for hook opportunities:
Please add access to the different variables for books.ini (min/max skill points without perk,min/max skill points with perk,and max skill skill level able to be upgraded with books)
As it have been pointed out to me, Home key can do that. But unfortunately, I don't have it (I'm on macbook). I'm really missing it, though. Not sure if many people would need that, but an option to reassign this key would be nice.
Would you expose the methods for saving and recalling string variables to scripts directly? I know they already exist, Iv'e seen strings in sfallgv.sav when examining it to debug scripts, so it should be a trivial task.
Probably a long shot, and not many people would use it, but I thought I'd ask, just in case. Reason is that controlling the party manually all the time is overly tedious, and not really worth it. But just once in a while, you really need the NPC to take cover, or shoot a specific enemy. And of course, it's exactly what he doesn't do.
Therefore, a key allowing to toggle between these 2 modes would be perfect.
Extend message_str_game function to support all pro_*.msg files as well.
Useful when you need to read names and descriptions of all items or critters.
When using critter_inven_obj(ObjectPtr who, int where)
on dude_obj
, this vanilla function always returns 0 for non-active hand.
Maybe it was an oversight, but we can't simple "fix it" as this is vanilla behavior and function is used extensively in F2 and TC's.
Need to find some easy workaround or add new opcode with desired behavior.
Display space usage in "occupied/total" format in containers. Trunk specifically, but other containers also would probably be great.
Move explosives to INI properly (inactive => active PIDs for each and min/max damage)
(maybe flares along with them?)
Points of interest:
Need to research possibility of extending UI scriptability.
Main focus:
I've a number of requests. I'm not sure which are doable easily, or at all, or maybe something is already possible with scripting. If you'd like to have a separate issue for each one for discussion, please let me know and I'll do that.
It appears like BIS/Interplay intended to use the Fallout screen font for FO2 worldmap, but didn't quite get it to work all the time and we see all location names in the MS-DOS font. Not very important, but easily reproduced, and may be possible to correct.
Reproduction:
I think an option to have the doors open automatically for the dude when they're not locked would be a huge timesaver.
I'm not sure, maybe this is better done with scripting, if so, let me know and I'll try to look into that myself.
I think it would be great to have a hotkey to highlight critters and transition areas (such as stairs, manholes, etc). It would be really helpful in dungeons. and other low-light areas.
Critters can be highlighted by entering combat mode, then exiting it, of course. But it takes considerable time, and doing it repeatedly is impractical..
Could be the same or different key that is currently used to highlight items. Preferably different colors, though.
В рамках задачи, внедрить лишь правки багов движка.
It would be a considerable time saver an option for the dude to auto reload both weapons at the end of combat with the same ammo, if possible. (Like party orders addon does to NPC).
Trying to call one of those results in crash.
Need to properly organize code. Goals:
Add a hook script (or maybe we have it already?) at the end of every dialog.
This has a sole purpose of allowing for proper NPC Armor Appearence mod implementation (one global script, all settings in external INI file), but can have more applications.
In the currently test build, the item highlight colors are:
Would be nice if there are color settings for them in the INI.
Is there any way to force map_update (with calls to all scripts map_update_p_proc)?
If there is no way, need to add opcode for it.
"Take all" is a very commonly used button, it would be great to have a hotkey for it.
Need to replace HookCall() function with something that tracks writes at each address. There are 2 options how it should behave:
Need to add one or several opcodes that will handle all future needs in terms of sfall-provided scripting functions.
Benefits:
Need to search for a way to force main interface redraw. If there is no such opcode, add new one.
Related: #16
In this issue, only include small enhancements, like multiple values in ExtraCRC
В рамках задачи, внедрить лишь небольшие улучшения.
Right now, when "always run" option is enabled, and destination is within 3 hexes or so, the dude still walks to it. Is it possible to force run always?
is it possible to disable the animation and have the counter update instantly?would greatly appreciate it
After upgrading to 3.7 (from 3.3), there's no option to rest in pipboy (the screen is just empty). Disabling "Disable pipboy alarm button" allows to sleep as per original.
Could you make the burst behavior settings in ddraw.ini controllable from scripts?
Lots of clicking goes into "single/aimed/burst/reload" mouse right click routine. If possible, a hotkey for it would be more efficient and thus greatly appreciated.
Debug mode should be available in normal builds only by including Debugging section and enabling some "master switch".
Make sure to avoid performance impact when not using debugging mode on normal build (add fast checks, etc.).
Режим отладки должен быть доступен в обычных сборках (не TRACE), путем включения нужного флага в ddraw.ini.
Please add some docs on set_critter_burst_disable. I've tried to use it, but it doesn't seem to do anything in a companion script (or at least, nothing that one would expect judging by the name).
Instant weapon equip/switch - to disable the annoying animation delay when searching containers and doing other stuff. This is nagging me since ever. And I'm quite sure it's not only me.
In fact, some time ago I tried to circumvent this by deleting the corresponding animation frames, but it didn't work out for some reason.
When the user reloads a weapon from inventory screen, there's a dialog with quantity of magazines. There's 0 sense to it. I can't think of a time I didn't need to load the weapon fully. It would be great to bypass this dialog, as you pressed "all"
Drag-and-dropping item in barter/steal/loot interfaces is tedious. I think it would be great to have a key combination that'd allow to do that faster.
For exampl use ctrl+right click to move items back and forth. (and something like shift-rclick could be used to move the whole stack, bypassing "quantity" window)
Currently I'm running with 2 desert eagles, one with JHP ammo and another one with FMJ. I find myself struggling to know which one is which at the beginning of combat. So I thought it might be a good idea to display ammo type in the weapon windows. Probably in the lower right corner.
It seems that carry weight is hard limited to 999. Even when bonus is set to more, it still caps to 999 in game. If it's not complicated, I'd request to unhardcode it.
When there are many options in dialogue, it becomes somewhat hard to navigate using number keys. Especially with HRP and higher resolutions.
I think displaying reply numbers instead of dots would improve user experience in that scenario. Would something like this be possible?
@NovaRain
Hi. I am trying to upgrade Fallout 1.5: Resurrection's sfall using the stripped loader and it seems like the
DisableHorrigan=1
option does not work.
I've met a black screen encounter ater travelling some some time so I had to enable that option in the loader again (BTW I've re-enabled also Hi-Resolution Patch and the DAT extraction). Otherwise it seems working well so far.
Thanks again!
Need to add scripting function for manually putting and removing outlines on objects.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.