Commit Graph
100 Commits
Author SHA1 Message Date
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