Compare commits

...
97 Commits
Author SHA1 Message Date
NovaRain 51864eaf6a Merge branch 'develop' 2021-02-04 10:21:36 +08:00
NovaRain cd828b9717 Minor code format edits in ScriptExtender/LoadGameHook.cpp 2021-02-04 10:11:48 +08:00
NovaRain 030533207f Code edits to ScriptExtender/HookScripts
Updated Structs.h
2021-02-02 11:36:03 +08:00
NovaRain 1d42a2242c Separated the loading and initialization of global scripts
* now the loading occurs before the start of a new game.
2021-02-01 11:55:21 +08:00
NovaRain 191beb8e0c Small optimization for game_loaded script function 2021-01-31 10:30:18 +08:00
NovaRain c27d1468ec Minor edits to code and document 2021-01-31 00:48:04 +08:00
NovaRain 0941b4684c Moved GNW_win_refresh and related functions to new render.cpp 2021-01-30 09:52:05 +08:00
NovaRain 866c95599d Updated Structs.h and some other files 2021-01-30 08:24:59 +08:00
NovaRain c14966f0b9 Fixed the "Leave" event of the window region
* the event procedure was not triggered when the cursor moves to
a non-scripted window.
2021-01-29 12:42:40 +08:00
NovaRain 23d50410e2 Added SmallFrameFix option
Code style edit: use !boolean instead of (boolean == false) for some
checks.
2021-01-29 12:02:40 +08:00
NovaRain 9e250aeebb Removed unnecessary hack in Perks.cpp 2021-01-28 12:52:20 +08:00
NovaRain f2efc1978a Moved trait_adjust_stat and trait_adjust_skill functions 2021-01-28 11:13:39 +08:00
NovaRain 30cabcff2d Forgot to commit vcxproj for the previous commit 2021-01-27 11:39:44 +08:00
NovaRain 939cf8a089 Moved the code of item_total_size and adjust_fid functions 2021-01-27 11:26:39 +08:00
NovaRain c5ed504c62 Code edits 2021-01-27 10:44:42 +08:00
NovaRain f9157bee6d Changed the script name search algorithm from linear to binary 2021-01-25 12:39:33 +08:00
NovaRain 16843956b5 Changed "obj_under_cursor" for the movement cursor
* the function is not designed for use with it.

Code correction in Stats.cpp.
2021-01-25 11:34:03 +08:00
NovaRain 15564dc0ab Added an option about max HP calculation to the stats ini file
Added an update to the HP stats when the map is loaded first time.
Minor code edits.
2021-01-24 12:07:40 +08:00
NovaRain be6347ba9b Updated language translation files 2021-01-22 22:24:47 +08:00
NovaRain 671065baed Updated the code for party order attack 2021-01-22 14:18:55 +08:00
NovaRain 9e403e0e6b Added a new mode to NPC combat control mod (WIP) 2021-01-21 12:59:45 +08:00
NovaRain 88050850f7 Added a new example mod gl_auto_closebox
Updated engine structs/functions/variables for future use.
2021-01-20 10:17:01 +08:00
NovaRain 4618776322 Fixed flag setting/unsetting for non-door objects 2021-01-15 08:36:01 +08:00
NovaRain ef89748eda Fixed the format of some debug messages (#195) 2021-01-14 11:36:35 +08:00
NovaRain a1c038846a Changed HOOK_DESCRIPTIONOBJ to run for all types of objects (#293) 2021-01-14 10:44:47 +08:00
NovaRain ef0bdf1e3b Added a new hook: HOOK_ROLLCHECK 2021-01-13 23:26:19 +08:00
NovaRain bde6b94855 Added a new hook: HOOK_ADJUSTRADS
Fixed a crash bug in ScriptExtender.cpp from commit c736e39.
Some adjustments to the hook injection mechanism.
2021-01-13 11:11:32 +08:00
NovaRain 4535ec9e20 Added TagSkillMode option to the skills ini file
Added a fix to the radiation handling in the engine when an NPC is under
the player's control.

Code correction in Graphics.cpp.
2021-01-12 11:52:59 +08:00
NovaRain c736e39f9e Fixed the display issue in DX9 mode
* black screen or rainbow colors when returning to the game after using
Alt+Tab in dialogue.

ASM code correction in ScriptExtender.cpp.
2021-01-08 13:27:36 +08:00
NovaRain 83a91638c2 Fixed the ID assignment for script objects and party member's items
when saving the map
2021-01-08 10:01:12 +08:00
NovaRain 97c48909c0 Added TagSkillBonus option to the skills ini file
Fixed a crash in the previous commit.
2021-01-06 11:30:29 +08:00
NovaRain dfeafc3058 Added more options for tweaking some engine perks to the perks ini file
Added tweaks to include the perk level in the calculation of the bonus
value for "Salesman" and "Demolition Expert" perks.
2021-01-05 14:09:59 +08:00
NovaRain 1219571367 Added sfx volume reduction for objects located on a different map elev
Added a fix for AI weapon switching when not having enough APs
2021-01-03 10:45:52 +08:00
NovaRain 19f6d64e5b Added a new hook: HOOK_ADJUSTPOISON
Added a fix to the poison handling in the engine when an NPC is under
the player's control.
2020-12-30 22:11:02 +08:00
NovaRain 45a523f6ca Fix for previous commit 2020-12-27 09:27:46 +08:00
NovaRain 3798247a68 Added support for panning sfx sounds
Removed the tweak that adds the city name in the description for empty
save slots (commit b0a35ee)
2020-12-26 21:57:18 +08:00
NovaRain 279f91274e Modified some of the mechanics of "interface_overlay" function
Changed "intface_redraw" with one argument to redraw the specified
interface window.
2020-12-25 14:46:47 +08:00
NovaRain 9d5bfaa059 Added "interface_overlay" script function
* for creating an additional overlay on the top of the interface window.
(document WIP)
2020-12-23 11:46:17 +08:00
NovaRain 2bc94e8036 Added sfall_func7 and sfall_func8 new opcodes
Added 3 new attrType values to "get_window_attribute" function.
Minor code edits.
2020-12-22 16:55:17 +08:00
NovaRain d82db3f572 Added stereo support for SFX and speech ACM files
(for files at 44.1 kHz sample rate)

SFX sounds that are dependent on the gsound_compute_relative_volume_
function are excluded from the search for alternative formats.
2020-12-21 14:26:33 +08:00
NovaRain b24b5124d2 Added support for ACM files at 44.1kHz sample rate 2020-12-17 16:39:18 +08:00
NovaRain db5704f653 Renamed MPClient folder to DebugEditor
Renamed FalloutClient.exe to FalloutDebug.exe
2020-12-13 12:51:24 +08:00
NovaRain 2764d2c9bc Updated some code 2020-12-13 09:37:22 +08:00
NovaRain 66058dd975 Corrected code of some hook scripts 2020-12-13 08:45:29 +08:00
NovaRain 3550289ea6 Reverted support for the D3DFMT_A8 texture format 2020-12-10 07:19:50 +08:00
NovaRain 02fba6eda1 Removed unnecessary code in Graphics.cpp
Replaced the D3DFMT_A8 texture format with D3DFMT_L8.
Minor edits to documents.
Updated version number.
2020-12-09 10:44:57 +08:00
NovaRain ac233c710d Changed the numbering of args in hookscripts.txt (#345)
* because arg numbers are 0-indexed for related functions.
2020-11-16 09:15:26 +08:00
NovaRain be5447729e Re-ordered critical table fixes in Criticals.cpp. 2020-11-03 15:16:46 +08:00
NovaRain adb159c10d Reformatted critical table fixes in Criticals.cpp 2020-11-01 09:23:34 +08:00
NovaRain 324f4d5939 Fixed the "uncalled" critical tables for some critter types
ref: https://www.nma-fallout.com/threads/219827/
2020-10-30 21:53:58 +08:00
NovaRain 50755832e3 Merge branch 'develop' 2020-10-27 00:57:16 +08:00
NovaRain f04442d4b7 Reverted the change to Message module in the previous commit 2020-10-27 00:11:31 +08:00
NovaRain dcbd6b5a23 Cleaned up define_lite.h and command_lite.h
Commented out the empty exit() in Message module.
Minor code edits.
2020-10-26 11:20:26 +08:00
NovaRain f8aa6c449a Fixed the error handling in win_fill_color
Some code fixes.
2020-10-25 08:05:20 +08:00
NovaRain 65c4cf644a Added "win_fill_color" script function 2020-10-24 12:56:26 +08:00
NovaRain 97fde2950c Added support for drawing PCX images to draw_image, draw_image_scaled, and interface_art_draw
Fixed bug in TalkingHeads.cpp.
2020-10-23 23:23:09 +08:00
NovaRain a488e9fc5b Fixed the macro guard in command_lite.h and added two macros 2020-10-21 22:36:26 +08:00
NovaRain 914c653d69 Merge branch 'develop' 2020-10-18 07:22:34 +08:00
NovaRain 6d412e97fc Minor edits to PartyControl.cpp 2020-10-18 07:16:39 +08:00
NovaRain 1141348efe Added the ability for controlled critters to use Sneak skill in combat 2020-10-15 10:36:11 +08:00
NovaRain 5c9d512d12 Fixed and improved the code in Graphics module 2020-10-15 09:30:04 +08:00
NovaRain d36031613d Added the ability to change the poison level for critters 2020-10-12 20:45:39 +08:00
NovaRain cf277efc85 Corrected code in Arrays.cpp 2020-10-12 11:01:25 +08:00
NovaRain 9a3b770182 Code optimization for array expression 2020-10-11 10:13:52 +08:00
NovaRain fa9aa6dc6f Moved some code from Graphics.cpp to the new submodule GameRender.cpp
Minor edits to MetaruleExtender.cpp and notes.txt.
2020-10-11 01:08:59 +08:00
NovaRain 3d99f6ea66 Code correction in Functions.cpp
Updated global shader example files.
2020-10-09 08:52:14 +08:00
NovaRain a02d90a52e Updated define_extra.h 2020-10-08 15:38:24 +08:00
NovaRain ce5e9cd990 Updated example mod scripts 2020-10-08 15:33:37 +08:00
NovaRain c71ca95665 Added "combat_data" script function
Added a new argument to HOOK_COMBATDAMAGE.
Removed the check for valid objects from get/set_object_data functions.
Some code fixes.
2020-10-08 13:49:58 +08:00
NovaRain 2f750a8a4b Fixed broken Print() script function
Fixed the background image of the character portrait on inv/char screens.
Renamed "print_text" to "interface_print".
2020-10-06 11:46:13 +08:00
NovaRain ac28d7293b Added "print_text" script function 2020-10-05 14:38:53 +08:00
NovaRain 51dfee26d3 Removed InterfaceDontMoveOnTop from ddraw.ini (always enabled)
Added a fix to prevent toggling the cursor for a Transparent window.
2020-10-05 10:23:17 +08:00
NovaRain cbe6be6c46 Added support for transparent interface windows (#25) 2020-10-03 11:45:25 +08:00
NovaRain 349d217257 Fixed FrmFile struct in the previous commit 2020-09-29 09:02:56 +08:00
NovaRain 4e9d4f2f37 Some code refactoring
Added a value of 2 to TextureFilter option.
2020-09-28 12:04:08 +08:00
NovaRain 5eac185bfe Minor edits to the document in previous commit 2020-09-26 22:14:18 +08:00
NovaRain e696db4b7b Added "interface_art_draw" script function
Added an argument to "intface_redraw" function to redraw all interfaces.
2020-09-26 16:15:32 +08:00
NovaRain 88d9126b18 Changed the behavior of saving/restoring hook arguments
(no need to specify the number of args when executing a nested hook)
Reverted the change of argCount in some hooks.
Disabled an obsolete fix for MultiHexPathingFix.
2020-09-25 00:07:56 +08:00
NovaRain a1d18983e4 Added the ability to get Automap window pointer
Reorganized some code to prepare for later commits.
2020-09-24 15:14:25 +08:00
NovaRain 8179583160 Correction to the hooks code
Minor edits to some code.
2020-09-23 22:37:11 +08:00
NovaRain 876616fc7d Added a new argument to HOOK_TOHIT (#339)
Added hook type 3 to HOOK_WITHINPERCEPTION (when AI selects a target)

Extended the upper limit of set_pickpocket_max and set_hit_chance_max
script functions to 999.

Added a fix for combat_is_shot_blocked_ not taking the flags of critters
in the line of fire into account.

Minor edits to ASM code of some hooks.
2020-09-22 15:43:26 +08:00
NovaRain 008692bec7 Fixed the MMX buf_to_buf_ for warning C4799
Minor edits to ASM code of some hooks.
2020-09-21 21:30:08 +08:00
NovaRain 0dd8ea5335 Added loading multiple shader files for GlobalShaderFile option
Added a sharpen filter file as a global shader example.
Set TextureFilter to be enabled by default.
2020-09-21 12:54:42 +08:00
NovaRain bf9deabded Added TextureFilter option (restored from sfall 2.x) 2020-09-20 09:58:55 +08:00
NovaRain 11bcbe2013 Moved some engine function defines from Functions.cpp to Functions_def.h
Implemented a new "buf_to_buf" function (experimental)
* need to check the backward compatibility.
2020-09-19 10:02:16 +08:00
NovaRain 806e09e501 Corrected talking heads code of Use32BitHeadGraphics
Minor code correction.
2020-09-19 00:37:16 +08:00
NovaRain 2eb1c64bc3 Removed KeepWeaponSelectMode from ddraw.ini (always enabled)
Minor edits to code and documents.
2020-09-16 10:53:39 +08:00
NovaRain a9cde5757f Fixed temporary arrays being cleared when flushing the keyboard buffer (#337)
Added a message about failed initialization of the game and exit if an error occurs.
2020-09-15 11:33:57 +08:00
NovaRain f16ba16d21 Graphics: improved the performance of DX9 mode 2020-09-15 10:21:35 +08:00
NovaRain 0ce02e2a12 Graphics & Movies refactoring (WIP/unfinished) 2020-09-13 22:10:44 +08:00
NovaRain 96447ca1d3 Updated Ammo INI Loader example script mod
* now the INI will be read only once on script initialization, not
always being re-read on each map load.
2020-09-10 14:43:46 +08:00
NovaRain a7355ad937 Added the original Fallout 1 behavior to FastShotFix (#335) 2020-09-06 08:30:20 +08:00
NovaRain 2badb5fdd2 Added a fix to the weapon check in the Fast Shot trait (#335)
* changed range check to type+range check, the same fix is also applied
to FastShotTraitFix.

Added more info to the description of FastShotFix option.
2020-09-05 10:39:22 +08:00
NovaRain 282a491718 Fixed typo in sfall.h (#334) 2020-09-03 21:05:18 +08:00
NovaRain 43fcaf41e1 Fixed EncounterTableSize option (#333)
* the encounter messages were still limited to 50 entries per table when
the value for encounters is set to greater than 50.

Fixed building the path to multihex objects.
2020-09-03 14:20:23 +08:00
NovaRain 3df322b80e Tweaked the field of view check in ObjCanSeeObj_ShootThru_Fix
And fixed a bug when the target critter has the ShootTrhu flag set
(cannot be seen by the source)

Minor edits to some comments in previous commit.
2020-09-02 14:21:38 +08:00
NovaRain 0945382369 Added support for ACM audio file playback to soundplay script function
(with volume control, #331)

Added a volume control to reduce the volume for play_sfall_sound.
Added descriptions and constant defines to documents.
Some code optimization.
Updated version number.
2020-09-01 16:10:45 +08:00
162 changed files with 7038 additions and 3599 deletions
@@ -15,7 +15,8 @@ namespace FalloutClient {
if (args.Length == 1 && args[0] == "-debugedit") {
Application.Run(new DebugEditor(new EditorConnection()));
} else {
MessageBox.Show("The debug editor can only be run from the game.",
MessageBox.Show("The debug editor can only be run from the game.\n" +
"Use the key assigned to the DebugEditorKey option in ddraw.ini to run the debugger.",
"sfall Debug Editor", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
@@ -9,14 +9,13 @@
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FalloutClient</RootNamespace>
<AssemblyName>FalloutClient</AssemblyName>
<AssemblyName>FalloutDebug</AssemblyName>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -29,6 +28,7 @@
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>false</BootstrapperEnabled>
</PropertyGroup>
@@ -42,14 +42,14 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<DebugSymbols>true</DebugSymbols>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
+38 -9
View File
@@ -7,22 +7,51 @@
; be used to remove their hardcoded effects, and add new stat/skill effects
[PerksTweak]
;Change the penalty distance and distance bonus for 'Weapon Scope Range' weapon perk
;Changes the bonus for 'Master Trader' perk (ID 17)
;25 - default bonus
MasterTraderBonus=25
;Changes the distance bonus for 'Weapon Long Range' weapon perk (ID 58)
;2 - no bonus, 4 - default bonus
WeaponLongRangeBonus=4
;Changes the hit chance bonus for 'Weapon Accurate' weapon perk (ID 59)
;0 - no bonus, 125 - maximum bonus, 20 - default bonus
WeaponAccurateBonus=20
;Change the penalty distance and distance bonus for 'Weapon Scope Range' weapon perk (ID 64)
;0 - no penalty, 8 - default penalty
WeaponScopeRangePenalty=8
;2 - no bonus, 5 - default bonus
WeaponScopeRangeBonus=5
;Changes the distance bonus for 'Weapon Long Range' weapon perk
;2 - no bonus, 4 - default bonus
WeaponLongRangeBonus=4
;Changes the resistance bonuses for 'Vault City Inoculations' perk (ID 78)
;valid range: -100..100, 10 - default bonus
VaultCityInoculationsPoisonBonus=10
VaultCityInoculationsRadBonus=10
;Changes the hit chance bonus for 'Weapon Accurate' weapon perk
;0 - no bonus, 200 - maximum bonus, 20 - default bonus
WeaponAccurateBonus=20
;Changes the damage bonus per level for 'Demolition Expert' perk (ID 82)
;999 - maximum bonus, 10 - default bonus
DemolitionExpertBonus=10
;Changes the strength bonus for 'Weapon Handling' perk
;0 - no bonus, 10 - maximum bonus, 3 - default bonus
;Changes the damage bonus for 'Living Anatomy' perk (ID 97)
;125 - maximum bonus, 5 - default bonus
LivingAnatomyBonus=5
;Changes the damage bonus for 'Pyromaniac' perk (ID 101)
;125 - maximum bonus, 5 - default bonus
PyromaniacBonus=5
;Changes the skill bonus per level for 'Salesman' perk (ID 103)
;999 - maximum bonus, 20 - default bonus
SalesmanBonus=20
;Changes the percent chance for 'Stonewall' perk (ID 104)
;valid range: 0..100, 50 - default percent
StonewallPercent=50
;Changes the strength bonus for 'Weapon Handling' perk (ID 106)
;0 - no bonus, 10 - maximum bonus, 3 - default bonus
WeaponHandlingBonus=3
;##############################################################################
+17 -6
View File
@@ -1,11 +1,22 @@
;This file lets you set the formula for calculating skills
[skills]
BasedOnPoints=0 ;Set to 1 to base skill costs on spent points instead of current level
;Changes the initial bonus to skill level for tag skills
;valid range: 0..100, 20 - default bonus
TagSkillBonus=20
Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
SkillBase1=50 ;Big guns has a base of 50
SkillMulti2=10 ;Each point spent in energy weapons increases it by 10
SkillImage1=72
;Changes the behavior of tag skills
;Set to 1 to give the initial skill bonus to the fourth tag skill from "Tag!" perk (Fallout 1 behavior)
;Set to 2 to disable the double bonus of skill points for tag skills
;Set to 3 to use both modes
TagSkillMode=0
SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points
;Set to 1 to base skill costs on spent points instead of current level
BasedOnPoints=0
;Examples
;Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
;SkillBase1=50 ;Big guns has a base of 50
;SkillMulti2=10 ;Each point spent in energy weapons increases it by 10
;SkillImage1=72
;SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points
+4
View File
@@ -6,6 +6,10 @@
;multi[x] - where x is from 0 to 6, the multiplier of st/pe/en/etc.
;shift[x] - shifts the base stat before the multiplication
[Main]
;Set to 1 to take the bonus values of SPECIAL stats into account when calculating maximum hit points
;Set to 0 for the Fallout original behavior (bonus stats do not affect maximum hit points)
HPDependOnBonusStats=0
;max hp
[7]
+4
View File
@@ -12,6 +12,10 @@ PartyACMsg=AC:
PartyAddictMsg=Addict
NPCPickupFail=%s cannot pick up the item.
PartyOrderAttackHuman=I'll take care of it.|Okay, I got it.|Sounds like a plan.
PartyOrderAttackCreature=::Growl::
PartyOrderAttackRobot=::Beep::
[AppearanceMod]
RaceText=Race
StyleText=Style
+2 -2
View File
@@ -1,5 +1,4 @@
[Highlighting]
; DX scancode of a key to press to highlight items on the ground
; 42 - SHIFT key
Key=42
@@ -36,8 +35,9 @@ MotionScanner=0
;Set to 0 to disable
;Set to 1 to control all critters in combat
;Set to 2 to control all party members
;If you want to control only specific critters, uncomment the PIDList line and set a comma delimited list of PIDs
;Set to 3 to let you order party members to attack specified targets after your first attack instead of controlling them directly
Mode=0
;If you want to control only specific critters, uncomment the PIDList line and set a comma delimited list of PIDs
;PIDList=62,89,97,107,160,161
;Set a comma delimited list of perk IDs for perks to be inherited from the player during the combat control
+28 -22
View File
@@ -1,5 +1,5 @@
;sfall configuration settings
;v4.2.7
;v4.2.9
[Main]
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
@@ -44,7 +44,7 @@ SpeedMulti9=900
;The initial speed at game startup
SpeedMultiInitial=100
;Set to 1 to also affect the playback speed of mve video files without an audio track
;Set to 1 to also affect the playback speed of MVE video files without an audio track
AffectPlayback=0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@@ -69,10 +69,16 @@ WindowData=0
;Uncomment the option to use a hardware shader (requires DX9 graphics mode)
;The shader file <name>.fx must be placed in <GameRoot>\<master_patches>\shaders\ and must contain one technique with one or more passes
;You can specify multiple shader files, separated by commas
;GlobalShaderFile=global.fx
;Set to 1 to automatically enable linear texture filtering when the scale factor is not an integer
;Set to 2 to force-enable linear texture filtering
;This can be used in conjunction with the GlobalShaderFile option
TextureFilter=1
;Set to 1 to do the palette conversion on the GPU
;Set to 2 to do the palette conversion on the CPU
;Set to 2 to do the palette conversion on the CPU (used for compatibility with old video cards)
;Set to 0 to pick automatically
;GPU is faster, but requires v2.0 pixel shader support
GPUBlt=0
@@ -84,8 +90,8 @@ GPUBlt=0
;Requires DX9 graphics mode and v2.0 pixel shader support (see GPUBlt option)
Use32BitHeadGraphics=0
;Set to 1 to automatically search for alternative avi video files when Fallout tries to play the game movies
;Set to 2 to force avi videos to fit the screen width
;Set to 1 to automatically search for alternative AVI video files when Fallout tries to play the game movies
;Set to 2 to force AVI videos to fit the screen width
;Requires DX9 graphics mode
AllowDShowMovies=0
@@ -128,8 +134,8 @@ NumSoundBuffers=0
;Set to 1 to allow attaching sound files to combat float messages
AllowSoundForFloats=0
;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
;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
@@ -208,7 +214,7 @@ FastMoveFromContainer=0
;A key to press to open a debug game editor
;Set to 0 to disable, or a DX scancode otherwise
;Requires sfall debugging mode and FalloutClient.exe from the modders pack
;Requires sfall debugging mode and FalloutDebug.exe from the modders pack
DebugEditorKey=0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@@ -371,9 +377,9 @@ SaveInCombatFix=1
;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
;Set to 1 to enable additional weapon animation codes from o to 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'
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corresponds to 's' and 15 to 't'
AdditionalWeaponAnims=1
;Uncomment these lines to modify the default modifiers for aimed shots at specific bodyparts
@@ -534,12 +540,16 @@ RemoveCriticalTimelimits=0
;Change the colour of the font used on the main menu for the button text
;MainMenuBigFontColour=0x3C
;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)
;Alternative behaviors to the Fast Shot trait
;0 - Fallout 2 original behavior: -1 AP cost for ranged weapons; aimed attacks are disabled
;1 - Haenlomal's fix: aimed attacks are enabled for melee/unarmed weapons and HtH attacks
;2 - Alternative behavior: apply -1 AP cost to melee/unarmed weapons and HtH attacks
;3 - Fallout 1 original behavior: -1 AP cost for all weapons; aimed attacks are disabled
FastShotFix=1
;Set to 1 to fix the carry weight penalty of the Small Frame trait not being applied to bonus Strength points
SmallFrameFix=0
;Set to 1 to boost the maximum number of script names from 1450 to 10000
BoostScriptDialogLimit=0
@@ -556,8 +566,10 @@ CritterInvSizeLimit=100
;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
;Set a value greater than 40 to change the maximum encounter table size (enc_## in worldmap.txt)
;Default is 40, and the maximum is 100
;Note: Setting this greater than 50 requires renumbering all message lines for the encounter tables in worldmap.msg
;The messages for each table must be numbered from (3000 + table number * 100) to (3099 + table number * 100)
EncounterTableSize=0
;Set to 1 to disable the pipboy alarm button
@@ -701,9 +713,6 @@ WorldMapFontPatch=0
;Requires changing the color of subtitles in death.pal palette to white color (index 220) to display the text correctly
DeathScreenFontPatch=0
;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 the barter screen
FullItemDescInBarter=0
@@ -724,9 +733,6 @@ PartyMemberSkillFix=0
;Set to 2 to also skip loading the game/combat difficulty settings
SkipLoadingGameSettings=0
;Set to 1 to prevent the inventory/loot/automap interfaces from being placed on top of other script-created windows
InterfaceDontMoveOnTop=0
;Overrides the global variable number used to show the special death message of the Modoc toilet explosion
;Set to -1 to disable the special death message when the global variable is set
SpecialDeathGVAR=491
Binary file not shown.
+35 -29
View File
@@ -12,52 +12,58 @@ Requires sfall 3.5 or higher
*/
#include "..\headers\define_extra.h"
#include "..\headers\sfall\sfall.h"
#include "..\headers\sfall\define_extra.h"
procedure set_ammo_mod;
procedure start;
procedure map_enter_p_proc;
variable ammoIni;
variable ammoData;
variable enabled;
procedure set_ammo_mod begin
variable pid, dmg_mod, i := 1;
while (i > 0) do begin
pid := get_ini_setting(ammoIni + "|" + i + "|pid");
if (pid < 1) then break;
set_proto_data(pid, PROTO_AM_AC_MOD, get_ini_setting(ammoIni + "|" + i + "|ac_adjust"));
set_proto_data(pid, PROTO_AM_DR_MOD, get_ini_setting(ammoIni + "|" + i + "|dr_adjust"));
// dam_mult and dam_div must be positive integers
dmg_mod := get_ini_setting(ammoIni + "|" + i + "|dam_mult");
if (dmg_mod < 1) then dmg_mod := 1;
set_proto_data(pid, PROTO_AM_DMG_MULT, dmg_mod);
dmg_mod := get_ini_setting(ammoIni + "|" + i + "|dam_div");
if (dmg_mod < 1) then dmg_mod := 1;
set_proto_data(pid, PROTO_AM_DMG_DIV, dmg_mod);
i++;
end
//debug_msg("AmmoMod: " + ammoIni + " - set " + (i - 1) + " ammo protos.");
end
procedure start begin
variable i := 1, ammo, ammoPid, dmgMod;
if game_loaded then begin
ammoIni := get_ini_setting("ddraw.ini|Misc|DamageFormula");
if (ammoIni == 1 or ammoIni == 2) then
enabled := get_ini_setting("ddraw.ini|Misc|DamageFormula");
if (enabled == 1 or enabled == 2) then
ammoIni := "AmmoGlovz.ini";
else if (ammoIni == 5) then
else if (enabled == 5) then
ammoIni := "AmmoYAAM.ini";
else
ammoIni := "AmmoMod.ini";
enabled := get_ini_setting(ammoIni + "|1|pid");
if (enabled > 0) then call set_ammo_mod;
if (enabled <= 0) then return;
ammoData := create_array_map;
ammoPid := enabled; // pid from the first section
while (ammoPid > 0) do begin
ammo := create_array_map; // create permanent arrays
ammo.ac_adjust := get_ini_setting(ammoIni + "|" + i + "|ac_adjust");
ammo.dr_adjust := get_ini_setting(ammoIni + "|" + i + "|dr_adjust");
// dam_mult and dam_div must be positive integers
dmgMod := get_ini_setting(ammoIni + "|" + i + "|dam_mult");
ammo.dam_mult := dmgMod if (dmgMod > 0) else 1;
dmgMod := get_ini_setting(ammoIni + "|" + i + "|dam_div");
ammo.dam_div := dmgMod if (dmgMod > 0) else 1;
ammoData[ammoPid] := ammo;
i++;
ammoPid := get_ini_setting(ammoIni + "|" + i + "|pid");
end
call map_enter_p_proc;
debug_msg("Ammo INI Loader mod: " + ammoIni + " - set " + (i - 1) + " ammo protos.");
end
end
procedure map_enter_p_proc begin
if (enabled > 0) then call set_ammo_mod;
variable pid, values;
if (enabled > 0) then begin
foreach (pid: values in ammoData) begin
set_proto_data(pid, PROTO_AM_AC_MOD, values.ac_adjust);
set_proto_data(pid, PROTO_AM_DR_MOD, values.dr_adjust);
set_proto_data(pid, PROTO_AM_DMG_MULT, values.dam_mult);
set_proto_data(pid, PROTO_AM_DMG_DIV, values.dam_div);
end
end
end

Some files were not shown because too many files have changed in this diff Show More