NovaRain
250e7bef8a
Merge branch 'develop'
2019-06-03 09:15:05 +08:00
NovaRain
229911336b
Fixed a bug in knockback modifier functions that could crash the game ( #237 )
...
Updated version number.
Improved compatibility with older processors (pre-SSE2)
2019-06-03 09:14:45 +08:00
NovaRain
e105b8c328
Merge branch 'develop'
2019-05-31 09:34:22 +08:00
NovaRain
e5e2ef5ab0
Minor edit to gl_ammomod example script.
2019-05-31 09:10:36 +08:00
NovaRain
8778d1c695
Improved the fix for the removal of PM corpses.
...
* to prevent save file corruption (one of bugs listed in #228 ). Now
party member's corpse is removed in the same way as all other critter
corpses.
Simplified the ASM code of combat_ai_hack (take 2).
2019-05-30 10:30:25 +08:00
NovaRain
4ee20e06b4
Fixed the code for removal of party member's corpse when loading the map.
2019-05-29 09:35:38 +08:00
NovaRain
aa5bd95dfe
Fixed AI not checking min HP properly for using stims.
...
Edited the code of InventoryApCost in Inventory.cpp.
Minor edits to some other code.
2019-05-28 13:51:40 +08:00
NovaRain
aa221adea3
Fix for fake perks related functions.
...
* now fake perks are no longer added to all controlled critters.
Added alternative functions that allow to add fake perks to party
member NPC.
Rewrote set_fake_perk/trait, set_selectable_perk, has_fake_perk/trait
functions in C++.
2019-05-27 12:01:09 +08:00
NovaRain
22cdc32d26
Simplified the ASM code of combat_ai_hack.
2019-05-24 20:00:07 +08:00
NovaRain
fca3307bd9
Rewrote the fix to allow fleeing NPC to use drugs.
...
Code edits to Perks.cpp.
2019-05-24 10:35:50 +08:00
NovaRain
04d7f4aefa
Removed LoadProtoMaxLimit option from ddraw.ini.
...
* now the proto limit is always handled by set_proto_data function when
needed, since the related issue was originally from using it to process
lots of protos at once.
2019-05-23 17:04:51 +08:00
NovaRain
f5317ad5ee
Rewrote NPC fleeing fix.
...
Removed DialogOptions9Lines option from ddraw.ini.
2019-05-22 10:41:37 +08:00
NovaRain
119b0afacd
Fixed getting perks and traits of real_dude_obj while controlling other NPCs.
...
* When switching control to party members, their own table of perks is
copied into player's current perk table.
Fixed the position of the items in active item slots after ending the
NPC control (NPC's wielded weapon should always be in the right slot).
2019-05-22 10:32:43 +08:00
NovaRain
10a6b76d5b
Increased the max text width of the info card in the char screen.
...
* the increased the width is according to the max width of one char in
font (uppercase A seems to be the widest with 8 px).
2019-05-20 11:25:42 +08:00
NovaRain
3a86f1d134
Added two fixes for NPC fleeing in combat.
...
* added fix to allow fleeing NPC to use drugs.
* fixed NPC stuck in fleeing mode when the hit chance of a target was
too low.
2019-05-19 15:38:54 +08:00
NovaRain
30ac2a9690
Slightly simplified the code of NPCStage6Fix.
...
Moved NPCsTryToSpendExtraAP to AI.cpp.
2019-05-19 08:15:45 +08:00
NovaRain
16a0ef3bdf
Improved the fix in previous commit.
...
* now ignoring the inv capacity only happens in combat for preventing
AI inf loop. The vanilla behavior still applies outside of combat.
* added a correct message for NPC not being able to pick up an item.
2019-05-18 10:55:38 +08:00
NovaRain
58d5271d49
Fixed two item pickup issues for NPC.
...
* message for the player is displayed when the NPC cannot pick up item.
* if in combat, NPC will also be stuck in a loop of picking up item.
Fixed HideObjIsNullMsg option.
2019-05-17 09:55:09 +08:00
NovaRain
6a226aef34
Added a tweak to op_use_obj_on_obj_hack in BugFixes (from Mr.Stalin)
...
Minor edits to code/documents.
2019-05-14 07:16:23 +08:00
NovaRain
6ac9949feb
Added "dropping item on the character portrait" event to HOOK_INVENTORYMOVE.
...
Rewrote get_ini_setting/string script functions in C++.
Rewrote Ray's combat_p_proc fix.
Minor code edits.
2019-05-13 11:29:24 +08:00
NovaRain
d2cf728131
Refactored code in Tiles.cpp and EngineUtils.cpp.
...
Moved RegAnimCombatCheck code from ScriptExtender.cpp to Anims.cpp.
2019-05-11 09:56:58 +08:00
NovaRain
a63ea24572
Added aspect ratio scaling to draw_image_scaled.
...
Rewrote create_message_window script function in C++.
2019-05-11 08:49:30 +08:00
NovaRain
4b221b5367
Improved the error handling for previous commit.
...
Reverted the change in Tiles.cpp from commit 4bc1a422c3 .
2019-05-10 10:38:51 +08:00
NovaRain
02c2df50ac
Added "draw_image" and "draw_image_scaled" script functions.
2019-05-09 22:22:02 +08:00
NovaRain
4bc1a422c3
Changed the names of FRM structures.
...
Added some functions for later use.
Fixed get FID type.
2019-05-09 10:11:26 +08:00
NovaRain
88cf6dcd32
Moved Test_ForceFloats to [Debugging] section.
...
* Since it's never mentioned anywhere, should be OK moving it before
the formal release.
2019-05-07 23:04:00 +08:00
NovaRain
943cd5d2dc
Code edits on ScriptShaders & OpcodeContext.cpp.
...
Minor edits on some other code.
Added the missing Test_ForceFloats option to ddraw.ini.
2019-05-07 13:49:26 +08:00
NovaRain
bc47c87583
Moved script shader functions code from Graphics.cpp to a separate module.
2019-05-05 10:53:50 +08:00
NovaRain
0f98591b77
Code refactoring in Arrays.cpp.
...
Added a new example mod gl_ammomod to modderspack.
2019-05-05 08:47:08 +08:00
NovaRain
42cf5ded97
Unset the read-only attribute for party member's .sav proto files
2019-05-02 14:23:02 +08:00
NovaRain
edac0ba393
Fixed the issue with read-only party member base protos.
...
* the protos being placed in the proto\critters\ directory will cause
party member's stats reset after loading a saved game.
2019-05-01 20:56:35 +08:00
NovaRain
045926c860
Reordered the execution of functions before exiting the map
...
* partyMemberSaveProtos and queue_leaving_map are now called after
executing map_exit_p_proc procedure.
Replaced some obsolete implementation in ScriptExtender/Worldmap.
2019-05-01 09:45:51 +08:00
NovaRain
c65e1ec6d3
Fixed the argument value of dialogue_reaction script function
2019-04-30 11:17:37 +08:00
NovaRain
6a38fd0794
Replaced opcode/metarule names in error messages
...
* before they are explicitly specified in text. Now the names are taken
from the opcode/metarule tables.
2019-04-30 10:09:34 +08:00
NovaRain
f788246283
Reordered sfall modules to fix the issue #235
...
Unified the directory separator in documents.
Updated version number.
2019-04-30 06:45:22 +08:00
NovaRain
428ac62883
Merge branch 'develop'
2019-04-24 20:27:26 +08:00
NovaRain
1b1b85c3b4
Rewrote Force Encounter script function code.
...
Added two functions to Utils.cpp.
Minor edits to BugFixes.cpp and ddraw.ini.
2019-04-24 10:05:47 +08:00
NovaRain
28493432db
Replaced ASM code in various opcodes with macros (from Mr.Stalin)
...
* The two macros are from sfall 3.x.
2019-04-23 11:38:21 +08:00
NovaRain
1d6150e341
Fixed the previous TalkingHeads.cpp commit.
...
* Now textures for all animation sets will be displayed correctly.
Some code edits to AI.cpp, MainMenu.cpp, Movies.cpp.
2019-04-22 10:37:34 +08:00
NovaRain
3798e5239d
Fixed and improved Use32BitHeadGraphics option:
...
* Fixed the position of the talking head texture when the game res is
larger than 640x480.
* Added the support to use textures without the need of patching
talking head FRM files.
Fixed a bug in item highlighting that item keeps its outline if player
picked it up while holding the highlight key.
2019-04-20 22:49:02 +08:00
NovaRain
533020cd8b
Renamed AmmoMod module to DamageMod.
2019-04-19 09:10:31 +08:00
NovaRain
69e3faeb7d
Reverted some changes in previous commit.
...
* Now weapons with knockback modifiers applied still stack with others
in the inventory.
Rewrote the code of set/remove_*_knockback functions in C++.
2019-04-17 10:28:14 +08:00
NovaRain
4cdc028cb7
Further implementation of unique ID.
...
* weapons with knockback modifiers applied will have a special ID
(negative value) that work as a temporary UID for the current game
session.
Added checks on object types to functions in Combat module.
Added the second argument to set_unique_id script function.
2019-04-16 20:33:00 +08:00
NovaRain
e92b8021c0
Fixed the start procedure not being called correctly
...
* If the required standard script procedure is missing, the procedure
above the start proc is called instead of the start (from Crafty)
Added a id reversion mechanism to remove_weapon_knockback.
2019-04-15 12:57:44 +08:00
NovaRain
601d25be97
Fixed adding fake perks to the player ( #232 )
2019-04-14 07:36:57 +08:00
NovaRain
7a2b7dee6a
Added "picking up item" event to HOOK_INVENTORYMOVE.
...
Added "set_unique_id" script function.
2019-04-12 12:15:55 +08:00
NovaRain
dcf0561653
Added new HOOK_SNEAK (from Mr.Stalin)
2019-04-10 17:13:00 +08:00
NovaRain
5c3f10db91
Edited/reorganized some code.
...
Updated proto offsets in define_extra.h.
2019-04-10 09:46:31 +08:00
NovaRain
3e49922898
Extended the number of simultaneously displayed notification boxes
...
(now it depends on on the resolution of the game.)
2019-04-09 11:03:17 +08:00
NovaRain
564202f225
Re-fixed CheckWeaponAmmoCost option.
2019-04-08 00:32:04 +08:00
NovaRain
143f6895a4
Fixed a bug in CheckWeaponAmmoCost (from Mr.Stalin)
...
It caused NPCs to not switch to other weapons when there is not enough
ammo to shoot.
Moved CheckWeaponAmmoCost code from Inventory.cpp to Combat.cpp.
Now the debug editor starts at the center of the screen.
Updated the previous fix in NPC combat control mod.
2019-04-07 10:59:02 +08:00
NovaRain
d946850af4
Fixed the weapon duplication bug in NPC combat control mod.
2019-04-06 09:33:27 +08:00
NovaRain
ae7245579e
Fixed setting array values in the debug editor.
...
Some code corrections.
2019-04-06 08:24:49 +08:00
NovaRain
563fdddc7e
Added setting array values for the debug editor.
2019-04-05 12:03:25 +08:00
NovaRain
06bbe3ceb5
Updates to sfall debug editor (part 1)
2019-04-05 09:17:43 +08:00
NovaRain
56083c3bc6
Updated sfall debug editor (from Mr.Stalin)
...
Formatted the code of sfall debug editor.
2019-04-04 10:22:02 +08:00
NovaRain
dee0065863
Removed PipBoyAutomaps from ddraw.ini.
...
* By default nothing will change with the option enabled, because all
data is copied from the vanilla map list, and modders still need to add
the new 'automap' parameter to override the engine values to add/remove
areas in the automap list. Basically the option itself is redundant.
2019-04-03 22:01:53 +08:00
NovaRain
3614ee355f
Added an option to add support for the new 'automap=yes/no' parameter to maps.txt (from Mr.Stalin)
...
Fixed "out of bounds" bug when printing the automap list.
2019-04-02 10:31:08 +08:00
NovaRain
7c05a0fea9
Fixed a duplicate obj_dude script being created when loading a saved game.
...
Added a fix to prevent the reserved object IDs of the player and party members from being generated for other objects.
Removed a redundant line in MiscPatches.cpp.
2019-03-31 22:50:48 +08:00
NovaRain
dd87a83025
Added DisableSpecialMapIDs option (from Mr.Stalin)
...
Fixed the overflow of the automap tables when the number of maps in maps.txt is more than 160.
2019-03-30 11:07:16 +08:00
NovaRain
da3fd5c671
Replaced the fix in the previous commit with a fix for unexplored areas being revealed on the automap when entering a map.
2019-03-28 12:01:41 +08:00
NovaRain
acc51cae03
Fixed player's position when entering a map.
...
This also fixed the issue with getting player's position in the map_enter_p_proc procedure.
2019-03-27 20:07:40 +08:00
NovaRain
8332a2bba7
Fixed incorrect use of emplace_back() method for the vector.
...
Replaced some push_back() with emplace_back() method.
Changed BlockCall to use the long NOP.
2019-03-26 22:33:05 +08:00
NovaRain
2cfa20ed47
Implemented the critter individualization (from Mr.Stalin):
...
* each critter has its own independent base/bonus stats, separated from other critters sharing the same PID.
* get/set_critter_base/extra_stat script functions now only set stats for a specific critter.
Rewrote get/set_pc_base/extra_stat and get/set_critter_base/extra_stat script functions in C++.
Fixed the argument numbering in error messages when validating arguments.
Minor edits on some code.
Update solution files and version number.
2019-03-26 12:29:28 +08:00
NovaRain
9911eb5f01
Changed hero_select_win function to require an AppHeroWin.frm file in the art\intrface\ folder (from Mr.Stalin)
2019-03-25 20:55:39 +08:00
NovaRain
77f2542919
Merge branch 'develop'
2019-03-18 20:19:53 +08:00
NovaRain
18649329ec
Added SpecialDeathGVAR option to override the global variable number for special death.
...
Minor fix for Stats.ini.
2019-03-17 10:35:12 +08:00
NovaRain
aa91e9fad4
Fixed range for object ID.
...
Added checks for FID in NPC armor appearance mod.
Minor edits to documents.
2019-03-16 08:47:37 +08:00
NovaRain
1fd93ba13f
Added CorpseDeleteTime option (from Mr.Stalin)
...
Fixed some code in Perks.cpp.
2019-03-15 19:17:37 +08:00
NovaRain
04eba05e53
Fixed the removal of party member's corpse (from Mr.Stalin)
...
Now items in party member's inventory are not removed along with the corpse.
2019-03-14 13:42:48 +08:00
NovaRain
3cef4784d3
Fixed critters not being healed over time when entering the map if 'dead_bodies_age=No' is set in maps.txt.
...
Added additional checks for the amounts to properly compare the effects of drugs.
2019-03-13 11:54:16 +08:00
NovaRain
656b4c5291
Tweaked the code of the fix in previous commit.
2019-03-13 00:08:10 +08:00
NovaRain
82a11d30b2
Fixed NPC stuck in a loop of reloading melee/unarmed weapons when out of ammo (from Mr.Stalin)
2019-03-12 11:45:18 +08:00
NovaRain
0f036b26ae
Added support for extra perks to has_fake_perk/get_perk_available script functions.
...
Fixed broken get_perk_available script function.
Some code corrections for Perks.cpp.
2019-03-11 10:07:44 +08:00
NovaRain
967e642908
Added the ability to add extra non-scripted perks to the PerksFile (from Mr.Stalin)
...
Fixed some functionality for fake perks.
2019-03-10 11:55:41 +08:00
NovaRain
9eefb6e042
Fixed some issues in the previous commit.
...
* the game failed to start if there are more drug items than the specified "Count" number in Drugs.ini.
* setting vanilla drugs in Drugs.ini broke their NumEffects limit, even if it's not set (-1).
2019-03-09 07:45:56 +08:00
NovaRain
f289723431
Added "set_drugs_data" script function (from Mr.Stalin)
...
Fixed vanilla drugs in Drugs.ini not getting loaded.
2019-03-08 21:37:36 +08:00
NovaRain
2d38b4bac1
Moved the list of active drug pids to sfallgv.sav.
...
Fixed item_d_load_subfix in the previous commit.
2019-03-06 09:30:24 +08:00
NovaRain
3934a804f4
Added new Drugs module and DrugsFile option (from Mr.Stalin)
...
Fixed a bug in the party control module with the 'addict' notification box not getting hidden after the addiction ends.
Removed DrugsSaveFix option, now the list of active drug pids will be saved to sfalldb.sav.
2019-03-05 12:36:38 +08:00
NovaRain
ab03186a1d
Fixed the screen not returning to the player when moving a controlled critter to another elevation of the map.
...
Added DrugSaveFix option to fix saving the active effects of drugs.
Refactored some code in BugFixes.cpp.
2019-03-04 15:27:00 +08:00
NovaRain
15d762deb0
Fixed the lighting of controlled critters in NPC combat control mod.
2019-03-03 11:48:42 +08:00
NovaRain
d8bb5848f7
Fixed the return FID in NPC armor appearance mod.
2019-03-02 09:55:40 +08:00
NovaRain
f84578e84b
Added displaying the NPC's addictions in the character screen when controlled by the player (from Mr.Stalin)
...
Added "npc_engine_level_up" script function.
Moved the code of set_map_time_multi to Worldmap handler, and NPCAutoLevel to PartyControl module.
Removed validate_test example function from release builds.
2019-02-27 12:06:06 +08:00
NovaRain
aa36d54b27
Fixed a crash bug when trying to use explosives if using a books ini file.
...
Fixed some bugs in BugFixes.cpp.
2019-02-25 23:48:54 +08:00
NovaRain
627c0df484
Added a new argument to REMOVEINVENOBJ hook (from Mr.Stalin)
...
Fixed inconsistent return value of get_npc_level.
2019-02-25 12:26:42 +08:00
NovaRain
ae3d4fcb69
Expanded get/inc_npc_level functions to accept party member PIDs (from Mr.Stalin)
...
Some code correction in Skills.cpp.
2019-02-24 19:26:42 +08:00
NovaRain
fb31357e3d
Fixed incorrect skill point cost for negative skill levels when using a skills ini file (from Mr.Stalin)
2019-02-23 22:17:53 +08:00
NovaRain
1687e50729
Fixed the negative skill points of a skill not being taken into account when calculating the skill level (from Mr.Stalin, #202 )
...
Fixed the return value of has_skill function for incorrect skill numbers.
2019-02-21 10:53:55 +08:00
NovaRain
36e3a2bd5f
Updated NPC combat control mod to be able to automatically set the number for the notification box.
...
Updated item highlighting mod to also be disabled while in the barter screen.
2019-02-20 21:26:23 +08:00
NovaRain
99664dfa8a
Fixed the reserved item FRM being displayed in the top-left corner when in the loot/barter screens.
2019-02-20 10:02:54 +08:00
NovaRain
0980967cee
Changed the implementation of BarBoxes.cpp (from Mr.Stalin)
...
Added "add_iface_tag" script function.
2019-02-19 21:33:42 +08:00
NovaRain
8613a4fb8b
Added ExtraPatches section to ddraw.ini for setting multiple custom paths for game files (from Mr.Stalin, #206 )
...
Refactored some code of DataLoadOrderPatch to work with new ExtraPatches.
Removed MultiPatches from ddraw.ini, now it's always enabled.
Minor edits to MiscPatches.cpp and Arrays.cpp.
Updated version number.
2019-02-19 11:55:38 +08:00
NovaRain
6fdf3ac0b0
Merge branch 'develop'
2019-02-12 09:22:18 +08:00
NovaRain
fe5a148d7f
Moved DontDeleteProtos option from MiscPatches.cpp to DebugEditor.cpp.
...
Updated Auto Doors script mod from Mr.Stalin and ddraw.ini.
2019-02-11 13:58:21 +08:00
NovaRain
d64b33a946
Minor edits to SpeedPatch and documents.
2019-02-10 09:53:03 +08:00
NovaRain
1294d27a96
Formatted code in Arrays.cpp and added checks for the integrity of sfallgv.sav when loading a saved game.
...
Fixed unregistering hook procedure.
2019-02-09 09:36:57 +08:00
NovaRain
41171bbb87
Fixed crash when saving the game with speed tweak enabled.
2019-02-09 08:08:34 +08:00
NovaRain
170322648e
Reverted the change of DataType values in ScriptValue.h.
...
(reason: inefficiency)
2019-02-09 02:12:57 +08:00
NovaRain
af531a3e1d
Refactored and fixed SpeedPatch module (from Mr.Stalin)
2019-02-08 10:31:03 +08:00
NovaRain
d13f33e2ff
Refactored OpcodeContext/ScriptValue and some script function handlers (from Mr.Stalin)
2019-02-06 11:28:50 +08:00