Fallout 2 mod FO2 Engine Tweaks (Sfall)

ah ok thnx

edit : ok it compiles now,however it still calculates to -1 from actual amnt gained
edit 2 : thnx again for the fix Nova

edit 3: can someone please exactly state what each of these do?

Code:
HOOK_BARTERPRICE (hs_barterprice.int)

Runs whenever the value of goods being purchased is calculated

critter arg1 - the critter doing the bartering (either dude_obj or inven_dude)
critter arg2 - the critter being bartered with
int     arg3 - the default value of the goods
critter arg4 - table of requested goods (being bought from NPC)
int     arg5 - the amount of actual caps in the barter stack (as opposed to goods)
int     arg6 - the value of all goods being traded before skill modifications
critter arg7 - table of offered goods (being sold to NPC)
int     arg8 - the total cost of the goods offered by the player
int     arg9 - set 1 if the "offers" button was pressed (not for a party member), otherwise 0

int     ret1 - the modified value of all of the goods

-------------------------------------------

im specificaly curious about

Code:
critter arg7 - table of offered goods (being sold to NPC)
int     arg8 - the total cost of the goods offered by the player

is 7 dude ptr?
is 8 dudes value of table?with gold or with out gold?
 
Last edited:
It's for player's combat turn only.

is 7 dude ptr?
is 8 dudes value of table?with gold or with out gold?
No, arg7 is the object pointer of the barter table on player's side.
arg8 is with caps.
 
Last edited:
sfall 4.1.1 is released on SourceForge, along with the modders pack.
Changelog said:
v4.1.1
Original engine bug fixes based on the work by Crafty:
>Added a fix for the encounter description being displayed in two lines instead of one
>Added a fix for the maximum text width of the player name in inventory
>Added a fix for the 'mood' argument of start_gdialog script function being ignored for talking heads

Various bug fixes and improvements based on the work by Mr.Stalin:
>Fixed broken get/reset_critical_table functions
>Improved the functionality of CritterInvSizeLimitMode and added party member's current/max inventory size info to the combat control panel
>Improved the functionality of AllowDShowSound: added volume control support and the ability to play alternative music files even if original acm files are not present in the music folder, and fixed initialization crash bug when DX9 mode is disabled
>Added a fix for the underline position in the inventory display window when the item name is longer than one line
>Added a fix for AI not picking up the requested object from the ground when there are different objects with the same ID
>Added an option to prevent the inventory/loot/automap interfaces from being placed on top of other script-created windows
>New script functions: get_current_inven_size, create_win, get/set_can_rest_on_map
EDIT: reword an entry on changelog.
 
Last edited:
Code:
>Added an option to allow windows created by vanilla script function to be placed on top of inventory/loot/automap interfaces
Holy shit. This also works for the PipBoy? If so, creating the Fo1 timer notes is easily possible then.
 
Code:
>Added an option to allow windows created by vanilla script function to be placed on top of inventory/loot/automap interfaces
Holy shit. This also works for the PipBoy? If so, creating the Fo1 timer notes is easily possible then.
Windows created from vanilla CreateWin function can already be placed on top of Pipboy interface.
 
Last edited:
Welll yeah, that always worked, but as soon as you've clicked anywhere else on the interface, your own window moved "behind" it.

/Edit: What about the interface at the bottom of the screen? If this works there as well, I can remove like 50% of my button script.
 
No, arg7 is the object pointer of the barter table on player's side.
arg8 is with caps.
tyvm

edit : i want to make dudes items for trade worth .25 what the table has on it(caps seperate),but isnt any ret with dudes value,is it possible?
 
Last edited:
edit : i want to make dudes items for trade worth .25 what the table has on it(caps seperate),but isnt any ret with dudes value,is it possible?
You might try using obj_is_carrying_obj_pid to get the amount of caps on player's table:
Code:
player_caps := obj_is_carrying_obj_pid(arg7, PID_BOTTLE_CAPS);
player_caps := player_caps * 3;

if arg7 == dude_obj then begin
    set_sfall_return(-1);
    set_sfall_return((arg8 + player_caps) / 4);
end
 
You might try using obj_is_carrying_obj_pid to get the amount of caps on player's table:
Code:
player_caps := obj_is_carrying_obj_pid(arg7, PID_BOTTLE_CAPS);
player_caps := player_caps * 3;

if arg7 == dude_obj then begin
    set_sfall_return(-1);
    set_sfall_return((arg8 + player_caps) / 4);
end


seems barter price hook has multiple set_sfall_returns,only one listed in the txt file,can u please list them all?
 
alrighty thnx Nova

edit :
Code:
int     ret1 - the modified value of all of the goods (pass -1 if you just want to modify offered goods)
int     ret2 - the modified value of all offered goods

that is exactly what i was looking for thnx much fro all the work all of u have done developing sfall
 
Last edited:
>Added a fix for AI not picking up the requested object from the ground when there are different objects with the same ID
Remark: The object was picked up, but could not immediately be used.
 
Last edited:
>Added a fix for AI not picking up the requested object from the ground when there are different objects with the same ID
Remark: The object was picked up, but could not immediately be used.
Oh, ok. So it should be changed to:
>Added a fix for AI unable to use the picked up object immediately when there is a different object with the same ID
 
Last edited:
sfall 4.1.1 is released on SourceForge, along with the modders pack.

EDIT: reword an entry on changelog.

Hi Nova,

I just did a fresh install of Fallout 2 + RP 2.3.3 + sfall 4.1.1. (Windows 10 64bit) and I get a crash ("the memory could not be read from") in Kaga encounter (1st around Klamath) + in the Den (around the "begger" + around Bobby) each time. Everything works OK with sfall from RP (3.3). It looks like it might be script related. Could you please verify that?

;sfall configuration settings
;v4.1.1

[Main]
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
UseCommandLine=0

;Uncomment and point to a file to get alternate translations for some sfall messages
TranslationsINI=./translations.ini

;Ensure that the RP ddraw.ini file is being used
ModifiedIni=42
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Sound]
;Sets the number of allowed simultaneous sound effects
;Set to 0 to leave the default unchanged (i.e. 4)
NumSoundBuffers=0

;Set to 1 to allow attaching sound files to combat float messages
AllowSoundForFloats=1

;Set to 1 to automatically search for alternative formats (mp3/wma/wav) when Fallout tries to play an acm
;Set to 2 to play alternative music files even if original acm files are not present in the music folder
;This does not effect the play_sfall_sound and stop_sfall_sound script functions
AllowDShowSound=0

;Set to 1 to override the music path used by default if not present in the cfg
;Set to 2 to overwrite all occurances of the music path
OverrideMusicDir=2

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Speed]
;Set to 0 to disable everything in this section
Enable=1

;The speeds corresponding to each slot in percent. (i.e. 100 is normal speed)
SpeedMulti0=50
SpeedMulti1=100
SpeedMulti2=150
SpeedMulti3=200
SpeedMulti4=300
SpeedMulti5=500
SpeedMulti6=1000
SpeedMulti7=100
SpeedMulti8=100
SpeedMulti9=100

;The initial speed at game startup
SpeedMultiInitial=100

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Graphics]
;Set to 0 for 8 bit fullscreen
;Set to 4 for DX9 fullscreen
;Set to 5 for DX9 windowed
;A DX9 mode is required for any graphics related script extender functions to work (i.e. fullscreen shaders)
;Modes 1, 2 and 3 are no longer supported
Mode=0

;If using a DX9 mode, this changes the resolution
;The graphics are simply stretched to fit the new window; this does _not_ let you see more of the map
;If set to 0, use Fallout's native resolution
GraphicsWidth=0
GraphicsHeight=0

;Set to 1 to do the palette conversion on the GPU
;Set to 2 to do the palette conversion on the CPU
;Set to 0 to pick automatically
;GPU is faster, but requires v2.0 pixel shader support
GPUBlt=0

;Set to 1 to allow using 32 bit graphics for talking heads
;Requires graphics mode 4 or 5, and GPUBlt set to 1
Use32BitHeadGraphics=0

;Set to 1 to automatically search for alternative avi video files when Fallout tries to play the game movies
;Requires graphics mode 4 or 5
AllowDShowMovies=0

;Fade effect time length percentage modifier
;Default is 100. Larger values make it slower, smaller values make it faster
FadeMultiplier=33

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Input]
;Set to 1 to enable the mouse scroll wheel to scroll through inventory, barter, and loot screens
UseScrollWheel=1

;The mouse Z position is divided by this modifier to calculate the number of inventory
;slots to scroll. My mouse moves 120 pixel in the z direction for one click of the mouse
;wheel, but this may vary depending on your mouse manufacturer and windows settings.
;Set to 0 to only ever scroll 1 click
ScrollMod=0

;Adjusts mouse sensitivity to some percentage of normal.
;Negative values are valid if you want your mouse axis reversed for some reason
MouseSensitivity=100

;DX scancode of a key to press when the middle mouse button is clicked
;The default of 0x30 toggles between your two weapons
;Set to 0 to disable
MiddleMouse=0x30

;Set to 1 to reverse the left and right mouse buttons
ReverseMouseButtons=0

;Set these to 1 if you want Fallout to access the keyboard or mouse in background mode
;Try these if you get the 'Failure initializing input devices' error
BackgroundKeyboard=0
BackgroundMouse=0

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

;The modifier key you have to hold down to change any speed settings
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
SpeedModKey=-1

;A key to press to toggle the speed tweak on or off
;Specify 0 if you don't want a toggle key, or a DX scancode otherwise
SpeedToggleKey=0

;The keys corresponding to the 10 speed slots
;Set to 0 to disable a slot, otherwise specify the DX scancode of the key you want to use
SpeedKey0=0x52
SpeedKey1=0x4f
SpeedKey2=0x50
SpeedKey3=0x51
SpeedKey4=0x4b
SpeedKey5=0x4c
SpeedKey6=0x4d
SpeedKey7=0x00
SpeedKey8=0x00
SpeedKey9=0x00

;A key to hold down to move the window around when using graphics mode 5
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
WindowScrollKey=0

;A key to press to reload your currently equipped weapon
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
ReloadWeaponKey=42

;A key to hold down to let you move/drop a whole stack of items at once without the 'Move Items' window
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
ItemFastMoveKey=0x1d

;A key to press to open a debug game editor (requires FalloutClient.exe from the modders pack)
;Set to 0 to disable, or a DX scancode otherwise
DebugEditorKey=0

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Misc]

;Time limit in years. Must be between -3 and 13
;Set to 0 if you want to die the instant you leave arroyo
;Set to -1 to remove the time limit, and automatically reset the date back to 2241 each time you would have reached it
;Set to -2 to remove the time limit without resetting the date. The game will lock up on 8th of March 2255
;Set to -3 to remove the time limit, automatically reset the date, but override Fallout's GetDate function to return the correct year
TimeLimit=13

;World map travel time percentage modifier
;Modifies how fast in game time passes while you're moving around the map screen without affecting encounter rate
;100 is normal speed, 0 stops time from passing
WorldMapTimeMod=100

;Set to 1 to enable functions relating to overriding the file system
UseFileSystemOverride=0

;Set to 1 to use the Fallout 1 code to control world map speed
WorldMapFPSPatch=1

;Controls the world map speed if WorldMapFPSPatch is 1. Higher values cause slower movement
WorldMapDelay2=66

;Set to 1 to enable Ray's patch to make world map encounter rate independent of your travel speed
;Higher values of WorldMapEncounterRate cause a slower encounter rate
WorldMapEncounterFix=0
WorldMapEncounterRate=5

;The number of slots available in the locations list panel of the world map
;Set to 0 to leave unchanged. 17 is default.
;Setting this greater than 17 requires a replacement background FRM, or you'll get glitched graphics
WorldMapSlots=21

;To start a new game somewhere other than artemple.map, uncomment the next line and set it to the map you want to load
;StartingMap=

;To change the 'FALLOUT II v1.02d' version string on the main menu, uncomment the next line
;You can use up to 2 %d's in this if you want to include Fallout's version number somewhere
VersionString=FALLOUT II 1.02.31 RP 2.3.3

;To use a config file other than fallout2.cfg, uncomment the next line and add the name of your new file
;ConfigFile=

;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
;If you want to check for multiple patch files, you can include a %d in the file name (sprintf syntax)
;By default, only the first patch file found will be used.
;If you want to load multiple patch files (up to 1000) at once, uncomment the MultiPatches line and set it to 1
PatchFile=DoNotUseAPatchFile.dat
;MultiPatches=0

;Set to 1 to use the modified data load order for the engine to find game data
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
DataLoadOrderPatch=0

;Set to 1 to enable loading alternative dialog msg files from text/language/dialog_female/ for female PC
;Set to 2 to also load subtitle files from text/language/cuts_female/ for female PC
FemaleDialogMsgs=0

;To change the default and starting player models, uncomment the next four lines.
;The default models can also be changed ingame via script
;MaleStartModel=hmwarr
;MaleDefaultModel=hmjmps
;FemaleStartModel=hfprim
;FemaleDefaultModel=hfjmps

;To change the various ingame movies, modify the next 17 lines
;Most of these can also be changed ingame via script.
Movie1=iplogo.mve
Movie2=intro.mve
Movie3=elder.mve
Movie4=vsuit.mve
Movie5=afailed.mve
Movie6=adestroy.mve
Movie7=car.mve
Movie8=cartucci.mve
Movie9=timeout.mve
Movie10=tanker.mve
Movie11=enclave.mve
Movie12=derrick.mve
Movie13=artimer1.mve
Movie14=artimer2.mve
Movie15=artimer3.mve
Movie16=artimer4.mve
Movie17=credits.mve

;To change the starting year, month or day, uncomment the next 3 lines
;Both StartMonth and StartDay are 0-indexed
;StartYear=-1
;StartMonth=-1
;StartDay=-1

;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines
;Defaults are 0x1E0 in the x direction and 0x190 in the y direction.
;Not compatible with the res patch!
;LocalMapXLimit=480
;LocalMapYLimit=400

;To add additional perks to the game, uncomment the next line and set it to point to a file containing perk information
;PerksFile=Perks.ini

;Set to 1 if you want the pipboy to be available at the start of the game
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
PipBoyAvailableAtGameStart=1

;Set to 1 to double the number of available kill types
;If you use this, you need to provide the extra descriptions in proto.msg (entries from 1450 to 1487 are names and 1488 to 1525 are descriptions)
;Changing this option mid game will not invalidate old save games, but the player's kill counters will be completely screwed.
;Setting this to 1 may cause problems if the player kills more than 32767 of any one critter type
;Additional kill types must have their new critical tables set! (See the OverrideCriticalTable option)
ExtraKillTypes=0

;Choose the damage formula used to calculate combat damage.
;Don't set this to anything other than 0 unless another mod you're using explicitly tells you to!
;0 - Fallout default
;1 - Glovz's Damage Fix
;2 - Glovz's Damage Fix with Damage Multiplier tweak
;5 - Haenlomal's Yet Another Ammo Mod.
DamageFormula=5

;Prevents you from using 0 to escape from dialogue at any time.
DialogueFix=1

;Prevents you from using number keys to enter unvisited areas on a town map
TownMapHotkeysFix=1

;Set to 1 to disable the horrigan encounter
DisableHorrigan=1

;Set to 1 to disable the random element in NPC levelling.
;This will cause all NPC party members to automatically level up as soon as the player reaches the requirements
NPCAutoLevel=1

;Change the initial starting location and world map viewport
;Leave at -1 for default
StartXPos=-1
StartYPos=-1
ViewXPos=-1
ViewYPos=-1

;Set to 1 to force Fallout not to use multiple processor cores even if they are available
SingleCore=1

;Set to 1 to override the art_chache_size setting in fallout2.cfg
OverrideArtCacheSize=1

;Prevents you from saving in combat except at the start of your turn to avoid a few bugs
;Note that even with this option enabled, it is still not advisable to save in combat at all.
;Set to 2 to block all saving in combat
SaveInCombatFix=1

;Point at an ini file containing elevator data
ElevatorsFile=Elevators.ini

;Uncomment and set a comma delimited list of numbers to use a custom xp table.
;Player's level is capped once the highest specified level is reached
;XPTable=50,100,200

;Set to 1 to enable additional weapon animation codes from o-t
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corrisponds to 's' and 15 to 't'
AdditionalWeaponAnims=1

;Uncomment these lines to modify the default modifiers for aimed shots at specific bodyparts
;BodyHit_Head=-40
;BodyHit_Left_Arm=-30
;BodyHit_Right_Arm=-30
;BodyHit_Torso_Uncalled=0
;BodyHit_Right_Leg=-20
;BodyHit_Left_Leg=-20
;BodyHit_Eyes=-60
;BodyHit_Groin=-30

;Set to 1 to use a CriticalOverrides.ini file to override the default critical table
;Set to 2 to use the default critical with bug fixes (doesn't require an ini)
;Set to 3 to use a new format CriticalOverrides.ini file, with preadded bug fixes
;If the ExtraKillTypes option is enabled, this should be set to 3, with containing entries for any new types
;Must be non-zero to use the edit/get/reset_critical script functions
OverrideCriticalTable=2

;Set to 1 to get notification of karma changes in the notification window
DisplayKarmaChanges=1

;Set to 1 to always reload messages, rather than only at map load
AlwaysReloadMsgs=1

;Set to 1 to force the player to play the idle animation when reloading their weapon
PlayIdleAnimOnReload=1

;Set to 1 to prevent corpses from blocking line of fire
CorpseLineOfFireFix=1

;Set a number of milliseconds to idle each input loop
;Set to -1 to disable
;Set to 0 to idle only if other processes are waiting for processor time
;Set to 1 (or some higher number if needed, the maximum is 127) to prevent 100% CPU use
ProcessorIdle=-1

;Set to 1 if using the hero appearance mod
EnableHeroAppearanceMod=1

;Set to 1 to skip the 3 opening movies
SkipOpeningMovies=0

;Causes NPCs who complete their combat turn with ap left over will try and find other ways to spend it.
;Only NPCs with ap left equal to or greater than the value given here will be considered.
;Set to 0 to disable
NPCsTryToSpendExtraAP=3

;Set to 1 to fix NPCs not checking weapon perks properly when searching for the best weapon
;Note that enabling this option can significantly affect the weapon choice of some NPCs in combat
AIBestWeaponFix=1

;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup
;Set to 1 to check all tiles on started (slow)
;Set to 2 if you provide a XLtiles.lst file in art/tiles/ containing a list of the tile ids that need checking
AllowLargeTiles=1

;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
MoreTiles=1

;Change the Skilldex cursor FRM numbers
;Default is 293 for all skills
Lockpick=293
Steal=293
Traps=293
FirstAid=293
Doctor=293
Science=293
Repair=293

;Remove window position rounding
RemoveWindowRounding=0

;Set to 1 to add scroll buttons to the pipboy quest list, and remove the quests per area limit
;Set to 2 to use a different set of scroll buttons
UseScrollingQuestsList=2

;To change the location of quest list scroll buttons, uncomment the next two lines
;Defaults are 140 for the X-axis and 334 for the Y-axis
;QuestsScrollButtonsX=140
;QuestsScrollButtonsY=334

;Uncomment these lines to control the premade characters offered when starting a new game
;Multiple options should be separated by commas, and there must be the same number of entries in both lines
;PremadePaths=combat,diplomat,stealth
;PremadeFIDs=201,203,202

;Use this line to modify the list of cities and their associated global variables used for city reputations
;Syntax is 'city id:global id', with each city/global pair separated by a comma.
;CityRepsList=0:47,2:48,1:49,4:50,5:51,3:52,8:53,6:54,7:55,13:56,10:57,11:59,14:61,17:63,19:64,18:65,25:66,9:294,20:308

;Set this to a valid path to save a copy of the console contents
;ConsoleOutputPath="bingle.txt"

;Set to 1 to add additional pages of save slots
ExtraSaveSlots=1

;To use more than one save slot for quick saving (F6 key) without picking a slot beforehand, set the next two lines
;AutoQuickSave sets how many save slots on a page you want to use for quick saving (valid range: 1..10)
;AutoQuickSavePage is the page number to use (valid range: 1..1000) if ExtraSaveSlots is enabled
;The quick saves will be rotated from the first slot on the page to the n-th slot
;Set to 0 to disable. AutoQuickSave will use page 1 if AutoQuickSavePage is disabled
AutoQuickSave=0
AutoQuickSavePage=0

;Set to 1 to speed up the HP/AC counter animations
;Set to 2 to update the HP/AC counters instantly
SpeedInterfaceCounterAnims=2

;These lines allow you to control the karma FRMs displayed on the character screen
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
KarmaFRMs=47,48,49
KarmaPoints=-100,100

;Set to 1 to allow science and repair to be used on the player, or 2 for all critters. (Rather than only brahmin/robots)
ScienceOnCritters=2

;Modify this value to change the player's speed of rotation on the inventory and character screens
;Default is 166
SpeedInventoryPCRotation=166

;Modify the number of the extra interface boxes available to modders. (Default is 5, and the maximum is 95)
BoxBarCount=5

;Uncomment to set the text colour of the extra interface boxes
;The line must contain the same number of digits as the value of BoxBarCount, each either a 0 for green or 1 for red
BoxBarColours=11111

;Set to 1 to fix the bug that caused bonus HtH damage to not be applied correctly.
BonusHtHDamageFix=1

;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
DisplayBonusDamage=0

;Set to 1 to display the range of the second attack mode in the inventory when you switch weapon modes in active item slots
DisplaySecondWeaponRange=1

;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
AnimationsAtOnceLimit=120

;Set to 1 to remove the limits that stop the player rolling critical successes/misses in the first few days of game time
RemoveCriticalTimelimits=1

;Set to 1 to enable party members with level 6 protos to reach level 6
NPCStage6Fix=1

;Change the colour of the font used on the main menu for the Fallout/sfall version number
;It's the last byte ('3c' by default) that picks the colour used. The first byte supplies additional flags
;MainMenuFontColour=0x0600003c

;Two alternate fixes to the interaction between HtH attacks and the fast shot trait
;0 - Fallout 2 original behaviour
;1 - Haenlomal's fix, called shots are enabled for HtH attacks
;2 - Restoring the -1 AP bonus for HtH attacks (i.e. Fallout 1 behaviour)
FastShotFix=1

;Allows you to edit the skill tables
;Point the next line at an ini file containing the replacement skill data
;SkillsFile=Skills.ini

;Set to 1 to boost the maximum number of script names from 1450 to 10000
BoostScriptDialogLimit=1

;To change the relationship between SPECIAL stats and derived stats, uncomment the next line
;See the Stats.ini in the modders pack for an example file
;DerivedStats=Stats.ini

;These options modify the checks to see if a critter can carry an additional item, changing which items are counted towards the weight limit and adding an additional size check
;Set the mode to 0 to disable the size check, 1 to apply to the PC only, 2 to apply to the PC and party members, or 3 to apply to all critters
;Only the PC uses CritterInvSizeLimit. Other critters will use the unused stat (STAT_unused = 10) or have the size limit of 100 if the stat is not set
;Add 4 to the mode to limit the weight check to used items only
;You can use line number 542/543 in proto.msg and line number 35 in inventry.msg to set up custom messages for item size
CritterInvSizeLimitMode=0
CritterInvSizeLimit=200

;Some bit flags to alter behaviour of the motion sensor
;1 - Allow sensor use on automap when motion sensor is in pack rather than hands
;2 - Motion sensor doesn't require charges
MotionScannerFlags=1

;Set to non-0 to adjust the maximum encounter table size
;Default is 40, and the maximum is 127
EncounterTableSize=0

;Set to 1 to disable the pipboy alarm button
DisablePipboyAlarm=0

;Uncomment the next four lines to move the main menu buttons and credit text (the 'Copyright(c)' line on the main menu)
;MainMenuOffsetX=0
;MainMenuOffsetY=0
;MainMenuCreditsOffsetX=0
;MainMenuCreditsOffsetY=0

;Prevents you from using super stims on a critter who is at full health.
SuperStimExploitFix=0

;Change the AP cost for accessing inventory in combat, and the related effect of Quick Pockets perk
InventoryApCost=4
QuickPocketsApCostReduction=2

;Set to 1 to allow objects seeing through other objects with their ShootThru flag set
ObjCanSeeObj_ShootThru_Fix=0

;Set to 1 to fix the broken obj_can_hear_obj script function
ObjCanHearObjFix=0

;Set to 1 to fix the mood argument of start_gdialog script function to be available for talking heads
;If the argument value is -1, the mood will be determined by the local variable 0 of the script (vanilla behavior)
StartGDialogFix=1

;Set to 1 to enable the balanced bullet distribution formula for burst attacks
ComputeSprayMod=1

;These options modify the bullet distribution of burst attacks if ComputeSprayMod is 1
;All the bullets are divided into three groups: central, left and right
;These three groups will then travel along three parallel tracks, trying to hit targets on the way
;CenterMult/Div set the ratio of how many bullets go to the central group, and remaining bullets are divided equally to left and right sides
;TargetMult/Div set the ratio of how many bullets in the central group will attack the primary target directly
;Multipliers are capped at divisor values
ComputeSpray_CenterMult=1
ComputeSpray_CenterDiv=3
ComputeSpray_TargetMult=1
ComputeSpray_TargetDiv=2

;Set to 1 to make explosions and projectiles emit light
ExplosionsEmitLight=1

;Uncomment these lines to change explosives damage. DmgMax can be set to 9999 at max, and DmgMin is capped at DmgMax
;Dynamite_DmgMax=50
;Dynamite_DmgMin=30
;PlasticExplosive_DmgMax=80
;PlasticExplosive_DmgMin=40

;Uncomment these lines to change the timers of how many days after the game starts Hakunin dream sequences will occur
;MovieTimer_artimer1=90
;MovieTimer_artimer2=180
;MovieTimer_artimer3=270
;MovieTimer_artimer4=360

;Set to 1 to enable the new arrays behavior
;Set to 0 for backward compatibility with pre-3.4 scripts
arraysBehavior=1

;Set to 1 to add proper checks if there is enough ammo to use weapons that use multiple ammo per shot
CheckWeaponAmmoCost=1

;To add additional books to the game, uncomment the next line and point to a file containing book information
;See the Books.ini in the modders pack for an example file
;BooksFile=Books.ini

;Controls the speed of combat panel animations (lower - faster; valid range: 0..65535)
CombatPanelAnimDelay=100
;Controls the speed of dialog panel animations (lower - faster; valid range: 0..255)
DialogPanelAnimDelay=33
;Controls the speed of pipboy alarm clock animations (lower - faster; valid range: 0..127)
PipboyTimeAnimDelay=33

;Set to 1 to stack empty identical weapons, no matter what type of ammo was loaded before
StackEmptyWeapons=1

;Changes the way weapon reloading works when you drag ammo onto a weapon in the inventory
;Set to -1 to disable (vanilla behavior with the 'Move Items' window)
;Set to 0 to use all the ammo boxes to reload
;Set to 1 or more to reserve the specified amount of ammo boxes and use all the rest to reload
;If the amount of ammo boxes in the inventory is less than or equal to the reserve, only one box will be used
ReloadReserve=1

;Set to 1 to change the counter in the 'Move Items' window to start at the maximum number of items
ItemCounterDefaultMax=1

;Allows 9 options (lines of text) to be displayed correctly in a dialog window
DialogOptions9Lines=1

;Set to 1 to leave the music playing in dialogue with talking heads
EnableMusicInDialogue=1

;Set to 1 to prevent the player from running while sneaking without Silent Running perk
DontTurnOffSneakIfYouRun=1

;Set to 1 to fix the bug that unable to sell used geiger counters or stealth boys
CanSellUsedGeiger=1

;Set to 1 to fix the issue with being able to charge the car by using cells on other scenary/critters
;Set to 0 if another mod you're using has custom vehicles
CarChargingFix=1

;Set to 1 to skip weapon equip/unequip animations when performing various actions
InstantWeaponEquip=1

;To add additional game msg files, uncomment the next line and set a comma delimited list of filenames without .msg extension
;By default, the files will have consecutive numbers assigned beginning with 0
;You can use the syntax 'filename:number' to manually assign numbers to specific msg files, with each pair separated by a comma
;If a file after the specified pair does not have a number assigned, it will have the next consecutive number from the last pair
;You need to use the message_str_game script function to get messages from the files
;ExtraGameMsgFileList=

;Set to 1 to display numbered dialogue options
NumbersInDialogue=0

;Set to 1 to use Fallout's normal text font instead of DOS-like font on the world map
WorldMapFontPatch=1

;Set to 1 to keep the selected attack mode when moving the weapon between active item slots
KeepWeaponSelectMode=1

;Set to 1 to display full item description for weapon/ammo in barter screen
FullItemDescInBarter=1

;Set to 1 to display experience points with the bonus from Swift Learner perk when gained from non-scripted situations
DisplaySwiftLearnerExp=1

;Set to 1 to prevent the inventory/loot/automap interfaces from being placed on top of other script-created windows
InterfaceDontMoveOnTop=1

;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
CreditsAtBottom=0

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Scripts]
;Comma-separated list of masked paths to load global scripts from
;Only use single slash \ as directory separator
;Paths outside of scripts folder are supported
GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Debugging]
;Extra sfall configuration settings that can be used by modders
;This section is not effected by the 'UseCommandLine' option. It will always be read from the main ini

;Set to 1 to enable sfall debugging mode
Enable=1

;Fallout 2 Debug Patch
;Set to 1 to enable debugging output to screen or 2 to create a debug.log file
;While you don't need to create an environment variable, you do still need to set the appropriate lines in fallout2.cfg
;-------
;[debug]
;mode=environment
;output_map_data_info=1
;show_load_info=1
;show_script_messages=1
;show_tile_num=1
;[sound]
;debug=1
;debug_sfxc=1
;-------
DebugMode=0

;Change to 1 to skip the compatibility mode check
SkipCompatModeCheck=0

;Set to 1 to skip the executable file size check
;Does not require enabling sfall debugging mode
SkipSizeCheck=0

;If you're testing changes to the Fallout exe, you can override the CRC that sfall looks for here
;You can use several hex values, separated by commas
;Does not require enabling sfall debugging mode
;ExtraCRC=0x00000000,0x00000000

;Set to 1 to stop Fallout from deleting non readonly protos at startup
;Has pretty nasty side effects when saving/reloading, so don't use for regular gameplay
DontDeleteProtos=0

;Set to 1 to give scripts direct access to Fallout's address space, and to make arbitrary calls into Fallout's code
AllowUnsafeScripting=1

;Set to 1 to force sfall to inject all hooks code into the game, even if corresponding hook scripts don't exist
InjectAllGameHooks=0

;These options control what output is saved in the debug log (sfall-log.txt)

;Prints messages duing sfall initialization
Init=0
;Prints messages relating to hook scripts
Hook=0
;Prints messages relating to scripting
Script=0
;Prints messages relating to the critical table
Criticals=0

Thank you in advance.
 
Hi Nova,
I just did a fresh install of Fallout 2 + RP 2.3.3 + sfall 4.1.1. (Windows 10 64bit) and I get a crash ("the memory could not be read from") in Kaga encounter (1st around Klamath) + in the Den (around the "begger" + around Bobby) each time. Everything works OK with sfall from RP (3.3). It looks like it might be script related. Could you please verify that?
Is the error message you got:
The instruction at 0261bef7 referenced memory at 00000064
The memory could not be read from
It seems the crash is from some NPCs force-started dialog, try disabling StartGDialogFix.
 
Last edited:
The sfall readme says not to overwrite the ddraw.ini if you are using RP. I am wondering how I can get some of the sfall features from the newer versions while maintaining the old ini for RP. For instanced the ini from RP does not include an option to change how Fast Shot interacts with unarmed and I would like to be able to change that option. Thanks!
 
The sfall readme says not to overwrite the ddraw.ini if you are using RP. I am wondering how I can get some of the sfall features from the newer versions while maintaining the old ini for RP.
You need to manually copy the new settings to RP's. You can try to use some comparison tools like WinMerge.
 
Back
Top