Commit Graph
100 Commits
Author SHA1 Message Date
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 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 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 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
NovaRain 0ed346380f Refactored error handling of saving/loading sfall data files. 2019-02-05 10:43:17 +08:00
NovaRain 664643d83c Rewrote ASM code of WorldMapFpsPatch functions.
(with fix for infinite loop of elapsed time)
2019-02-04 10:19:46 +08:00
NovaRain 89dbbb9238 Refactored code in Worldmap module (from Mr.Stalin)
Fixed TimeLimit option and removed the pointless value of -2 (now it's the same as -3).
Fixed the slow mouse cursor on the world map when WorldMapFPSPatch is enabled.
2019-02-03 00:57:00 +08:00
NovaRain 5daebd18d8 Added note on effect flags to CriticalOverrides.ini.
Minor edits to Criticals/Elevators.cpp.
2019-01-31 09:18:24 +08:00
NovaRain 4e38eab905 Removed some unnecessary memset code.
Minor code corrections.
2019-01-30 00:09:11 +08:00
NovaRain 7f8d805a9f Refactored code in the Books module.
Increased the maximum number of books in BooksFile to 50.
2019-01-29 06:32:12 +08:00
NovaRain 0e91aed2e2 Added HideObjIsNullMsg option to [Debugging].
Moved DebugEditor option from MiscPatches.cpp to DebugEditor.cpp.
2019-01-27 10:39:59 +08:00
NovaRain 3eba5c3054 Added two bug fixes for loading a game saved in combat mode (from Mr.Stalin) 2019-01-27 09:20:44 +08:00
NovaRain 80afdae7ba Fixed pickup_obj/drop_obj/use_obj script functions (from Mr.Stalin)
Fixed a crash when calling use_obj/use_obj_on_obj functions without using set_self in global scripts.
2019-01-25 00:30:34 +08:00
NovaRain 9db3c79c40 Added AttackComplexFix option (from Mr.Stalin) 2019-01-23 09:32:28 +08:00
NovaRain 274223a4ce Fixed bugs in attack_complex and critter_mod_skill script functions.
Minor edits to ScriptExtender.cpp.
2019-01-22 16:53:08 +08:00
NovaRain 7dbbb8230e Added error message when the name for sfall global variable is not equal to 8 characters.
Updated version number.
2019-01-21 11:24:54 +08:00
NovaRain a95f26a02d Fixed set_self function for use_obj_on_obj, attack, attack_complex vanilla functions (from Mr.Stalin) (#214) 2019-01-21 09:56:06 +08:00
NovaRain 46850a353b Corrected code in FileSystem.cpp (from Mr.Stalin)
Added fix for db_freadInt_ engine function from BugFixes.cpp when enabling UseFileSystemOverride.
2019-01-20 22:13:30 +08:00
NovaRain e379e71410 Added "art_cache_clear" script function. 2019-01-20 08:54:33 +08:00
NovaRain 774e31b9f6 Fixed and refactored code in FileSystem.cpp (from Mr.Stalin) 2019-01-20 00:18:32 +08:00
NovaRain 82f068c3e7 Refactored ASM code in FileSystem.cpp (from Mr.Stalin) 2019-01-17 10:06:04 +08:00
NovaRain 68e8ce8d41 Added support for integer values to abs() math function.
Minor code refactoring in Skills.cpp.
2019-01-16 11:07:56 +08:00
NovaRain 34caa1cbbd Fixed a bug that broke the calculation of the skill point cost for increasing skill levels (#226)
Removed /Gw option from the release configuration.
Updated version number for hot fix.
2019-01-14 09:32:59 +08:00
NovaRain 11ae4f5078 Refactored ASM code in Sound.cpp (from Mr.Stalin)
Minor fix for "path_find_to" script function.
Implemented WRAP_WATCOM_FCALL# wrappers from Mr.Stalin.
Changed some code in Objects script handler for new wrapper functions.
Moved obj_under_cursor to Objects script handler.
Reformatted code in Karma.cpp/Worldmap.cpp.
Minor edits to documents.
2019-01-08 14:11:52 +08:00
NovaRain c1107e16a8 Expanded create/temp_array functions to allow creating a new "lookup" type of associative array (from Mr.Stalin) 2019-01-08 00:05:48 +08:00
NovaRain 49ef1aec9f Fixed a crash bug when using sorting functions on an associative array(map) (from Mr.Stalin)
Added support for sorting associative arrays by keys or values.
2019-01-06 11:37:02 +08:00
NovaRain 14d6d36172 Moved ModifiedIni to main.cpp. 2019-01-04 21:06:39 +08:00
NovaRain d2c8667c22 Refactored ASM code in KillCounter.cpp.
Fixed the broken ExtraKillTypes option.
Reformatted and tweaked code in Explosions.cpp.
2019-01-03 11:05:15 +08:00
NovaRain edbf777b63 Changed hs_inventorymove hook script to be triggered before displaying the 'Move Items' window for drag and drop ammo on weapons. 2019-01-03 00:28:59 +08:00
NovaRain 26c032379e Fixed stack in InventoryHs.cpp (from commit 7b92d0f939)
Refactored some ASM code in BurstMods.cpp, Inventory.cpp, Credits.cpp, AnimationsAtOnceLimit.cpp.
2019-01-01 10:24:51 +08:00
NovaRain 5a455ab942 Fixed input argument names in structure constructor for Combat/Perks/Skills modules. 2019-01-01 02:03:17 +08:00
NovaRain d89603e56d Improved the functionality of ElevatorsFile to allow to change the FRM images of the elevator panel and create new elevator types (from Mr.Stalin) 2018-12-31 10:05:59 +08:00
NovaRain 7b92d0f939 Corrected/improved code of some hooks.
Changed critical table to be loaded before global scripts.
Updated version number and year.
2018-12-30 09:59:39 +08:00
NovaRain b89663174f Added new HOOK_SETLIGHTING (from Mr.Stalin) (#215) 2018-12-30 08:01:13 +08:00