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
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