NovaRain
8ae705d591
Merge branch 'develop'
2017-10-18 19:42:16 +08:00
NovaRain
94fdfb49ef
Fix crash when calling partyMemberGetCurLevel_ on a critter that has no data in party.txt.
...
Updated version number.
2017-10-18 14:54:53 +08:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
6eb9a37a07
Simplify function definitions
2016-11-06 15:39:45 +07:00
phobos2077
6290effd93
Merge branch '3.8-maintenance' into develop
2016-11-06 00:16:28 +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