(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.
(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.
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.
* 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.
(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.
* 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.
* 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.
* 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.
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.
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.
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.
* 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.
Added some comments to elevators.ini & other codes.
Rearranged the functions in NewGame2().
Updated FalloutEngine.h for previous commit.
Updated version number.
* 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.
* 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.
* 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.
Limited NumSoundBuffers to the max of 32.
Fixed replacing Body_Torso with Body_Uncalled (from commit 62f890d)
Corrected the code in the previous commit.
* NPCs use only one box per reload. If the weapon has more ammo
capacity than a box of ammo (e.g. miniguns and BB gun), it'll take
several tries for them to fully reload it.
* reason: the skills didn't get initialized properly if loading a save
from the main menu before starting any game. And some inits in 3.8
also require running ResetState() before any game, so reverting is
probably the easiest solution before I break more stuff.
Backported some code setup from 4.x for Combat.cpp & Skills.cpp.
Changed "Radiated" to be highlighted in red color when the player is
under the influence of negative effects of radiation.
Some edits to macros in HookScripts.cpp.
Fixed potential crash/bug when alt-tab out of game and get back.
Edited OnDeath hook to minimize its hook points to the engine (from 4.x)
Minor edits to ddraw.ini.
* it changes the behavior of vanilla division operator to use signed
integer division. Before it used signed division for floats but
unsigned for integers.
Added a new "div" operator for unsigned integer division.
Moved mathematical script functions from ScriptUtils.hpp to new MathOps.
Added include guard to sfall.h and main.h in modders pack.
* now WORLDMAP, PIPBOY, INVENTORY, INTFACEUSE, and INTFACELOOT are
toggled after creating/before deleting their corresponding interface
windows.
Fixed the array out of bounds bug in Skills.cpp.
* calling endgame_movie now plays Movie11 or Movie12 depending on
the player's gender before the credits.
Added new flags to force_encounter_with_flags function.
* although 3.8 doesn't have the path issue as 4.x due to the lack of
loading custom .dat, it's better to unify the path in this case.
Refactored the code for DataLoadOrderPatch in the same way as 4.x.
* fixed the crashing bug and added a new behavior.
Changed the error message due to missing critter frame (again):
* replaced the interruption with printing the error message to in-game
message window.
Added "add_g_timer_event" and "remove_timer_event" script functions
for timed_event_p_proc in global scripts.
Fixed the check on the 'hidden' flag for previous commit.
* prevents player's movement when clicking on the window.
* the mouse cursor will not be toggled when the cursor hovers over
a hidden window.
Updated version number.
* Added BoxBarCount option.
* Added "set_iface_tag_text" and "add_iface_tag" script functions.
* Now number of simultaneously displayed boxes depends on game res.
* Updated documents.
Moved some codes from Worldmap.cpp to new Interface.cpp (same as 4.x).
Moved some option codes from main.cpp to other modules.
Removed CorpseLineOfFireFix from ddraw.ini (always enabled).
* to toggle modification sections for perks and traits.
Backported ini reading functions from 4.x to main.cpp, and edited
related code in Perks.cpp (need to implement to other source later)
Added error/warning icons to message boxes.
* before it set player's FID incorrectly if PC is in other appearance.
Prevented the player from equipping a weapon when player's current
appearance doesn't have the animation for it.
Fixed the player name while controlling other critters.
Edited texts for some error message boxes.
* it now runs for the player and NPCs when removing equipped items.
* added an additional argument.
Fixed drop_obj script function not removing the equipped armor properly
for the player and party members.
* it didn't remove the equipped armor properly for the player and party
members, resulting in broken armor stats.
Added a check for valid objects to get/set_object_data functions.
Some code edits to HeroAppearance.cpp.
Moved the code of NPCStage6Fix to BugFixes.cpp.
(to its original relative location, right above MultiHexPathingFix)
Reorganized some code in BugFixes.cpp.
Tweaked the error printing for ResizeArray in Arrays.cpp.
* Improved the display of the car fuel gauge on the world map interface.
* Expanded set_critter_stat function to allow changing STAT_unused and
STAT_dmg_* stats for the player, and STAT_unused for other critters.
* Changed AllowUnsafeScripting to not require sfall debugging mode.
* Changed NPCStage6Fix to be enabled by default.
* Added a new value to AIBestWeaponFix to change the priority multiplier
for having weapon perk to 3x.
Updated version number.
2019-09-24 16:01:39 +08:00
162 changed files with 22854 additions and 15316 deletions
A set of engine modifications for the classic game Fallout 2 in form of a DLL, which modifies executable in memory without changing anything in EXE file itself.
A set of engine modifications for the classic game Fallout 2 in form of a DLL, which modifies executable in memory without changing anything in EXE file itself.
Engine modifications include:
**Engine modifications include:**
- Better support for modern operating systems
- Externalizing many settings like starting map and game time, skills, perks, critical hit tables, books, etc.
- Bug fixes
@@ -10,7 +10,7 @@ Engine modifications include:
- Extended scripting capabilities for modders (many new opcodes to control sfall features as well as previously unavailable vanilla engine functions)
Original author: timeslip
Original author: timeslip
Original description: A set of engine modifications for the classic game Fallout 2 by Interplay. Includes fixes for bugs in the original engine, allows fallout to run correctly on modern operating systems, and adds additional features for modders.
Original description: A set of engine modifications for the classic game Fallout 2 by Interplay. Includes fixes for bugs in the original engine, allows fallout to run correctly on modern operating systems, and adds additional features for modders.
;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
[Perks]
;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/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)
// Limits maximum amount of sharpening a pixel receives. This helps avoid "haloing" artifacts which would otherwise occur when you raised the strength too much
// min 0.0, max 1.0, step 0.005
#define sharp_clamp 0.035
// Offset bias adjusts the radius of the sampling pattern. I designed the pattern for an offset bias of 1.0, but feel free to experiment
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.