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
NovaRain
b7e80d445e
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:25:00 +08:00
NovaRain
e404684f58
Reverted the change for ResetState() in 993555
...
* 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.
2020-04-04 18:06:04 +08:00
NovaRain
4c78ba595c
Moved static addresses into respective funcs in BugFixes & main.cpp
2020-04-03 23:19:10 +08:00
NovaRain
1f1d6eb6f0
Some code correction in BugFixes
...
Minor edits to documents.
2020-04-03 12:33:48 +08:00
NovaRain
9935553bce
Reduced unnecessary game reset execution
2020-04-02 23:20:04 +08:00
NovaRain
cd4d3b5b2f
Some code/document edits
2020-04-02 12:00:52 +08:00
NovaRain
a61ff5b626
Edited the description of RadEffectsRemovalMsg option
2020-04-01 22:10:55 +08:00
NovaRain
bc2e8e4362
Backported the code of DeathAnim1/2 hook from 4.x
...
Updated hookscripts.txt to reflect the change.
2020-04-01 10:57:54 +08:00
NovaRain
136404a723
Fixed loading savegame for "NPC turns into a container" bug fix
...
Added RadEffectsRemovalMsg option for radiation fixes.
Some code correction in Graphics.cpp.
2020-03-31 21:54:49 +08:00
NovaRain
1a17ac5ac8
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.
Some edits to macros in HookScripts.cpp.
2020-03-30 21:15:19 +08:00
NovaRain
07543dd29d
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 to minimize its hook points to the engine (from 4.x)
Minor edits to ddraw.ini.
2020-03-26 14:13:22 +08:00
NovaRain
4243bead5d
Attempted to fix the crash with sfall array and missing script ( #281 )
...
Replaced all pushad/popad in script opcodes with pushaop/popaop macros.
2020-03-25 20:22:54 +08:00
NovaRain
f80e933889
Rewrote some script functions in PerksOps.hpp
...
* funcs: get_perk_available, set_perk_name/desc, set_selectable_perk,
set_fake_perk/trait.
Minor code refactoring in ObjectsOps.hpp.
2020-03-25 12:26:26 +08:00
NovaRain
7cbde234c6
Rewrote various script functions in _WRAP_OPCODE
...
* funcs: reg_anim_*, sqrt, sin, cos, tan, arctan, get/set_weapon_ammo_*,
list_*, strlen, atoi, atof, typeof, string_split.
2020-03-24 12:12:34 +08:00
NovaRain
f6ae7c5f2c
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:55:28 +08:00
NovaRain
58060a8c5f
Simplified the pushad/popad in _WRAP_OPCODE macro
...
Refactored ASM code of art_exists and sneak_success functions.
Rewrote set_critter_current_ap and set_sfall_arg with _WRAP_OPCODE.
2020-03-23 13:52:28 +08:00
NovaRain
22140e2a0c
Added performance patches, some code moved to main.cpp
...
Minor edits to ddraw.ini.
Tweaked the names in AsmMacros.h.
2020-03-22 09:27:24 +08:00
NovaRain
1c6f8cc255
Refactored sfall_ver_* and charcode functions
2020-03-20 12:32:05 +08:00
NovaRain
e479609581
Added a new "fullscreen windowed" DX9 mode
...
Added saving the position of the game window to ddraw.ini
2020-03-20 12:30:41 +08:00
NovaRain
ab11c0422a
Refactored ASM code of script opcode handlers
...
Included call_offset_xx functions for AllowUnsafeScripting=2
2020-03-19 12:57:19 +08:00
NovaRain
09752c98a4
Attempted to fix the crash in commit 0ba3b62
...
* the crash happens when the game loses focus.
2020-03-17 14:48:50 +08:00
NovaRain
aab04764ae
Added a new value to AllowUnsafeScripting
...
* for disabling the memory address check in write_xxx unsafe functions.
2020-03-17 13:39:05 +08:00
NovaRain
0ba3b62eff
Improved and fixed the playback of alternative sound files
...
Added a new mode to play_sfall_sound script function.
2020-03-17 13:08:47 +08:00
NovaRain
0c0d1dd73e
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:58:48 +08:00
NovaRain
0fd45aa37a
Moved allowDShowSound code from Movies.cpp to Sound.cpp
2020-03-12 10:06:56 +08:00
NovaRain
00a6e4f0f9
Fixed set_palette function broken in the previous commit
2020-03-10 10:07:59 +08:00
NovaRain
36ef55ddd0
Refactored ASM code of script handlers in MiscOps.hpp
...
Minor code edits.
2020-03-07 16:02:23 +08:00