Commit Graph
100 Commits
Author SHA1 Message Date
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
NovaRain db2435416d Minor code edits 2020-02-29 18:59:44 +08:00
NovaRain 0120e46782 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:40:45 +08:00
NovaRain eddefd6bd5 Fixed Fill_W not uncovering all tiles to the left (#287) 2020-02-28 07:43:14 +08:00
NovaRain f9cbab3d55 Fixed a crash or animation glitch of the critter in combat (beta fix)
* when an explosion from explosives and the AI attack animation are
performed simultaneously.
2020-02-25 11:38:43 +08:00
NovaRain e3168946ba Minor code fix for Graphics.cpp
Added notes/correction to hookscripts.txt.
2020-02-22 15:50:06 +08:00
NovaRain 8bb660ff11 Fixed the player's money not being displayed after barter (#286)
Restored TownMapHotkeysFix option.

Updated version number.
2020-02-22 15:37:36 +08:00
NovaRain 8a7d9cbd78 Re-ordered the code in ScriptExtender.cpp
* for removing some unnecessary static func declarations at the top.

Moved Set/GetAppearanceGlobals() to HeroAppearance.cpp like 4.x.
2020-02-10 22:22:02 +08:00
NovaRain 008fdb12b7 Minor code improvement in Graphics.cpp 2020-02-09 09:29:43 +08:00
NovaRain 3609f2e309 Renamed dinput.cpp/input.h to InputFuncs.cpp/h 2020-02-08 11:59:00 +08:00
NovaRain 517c2e6825 Updated stdafx.h and other code/doc files 2020-02-08 08:48:02 +08:00
NovaRain 4bc687922a Reverted part of changes in the previous commit 2020-02-07 19:17:24 +08:00
NovaRain 5230ca9cbf Edited some wording in ddraw.ini and Define.h 2020-02-07 10:05:59 +08:00
NovaRain 5a5c65291d Fixed trying to loot corpses with the "NoSteal" flag (#280) 2020-02-06 10:52:19 +08:00
NovaRain e153819bcd Added the description for 'div' operator to notes.txt 2020-02-05 23:21:15 +08:00
NovaRain 8ab5b9b7e7 Replaced all MAXINT with INT_MAX in QuestList.cpp (#279)
Added WINVER and _WIN32_WINNT defines to stdafx.h.
2020-02-05 16:18:51 +08:00
NovaRain abe3b01213 Fixed playing game movies with width less than 640px in DX9 mode
Fixed palette updating.
2020-02-05 09:47:25 +08:00
NovaRain 15019ffe81 Some code edits to ExtraSaveSlots.cpp 2020-02-04 16:28:21 +08:00
NovaRain eacd1e5682 Moved engine function defines from HeroAppearance to FalloutEngine 2020-02-04 10:55:09 +08:00
NovaRain 84204d97d8 Simplified the code in HeroAppearance.cpp 2020-02-03 11:23:20 +08:00
NovaRain 3b85596ca1 Renamed all Op.hpp to Ops.hpp 2020-02-02 21:54:10 +08:00
NovaRain 21bf1056ac Added DivisionOperatorFix option for signed integer division (#278)
* 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.
2020-02-02 21:49:54 +08:00
NovaRain 1354467059 Fixed the barter button on the dialog window (from rotators repo)
* when first entering the dialog, it didn't animate on click.
2020-02-02 15:44:47 +08:00
NovaRain 8d720185a7 Reverted part of changes in previous commit 2020-02-02 13:50:01 +08:00
NovaRain 87864d9ef6 Fixed palette in DX9 mode 2020-02-01 14:08:46 +08:00
NovaRain 0d5c88fded Implemented the optimization for receiving/passing script args from 4.x
* combined related engine interpreter functions into a single function
for aligning the compiled ASM code better.

Minor edits to dinput.cpp.
2020-01-31 20:29:29 +08:00
NovaRain 555b3a9504 Fixed the timer event execution in global scripts 2020-01-31 01:41:25 +08:00
NovaRain f8cd74cc49 Minor changes to some other code and documents. 2020-01-31 01:23:32 +08:00
NovaRain 408661f42b Rewrote and rename "dialog_box" to "message_box"
Added support for '\n' control character to create_message_window.

Fix the playback of the speech sound file for the death screen.
2020-01-28 13:14:58 +08:00
NovaRain 893847cc6a Added "dialog_box" script function
Added a new attrType value to "get_window_attribute" function.

Tweaked the arg type check for "force_encounter_with_flags" function.
2020-01-27 20:52:01 +08:00
NovaRain 6b1fffded1 Fixed the timing of setting some game mode flags
* 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.
2020-01-27 10:42:51 +08:00
NovaRain 3b2e23fda6 Backported FO1 worldmap features from 4.x
* WorldMapTravelMarkers, WorldMapTerrainInfo options.
* set_terrain_name, set_town_title script functions.
2020-01-26 09:26:41 +08:00
NovaRain c9b1a1b583 Edited FalloutEngine using 4.x's EngineUtils & Variables_def as ref 2020-01-25 18:01:55 +08:00
NovaRain d13cd9267d Reordered ResetState() sequence in LoadGameHook.cpp
* in the same order as 4.x modules.

Merged and renamed some "reset" functions.
2020-01-24 22:38:55 +08:00
NovaRain 5a638f48ff Added some engine variables to pointer defines.
Removed redundant PlayAcm() from HeroAppearance.cpp.
2020-01-24 10:03:39 +08:00
NovaRain df1d147a4f Removed TownMapHotkeysFix from ddraw.ini (always enabled)
Also move its code from Worldmap.cpp to BugFixes.cpp.
2020-01-23 23:34:21 +08:00
NovaRain e733954e65 Removed DisplaySecondWeaponRange from ddraw.ini (always enabled)
Minor edits to some code and documents.
2020-01-23 20:35:18 +08:00
NovaRain 36b3b6a2c7 Added "get_window_attribute" script function (#276) 2020-01-22 21:23:12 +08:00
NovaRain ceba5d1da2 Added a flashing icon to the Horrigan encounter
Minor edits to some code and documents.
2020-01-22 10:27:11 +08:00
NovaRain d6486008f4 Expanded the functionality of Fallout1Behavior
* 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.
2020-01-21 21:40:36 +08:00
NovaRain 9f140cf3ca Added a blinking icon to force_encounter/with_flags functions
* currently an icon is always shown for scripted force encounters.
2020-01-20 11:51:17 +08:00
NovaRain f2670deb6f Minor edits to Console.cpp and Logging.cpp
Added procedure and macros for unsigned integer comparison to lib.math.h.
2020-01-19 12:20:18 +08:00
NovaRain 6e6e01ea7f Simplified the code of string_to_case function
Minor edits to some code and documents.
2020-01-17 21:56:12 +08:00
NovaRain dccd735454 Improved the avi playback function 2020-01-17 21:48:54 +08:00
NovaRain 21004e3e63 Combined tolower/toupper in previous commit to "string_to_case" 2020-01-16 20:35:49 +08:00
NovaRain d12db2be28 Added "tolower", "toupper" script functions 2020-01-16 09:46:27 +08:00
NovaRain 3d335231a2 Replaced <hash_map><set> with <unordered_map><unordered_set> 2020-01-10 21:33:32 +08:00
NovaRain d4eb1ee539 Moved the Combat Block patch from AI.cpp to Combat.cpp
Removed palette animations enablement from Interface.cpp.
2020-01-10 11:12:34 +08:00
NovaRain 61c0964c98 Moved engine func defines from various files to FalloutEngine.cpp
(HeroAppearance.cpp, Message.cpp, Sound.cpp)
2020-01-09 22:36:58 +08:00
NovaRain 58532fd902 Fixed duplicate critters being added to the target list for AI
Edited hookscripts.txt to mention the fix.

Some code correction.
2020-01-09 11:41:50 +08:00
NovaRain aafc030f8e Code refactoring in main.cpp (from MiscPatches in 4.x)
Updated compiler document.
2020-01-08 16:59:07 +08:00
NovaRain c652982a06 Added sslc documents to repo 2020-01-06 14:14:22 +08:00
NovaRain 1e0b048e9e Re-fixed setting DIALOG game mode flag 2020-01-06 00:19:36 +08:00
NovaRain 28dc256f61 Fixed the timing of setting DIALOG game mode flag
Renamed win_* related functions in FalloutEngine.

Minor code edits to Inventory & Worldmap following develop branch.
2020-01-05 10:05:39 +08:00