Commit Graph
100 Commits
Author SHA1 Message Date
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
NovaRain ac4e4c7868 Minor edits to Interface.cpp and ddraw.ini 2020-08-22 10:48:46 +08:00
NovaRain d46bb42efd Reorganized hooks related code 2020-08-21 12:55:18 +08:00
NovaRain aa132d9951 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:36:41 +08:00
NovaRain dfb7779e87 Reorganized the code related to the core functions of hooks
Added DeathScreenFontPatch option to use the normal font for death
screen subtitles (was using bitmap font).

Attempted to fix the melee damage display for some extreme cases when
BonusHtHDamageFix=1 and DisplayBonusDamage=0.
2020-08-20 13:32:40 +08:00
NovaRain 19df2f9eec Updated global.fx and withinperception example script
Fixed some code.
2020-08-19 15:19:11 +08:00
NovaRain e6d30d7def 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.
2020-08-18 13:07:25 +08:00
NovaRain c657a9ef86 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 method to SafeWrite.cpp and devlog_f to Logging.cpp.
2020-08-17 15:07:41 +08:00
NovaRain cbccc7de4e Fixed the use of #pragma pack() directives for structures
Corrected HookFile struct in the previous commit.
2020-08-16 11:09:31 +08:00
NovaRain 8fa54d8255 Changed hs_* hook script to be searched only once on game start
* in the same fashion as global scripts, affected by AlwaysFindScripts.
2020-08-15 22:19:45 +08:00
NovaRain 46a5616b34 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:23:08 +08:00
NovaRain ff4757d529 Fixed the playback of additional movies defined in the MovieXX options (#330)
Added the keyboard buffer cleanup function to metarule3.
2020-08-13 15:20:30 +08:00
NovaRain b0a35eec49 Added the city name in the description of a save slot by default
Corrected some code.
2020-08-13 14:38:09 +08:00
NovaRain d553e9cbdd 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:17:32 +08:00
NovaRain d2b1cdec46 Changed the behavior of ObjCanSeeObj_ShootThru_Fix
* now the critter can only see through objects in front of it.
2020-08-08 11:50:12 +08:00
NovaRain 37b4a18770 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.

Corrected some code.
2020-08-05 16:10:28 +08:00
NovaRain fd1067373a 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)
2020-08-03 14:28:01 +08:00
NovaRain 82b75f4ea2 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 (#295)
2020-08-02 19:43:51 +08:00
NovaRain 435180d157 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:22:30 +08:00
NovaRain 694d97e123 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:35:58 +08:00
NovaRain a27f020edc Added support for delayed speech playback to AllowDShowSound
(for synchronizing with subtitles when playing endgame slideshow)
2020-07-30 10:29:06 +08:00
NovaRain da5484668c 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)
2020-07-29 14:16:45 +08:00
NovaRain 600360638e Added volume control support for avi movies
Fixed implementation bugs when playing avi movies.
Added a couple of engine variable defines.
2020-07-28 15:21:47 +08:00
NovaRain 19be167c19 Further implementation of speech playback for alternative sound files 2020-07-26 08:46:16 +08:00
NovaRain deaaf6a137 Added a function extension for vanilla metarule3 function
Added SET_HORRIGAN_ENCOUNTER function to metarule3.
Updated German translation.
2020-07-24 21:20:48 +08:00
NovaRain 29da941582 WIP: Fixed sfx/speech playback for alternative sound files 2020-07-22 12:24:20 +08:00
NovaRain b178e15b31 Implemented CodeType enums in some SafeWrite8
Replaced some SafeWriteX with SafeWriteBatch.
Minor edits to documents.
2020-07-21 12:28:15 +08:00
NovaRain 2491cb22af Removed some redundant code 2020-07-19 08:38:48 +08:00
NovaRain 85afa1e4d8 Fixed the default values for the MovieXX options
Added some comments to elevators.ini & other codes.
Updated version number.
2020-07-18 22:13:54 +08:00
NovaRain 64da4dce6c Uploaded language translation files to repo
Updated German (#326) and Russian translations.
2020-07-08 09:55:30 +08:00
NovaRain 586d41cce8 Minor edit to ddraw.ini 2020-07-03 21:36:51 +08:00
NovaRain 30d249f02e 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:47:02 +08:00
NovaRain 467d895ba6 Removed AutoSearchPath from ddraw.ini
* the folder path for auto-loading custom files is now constant.
2020-06-30 22:02:21 +08:00
NovaRain bfaed2eb68 Fixed ASM error in the previous commit 2020-06-30 15:49:32 +08:00
NovaRain a43a28fe8b Fixed broken PlayIdleAnimOnReload option (#320)
(in commit af049ea)

Improved the fix for incorrect positioning after exiting small/medium
locations.
2020-06-30 12:26:56 +08:00
NovaRain 5dd8c441b9 Fixed the code for "display_stats" script function
Minor edit to Perks.cpp.
2020-06-29 23:02:45 +08:00
NovaRain 440cfbd72c Added a fix to prevent showing an empty perk selection window 2020-06-29 12:47:57 +08:00
NovaRain 1db8988368 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:53:12 +08:00
NovaRain 6ecc1fcd1f Corrected the code for multihex retargeting tile
Small optimization to sfall function code.
2020-06-28 23:11:51 +08:00
NovaRain 6c8bbea764 Re-fix for the previous commit 2020-06-28 09:51:29 +08:00
NovaRain d947150dc1 Corrected the fix from the previous commit 2020-06-27 10:12:34 +08:00
NovaRain f5ecaa8bd2 Fixed the hang/freeze in combat (from commit d888161)
Added a fix for retargeting tile for multihex critters.
2020-06-27 09:46:43 +08:00
NovaRain e389bb0dc5 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:25:57 +08:00
NovaRain 94296b40d8 Moved static addresses into respective funcs in Stats.cpp 2020-06-13 00:24:13 +08:00
NovaRain fab5aa2f2f Fixed Auto Doors example script mod
Cosmetic changes to the text descriptions in Perks.ini.
2020-06-13 00:14:44 +08:00
NovaRain 703073e255 Increased the max width of the player name on the char screen (#305)
Updated version number.
2020-06-04 06:38:48 +08:00
NovaRain d888161128 Some bug fixes regarding multihex critters in shoot blocking 2020-05-24 11:30:32 +08:00
NovaRain b263b69fa3 Renamed all script opcode handlers with op_ prefix
Renamed all metarule functions with mf_ prefix.
2020-05-20 11:30:25 +08:00
NovaRain 6bb56b0f95 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:48:46 +08:00
NovaRain c89a18522d Fixed ai_move_away_ engine function
Some minor fixes.
2020-05-10 09:56:11 +08:00
NovaRain c7ccb7f2c2 Edited the msg for SkipLoadingGameSettings a bit
Added a few more defines.
2020-05-08 10:44:37 +08:00
NovaRain b25ca683f3 Cosmetic changes to the code:
Use double underscore for stdcall and "asm" keyword.
2020-05-07 12:27:53 +08:00
NovaRain e28b3a5796 Minor code edits to Combat.cpp
Added some function defines.
2020-05-07 12:13:28 +08:00
NovaRain a9c74501df Added checking AP cost to ai_pick_hit_mode_ engine function 2020-05-07 09:47:57 +08:00
NovaRain b03b93d6fc 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:13:11 +08:00
NovaRain 1f696b9f12 Added internal implementation of engine functions with hooks:
* item_w_mp_cost_ with CALCAPCOST
* is_within_perception_ with WITHINPERCEPTION
2020-05-01 10:27:05 +08:00
NovaRain 3d2d1cdf2a Added combat rating check to "Snipe" distance preference fix 2020-05-01 08:00:49 +08:00
NovaRain 42347ac062 Added a fix to reduce friendly fire in burst attacks (experimental) 2020-04-30 16:01:57 +08:00
NovaRain 007b415740 Changed the priority of files in AutoSearchPath
* now they have higher priority than the PatchFileXX options.

Minor code edits/fixes.
2020-04-30 10:13:44 +08:00
NovaRain 35d2491bcb 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:55:56 +08:00
NovaRain ece76ee726 Changed the fix for AI target selection in commit f731de7
* NPCs will reload the weapon in the same turn (and attack if have
enough AP left) if weapon is empty while selecting targets.

Misc code edits.
2020-04-27 14:25:40 +08:00
NovaRain d6f4a23527 Fixed AllowDShowSound=2 not working
Limited NumSoundBuffers to the max of 32.
Fixed replacing Body_Torso with Body_Uncalled (from commit 7e31713)
Corrected the code in the previous commit.
2020-04-23 12:33:00 +08:00
NovaRain 045ad2f5d7 Added a tweak to the miss message in combat
* if the main target has Flat flag set, remove the message about hitting
another object.

Minor code edits to DebugEditor.cpp & MiscPatches.cpp.
2020-04-22 11:32:03 +08:00
NovaRain 13703f1a3b 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:54:35 +08:00
NovaRain 58bb77d79f Fixed GvarID option behavior in Drugs.ini
Reverted incorrect code change of SpeedPatch.cpp in previous commit.
Some code edits to Explosions.cpp and Perks.cpp.
2020-04-19 09:58:47 +08:00
NovaRain 229371e4ab 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.
* Changed for-loop with iterators to use pre-increment.
2020-04-18 21:19:22 +08:00
NovaRain 1884e279c7 Fixed ReloadWeaponKey for using any non-weapon item (#84) 2020-04-18 10:44:17 +08:00
NovaRain e81d79e43e Fixed "loot_obj" script function 2020-04-18 08:57:02 +08:00
NovaRain f731de7a25 Fixed AI target selection for no ammo or target out of range cases 2020-04-18 08:33:08 +08:00
NovaRain 0d6bc33279 Re-fixed automatically ending combat
Updated version number.
2020-04-18 07:28:00 +08:00
NovaRain 359c79a854 Fixed NPCs not fully reloading a weapon sometimes
* 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.
2020-04-05 08:19:31 +08:00
NovaRain 41652ec459 Moved static addresses into respective funcs in BugFixes & MiscPatches 2020-04-03 23:14:23 +08:00
NovaRain ca4e506f1d Some code correction in BugFixes
Minor edits to documents.
2020-04-03 12:16:09 +08:00
NovaRain 6e05ca65fd Some code/document edits 2020-04-02 11:32:22 +08:00
NovaRain 873d9f81c2 Edited the description of RadEffectsRemovalMsg option 2020-04-01 22:09:46 +08:00
NovaRain 0978769dfc Fixed loading savegame for "NPC turns into a container" bug fix
Added RadEffectsRemovalMsg option for radiation fixes.

Some code/document correction.
2020-03-31 21:51:41 +08:00
NovaRain 29608bb51c Added ActiveGeigerMsgs option and radiation fixes
Changed "Radiated" to be highlighted in red color when the player is
under the influence of negative effects of radiation.
2020-03-30 21:06:11 +08:00
NovaRain ba911375a9 Fixed a crash when using older versions of HRP
Fixed potential crash/bug when alt-tab out of game and get back.
Edited OnDeath hook code to minimize its hook points to the engine.
Minor edits to ddraw.ini.
2020-03-26 14:06:46 +08:00
NovaRain ce5c65d37f Fixed stuttering when playing avi movies
Fixed a crash when playing mve movies without the hi-res patch.

Minor edits to ddraw.ini and function notes.txt.
2020-03-24 10:53:00 +08:00
NovaRain ffd397d9aa Added performance patches, some code moved to MiscPathes module
Minor edits to ddraw.ini.
2020-03-22 09:00:25 +08:00
NovaRain 349cffac0c Added a new "fullscreen windowed" DX9 mode
Added saving the position of the game window to ddraw.ini
2020-03-20 12:24:48 +08:00
NovaRain dfdcd86134 Refactored ASM code of script opcode handlers
Included call_offset_xx functions for AllowUnsafeScripting=2 (#288)
2020-03-19 12:55:01 +08:00
NovaRain accdeae6ad Added a new value to AllowUnsafeScripting
* for disabling the memory address check in unsafe functions (#288)
2020-03-17 13:26:02 +08:00
NovaRain 288a8fedfd Improved and fixed the playback of alternative sound files
Added a new mode to play_sfall_sound script function.

Minor code corrections.
2020-03-17 13:06:34 +08:00
NovaRain eb777e6d19 Fixed the return value of play_sfall_sound function
* before it returned a raw pointer instead of the ID number of the
played sound.
2020-03-12 11:53:45 +08:00
NovaRain dd2469b78f Moved allowDShowSound code from Movies to Sound module 2020-03-12 10:03:43 +08:00
NovaRain 8d375dd81a Refactored ASM code of script handlers in Misc.cpp
Minor code edits.
2020-03-07 14:21:12 +08:00
NovaRain 7f087d1c30 Minor code edits to AI module 2020-02-29 18:58:38 +08:00
NovaRain e7e5da866a Added a new value to the 'mark_state' arg of mark_area_known function
* 3 - uncovers locations without highlighting their sub-tiles.
(Fallout 1 behavior)
2020-02-29 08:36:30 +08:00
NovaRain ac0b0ef7ef Fixed Fill_W not uncovering all tiles to the left (#287) 2020-02-28 07:41:49 +08:00