Compare commits

..
280 Commits
Author SHA1 Message Date
NovaRain f51e9c8ef5 Updated french.ini (from HawK-EyE) 2021-06-26 23:09:12 +08:00
NovaRain 82539365a8 Fixed the algorithm for sorting the quest list (#397) 2021-06-21 06:09:32 +08:00
NovaRain a6b555bafc Fixed black screen after starting a new game w/o HRP (#395) 2021-06-20 08:40:03 +08:00
NovaRain f3e30ea0d5 Fixed item duplication bug in HOOK_INVENTORYMOVE (#396)
Code edits to Animations.cpp regarding locking anim slots.
Updated version number.
2021-06-20 02:07:07 +08:00
NovaRain 0b185a2022 Fixed code in Animations.cpp for commit 7bf1067 (#393, #394) 2021-06-10 08:41:33 +08:00
NovaRain 83a44f27b9 Minor code edits to BugFixes.cpp 2021-06-09 21:12:44 +08:00
NovaRain 74cfcaed77 Code edits to ReplacementFuncs and engine defines 2021-06-09 11:19:46 +08:00
NovaRain b3a91c673a Fixed chem_primary_desire values not being saved correctly for PMs 2021-06-08 13:26:02 +08:00
NovaRain 8a226b3139 Fixed infinite loop in combat with AIDrugUsePerfFix 2021-06-08 07:07:27 +08:00
NovaRain 34367efc62 Fixed friendly fire check not running for unset area_attack_mode 2021-06-07 06:58:55 +08:00
NovaRain 7bf106751f Disabled the improved implementation of animation registration
(for release build)

Updated version number and Russian translation file.
2021-06-06 09:19:17 +08:00
NovaRain 6885fcc2c0 Merged win2k build into release build 2021-06-06 09:14:21 +08:00
NovaRain f7a1bd604f Some edits to documents
Removed txt version of arrays, hookscripts, and function notes.
2021-06-01 11:08:15 +08:00
NovaRain 493485724b Minor code edits 2021-06-01 09:53:04 +08:00
NovaRain 3f001f2235 Added a debug message about missing combat object 2021-05-30 12:14:01 +08:00
NovaRain f9a61d62ef Fixed incorrect object type search when loading a game saved in combat 2021-05-29 10:37:46 +08:00
NovaRain dd016eac21 Added markdown version of function notes and opcode list 2021-05-28 22:14:23 +08:00
NovaRain f9b6fce195 Code edits to converge with 4.x 2021-05-28 11:42:38 +08:00
NovaRain 043d790a75 Removed "proto_exists" function in previous commit
Added macro for checking pid.
2021-05-26 08:48:06 +08:00
NovaRain 989feb1c65 Added "proto_exists" script function
Updated gl_auto_closebox example script.
2021-05-25 12:58:03 +08:00
NovaRain b931307ace Changed the placement algorithm for multihex critters
(Rewrote the fix in the previous commit.)
2021-05-23 09:11:19 +08:00
NovaRain eebaf80bda Fixed the placement of multihex critters in the player's party 2021-05-23 08:09:12 +08:00
NovaRain 6ed83ce9fd Fixed infinite loop in ObjCanSeeObj_ShootThru_Fix (#365) 2021-05-22 08:05:06 +08:00
NovaRain fdfb4c3a17 Corrected code for initializing attached script (create_object_sid, #378) 2021-05-19 10:19:38 +08:00
NovaRain 86e71738b9 Rewrote the fix for clearing floating text messages (#377) 2021-05-19 06:23:17 +08:00
NovaRain b55a09fb17 Fixed typos in hookscripts.md & sslc_readme.txt 2021-05-18 11:32:01 +08:00
NovaRain 0cecf9af17 Corrected code in Animations.cpp 2021-05-17 10:46:03 +08:00
NovaRain cc715e334a Implemented an improved animation registration process 2021-05-16 13:11:36 +08:00
NovaRain b0f108c89f Fixed value bounds for the redefined key code value in HOOK_KEYPRESS
Minor code & document edits.
2021-05-15 21:57:10 +08:00
NovaRain ac3a23ae0e Code edits to Animations.cpp to prepare new implementation
Added fill area truncation to win_fill_color.
2021-05-13 12:04:46 +08:00
NovaRain 4ec67526a4 Fixed setting the last script window when the mouse leaves (#376) 2021-05-12 10:41:23 +08:00
NovaRain 3a45d016af Rewrote the code in Animations.cpp
Fixed gl_auto_closebox not closing containers in some cases.
2021-05-11 10:43:21 +08:00
NovaRain 2cb2ebc9c9 Renamed gl_npcarmor script to gl_npcarmor_lite
Improved the version check in gl_highlighting_lite and gl_npcarmor_lite.
2021-05-09 19:59:49 +08:00
NovaRain 8c09223812 Code correction to two previous commits 2021-05-09 08:49:19 +08:00
NovaRain 45a268ee77 Enabled AI to use unarmed attack when switching weapons
Added build folders to gitignore.
2021-05-08 23:16:14 +08:00
NovaRain 2d2c13b35e Moved item_count function fix to ReplacementFuncs.cpp
Finished the code of item_weapon_mp_cost replacement.
2021-05-08 13:03:52 +08:00
NovaRain 075922aa33 Added a tweak to play "magic hands" anim when using items on objs
* for issues with scripted animations not playing (#356)
2021-05-07 15:49:47 +08:00
NovaRain b2c2a70822 Set idle(Sleep) function for losing window focus
Some code correction.
2021-05-06 10:43:40 +08:00
NovaRain 273f2b8e97 Added additional code to "duplicate obj_dude script data" fix 2021-05-04 12:42:39 +08:00
NovaRain 91afb6c5f1 Reverted the change of obj_under_cursor in 3.8.29 (commit 2d7ff1e)
The game window position is now also saved when dragging the window by
the title bar.
2021-05-02 12:09:53 +08:00
NovaRain 81046daa9d Adjusted how the fix for create_object_sid works
Added CreateObjectSidFix option.
2021-05-02 11:59:51 +08:00
NovaRain afc0cdd4c8 Rewrote the score calculation in AIBestWeaponFix (#370)
Changed FastShotFix to be disabled by default.
2021-04-29 12:48:03 +08:00
NovaRain 8b61f358e3 Backported FemaleDialogMsgs and DialogGenderWords options 2021-04-27 14:49:12 +08:00
NovaRain 5a375484c4 Reverted the calling convention of db functions to stdcall
* due to the glitched code generation in Tiles.cpp.

Reverted the name changes of some variables.
2021-04-26 21:52:11 +08:00
NovaRain 55000ca940 Added DisableSpecialAreas option
Added a new "fonts" folder for language specific fonts.
2021-04-25 11:50:12 +08:00
NovaRain 4ce513f42f Added language path for loading fonts (#368)
Some code fixes to support the language path.
2021-04-25 08:36:36 +08:00
NovaRain c34b910e9c Code correction regarding string length 2021-04-23 11:06:06 +08:00
NovaRain 0c47dfd068 Added language path for sfall translations.ini 2021-04-22 13:17:04 +08:00
NovaRain 6c2eb47957 Added language path for premade files (#368)
Added AppIface.msg file support to Hero Appearance mod.
2021-04-22 12:56:48 +08:00
NovaRain f721596434 Code edits to converge with 4.x 2021-04-19 14:22:29 +08:00
NovaRain 0731325585 Fixed and improved AllowLargeTiles option (#367)
Removed the unspent skill points limit.
2021-04-18 20:17:24 +08:00
NovaRain e9aa1f1762 Added a new value to AIDrugUsePerfFix 2021-04-14 16:24:43 +08:00
NovaRain 6b3f88da5e Reorganized/renamed the functions in IniReader
Renamed some variables.
2021-04-13 21:21:26 +08:00
NovaRain fb3070fdfb Fixed cur_town function on new game start (#366) 2021-04-13 12:17:58 +08:00
NovaRain 0b868593e0 Fixed AI behavior to prevent the unnecessary use of healing drugs 2021-04-13 10:15:18 +08:00
NovaRain 3a3591e759 Code edits to converge with 4.x 2021-04-11 21:41:01 +08:00
NovaRain dc6263f522 Added markdown version of arrays.txt & hookscripts.txt 2021-04-07 21:13:52 +08:00
NovaRain 78aadeebe5 Cosmetic edits: alignment of multi-line ternary 2021-04-07 21:07:20 +08:00
NovaRain 1f90894dc5 Code changes to the previous commit 2021-04-04 09:57:13 +08:00
NovaRain d34f0ac21f Added a few fixes for knockout/down issues 2021-04-03 12:38:10 +08:00
NovaRain 60ffde1f80 Cosmetic edits to the code:
* tabs for indentation, spaces for alignment.
* reduced the length of some separation comment lines.
* changed some variable names ('exist' is a verb).
2021-04-03 11:04:03 +08:00
NovaRain ba173c91e9 Added DL_FIX for logging 2021-04-02 01:26:25 +08:00
NovaRain e08615abf2 Improved some combat-related fixes 2021-04-01 13:43:45 +08:00
NovaRain 9b28447e17 Improved the implementation of tile_num_beyond function 2021-03-29 11:55:37 +08:00
NovaRain 8bc4e3f790 Corrected the code in the previous commit 2021-03-28 08:44:35 +08:00
NovaRain d0fe019165 Added a fixed implementation of the tile_num_beyond_ function
Removed the code of multihex critter self-hit fix from BugFixes.cpp
(now fixed properly with the aforementioned implementation)
2021-03-28 00:59:40 +08:00
NovaRain 9d2c10aae6 Removed DataLoadOrderPatch from ddraw.ini (always enabled) 2021-03-26 12:29:18 +08:00
NovaRain e90a805c95 Added a fix for multihex critter self-hit issue 2021-03-25 21:30:57 +08:00
NovaRain e441d405b5 Added "set_quest_failure_value" script function 2021-03-24 21:22:18 +08:00
NovaRain dc34655981 Code correction to the previous commit 2021-03-23 09:46:10 +08:00
NovaRain 575bd6a2d2 Added a fix to the sorting of the quest list (#361)
Added a cosmetic to the dialog review interface.

Fixed a crash introduced in commit 773ec47.
2021-03-22 14:29:03 +08:00
NovaRain 347dc8508f Code edits to the weapon switching fix in AI.cpp
Added more struct defines and corrected related code.
2021-03-19 13:16:35 +08:00
NovaRain 88c17744fe Fixed the error handling in create_object_sid
* also added a debug message about the missing pid.
2021-03-17 09:49:54 +08:00
NovaRain 19afef94cc Fixed a possible crash in commit dae48e9
* when the proto does not exist, leading to null object pointer.
2021-03-16 09:21:51 +08:00
NovaRain 4c47977c52 Added a tweak to prevent NPC aggression (#357)
* when non-hostile NPCs accidentally hit the player or members of the
player's team.
2021-03-15 10:59:15 +08:00
NovaRain dae48e9175 Fixed the script attached to an object not running upon object creation (#359) 2021-03-14 11:04:25 +08:00
NovaRain a4c0753eff Moved INI reading functions from main.cpp to IniReader.cpp
Moved SimplePatch templates to a standalone header.
2021-03-14 01:39:07 +08:00
NovaRain c9249492f9 Edited description of CheckWeaponAmmoCost and HOOK_AMMOCOST 2021-03-12 09:38:31 +08:00
NovaRain 3609045ea8 Fixed the check of the ammo cost for a shot in CheckWeaponAmmoCost (#360) 2021-03-11 14:39:38 +08:00
NovaRain 773ec47913 Fixed set_critter_burst_disable script function
* now applies only to weapons with burst attack as the secondary mode.

Minor edits to code comments.
2021-03-10 11:49:00 +08:00
NovaRain c789dbffb4 Added fixes for the AP cost for AI
* before the reload AP cost for AI was always 2, even if it's changed
by CALCAPCOST hook.
2021-03-05 15:16:35 +08:00
NovaRain b883bb30a3 Some code edits regarding BodyPart defines 2021-03-03 10:40:15 +08:00
NovaRain e7dff360ee Added a fix for AI weapon validation before attack
* the check was always based on the primary weapon hit mode instead of
the selected attack mode.
2021-03-02 12:15:44 +08:00
NovaRain 7456a6023c Removed the fix added in commit 6d7ef3c
reason: supposedly a minor issue affecting the initial movement of an
NPC, requires further verification before implementation due to
potential harm to the AI behavior.

Moved the input patch code in main.cpp to new Input.cpp/h.
2021-02-26 10:36:07 +08:00
NovaRain 14e8dba41c Fixed gl_auto_closebox for gravesites
Edits to hookscripts.txt, added weapon argument to HOOK_CALCAPCOST.
2021-02-24 15:35:22 +08:00
NovaRain 4b6253f9f0 Added more checks to weapon ammo script functions 2021-02-24 15:33:18 +08:00
NovaRain f2259830c0 Moved some script function handlers to new files
Reorganized some script functions.
2021-02-24 15:31:16 +08:00
NovaRain 3fb2594855 Code correction related to GetProto usage 2021-02-20 10:30:17 +08:00
NovaRain 0dad664a67 Moved all sfgame_ functions into new ReplacementFuncs.cpp/h 2021-02-19 23:33:51 +08:00
NovaRain e588c89832 Added a tweak to restore combat flags for NPC after fleeing
Added item_weapon_range game function.
Improved the range check in previous commit.
2021-02-19 12:45:36 +08:00
NovaRain 0b15ac7b77 Code edits to a couple of fixes in AI.cpp
Minor edits to HookScripts.cpp.
2021-02-16 11:31:09 +08:00
NovaRain 7ce7f4db27 Fixed broken GetProto() function (again) 2021-02-10 23:52:56 +08:00
NovaRain 6d7ef3c76b Fixed broken GetProto() function
Added a fix to prevent NPCs from wasting their AP to pick up
unreachable items.
2021-02-10 08:37:35 +08:00
NovaRain e5b04d81e3 Code edits in FalloutEngine.cpp
Added comments to some defines in Define.h.
2021-02-09 22:08:30 +08:00
NovaRain c9eb5c2dee Removed unnecessary code
Added some function/variable defines.
2021-02-09 10:41:55 +08:00
NovaRain a47644f269 Added some tweaks for debug log
Code edits in SpeedPatch.cpp
2021-02-08 12:45:16 +08:00
NovaRain 02e48dde63 Rewrote ASM code of WorldMapFPSPatch in C++ 2021-02-07 21:27:36 +08:00
NovaRain 60a187de30 Refactored HOOK_WITHINPERCEPTION code as 4.x
Renamed engine function reimplementations with "sfgame_" prefix.
Added AIpref defines and AIcap struct.
2021-02-07 20:04:00 +08:00
NovaRain 83392f739b Refactored CombatHook() in LoadGameHook.cpp.
Updated struct/variable/function defines.
Minor code edits according to develop branch.
Updated version number.
2021-02-06 11:06:38 +08:00
NovaRain 9c084c10e0 Minor code format edits in LoadGameHook.cpp 2021-02-04 10:12:31 +08:00
NovaRain 52ce39c264 Added NPC armor mod to the example mods 2021-02-02 20:34:12 +08:00
NovaRain 4813b5656f Code edits to ScriptExtender.cpp
Updated FalloutStructs.h and ddraw.ini.
2021-02-02 11:39:33 +08:00
NovaRain 3932676824 Separated the loading and initialization of hook scripts
* now it works mostly in the same way as 4.x.
* now the hook injection code is run only once on sfall init.
2021-02-02 11:31:57 +08:00
NovaRain 7b5d50abf0 Separated the loading and initialization of global scripts
* now the loading occurs before the start of a new game.
* Note: hs_ scripts are still loaded & inited in one go after game load
2021-02-01 15:13:07 +08:00
NovaRain 4ffdac7f0d Refactored the code in LoadGameHook.cpp
* now the reset of modules should be in the same way as 4.x.
2021-01-31 20:49:32 +08:00
NovaRain 9149df171d Small optimization for game_loaded script function 2021-01-31 10:33:52 +08:00
NovaRain 4e200bc513 Minor edits to code and document 2021-01-31 10:26:57 +08:00
NovaRain 3ae0f0f87b Reorganized render related code in Graphics.cpp 2021-01-30 10:08:22 +08:00
NovaRain 609c4af6b1 Updated FalloutStructs.h and some other files 2021-01-30 09:28:32 +08:00
NovaRain 21b88c3cf0 Backported HOOK_ADJUSTFID from 4.2 2021-01-29 23:03:26 +08:00
NovaRain 87af67346e 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:44:20 +08:00
NovaRain 7eab9ff3ce Added SmallFrameFix option
Code style edit: use !boolean instead of (boolean == false) for some
checks.
2021-01-29 12:05:19 +08:00
NovaRain 7a1ab34964 Moved the defines of engine function offsets to a new header 2021-01-28 21:33:04 +08:00
NovaRain a914029f46 Removed unnecessary hack in Perks.cpp 2021-01-28 12:54:03 +08:00
NovaRain 980176451e Code edits to Perks.cpp 2021-01-28 12:36:38 +08:00
NovaRain 9e861f735d Implemented sProto stuct and GetProto function
* replaced the obsolete "char* proto" usages and GetProtoPtr function.
2021-01-27 12:20:03 +08:00
NovaRain 83d50fc33e Code edits 2021-01-27 10:47:17 +08:00
NovaRain 839f531cbd Moved the defines of engine variable pointers to a new header 2021-01-26 22:01:34 +08:00
NovaRain ba11cee858 Renamed all engine function wrappers with "fo_" prefix 2021-01-26 14:03:37 +08:00
NovaRain 42215fc1bb Changed the script name search algorithm from linear to binary 2021-01-25 13:04:06 +08:00
NovaRain 2d7ff1e558 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:41 +08:00
NovaRain 2aa77552f5 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.
Code edits to Animations.cpp.
Minor code edits.
2021-01-24 22:54:20 +08:00
NovaRain 73b0091ec1 Renamed engine variable defines to be in line with 4.x 2021-01-22 22:32:04 +08:00
NovaRain e5b110d7ce Added some functions/variables for future use 2021-01-22 14:19:35 +08:00
NovaRain 8e66b82f76 Added a new example mod gl_auto_closebox
Updated gl_highlighting_lite example mod.
Updated engine structs.
2021-01-20 10:21:48 +08:00
NovaRain d2b3cac835 Fixed flag setting/unsetting for non-door objects
Added a fix to prevent setting the radiation level for controlled NPCs.
Removed the ability to change the poison level for NPCs (now 4.x
exclusive)
2021-01-15 08:42:11 +08:00
NovaRain 2b187cee1f Fixed the format of some debug messages (#195) 2021-01-14 11:37:49 +08:00
NovaRain 3b965fc76c Fixed a crash bug in ScriptExtender.cpp from commit e075c05
Minor code/document edits.
2021-01-13 11:19:25 +08:00
NovaRain 31af299b4a 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 12:02:17 +08:00
NovaRain cf90437b71 Backported HOOK_GAMEMODECHANGE from 4.2
Backported SPECIAL game mode flag from 4.2
2021-01-10 21:45:50 +08:00
NovaRain e075c05a3f 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:28:57 +08:00
NovaRain ae76b93f07 Fixed the ID assignment for script objects and party member's items
when saving the map
2021-01-08 10:11:00 +08:00
NovaRain 9116596bf1 Added TagSkillBonus option to the skills ini file
Fixed a crash in the previous commit.
2021-01-06 11:31:07 +08:00
NovaRain 087b259b04 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:15:33 +08:00
NovaRain bc2ed03db1 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:48:50 +08:00
NovaRain cdc06b4e6a Added a fix to the poison handling in the engine when an NPC is under
the player's control.

Minor code edits.
2020-12-30 22:34:32 +08:00
NovaRain 28bba7cfef Fix for previous commit 2020-12-27 09:32:54 +08:00
NovaRain c829a3e753 Added support for panning sfx sounds
Removed the tweak that adds the city name in the description for empty
save slots (commit 63b2025)
2020-12-26 21:58:52 +08:00
NovaRain 43a2fc93cc 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:51:31 +08:00
NovaRain 26a2338038 Added "interface_overlay" script function
* for creating an additional overlay on the top of the interface window.
(document WIP)
2020-12-23 11:58:29 +08:00
NovaRain e0e300a91e Added sfall_func7 and sfall_func8 new opcodes
Added 3 new attrType values to "get_window_attribute" function.
Minor code edits.
2020-12-22 17:03:01 +08:00
NovaRain 9052396de5 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 16:05:16 +08:00
NovaRain 9e9c3ed5d1 Added support for ACM files at 44.1kHz sample rate 2020-12-17 14:04:14 +08:00
NovaRain 4271241628 Renamed MPClient folder to DebugEditor
Renamed FalloutClient.exe to FalloutDebug.exe
Fixed a crash bug in commit 82db339 when using the debug editor.
2020-12-14 15:42:45 +08:00
NovaRain 82a57179f7 Updated some code 2020-12-13 09:38:34 +08:00
NovaRain 586e622fcc Corrected code of some hook scripts 2020-12-13 08:46:33 +08:00
NovaRain 5ac7bfcbde Reverted support for the D3DFMT_A8 texture format 2020-12-10 07:20:49 +08:00
NovaRain e0d5f6a568 Removed unnecessary code in Graphics.cpp
Replaced the D3DFMT_A8 texture format with D3DFMT_L8.
Minor edits to documents.
2020-12-09 10:49:02 +08:00
NovaRain 4f7937314f Changed the numbering of args in hookscripts.txt (#345)
* because arg numbers are 0-indexed for related functions.
2020-11-16 09:17:19 +08:00
NovaRain 1508d88a5e Backported "get_ini_sections/section" functions from 4.0
Minor code edits.
2020-11-06 10:48:35 +08:00
NovaRain cdeb970d4f Backported metarule2_explosions modes from 4.1
Updated version number.
2020-11-05 12:13:25 +08:00
NovaRain 38a0ddb1eb Backported "add_extra_msg_file" function from 4.1
Re-ordered critical table fixes in Criticals.cpp.
2020-11-03 15:10:33 +08:00
NovaRain 4b2056857b Reformatted critical table fixes in Criticals.cpp 2020-11-01 09:28:31 +08:00
NovaRain 031faa4ae9 Fixed the "uncalled" critical tables for some critter types
ref: https://www.nma-fallout.com/threads/219827/
2020-10-30 22:00:43 +08:00
NovaRain e1cec4b01d Code refactoring for a few script functions
* draw_image, draw_image_scaled, interface_art_draw, get_sfall_global_int/float
2020-10-28 21:24:15 +08:00
NovaRain 66b3ee7b46 Cosmetic: renamed all module Init() and Exit() 2020-10-27 11:41:44 +08:00
NovaRain 061a3925e6 Minor edits to Message.cpp/h 2020-10-27 00:54:29 +08:00
NovaRain c6fa6bac30 Cleaned up define_lite.h and command_lite.h
Improved/corrected the fix for function args in commit e59af7e8.
Minor code edits.
2020-10-26 11:25:31 +08:00
NovaRain 0988004245 Fixed the error handling in win_fill_color
Some code fixes.
2020-10-25 08:07:49 +08:00
NovaRain e59af7e88a Fixed function args not being reset properly
Removed redundant safeguard/manual arg init in various script functions.
2020-10-25 01:05:34 +08:00
NovaRain 7cf1b60b38 Backported the extended functionality of ExtraGameMsgFileList from 4.x 2020-10-24 21:23:04 +08:00
NovaRain a8919367ea Added "win_fill_color" script function 2020-10-24 13:54:43 +08:00
NovaRain 0a44f7118a Added support for drawing PCX images to draw_image, draw_image_scaled, and interface_art_draw
Fixed bug in TalkingHeads.cpp.
2020-10-24 00:55:40 +08:00
NovaRain cda56aca7d Fixed the macro guard in command_lite.h and added two macros 2020-10-21 22:36:59 +08:00
NovaRain 761124aaf4 Code edits to PartyControl.cpp 2020-10-18 07:15:57 +08:00
NovaRain 8e6a961fba Renamed elements in PerkInfo/TraitInfo structs
Implemented StatFormula struct from 4.x for Stats.cpp.
Implemented DudeState struct from 4.x for PartyControl.cpp.
2020-10-15 13:12:15 +08:00
NovaRain cca0fe0cb6 Fixed and improved the code in Graphics.cpp 2020-10-15 09:30:39 +08:00
NovaRain 180761c489 Added the ability to change the poison level for critters 2020-10-12 20:47:05 +08:00
NovaRain 540b68070b Corrected code in Arrays.cpp 2020-10-12 11:03:55 +08:00
NovaRain 466b79f5e8 Code optimization for array expression (from 4.x) 2020-10-11 10:55:58 +08:00
NovaRain b1f847afbc Code edits to Graphics.cpp according to 4.x changes
Minor edits to MetaruleExtender.cpp and notes.txt.
2020-10-11 01:09:31 +08:00
NovaRain 31fbddb612 Code correction in FalloutEngine.cpp
Updated global shader example files.
2020-10-09 08:57:46 +08:00
NovaRain 0c547da134 Backported "car_gas_amount" and "set_car_intface_art" functions from 4.0
Added prefixes to some functions (fake classes)
2020-10-08 22:14:32 +08:00
NovaRain cc5561d3d6 Updated example mod scripts 2020-10-08 15:34:41 +08:00
NovaRain 66ff811bcd 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/edits.
2020-10-08 13:50:37 +08:00
NovaRain 27963fd064 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:48:31 +08:00
NovaRain dc88193ff6 Added "print_text" script function 2020-10-05 21:05:06 +08:00
NovaRain 2c36ad9a2a Removed InterfaceDontMoveOnTop from ddraw.ini (always enabled)
Added a fix to prevent toggling the cursor for a Transparent window.
2020-10-05 10:26:39 +08:00
NovaRain 9d34a4c70a Added support for transparent interface windows (#25) 2020-10-03 21:01:54 +08:00
NovaRain 548039d5bc Fixed FrmFile struct in the previous commit
Finished the code refactoring in InterfaceOps.hpp.
2020-09-29 09:04:27 +08:00
NovaRain 49c4bb2479 Some code refactoring
Added a value of 2 to TextureFilter option.
2020-09-28 12:07:12 +08:00
NovaRain 75b275159f Added "interface_art_draw" script function
Added an argument to "intface_redraw" function to redraw all interfaces.
2020-09-26 22:17:59 +08:00
NovaRain 52f42af913 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.
Simplified the code of draw_image/draw_image_scaled script functions.
2020-09-25 00:12:22 +08:00
NovaRain b195a8ab02 Moved all engine function defines to new FalloutFuncs_def.h
(similar to the way how 4.x handles engine functions)

Added the ability to get Automap window pointer.

Reorganized some code to prepare for later commits.
2020-09-24 15:22:32 +08:00
NovaRain 796e834a9d Some edits to the previous commit
Minor edits to some code.
2020-09-23 23:07:45 +08:00
NovaRain df4e847c59 Changed argCount to be set right after HookBegin in some hooks
* to avoid possible unexpected issues.
2020-09-23 15:33:42 +08:00
NovaRain 0a48ed3048 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 22:16:57 +08:00
NovaRain 7414c8a361 Refactored ASM code of some hooks using 4.x as ref
Code edits to DisplayKarmaChanges.
Implemented the buf_to_buf_ replacement function from 4.x.
2020-09-21 21:22:21 +08:00
NovaRain 90a9ee5f15 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 13:03:05 +08:00
NovaRain 314100f231 Added TextureFilter option (restored from sfall 2.x) 2020-09-20 10:07:16 +08:00
NovaRain 9c92e2f487 Reorganized the function defines in FalloutEngine.cpp/h
* in the same way as 4.x's Functions_def.h.

Replaced some ASM blocks with function defines.
2020-09-19 21:34:14 +08:00
NovaRain 2d3a4d6c34 Corrected talking heads code of Use32BitHeadGraphics
Minor code correction.
2020-09-19 00:39:55 +08:00
NovaRain a936f35c80 Refactored code in Elevators.cpp to be like 4.x 2020-09-16 14:25:21 +08:00
NovaRain 3479bc6893 Backported KeepWeaponSelectMode from 4.x
Minor edits to code and documents.
2020-09-16 11:09:55 +08:00
NovaRain ff1aac40f5 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:34:26 +08:00
NovaRain 6142d95a60 Graphics: improved the performance of DX9 mode 2020-09-15 10:33:33 +08:00
NovaRain c4fc3d2c8b Graphics & Movies refactoring (WIP/unfinished) 2020-09-13 22:33:30 +08:00
NovaRain 40cca2452d Reverted part of changes in commit 0d5c88f
* InterpretGetValue could cause unexpected behavior in global scripts.
2020-09-13 18:37:55 +08:00
NovaRain 33a5c7428a 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:55:11 +08:00
NovaRain 55e935e18c Added the original Fallout 1 behavior to FastShotFix 2020-09-06 08:45:17 +08:00
NovaRain 398ad650b9 Added a fix to the weapon check in the Fast Shot trait
* 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:47:53 +08:00
NovaRain 9c7f34ffb2 Fixed typo in sfall.h (#334) 2020-09-03 21:06:01 +08:00
NovaRain 6a2a7ee82f 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:24:00 +08:00
NovaRain 849ae49bfb 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:57 +08:00
NovaRain ed9c6c7508 Added support for ACM audio file playback to soundplay script function
(with volume control)

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:12:00 +08:00
NovaRain 57f4deb5cf Minor edits to Interface.cpp and ddraw.ini 2020-08-22 10:51:07 +08:00
NovaRain c6da5169b8 Minor edits to HookScripts.cpp based on 4.x changes 2020-08-21 12:57:03 +08:00
NovaRain 72f3abe3c9 Moved DeathScreenFontPatch code to Interface.cpp
Added a note about DeathScreenFontPatch in ddraw.ini.

Some code edits in BugFixes.cpp and DamageMod.cpp.
2020-08-21 12:42:46 +08:00
NovaRain 5d12d815dd Added DeathScreenFontPatch option
* use the normal font instead of bitmap font for death screen subtitles.

Attempted to fix the melee damage display for some extreme cases when
BonusHtHDamageFix=1 and DisplayBonusDamage=0.
2020-08-20 13:48:41 +08:00
NovaRain 502a5764a5 Updated global.fx and withinperception example script
Fixed some code.
2020-08-19 15:21:53 +08:00
NovaRain 13976a5278 Added a fix to limit the maximum distance for knockback animation
* 20 hexes at max. This does not affect the knockback value in
Combat Damage hook, only the animation part.

Backported AlwaysFindScripts option from 4.x for global scripts.
2020-08-18 13:45:49 +08:00
NovaRain a35487d0aa Added a fix to prevent the player from leaving the map during death anim
* when the death animation causes the player to cross an exit grid.

Fixed the height of the black background for the subtitles on death
screens when using the hi-res patch.

Added MakeJumps template to SafeWrite.h and devlog_f to Logging.cpp.

Minor code edits.
2020-08-17 15:11:16 +08:00
NovaRain f1102afbc3 Fixed the use of #pragma pack() directives for structures 2020-08-16 11:15:37 +08:00
NovaRain 4071a65f73 Replaced all 'DWORD' script pointers with the proper 'TProgram*'
Added more engine function wrappers.
2020-08-15 10:02:36 +08:00
NovaRain 8d813a952e Fixed and improved the behavior of nested timer events in global scripts
Added a fix to prevent the execution of critter_p_proc and game events
when playing movies.

Added a debug message about a corrupted proto file.

Some minor code/document edits.
2020-08-14 21:31:06 +08:00
NovaRain c1b7e729a8 Reorganized KeyPress hook & related code
* now it should work in exactly the same way as 4.x.

Improved the key press behavior for Debug Editor.
Implemented ScriptListInfoItem struct from 4.x.
2020-08-14 00:39:09 +08:00
NovaRain 12070f5e3d Fixed the playback of additional movies defined in the MovieXX options (#330)
Added the keyboard buffer cleanup function to metarule3.
2020-08-13 15:22:20 +08:00
NovaRain 63b2025468 Added the city name in the description of a save slot by default
Corrected some code.
2020-08-13 14:44:09 +08:00
NovaRain 44ad268aed Added a fix to remove floating text after moving to another elevation
* also update black edges of the map (HRP bug, #282)
2020-08-09 12:29:15 +08:00
NovaRain 2305128adc Changed the behavior of ObjCanSeeObj_ShootThru_Fix
* now the critter can only see through objects in front of it.
2020-08-08 11:52:17 +08:00
NovaRain 112c931ea3 Added a patch to allow setting custom colors for object outlines
Added a tweak to ObjCanSeeObj_ShootThru_Fix to allow critters to see
through other critters.

Fixed the internal variable for Horrigan encounter always being reset if
DisableHorrigan=0 (commit 74d3cb9)

Corrected some code.
2020-08-05 16:18:19 +08:00
NovaRain 8e3ae04aec Changed the behavior for replacing art aliases for critters
Added ANIM_charred_body/ANIM_charred_body_sf animations to art aliases
(#323)

Minor code edit to OverrideMusicDir (nop the rest to avoid leaving
garbage bytes)

Renamed some functions in Worldmap.cpp.
2020-08-03 14:41:43 +08:00
NovaRain 89ec203483 Corrected combat_attack_gcsd code in the previous commit
Added DAM_PRESERVE_FLAGS to attack_complex for keeping result flags.
Fixed OverrideMusicDir=2 not working.
2020-08-02 19:48:04 +08:00
NovaRain 21cbcb4a03 Rewrote several fixes for attack_complex in C++ and merged them
Added a default fix for attack_complex to untie target_results from
attacker_results.
2020-08-01 10:27:18 +08:00
NovaRain 76c9d63d3e Added more fixes for the arguments of attack_complex function:
* fixed result flags for the attacker and the target when calling
attack_complex function (#323)

* tweaked how attacker_results/target_results work when
AttackComplexFix is enabled.

Minor code edits.
2020-07-31 20:42:46 +08:00
NovaRain 962e7f0056 Added support for delayed speech playback to AllowDShowSound
(for synchronizing with subtitles when playing endgame slideshow)
2020-07-30 10:42:08 +08:00
NovaRain 950b9949c0 Added a new value 2 to AllowDShowMovies
* for forcing avi videos to fit the screen width.

Disabled warning C4995 (e.g. wcscpy in Movies.cpp)
Minor code edits to AI.cpp & Sound.cpp.
2020-07-29 14:20:04 +08:00
NovaRain 648bffedc6 Added volume control support for avi movies
Fixed implementation bugs when playing avi movies.
Added a couple of engine variable pointers.
2020-07-28 17:08:44 +08:00
NovaRain 058cc0bb96 Further implementation of speech playback for alternative sound files 2020-07-26 08:53:31 +08:00
NovaRain 9e79b01a27 Added a function extension for vanilla metarule3 function
Added SET_HORRIGAN_ENCOUNTER function to metarule3.
Updated German translation.
2020-07-24 21:29:54 +08:00
NovaRain 37e3ccb410 WIP: Fixed sfx/speech playback for alternative sound files 2020-07-22 12:27:18 +08:00
NovaRain 82db339ff9 Implemented CodeType enums in some SafeWrite8
Replaced some SafeWriteX with SafeWriteBatch.
Misc code edits to DebugEditor.cpp and ScriptExtender.cpp.
Minor edits to documents.
2020-07-21 12:42:46 +08:00
NovaRain 74d3cb9707 Removed some redundant code 2020-07-19 08:56:42 +08:00
NovaRain e0f0ee0f7d Fixed the default values for the MovieXX options
Added some comments to elevators.ini & other codes.
Rearranged the functions in NewGame2().
Updated FalloutEngine.h for previous commit.
Updated version number.
2020-07-18 22:28:22 +08:00
NovaRain 107335749f Implemented union in TGameObj struct (from 4.x)
Moved some code from HeroAppearance to other parts.
Some code edits.
2020-07-18 10:50:49 +08:00
NovaRain c66add00e7 Added more 4.x constants to Define.h
Renamed some members in structs according to 4.x namings.
2020-07-16 11:10:48 +08:00
NovaRain d4d8b3a06c Uploaded language translation files to repo
Updated German (#326) and Russian translations.
2020-07-08 09:54:08 +08:00
NovaRain fcd3bd05f0 Fixed NPC stuck in an animation loop in combat (#321)
* this happens when trying to move close to a multihex critter.
2020-07-01 09:49:37 +08:00
NovaRain ae6a6e80d3 Fixed ASM error in the previous commit 2020-06-30 15:49:53 +08:00
NovaRain c0557ddbc1 Fixed broken PlayIdleAnimOnReload option (#320)
(in commit aafc030)

Improved the fix for incorrect positioning after exiting small/medium
locations.
2020-06-30 12:31:49 +08:00
NovaRain 46dd02b566 Fixed the code for "display_stats" script function
Minor edit to Perks.cpp.
2020-06-29 23:03:41 +08:00
NovaRain 4c3f255915 Added a fix to prevent showing an empty perk selection window 2020-06-29 12:56:27 +08:00
NovaRain de01fdf065 Added "get_stat_max/min" script functions (#307)
Added updating player's stats on the char screen to "display_stats"
script function (#314)
2020-06-29 11:57:36 +08:00
NovaRain 1e6d2229dd Corrected the code for multihex retargeting tile
Small optimization to sfall function code.
2020-06-28 23:13:05 +08:00
NovaRain 317c4d4c05 Re-fix for the previous commit 2020-06-28 09:53:33 +08:00
NovaRain 31b244e5f3 Corrected the fix from the previous commit 2020-06-27 10:16:14 +08:00
NovaRain 066280a7ca Fixed the hang/freeze in combat (from commit b345140)
Added a fix for retargeting tile for multihex critters.
2020-06-27 09:48:20 +08:00
NovaRain 535595a997 Refactored some code in HeroAppearance.cpp 2020-06-14 10:41:57 +08:00
NovaRain 41b15b8838 Fixed bugs in the hero appearance mod:
* gender was not reset properly when creating a new character (#309)
* the player was missing some fire/electrical death animations (#310)
2020-06-14 09:29:53 +08:00
NovaRain 2cd79c1033 Moved static addresses into respective funcs in Stats.cpp 2020-06-13 00:26:31 +08:00
NovaRain cc9807344a Fixed Auto Doors example script mod
Cosmetic changes to the text descriptions in Perks.ini.
2020-06-13 00:20:48 +08:00
NovaRain 6c31cc43a0 Increased the max width of the player name on the char screen (#305)
Updated version number.
2020-06-04 06:40:57 +08:00
NovaRain b345140fba Some bug fixes regarding multihex critters in shoot blocking 2020-05-24 11:33:06 +08:00
NovaRain 3acf051b49 Renamed all metarule functions with mf_ prefix 2020-05-21 09:42:02 +08:00
NovaRain 0137504f3f Renamed all script opcode handlers with op_ prefix 2020-05-19 10:05:27 +08:00
NovaRain ebcd505561 Minor code fixes in AI.cpp:
* Fixed NPCs being unable to select a burst attack mode if the line of
fire was blocked.

* Changed the return point of combat_ai_hook_FleeFix to run
ai_check_drugs_ first.

Changed the debug message about missing art file for critters to be
displayed in game only when in sfall debugging mode.
2020-05-19 09:50:23 +08:00
NovaRain 24cb02b7d8 Fixed ai_move_away_ engine function
Some minor fixes.
2020-05-10 10:03:04 +08:00
NovaRain 48ce358451 Backported SkipLoadingGameSettings option from 4.x 2020-05-08 10:38:32 +08:00
NovaRain c293a826bc Cosmetic changes to the code:
Use double underscore for stdcall and "asm" keyword.
2020-05-07 12:30:22 +08:00
NovaRain 0da7c7b266 Minor code edits to Combat.cpp 2020-05-07 11:20:32 +08:00
NovaRain d74df7fc78 Added checking AP cost to ai_pick_hit_mode_ engine function 2020-05-07 09:49:57 +08:00
NovaRain df816bcd47 Added a tweak for finding new targets for PMs
* before they would "forget" their current target when trying to find
new ones (only 3), now the current target is included as one of
potential targets.

Tweaked the code of MultiHexPathingFix.
2020-05-05 12:15:30 +08:00
NovaRain 068988caad Added internal implementation of engine functions with hooks:
* item_w_mp_cost_ with CALCAPCOST
* is_within_perception_ with WITHINPERCEPTION
2020-05-01 10:29:27 +08:00
NovaRain 24c9499021 Added combat rating check to "Snipe" distance preference fix
Added a fix to reduce friendly fire in burst attacks.
Updated the info of TGameObj struct.
2020-05-01 08:01:24 +08:00
NovaRain 7f3de8d19a Minor code edits/fixes 2020-04-30 10:28:31 +08:00
NovaRain 87f7fe4a54 Moved code from main.cpp to new PlayerModel/MiscPatches.cpp 2020-04-28 12:43:54 +08:00
NovaRain 01ba18100e Added a fix for AI behavior for "Snipe" distance preference
Added a check for for the weapon range and the distance to the target
when AI is choosing weapon attack modes.
2020-04-28 10:58:24 +08:00
NovaRain 8b26573073 Changed the fix for AI target selection in commit f0f00a7
* NPCs will reload the weapon in the same turn (and attack if have
enough AP left) if weapon is empty while selecting targets.

Moved some leftover code in main.cpp to KillCounter.cpp & Elevators.cpp.

Misc code edits.
2020-04-27 14:32:39 +08:00
NovaRain 1839790dfb Fixed AllowDShowSound=2 not working
Limited NumSoundBuffers to the max of 32.
Fixed replacing Body_Torso with Body_Uncalled (from commit 62f890d)
Corrected the code in the previous commit.
2020-04-23 12:42:20 +08:00
NovaRain cb1d5d359f Added a tweak to the miss message in combat
* if the main target has Flat flag set, remove the message about hitting
another object.

Reorganized the code of misc patches in main.cpp.
2020-04-22 11:40:11 +08:00
NovaRain b781e117a2 Improved the fix for placing PID_CORPSE_BLOOD obj on the lower layer
(didn't work correctly after re-entering the map.)

Fixed CorpseDeleteTime not setting the timer correctly.
2020-04-21 10:55:56 +08:00
NovaRain a7d9716b68 Moved some engine structs to FalloutStructs.h
Some code edits regarding variable/struct types.
2020-04-20 12:06:13 +08:00
NovaRain cdd2bfe338 Reverted incorrect code change of SpeedPatch.cpp in previous commit.
Some code edits to Explosions.cpp and Perks.cpp.
2020-04-19 10:21:20 +08:00
NovaRain 7decec4a2c Added use_item_on_dude macro to sfall.h
Various code edits:
* Implemented more HookCalls/MakeCalls/SafeWriteBatch in code.
* Moved return/jump address consts into their respective functions.
2020-04-18 21:25:54 +08:00
NovaRain e3af4f5754 Fixed ReloadWeaponKey for using any non-weapon item (#84) 2020-04-18 11:25:46 +08:00
NovaRain 1b61bca702 Fixed "loot_obj" script function 2020-04-18 09:03:16 +08:00
NovaRain f0f00a77ea Fixed AI target selection for no ammo or target out of range cases 2020-04-18 09:01:29 +08:00
NovaRain 58d41487fd Re-fixed automatically ending combat
Updated version number.
2020-04-18 08:59:28 +08:00
NovaRain 73ccba22bf Implemented HookCalls/MakeCalls templates
* same as SafeWriteBatch, only accept address arrays due to no support
for list initialization in VS2010.
2020-04-11 08:19:32 +08:00
NovaRain 1f8b3636f3 Implemented SafeWriteBatch template from 4.x
* only the version that accepts address array due to no support
for list initialization in VS2020.
2020-04-08 10:42:59 +08:00
206 changed files with 22478 additions and 14335 deletions
+2
View File
@@ -53,8 +53,10 @@ nb-configuration.xml
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Dd]evXP/
[Rr]elease/
[Rr]eleases/
[Ww]in2K/
x64/
x86/
build/
@@ -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" />
+63 -41
View File
@@ -1,29 +1,57 @@
;This file handles modifications to perks and traits
;When adding extra perks to a mod, it's advisable to use
; the fake perk scripting functions rather than make modifications
; in this file, as some perks have hardcoded effects which may
; catch you out
;Since traits need to be picked before any scripts run, they
; have an additional NoHardcode option in this file which can
;When adding extra perks to a mod, it's advisable to use the fake perk scripting functions rather than make modifications
; in this file, as some perks have hardcoded effects which may catch you out
;Since traits need to be picked before any scripts run, they have an additional NoHardcode option in this file which can
; 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
;##############################################################################
@@ -31,31 +59,25 @@ WeaponHandlingBonus=3
;Set to 1 to enable the modifications for perks
Enable=0
;Name=The name of the perk (max 63 characters)
;Desc=The description of the perk (max 255 characters)
;Image=The line number (0-indexed) of the corresponding FRM in skilldex.lst
;Ranks=The number of perk levels
;Level=The minimum required level
;Type=If 0, the perk checks only Skill1 for skill requirements; if 1, it checks
; Skill1 or Skill2; if 2, it checks both Skill1 and Skill2
;Stat=The modified stat or -1 if you don't want to change any stats
;StatMag=The increased/decreased value to the modified stat
;Skill1=The first skill (or -1 for none) to check, but if you set a specific bit
; (67108864 or 0x4000000), it checks GVAR. For example, if Skill1=67108864, then
; the perk will check GVAR_PLAYER_REPUTATION (67108864 + 0) on Skill1Mag value
;Skill1Mag=Positive value is used as the minimum requirements of the first
; skill/GVAR, and a negative value is interpreted as the maximum requirement.
; For example, with Skill1=0 and Skill1Mag=100, if player has small guns skill
; >= 100 and meets all other requirements, the perk will be available in the
; selection window; with Skill1=1 and Skill1Mag=-120, the perk will not be
; available if player has big guns skill >= 120
;Skill2=The second skill/GVAR (or -1 for none) to check
;Skill2Mag=Same as Skill1Mag, but for Skill2
;STR-LCK=Positive values are used as minimum requirements of SPECIAL stats, and
; negative values are interpreted as maximum requirements. For some special
; perks processed by the engine (e.g. PERK_armor_powered and PERK_armor_combat),
; the values are not used as requirements but to add to corresponding SPECIAL
; stats
;Name: The name of the perk (max 63 characters)
;Desc: The description of the perk (max 255 characters)
;Image: The line number (0-indexed) of the corresponding FRM in skilldex.lst
;Ranks: The number of perk levels
;Level: The minimum required level
;Type: If 0, the perk checks only Skill1 for skill requirements; if 1, it checks Skill1 or Skill2; if 2, it checks both Skill1 and Skill2
;Stat: The modified stat or -1 if you don't want to change any stats
;StatMag: The increased/decreased value to the modified stat
;Skill1/Skill2: The first/second skill (or -1 for none) to check, but if you set a specific bit 0x4000000 (67108864), it checks GVAR.
; For example, if Skill1=0x4000004, then the perk will check GVAR_BAD_MONSTER (0x4000000 + 4) on Skill1Mag value
;Skill1Mag/Skill2Mag: Positive value is used as the minimum requirements of the first/second skill/GVAR, and a negative value is interpreted as the maximum requirement.
; For example, with Skill1=0 and Skill1Mag=100, if player has small guns skill >= 100 and meets all other requirements, the perk will be available in the
; selection window; with Skill1=1 and Skill1Mag=-120, the perk will not be available if player has big guns skill >= 120
;STR-LCK: Positive values are used as minimum requirements of SPECIAL stats, and negative values are interpreted as maximum requirements.
; For some special perks processed by the engine (e.g. PERK_armor_powered and PERK_armor_combat), the values are not used as requirements
; but to add to corresponding SPECIAL stats
;If the value is set to -99999, the variable will be ignored (similar to comment out that line)
@@ -63,7 +85,7 @@ Enable=0
;This is a modification to perk 119
[119]
Name=Example
Desc=This is an example perk~Second line
Desc=This is an example perk description
Image=72
Ranks=1
Level=1
+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]
+2 -2
View File
@@ -40,7 +40,7 @@ Image=24
ButtonCount=3
;Set the appearance of the elevator
MainFrm=148
ButtonsFrm=151
MainFrm=148 ; EL_VAULT.FRM
ButtonsFrm=151 ; EL_MIL3.FRM
;Set up the exit points for all three buttons (see examples above)
+102 -51
View File
@@ -1,11 +1,12 @@
;sfall configuration settings
;v3.8.24
;v3.8.30
[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
;This file can be placed in text\<language>\ for sfall to get the translations depending on the game language
;TranslationsINI=sfall\Translations.ini
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@@ -28,7 +29,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
@@ -53,10 +54,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
@@ -68,7 +75,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 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
@@ -93,20 +101,20 @@ WorldMapTerrainInfo=0
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Sound]
;Sets the number of allowed simultaneous sound effects
;Set to 0 to leave the default unchanged (i.e. 4)
;Set to 0 to leave the default unchanged (i.e. 4). The maximum is 32
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
;Set to 1 to override the music path used by default (i.e. data\sound\music\) if not present in the cfg
;Set to 2 to overwrite all occurances of the music path
OverrideMusicDir=2
;Set to 1 to override the default music path with data\sound\music\ if music_path is not present in the cfg
;Set to 2 to overwrite all occurrences of the music path
OverrideMusicDir=1
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[Input]
@@ -114,7 +122,7 @@ OverrideMusicDir=2
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
;slots to scroll. My mouse moves 120 pixels 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
@@ -124,9 +132,9 @@ ScrollMod=0
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
;The default of 48 ('B' key) toggles between your active items
;Set to 0 to disable
MiddleMouse=0x30
MiddleMouse=48
;Set to 1 to reverse the left and right mouse buttons
ReverseMouseButtons=0
@@ -183,9 +191,10 @@ HighlightCorpses=1
;16 - bright yellow
;32 - dark yellow
;64 - purple
;You can set a custom color from the game palette by multiplying the color index value by 256 (available since sfall 3.8.27)
OutlineColor=16
;A key to press to reload your currently equipped weapon
;A key to press to reload your currently equipped weapon or use the active item
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
ReloadWeaponKey=0
@@ -199,7 +208,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
@@ -225,6 +234,7 @@ WorldMapTimeMod=100
WorldMapFPSPatch=1
;Controls the world map speed if WorldMapFPSPatch is 1. Higher values cause slower movement
;Default is 66 milliseconds
WorldMapDelay2=66
;Set to 1 to enable Ray's patch to make world map encounter rate independent of your travel speed
@@ -257,7 +267,17 @@ UseFileSystemOverride=0
;Set to 1 to use the modified data load order for the engine to find game data
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
DataLoadOrderPatch=1
;This option is always enabled in 4.3/3.8.30 or later. The information is left for reference only
;DataLoadOrderPatch=1
;Set to 1 to load alternative dialog msg files from text\<language>\dialog_female\ for female PC
;Set to 2 to also load subtitle files from text\<language>\cuts_female\ for female PC
FemaleDialogMsgs=0
;Set to 1 to allow using the special '^' character in dialog msg files to specify the alternative text
;that will be displayed in the dialogue based on the player's gender
;The text must be enclosed in angle brackets (example: <MaleText^FemaleText>)
DialogGenderWords=0
;To change the default and starting player models, uncomment the next four lines.
;The default models can also be changed ingame via script
@@ -267,7 +287,8 @@ DataLoadOrderPatch=1
;FemaleDefaultModel=hfjmps
;To change the various ingame movies, modify the next 17 lines
;Most of these can also be changed ingame via script.
;You can also define additional movies by adding Movie18 - Movie32 lines
;Most of these can also be changed ingame via script
Movie1=iplogo.mve
Movie2=intro.mve
Movie3=elder.mve
@@ -323,7 +344,7 @@ DialogueFix=1
;Prevents you from using number keys to enter unvisited areas on a town map
TownMapHotkeysFix=1
;Set to 1 to disable the horrigan encounter
;Set to 1 to disable the Horrigan encounter
DisableHorrigan=0
;Set to 1 to disable the random element in NPC levelling.
@@ -344,7 +365,7 @@ SingleCore=1
OverrideArtCacheSize=0
;Prevents you from saving in combat except at the start of your turn to avoid a few bugs
;Note that even with this option enabled, it is still not advisable to save in combat at all.
;Note that even with this option enabled, it is still not advisable to save in combat
;Set to 2 to block all saving in combat
SaveInCombatFix=1
@@ -352,9 +373,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
@@ -387,14 +408,14 @@ AlwaysReloadMsgs=0
PlayIdleAnimOnReload=0
;Changes the timer (in days) for deleting corpses on a map after you leave (valid range: 0..13)
;The corpses of critters with 'Ages' flag or on maps with 'dead_bodies_age=No' set in maps.txt will not disappear
;The corpses of critters with 'Ages' flag set or on maps with 'dead_bodies_age=No' set in maps.txt will not disappear
;Default is 6. Set to 0 for a 12-hour timer
CorpseDeleteTime=6
;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 (WinXP/2000: if processes have equal priority)
;Set to 1 (or some higher number if needed, the maximum is 127) to prevent 100% CPU use
;Set to 1 (or some higher number if needed) to prevent 100% CPU use. The maximum is 30
ProcessorIdle=-1
;Set to 1 if using the hero appearance mod
@@ -411,17 +432,19 @@ SkipOpeningMovies=0
;Set to 0 to disable
NPCsTryToSpendExtraAP=0
;Set to 1 to fix NPCs not checking weapon perks properly when choosing the best weapon in combat
;Set to 2 to change the priority multiplier for having weapon perk to 3x (the original is 5x)
;Note that enabling this option can significantly affect the weapon of choice for some NPCs
AIBestWeaponFix=0
;Set to 1 to fix the priority score calculation for choosing the best weapon for NPCs
;Note that enabling this option can affect the weapon of choice for some NPCs
AIBestWeaponFix=1
;Set to 1 to fix NPCs not taking chem_primary_desire in AI.txt as drug use preference when using drugs in their inventory
;Set to 2 to allow NPCs to use only the drugs listed in chem_primary_desire and healing drugs (stimpaks and healing powder)
;Note: chem_primary_desire w/o fixes prevents the specified item PID from being consumed if all three values in the list are the same PID
;chem_primary_desire also works as a priority list of drug items the NPC will try to pick up in combat when they are on the ground
AIDrugUsePerfFix=0
;Allows the use of tiles over 80x36 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
;Allows the use of tiles over 80x36 in size. sfall will just split and resave them to art\tiles\zzz####.frm at startup
;Set to 1 to check all tiles on started (slow, but can also be useful for checking the correct size of your new tiles)
;Set to 2 if you provide a XLtiles.lst file in art\tiles\ containing a list of the tile indexes that need checking
AllowLargeTiles=0
;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
@@ -515,11 +538,15 @@ 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)
FastShotFix=1
;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 tweak: 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=0
;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
@@ -538,8 +565,10 @@ CritterInvSizeLimit=100
;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
;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
@@ -558,24 +587,28 @@ SuperStimExploitFix=0
InventoryApCost=4
QuickPocketsApCostReduction=2
;Set to 1 to allow objects seeing through other objects that have their ShootThru flag set
;Note that enabling this option can cause unexpected NPC behavior in some situations
;Set to 1 to fix obj_can_see_obj script function to allow critters to see through objects with 'ShootThru' flag set and other critters in front of them
;Note that enabling this option can cause unexpected NPC behavior in some cases, e.g. initiating combat or dialogue when the player is behind certain obstacles
ObjCanSeeObj_ShootThru_Fix=0
;Set to 1 to fix the broken obj_can_hear_obj script function
ObjCanHearObjFix=0
;Set to 1 to enable the mood argument of start_gdialog script function to be available for talking heads
;Set to 1 to enable the 'mood' argument of start_gdialog script function for talking heads
;If the argument value is -1, the mood will be determined by the local variable 0 of the script (vanilla behavior)
StartGDialogFix=0
;Set to 1 to fix and repurpose the unused called_shot/num_attacks arguments of attack_complex script function
;This also changes the behavior of the result flags arguments
;called_shot - additional damage, when the damage received by the target is above the specified minimum damage
;Set to 1 to fix attacker_results/target_results arguments and repurpose the unused called_shot/num_attacks arguments of attack_complex script function
;New behavior of the arguments:
;called_shot - additional damage when hitting the target
;num_attacks - the number of free action points on the first turn only
;attacker_results - unused, must be 0 or not equal to the target_results argument when specifying result flags for the target
AttackComplexFix=0
;Set to 1 to make the create_object_sid script function run the 'start' procedure of attached script upon object creation
;By default, the 'start' procedure of attached script is executed after the current script procedure is finished
;Note that enabling this option may cause unexpected results with some existing game scripts
CreateObjectSidFix=0
;Set to 1 to fix the issue with the division operator treating negative integers as unsigned
;Note: To perform the unsigned integer division, use the new 'div' operator
DivisionOperatorFix=1
@@ -613,7 +646,7 @@ ExplosionsEmitLight=0
;Set to 0 for backward compatibility with pre-3.4 scripts
arraysBehavior=1
;Set to 1 to add proper checks if there is enough ammo to use weapons that use multiple ammo per shot
;Set to 1 to add proper checks to see if there is enough ammo to attack with weapons that use multiple ammo per shot
CheckWeaponAmmoCost=0
;Controls the speed of combat panel animations (lower - faster; valid range: 0..65535)
@@ -627,8 +660,8 @@ PipboyTimeAnimDelay=50
;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 ControlCombatPIDList line and set a comma delimited list of PIDs
ControlCombat=0
;If you want to control only specific critters, uncomment the ControlCombatPIDList line and set a comma delimited list of PIDs
;ControlCombatPIDList=62,89,97,107,160,161
;Set to 1 to stack empty identical weapons, no matter what type of ammo was loaded before
@@ -676,6 +709,9 @@ CarPlacedTileFix=1
InstantWeaponEquip=0
;To add additional game msg files, uncomment the next line and set a comma delimited list of filenames without .msg extension
;By default, the files will have consecutive numbers assigned beginning with 0
;You can use the syntax 'filename:number' to manually assign numbers to specific msg files, with each pair separated by a comma
;If a file after the specified pair does not have a number assigned, it will have the next consecutive number from the last pair
;You need to use the message_str_game script function to get messages from the files
;ExtraGameMsgFileList=
@@ -685,6 +721,10 @@ NumbersInDialogue=0
;Set to 1 to use Fallout's normal text font instead of DOS-like font on the world map
WorldMapFontPatch=0
;Set to 1 to use Fallout's normal text font for death screen subtitles
;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 display full item description for weapon/ammo in the barter screen
FullItemDescInBarter=0
@@ -694,17 +734,23 @@ DisplaySwiftLearnerExp=1
;Set to 1 to display party member's current level/AC/addict flag on the combat control panel
PartyMemberExtraInfo=0
;Set to 1 to prevent the inventory/loot/automap interfaces from being placed on top of other script-created windows
InterfaceDontMoveOnTop=0
;Set to 1 to skip loading all game settings except the game/combat difficulty from saved games
;Set to 2 to also skip loading the game/combat difficulty settings
SkipLoadingGameSettings=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
;Set to 1 to disable the special handling of map IDs 19 and 37 in the engine when entering the maps
;Note that enabling this option can break the map changes in Modoc and Vault 15
;Note that enabling this option will break the map changes in Modoc and Vault 15 in Fallout 2
DisableSpecialMapIDs=0
;Set to 1 to disable the special handling of city areas 45 and 46 in the engine when visiting Area 45:
;Area 45 automatically disappears from the world map, and Area 46 appears on the world map
;Note that enabling this option will break the location change of the 'Fake Vault 13' in Fallout 2
DisableSpecialAreas=0
;Changes the base value of the duration of the knockout effect (valid range: 35..100; default is 35)
;The formula for the duration in ticks is: 10 * (value - 3 * EN)
KnockoutTime=35
@@ -786,16 +832,21 @@ HideObjIsNullMsg=0
;Has pretty nasty side effects when saving/reloading, so don't use for regular gameplay
DontDeleteProtos=0
;Set to 1 to force sfall to search for global/hook scripts every time the game loads rather than only the first time
AlwaysFindScripts=0
;Set to 1 to force critters to display combat float messages
;Requires AllowSoundForFloats to be enabled
Test_ForceFloats=0
;These options control what output is saved in the debug log (sfall-log.txt)
;Prints messages duing sfall initialization
Init=0
Init=1
;Prints messages relating to hook scripts
Hook=0
;Prints messages relating to scripting
Script=0
;Prints messages relating to the critical table
Criticals=0
Criticals=1
;Prints messages relating to engine fixes
Fixes=1
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