Fallout 2 mod FO2 Engine Tweaks (Sfall)

Fo2 runs in dx9 mode with Sfall, but the mapper doesn't have such a feature, therefore I can't use it anymore. Anyone got any idea or solution for my problem? If I can't fix this, I will be out of Fo2 modding officially from now on.
About the color problem for FO2, have you tried using DirectDraw Compatibility Tool? If it can solve the color problem, you don't have to switch to sfall's(?) DX9 mode.
BTW, what are the version of your OS and your graphic card?
 
It's *not* the known color problem. Actually right now, the mapper screen simply stays black. Everything seems to work (I can press ESC + enter and the mapper closes, for example). First I had a tiny bit of like 100x100px in the top left corner which was totally messed up and now, like I wrote, the mapper screen simply stays black. No idea why.

Fo2 starts ok only if I run it in dx9 mode (4).

Using Win7 and a NVIDIA GeForce GTX 970 - with the GTX 560 TI which I had before, the mapper was still working.

/edit: my mapper m2_res.ini:

Code:
;The F2_RES Configuration file    07/06/11
;A High Resolution Mod For The Fallout2 Mapper
;
;Comments start with ;  anything on a line after a comment is not visible to program


[MAIN]
;##################################################################################################################
;Set the screen resolution here
;SCR_WIDTH=1280
;SCR_HEIGHT=720
SCR_WIDTH=1920
SCR_HEIGHT=1080

;Set the number of colours here
; 8 for 8bit colour output (original)
; 16 for 16bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
; 32 for 32bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
COLOUR_BITS=32        

;Hi-Res Patch data file and patch folder(Loaded after master.dat)
f2_res_dat=f2_res.dat
f2_res_patches=data\


[HI_RES_PANEL]
;##################################################################################################################

;if DISPLAY_LIST_DESCENDING=0 resolutions are listed from lowest to highest.
;if DISPLAY_LIST_DESCENDING=1 resolutions are listed from highest to lowest.
DISPLAY_LIST_DESCENDING=1


[MOVIES]
;##################################################################################################################

; if MOVIE_SIZE=0 - movies remain their original size.
; if MOVIE_SIZE=1 - movies will stretch to fit the screen while maintaining the aspect ratio of the original.
; if MOVIE_SIZE=2 - movies will stretch to fill the screen.
MOVIE_SIZE=1


[MAPS]
;##################################################################################################################


; if IGNORE_MAP_EDGES=0 - Hi-Res map scroll edges are enabled.
; if IGNORE_MAP_EDGES=1 - Hi-Res map scroll edges are ignored.
IGNORE_MAP_EDGES=0


; if IGNORE_PLAYER_SCROLL_LIMITS=0 - scroll limits from player are controlled by the variables SCROLL_DIST_X and SCROLL_DIST_Y found below.
; if IGNORE_PLAYER_SCROLL_LIMITS=1 - scroll limits from the player are ignored.
IGNORE_PLAYER_SCROLL_LIMITS=0

;SCROLL DISTANCE FROM PLAYER
;HALF_SCRN eqauls half the screen width when used by SCROLL_DIST_X.
;HALF_SCRN eqauls half the screen height width when used by SCROLL_DIST_Y.
SCROLL_DIST_X=HALF_SCRN ; ORIGINAL 480
SCROLL_DIST_Y=HALF_SCRN ; ORIGINAL 400

;Enabled/Disabled via the Settings menu in the Mapper.
;Used to switch between hi-res and original map scroll blockers.
;Sets resolution to 640x480 when using original blockers.
USE_ORIGINAL_SCROLL_BLOCKERS=0

;Used internally by the Mapper.
;Stores the list position of the last opened map.
CURRENT_MAP_NUM=3


[IFACE]
;##################################################################################################################

; if IFACE_BAR_MODE=0 - the bottom of the map view window sits at the top of the IFACE Bar.
; if IFACE_BAR_MODE=1 - the bottom of the map view window extends to the base of the screen and is overlapped by the IFACE Bar.
IFACE_BAR_MODE=0

;if IFACE_BAR_SIDE_ART=0 - Black, No Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=1 - Metal look Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=2 - Leather look Iface-bar side art used.
IFACE_BAR_SIDE_ART=1

;if IFACE_BAR_SIDES_ORI=0 - Iface-bar side graphics extend from the Iface-Bar to the Screen edges.
;if IFACE_BAR_SIDES_ORI=1 - Iface-bar side graphics extend from the Screen edges to the Iface-Bar.
IFACE_BAR_SIDES_ORI=0


;##################################################################################################################
[STATIC_SCREENS]

; if set to 0 - background image will display at its original size.
; if set to 1 - background image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - background image will stretch to fill the screen.
END_SLIDE_SIZE=1
HELP_SCRN_SIZE=1


[OTHER_SETTINGS]
;##################################################################################################################


;if DIALOG_SCRN_BACKGROUND=0 - Map and Iface-bar are VISIBLE while viewing the Dialog Screen.
;if DIALOG_SCRN_BACKGROUND=1 - Map and Iface-bar are HIDDEN while viewing the Dialog Screen.
DIALOG_SCRN_BACKGROUND=0

; if set to 1 - Enables the script limit fix -fixed by Timeslip.
INCREASE_SCRIPT_LIMIT=0

f2_res.ini:
Code:
;The F2_RES Configuration file    09/11/2011
;A High Resolution Mod For Fallout 2 
;
;Comments start with ;  anything on a line after a comment is not visible to program


;##################################################################################################################
[MAIN]

;Set the screen resolution here
SCR_WIDTH=1280
SCR_HEIGHT=720
;SCR_WIDTH=1024
;SCR_HEIGHT=768

;Set the number of colours here
; 8 for 8bit colour output (original)
; 16 for 16bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
; 32 for 32bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
COLOUR_BITS=8        

;Hi-Res Patch data file and patch folder(Loaded after master.dat)
f2_res_dat=f2_res.dat
f2_res_patches=data\


;##################################################################################################################
[HI_RES_PANEL]

;if DISPLAY_LIST_DESCENDING=0 resolutions are listed from lowest to highest.
;if DISPLAY_LIST_DESCENDING=1 resolutions are listed from highest to lowest.
DISPLAY_LIST_DESCENDING=1


;##################################################################################################################
[MOVIES]

; if MOVIE_SIZE=0 - movies remain their original size.
; if MOVIE_SIZE=1 - movies will stretch to fit the screen while maintaining the aspect ratio of the original.
; if MOVIE_SIZE=2 - movies will stretch to fill the screen.
MOVIE_SIZE=1


;##################################################################################################################
[MAPS]

; if EDGE_CLIPPING_ON=0 - area beyond map edges is visible.
; if EDGE_CLIPPING_ON=1 - area beyond map edges is hidden.
EDGE_CLIPPING_ON=1

; if IGNORE_MAP_EDGES=0 - Hi-Res map scroll edges are enabled.
; if IGNORE_MAP_EDGES=1 - Hi-Res map scroll edges are ignored.
IGNORE_MAP_EDGES=0

; if IGNORE_PLAYER_SCROLL_LIMITS=0 - scroll limits from player are controlled by the variables SCROLL_DIST_X and SCROLL_DIST_Y found below.
; if IGNORE_PLAYER_SCROLL_LIMITS=1 - scroll limits from the player are ignored.
IGNORE_PLAYER_SCROLL_LIMITS=0

;SCROLL DISTANCE FROM PLAYER
;HALF_SCRN eqauls half the screen width when used by SCROLL_DIST_X.
;HALF_SCRN eqauls half the screen height width when used by SCROLL_DIST_Y.
SCROLL_DIST_X=HALF_SCRN ; ORIGINAL 480
SCROLL_DIST_Y=HALF_SCRN ; ORIGINAL 400

;<EXPERIMENTAL> Extends the path finding range by increasing the number of path nodes.
;Multiples of 2000 nodes, 1=2000(original), 2=4000, 3=6000, ...etc, 20=40000(max).
NumPathNodes=1


;##################################################################################################################
[IFACE]

; if IFACE_BAR_MODE=0 - the bottom of the map view window sits at the top of the IFACE Bar.
; if IFACE_BAR_MODE=1 - the bottom of the map view window extends to the base of the screen and is overlapped by the IFACE Bar.
IFACE_BAR_MODE=0

;if IFACE_BAR_SIDE_ART=0 - Black, No Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=1 - Metal look Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=2 - Leather look Iface-bar side art used.
IFACE_BAR_SIDE_ART=1

;if IFACE_BAR_SIDES_ORI=0 - Iface-bar side graphics extend from the Iface-Bar to the Screen edges.
;if IFACE_BAR_SIDES_ORI=1 - Iface-bar side graphics extend from the Screen edges to the Iface-Bar.
IFACE_BAR_SIDES_ORI=0

;This will increase the width of the interface bar expanding the area used to display text.
;if IFACE_BAR_WIDTH=640 - Interface bar will remain at it's original width.
IFACE_BAR_WIDTH=800

;W.I.P. - A small mod that replaces the Ammo Metre.
;if ALTERNATE_AMMO_METRE=0 - Disabled.
;if ALTERNATE_AMMO_METRE=1 - Single colour, the colours used can be set below with the ALTERNATE_AMMO_LIGHT and ALTERNATE_AMMO_DARK options.
;if ALTERNATE_AMMO_METRE=2 - Changes colour depending how much ammo remains in your current weapon.
;if ALTERNATE_AMMO_METRE=3 - Divides the metre into several differently coloured sections.
ALTERNATE_AMMO_METRE=0

;ALTERNATE_AMMO_LIGHT and ALTERNATE_AMMO_DARK set the palette offsets of particular colours used when ALTERNATE_AMMO_METRE is set to 1.
;ALTERNATE_AMMO_LIGHT is the main colour, ALTERNATE_AMMO_DARK is the darker glow colour.
;Some posible combinations to try are:
;    green  - light 0xC4, dark 0x4B
;    yellow - light 0x3A, dark 0x42
;    orange - light 0x91, dark 0x9A
;    red    - light 0x84, dark 0x8C
ALTERNATE_AMMO_LIGHT=0xC4
ALTERNATE_AMMO_DARK=0x4B


;##################################################################################################################
[MAINMENU]

; if set to 0 - main-menu image will display at its original size.
; if set to 1 - main-menu image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - main-menu image will stretch to fill the screen.
MAIN_MENU_SIZE=1

; if set to 1 - hi-res main-menu graphics are used instead of original 'mainmenu.frm'.
USE_HIRES_IMAGES=1

; if set to 1 - menu-buttons, text & text-background are scaled up for better visibility when using hi-res graphics.
SCALE_BUTTONS_AND_TEXT_MENU=1


;##################################################################################################################
[STATIC_SCREENS]

; if set to 0 - background image will display at its original size.
; if set to 1 - background image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - background image will stretch to fill the screen.
DEATH_SCRN_SIZE=1
END_SLIDE_SIZE=1
HELP_SCRN_SIZE=1
SPLASH_SCRN_SIZE=1


;##################################################################################################################
[OTHER_SETTINGS]


;For UK, French & German versions
; if CD_CHECK=0 - Fallout2 will load without CD_ROM
; if CD_CHECK=1 - Fallout2 will check for the CD_ROM before running
CD_CHECK=0


;if DIALOG_SCRN_BACKGROUND=0 - Map and Iface-bar are VISIBLE while viewing the Dialog Screen.
;if DIALOG_SCRN_BACKGROUND=1 - Map and Iface-bar are HIDDEN while viewing the Dialog Screen.
DIALOG_SCRN_BACKGROUND=0

; Splash screen display time in seconds.
SPLASH_SCRN_TIME=0

ddraw.ini:
Code:
;sfall configuration settings
;v2.8

[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/german.ini

;Change to 0 to remove sfall update check
CheckForUpdates=1

;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 when fallout tries to play an acm
;This does not effect the play_sfall_sound and stop_sfall_sound script functions
AllowDShowSound=1

;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=4

;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
;GraphicsWidth=1024
;GraphicsHeight=768
GraphicsWidth=1280
GraphicsHeight=720

;This changes the settings of the hardware scaler in graphics modes 4 or 5
;Set to 0 to disable, 1 to use only if screen res > 640x480, 2 to use if screen res != 640x480 or 3 to use always
;To use a hardware scaler a file called 'global.fx' must be placed in data\shaders, and must contain one technique with one or more passes
GlobalShaderMode=0

;Set to something other than 0 to apply a software scaler in graphics modes 4 or 5
;This can be used instead of, or in addition to, the hardware global.fx shader
;This option is unsupported when using Mash's resolution patch
;0 - Default scaler
;1 - 2xSai
;2 - SuperEagle
;3 - Super2xSai
;4 - hq2x
;5 - AdvancedMame2x
;6 - letterbox
;7 - no scaling
ScaleFilter=0

;Set to 1 for a linear texture filter, or 0 to disable
TextureFilter=0

;Set to 1 to do the palette conversion on the gpu
;Faster, but incompatible with the Scalefilter and TextureFilter settings
;Requires v2.0 pixel shader support
GPUBlt=0

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Input]
;Set to 0 to disable everything in this section
;This will also disable any input related script extender functions and the keyboard commands used to control other sections!
Enable=1

;Set to 1 to enable the mouse scroll wheel to scroll through your inventory
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

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

;The modifier key you have to hold down to change any speed settings
;If 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=0x00

;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

;The modifier key you have to hold down to change any graphics 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
GraphicsModKey=-2

;Toggle the global shader on or off
ToggleGlobalShader=0x52

;Changes the current scaleing and texture filters
CycleScaleFilter=0
ToggleScaleFilter=0
ToggleTextureFilter=0

;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 toggle the highlighting of all items on the ground on the current map
ToggleItemHighlightsKey=42

;A key to press to open a debug game editor
DebugEditorKey=s

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Multiplayer]
;Set to 1 to enable the multiplayer server
;requires graphics mode 4 or 5
RunServer=0

;Send/recieve buffer size, default is 8192
;increase to prevent lag bursts when scrolling or at whole screen transitions (will increase latency)
;BufferSize=8392704
BufferSize=8192

;The minimum amount of time in ms sfall will wait before sending a frame refresh
MinFrameTime=100

;You'll probably want to set this to 1 unless you're playing over a 1gbit lan
;Only supported with a 640x480 or 1024x768 screen res
CompressFrames=1

;The port to create the server on
Port=4244

;A comma separated list of the PIDs that can be controlled by other players
NumPIDs=14
PIDlist=003e,00a0,00a1,0059,0061,006b,0088,00a2,0098,00a3,00a4,004f,0156,01d7

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Misc]

VersionString=Whispering Winds v.0.1.00 DE
;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=0x06000038
MainMenuFontColour=0x06000001

;PatchFile=shattered2_ger.dat
;StartingMap=00crash.map
;StartingMap=01town.map
;01house.map
;03entr.map
StartingMap=02westmo.map
;06bosdor.map
;04camp.map
;04obentr.map
;00intro.map
;06boslv1.map
;07tents.map
;05entr.map
;01farm2.map 
;StartingMap=09entr.map

MaleStartModel=hmlthr
MaleDefaultModel=hmlthr
FemaleStartModel=hflthr
FemaleDefaultModel=hflthr

DisablePipboyAlarm=0
Money1=41
Money2=519
;Money3=41

StartYear=2196
StartMonth=4
StartDay=14

PipBoyAvailableAtGameStart=1

;Movie1=blank.mve
;Movie2=blank.mve
;Movie3=blank.mve
;Movie4=blank.mve
;Movie5=blank.mve
;Movie6=blank.mve
;Movie7=blank.mve
;Movie8=blank.mve
;Movie9=blank.mve
;Movie10=blank.mve
;Movie11=blank.mve
;Movie12=blank.mve
;Movie13=blank.mve
;Movie14=blank.mve
;Movie15=blank.mve
;Movie16=blank.mve
;Movie17=blank.mve
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

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

DialogueFix=0
ScriptExtender=1

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

;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 fallouts GetDate function to return the correct year
TimeLimit=13

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

;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 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 fallout.cfg
DebugMode=2

;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=7

;To use a config file other than fallout.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 at once, uncomment the NumberPatchLoop line and set it to the number of files to check for
;PatchFile=patch%03d.dat
;NumberPatchLoop=100

;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 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 players 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
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 Combat Overhaul Mod.
;2 - Glovz's AP ammo tweak.
;5 - Haenlomal's Yet Another Ammo Mod.
DamageFormula=0

;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=0

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

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

;Uncomment and set to a comma delimited list of numbers to use a custom xp table.
;Players level is capped once the highest specified level is reached
XPTable=1000,3000,6000,10000,15000,21000,28000,36000,45000,55000,66000,78000,91000,105000,120000,136000,153000,171000,190000,210000

;Set to 1 to enable additional weapon animations 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

;Set to 1 to stop fallout from deleting non readonly protos at startup
;May have side effects, so don't use for regular gameplay
DontDeleteProtos=0

;Uncomment these lines to modify the default modifiers for aimed shots at specific bodyparts
;BodypartHitMod0=-40
;BodypartHitMod1=-30
;BodypartHitMod2=-30
;BodypartHitMod3=0
;BodypartHitMod4=-20
;BodypartHitMod5=-20
;BodypartHitMod6=-60
;BodypartHitMod7=-30
;BodypartHitMod8=0

;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)
;Must be 1 or 2 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=0

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

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

;Adjust how corpses effect line of fire
;Set to 1 to apply the same rules to bursts as to complete misses
;Set to 2 to completely block corpses from absorbing fire
CorpseLineOfFireFix=0

;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) to prevent 100% cpu use
ProcessorIdle=-1

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

;Causes npc's 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=0

;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=0

;Set to one to directly control party members in combat
ControlPartyMembers=0

;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 pip boy quest list, and remove the quests per area limit
UseScrollingQuestsList=0

;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 seperated by a comma.
CityRepsCount=20
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:703,19:64,18:65,25:66,9:294,20:308,23:696,50:696,16:702

;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

;Set to 1 to speed up the hp/ac counter animations
SpeedInterfaceCounterAnims=0

;These lines allow you to control the karma frm's displayed on the character screen
;KarmaFRMsCount=3
;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=0

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

;Uncomment to set the text colour of the exta 5 interface boxes
;The line must contain a 5 digits, each either a 0 for green or 1 for red
;BoxBarColours=00000

;Modify the maximum number of animations allowed to run on a map. (Default is 32)
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=0

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

;Set to 1 to fix the problem with melee weapon equiped npcs being unable to attack multi-hex critters
MultiHexPathingFix=0

;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 place a limit on the size of the objects a critter can carry, as well as weight
;Set the mode to 0 to disable, 1 to apply to pc only, 2 to apply to the pc and party members, or 4 to apply to all critters
;Add 8 to use the critters extra unused stat instead of for CritterInvSizeLimit for critters other than dude_obj
;i.e. STAT_unused - 10
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
;4 - Motion sensor is required to use the item highlight feature
MotionScannerFlags=1

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


;
;
;
; Debugging
;
;


[Debugging]
;No options in this section have any effect in the standard version of sfall
;They are specific to the debug build included in the modders pack
;This section is not effected by the 'UseCommandLine' option. It will always be read from the main ini

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

;If you're testing changes to the fallout exe, you can override the crc that sfall looks for here
ExtraCRC=0x00000000

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

;These options control what output is saved in the debug log

;Prints messages during sfall initialization
Init=1
;Prints messages relating to hook scripts
Hook=1
;Prints messages relating to scripting
Script=1
;Prints messages relating to the critical table
Criticals=0
 
Last edited:
I never need to use DX9 mode (both sfall and hi-res) on my spec (Win7 x64 + HD5850 or Core i3 built-in for my office desktop). I always use DirectDraw Compatibility Tool on FO2, even if hi-res patch does be able to solve the color problem.

my m2_res.ini:
Code:
;The F2_RES Configuration file    07/06/11
;A High Resolution Mod For The Fallout2 Mapper
;
;Comments start with ;  anything on a line after a comment is not visible to program


[MAIN]
;##################################################################################################################
;Set the screen resolution here
SCR_WIDTH=1280
SCR_HEIGHT=720

;Set the number of colours here
; 8 for 8bit colour output (original)
; 16 for 16bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
; 32 for 32bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
COLOUR_BITS=16

;Hi-Res Patch data file and patch folder(Loaded after master.dat)
f2_res_dat=f2_res.dat
f2_res_patches=data\


[HI_RES_PANEL]
;##################################################################################################################

;if DISPLAY_LIST_DESCENDING=0 resolutions are listed from lowest to highest.
;if DISPLAY_LIST_DESCENDING=1 resolutions are listed from highest to lowest.
DISPLAY_LIST_DESCENDING=1


[MOVIES]
;##################################################################################################################

; if MOVIE_SIZE=0 - movies remain their original size.
; if MOVIE_SIZE=1 - movies will stretch to fit the screen while maintaining the aspect ratio of the original.
; if MOVIE_SIZE=2 - movies will stretch to fill the screen.
MOVIE_SIZE=1


[MAPS]
;##################################################################################################################


; if IGNORE_MAP_EDGES=0 - Hi-Res map scroll edges are enabled.
; if IGNORE_MAP_EDGES=1 - Hi-Res map scroll edges are ignored.
IGNORE_MAP_EDGES=1


; if IGNORE_PLAYER_SCROLL_LIMITS=0 - scroll limits from player are controlled by the variables SCROLL_DIST_X and SCROLL_DIST_Y found below.
; if IGNORE_PLAYER_SCROLL_LIMITS=1 - scroll limits from the player are ignored.
IGNORE_PLAYER_SCROLL_LIMITS=1

;SCROLL DISTANCE FROM PLAYER
;HALF_SCRN eqauls half the screen width when used by SCROLL_DIST_X.
;HALF_SCRN eqauls half the screen height width when used by SCROLL_DIST_Y.
SCROLL_DIST_X=HALF_SCRN ; ORIGINAL 480
SCROLL_DIST_Y=HALF_SCRN ; ORIGINAL 400

;Enabled/Disabled via the Settings menu in the Mapper.
;Used to switch between hi-res and original map scroll blockers.
;Sets resolution to 640x480 when using original blockers.
USE_ORIGINAL_SCROLL_BLOCKERS=0

;Used internally by the Mapper.
;Stores the list position of the last opened map.
CURRENT_MAP_NUM=103


[IFACE]
;##################################################################################################################

; if IFACE_BAR_MODE=0 - the bottom of the map view window sits at the top of the IFACE Bar.
; if IFACE_BAR_MODE=1 - the bottom of the map view window extends to the base of the screen and is overlapped by the IFACE Bar.
IFACE_BAR_MODE=0

;if IFACE_BAR_SIDE_ART=0 - Black, No Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=1 - Metal look Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=2 - Leather look Iface-bar side art used.
IFACE_BAR_SIDE_ART=2

;if IFACE_BAR_SIDES_ORI=0 - Iface-bar side graphics extend from the Iface-Bar to the Screen edges.
;if IFACE_BAR_SIDES_ORI=1 - Iface-bar side graphics extend from the Screen edges to the Iface-Bar.
IFACE_BAR_SIDES_ORI=0


;##################################################################################################################
[STATIC_SCREENS]

; if set to 0 - background image will display at its original size.
; if set to 1 - background image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - background image will stretch to fill the screen.
END_SLIDE_SIZE=1
HELP_SCRN_SIZE=1


[OTHER_SETTINGS]
;##################################################################################################################


;if DIALOG_SCRN_BACKGROUND=0 - Map and Iface-bar are VISIBLE while viewing the Dialog Screen.
;if DIALOG_SCRN_BACKGROUND=1 - Map and Iface-bar are HIDDEN while viewing the Dialog Screen.
DIALOG_SCRN_BACKGROUND=0

; if set to 1 - Enables the script limit fix -fixed by Timeslip.
INCREASE_SCRIPT_LIMIT=0
f2_res.ini:
Code:
;The F2_RES Configuration file    08/03/2014
;A High Resolution Mod For Fallout 2 
;
;Comments start with ;  anything on a line after a comment is not visible to program


;##################################################################################################################
[MAIN]

; Affects Windows Vista/7/8 and above. Allows hi-res patch settings to be changed without admin privileges 
; if installed in the "Program Files" directory.
; When UAC_AWARE=0 the hi-res patches settings will be stored in the game folder as usual.
; When UAC_AWARE=1 the hi-res patches settings will be stored in the users roaming app data folder.
; For Vista this is usually "C:\Documents and Settings\'your user name'\Application Data\Fallout2".
; For Windows 7/8 this is usually "C:\Users\'your user name'\AppData\Roaming\Fallout2".
UAC_AWARE=0

; Set GRAPHICS_MODE=0 to enable Basic mode which supports resolution change only(required for sfalls Graphic modes). 
; Set GRAPHICS_MODE=1 to enable Direct Draw 7 mode. 
; Set GRAPHICS_MODE=2 to enable DirectX9 mode. 
GRAPHICS_MODE=1

; Set SCALE_2X=1 to scale the game x2.
; Note: This will increase the minimum resolution to from 640x480 to 1280x960.
SCALE_2X=0

; Set the Fullscreen resolution here.
SCR_WIDTH=1024
SCR_HEIGHT=768

; Set the Fullscreen colours here.
; 8 for 8bit colour output (original)
; 16 for 16bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
; 32 for 32bit colour output (set only if your not using Sfall with graphics modes 4 or 5)
COLOUR_BITS=16

; Set the Fullscreen refresh rate here. 
; Set REFRESH_RATE=0 for driver default.
REFRESH_RATE=0

; Set WINDOWED=1 to enable windowed mode. 
WINDOWED=1
WINDOWED_FULLSCREEN=0

; Window size and position data, Do not modify.
WIN_DATA=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000080400001B03000047

; Hi-Res Patch data file and patch folder(Loaded after master.dat)
f2_res_dat=f2_res.dat
f2_res_patches=data\


;##################################################################################################################
[INPUT]

; Set ALT_MOUSE_INPUT=0 to allow Sfalls mouse input functions to work.
; Set ALT_MOUSE_INPUT=1 to enable alternate mouse input control built into the hi-res patch.
ALT_MOUSE_INPUT=1

; Set EXTRA_WIN_MSG_CHECKS=1 to prevent the "NOT RESPONDING" error that may occur in windowed mode.
; Adds extra windows message checks to several loops during combat and fade effects.
; This setting is always enabled if ALT_MOUSE_INPUT=1.
EXTRA_WIN_MSG_CHECKS=0

; Set SCROLLWHEEL_FOCUS_PRIMARY_MENU=1 for inventory, barter, loot screens etc. to make mouse wheel control default to the PC's item list unless the cursor is hovering over another list.
SCROLLWHEEL_FOCUS_PRIMARY_MENU=1


;##################################################################################################################
[EFFECTS]

; Play the game in black and white.(Pixote's zany idea)
; Set IS_GRAY_SCALE=1 to enable.
IS_GRAY_SCALE=0


;##################################################################################################################
[HI_RES_PANEL]

; if DISPLAY_LIST_DESCENDING=0 resolutions are listed from lowest to highest.
; if DISPLAY_LIST_DESCENDING=1 resolutions are listed from highest to lowest.
DISPLAY_LIST_DESCENDING=1


;##################################################################################################################
[MOVIES]

; if MOVIE_SIZE=0 - movies remain their original size.
; if MOVIE_SIZE=1 - movies will stretch to fit the screen while maintaining the aspect ratio of the original.
; if MOVIE_SIZE=2 - movies will stretch to fill the screen.
MOVIE_SIZE=1


;##################################################################################################################
[MAPS]

; if EDGE_CLIPPING_ON=0 - area beyond map edges is visible.
; if EDGE_CLIPPING_ON=1 - area beyond map edges is hidden.
EDGE_CLIPPING_ON=0

; if IGNORE_MAP_EDGES=0 - Hi-Res map scroll edges are enabled.
; if IGNORE_MAP_EDGES=1 - Hi-Res map scroll edges are ignored.
IGNORE_MAP_EDGES=1

; if IGNORE_PLAYER_SCROLL_LIMITS=0 - scroll limits from player are controlled by the variables SCROLL_DIST_X and SCROLL_DIST_Y found below.
; if IGNORE_PLAYER_SCROLL_LIMITS=1 - scroll limits from the player are ignored.
IGNORE_PLAYER_SCROLL_LIMITS=1

;SCROLL DISTANCE FROM PLAYER
;HALF_SCRN eqauls half the screen width when used by SCROLL_DIST_X.
;HALF_SCRN eqauls half the screen height width when used by SCROLL_DIST_Y.
SCROLL_DIST_X=HALF_SCRN ; ORIGINAL 480
SCROLL_DIST_Y=HALF_SCRN ; ORIGINAL 400

;Extends the path finding range by increasing the number of path nodes.
;Multiples of 2000 nodes, 1=2000(original), 2=4000, 3=6000, ...etc, 20=40000(max).
NumPathNodes=2

; Set FOG_OF_WAR=1 to enable Fog Of War.
FOG_OF_WAR=0
; Set FOG_LIGHT_LEVEL between 0-10 to change the fog light level
; 0 = Off, 1 = darkest, 10 = brightest. See readme for further details.
FOG_LIGHT_LEVEL=0
ZOOM_LEVEL=1
IS_ZOOM_BOUND_BY_EDGES=0


;##################################################################################################################
[IFACE]

; if IFACE_BAR_MODE=0 - the bottom of the map view window sits at the top of the IFACE Bar.
; if IFACE_BAR_MODE=1 - the bottom of the map view window extends to the base of the screen and is overlapped by the IFACE Bar.
IFACE_BAR_MODE=0

;if IFACE_BAR_SIDE_ART=0 - Black, No Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=1 - Metal look Iface-bar side art used.
;if IFACE_BAR_SIDE_ART=2 - Leather look Iface-bar side art used.
IFACE_BAR_SIDE_ART=2

;if IFACE_BAR_SIDES_ORI=0 - Iface-bar side graphics extend from the Iface-Bar to the Screen edges.
;if IFACE_BAR_SIDES_ORI=1 - Iface-bar side graphics extend from the Screen edges to the Iface-Bar.
IFACE_BAR_SIDES_ORI=0

;This will increase the width of the interface bar expanding the area used to display text.
;if IFACE_BAR_WIDTH=640 - Interface bar will remain at it's original width.
IFACE_BAR_WIDTH=800

;W.I.P. - A small mod that replaces the Ammo Metre.
;if ALTERNATE_AMMO_METRE=0 - Disabled.
;if ALTERNATE_AMMO_METRE=1 - Single colour, the colours used can be set below with the ALTERNATE_AMMO_LIGHT and ALTERNATE_AMMO_DARK options.
;if ALTERNATE_AMMO_METRE=2 - Changes colour depending how much ammo remains in your current weapon.
;if ALTERNATE_AMMO_METRE=3 - Divides the metre into several differently coloured sections.
ALTERNATE_AMMO_METRE=3

;ALTERNATE_AMMO_LIGHT and ALTERNATE_AMMO_DARK set the palette offsets of particular colours used when ALTERNATE_AMMO_METRE is set to 1.
;ALTERNATE_AMMO_LIGHT is the main colour, ALTERNATE_AMMO_DARK is the darker glow colour.
;Some posible combinations to try are:
;    green  - light 0xC4, dark 0x4B
;    yellow - light 0x3A, dark 0x42
;    orange - light 0x91, dark 0x9A
;    red    - light 0x84, dark 0x8C
ALTERNATE_AMMO_LIGHT=196
ALTERNATE_AMMO_DARK=75


;##################################################################################################################
[MAINMENU]

; if set to 0 - main-menu image will display at its original size.
; if set to 1 - main-menu image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - main-menu image will stretch to fill the screen.
MAIN_MENU_SIZE=1

; if set to 1 - hi-res main-menu graphics are used instead of original 'mainmenu.frm'.
USE_HIRES_IMAGES=1

; if set to 1 - menu-buttons, text & text-background are scaled up for better visibility when using hi-res graphics.
SCALE_BUTTONS_AND_TEXT_MENU=1


; When using a hi-res background, MENU_BG_OFFSET_X & MENU_BG_OFFSET_Y equal the
; distances in pixels from the top button to Menu Background Graphic edges.
; For Fallout1 in Fallout2 engine mod, when using graphics from the Fallout1 Hi-Res patch.
;MENU_BG_OFFSET_X=-24
;MENU_BG_OFFSET_Y=-24
; For Fallout 2
MENU_BG_OFFSET_X=-14
MENU_BG_OFFSET_Y=-4


;##################################################################################################################
[STATIC_SCREENS]

; if set to 0 - background image will display at its original size.
; if set to 1 - background image will stretch to fit the screen while maintaining its aspect ratio.
; if set to 2 - background image will stretch to fill the screen.
DEATH_SCRN_SIZE=1
END_SLIDE_SIZE=1
HELP_SCRN_SIZE=1
SPLASH_SCRN_SIZE=1


;##################################################################################################################
[OTHER_SETTINGS]

; For UK, French & German versions
; if CD_CHECK=0 - Fallout2 will load without CD_ROM
; if CD_CHECK=1 - Fallout2 will check for the CD_ROM before running
CD_CHECK=0

; if DIALOG_SCRN_BACKGROUND=0 - Map and Iface-bar are VISIBLE while viewing the Dialog Screen.
; if DIALOG_SCRN_BACKGROUND=1 - Map and Iface-bar are HIDDEN while viewing the Dialog Screen.
DIALOG_SCRN_BACKGROUND=0

; Set DIALOG_SCRN_ART_FIX=1 to enable Continuum's new dialog screen graphic.
DIALOG_SCRN_ART_FIX=1

; Increases the length of time the Splash screen is displayed in seconds
SPLASH_SCRN_TIME=1

; Set to 1 to reduce CPU usage and heat generation by allowing the system to go idle. 
; This setting should not be enabled if Sfalls "ProcessorIdle" setting is also enabled as this will likly cause slowdowns.
CPU_USAGE_FIX=0

; Set to 1 to enable a small adjustment to the mouse selection rect for the PC's inventory on the barter window.
BARTER_PC_INV_DROP_FIX=1

; Original value = 60, decrease/increase this value to quicken/slowdown fade effects.
FADE_TIME_MODIFIER=60

; Set to 1 to enable, recalculates fade time length each time a transitional fade occurs.
; May be useful if the length of transitional fade effects seems to randomly change between game restarts.  
FADE_TIME_RECALCULATE_ON_FADE=0
 
Last edited:
Me neither... before I switched the graphic card. But now it's the only (known to me) way to make it work for me and the mapper doesn't support it.

I'll doubt the m2_res.ini and f2_res.ini are at fault here. If I exchange mine with yours, the problem is still the same- works in f2 with dx9 mode, and never works in the mapper.

/Edit: This one is interesting: if I start the mapper and make a screenshot (F12), the screenshot is working fine. So I'd say it has something to do with how the shit is displayed. Maybe it actually *is* somehow the result of my 3 monitor setup. Though, even if I disable all but one it doesn't help.
 
Last edited:
Another request for safe-keeping (I'll add these to the wiki later) in case you ever end up getting back to this: a reg_anim_set_frame function would be super awesome. anim(self_obj, ANIMATE_SET_FRAME, FRAME) just lets you set the frame in the stand animation (at least, I'm pretty sure it does), so something like reg_anim_set_frame(obj, animation, frame, delay) to freeze a critter in run animation, or fire animation would be really cool if feasible.
 
I think I've found a bug in the old "Sharphooter fix".

If http://fonlinedocs.netii.net/tohit2.c to-hit calculation is true to what FO2 uses, then to fix Sharpshooter perk to be in-line with its description these changes need to be made:
Code:
if (attacker_is_player) dist-=(perception-2)*distmod1;
changed into
Code:
if (attacker_is_player) dist-=(perception-2+player_sharpshooter_level)*distmod1;
and the following line removed:
Code:
if (attacker_is_player) dist-=2*player_sharpshooter_level;

As can be seen from the original calculation the to-hit bonus from the perk was added in final stages of the calculation and was unaffected by the distmod1 variable. This led to a flat bonus of 8% to-hit accuracy irrelevant of the weapon used. In case of weapons with distmod1=2 the final result was still correct, but for weapons with higher distmod1 it resulted in less to-hit bonus than should have been. That is, for distmod1=4 the resulted bonus should be 16% per perk level, and for distmod1=5 it should be 20%.

The problem is that current "Sharpshooter fix" implementation simply changes flat 8% into flat 16% to-hit bonus per perk level irrelevant of the weapon used, as if the line:
Code:
if (attacker_is_player) dist-=2*player_sharpshooter_level;
was changed into:
Code:
if (attacker_is_player) dist-=4*player_sharpshooter_level;


ALSO

This line:
Code:
 if (dist < distmod2) dist+=distmod2;

Results in scoped rifle penalty peaking at 7 hex and steadily decreasing the closer it gets. I think it should be like this instead:

Code:
 if (dist < distmod2) dist=2*distmod2-dist;

So that the result penalty would be inverted: peaking at 1 hex and decreasing the farther it gets.
 
Last edited:
@phobos2077, it seems that for some reason using custom UI button procedures breaks arrays (or I'm using them wrong and breaking them that way, but it seems only arrays are affected...):


Code:
procedure NodeActionButton1 begin
   variable arra;
   arra:=[1,12,14];
   display_msg("arra" + arra + "" + len_array(arra));
   call ActionButtonPressed(1);
end


here the len_array is -1 and in the procedure I call:


Code:
procedure ActionButtonPressed(variable action_button) begin
   variable arra;   
arra:=[1,12,14];
   display_msg("arra" + arra + "" + len_array(arra));
end


here len_array is -1 as well.

edit: aaaaaah, it's a temp_array issue again like with the list_as_array thing before, because create_array works fine. Another case of the game skipping frames within a procedure I guess.


edit: oh, and while I'm giving bug reports of things that probably aren't actually bugs: reg_anim_combat_check is absolutely fantastic, but forcing a critter to do his run animation during combat is still a big nono (it even crashes the game if you try to do it with the player). Or is running handled completely differently from other animations (probably, as it's part of movement)?
 
Last edited:
Because I started overriding pretty much everything in my mod, using separate hookscript files no longer made any kind of sense (if it did so to begin with), so I put together a testing template for sfall scripting with 20 hookscripts included (the ones I left out were the deathanim ones and hexblockai/shoot, which I can't imagine ever using and would just add clutter). Some of them have info included, others not so, eh, mileage will vary, but I still think it's useful for anyone starting sfall scripting from scratch:

Code:
procedure start;
procedure keypress;
procedure movecost;
procedure findtarget;
procedure tohit;
procedure calcapcost;
procedure mouseclick;
procedure afterhitroll;
procedure hexmoveblock;
procedure useskill;
procedure inventory_move;
procedure withinperception;
 procedure ammocost;
 procedure barterprice;
 procedure combatdamage;
 procedure itemdamage;
 procedure removeinvenobj;
 procedure steal;
 procedure useobj;
 procedure useobjon;
 procedure ondeath;




#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\define.h"
#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\command.h"
#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\sfall.h"
//#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\DUDE_DEFINES.h"
#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\define_extra.h"
#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\lib.arrays.h"
#include "C:\GOG.com\Fallout 2 Mapper\scripts\HEADERS\lib.math.h"


procedure start begin
  if game_loaded then begin
    register_hook_proc(HOOK_WITHINPERCEPTION, withinperception);
    register_hook_proc(HOOK_CALCAPCOST, calcapcost);
    register_hook_proc(HOOK_KEYPRESS, keypress);
    register_hook_proc(HOOK_MOVECOST, movecost);
    register_hook_proc(HOOK_FINDTARGET, findtarget);
    register_hook_proc(HOOK_TOHIT, tohit);
    register_hook_proc(HOOK_AFTERHITROLL, afterhitroll);
    register_hook_proc(HOOK_USESKILL, useskill);
    register_hook_proc(HOOK_INVENTORYMOVE, inventory_move);
    register_hook_proc(HOOK_MOUSECLICK, mouseclick);
    register_hook_proc(HOOK_HEXMOVEBLOCKING, hexmoveblock);
    register_hook_proc(HOOK_AMMOCOST, ammocost);
    register_hook_proc(HOOK_BARTERPRICE, barterprice);
    register_hook_proc(HOOK_COMBATDAMAGE, combatdamage);
    register_hook_proc(HOOK_ITEMDAMAGE, itemdamage);
    register_hook_proc(HOOK_REMOVEINVENOBJ, removeinvenobj);
    register_hook_proc(HOOK_STEAL, steal);
    register_hook_proc(HOOK_USEOBJ, useobj);
    register_hook_proc(HOOK_USEOBJON, useobjon);
    register_hook_proc(HOOK_ONDEATH, ondeath);
    
    set_global_script_type(0);
    set_global_script_repeat(1);
  end else begin
  end
end


procedure ondeath begin
   variable critter; // The critter that just died
end


procedure useobjon begin
    variable target:=get_sfall_arg;
    variable user:=get_sfall_arg;
    variable object:=get_sfall_arg;
    //set_sfall_return(value); //overrides hard-coded handler and selects what should happen with the item (0 - place it back, 1 - remove it, -1 - use engine handler)
end


procedure useobj begin
    variable user:=get_sfall_arg;   //The user
    variable object:=get_sfall_arg;   //The object used
    
    //set_sfall_return(value); //overrides hard-coded handler and selects what should happen with the item (0 - place it back, 1 - remove it, -1 - use engine handler)
end


procedure steal begin
  variable thief:=get_sfall_arg;   //Thief
  variable target:=get_sfall_arg;   //The target
  variable item:=get_sfall_arg;   //Item being stolen/planted
  variable is_planting:=get_sfall_arg;   //0 when stealing, 1 when planting
   //set_sfall_return(1);       //overrides hard-coded handler (1 - force success, 0 - force fail, -1 - use engine handler)
   
    //display_msg("hs_steal thief " + obj_name(thief));
    //display_msg("hs_steal target " + obj_name(target));
    //display_msg("hs_steal item " + item);
    //display_msg("hs_steal is_planting " + is_planting);
end


procedure removeinvenobj begin
   variable critter:=get_sfall_arg;
   variable item:=get_sfall_arg;
   variable number:=get_sfall_arg;
   variable reason:=get_sfall_arg;
end


procedure itemdamage begin
    variable min_dam:=get_sfall_arg;
    variable max_dam:=get_sfall_arg;
    variable weapon:=get_sfall_arg;
    variable attacker:=get_sfall_arg;
    variable type:=get_sfall_arg;
    variable melee:=get_sfall_arg;
    //set_sfall_return(min_dam);
    //set_sfall_return(max_dam);
    
end


procedure combatdamage begin
   variable target := get_sfall_arg;         // The target
   variable attacker := get_sfall_arg;         //The attacker
   variable target_damage := get_sfall_arg;         //The amount of damage to the target
   variable attacker_damage := get_sfall_arg;         //The amount of damage to the attacker
   variable target_flags := get_sfall_arg;         //The special effect flags for the target
   variable attacker_flags := get_sfall_arg;         //The special effect flags for the attacker
   variable attack_weapon := get_sfall_arg;         //The weapon used in the attack
   variable body_part := get_sfall_arg;         //The bodypart that was struck
   variable roll_result := get_sfall_arg;         //Roll result of the attack (check with is_success, etc functions; basically: 0-crit. fail, 1-fail, 2-success, 3-crit. success)
   variable cycle_value := get_sfall_arg;         //Number of bullets actually hit the target (1 for melee attacks)
   variable knockback := get_sfall_arg;         //The amount of knockback to the target
         
   //set_sfall_return(random_damage);          //    The damage to the target
   //set_sfall_return(0);                      //    The damage to the attacker
   //set_sfall_return(target_special_flag);          //    The special effect flags for the target
   //set_sfall_return(attacker_special_flag);          //  The special effect flags for the attacker
   //set_sfall_return(knockback);                      //  The amount of knockback to the target
end


procedure barterprice begin 
   variable dude:=get_sfall_arg;    // the critter doing the bartering (either dude_obj or inven_dude)
   variable critter:=get_sfall_arg; // the critter being bartered with
   variable value:=get_sfall_arg;   // the default value of the goods
   variable barter_critter:=get_sfall_arg;   // the barter critter (has all of the goods being traded in its inventory)
   variable caps:=get_sfall_arg;   // the amount of actual caps in the barter stack (as opposed to goods)
   variable value_before_skill:=get_sfall_arg;   // the value of all goods being traded before skill modifications
 
 
   //set_sfall_return(value_before_skill);       //the modified value of all of the goods
 
   //display_msg("hs_barterprice dude " + dude);
   //display_msg("hs_barterprice critter " + critter);
   //display_msg("hs_barterprice value " + value);
   //display_msg("hs_barterprice barter_critter " + barter_critter);
   //display_msg("hs_barterprice caps " + caps);
   //display_msg("hs_barterprice value_before_skill " + value_before_skill);
end


procedure ammocost begin
   variable weapon:=get_sfall_arg;   //weapon
   variable number:=get_sfall_arg;   //Number of bullets in burst (1 for single shots)
   variable cost:=get_sfall_arg;   //Ammo cost calculated by original function (this is basically 2 for Super Cattle Prod and Mega Power Fist)
   variable type:=get_sfall_arg;   //Type of hook (0 - when substracting ammo after attack, 1 - when checking for "out of ammo" before attack)


   //set_sfall_return(-1)       //new ammo cost value (set to 0 for unlimited ammo)
   
   //display_msg("hs_ammocost weapon " + weapon);
   //display_msg("hs_ammocost number " + number);
   //display_msg("hs_ammocost cost " + cost);
   //display_msg("hs_ammocost type " + type);
end


procedure withinperception begin
    variable watcher:=get_sfall_arg;   //Watcher object
    variable target:=get_sfall_arg;   //Target objet
    variable in_range:=get_sfall_arg;   //Result of vanilla function: 1 - within perception range, 0 - otherwise
    //set_sfall_return(in_range);
  	   
       //display_msg("hs_withinperception watcher " + obj_name(watcher));
       //display_msg("hs_withinperception target " + obj_name(target));
end
 
procedure  hexmoveblock begin
	variable attacker:=get_sfall_arg;
	variable tilenumber:=get_sfall_arg;
	variable elevation_is:=get_sfall_arg;
	variable blocking_is:=get_sfall_arg;
	if attacker == dude_obj then begin
   	//set_sfall_return(attacker);
   	//set_sfall_return(tilenumber);
   	//set_sfall_return(elevation_is);
   	//set_sfall_return(1);
   end
end
   
procedure mouseclick begin
   variable tmp_arr,blocker;
   variable type:=get_sfall_arg;   //event type: 1 - pressed, 0 - released
   variable button:=get_sfall_arg;   //button number (0 - left, 1 - right, up to 7)
   if in_game_map then begin
      if type == 0 then begin
         if button == 0 then begin
         end else if button == 1 then begin
         end
      end
   end
end


procedure inventory_move begin
      variable slot:=get_sfall_arg;    // Target slot (0 - main backback, 1 - left hand, 2 - right hand, 3 - armor slot, 4 - weapon, when reloading it by dropping ammo)
      variable item_moved:=get_sfall_arg; //  Item being moved
      variable item_replaced:=get_sfall_arg;   // Item being replaced or weapon being reloaded (can be 0)
      variable value:=-1;
      variable tmp_arr, ap_cost;
      set_sfall_return(value);       //Override setting (-1 - use engine handler, any other value - prevent relocation of item/reloading weapon)
end


procedure useskill begin
   variable critter:=get_sfall_arg;   //The user critter
   variable  target:=get_sfall_arg;   //The target object
   variable  skill:=get_sfall_arg;   //skill being used
   variable  bonus:=get_sfall_arg;   //skill bonus from items such as first aid kits
       //display_msg("hs_useskill critter " + obj_name(critter));
       //display_msg("hs_useskill object " + obj_name(target));
       //display_msg("hs_useskill skill " + skill);
       //display_msg("hs_useskill bonus " + bonus);
end 
procedure tohit begin
   variable hitchance:=get_sfall_arg;
   variable attacker:=get_sfall_arg;
   variable target:=get_sfall_arg;
  	variable bodypart:=get_sfall_arg;
  	//set_sfall_return(0);
end


procedure afterhitroll begin
    variable hit:=get_sfall_arg;
    variable attacker:=get_sfall_arg;
    variable target:=get_sfall_arg;
end


procedure calcapcost begin
    variable attacker:=get_sfall_arg;
    variable type:=get_sfall_arg;
    variable aimed:=get_sfall_arg;
    variable cost:=get_sfall_arg;
end


procedure movecost begin
   variable attacker;
   variable critter := get_sfall_arg;
   variable hexes := get_sfall_arg;
   variable cost := get_sfall_arg;
   //set_sfall_return(1000);
end


procedure findtarget begin
   variable attacker:=get_sfall_arg;
   variable possible_target_1:=get_sfall_arg;
   variable possible_target_2:=get_sfall_arg;
   variable possible_target_3:=get_sfall_arg;
   variable possible_target_4:=get_sfall_arg;
   
   //set_sfall_return(dude_obj);
   //set_sfall_return(dude_obj);
   //set_sfall_return(dude_obj);
   //set_sfall_return(dude_obj);
end


procedure keypress begin
   
   variable type:=get_sfall_arg;   //event type: 1 - pressed, 0 - released
   variable key_dx:=get_sfall_arg;   //key DX scancode
   variable key_vk:=get_sfall_arg;   //key VK code (very similar to ASCII codes)
   if type == 1 then begin
      if key_dx == (Q_key) then begin
      end else if key_dx == (W_key) then begin
      end else if key_dx == (E_key) then begin
		end else if key_dx == (K_key) then begin
		end else if key_dx == (T_key) then begin
		end else if key_dx == (R_key) then begin
		end else if key_dx == (D_key) then begin
		end else if key_dx == (F_key) then begin
		end else if key_dx == (G_key) then begin
		end else if key_dx == (H_key) then begin
		end else if key_dx == (V_key) then begin
         
		end
   end
end

just copy this to an empty script and name it to gltesttemplate or whatever. Remember to change the #include ones to reflect the folder you have your header files in.
 
With Jim merging Nirran's original scripts into one file, will something also be done about the SpeedInterfaceCounterAnims option going well into -990 HP (over-overkill) when a critter dies, at least the Dude critter, for Sfall 3.7? If not, can there be an excuse for the event that just ticks me into feeling like programming the destroy_p_proc procedure for dude_obj to trigger the Load Game menu instead of the Game Over screen?

I happen to already have a theory in case people are curious: the Pip-Boy keeps track of the wearer's health, should the person's life systems fail the little machine glitches because of the fatality.
 
Last edited:
Russians strike again

Modder calling himself Crafty got crafty :) and came up with more sfall fixes and addons.:clap:
Fallout 2
Code:
;Automatically reload weapon at the end of combatAutoReloadWeapon=1


;Enable view of free weight in an exchange window
FreeWeight=1


;Equip the best armor after closing of an exchange window
EquipArmor=1


;NPC armor mod, engine version (optimized for Restoration Project)
;Изменение вида сопартийца при изменении брони (настроено для RP)
;ArmorFile=Armor.ini




;Russian language encoding for character and savegame names.
;Поддержка русского языка при вводе имени игрока и описания к сохраняемой игре.
;1251 (1C,Fallout of Nevada)
XltTable=32,33,221,35,36,37,38,253,40,41,42,43,225,45,254,47,48,49,50,51,52,53,54,55,56,57,198,230,193,61,222,63,64,212,200,209,194,211,192,207,208,216,206,203,196,220,210,217,199,201,202,219,197,195,204,214,215,205,223,245,92,250,94,95,96,244,232,241,226,243,224,239,240,248,238,235,228,252,242,249,231,233,234,251,229,227,236,246,247,237,255,213,124,218
;866 (LevCorp,Fargus,Olympus 2207)
;XltTable=32,33,157,35,36,37,38,237,40,41,42,43,161,45,238,47,48,49,50,51,52,53,54,55,56,57,134,166,129,61,158,63,64,148,136,145,130,147,128,143,144,152,142,139,132,156,146,153,135,137,138,155,133,131,140,150,151,141,159,229,92,234,94,95,96,228,168,225,162,227,160,175,224,232,174,171,164,236,226,233,167,169,170,235,165,163,172,230,231,173,239,240,124,154


;Assigns a keyboard button to switch russian language encoding in-game.
;Клавиша переключения на кодировку из XltTable: 4 = Scroll Lock, 2 = Caps Lock, 1 = Num Lock
XltKey=4


;Turns off the effects of drug abuse to prevent skill books and perk gain exploits
;Отключение абуза эффектов от наркоты (чтение книг, получение перков и повышение скиллов)
DrugExploitFix=1


;Stack together identical weapon without bullets
;Позволяет складывать в одну пачку разряженные пушки в рюкзаке
StackEmptyWeapons=1


;Changes the penalty distance for perk Weapon Scope Range
;Изменение дистанции штрафа для перка Weapon Scope Range|Оптический прицел
;0=штрафа нет, 8=по умолчанию
RiflescopePenalty=0


;Assigns Fallout 2 window's name when you alt+Tab to the Desktop (works only for exe unpatched by HiRes mod)
;Заголовок окна (работает только, если не установлен High Resolution Patch (F2_RES))
;WindowName=FALLOUT:NEVADA
;WindowName=Olympus 2207


;Changes the way weapon reloading works when you drop the ammo onto a gun picture in the inventory:
;Изменение механизма перезарядки оружия перетаскиванием патронов на это оружие:
;-1 = vanilla behavior with a pop-up window to choose the amount of ammo to use
;-1 = оригинал с навязчивым окном для ввода количества пачек;
;0 = use all the ammo packs to reload
;0 = использовать все имеющиеся патроны;
;1 and more = (reserves extra magazines) - if the amount of ammo mags is more than the reserve, all the mags are used minus the specified reserve amount. And if the amount of ammo mags in the inventory is less or equal to the reserve, then only one mag is used.
;1 и больше = резервные пачки патронов - если имеющееся количество пачек патронов больше заданного
;резерва, то будут использованы все патроны за вычетом резерва, если меньше или равно резерву, то
;будет использована только одна пачка патронов.
ReloadReserve=1


;Fix "Pressing A to enter combat before anything else happens, thus getting infinite free running"
FakeCombatFix=0


;Disable pressing the area number key for unknown areas before entering the city map
DisableHotkeysForUnknownAreasInCity=0


;To leave the music playing in dialogue mode with talking heads
EnableMusicInDialogue=0


;To use more than one save slot for quick saving (F6) and without picking a slot beforehand. The number assigned is a number of save slots (1..10) to use for quick saving, cycling from the top one down and over to the earliest one. 
;Использование больше одного слота для быстрого сохранения (F6) и без предварительного выбора
;самого слота. Значение определяет количество используемых слотов (1..10) - отсчёт с первого
;слота, циклический перебор, перезаписывается самая ранняя игра.
AutoQuickSave=0


;To leave the sneak ability on for run-to-walk-to-use the item or scenery situation.
;Не отключать "Скрытность" при переходе с шага на бег
DontTurnOffSneakIfYouRun=0


[Debugging]
;Set to 1 to skip the executable file size check
SkipSizeCheck=0


;If you're testing changes to the fallout exe, you can override the crc that sfall looks for here
;ExtraCRC=0x00000000
Download link

And what's even more important Fallout 1 !!! He added plenty of fallout 2 only sfall features to sfall1

Code:
[Misc];To start a new game somewhere other than V13Ent.map, uncomment the next line and set it to the map you want to load
;StartingMap=


;To change the 'FALLOUT 1.2' 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 fallouts version number somewhere
;VersionString=Fallout %d.%d


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


;To change the default player models, uncomment the next two lines.
;MaleDefaultModel=hmjmps
;FemaleDefaultModel=hfjmps


;To change the various ingame movies, modify the next 14 lines
Movie1=iplogo.mve
Movie2=mplogo.mve
Movie3=intro.mve
Movie4=vexpld.mve
Movie5=cathexp.mve
Movie6=ovrintro.mve
Movie7=boil3.mve
Movie8=ovrrun.mve
Movie9=walkm.mve
Movie10=walkw.mve
Movie11=dipedv.mve
Movie12=boil1.mve
Movie13=boil2.mve
Movie14=raekills.mve


;To change the starting year, month or day, uncomment the next 3 lines
;StartYear=2161
;StartMonth=11
;StartDay=4


;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


;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=0x060000D7


;MainMenuCreditsOffsetX=0
;MainMenuCreditsOffsetY=0
;MainMenuOffsetX=0
;MainMenuOffsetY=0


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


;Set to 1 for force fallout not to use multiple processor cores even if they are available
SingleCore=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=0
;BodyHit_Right_Leg=-20
;BodyHit_Left_Leg=-20
;BodyHit_Eyes=-60
;BodyHit_Groin=-30
;BodyHit_Uncalled=0


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


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


;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) to prevent 100% cpu use
ProcessorIdle=-1


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


;Causes npc's 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=0


;Remove window position rounding
RemoveWindowRounding=0


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


;Set to 1 to speed up the hp/ac counter animations
SpeedInterfaceCounterAnims=0


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


;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 fix the issue with doors being able to dodge bullets.
DodgyDoorsFix=1


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


;Controls the speed of combat panel animations (lower - faster; valid range: 0..65535)
CombatPanelAnimDelay=1000
;Controls the speed of dialog panel animations (lower - faster; valid range: 0..255)
DialogPanelAnimDelay=33


;Automatically reload weapon at the end of combat
AutoReloadWeapon=1


;Changes the way weapon reloading works when you drop the ammo onto a gun picture in the inventory:
;Изменение механизма перезарядки оружия перетаскиванием патронов на это оружие:
;-1 = vanilla behavior with a pop-up window to choose the amount of ammo to use
;-1 = оригинал с навязчивым окном для ввода количества пачек;
;0 = use all the ammo packs to reload
;0 = использовать все имеющиеся патроны;
;1 and more = (reserves extra magazines) - if the amount of ammo mags is more than the reserve, all the mags are used minus the specified reserve amount. And if the amount of ammo mags in the inventory is less or equal to the reserve, then only one mag is used.
;1 и больше = резервные пачки патронов - если имеющееся количество пачек патронов больше заданного
;резерва, то будут использованы все патроны за вычетом резерва, если меньше или равно резерву, то
;будет использована только одна пачка патронов.
ReloadReserve=1


;Stack together identical weapon without bullets
StackEmptyWeapons=1


;Enable view of free weight in an exchange window
FreeWeight=1


;Russian language encoding for character and savegame names.
;Поддержка русского языка при вводе имени игрока и описания к сохраняемой игре.
;1251 (1C)
XltTable=32,33,221,35,36,37,38,253,40,41,42,43,225,45,254,47,48,49,50,51,52,53,54,55,56,57,198,230,193,61,222,63,64,212,200,209,194,211,192,207,208,216,206,203,196,220,210,217,199,201,202,219,197,195,204,214,215,205,223,245,92,250,94,95,96,244,232,241,226,243,224,239,240,248,238,235,228,252,242,249,231,233,234,251,229,227,236,246,247,237,255,213,124,218
;866 (Fargus)
;XltTable=32,33,157,35,36,37,38,237,40,41,42,43,161,45,238,47,48,49,50,51,52,53,54,55,56,57,134,166,129,61,158,63,64,148,136,145,130,147,128,143,144,152,142,139,132,156,146,153,135,137,138,155,133,131,140,150,151,141,159,229,92,234,94,95,96,228,168,225,162,227,160,175,224,232,174,171,164,236,226,233,167,169,170,235,165,163,172,230,231,173,239,240,124,154


;Assigns a keyboard button to switch russian language encoding in-game.
;Клавиша переключения на кодировку из XltTable: 4 = Scroll Lock, 2 = Caps Lock, 1 = Num Lock
XltKey=4


;Turns off the effects of drug abuse to prevent skill books and perk gain exploits
;Отключение абуза эффектов от наркоты (чтение книг, получение перков и повышение скиллов)
DrugExploitFix=1


;Fix "Pressing A to enter combat before anything else happens, thus getting infinite free running"
FakeCombatFix=0


;To leave the music playing in dialogue mode with talking heads
EnableMusicInDialogue=0


;Maximum player level (1..99); Default is 21
MaxPCLevel=21


;To use more than one save slot for quick saving (F6) and without picking a slot beforehand. The number assigned is a number of save slots (1..10) to use for quick saving, cycling from the top one down and over to the earliest one.
;Использование больше одного слота для быстрого сохранения (F6) и без предварительного выбора
;самого слота. Значение определяет количество используемых слотов (1..10) - отсчёт с первого
;слота, циклический перебор, перезаписывается самая ранняя игра.
AutoQuickSave=0


;To leave the sneak ability on for run-to-walk-to-use the item or scenery situation.
;Не отключать "Скрытность" при переходе с шага на бег
DontTurnOffSneakIfYouRun=0


;To set highlight color of NPCs in your line of sight
;Цвет контуров врагов не в пределах прямой видимости
;1=красный переливающийся - animated red
;2=красный - red
;4=серый - gray
;8=зелёный переливающийся - animated green
;16=жёлтый - yellow
;32=розовый - pink
ColorLOS=16


[Debugging]
;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 fallout.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


;Set to 1 to skip the executable file size check
SkipSizeCheck=0


;If you're testing changes to the falloutw.exe, you can override the crc that sfall looks for here
;ExtraCRC=0x00000000


;These option control what output is saved in the debug log
;Prints messages duing sfall initialization
Init=1
Download link
 
Last edited:
That…Drobovik…is going to need translation when Sfall hits 3.7, 'cause I don't understand any other Russian things besides "Da" (for yes) and "Nyet" (for no).
 
That's why I posted ddraw.ini files, english translation is above russian descriptions. Duhh:smile:

Or you meant the readme_rus file?
 
That's why I posted ddraw.ini files, english translation is above russian descriptions. Duhh:smile:

Or you meant the readme_rus file?
Both of them, not all settings are described and the readme_rus.txt mentions other things like… er, "obj_use_power_on_car".
 
Well, ddraw.ini is fully translated. Other stuff described in readme_rus.txt are bugfixes and how it was done. I might translate it latter.

obj_use_power_on_car is related to the bug when you try to use a power cell on a scenery object, engine will try to fuel the car. So it was fixed.
 
Some of the new options seem nice. And I just read the thread on fallout.ru, some bug fixes should be included in the official version.

@Slider2k, about the Sharpshooter fix
I think I've found a bug in the old "Sharphooter fix".
If http://fonlinedocs.netii.net/tohit2.c to-hit calculation is true to what FO2 uses, then to fix Sharpshooter perk to be in-line with its description these changes need to be made:
Code:
if (attacker_is_player) dist-=(perception-2)*distmod1;
changed into
Code:
if (attacker_is_player) dist-=(perception-2+player_sharpshooter_level)*distmod1;
<snip>
Shoudn't it be (perception-2+player_sharpshooter_level*2) ? Because in the description it says "+2 bonus to Perception" (in game) or "increase Perception
by +2" (in manual), seems to me that its main benefit is to nullify player's perception nerf.

BTW, it only has one level in FO2, but in FO1 there's no -2 perception nerf for player and it has two levels. It might be a bit OP if the same applies to FO1 IMO.

EDIT: Oh, just did some tests. The calculation has already been changed to (perception-2+player_sharpshooter_level*2). Thanks, Crafty. :)
 
Last edited by a moderator:
I've never really understood the differently numbered versions Crafty uploaded in his ZIP, why did he do so? I'm not implying the latest version is glitched out, just an oddity.
 
Well, it's not Crafty's doing:) It's mine.

I archived and categorized his work in that rar file. And those numbers, I thought pretty self-explanatory, are dates when ddraw.dll was compiled.
Why? For history, my friend. But if it's confusing here is a different link.
 
Back
Top