NovaRain
ee67b9b59d
Merge branch 'develop'. sfall is now updated to 4.0.
2017-10-14 23:03:07 +08:00
NovaRain
74d496845b
Added compiled gl_partycontrol script from the previous commit.
2017-10-02 10:04:56 +08:00
NovaRain
1bde433a16
Added Gecko Skinning perk to controlled critters if player has the perk, to make geckos killed by controlled critters also have gecko skins in their inventory.
2017-10-02 09:54:47 +08:00
NovaRain
f0f4948856
Added LoadHeroAppearance() back to NewGame_After in LoadGameHook.cpp.
2017-09-19 23:04:35 +08:00
NovaRain
b4168fe934
Reverted LoadGame_hook to previous revision and changed EndLoadHook to only call LoadHeroAppearance (attempted to fix issue #117 and #94 )
...
Removed redundant LoadHeroAppearance calling.
2017-09-19 11:58:41 +08:00
NovaRain
848f29b468
Added descriptions for the variables in Perks.ini.
2017-09-12 15:38:07 +08:00
NovaRain
bf1da72def
Implemented script procedures: combat_is_starting_p_proc/combat_is_over_p_proc (from Crafty) #107
2017-09-01 09:58:25 +08:00
NovaRain
75909e688e
Fixed the double damage effect of Silent Death perk not being applied to critical hits (from Crafty)
2017-08-21 22:56:06 +08:00
NovaRain
394000fa2a
Merge branch 'feature/cursor_mode' into develop
2017-08-21 21:39:47 +08:00
NovaRain
ad17773ace
Fixed incorrect argument description for get/set_proto_data in sfall opcode list.txt.
...
Removed incorrect PROTO_CR_FLAGS value in define_extra.h (was actually critter's IN), and renamed PROTO_CR_ACTION_FLAGS to its correct name #112
2017-08-21 11:33:04 +08:00
NovaRain
85cdd8973e
Fixed the incorrect description in HOOK_COMBATDAMAGE.
2017-08-19 08:49:16 +08:00
NovaRain
85bcf82c1e
Unified the indent style (3 spaces) in SSL library and removed trailing spaces.
2017-08-18 09:53:17 +08:00
NovaRain
6c65d8fe79
Added descriptions for get/set_cursor_mode.
...
Added defines for cursor modes.
2017-08-17 23:54:29 +08:00
NovaRain
34eaddebb8
Added script functions get/set_cursor_mode #108
...
Removed "beta" from version string.
2017-08-14 11:49:41 +08:00
NovaRain
7989da8bfa
Added missing define and description for item_weight.
2017-08-13 11:45:12 +08:00
NovaRain
012418cd59
Two bug fixes from Crafty:
...
1. Fixed the displayed message when the attack randomly hits a target that is not a critter and has a script attached.
2. Fixed damage_p_proc being called for misses if the target is not a critter.
2017-08-07 13:21:13 +08:00
NovaRain
0a4e0cb755
Fixed Bonus Move APs being replenished when you save and load the game in combat (from Crafty)
2017-07-26 21:49:30 +08:00
NovaRain
fc930ff7fb
Added a note for argnum in set_sfall_arg().
...
Fixed incorrect set_sfall_arg usage in the example.
Removed a redundant line in sfall opcode list.txt.
2017-07-25 23:10:14 +08:00
NovaRain
6a0a93836e
Added the description for real_dude_obj.
2017-07-11 12:08:46 +08:00
NovaRain
e7e286013f
Replaced hs_*.int scripts in example mods with normal global scripts with register_hook.
2017-07-06 21:01:35 +08:00
NovaRain
f0e93450f6
Minor format edits to sfall.h and LoadGameHook.cpp.
2017-06-22 09:44:14 +08:00
NovaRain
46ea2fb265
Added Attack Type argument for HOOK_COMBATDAMAGE (from Crafty) #100
2017-06-14 12:39:33 +08:00
NovaRain
35d8052098
Minor edits to ddraw.ini.
2017-06-02 11:49:54 +08:00
NovaRain
abb71a1a1f
Fixed incorrect info in sfall function notes.txt.
2017-05-31 09:25:44 +08:00
NovaRain
35d397c891
Added DontTurnOffSneakIfYouRun option to prevent the player from running while sneaking without Silent Running perk (from Crafty)
...
Added sfall log text for DisablePipboyAlarm.
2017-05-26 10:36:14 +08:00
NovaRain
92b010f362
Added check for sfall version for gl_partycontrol and gl_npcarmor.
...
Changed version string because sfall 4.0 will be released in 'beta' stage first.
Minor edits to some documents.
2017-05-23 22:28:42 +08:00
phobos2077
c2e6d743a3
Changed LoadGame_after to be called before LoadGame state is ended #94
2017-05-20 18:10:59 +07:00
NovaRain
579cbd7543
Re-removed CityRepsCount and KarmaFRMsCount from ddraw.ini (they got added back by accident.)
2017-05-08 21:22:05 +08:00
NovaRain
34db527f45
Merge branch '3.8-maintenance'
2017-05-08 09:53:44 +08:00
NovaRain
475503d632
Added a check for OutlineColor in gl_highlighting, in case player set it to negative values.
...
Split the push/pop instructions in ItemCountFix() into individual lines.
2017-05-07 21:20:17 +08:00
NovaRain
31834fdfea
Added OutlineColor option to set the color of outlines for items/containers.
2017-05-07 20:27:30 +08:00
NovaRain
7405e3cb52
Updated version number in ddraw.ini.
2017-05-07 01:22:00 +08:00
NovaRain
771230f9b4
Fixed a crash when calling destroy_object or destroy_mult_objs.
...
Updated some structs, using commit 75c7ab647f as the reference.
Updated version number.
2017-05-07 01:08:28 +08:00
phobos2077
0486192c3c
Updated rebracer.xml
2017-05-03 22:47:40 +07:00
phobos2077
83f2d48668
Fix hero appearance bug ( #92 ) and broken sfall global variables
...
- Changed LoadGame_before function to be called AFTER GameReset when loading the game
- Don't set appearance globals in RefreshPCArt function
- Moved functions for saving/loading appearance globals into HeroAppearance.cpp
2017-04-24 16:37:53 +07:00
VladislavKolosovsky
7b333ca458
Fixed hero appearance style and race not being loaded properly from savegames #94
2017-04-24 16:10:20 +07:00
phobos2077
fd4fe5fd0e
HeroAppearance: Fixed AppStyle and AppRace frms not being loaded and drawn #94
2017-04-24 13:41:05 +07:00
NovaRain
2255d9e947
Fixed skills being capped at 95% when starting a new game.
...
Changed PipBoyAvailableAtGameStart=1 to be executed before the game starts, so player will be in vault suit at the beginning, instead of first in tribal appearance then switching to vault suit after changing maps.
Added a separator line for the new [Scripts] section in ddraw.ini.
2017-04-19 10:37:04 +08:00
phobos2077
85020d66f2
Added new functions into docs #90
2017-04-15 22:17:42 +07:00
phobos2077
629641eb96
Added new HOOK_CARTRAVEL #90
2017-04-15 21:59:18 +07:00
phobos2077
0af8010861
Added scripting function "set_car_intface_art" #90
2017-04-15 02:04:21 +07:00
phobos2077
addccd2bc6
Added rebracer.xml
2017-04-12 00:35:25 +07:00
phobos2077
8a0ac2082e
Fixed some override structs not being initialized on starting the game, leading to min/max skills/stats/hit chances being wrong #92
2017-04-12 00:35:10 +07:00
NovaRain
a5599e1942
Simplified ToggleHighlightObject in gl_highlighting.
2017-04-10 00:57:17 +08:00
NovaRain
43e2ddeeef
Enabled highlighting corpses and containers by default in sfall-mods.ini.
2017-04-09 22:51:56 +08:00
NovaRain and GitHub
0c5e6af119
Merge pull request #93 from phobos2077/highlighting_options
...
Added options for toggling corpse highlighting and LOS check in item highlighting mod.
2017-04-09 22:45:40 +08:00
NovaRain
dc785d010e
Added options for toggling corpse highlighting and LOS check.
...
Changed default settings in sfall-mod.ini to be in line with the default ddraw.ini in previous versions of sfall.
2017-04-09 20:58:36 +08:00
phobos2077
d484be45c8
Added function car_gas_amount #90
...
- Sorted some defines
- Minor code formatting fixes
2017-04-08 13:48:14 +07:00
Vlad and GitHub
ae3634779c
Merge pull request #91 from FakelsHub/develop-highlighting
...
Change behavior in Highlighting mod
2017-04-08 13:08:46 +07:00
Mr.Stalin
18644f37fd
Deleted duplicate code in the script. Added check for sfall version.
2017-04-07 23:58:26 +03:00
Mr.Stalin
bb52a6d9cb
Change in Highlighting mod, items with set flag 'NO_HIGHLIGHT' will no longer be highlighted.
2017-04-07 21:54:57 +03:00
phobos2077
e34a00148f
Fixed path do Delegate.h in Inventory.h
2017-04-05 00:40:24 +07:00
phobos2077
478684f8ef
Enabled Elevators module and fixed incorrect loading from Elevators.ini
2017-04-05 00:16:30 +07:00
phobos2077
e2a383511d
Refactor opcodes in Objects.cpp
...
- Added missing argument type checks
- Replace asm blocks with wrapper function calls
- Use GameObject instead of DWORD
2017-04-03 23:27:33 +07:00
phobos2077
116c522bdc
Moved hard-coded "ControlCombat" mod from sfall into a global script #87
...
- Exactly the same functionality and settings
- Mod settings are now in sfall-mods.ini
2017-04-01 21:11:19 +07:00
phobos2077
9531fcbebd
Added new hook script HOOK_COMBATTURN - runs before and after every turn in combat
2017-04-01 20:31:19 +07:00
phobos2077
76a946c72e
Moved all combat-related hook scripts into separate unit
2017-04-01 16:09:34 +07:00
phobos2077
20bc5b9fd6
Make modules interfaces public
2017-04-01 16:01:53 +07:00
phobos2077
dcc471fc47
Reorganize HookScripts.cpp
...
- Moved most hook script implementations into several separate files
- Group HS implementations together by their category
2017-04-01 15:57:25 +07:00
phobos2077
d881dc9e89
Make Metarule.cpp more accessible
...
- Improve comments
- Rename metaruleTable and move it on top of the file
- Use C++ style iteration
2017-04-01 03:28:50 +07:00
phobos2077
fef690c2c2
Merge branch 'feature/armor-appearance' into develop
2017-04-01 02:21:58 +07:00
phobos2077
5bbdcbd2db
Added final version of NPC armor appearance script, compatible with both HeroAppearance mod and set_dude_obj (NPC control) function #82
2017-04-01 02:21:12 +07:00
phobos2077
24e9dde577
Add missing code for real_dude_obj
2017-04-01 02:15:09 +07:00
phobos2077
029419db3d
Added real_dude_obj scripting function, useful for checking if currently controlling NPC or "real" character
2017-04-01 02:14:27 +07:00
phobos2077
6e0fe881df
Added new hook script for controlling FID of character figure on inventory screen
2017-04-01 02:12:20 +07:00
phobos2077
203dcdf6be
Refactor adjust_fid function, make it compatible with NPC control, Hero Appearance and NPC Armor appearance mods
2017-04-01 00:20:00 +07:00
phobos2077
34500d9dd5
Replace adjust_fid engine function with C++ implementation
2017-03-31 20:55:45 +07:00
phobos2077
cbe987df25
First prototype of armor appearance mod (hook-based)
...
- Add test version of gl_npcarmor script with config file for FO2 RP
- Add some useful scripting headers
- Add new scripting functions to sfall.h
2017-03-30 01:20:44 +07:00
NovaRain
7dcef6f4b2
Replaced some address hacks with simplified ones (e.g. using jumps in stead of multiple NOPs), to be in line with the changes in 3.8 branch (commit 16be32d284)
2017-03-28 10:11:38 +08:00
phobos2077
5dadba6e56
Better solution for NPC inventory FID: skip reading from proto, use existing art instead (partially fixes incompatibility with armor appearance mod);
...
Fixed conflict with HeroAppearance mod (assumed adjust_fid was always called for "real" Dude)
2017-03-28 02:49:55 +07:00
phobos2077
b592d6bdbe
PartyControl: added fix for displaying proper NPC art in inventory screens (not taking armor into account - like vanilla game); removed redundant SetInventoryCheck function; minor refactoring (not compatible with current scripted implementation of NPC armor appearance mod)
2017-03-28 01:26:40 +07:00
phobos2077
0fe6c2a426
Fixed crash after barter
2017-03-27 23:42:34 +07:00
phobos2077
32564d64d1
Added scripting functions for reading INI sections
2017-03-27 04:07:16 +07:00
phobos2077
897f1ab323
Fixed bug and added description for new scripting function #17
2017-03-27 00:58:06 +07:00
phobos2077
4e3168e2e3
Added function set_dude_obj to take control of any critter at any time [EXPERIMENTAL] #17
2017-03-27 00:18:27 +07:00
phobos2077
8a65172927
Minor refactoring of PartyControl
2017-03-27 00:17:37 +07:00
phobos2077
778230dde1
Added item_weight script function;
...
Return -1 on metarule argument validation error (to match normal opcodes) #63
2017-03-26 23:16:35 +07:00
phobos2077
6a78206c2e
Added SafeWriteBatch function for writing the same value to a list of addresses;
...
Rewrite AnimationsAtOnceLimit: get rid of redundant loops and unsafe heap allocations
2017-03-26 22:06:27 +07:00
phobos2077
c519fb6fb6
Replaced all usages of MakeCall with 3 arguments with either MakeJump or MakeCall (2 arguments) - code readability.
2017-03-26 20:10:44 +07:00
phobos2077
96fa2668cc
Reduce duplication in HookScripts's hooking code using HookCalls; Added function MakeJump to improve code readability
2017-03-26 20:00:49 +07:00
phobos2077
c32dc7664e
Added new modes for get_game_mod to match Crafty's; implemented HookCalls function to reduce code duplication #66
2017-03-26 19:41:04 +07:00
NovaRain
2c14d5dd57
Merge branch '3.8-maintenance'
2017-03-25 21:34:34 +08:00
NovaRain
945f4696d7
Fixed anim_set_end_hack() only gets called when applying AnimationsAtOnceLimit patch. It should be always called regardless of AnimationsAtOnceLimit setting.
2017-03-23 20:46:14 +08:00
NovaRain
e7d03fc60a
Fixed a bug that caused the game to crash upon entering combat mode if AnimationsAtOnceLimit is set to negative values by accident.
...
Used static const for the value of animation record size.
2017-03-23 13:03:20 +08:00
NovaRain and GitHub
61615930b6
Merge pull request #75 from FakelsHub/3.8-anim_fix
...
Fixed the game hanging in the combat mode when using reg_anim_animate() inside damage_p_proc (from Crafty, #75 )
2017-03-23 07:43:57 +08:00
NovaRain and GitHub
62e5559aea
Merge branch '3.8-maintenance' into 3.8-anim_fix
2017-03-23 07:30:36 +08:00
phobos2077
f2243f2874
Added definitions for AnimationSet structures (based on Crafty's work); refactor Proto struct definitions, added a couple of static asserts for safety
2017-03-23 01:57:06 +07:00
phobos2077
52e24a4dd4
Added a hack from Crafty that allows to use reg_anim_animate() inside combat_p_proc without game hanging in eternal loop #75
2017-03-23 01:13:49 +07:00
NovaRain
50c91db5ea
Moved part of AnimationsAtOnceInit code from main.cpp to AnimationsAtOnceLimit.cpp.
...
Changed the if condition for ProcessorIdle to make sure out-of-bounds values not resulting in unexpected but valid values.
2017-03-21 21:05:44 +08:00
NovaRain
b1624e5acf
Fixed vanilla to-hit calculation being broken by the previous TOHIT hook commit.
2017-03-20 13:57:11 +08:00
NovaRain
1644ca437c
Fixed vanilla to-hit calculation being broken by the previous TOHIT hook commit.
2017-03-20 13:56:03 +08:00
NovaRain
4482630f9a
Updated credits.
...
Unified the wording of some log entries.
2017-03-19 08:32:47 +08:00
NovaRain
024b1dbf6f
Backported the fix for TOHIT hook from 4.0 development branch (commit 7bbe84feef)
...
Updated credits.
2017-03-19 08:29:27 +08:00
phobos2077
7bbe84feef
Fixed TOHIT hook issues: added 3 missing hook arguments, fixed incorrect attack type argument being passed to vanilla function, thus potentially breaking vanilla to hit calculations, even when not using any scripts at all
2017-03-18 21:45:28 +07:00
NovaRain
659da227f4
Fixed incorrect "\r\r\n" being printed in sfall-log.txt.
...
Simplified Jet Antidote fix.
Unified the wording of some log entries.
Changed sprintf to _snprintf_s for SimplePatch.
2017-03-18 22:42:19 +08:00
phobos2077
c83fe0690b
Merge branch 'develop' of https://github.com/phobos2077/sfall into develop
2017-03-18 20:26:11 +07:00
phobos2077
76e32e1bef
InputFuncs: added OnMouseClick delegate, moved debug editor related code into new module;
...
HookScripts: added check for map being loaded in MouseClick hook, minor renaming.
2017-03-18 20:23:34 +07:00
NovaRain
92c599e1a2
Fixed incorrect "\r\r\n" being printed in sfall-log.txt.
...
Simplified Jet Antidote fix.
Changed sprintf with _snprintf_s for SimplePatch to prevent warning C4995 when compiling with v140_xp toolset.
2017-03-18 21:12:28 +08:00
phobos2077
1f74aa5c22
Refactor LoadGameHook: replaced MainMenuLoop hook with separate game_reset and main_init_system hooks #83
2017-03-18 18:24:08 +07:00
phobos2077 and NovaRain
b48549b524
Fixed 0 prices in all shops when not using barter mods
...
(cherry picked from commit 2d278bf4c7 )
2017-03-18 10:34:01 +08:00
phobos2077
2525e8a005
Prevent crashes due to global scripts being executed during game closing
2017-03-18 03:21:50 +07:00
phobos2077
7c661ce408
Merge branch 'develop' of https://github.com/phobos2077/sfall into develop
2017-03-18 02:59:04 +07:00
phobos2077
2d278bf4c7
Fixed 0 prices in all shops when not using barter mods
2017-03-18 02:58:41 +07:00
NovaRain
fc99baa0c6
Changed SkipSizeCheck and ExtraCRC to not require enabling sfall debugging mode.
2017-03-16 22:52:58 +08:00
NovaRain
bf61051887
Updated documentation on hook scripts.
...
Minor edits to missing d3dx9 dll message.
2017-03-16 22:03:33 +08:00
NovaRain
0b739b7d77
Fixed inconsistent behavior of motion sensor flag 2; now motion sensor truly does not require any charges to work.
2017-03-16 07:38:43 +08:00
phobos2077
2fbf4a0518
Add notes for new scripting functions
2017-03-16 02:01:29 +07:00
phobos2077
9514602f91
Removed CommonTypes.h, it's redundant because with precompiled header, Windows.h defines are available everywhere
2017-03-16 01:33:11 +07:00
phobos2077
adf8dd13dd
Moved highlighting-related settings into new "sfall-mods.ini", dedicated for scripted sfall mods;
...
Reverted description for MotionScannerFlags 1 and 2, it was actually correct before.
2017-03-16 01:21:20 +07:00
NovaRain
943561ea65
Fixed header path in MainLoopHook.h and Worldmap.h.
...
Replaced Win2K project config with ReleaseXP (using v140_xp toolset) because using VS2008 to target Win2000 is no longer possible with current sfall 4.0 codebase.
2017-03-15 22:14:17 +08:00
NovaRain
158234438b
Fixed inconsistent behavior of motion sensor flag 2; now motion sensor truly does not require any charges to work.
2017-03-14 22:56:19 +08:00
NovaRain
eb4998ced6
Fixed an error in the previous commit.
2017-03-14 22:02:52 +08:00
NovaRain
9631e08db4
ExplosionEmitLight: Skip setting light level if object was already lit #78 (from commit b0dc6ff182)
2017-03-14 14:07:26 +08:00
phobos2077
c5698d74ce
Update documentation on hook scripts
2017-03-14 02:24:30 +07:00
phobos2077
afadbb71c4
Refactor highlighting mod script, added check for outlined_object (via new scripting function), updated ddraw.ini to reflect the actual meaning of highighting-related settings (they way it worked for a long time); #53
...
HighlightMod is permanently removed from sfall code, it is now only a script.
2017-03-14 00:20:34 +07:00
phobos2077
a74bab42e8
Full implementation of highlight mod with motion scanner interaction; #53
...
Fixed incorrect string lookup failsafe in Inventory.cpp
2017-03-13 23:54:54 +07:00
phobos2077
c411ced286
Merge branch 'develop' of https://github.com/phobos2077/sfall into develop
2017-03-13 22:15:16 +07:00
phobos2077
b0dc6ff182
ExplosionEmitLight: Skip setting light level if object was already lit #78
2017-03-13 22:13:21 +07:00
NovaRain
52072e29c0
Removed the obsolete WorldMapFPS, ForceLowResolutionTimer, and WorldMapDelay.
...
Fixed global scripts not running on the world map (mode 2) when disabling the world map speed patch.
2017-03-13 13:37:46 +08:00
NovaRain
28c18c1925
Updated hook script document for new arguments of hs_barterprice.
...
Changed BarterPriceHook() to be in line with the version in 4.0 branch.
Fixed incorrect GlobalVar struct size leading to load game crashes and corrupted saves (from 4.0 development branch)
2017-03-13 13:08:15 +08:00
NovaRain
cbcc0e4a86
Fixed Sequence stat value not being printed correctly when using "print to file" option.
2017-03-13 11:29:56 +08:00
NovaRain
133d092d02
Fixed bugs for negative SPECIAL values in character creation (from Crafty)
...
Updated credits.
2017-03-13 10:47:53 +08:00
NovaRain
77349cbaec
Fixed Sequence stat value not being printed correctly when using "print to file" option.
...
Updated credits.
2017-03-13 10:33:31 +08:00
phobos2077
fa583d41d7
Added scripting functions: get/set_flags. This allows, for example, to turn character into a ghost dynamically from script.
2017-03-13 04:12:52 +07:00
phobos2077
c63ddf3e9c
Fixed incorrect GlobalVar struct size leading to load game crashes and corrupted saves
2017-03-13 03:54:23 +07:00
phobos2077
6152615ce5
Implemented highlighting mod as a stand-alone global script with LOS and NoHighlight flag checks #53
2017-03-13 03:36:02 +07:00
phobos2077
a379e1f998
Added ability to load global scripts from different paths with new GlobalScriptPaths option
2017-03-13 02:26:02 +07:00
phobos2077
b3d5d38cc4
Remove dependency on Explosions from ScriptExtender by introducing onAfterCombatAttack delegate
2017-03-13 00:52:40 +07:00
phobos2077
ede1bacf2b
Added new arguments to barter price hook from Crafty (slightly modified) #76
2017-03-13 00:17:50 +07:00
Vlad and GitHub
85845a2d80
Merge pull request #76 from FakelsHub/3.8-barterhook
...
New arguments to hook_barterprice.
2017-03-13 00:05:57 +07:00
phobos2077
4823b71d96
Encapsulated delegate variables into functions
2017-03-12 23:27:00 +07:00
phobos2077
aa77d82a23
Removed all WorldmapSpeed patches except the default one, fixed global worldmap scripts not working when speed patch is disabled
2017-03-12 23:14:35 +07:00
phobos2077
0a3745f8f5
Moved main loop hooks from ScriptExtender to separate module (with new hooks);
...
Moved HighlightingMod into separate module;
Removed direct reference to ScriptExtender from InputFuncs using delegate
2017-03-12 21:48:10 +07:00
NovaRain
d8e2e6f1ca
Added a missing function to prevent the player starting the game with zero or negative SPECIAL values (from Crafty)
...
Added a log entry for the bag/backpack fix.
2017-03-12 21:02:19 +08:00
NovaRain and GitHub
dd00e130a9
Merge pull request #80 from FakelsHub/3.8-PCStat_fix
...
Fixed bugs for negative SPECIAL values in character creation (from Crafty)
2017-03-12 20:53:53 +08:00
Mr.Stalin
6cb8700df5
Correcting bug for negative values SPECIAL parameters. (from Crafty)
2017-03-12 00:38:23 +03:00
phobos2077
685914dafa
Improved outline function by redrawing only necessary portion of screen #54 ;
...
Renamed some sfall structs;
Minor refactoring.
2017-03-11 23:21:44 +07:00
phobos2077
2d4ce73664
Initial implementation of set_outline function (need to find better solution) #54
2017-03-11 21:48:59 +07:00
phobos2077
7b5e730f72
Moved some more wrappers out from HeroAppearance
2017-03-11 19:18:10 +07:00
NovaRain
ec0baf3065
Greatly increased compilation speed using precompiled header (from 4.0 development branch)
...
Changed SkipSizeCheck and ExtraCRC to not require enabling sfall debugging mode.
2017-03-11 20:14:25 +08:00
phobos2077
10bc859892
Use precompiled header for all configurations; removed useless check for VS version
2017-03-11 18:39:54 +07:00
phobos2077
2e064580ed
Refactor HeroAppearance and related code - moved wrapper functions into Functions_def.h, replaced usages, corrected some structs
2017-03-11 18:35:57 +07:00
phobos2077
8357465e9c
Removed file-specific compile settings for Worldmap.cpp and TalkingHeads.cpp
2017-03-11 15:45:24 +07:00
phobos2077
81d3479bff
Greatly increase compilation speed using precompiled header
2017-03-11 15:43:28 +07:00
phobos2077
89f92f9676
Replaced NULL with nullptr
2017-03-11 15:11:38 +07:00
phobos2077
5888b76afb
Merge branch 'feature/namespace-changes' into develop
2017-03-11 15:07:52 +07:00
phobos2077
e1db0550b1
Removed ExtraSaveSlots dependency on HeroAppearance - moved some functions to EngineUtils, others replaced with wrappers
2017-03-11 14:51:56 +07:00
phobos2077
d0f05e4efe
Rewrite Proto structures - mapped most of proto offsets into one big struct
2017-03-11 14:07:08 +07:00
phobos2077
b18b5a340c
Renamed most used engine structs;
...
Rename struct fields and map previously unknown fields;
Replace sElevator with proper two-dimensional array of simple structs;
Fix build errors.
2017-03-11 02:15:27 +07:00
Mr.Stalin
5265100425
Combat animation fix: fixes a hang in the handler damage_p_proc after the animation completes in the combat mode. (from Crafty)
2017-03-09 21:59:16 +03:00
Mr.Stalin
c095e54b62
Add new get arguments(arg7/arg8/arg9) to HOOK_BARTERPRICE (from Crafty)
2017-03-09 19:26:13 +03:00
NovaRain
6e5b811b87
Fix a crash when clicking on empty space in the inventory list opened by "Use Inventory Item On" (backpack) action icon (from Crafty)
...
Improved the functionality of ScrollMod: now the minimum is scrolling 1 inventory slot per click; before setting ScrollMod too high or negative values will result in scrolling not working.
Changed BodyHit_Torso to BodyHit_Torso_Uncalled because it sets both body_torso and body_uncalled hit modifiers.
2017-03-09 13:56:37 +08:00
NovaRain
229a5516e0
Unified the style of merged code.
2017-03-09 10:18:16 +08:00
NovaRain and GitHub
f056c53739
Merge pull request #73 from FakelsHub/3.8-inventory-fix
...
Fix a crash when clicking on empty space in the inventory list opened by "Use Inventory Item On" (backpack) action icon (from Crafty)
2017-03-09 10:11:13 +08:00
NovaRain
cb84700bfc
Fixed metarule2_explosions not being reset properly.
2017-03-09 09:10:21 +08:00
NovaRain
e71d1962b5
Fixed metarule2_explosions not being reset properly.
2017-03-09 09:07:58 +08:00
phobos2077
a4de59dac4
Put all engine function offsets into fo::funcoffs:: namespace; refactor the definition of functions to reduce lines of code; renamed some headers #56
2017-03-09 02:48:48 +07:00
phobos2077
67c3ba7caf
Renamed VARPTR_ to FO_VAR_ prefix #56
2017-03-09 01:12:20 +07:00
phobos2077
4b261febfd
Put all FO variables and function wrappers to fo:: namespace; fix all build errors; other minor refactoring #56
2017-03-09 00:27:54 +07:00
Mr.Stalin
0f722a50fd
Fix crash when clicking on empty space in the inventory with the cursor using an item from the backpack (from Crafty)
2017-03-08 19:27:29 +03:00
NovaRain
6b7a10130d
Improved the functionality of ScrollMod: now the minimum is scrolling 1 inventory slot per click; before setting ScrollMod too high or negative values will result in scrolling not working.
2017-03-08 22:56:48 +08:00
phobos2077
6b6da17610
Updated TGameObj struct with separate sub-structs for items and critters; Put game enums and structs into fo namespace (broken build) #56
2017-03-06 02:20:22 +07:00
phobos2077
8ed93e8cf7
Replaced DATATYPE_* constants with enum class
2017-03-06 00:50:15 +07:00
phobos2077
31520d6f65
Fixed crash when using Graphic patch due to conflict between Movie patch and SkipOpeningMovies patch
2017-03-06 00:28:59 +07:00
NovaRain
061302585b
Updated version number.
2017-03-06 00:43:39 +08:00
phobos2077
033221398e
Fixed Sfall not working :)
...
Separated sfall initialization from WinAPI-specific code in main.cpp and InputFuncs.cpp
2017-03-05 22:41:19 +07:00
phobos2077
3a4b7fe3f5
Moved all files to sfall namespace
2017-03-05 21:49:21 +07:00
phobos2077
a016e4a236
Replaced all direct references to ini and translationIni with GetConfig*()
2017-03-05 18:25:33 +07:00
phobos2077
6f0901f980
Replaced more INI reading with new functions;
...
Removed CityRepsCount setting (redundant)
2017-03-05 01:52:33 +07:00
NovaRain
c3acd1af3e
Changed ExtraGameMsgFileList to read its setting from generic INI file, which can be set by UseCommandLine, instead of the fixed ddraw.ini.
...
Added a comment to karma frm options to explain things better.
2017-03-05 00:31:35 +08:00
phobos2077
fbb643bfa8
Fix and refactor loading of ExtraGameMsgFileList
2017-03-04 20:23:03 +07:00
phobos2077
32c1de3a34
Added functions for reading from sfall INI files more easily;
...
Refactor Karma module init: use new INI functions, get rid of hacky string split code, removed KarmaFRMsCount (it's redundant)
2017-03-04 19:55:37 +07:00
phobos2077
b5a85fd57c
Merge branch 'feature/module-system' into develop
2017-03-04 17:57:33 +07:00
phobos2077
c0906521aa
Reduce external dependencies in LoadGameHook using the delegates for various events;
...
Renamed some variables and functions;
Moved Input patch into separate module;
Moved Graphics patch initialization into Graphics module;
Moved PipboyAvailableAtStart and DisableHorrigan patches into MiscPatches;
#69 #9
2017-03-04 17:51:24 +07:00
NovaRain
411c0a6e98
Backported the fix for a crash when pressing reload weapon key while in the main menu from 4.0 development branch (commit 5b10d9e786)
2017-03-03 11:45:06 +08:00
phobos2077
5b10d9e786
Fixed crash on pressing Reload hotkey while on the main menu; move some dependencies from LoadGameHook
2017-03-03 01:07:57 +07:00
phobos2077
75c7ab647f
Renamed some macros to avoid names reserved by C++ standart;
...
Replaced fixed-bit types with simple types in Enums and Struct definitions (because sfall is 32-bit exclusive by design).
2017-03-01 03:02:18 +07:00
phobos2077
38e0f21e93
Reorganize hooks in LoadGameHook: don't hook main menu loop, instead added "before new game" hook.
2017-03-01 02:50:27 +07:00
NovaRain
4cc1235dbc
Backported the fix for bug #70 from 4.0 development branch (commit 72bde84d92)
...
Fixed a minro typo in Inventory.cpp.
2017-02-28 21:22:00 +08:00
phobos2077
02658a3801
Moved fix patch to more appropriate place #70
2017-02-28 00:39:05 +07:00
phobos2077
72bde84d92
Fixed bug #70 by replacing item_count engine function
2017-02-28 00:32:47 +07:00
phobos2077
f3f9186ce7
Removed Cpp11_emu file. Goodbye, Windows 9x :'(
...
Added delegates to LoadGameHook.
2017-02-27 02:04:18 +07:00
phobos2077
be0cc2f3d5
Switch to Visual Studio 2015 compiler. Test some features with Delegate class
2017-02-27 01:48:54 +07:00
phobos2077
826c3eb021
Added Module classes for every sfall module; #9
...
Moved all patches out from main.cpp;
Fixed all build errors.
2017-02-27 01:27:04 +07:00
NovaRain
bf70cadc02
Merge branch '3.8-maintenance'
2017-02-27 00:02:50 +08:00
phobos2077
8284eb50f0
Moved more stuff out from main.cpp;
...
Added module manager class with example usage; #9
Attempted to implement Delegate class.
2017-02-26 22:53:32 +07:00
phobos2077
160c11043f
Moved SpeedPatch to separate unit; moved Karma FRMs patch to Karma.cpp #7
2017-02-26 02:59:08 +07:00
phobos2077
6e5a0fd085
Moved DisplayKarmaChange patch into separate unit #7
2017-02-26 02:48:16 +07:00
phobos2077
57ef099e97
Moved LoadOrder patch into separate unit #7
2017-02-26 02:43:19 +07:00
phobos2077
944b95d796
Move all Worldmap-related patches into separate unit #7
2017-02-26 02:35:53 +07:00
phobos2077
dfa9534bd1
Move more patches away from main.cpp to Misc module
2017-02-26 02:17:39 +07:00
phobos2077
c186ed5ee0
Added Module base-class and example subclass for HeroAppearance
2017-02-26 02:17:03 +07:00
phobos2077
4dc2aaa046
Merge branch 'feature/opcode-handling' into develop
2017-02-24 17:25:33 +07:00
phobos2077
b3e1837cfc
Moved several more functionsto opcodeInfoArray.
...
Removed AsmMacros.h to reduce the number of ways to write new scripting function. #58
2017-02-24 17:24:15 +07:00
phobos2077
94c00f12f7
Moved all array-related opcodes to new table #58
2017-02-24 17:01:02 +07:00
phobos2077 and NovaRain
70a742db81
Added note about possible issue when using hs_invenwield incorrectly
...
(cherry picked from commit df5c81164f )
2017-02-24 15:48:06 +08:00
NovaRain
00d4e188d6
Fixed a crash if calling reg_anim_obj_run_to_tile after reg_anim_combat_check.
...
Implemented some changes of Explosions.cpp from commit ce21fdab79 to make the code a bit more understandable.
2017-02-24 15:47:37 +08:00
phobos2077
df5c81164f
Added note about possible issue when using hs_invenwield incorrectly
2017-02-24 13:57:00 +07:00
phobos2077
17df8deb86
Moved all "Utils" opcodes to new table (gotten rid of op_* functions) #58
2017-02-24 13:56:02 +07:00
phobos2077
54f9fc4bcd
Introduced much simpler way to add engine functions wrappers (one line in 1 file); changed anim functions to use new wrappers
2017-02-24 03:12:36 +07:00
phobos2077
6d88cd03f7
Fixed crash if calling regn_anim_obj_run_to_tile after reg_anim_combat_check
2017-02-24 03:11:06 +07:00
phobos2077
a30464cfae
Fixed bug in metarule2_explosions, possible fix for #67
2017-02-24 01:32:32 +07:00
phobos2077
ce21fdab79
Rewrite all anim-related opcode handlers, fixed bug in metarule2_explosions function (damage type change) #58 , #67
2017-02-24 01:29:46 +07:00
phobos2077
bac748a525
Use Enum of pseudo-types for argument validation instead of struct #58
2017-02-24 00:30:26 +07:00
phobos2077
d9b8d18a67
Replaced bitmask-based argument validation system with more simple solution;
...
Refactor OpcodeContext::handleOpcode method;
Moved register_hook_* functions to new opcodeInfo table #58
2017-02-23 23:45:15 +07:00
phobos2077
15b51eaa6d
Converted all object-related opcodes to new format #58
2017-02-23 20:02:19 +07:00
phobos2077
ae1aa27d13
Implemented more convenient way to define sfall opcodes, rewritten key_pressed handler, moved some opcodes to new opcodeInfoArray #58
2017-02-23 19:07:22 +07:00
phobos2077
f150163bc5
Fixed game_loaded scripting function
2017-02-23 19:05:17 +07:00
phobos2077
142264d6b6
Added opcode number getter to OpcodeContext. This way it's possible to use single naked function for many opcodes.
...
Fixed MetaruleTable not being filled.
2017-02-22 02:27:55 +07:00
phobos2077
a69b1b92b2
Fix build after merging changes from 3.8 branch.
2017-02-22 02:08:59 +07:00
NovaRain
38438d1e9c
More minor edits to ddraw.ini.
2017-02-21 23:15:26 +08:00
NovaRain
94e4a2043a
Some minor edits to ddraw.ini.
2017-02-21 23:01:21 +08:00
NovaRain
42f70f920e
Removed unused code in LoadGame().
...
Revert the change of OverrideArtCacheSize.
2017-02-21 14:37:18 +08:00
phobos2077
214e405c32
Set the valid range of NPCsTryToSpendExtraAP to be non-0 positive values, and removed a redundant/unused constant.
...
Changed the valid range of EncounterTableSize.
2017-02-21 01:46:02 +07:00
NovaRain and phobos2077
99d6ff332f
Added a fix for the engine not checking player's inventory properly when putting items into the bag/backpack in the hands (from Crafty)
...
Removed BagBackpackFix from ddraw.ini.
2017-02-21 01:43:43 +07:00
NovaRain and phobos2077
2d726de3f0
Fixed a crash when trying to open bag/backpack on the table in the bartering interface (from Crafty)
...
Added a tweak to move items to player's main inventory instead of the opened bag/backpack when confirming a trade.
2017-02-21 01:43:29 +07:00
NovaRain and phobos2077
212118ba8c
Added a fix to ignore player's equipped items when opening bag/backpack (from Crafty)
2017-02-21 01:43:17 +07:00
NovaRain and phobos2077
2383d8d507
Added the ability to move items out of bag/backpack and back into the main inventory list by dragging them to character's image (similar to Fallout 1 behavior) (derived from Crafty's code)
...
Added a fix for losing items from inventory when you try to drag them to bag/backpack in the inventory list and are overloaded (from Crafty)
Removed gdBarterDispFix from ddraw.ini.
2017-02-21 01:43:06 +07:00
phobos2077
94f138f64b
Replaced PID number in ScannerAutomapHook() with its define name for better understandability.
2017-02-21 01:39:22 +07:00
phobos2077
a5ffbe3a5f
Replaced hex addresses with proper engine defines for ViewXPos and ViewYPos, and replaced two instances of SafeWrite32 with HookCall.
2017-02-21 01:33:03 +07:00
NovaRain and phobos2077
7a5a54ab5e
Limited the range of values for StartYear/Month/Day to prevent errors when setting them to negative values, and added a clarification in ddraw.ini.
2017-02-21 01:28:40 +07:00
phobos2077
b5f3addae5
Fixed OverrideMusicDir not using the correct path string.
...
Updated the year showed in the credits and file properties.
2017-02-21 01:21:09 +07:00
phobos2077
2db071d0ca
Fixed broken call_offset_* functions.
2017-02-21 01:17:31 +07:00
NovaRain and phobos2077
5b59c9e54d
Added more details to the description of WorldMapEncounterFix/Rate, and changed the default value of WorldMapEncounterRate to its internal default.
2017-02-21 01:15:22 +07:00
NovaRain and phobos2077
60fb21cd1b
Fixed display issues when calling gdialog_mod_barter with critters with no "Barter" flag set (from Crafty)
2017-02-21 01:13:20 +07:00
NovaRain and phobos2077
0f1072c302
Made WorldMapEncounterFix/Rate independent from WorldMapFPSPatch. ( #62 , with the simplified code from Crafty)
2017-02-21 01:05:45 +07:00
Vlad and GitHub
8069d925fe
Merge pull request #61 from Vennor/early_sfall_save_game_loading
...
Early sfall save game loading
2017-02-21 00:56:16 +07:00
phobos2077
69905b633b
Replace deprecated hash_map with std::unordered_map
2017-02-21 00:51:28 +07:00
phobos2077
1aba89e810
Attempt to fix build error in VS2015.
2017-02-21 00:44:07 +07:00
phobos2077
2548e6ea8f
Merge branch 'feature/opcode-handling' into develop
2017-02-21 00:31:52 +07:00
phobos2077
0026590058
Refactor OpcodeContext class to make more sense.
2017-02-21 00:26:42 +07:00
NovaRain
f56af79c16
Set the valid range of NPCsTryToSpendExtraAP to be non-0 positive values, and removed a redundant/unused constant.
...
Changed the valid range of EncounterTableSize.
2017-02-21 00:15:24 +08:00
NovaRain
955733270c
Added a fix for the engine not checking player's inventory properly when putting items into the bag/backpack in the hands (from Crafty)
...
Removed BagBackpackFix from ddraw.ini.
2017-02-20 12:23:51 +08:00
NovaRain
9804902af6
Fixed a crash when trying to open bag/backpack on the table in the bartering interface (from Crafty)
...
Added a tweak to move items to player's main inventory instead of the opened bag/backpack when confirming a trade.
2017-02-17 00:21:16 +08:00
NovaRain
cfb546ce8a
Added a fix to ignore player's equipped items when opening bag/backpack (from Crafty)
2017-02-15 22:39:31 +08:00
NovaRain
de2549eeaa
Added the ability to move items out of bag/backpack and back into the main inventory list by dragging them to character's image (similar to Fallout 1 behavior) (derived from Crafty's code)
...
Added a fix for losing items from inventory when you try to drag them to bag/backpack in the inventory list and are overloaded (from Crafty)
Removed gdBarterDispFix from ddraw.ini.
2017-02-15 12:56:37 +08:00
NovaRain
cc00a2c162
Replaced PID number in ScannerAutomapHook() with its define name for better understandability.
2017-02-13 15:46:49 +08:00
NovaRain
16be32d284
Replaced some address hacks with simplified ones (e.g. using jumps instead of multiple NOPs)
...
Changed code style in main.cpp with Astyle.
2017-02-13 14:02:28 +08:00
NovaRain
16f19824d1
Replaced hex addresses with proper engine defines for ViewXPos and ViewYPos, and replaced two instances of SafeWrite32 with HookCall.
2017-02-12 22:28:37 +08:00
NovaRain
535b7edc55
Limited the range of values for StartYear/Month/Day to prevent errors when setting them to negative values, and added a clarification in ddraw.ini.
2017-02-12 00:11:21 +08:00
NovaRain
573e5324f4
Updated ddraw.ini for the change in previous commit.
...
Updated version number.
2017-02-07 15:59:59 +08:00
NovaRain
e17b722f16
Changed BodyHit_Torso to BodyHit_Torso_Uncalled because it sets both body_torso and body_uncalled hit modifiers.
2017-02-04 21:20:33 +08:00
NovaRain
7a6e15bae1
Fixed OverrideMusicDir not using the correct path string.
...
Updated the year showed in the credits and file properties.
2017-01-31 13:03:09 +08:00
NovaRain
df34f6c994
Fixed broken call_offset_* functions.
2017-01-24 22:24:53 +08:00
NovaRain
26874a709e
Edited the format of LoadGameHook.cpp to be more in line with the one in 4.0 branch, and replaced a hex address with proper engine function.
2017-01-20 00:28:09 +08:00
NovaRain
45724aa6b3
Moved sfall additional save game file reading from LoadGame2_After to LoadGame2_Before to make saved arrays available in start functions of ssl scripts.
...
(cherry picked from commit 6bd7d4f05c )
2017-01-19 23:59:05 +08:00
NovaRain
b477a43bd0
Added more details to the description of WorldMapEncounterFix/Rate, and changed the default value of WorldMapEncounterRate to its internal default.
2017-01-12 00:08:10 +08:00
NovaRain
ca86b5f930
Fixed display issues when calling gdialog_mod_barter with critters with no "Barter" flag set (from Crafty)
2017-01-09 16:35:03 +08:00
NovaRain
f05ec714e7
Made WorldMapEncounterFix/Rate independent from WorldMapFPSPatch. ( #62 , with the simplified code from Crafty)
2016-12-27 14:19:54 +08:00
Vennor
6bd7d4f05c
Moved sfall additional save game file reading from LoadGame2_After to LoadGame2_Before to make saved arrays available in start functions of ssl scripts.
2016-12-15 20:18:43 +01:00
phobos2077
c26c2ad8f6
Moved core opcode handlers and opcode list into separate translation units.
2016-11-14 22:43:04 +07:00
phobos2077
ae4193d6f9
Renamed OpcodeHandler to OpcodeContext to avoid confusion with actual handler functions (sf_*).
2016-11-14 21:57:44 +07:00
phobos2077
3fed492a5b
Get rid of opHandler global variable by passing instance to every scripting function handler.
2016-11-14 21:50:27 +07:00
NovaRain
3e3f6f92ed
Merge branch '3.8-maintenance'
2016-11-14 10:20:26 +08:00
NovaRain
ad1f08378b
Fixed issue #57 .
...
Updated version number.
2016-11-14 09:40:01 +08:00
phobos2077
b026f8eadd
Split opcode handler categories into separate translation units.
2016-11-14 02:07:08 +07:00
phobos2077
adcf3be520
Renamed all opcode handlers for consistent naming.
2016-11-13 20:53:40 +07:00
phobos2077
728e18b344
Fixes #57
2016-11-12 03:35:40 +07:00
phobos2077
65bb7d4de7
Simplify some calls in asm and replaced few addresses with constants.
2016-11-12 03:08:00 +07:00
phobos2077
1472902de4
Removed unnecessary includes.
2016-11-11 02:58:13 +07:00
phobos2077
dd1474c8d3
Moved some code from DllMain2 into separate functions in new cpp file.
2016-11-11 02:54:03 +07:00
phobos2077
830309b544
Merge with master branch, resolved conflicts.
2016-11-11 01:46:16 +07:00
phobos2077
84a60128a2
More code style fixes and some wrappers.
2016-11-11 01:27:38 +07:00
phobos2077
ec34df50ac
Missing changes from previous commit.
2016-11-11 00:43:29 +07:00
phobos2077
9edf6e6cc3
Fixed several bugs due to incorrect pointer arithmetic.
...
Added/updated some structs.
2016-11-11 00:42:39 +07:00
phobos2077
99ddda2848
- Change the way engine variables are used in C++ code. No need to use asterix anymore, as they are declared as references.
...
- Implemented solution to interact with static engine arrays (like critical tables).
2016-11-10 23:11:18 +07:00
phobos2077
f351faa422
EXPERIMENTAL: declared references to engine variables in addition to pointers. This will allow to work with variables directly without additional operator! See PartyControl.cpp for example (naming is temporary).
2016-11-10 15:13:14 +07:00
phobos2077
a4dee3dbca
Use recursion for _WRAP_WATCOM_CALL macros.
2016-11-10 14:28:42 +07:00
NovaRain
9be861a84b
Merge branch '3.8-maintenance'
2016-11-10 09:14:49 +08:00
phobos2077
726aff686b
Fixed code style for last modules. Moved some more structs/wrappers to FalloutEngine. Removed duplicate wrappers in Tiles.cpp.
2016-11-10 02:54:59 +07:00
phobos2077
34b0b7269f
Fix some code styles and move Perk and Trait structs into Structs.h
2016-11-10 02:08:18 +07:00
phobos2077
2ac60d66f5
Adopted most functions from Imports h/cpp to Wrappers.
2016-11-10 01:50:13 +07:00
phobos2077
77cc151455
Simplify definition of engine variables using X-Macros pattern. Now only need to add in 2 places instead of 3.
2016-11-10 01:26:34 +07:00
phobos2077
d63392aea2
Refactor Message-related code: removed duplicate functions and structs, moved engine-related stuff to one place, other stuff.
2016-11-09 23:57:58 +07:00
phobos2077
07b5f78318
Fixing code style.
2016-11-09 20:39:14 +07:00
phobos2077
37e159dd21
Fixing code style.
2016-11-09 19:45:38 +07:00
phobos2077
cd1c756e24
Added some VS2015 temp files to gitignore
2016-11-09 14:09:36 +07:00
NovaRain
11dfb3e94a
Added MainMenuOffsetX/Y and MainMenuCreditsOffsetX/Y settings back to ddraw.ini.
...
Corrected document file name in README.txt.
2016-11-08 10:25:41 +08:00
phobos2077
66ea6a7609
Simplify function wrapper definitions using macros.
...
Moved all non-wrapper functions to Utils.
Added basic structs for some prototypes.
2016-11-07 22:13:28 +07:00
phobos2077
0efdf7096b
Fixed build errors.
2016-11-07 20:49:39 +07:00
phobos2077
80dad0d5d0
Refactor ScriptExtender: replaced some engine function calls with wrappers, fix code style.
2016-11-07 18:55:13 +07:00
NovaRain
3668a1c94f
Improved the functionality of ProcessorIdle (from Crafty)
2016-11-07 15:04:55 +08:00
NovaRain
5cb3ca2a59
Removed queue9x and vector9x.
...
Disabled ComputeSprayMod by default.
Updated version number.
2016-11-07 10:16:57 +08:00
phobos2077
10ec39ab60
Refactoring ScriptExtender module.
2016-11-07 03:44:25 +07:00
phobos2077
bd7518ca33
Fixed mistake of using constant pointer variables in ASM blocks (resulted in incorrect references in most cases).
...
Now each variable has preprocessor constant with prefix VARPTR_ .
2016-11-07 01:34:35 +07:00
phobos2077
8b264db28a
Moved all engine variable pointers to separate namespace.
...
Replaced all usages of variable defines with variable pointers.
2016-11-07 00:09:12 +07:00
phobos2077
c44ca6adc1
Add some FO enums and tidy up existing ones.
...
Removed accidentally added sublime workspace from repo.
2016-11-06 21:54:28 +07:00
phobos2077
96db48626a
Renamed all engine function wrappers to their original names and moved to separate namespace for code clarity.
2016-11-06 21:20:23 +07:00
phobos2077
7705e43ce4
Moved all function offsets to separate namespace.
2016-11-06 20:33:54 +07:00
phobos2077
8da65a92e9
Merge branch '3.8-maintenance' into develop
2016-11-06 19:43:25 +07:00
phobos2077
4ef88959e3
Moved argument validation to opcodeMetaTable. Now old-style opcode and sfall_funcX scripting functions work almost identical and their handlers can be interchanged.
...
Fixed some bugs with sfall_funcX.
2016-11-06 17:37:25 +07:00
phobos2077
4cc9cb0b83
- Refactor opcode handling.
...
- Made new-style "sfall_funcX" functions compatible with old-style opcodes, this allows to use one handler function to act as both metarule and normal opcode.
- Added table of opcode meta-data.
2016-11-06 16:52:09 +07:00
phobos2077
6eb9a37a07
Simplify function definitions
2016-11-06 15:39:45 +07:00
phobos2077
363d7a1cc5
Rename types in function references for consistency and clarity.
2016-11-06 00:56:59 +07:00
phobos2077
d9d86e3fe4
Added macros for new scripting functions
2016-11-06 00:32:28 +07:00
phobos2077
6290effd93
Merge branch '3.8-maintenance' into develop
2016-11-06 00:16:28 +07:00
phobos2077
ce1fd719cf
Limit maximum string length for arrays to prevent certain strange crashes
2016-11-06 00:15:25 +07:00
phobos2077
1595d75f7c
Added docs for new opcodes and scripting functions
2016-11-06 00:14:25 +07:00
phobos2077
f3209d282d
Removed fallout2.cpp
2016-11-05 23:35:52 +07:00
phobos2077
a05d440ad6
Get rid of warnings in Movie.cpp
2016-11-05 23:35:13 +07:00
phobos2077
87e28277ad
Moved engine Functions, Variables and Wrappers into separate files;
...
Added most function offsets from Fallout2.exe
2016-11-05 22:19:21 +07:00
phobos2077
935f7ead89
Removed queue9x and vector9x
2016-11-05 20:20:12 +07:00
phobos2077
84042f1736
New folder and project structure #7 ;
...
Removed vector9x and queue9x;
Reorganized some includes.
2016-11-05 20:19:34 +07:00
phobos2077
6287eefd7c
Merge branch 'feature/issue-55-metarule' into develop
2016-11-05 18:07:30 +07:00
phobos2077
3bc84a0040
Refactor: encapsulated opcode-related functions and variables into classes
2016-11-05 03:34:09 +07:00
phobos2077
18b34767b6
Added new scripting functions to show/hide/redraw main interface and to exec map_update_p_proc for all map objects #51
2016-11-05 01:17:42 +07:00
phobos2077
af4bad36d4
Added validation for null arguments #55 ;
...
Added scripting function "spatial_radius";
Added scripting function "critter_inven_obj2" #38 .
2016-11-04 17:22:05 +07:00
phobos2077
1a40c40cd3
Added full definitions for metarules and automatic argument validation of with detailed error messages
2016-11-04 03:37:30 +07:00
phobos2077
9367139957
Remove condition for vsnprintf_s - always use long variant
2016-11-03 21:04:46 +07:00
phobos2077
87f45d26db
Merge remote-tracking branch 'origin/feature/issue-55-metarule' into feature/issue-55-metarule
2016-11-03 20:57:09 +07:00
phobos2077
bd2f83d6a8
Refactor opcode handling;
...
Write metarule errors to debug.log (added reusable function);
Fixed some warnings
2016-11-03 20:55:59 +07:00
phobos2077
d29b51d5ea
Implemented new way of handling sfall opcodes - now almost without any ASM code
...
Added bunch of engine function wrappers
2016-11-03 19:30:42 +07:00
NovaRain
d276da3d68
Added VS2008 compatibility (vsnprintf_s uses 4 args by C11 standard, which is supported in VS2010 but not VS2008)
2016-11-03 14:56:32 +08:00
phobos2077
502897cb6f
Fixed a nasty bug in dlog_f function that only shows when compiling w/o optimization
2016-11-03 04:43:10 +07:00
NovaRain
e3739ba7aa
Initialized scriptDialog pointer properly and deleted it on game exit.
2016-11-02 08:59:02 +08:00
phobos2077
02beff2b04
Implemented sfall_funcX opcodes
2016-11-02 04:10:50 +07:00
phobos2077
cf82440753
Testing implementation for universal opcode #55
2016-11-01 03:53:07 +07:00
NovaRain
e78e76e35d
Edited a couple of log entries.
...
Simplified the memory address edits of MultiPatches.
2016-10-31 15:56:19 +08:00
NovaRain
47783c802e
Added a C++11 emulator for compiling with VS2008.
2016-10-26 11:38:57 +08:00
phobos2077
ce72ef51f8
Bug fix
2016-10-24 20:23:43 +07:00
phobos2077
dbc0ebd36f
Do not allow to save game on Party-Controlled turn regardless of SaveInCombatFix value
2016-10-24 20:21:52 +07:00
phobos2077
db89f5760c
Do not allow to use sneak when controlling party members
2016-10-24 20:16:02 +07:00
phobos2077
e864f1f961
Added DelayedExperience feature for party control
2016-10-24 19:32:05 +07:00
phobos2077
fafc4a317f
Bug fixing
2016-10-24 18:38:09 +07:00
phobos2077
5d689c0641
Improve party control by temporarily changing more dude-related properties
2016-10-24 17:59:04 +07:00
phobos2077
4a65a6753f
Remove some duplicated variables, use consistent naming
2016-10-24 12:49:12 +07:00
phobos2077
5dec063c1c
Add more game global variable pointers to FalloutEngine
2016-10-24 12:36:02 +07:00
NovaRain
dbdf414cd9
Tweaked the style of global/hook script log entries a bit.
2016-10-18 11:45:00 +08:00
NovaRain
3e2a22fad8
Fixed bugs in set*_stat_min functions that set max values instead of min.
...
Unified the style of global/hook script log entries.
Updated the code of "reading global/hook scripts from DAT files" with Crafty's newer code base.
2016-10-18 10:59:10 +08:00
NovaRain
13ee06dee2
Improved the 'print to file' fix and added the ability to use long filenames in dat files (from Crafty)
2016-10-17 11:58:22 +08:00
NovaRain
2d3031e583
sfall can now load global/hook scripts from dat files (from Crafty's mod)
2016-10-14 13:57:20 +08:00
NovaRain
de5c12484d
Added DataLoadOrderPatch option to use a modified data load order for the engine to find game data (from Crafty's mod)
...
Updated version number.
2016-10-11 11:58:17 +08:00
NovaRain
c880ae93a9
Removed unused code in ScriptExtender.cpp and rename obj_outline_all_items_* functions slightly to prevent using the same names as game engine functions.
...
Minor edits on main.cpp and Bugs.cpp.
2016-10-07 10:31:46 +08:00
NovaRain
295a5d1437
Replaced NumberPatchLoop with a simple toggleable MultiPatches. Reason: While NumberPatchLoop allows even larger patch numbers, the built-in valid range of patch numbers of 000 ~ 999 is more than enough already.
2016-10-05 16:09:22 +08:00
NovaRain
e726ee54ba
Tweaked set_bodypart_hit_modifier function to follow the removal of BodyHit_Uncalled from ddraw.ini, e.g. setting modifier for torso (3) will also set for uncalled (8), and vice versa.
2016-10-04 10:23:17 +08:00
NovaRain
712eafc241
Now sfall loads global/hook scripts, shaders, 32-bit talking heads images, and avi movies according to the paths variables in the cfg file, instead of from the fixed "Data\".
...
Removed GainStatPerkFix from ddraw.ini.
Removed BodyHit_Uncalled from ddraw.ini. Now "uncalled" shares the same modifier with "torso", because separating them would result in some illogical setups.
2016-10-03 14:46:51 +08:00
NovaRain
d1bf22ec8d
Expanded DisableHorrigan to also skip the forced encounter check, to compatible with old saves that are not started with DisableHorrigan=1.
...
Changed the description of PipBoyAvailableAtGameStart=2 to be more precise.
Simplified the skipping code in PerkSetup(), because it's redundant to change two bytes that the same effect can be done with changing the conditional jump next to them.
2016-09-29 13:37:58 +08:00
NovaRain
21d496f392
Added a new setting to PipBoyAvailableAtGameStart to skip the vault suit movie check and make the PipBoy always available.
...
Improved the functionality of PipBoyAvailableAtGameStart (from Crafty's mod)
2016-09-26 16:05:18 +08:00
NovaRain
07948206fb
Removed CarryWeightLimit option, because it can be scripted with set_stat_max function.
2016-09-21 09:33:11 +08:00
NovaRain
6a71bf086d
Added a partial fix for incorrect positioning after exiting small locations (e.g. Ghost Farm) (from Crafty's mod)
2016-09-19 13:15:57 +08:00
NovaRain
ec585529c8
Changed BodypartHitMod# to BodyHit_(part names) in ddraw.ini, to make them easier for users to understand.
2016-08-31 10:27:03 +08:00
NovaRain
e6aad27e44
Moved ImportedProcedureFix to Bugs.cpp and added comments to it.
...
Added more descriptions to options in ddraw.ini, especially DebugMode, to make things clearer and save the trouble to look up debug patch readme.
2016-08-30 13:11:06 +08:00
NovaRain
f0528740a4
Removed the redundant loop in the unlimited ammo exploit fix.
2016-08-22 09:42:01 +08:00
NovaRain
bfd8b38547
Merge branch 'develop', preparing for 3.7.3 release.
2016-08-15 14:54:40 +08:00
NovaRain
e6086f984e
Merge branch 'Vennor-feature/extra_msg'
...
Feature tested/verified.
2016-08-15 14:38:53 +08:00
NovaRain
2e766cd3c9
Merge branch 'feature/extra_msg' of https://github.com/Vennor/sfall into Vennor-feature/extra_msg
...
# Conflicts:
# sfall/Message.cpp
# sfall/Message.h
2016-08-15 14:38:18 +08:00
NovaRain
48f53388fd
Fixed checking the horizontal position on the y-axis instead of x when setting coordinates on the world map.
...
Added more item flag defines in define_extra.h.
2016-08-15 10:32:53 +08:00
NovaRain
6199f95c38
Fixed incorrect death animations being used when killing critters with kill_critter_type function, e.g. ghouls die standing. (from Crafty)
2016-08-04 12:19:00 +08:00
NovaRain
a6d84bd470
Fixed incorrect savegame path detection when reading/writing sfallgv.sav and sfallfs.sav under certain circumstances. (from Crafty)
2016-08-01 16:45:12 +08:00
NovaRain
a11228a5ec
Fixed get_screen_width/height functions not returning correct values when using older versions of hi-res patch.
...
Corrected the parameter for intface_update_ac_ in wield_obj_critter fix.
Update the unlimited ammo exploit fix from Crafty's mod.
Removed unnecessary engine-related defines and constants that were added since 3.7b.
2016-07-28 17:05:40 +08:00
NovaRain
7784e199af
Integrated NumbersInDialogue option from Crafy's mod.
...
Moved NPCLevelFix to Bugs.cpp.
Used "push retn" instead of "mov jmp" for some jumps, to skip using registers (at least in logic).
Changed the displayed version number to the same as the internal version number.
2016-07-26 11:03:56 +08:00
NovaRain
53895a4af2
Added CreditsAtBottom option to display sfall built-in credits at the bottom of credits.txt contents.
...
Unified log message format in main.cpp and bugs.cpp.
2016-07-18 16:54:13 +08:00
phobos2077
354b938d60
Added optional function to show additional sfall credits at the bottom of CREDITS.TXT contents
2016-07-17 23:11:43 +07:00
NovaRain
643d8d3886
Added fix for destroy_p_proc not being called if the critter is killed by explosives when you leave the map.
...
Integrated Crafty's explosives crash fix.
Updated the link of NMA forum post in the comment.
2016-07-13 15:59:14 +08:00
NovaRain
924c35d011
Improved the unlimited ammo exploit fix to prevent crashes during map transition in RP new areas. (from Crafty)
...
Updated set_new_results_hack with Crafty's newer code base.
2016-07-12 09:47:26 +08:00
NovaRain
86163bf94c
Changed the script procs defines in ScriptExtender.h to their real procedure names in SSL.
2016-07-06 17:15:05 +08:00
NovaRain
21b2d34432
Added some new engine-related defines and constants.
2016-06-03 09:38:31 +08:00
NovaRain
98508a9c76
Added a bug fix for incorrect initialization of action points at the beginning of each turn (from Crafty's mod)
...
Removed unused code in Bugs.cpp.
2016-05-27 10:37:12 +08:00
NovaRain
f8b232cc09
Changed how SpeedInterfaceCounterAnims=2 works (from Crafty's mod). Now it updates the hp/ac counter instantly no matter what.
...
Fixed get_screen_width/height functions not returning correct values when using the windowed mode in the hi-res patch.
Added some new engine-related defines and constants.
2016-05-17 12:20:22 +08:00
NovaRain
394b4b9967
Edited the description of ExtraGameMsgFileList a bit.
2016-05-11 15:33:01 +08:00
NovaRain
1bea84eb3c
Added ExtraGameMsgFileList setting to ddraw.ini, and updated message_str_game reference in sfall function notes.txt.
...
Added a couple of new engine-related defines.
Updated version number. (Need to consider changing to semantic versioning for 3.8.)
2016-05-10 17:18:31 +08:00
NovaRain
26159138e0
Removed the duplicated include from HeroAppearance.cpp.
2016-05-10 12:48:17 +08:00
NovaRain
1883009930
Cleaned up some artifacts in codes.
2016-05-10 12:42:34 +08:00
NovaRain
f1289c1e7d
Merge branch 'feature/extra_msg' of https://github.com/Vennor/sfall into Vennor-feature/extra_msg
...
# Conflicts:
# sfall/Message.cpp
# sfall/Message.h
2016-05-10 12:33:44 +08:00
Vennor
c3e4894243
Moved opening brace to the same line as the function prototype.
2016-05-09 19:34:07 +02:00
Vennor
2330dd97bb
Refactored op_message_str_game2 function to always return a valid string value. Now an "Error" string will be returned on error instead of an uninitialized char pointer or an integer value.
2016-05-09 19:10:25 +02:00
Vennor
90b718122d
Added string header inclusion to Message.cpp.
2016-05-08 20:15:37 +02:00
Vennor
5ca7ed0dc5
- Renamed ClearExtraGameMsgFiles function to ClearReadExtraGameMsgFiles.
...
- Moved ClearReadExtraGameMsgFiles function to Message.cpp.
- Added map clearing to ClearReadExtraGameMsgFiles.
- Changed formatting.
2016-05-08 20:13:13 +02:00
Vennor
9bd03bfb76
Changed std::unordered_map to std::tr1::unordered_map for compatibility with older compilers.
2016-05-08 20:09:56 +02:00
Vennor
07b7e270b8
- Encapsulated and moved ReadExtraGameMsgFiles function call from NewGame2 to MainMenu.
2016-05-08 16:11:51 +02:00
Vennor
f9dbbcdca2
- Tidied up extra game message getter a bit.
...
- Removed unnecessary function call.
2016-05-08 15:53:05 +02:00
NovaRain
fcdb5633d4
Edited the description of InstantWeaponEquip a bit.
2016-04-21 09:21:12 +08:00
NovaRain
4e2bfd6b08
Some minor document edits: fixing typos, removing double/trailing spaces, unifying space/tab usages, and lining up some lines.
2016-04-20 10:20:05 +08:00
NovaRain
8c0fab1f6b
Added an example mod of hs_keypress.
2016-04-19 17:18:26 +08:00
NovaRain
05f15f0262
Removed incorrect information from sfall function notes.
...
Edited the description in ddraw.ini with less self-advertising.
Added a few new engine-related defines and constants.
2016-04-18 10:28:12 +08:00
NovaRain
147cb50a66
Moved existing msg file reading functions and structs from HeroAppearance.cpp to a dedicated Message.h/.cpp file pair, for preparing to merge with Vennor's new feature.
...
Enabled ComputeSprayMod by default (reason: more reasonable bullet distribution than vanilla logic, even with default ratios.)
Fixed a minor typo in sfall function list document.
2016-04-07 12:04:24 +08:00
Vennor
b8968c5334
- Added extra msg file reading based on names given in ddraw.ini.
...
- Added fetching strings from extra msg files.
2016-04-02 18:43:52 +02:00
Vennor
4f6b68ca93
- Moved existing msg file reading functions and structs from HeroAppearance.cpp to a dedicated Message.h/.cpp file pair.
...
- Added extern map to hold read extra msg files.
2016-04-02 18:41:59 +02:00
NovaRain
0ff6157b42
Added a few new engine-related defines and constants.
2016-03-31 09:43:15 +08:00
NovaRain
2bbb92420f
Simplified the code of inventory drag and drop fix a bit (from Crafty's mod)
...
Added a few new engine-related defines and constants.
Updated credits.
2016-03-28 11:21:43 +08:00
phobos2077
4678f41b5a
Merge remote-tracking branch 'origin/master' into develop
2016-03-26 23:59:41 +07:00
Vlad
7439ba2634
Merge pull request #40 from Oppen/master
...
Precompute CRC table.
2016-03-26 23:58:23 +07:00
Mario J. Rugiero
4c047bf8a3
Precompute CRC table.
2016-03-26 12:20:09 -03:00
NovaRain
694b699f15
Changed the order of script array element data removal from C++ containers. Without this std::unordered_map's keys were modified before erasure which lead to undefined behavior.
...
(cherry picked from commit bdffc061d3 )
Added keyHash map clearing after each for loop pass. Without this arrays could load hashed indices of elements they don't actually contain, which in turn could lead to crashes if certain conditions are met.
(cherry picked from commit 25094253e5 )
Updated credits.
2016-03-25 09:51:18 +08:00
Vlad
25b408816a
Merge pull request #39 from Vennor/master
...
Script array fixes
2016-03-25 01:12:39 +07:00
phobos2077
b819423d2a
added check for invalid array index in GetArray()
2016-03-25 01:10:56 +07:00
NovaRain
720f937b4f
Integrated Crafty's updated fix to prevent the game with old (pre-3.0) versions of f2_res from crashing/hanging while trying to use drag&drop to reload weapons in the inventory list.
...
Added a few new engine-related defines and constants.
2016-03-21 11:58:56 +08:00
Vennor
25094253e5
Added keyHash map clearing after each for loop pass. Without this arrays could load hashed indices of elements they don't actually contain, which in turn could lead to crashes if certain conditions are met.
2016-03-12 17:08:15 +01:00
Vennor
bdffc061d3
Changed the order of script array element data removal from C++ containers. Without this std::unordered_map's keys were modified before erasure which lead to undefined behavior.
2016-03-12 17:05:20 +01:00
NovaRain
dfe4b6b2e0
Re-added CarChargingFix option back in ddraw.ini for other mods with custom vehicles.
2016-03-11 11:32:24 +08:00
phobos2077
972d978882
#37 fixed sfall_ver_* functions
2016-03-08 22:21:32 +07:00
NovaRain
e99cca2b87
Added a few new engine-related defines and constants.
2016-03-07 11:41:04 +08:00
NovaRain
108719ac83
Added rounding calculation to ComputeSprayMod to give roundsCenter & roundsMainTarget some advantages.
...
Added CarryWeightLimit option for changing the carry weight limit. (max value: 2^31 − 1, probably an overkill.)
2016-03-07 11:29:26 +08:00
NovaRain
6feda61424
Added a check for old (pre-3.0) versions of f2_res to prevent the game from crashing/hanging while trying to use drag&drop to reload weapons in the inventory list.
2016-02-26 11:13:58 +08:00
NovaRain
19c94b8513
Simplified the code of Haenlomal's MultiHexFix a bit.
2016-02-24 09:47:26 +08:00
NovaRain
af7b5cbb6b
Condensed a few block of code in main.cpp with constant arrays, also made the DLL a bit smaller in size.
...
Added new engine-related defines and constants.
2016-02-19 11:08:00 +08:00
NovaRain
56009e1634
Moved the code of MultiHexFix to Bugs.cpp, and removed it from ddraw.ini.
...
Optimized AnimationsAtOnceLimit.cpp using Crafty's method, which made the DLL about 10KB less in size.
2016-02-18 15:25:56 +08:00
NovaRain
7bd3bd4128
Integrated InstantWeaponEquip option from Crafty's mod.
...
Added PipboyTimeAnimDelay option to allow player to control the speed of pipboy alarm clock animations in certain degree.
2016-02-16 16:44:24 +08:00
NovaRain
696be7fac5
Integrated the expanded SpeedInterfaceCounterAnims from Crafty's mod.
...
Added new engine-related defines and constants.
2016-02-15 13:13:31 +08:00