Forum Vaultu šílené brahmíny

Ostrovček pozitívnej deviácie11!
Právě je pát bře 22, 2019 7:46 pm

Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 
Autor Zpráva
 Předmět příspěvku: Timeslipův sfall
PříspěvekNapsal: pát pro 18, 2009 1:00 pm 
Austin Powers
Austin Powers
Uživatelský avatar

Registrován: čtv kvě 07, 2009 3:50 pm
Příspěvky: 3359
Bydliště: VŠB
sfall, a fallout 2 engine tweak mod by Timeslip
version 2.1a, built for fallout 2 v1.02 US.

Sourceforge project and source code:
Additional materials at:

This was a quick fallout mod which I originally stuck together to try and fix a few minor annoyances that I had with the games, but which then turned into a slightly bigger mod which fixed some other peoples annoyances and some of the bugs in the original fallout engine too, and has since turned into a bloody huge mod with code contributions from a double figured number of people and with which modders could practically write a whole new game. The features are too numerous to list these days, so you'll have to read through the changelog instead.

This mod only works with a specific version of the fallout 2 exe. This is the US copy of 1.02, although minorly hex-edited copies such as the version with megamod 2 also work. Attempting to use this mod with an incompatible version of fallout will result in an error every time you run it. If your version of fallout doesn't have kids, then you have the UK version instead of the US version, so you'll need to patch it into the US version before using this mod.

Using a d3d9 graphics mode obviously requires you to have dx9 installed and a dx9 compatible graphics card. sfall requires the DX9.0c August 2006 update. If you set the graphics mode to 5 or 6 but don't have DX9.0c installed, fallout will crash on startup. If you have a version of DX9.0c older than August 2006, fallout will crash at the main menu.

This mod only works on windows xp and above.

** Installation **

Extract 'ddraw.dll' and 'ddraw.ini' to fallout's base directory. (i.e. the one that contains fallout2.exe.)

** Uninstallation **

Delete ddraw.dll and ddraw.ini from your fallout directory.

** Usage **

This mod is configured via the 'ddraw.ini' file, which can be opened with any text editor. Details of every configerable option are included in that file. Where a comment refers to a DX scancode, the complete list of codes can at the link below: ... Codes.html

In a default installation using an unmodified copy of ddraw.ini, the middle mouse button will be set to switch between weapons and the mouse wheel will be set to scroll through any menus that respond to the up/down arrow keys. Holding ctrl and hitting numpad keys 0 to 6 will adjust the game speed. The script extender and any engine fixes are also enabled. Options which change gameplay in some way not originally intended by the developers are disabled.

** Known issues **

It is not possible to completely remove the fallout 2 13 year time limit, because fallout 2 stores the time passed since the start of the game in a 32 bit variable, and on the 8th of March 2255 this variable overflows, causing fallout to crash. (Normally, the game will end on the 25th of July 2254) This mod does give you several options for removing the limit, but each option has its own set of side effects. If you are planning on powergaming, as well as setting the TimeLimit line to -3, I suggest setting the WorldMapTimeMod value to somewhere around 10, which will increase the amount of gameplay time you have between tickcount rollovers by an order of magnitude.

When using the control party members option, if you access the inventory and switch out a weapon, the critter animation will not change. Also sometimes you might find that clicking to attack something doesn't respond. In either case switch active hands and back should get things working again. Also never try to save or reload while in combat if it's the turn of a player controlled critter.

** Changelog **

>Some elements of sfall can now be translated
>Added a check-for-updates option
>Added an option to allow scrolling of quest lists in the pipboy (From Ray)
>Removed eax support
>Removed win9x support
>Removed the block on steam, and the timeout code

>Modified the trait override code to not run if the perks.ini is not present
>Another attempt at fixing the explorer hang

>You can now edit traits via perks.ini as well as perks
>New script function, remove_trait
>Fixed sfall title display when using the res patch
>Updated hero apperence mod (from Mash)

>The control party members option now behaves slightly better
>The mouse position functions now return the hotspot rather than the upper left corner of the cursor
>Fixed something I broke while adding in Helios's code

>Added new hook scripts hs_findtarget and hs_useobjon
>Added an option to skip the opening movies
>Made a fix to the line of fire fix
>Added an option to give npcs a second chance to spend left over ap at the end of their combat round
>Added new script functions to manipulate weapon ammo
>Added an option to allow the use of tiles larger than 80x36
>Added an option to directly control party members in combat (buggy)
>Multiplayer support (buggier)
>New script function: write_string
>Added an option to replace the mouse cursor used when using skills. (From Helios)
>Added new window related script functions. (From Helios)

>Fixed issue with global scripts not running on the world map when using the new world map speed patch
>Fixed issue with item highlighting only working on the first elevation of each map.

>Hero apperence mod behaviour changes to fix some conflicts with patch dats and sfall saving (from Mash)

>Fixed some parts of the hero apperence mod still running even if disabled in the ini

>Added Hero appearance mod code from Mash
>Extra argument to hook script hs_combatdamage to get the weapon used in the attack
>Fixed set_script bug when used with critters
>New script function set_critter_burst_disable

>Altered numbering scheme to avoid bug in unicode version of windows
>sfall now displays its version number on the title menu
>display an appropriate message and quit when used with steam
>fixed very nasty bug when saving with a patch file loaded
>added new script functions to get the current sfall version

>New script functions: list_begin, list_next and list_end
>Fixed an issue if a global script tried to register_hook a hook that already had a hs_* script attached.
>Fixed an issue with using register_hook across reloads

>New script functions set_proto_data, set_self, register_hook
>Further file system script functions
>Hook script changes to aid in mod compatibility; multiple scripts can now attach to one hook point

>New script function get_proto_data

>13 new script functions related to a virtual filesystem
>Added a new hook script hs_ondeath
>Added a new option 'GPUBlt' to speed up rendering in dx9 graphics modes by 3-4x
>Using graphics mode 4 or 5 with an out of date version of DirectX now displays a useful error message instead of crashing

>Added an option to prevent fallout from hogging the processor
>Fixed get_script still returning a script after calling remove_script
>set_script can now be used on objects that are already scripted

>Added a new hook script, hs_combatdamage
>Added 3 new script functions: remove_script, set_script and get_script
>Fixed the vanilla fallout bug where an instadeath critical hit for no damage wouldn't run the critter death function
>Fixed issue with the initilization function of most hook scripts not being rerun on player reload
>Added an extra check to try and fix WorldMapFPSPatch crashes

>Added an option to reverse the left and right mouse buttons for left handed players

>Added an option to setup a key to toggle highlighting of items on the ground
>Fixed issue with death anim hook scripts crashing on some npcs
>Fixed fake traits/perks not being removed if picked and then canceled

>Added two new hook scripts to allow scripting of death animations

>Added an option to play the players idle animation on weapon reload
>Added a fix for corpses absorbing weapons fire

>Added an option to display karma changes
>Added new world map speed patch (From Ray)
>Added shiv item code fix (From Kanhef)
>Added fix for imported procedures with arguments (From KLIMaka)
>Added an option to always reload msg files (From Ray)

>Added some maths scripting functions: sqrt, abs, sin, cos, tan, arctan
>New script function: set_palette
>New hook script: hs_calcapcost

>Added an option to load multiple patch files at once (From Ray)

>New script function: get_ini_string
>New hook script: hs_afterhitroll

>Added new script functions for modifing the critical hit table, ap ac bonus and to support hook scripts
>Added an option to override the default critical hit table
>Added hook scripts. (Only one atm, to override the hit percentage chance modifier)

>Added 2 new script functions: get_bodypart_hit_modifier and set_bodypart_hit_modifier
>New options in the ini file to set the initial bodypart hit modifiers

>Added 3 new script functions: show_iface_tag, hide_iface_tag and is_iface_tag_active
>Added an option to fix the crash caused by withdrawal effects without an associated description

>Added an ini option to skip the compatibility mode check
>Added 11 new script functions for performing generic memory writes and function calls
>Added new sript function: set_hp_per_level_mod

>Added support for adding additional movies (max of 32)
>In dx9 mode, avi movies will be used in preference to .mve's if they exist
>Weapon animation codes 11 and 15 now corrispond to file paths of 's' and 't' respectively
>Weapon animation codes greater than 15 are no longer allowed
>Fixed another possible hang on startup problem on win9x

>Added an option to increase the number of sound buffers available for sound effects
>Added an option to stop fallout deleting non readonly protos
>Fixed compatibility with v1.7 of the resolution patch when using graphics mode 5 or 6

>Fixed crash bug with thrown weapons introduced in 1.33

>Fixed issues with negative hit chances
>Increased the number of new animation slots
>Trying to set a custom xp table caused a hang on startup with the win9x version

>Fixed player not being able to increase skills

>Added an option to set a custom xp table and level cap
>Added the ability to add new weapon animation types
>Fixed a possible issue with fake perks on win9x

>Fixed a bug introduced in 1.33 that caused skills with negative percentages to wrap around
>Fixed elevators again

>Fixed an issue with adding additional elevators

>Added an option to define a key to allow you to move the window in graphics mode 5
>Added experimental support for adding additional elevators and modifing old ones.

>Fixed a compilation error in the win xp version that broke compatibility with older processors

>Added some extra script functions to modify some of the vanilla perks

>8 new script functions related to adding new perks
>6 new script functions to allow critter specific modifications to skill caps, stealing and combat hit chances.

>New script functions: set_fake_trait and set_fake_perk

>Fixed some get_game_mode issues
>A further slight speed increase in dx9 mode

>Improved fps in DX9 mode
>Add a 'combat save' fix that prevents saving in combat if you have spent any ap
>Removed the bonus move fix, which was unfixably buggy, in favour of the combat save fix

>Fixed movies in DX9 mode
>The compatibility mode check will now ignore the disable themes, turn off advanced text services and run as administrator settings.
>Added new script functions: set_pc_stat_min, set_pc_stat_max, set_npc_stat_min, set_npc_stat_max

>Added a fix for the print to file crash caused by fallouts inability to handle long filenames

>Expanded set_stat_max to work on most of the derived stats
>Added new script functions: set_stat_min, set_car_current_town

>A fix to the ammo damage tweak (from Glovz)
>Added new script function: set_stat_max

>Added skilldex, inventory and automap flags to the game mode functions
>set_shader_mode now lets you set a list of excluded and required loops simultaniously
>Added new script function: get_uptime

>Glovz fixed a bug in his AP ammo mod.

>World map speed timer will revert to the normal timer if the high performance timer is low resolution
>Reduced the art cache size override setting

>Added a fix for the skilldex button vanishing if you have many active quests and holodisks
>Added a fix for the gain xxx perks not giving all the bonuses that they should. (Will only effect new games)
>Updated the ap ammo mod (From Glovz)
>Hopefully fixed the issues with quickload
>sfall will display an error if you try running the win xp version in win 9x compatibility mode
>Added an option to override the art cache size, to fix F2RP EPA crashes without modifing fallout2.cfg
>Added new script functions: get_shader_texture, set_shader_texture

>Added an override console option to fit more text into the console at high resolutions (Not finished!)
>Added a fix for saving/loading in combat with the bonus move perk
>Added an option to automatically set processor affinity to a single core
>sfall functions which expect a string as a parameter now accept variables as well as constants
>Global scripts set to run only on the local map no longer stop running in combat
>Improved the behaviour of set_shader_mode.
>Added new script functions: get_game_mode, force_graphics_refresh

>Global script modes 2 or 3 no longer require the world map speed patch to be active to work
>Added new script functions: get_ini_setting, set_shader_mode, get_shader_version
>Graphics mode 0 was broken in the win xp version of 1.25

>Added the city limits patch
>You can now use hardware shaders in dx9 mode when using Mash's resolution patch. Software scalers will not be supported.
>Added new script functions set_xp_mod, set_perk_level_mod
>Graphics modes 1, 2 and 3 are no longer supported.

>Tweaked dx9 mode to be compatible with Mash's resolution patch. (Warning: Using very high resolutions in dx9 mode will be _slow_)

>Added options for setting starting world map position and world map viewport
>Added new script functions: get_viewport_x, get_viewport_y, set_viewport_x, set_viewport_y

>Added an option to remove the random element from npc levelling
>Added a new script function inc_npc_level

>EAX environment can be set on a per map basis via an eax.ini file.
>Tweaked the way the disable horrigan encounter option works. (Now only affects new games)

>Added EAX support
>2 new script functions: eax_available, set_eax_environment
>Bug fixes to save/load/new game hooks (Most visible result is that global scripts no longer run on the main menu)

>Added six new script functions: set_sfall_global, get_sfall_global_int, get_sfall_global_float, set_pickpocket_max, set_hit_chance_max and set_skill_max

>Fixed a crash if you set the height greater than the width using scale filter 6
>Fixed a crash bug in the combat_p_proc fix when critter_dmg was called. (From Ray)

>The global shader can declare a variable called rcpres which will recieve the reciprical screen resolution.
>All shaders can load up to 128 textures (e.g. add the lines 'string texname1="filename.bmp";' and 'texture tex1;' to load a texture from data\art\stex\filename.bmp)
>Two new ScaleFilter modes

>Added an option to disable the horrigan encounter
>Added two new script functions set_global_script_type and available_global_script_types
>Added two additional execution modes for global scripts
>combat_p_proc fix (From Ray)
>Added an alternative damage calculation formula. (From Glovz)

>Fixed a crash introduced in 1.19a when gaining two levels at once

>Tweaks to the way perks work when the script extender is being used: If you go more than 3 levels without visiting the character screen, you no longer loose your perk.
>set_perk_owed now accepts values up to 250, so you can give the player multiple perks in one go
>Updated the ammo patch (From Glovz)

>get_perk_owed will now return 1 as soon as the player levels up, rather than only after they have visted the character screen

>Added an option to modify the encounter rate
>Make use of a higher resolution counter for world map fps counting if one is available
>More bugfixes

>Added an option to make world map encounters independent of world map travel speed. (From Ray, from
>Some bug fixes

>Added an option to remove the ability to escape dialogue by hitting 0. (From Ray, from
>Added new script functions: get_active_hand, toggle_active_hand, set_weapon_knockback, set_target_knockback, set_attacker_knockback, remove_weapon_knockback, remove_target_knockback, remove_attacker_knockback

>Made the world map speed patch independant of processor speed.

>Fixed some of the filter stuff that I managed to screw up...

>Added an option to use Glovz's AP ammo patch
>Added some upscaling filters (From Dream, from
>Fixed ForceEncounter preventing the encounter with horrigan if it was used to soon

>Added new script functions get/set_critter_current_ap
>Modified world map speed setting to work on copies of the fallout exe's without the speed patch already applied

>Added new script functions get_perk_owed, set_perk_owed, get_perk_available
>Fixed a bug in get_kill_counter function
>Fixed a few bugs introduced in 1.16b

>Added an option to double the number of available kill types
>Some performance tweaks

>Added new script functions get_kill_counter and mod_kill_counter

>Global scripts are now also loaded when the player starts a new game, instead of only when an existing game is loaded
>Added an option to enable the pipboy on game start
>Added a set_pipboy_available script function

>Added the ability to modify perks
>19 new set_perk_xxx functions to modify perks ingame

>You can now change the limit on how far away from the player local maps can be scrolled

>Added the option to change the starting day/month/year
>Fixed a 1.13 bug which broke female players

>You can now change the start and default player models
>You can now change the hardcoded in game movies
>Added new script functions (set_dm_model, set_df_model, set_movie_path)
>If you use the fallout2.exe included with killaps patch, sfall will no longer complain about an unsupported exe if you use the sharpshooter fix

>Added new script functions (get_world_map_x_pos, get_world_map_y_pos, set_world_map_pos)

>You can change the number of locations displayed in the locations list of the world map
>A fix for the bug that could cause the world map locations list to become unresponsive
>You can tell fallout to use a patch file other than patch000.dat
>You can change the version string that appears in the bottom right of the main menu
>You can use command line args to tell sfall to use a ini file other than ddraw.ini

>Fixed a possible crash releated to trying to load global scripts that don't actually exist

>Added the ability to tell fallout 2 to use a config file other than fallout.cfg
>Shaders now have access to the system tick count. (Create a non-static variable called 'tickcount')
>If using a dx9 mode, you can set up a key to toggle the global shader, and control when the shader gets used
>Added new script functions (in_world_map, force_encounter, set_shader_int, set_shader_float, set_shader_vector)

>Fixed a couple of issues with the dx9 graphics modes
>sfall no longer tries to load global scripts if you have the script extender turned off

>Added an option to display debug messages in fallout, or to print them to the debug log
>Added the ability to create global scripts. (Scripts that run independently of the loaded map, and are not attached to any object)
>Added new script functions (set_global_script_repeat, input_funcs_available, key_pressed)
>When using a dx9 graphics mode with a non 640x480 resolution and with multiple shaders running, the screen is no longer distorted

>Fixed mistake in ddraw.ini's default settings

>Fixed possible lock-up bug when using graphics mode 4 or 5

>If you use sfall with a version of fallout.exe that it wasn't built for, you get a useful error instead of the generic 'requires DirectX 3a' message
>If using a 16 bit colour mode, you can alter the speed of fades
>Added some extra graphics modes that use d3d9 for rendering instead of ddraw
>Can change the initial map to load when starting a new game
>Added some extra scripting functions. (game_loaded, graphics_funcs_available, load_shader, free_shader, activate_shader, deactivate_shader)

>If using the pathfinder fix, you can modify how fast game time moves when travelling across the world map
>If using an exe with the world map speed tweak applied, you can change how fast you physically move across the map
>Added a new script function (get_year)
>Fixed a bug when setting TimeLimit=-3 that could cause crashes before reaching the 13 year limit

>Added a fix for the pathfinder perk
>Added a new and improved fix for the 13 year time limit, that no longer results in the date wrapping around
>Added a new script function (tap_key)
>You can now set a key to toggle the speed tweak on and off

>Added some extra script functions. (get_critter_base_stat, get_critter_extra_stat, set_critter_base_stat and set_critter_extra_stat)
>Fixed parameter checking bug with set_pc_base_stat and set_pc_extra_stat
>get_pc_base_stat and get_pc_extra_stat now return 0 if an invalid stat id is given

>Fixed bug with get_pc_base_stat and get_pc_extra_stat returning incorrect values

>Added some extra script functions. (get_pc_base_stat, get_pc_extra_stat, set_pc_base_stat and set_pc_extra_stat)

>Added an option to reduce mouse sensitivity below fallouts normal minimum.
>Added the option to use a 16 bit colour mode in fallout 2. (Windowed 16 bit is a lot faster than windowed 8 bit)
>Added the sharpshoot perk perception fix for fallout 2
>Made a few extra functions available to scripts. (read_byte, read_short, read_int and read_string)

>More bugfixes to the time limit adjuster.

>Slight bugfix to the time limit adjuster

>Added an option to adjust the 13 year time limit in fallout 2
>Added an option to set the initial speed at game startup

>Restructured source code so that it's easier to add support for different exe versions
>Created a new dll for the v1.2 US version of fallout 1

>Added an option to bind the middle mouse button to a keyboard key. ('c' by default)
>Added a frameskip option when running in windowed mode.
>Fallout's DirectInput device is now used to control speed changes and any other keyboard input this mod requires, because GetAsyncKeyState is unreliable when DInput is in use
>Added an option to force DirectInput into background mode
>The mouse wheel scroll modifier can now be set to 0 to always scroll one click regardless of mouse and windows settings. (This is the new default.)

>The whole gameplay speed section of the mod can now be disabled, while still allowing windowed mode
>Added an option to let you use the mouse scroll wheel to scroll through your inventory and save menu.

>You no longer need to hex-edit fallout2.exe in order to get this mod working
>You can now edit the controls in ddraw.ini
>Added an additional option to run fallout in windowed mode

** Credits **

ravachol For the sharpshooter perk fix.
Noid For the debug patch
Glovz For the AP ammo patch
Dream For the upscaling filter code
Ray For the active hand and dialogue fix memory addresses, the encounter rate patch,
the combat_p_proc fix and the load multiple patch files option, and more
The J For the oblivion obse plugin that some of sfall's eax code is based on
Kanhef For the shiv item code address
KLIMaka For the imported procedure fix
Mash For the hero apperence mod
Helios For the skilldex mouse cursor patch, a bunch of scripting functions and the window rounding option

This FAQ refers only to the latest version. (2.1) If you are using an older version, update sfall before doing anything else.

== On startup, fallout crashes with a 'Failure initializing input devices' error. ==
In ddraw.ini, in the [input] section, change BackgroundKeyboard to 1 and see if that fixes the error. If it doesn't change BackgroundMouse to 1 too.

== Black screens/psychedelic colour schemes. ==
In ddraw.ini, in the [Graphics] section, change Mode to 4 or 5.

== Fallout refuses to run, displaying the message 'Fallout appears to be running in compatibility mode' ==
sfall doesn't play nicely with any compatibility mode settings, so it refuses to run with them turned on. Turn them all off. Do this by right clicking fallout2.exe, switching to the compatibility tab and unchecking everything.

== The world map stutters horribly, or the rate of random encounters is insanely high ==
In the [Misc] section of ddraw.ini, make sure WorldMapFPSPatch, WorldMapFPS and WorldMapDelay are all set to 0.

== Fallout refuses to run, displaying the message 'You're trying to use sfall with an incompatible version of fallout' ==
sfall requires a specific version of fallout2.exe. (specifically, the american version of v1.02) Don't try using it with anything else; it simply wont work.

In most cases, you can simply swap your exe out with the american one, and everything will work perfectly.

== A crash on startup mentioning a missing entry point in kernel32.dll ==
sfall requires windows xp or above. Don't try using it on windows 9x.

== Your virus scanner picks up the fallout exe and/or ddraw.dll as a generic virus ==
This is caused by the proactive defences side of the virus scanner noticing that fallout is displaying suspicious behaviour. Either turn behaviour analysis down/off, or add the fallout folder to its exclusion path. It's not a false positive as such, because sfall does indeed pull some stunts which would look suspicious to a virus scanner.

== Windows explorer hangs, consuming 100% cpu time ==
Not actually an sfall bug, but a problem with the way windows parses dll resources when you're using a multibyte character set. You need to be using a multibyte MUI like Chinese to trigger this one. Viewing a folder containing sfall will lock up windows explorer, and when running fallout it will be unable to load sfall's ddraw.dll causing it to assume direct x isn't installed properly. It seems to occur somewhat randomly, so there doesn't appear to be much I can do inside sfall to work around it.

== fallout crashes on startup with an error about directx not being installed ==
This can be caused by the windows explorer hang problem, so check if that applies to you.

If you're using graphics mode 4 or 5, then make sure your DirectX 9 installation is up to date. If you're on vista/win 7 and have DirectX 10/11 then it doesn't automatically mean that you have the latest version of DirectX9, so install it. Specifically, when using mode 4 or 5 sfall requires D3DX9_30.dll.

== Cannot edit ddraw.ini, or ddraw.ini edits don't seem to have any effect ==
If you're on vista, or windows 7 and have UAC enabled, then do _not_ install fallout 2 to the program files directory. Instead pick a path like 'C:\Games\Fallout2'. The same thing applies to any game that you wish to mod. The program files directory is protected by windows, and you'll find yourself either unable to modify the files in it, or your files will end up getting mixed with copies in the virtualstore.

Fakt hustej obrázek!

Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvek: 1 ] 

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník

Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Přejít na:  
Copyright © 2009 Forum Vaultu šílené brahmíny