Commit Graph
100 Commits
Author SHA1 Message Date
NovaRain 0f7a8592a9 Fixed the interrupted player's movement in combat.
* it happens when the player try to use objects with Bonus Move APs
available. The distance has to be greater than remaining normal APs.

Replaced calling db_dir_entry_ with db_access_ in HeroAppearance.cpp.
2019-06-10 09:45:52 +08:00
NovaRain e9f3fd5039 Fixed the position of the target maker for location circles. 2019-06-09 11:35:30 +08:00
NovaRain 6cc988aef5 Fixed the reserve movement fix in commit f1ef55d.
* before the reserve movement didn't work correctly if the player has
free move AP (yellow, from Bonus Move) left.
2019-06-09 07:26:32 +08:00
NovaRain e50369c18d Fixed the up/down button images in the world map interface. 2019-06-08 23:56:20 +08:00
NovaRain f1ef55d22d Fixed anim_move_to_tile_ ignoring the distance argument.
* this also fixes the broken "reserve movement" feature.
2019-06-08 09:46:30 +08:00
NovaRain d1fe920cf7 Fixed a few bugs in WorldMapSlots option.
Updated version number.
2019-06-06 10:21:36 +08:00
NovaRain 9a331c918c Fixed a bug in knockback modifier functions that could crash the game (#237)
Updated version number.
2019-06-02 08:52:42 +08:00
NovaRain 56fd9706a4 Minor edit to gl_ammomod example script. 2019-05-31 09:11:25 +08:00
NovaRain b46892cb66 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:34:15 +08:00
NovaRain 7663a47fbb Fixed the code for removal of party member's corpse when loading the map. 2019-05-29 09:37:28 +08:00
NovaRain a9aeac1f6f 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 11:18:11 +08:00
NovaRain 6db496e66c Code edits to Perks.cpp/PerksOp.hpp/ScriptExtender.cpp. 2019-05-27 12:10:34 +08:00
NovaRain daf6585ba3 Simplified the ASM code of combat_ai_hack. 2019-05-24 20:01:19 +08:00
NovaRain 1f6dac09b8 Rewrote the fix to allow fleeing NPC to use drugs.
Code edits to Perks.cpp/PerksOp.hpp.
2019-05-24 10:43:46 +08:00
NovaRain af6038ee0c 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:06:40 +08:00
NovaRain 2c7548f164 Fixed getting perks/traits from the real dude_obj while controlling other NPCs.
Added "real_dude_obj" script function and updated documents.
2019-05-22 12:59:27 +08:00
NovaRain 301ccba45f Rewrote NPC fleeing fix.
Removed DialogOptions9Lines option from ddraw.ini.
2019-05-22 10:48:41 +08:00
NovaRain 899dc2422d 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).

Adjusted code format in Console.cpp.
2019-05-20 11:36:03 +08:00
NovaRain 0e69ef4af1 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:40:21 +08:00
NovaRain f6d27b71aa Slightly simplified the code of NPCStage6Fix.
Moved NPCsTryToSpendExtraAP to AI.cpp.
2019-05-19 08:24:31 +08:00
NovaRain 520f939afa 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 11:09:04 +08:00
NovaRain fa1e5eddc9 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 10:03:48 +08:00
NovaRain 3b8878e647 Implemented an ASM patch for Win2K build to remove VS2008 requirement.
* tested DX9 modes, hookscripts, and combat control in VM environment.

Removed Cpp11_emu.h file.
Replaced some define macros with enums.
2019-05-15 23:42:35 +08:00
NovaRain 5353ab0ad6 Backported the code of four hookscripts from 4.x.
* FINDTARGET, BARTERPRICE, WITHINPERCEPTION, and INVENTORYMOVE. For
unifying the behavior of common hooks between 3.8 and 4.x.

Added the example script of WITHINPERCEPTION from 4.x.
Updated gl_highlighting_lite.
2019-05-14 11:42:21 +08:00
NovaRain 20ffc39f95 Added a tweak to op_use_obj_on_obj_hack in BugFixes (from Mr.Stalin)
Minor edits to some code.
2019-05-14 06:41:13 +08:00
NovaRain 8482618291 Rewrote Ray's combat_p_proc fix.
Refactored the code of SwitchHandHook with backporting from 4.x.
Minor code edits.
2019-05-13 11:37:02 +08:00
NovaRain f7fa62a078 Refactored the code in Tiles.cpp.
Removed the font check in create_message_window script function.
2019-05-11 10:04:47 +08:00
NovaRain 1891612f38 Reverted the change in Tiles.cpp from previous commit. 2019-05-10 10:44:34 +08:00
NovaRain efe00b9faf Changed the names of FRM structures.
Fixed get FID type in Inventory.cpp.
2019-05-09 10:20:47 +08:00
NovaRain 2059a3da8c Backported 3 script functions from 4.1:
* dialog_obj, loot_obj, and npc_engine_level_up.
2019-05-08 21:04:18 +08:00
NovaRain ec3bc8c21c Moved Test_ForceFloats to [Debugging] section.
* Since it's never mentioned anywhere, should be OK moving it before
the formal release.

Minor code edits to Tiles.cpp.
2019-05-07 23:08:47 +08:00
NovaRain c1ec4057a6 Code edits on Graphics.cpp & ScriptExtender.cpp.
Minor edits on some other code.
Added the missing Test_ForceFloats option to ddraw.ini.
2019-05-07 14:04:36 +08:00
NovaRain 5d9008f407 Minor code edits on Graphics/Movies/TalkingHeads.cpp 2019-05-05 10:59:49 +08:00
NovaRain 64e4daeb02 Code refactoring in Arrays.cpp & ScriptArrays.hpp.
Added new example mods gl_ammomod & gl_highlighting_lite to modderspack.
Renamed Bugs.cpp to BugFixes.cpp.
2019-05-05 10:11:36 +08:00
NovaRain 40ed445956 Simplified the iterator in party member protos patch.
Added initialization and delete for repList, as in 4.x.
2019-05-03 10:14:00 +08:00
NovaRain cbd3964ae5 Moved worldmap related code from main.cpp to the new Worldmap.cpp. 2019-05-02 21:02:49 +08:00
NovaRain 34628c0ea5 Unset the read-only attribute for party member's .sav proto files
Slightly changed the implementation of previous commit.
2019-05-02 14:33:09 +08:00
NovaRain f2f260e743 Backported the patch for party member base protos. 2019-05-02 09:28:28 +08:00
NovaRain f13e6bd9f3 Reordered the execution of functions before exiting the map
* partyMemberSaveProtos and queue_leaving_map are now called after
executing map_exit_p_proc procedure.
2019-05-01 11:37:11 +08:00
NovaRain 8ef05d205a Fixed the argument value of dialogue_reaction script function 2019-04-30 11:18:42 +08:00
NovaRain 3c255085ed Replaced ASM code in various opcodes with macros (from Mr.Stalin)
Unified the directory separator in documents.
Updated version number.
2019-04-30 10:38:39 +08:00
NovaRain 7500e6b637 Updated set_unique_id defines in sfall.h. 2019-04-24 20:26:26 +08:00
NovaRain 560eead694 Rewrote Force Encounter script function code.
Changed set_global_script_repeat/type & set_self to use fastcall.
Minor edits to BugFixes.cpp and ddraw.ini.
2019-04-24 15:06:07 +08:00
NovaRain 45baeff397 Minor code edits to some opcodes. 2019-04-23 11:40:28 +08:00
NovaRain 2df1dfbadc 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.
2019-04-23 07:35:18 +08:00
NovaRain cbe31e845c Renamed heads/ddraw2 to TalkingHeads/Graphics.
Added necessary defines to prepare TalkingHeads backporting.
Some code edits to AI.cpp, MainMenu.cpp, movies.cpp.
2019-04-22 23:03:03 +08:00
NovaRain 2e2d3f7946 Renamed AmmoMod.cpp/h to DamageMod. 2019-04-19 09:24:17 +08:00
NovaRain 854adc2afc Reverted some changes in previous commit.
* Now weapons with knockback modifiers applied still stack with others
in the inventory.
2019-04-17 10:34:13 +08:00
NovaRain 0c8794661c 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:53:41 +08:00
NovaRain ceb55cdfa9 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 13:04:15 +08:00
NovaRain 6791b15af1 Added "set_unique_id" script function.
Minor edit to Perks.cpp.
Added DevXP config to project files.
2019-04-14 07:35:52 +08:00
NovaRain ff4f5d7e73 Updated proto offsets in define_extra.h.
Minor edit to HookScripts.cpp.
2019-04-10 09:50:59 +08:00
NovaRain 564c48354a Backported the code of AmmoCost hook from 4.x.
* Mainly for fixing the issues with CheckWeaponAmmoCost. Because it's
easier to backport the whole set of code than working on the old
implementation. Shouldn't affect the performance much.

Also backported the CheckWeaponAmmoCost code from 4.x.
Updated hookscripts.txt to reflect the change.
Now the debug editor starts at the center of the screen.
2019-04-09 09:53:56 +08:00
NovaRain 4232be088c Fixed setting array values in the debug editor.
Some code corrections.
2019-04-06 08:31:14 +08:00
NovaRain 9ec8a12288 Added setting array values for the debug editor.
Updates to sfall debug editor (part 1)
2019-04-05 13:03:08 +08:00
NovaRain b97c5fd65d Updated sfall debug editor (from Mr.Stalin)
Formatted the code of sfall debug editor.
2019-04-04 10:37:09 +08:00
NovaRain 5c377ad3df Added support for the new 'automap=yes/no' parameter to maps.txt
* This parameter overrides the hardcoded values for displaying the map
in the pipboy automaps for the first 160 maps (from Mr.Stalin)
2019-04-03 22:10:19 +08:00
NovaRain 3c47288e70 Fixed "out of bounds" bug when printing the automap list. 2019-04-01 21:22:27 +08:00
NovaRain 5d7ee90f71 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.
Moved SkipOpeningMovies to movies.cpp.
Added log entries for various Init() functions in main.cpp.
Renamed timer.cpp/h to SpeedPatch.cpp/h.
2019-03-31 23:02:56 +08:00
NovaRain 6193afff11 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:09:35 +08:00
NovaRain b4800361e6 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:03:28 +08:00
NovaRain 0debe89a27 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:08:38 +08:00
NovaRain aae34d5d82 Fixed the argument numbering in error messages when validating arguments.
Changed BlockCall to use the long NOP.
Minor edits on some code.
Update version number.
2019-03-26 22:46:25 +08:00
NovaRain 26e814581f Changed hero_select_win function to require an AppHeroWin.frm file in the art\intrface\ folder (from Mr.Stalin) 2019-03-25 21:01:23 +08:00
NovaRain a62a4d6911 Added SpecialDeathGVAR option to override the global variable number for special death.
Minor fix for Stats.ini.
2019-03-17 10:38:32 +08:00
NovaRain 20746abba2 Fixed range for object ID.
Minor edits to documents.
2019-03-16 08:53:20 +08:00
NovaRain e11755cb2d Added CorpseDeleteTime option (from Mr.Stalin)
Fixed some functionality issues of fake perks.
2019-03-15 19:20:30 +08:00
NovaRain 83b0862db6 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:44:38 +08:00
NovaRain 386b5a6678 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:55:33 +08:00
NovaRain 5bd69dfee2 Tweaked the code of the fix in previous commit. 2019-03-13 00:09:46 +08:00
NovaRain a388a9e602 Fixed NPC stuck in a loop of reloading melee/unarmed weapons when out of ammo (from Mr.Stalin) 2019-03-12 11:50:22 +08:00
NovaRain 69bea44481 Fixed broken get_perk_available script function. 2019-03-11 11:31:36 +08:00
NovaRain e2fc1ee0ec Minor edits on Perks.cpp and related code. 2019-03-11 10:22:17 +08:00
NovaRain 912abbd213 Fix item_d_load_subfix in the previous commit. 2019-03-06 21:28:08 +08:00
NovaRain 653b419be6 Backported the fix of active drug pids from the develop branch. 2019-03-06 09:35:53 +08:00
NovaRain 4480ecfcad Tweaked the code of item_d_take_drug_hack in Bugs.cpp. 2019-03-05 12:41:51 +08:00
NovaRain 08b9d98d3b Fixed the screen not returning to the player when moving a controlled critter to another elevation of the map.
Refactored some code in Bugs.cpp.
2019-03-04 12:55:34 +08:00
NovaRain c20e709659 Moved RemoveCriticalTimelimits to Criticals.cpp. 2019-03-03 12:02:19 +08:00
NovaRain 68a345f398 Moved the code of set_map_time_multi to WorldmapOps.hpp, and NPCAutoLevel to PartyControl.cpp.
Removed validate_test example function from release builds.
2019-02-27 12:27:22 +08:00
NovaRain 730cd212a4 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:54:47 +08:00
NovaRain ce0f5ea8c9 Added a new argument to REMOVEINVENOBJ hook (from Mr.Stalin) 2019-02-25 20:44:49 +08:00
NovaRain 2ce1c0f36e Fixed inconsistent return value of get_npc_level.
Some edits to documents.
2019-02-25 12:32:56 +08:00
NovaRain 72e370117e Expanded get/inc_npc_level functions to accept party member PIDs (from Mr.Stalin)
Some code correction in Skills.cpp.
2019-02-24 20:14:36 +08:00
NovaRain 6ab45bbc3c Fixed incorrect skill point cost for negative skill levels when using a skills ini file (from Mr.Stalin) 2019-02-23 22:21:37 +08:00
NovaRain 7bcf06c227 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:57:53 +08:00
NovaRain bc8f7477c7 Fixed the reserved item FRM being displayed in the top-left corner when in the loot/barter screens. 2019-02-20 10:04:54 +08:00
NovaRain f5c570ddc1 Removed MultiPatches from ddraw.ini, now it's always enabled.
Minor edits to main.cpp and Arrays.cpp.
Updated version number.
2019-02-19 12:07:40 +08:00
NovaRain 504f66f002 Moved DontDeleteProtos option from main.cpp to DebugEditor.cpp.
Updated Auto Doors script mod from Mr.Stalin and ddraw.ini.
2019-02-11 13:59:37 +08:00
NovaRain 76f2301b6c Minor edits to speed tweak and documents. 2019-02-10 09:56:28 +08:00
NovaRain 4788ac757b 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:55:43 +08:00
NovaRain a71b33aab1 Fixed crash when saving the game with speed tweak enabled. 2019-02-09 08:09:25 +08:00
NovaRain 222f3eaf68 Refactored and fixed speed patch related code (from Mr.Stalin)
Rewrote ASM code of WorldMapFpsPatch functions.
2019-02-08 12:53:13 +08:00
NovaRain 823d2b92f7 Minor refactoring of ScriptValue and some script function handlers. 2019-02-06 12:00:30 +08:00
NovaRain f478e9a1f9 Changed sfall to stop loading save if there's error on data files.
Minor simplified a couple of assembly in LoadGameHook.cpp.
2019-02-06 09:33:02 +08:00
NovaRain 8718b86440 Refactored error handling of saving/loading sfall save data files. 2019-02-05 11:11:56 +08:00
NovaRain 67adb9b592 Revert the change of get_year code to pure assembly.
Minor edits to main.cpp.
2019-02-04 17:55:16 +08:00
NovaRain ca5781a44a Refactored world map related code/funcs in main.cpp (from Mr.Stalin)
Fixed TimeLimit option and removed the pointless value of -2 (now it works the same as -3).
Fixed the slow mouse cursor on the world map when WorldMapFPSPatch is enabled.
2019-02-03 09:32:16 +08:00
NovaRain 4edf36a1dc Removed some more unnecessary memset code.
Added note on effect flags to CriticalOverrides.ini.
2019-01-31 09:12:15 +08:00
NovaRain 4a5f556cd3 Removed some unnecessary memset code.
Minor code corrections.
2019-01-30 00:15:12 +08:00
NovaRain 2b7754746c Refactored code in Books.cpp.
Increased the maximum number of books in BooksFile to 50.
Moved scattered Cpp11_emu.h includes from various cpp files to main.h.
2019-01-29 11:11:03 +08:00