Compare commits

...
166 Commits
Author SHA1 Message Date
NovaRain dec97f22c7 Re-release 4.3.0.1 2021-06-10 08:44:55 +08:00
NovaRain 5682d9b12a Fixed code in Animations.cpp for commit 7c55d37 (#393, #394) 2021-06-10 08:40:05 +08:00
NovaRain 3177977927 Release 4.3.0.1 2021-06-10 00:39:24 +08:00
NovaRain 44c988f306 Minor code edits to BugFixes.cpp 2021-06-09 21:07:27 +08:00
NovaRain f8dee32c16 Code edits to tilemap.cpp and engine defines 2021-06-09 11:14:10 +08:00
NovaRain f96b1776b5 Fixed chem_primary_desire values not being saved correctly for PMs 2021-06-08 12:16:05 +08:00
NovaRain 38abea7fc1 Fixed infinite loop in combat with AIDrugUsePerfFix 2021-06-08 07:05:07 +08:00
NovaRain ff324c304f Fixed friendly fire check not running for unset area_attack_mode 2021-06-07 06:57:24 +08:00
NovaRain 7c55d37e57 Disabled the improved implementation of animation registration
(for release build)

Updated version number and Russian translation file.
2021-06-06 09:04:59 +08:00
NovaRainandGitHub 069020da85 Merge pull request #387 from wipe2238/github-action
Enabled autobuilds with GitHub Actions
2021-06-06 08:09:40 +08:00
Wipe cf67e182b3 Excluded DevXP build from artifact 2021-06-06 02:01:59 +02:00
NovaRainandGitHub fb74f37372 Merge pull request #384 from phobos2077/dependabot/bundler/docs/rubyzip-2.3.0
Bump rubyzip from 1.2.3 to 2.3.0 in /docs
2021-06-01 12:20:15 +08:00
NovaRainandGitHub 96de6c0bfd Merge pull request #383 from phobos2077/dependabot/bundler/docs/nokogiri-1.11.6
Bump nokogiri from 1.10.3 to 1.11.6 in /docs
2021-06-01 12:20:05 +08:00
dependabot[bot]andGitHub 415b3a8b17 Bump rubyzip from 1.2.3 to 2.3.0 in /docs
Bumps [rubyzip](https://github.com/rubyzip/rubyzip) from 1.2.3 to 2.3.0.
- [Release notes](https://github.com/rubyzip/rubyzip/releases)
- [Changelog](https://github.com/rubyzip/rubyzip/blob/master/Changelog.md)
- [Commits](https://github.com/rubyzip/rubyzip/compare/v1.2.3...v2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 04:15:27 +00:00
dependabot[bot]andGitHub 7b02efad58 Bump nokogiri from 1.10.3 to 1.11.6 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.3 to 1.11.6.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.3...v1.11.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 04:14:13 +00:00
NovaRain a19a9eae10 Release 4.3 2021-06-01 12:00:50 +08:00
NovaRain 443a423081 Some edits to documents
Removed txt version of arrays, hookscripts, and function notes.
2021-06-01 11:05:38 +08:00
NovaRain b665c904f1 Minor code edits 2021-06-01 09:51:59 +08:00
NovaRain a9a8088775 Added a debug message about missing combat object 2021-05-30 11:49:13 +08:00
NovaRain dbe2de310c Fixed incorrect object type search when loading a game saved in combat 2021-05-29 10:36:00 +08:00
NovaRain 1a40aceea3 Added markdown version of function notes and opcode list 2021-05-28 21:38:10 +08:00
NovaRain 09ab715687 Code edits to various modules 2021-05-28 11:35:26 +08:00
NovaRain 5e3f1eeaad Removed "proto_exists" function in previous commit
Added macro for checking pid.
2021-05-26 06:58:18 +08:00
NovaRain 1b37ed5d7c Added "proto_exists" script function
Updated gl_auto_closebox example script.
2021-05-25 12:55:11 +08:00
NovaRain 0b242a770d Changed the placement algorithm for multihex critters
(Rewrote the fix in the previous commit.)
2021-05-23 09:10:37 +08:00
NovaRain 4d1371b540 Fixed the placement of multihex critters in the player's party 2021-05-23 08:07:22 +08:00
NovaRain cb70bc78a3 Fixed infinite loop in ObjCanSeeObj_ShootThru_Fix (#365) 2021-05-22 08:04:11 +08:00
NovaRain e8abb99d0e Corrected code for initializing attached script (create_object_sid, #378) 2021-05-19 10:19:00 +08:00
NovaRain aee6ed1195 Rewrote the fix for clearing floating text messages (#377) 2021-05-19 06:22:37 +08:00
NovaRain 6b368e6a69 Updated files for online documents
Fixed typos in hookscripts.md & sslc_readme.txt.
2021-05-18 11:31:20 +08:00
NovaRain 9ce3a42102 Corrected code in Animations.cpp 2021-05-17 10:43:43 +08:00
NovaRain 73a9128369 Implemented an improved animation registration process 2021-05-16 13:05:38 +08:00
NovaRain dd4ad75e4e Fixed value bounds for the redefined key code value in HOOK_KEYPRESS
Minor code & document edits.
2021-05-15 21:54:59 +08:00
NovaRain 9497fae442 Code edits to Animations.cpp to prepare new implementation
Added fill area truncation to win_fill_color.
2021-05-13 12:03:23 +08:00
NovaRain 16f8f1b92b Fixed setting the last script window when the mouse leaves (#376) 2021-05-12 10:30:38 +08:00
NovaRain 6b7e83ab15 Rewrote the code in Animations.cpp
Fixed gl_auto_closebox not closing containers in some cases.
2021-05-11 10:43:06 +08:00
NovaRain fc53df5a16 Added a new hook: HOOK_CANUSEWEAPON
Updated NPC armor appearance mod script.
2021-05-09 20:17:40 +08:00
Wipe 35649839cf Added composite GitHub action and simple workflow using it 2021-05-09 06:48:20 +02:00
NovaRain 4f22b5a9fa Code correction to two previous commits 2021-05-09 08:42:28 +08:00
NovaRain f3f8321415 Enabled AI to use unarmed attack when switching weapons
Added build folders to gitignore.
2021-05-08 23:11:37 +08:00
NovaRain 183b74a8fa Moved item_count function fix to Game\items.cpp
Finished the code of item_weapon_mp_cost replacement.
2021-05-08 12:42:53 +08:00
NovaRain 6d88f21028 Added a tweak to play "magic hands" anim when using items on objs
* for issues with scripted animations not playing (#356)
2021-05-07 15:48:40 +08:00
NovaRain db0b8eddba Set idle(Sleep) function for losing window focus
Some code correction.
2021-05-06 10:36:06 +08:00
NovaRain 2985c2866b Added additional code to "duplicate obj_dude script data" fix 2021-05-04 12:39:07 +08:00
NovaRain eeab5065da Reverted the change of obj_under_cursor in 4.2.9 (commit 1684395)
The game window position is now also saved when dragging the window by
the title bar.
2021-05-02 12:06:53 +08:00
NovaRain 2e337d246b Adjusted how the fix for create_object_sid works
Added CreateObjectSidFix option.
2021-05-02 10:34:16 +08:00
NovaRain 7df0407798 Rewrote the score calculation in AIBestWeaponFix (#370)
Changed FastShotFix to be disabled by default.
2021-04-29 11:54:20 +08:00
NovaRain 52af67ad3d Added DisableSpecialAreas option
Added a new "fonts" folder for language specific fonts.
2021-04-25 11:49:02 +08:00
NovaRain b72b26d292 Added language path for loading fonts (#368)
Some code fixes to support the language path.
2021-04-24 10:25:51 +08:00
NovaRain 99c95b2154 Code correction regarding string length 2021-04-23 10:50:34 +08:00
NovaRain 0cd2aa4f83 Added language path for sfall translations.ini 2021-04-22 11:45:21 +08:00
NovaRain 460bc045b9 Added language path for premade files (#368)
Added AppIface.msg file support to Hero Appearance mod.
2021-04-21 11:28:48 +08:00
NovaRain 83eee2ba1e Code correction to the previous commit 2021-04-19 11:19:07 +08:00
NovaRain c855c6db19 Fixed and improved AllowLargeTiles option (#367)
Removed the unspent skill points limit.
2021-04-18 13:09:06 +08:00
NovaRain edd60379c5 Added a new value to AIDrugUsePerfFix 2021-04-14 16:18:33 +08:00
NovaRain 45faa184d8 Reorganized/renamed the functions in IniReader 2021-04-13 13:37:23 +08:00
NovaRain fbd997e8bc Fixed cur_town function on new game start (#366) 2021-04-13 12:08:45 +08:00
NovaRain df45450394 Fixed AI behavior to prevent the unnecessary use of healing drugs 2021-04-13 12:02:39 +08:00
NovaRain ea9037e38a Moved all ini functions inside "IniReader" class 2021-04-11 21:24:33 +08:00
NovaRain 2eefeb4f23 Improved the "order to attack" function for party members 2021-04-11 19:33:38 +08:00
NovaRain 278bfdc841 Added markdown version of hookscripts.txt
Some edits to documents.
2021-04-07 21:09:55 +08:00
NovaRain acf859bebf Cosmetic edits: alignment of multi-line ternary 2021-04-07 21:05:55 +08:00
NovaRain 0fbc29e8fd Added a new hook: HOOK_BESTWEAPON 2021-04-05 12:43:11 +08:00
NovaRain 990587b145 Code changes to the previous commit 2021-04-04 09:56:31 +08:00
NovaRain 4dc5012ea5 Added a few fixes for knockout/down issues 2021-04-03 12:35:42 +08:00
NovaRain 16faac8cad Cosmetic edits to the code:
* tabs for indentation, spaces for alignment.
* reduced the length of some separation comment lines.
* changed some variable names ('exist' is a verb).
2021-04-03 11:01:37 +08:00
NovaRain 69633e96d5 Added DL_FIX for logging
Edits to ddraw.ini and arrays.md.
2021-04-02 01:19:29 +08:00
NovaRain f90c613107 Improved some combat-related fixes
Changed the search of localized res file to two letter-code.
2021-04-01 13:40:00 +08:00
NovaRain 4244ebd8c5 Improved the implementation of tile_num_beyond function 2021-03-29 11:54:56 +08:00
NovaRain b37b5a2e76 Corrected the code in the previous commit 2021-03-28 08:43:26 +08:00
NovaRain 454e9bde73 Added a fixed implementation of the tile_num_beyond_ function
Removed the code of multihex critter self-hit fix from BugFixes.cpp.
(now fixed properly with the aforementioned implementation)
2021-03-28 00:54:04 +08:00
NovaRain 59a1332af5 Removed DataLoadOrderPatch from ddraw.ini (always enabled) 2021-03-26 12:16:20 +08:00
NovaRain a7b95e0948 Added a fix for multihex critter self-hit issue 2021-03-25 21:28:56 +08:00
NovaRain 78d8f46af6 Added "set_quest_failure_value" script function 2021-03-24 12:52:00 +08:00
NovaRain d56de64913 Added a search for localized sfall resource files 2021-03-23 11:03:20 +08:00
NovaRain 561632fdca Code correction to the previous commit 2021-03-23 09:44:17 +08:00
NovaRain 1cc978c0b1 Added a fix to the sorting of the quest list (#361)
Added a cosmetic to the dialog review interface.

Fixed a crash introduced in commit d95e439.
2021-03-22 14:24:45 +08:00
NovaRain 438bc6f78f Code edits to the weapon switching fix in AI.cpp
Added more struct defines and corrected related code.
2021-03-19 11:24:15 +08:00
NovaRain 9657731441 Fixed the error handling in create_object_sid
* also added a debug message about the missing pid.
2021-03-17 09:44:42 +08:00
NovaRain a343e5d6e1 Fixed a possible crash in commit d76f513
* when the proto does not exist, leading to null object pointer.
2021-03-16 09:20:53 +08:00
NovaRain bdebed85b7 Added a tweak to prevent NPC aggression (#357)
* when non-hostile NPCs accidentally hit the player or members of the
player's team.
2021-03-15 10:56:44 +08:00
NovaRain d76f513873 Fixed the script attached to an object not running upon object creation (#359)
Minor code style edits.
2021-03-14 11:01:03 +08:00
NovaRain e99fe09137 Moved INI reading functions from main.cpp to IniReader.cpp 2021-03-13 13:47:27 +08:00
NovaRain 21ff9238a0 Edited description of CheckWeaponAmmoCost and HOOK_AMMOCOST 2021-03-12 09:34:57 +08:00
NovaRain 4d04cae5a6 Fixed the check of the ammo cost for a shot in CheckWeaponAmmoCost (#360) 2021-03-11 14:39:21 +08:00
NovaRain d95e43956d Fixed set_critter_burst_disable script function
* now applies only to weapons with burst attack as the secondary mode.

Minor edits to code comments.
2021-03-10 11:52:09 +08:00
NovaRain 6b49c0dbaf Added markdown version of arrays.txt (test) 2021-03-05 23:44:38 +08:00
NovaRain f8447ba3b1 Added fixes for the AP cost for AI
* before the reload AP cost for AI was always 2, even if it's changed
by CALCAPCOST hook.
2021-03-05 15:07:34 +08:00
NovaRain af90444f9b Some code edits regarding BodyPart enums 2021-03-03 10:38:32 +08:00
NovaRain db94b8e6a7 Added a fix for AI weapon validation before attack
* the check was always based on the primary weapon hit mode instead of
the selected attack mode.
2021-03-02 12:10:14 +08:00
NovaRain 1f5871fdb7 Removed the fix added in commit 2efa4a9
reason: supposedly a minor issue affecting the initial movement of an
NPC, requires further verification before implementation due to
potential harm to the AI behavior.
2021-02-26 10:30:56 +08:00
burner1024andGitHub 5f0c5ae1fa Better docs (#241)
* website skeleton

* updated bunder to 2.0, added caching

* fix missing plugins?

* enable deploy for the branch, try to save cache

* need to use relative path?

* fix missing css

* use doc theme

* really enable doc theme?

* mayeb this time

* come on baby

* how about now

* please ?

* pretty please

* ehhh

* working theme

* added hooks

* formatting

* formatting 2

* added doc yaml from bgforge mls 1.0.7

* no need for nav order

* link reference

* hooks on top

* added global scripts

* pages are generated, exclude them

* generate site

* pip3 ?

* maybe now

* hooks page is generated automatically

* added table of contents to pages

* don't waste so much space

* switch highlight classes

* mark functions as code in description

* more formatting

* reformat doc with python

* loaded offsets

* opcode is loaded into yaml, txt no longer necessary

* mark unsafe functions

* restore hooks page

* clarification

* deduplicated hooks doc

* saner TOC

* typo

* move more docs

* hook scripts doc is now in md

* arrays doc is now in md

* added data types page

* added more info about old behaviour

* minor formatting issues

* moved more function docs to yaml

* all sfall functions docs are transpiled to yaml format

* formatting

* fix format

* add subcategory support

* simplified yaml format, added structure doc

* simplified structure and added clarification

* generated a separate page for hook types

* formatting

* disambiguation

* format clarification

* move get_map* to subcategory: doc is not relevant for other functions

* simple permalink

* fix links

* included more info on the main page

* more clarification

* rename offset > opcode

* try to get more sensible baseurl

* added best practices page

* what's up with the slashes

* allow parent pages with no content

* separate docs for direct memory access functions

* added latest functions

* fixed hook types link

* move get_explosion_damage to macros

* removed duplicated comment

* removed old comments

* added hook ids

* lowercase sfall

* more sfall lowercasing

* added proper permalinks

* changes from mr.stalin

* fix typos

* clarification

* fix direct memory access page

* fixed top navlink

* fixed urls

* checked sfallgv.sav, it's really not bloating much

* format clarification

* shorter name

* add mixed data type, sort

* add proc type, link hooks functions

* use same terminology

* added bool

* rearranged index

* added unsafe label

* move to root

* add stats

* more upper/lowercase

* should work now

* added build status

* added combat category, added description for modified_ini, moved global script functions into a subcat

* special note for set_self

* typo

* enable children

* cleanup

* move lists to arrays

* show header filename for macro instead

* rearrange more items to be more intuitive

* build on bionic

* separate object manipulation

* added object manipulation link to home

* typo

* formatting

* Added a note about charges

* punctuation

* formatting

* moved floor2 to math

* changed label color

* moved art and appearance to animations

* name too long

* search note

* moved exex_map_update to maps category

* moved more functions from other to skills

* too much blue

* formatting

* moved art_cache_clear to art section

* empathize that var name must be exactly 8 characters long

* update usages for inc_npc_level

* separate objects, scripts and variables

* updated url

* moved get_string_pointer to strings

* updated add_extra_msg_file doc

* typo

* latest doc updates from develop

* updated default layout from upstream

* applied local changes: subcategory list

* remove unnecessary backticks

* added new functions

* fix STD_PROCEDURE_END display

* formatting

* don't fail on missing hook id

* formatting

* updated doc from upstream

* added optimization and sslc pages

* order ssl and optimization pages below home

* really order optimization on top

* merge objects_in_radius variants

* updated from upstream

* tone down link color

* fixed formatting for updated theme

* updated travis for ruamel

* added favicon

* restored separator between functions

* updated functions.yml

* updated sfall functions

* rearranged some window and object function

* hook updates, pre-arg renaming

* hook args renumbering

* merged upstream

* added new hooks and functions from upstream

* remove the long-winded note about macro

* switch to gha for jekyll deployment

* sudo for deps

* try to fix ruamel missing

* switch build to master only, ref https://github.com/phobos2077/sfall/pull/241#discussion_r580365212

* update status badge for https://github.com/phobos2077/sfall/pull/241
2021-02-24 11:40:24 +03:00
NovaRain 5b3a83df91 Edits to hookscripts.txt
Added weapon argument to HOOK_CALCAPCOST.
2021-02-24 11:59:04 +08:00
NovaRain 797de4bc0e Fixed gl_auto_closebox for gravesites 2021-02-24 10:41:27 +08:00
NovaRain cf8981b267 Added more checks to weapon ammo script functions 2021-02-24 10:40:01 +08:00
NovaRain 146cf4e08b Moved some script function handlers to new files
Reorganized some script functions.
2021-02-24 10:37:54 +08:00
NovaRain 9d640de1ca Code correction related to GetProto usage 2021-02-20 10:16:23 +08:00
NovaRain 80a0c410e1 Removed "using namespace fo" from the global definition in .cpp files 2021-02-20 09:46:04 +08:00
NovaRain da9432a33a Added a tweak to restore combat flags for NPC after fleeing
Added item_weapon_range game function.
Improved the range check in previous commit.
2021-02-19 12:22:06 +08:00
NovaRain 5bd820f357 Code edits to a couple of fixes in AI.cpp
Renamed some hook functions.
2021-02-16 11:28:26 +08:00
NovaRain 95174b238e Fixed broken GetProto() function (again) 2021-02-10 23:51:42 +08:00
NovaRain 2efa4a91fb Fixed broken GetProto() function
Added a fix to prevent NPCs from wasting their AP to pick up
unreachable items.
2021-02-10 08:33:34 +08:00
NovaRain fb84e557fe Code edits in EngineUtils.cpp
Added comments to some defines in Enums.h.
2021-02-09 22:07:35 +08:00
NovaRain 3567ec791c Removed unnecessary code
Added some function/variable defines.
2021-02-09 10:39:41 +08:00
NovaRain 7e82313cf2 Added some tweaks for debug log
Code edits in SpeedPatch.cpp
2021-02-08 11:31:52 +08:00
NovaRain fe33dc2834 Rewrote ASM code of WorldMapFPSPatch in C++ 2021-02-07 21:11:12 +08:00
NovaRain 7c6f9df404 Moved the custom implementations of is_within_perception_ and correctFidForRemovedItem_ functions to separate files 2021-02-07 08:47:54 +08:00
NovaRain c86d816119 Preparing the code (part 1)
Moved item_w_mp_cost with hook to new items.cpp.
Updated struct/variable/function defines.
2021-02-06 11:00:31 +08:00
NovaRain 4b7d901275 Added OnCombatStart, OnCombatEnd delegates
Updated version number.
2021-02-06 10:51:23 +08:00
NovaRain 51864eaf6a Merge branch 'develop' 2021-02-04 10:21:36 +08:00
NovaRain cd828b9717 Minor code format edits in ScriptExtender/LoadGameHook.cpp 2021-02-04 10:11:48 +08:00
NovaRain 030533207f Code edits to ScriptExtender/HookScripts
Updated Structs.h
2021-02-02 11:36:03 +08:00
NovaRain 1d42a2242c Separated the loading and initialization of global scripts
* now the loading occurs before the start of a new game.
2021-02-01 11:55:21 +08:00
NovaRain 191beb8e0c Small optimization for game_loaded script function 2021-01-31 10:30:18 +08:00
NovaRain c27d1468ec Minor edits to code and document 2021-01-31 00:48:04 +08:00
NovaRain 0941b4684c Moved GNW_win_refresh and related functions to new render.cpp 2021-01-30 09:52:05 +08:00
NovaRain 866c95599d Updated Structs.h and some other files 2021-01-30 08:24:59 +08:00
NovaRain c14966f0b9 Fixed the "Leave" event of the window region
* the event procedure was not triggered when the cursor moves to
a non-scripted window.
2021-01-29 12:42:40 +08:00
NovaRain 23d50410e2 Added SmallFrameFix option
Code style edit: use !boolean instead of (boolean == false) for some
checks.
2021-01-29 12:02:40 +08:00
NovaRain 9e250aeebb Removed unnecessary hack in Perks.cpp 2021-01-28 12:52:20 +08:00
NovaRain f2efc1978a Moved trait_adjust_stat and trait_adjust_skill functions 2021-01-28 11:13:39 +08:00
NovaRain 30cabcff2d Forgot to commit vcxproj for the previous commit 2021-01-27 11:39:44 +08:00
NovaRain 939cf8a089 Moved the code of item_total_size and adjust_fid functions 2021-01-27 11:26:39 +08:00
NovaRain c5ed504c62 Code edits 2021-01-27 10:44:42 +08:00
NovaRain f9157bee6d Changed the script name search algorithm from linear to binary 2021-01-25 12:39:33 +08:00
NovaRain 16843956b5 Changed "obj_under_cursor" for the movement cursor
* the function is not designed for use with it.

Code correction in Stats.cpp.
2021-01-25 11:34:03 +08:00
NovaRain 15564dc0ab Added an option about max HP calculation to the stats ini file
Added an update to the HP stats when the map is loaded first time.
Minor code edits.
2021-01-24 12:07:40 +08:00
NovaRain be6347ba9b Updated language translation files 2021-01-22 22:24:47 +08:00
NovaRain 671065baed Updated the code for party order attack 2021-01-22 14:18:55 +08:00
NovaRain 9e403e0e6b Added a new mode to NPC combat control mod (WIP) 2021-01-21 12:59:45 +08:00
NovaRain 88050850f7 Added a new example mod gl_auto_closebox
Updated engine structs/functions/variables for future use.
2021-01-20 10:17:01 +08:00
NovaRain 4618776322 Fixed flag setting/unsetting for non-door objects 2021-01-15 08:36:01 +08:00
NovaRain ef89748eda Fixed the format of some debug messages (#195) 2021-01-14 11:36:35 +08:00
NovaRain a1c038846a Changed HOOK_DESCRIPTIONOBJ to run for all types of objects (#293) 2021-01-14 10:44:47 +08:00
NovaRain ef0bdf1e3b Added a new hook: HOOK_ROLLCHECK 2021-01-13 23:26:19 +08:00
NovaRain bde6b94855 Added a new hook: HOOK_ADJUSTRADS
Fixed a crash bug in ScriptExtender.cpp from commit c736e39.
Some adjustments to the hook injection mechanism.
2021-01-13 11:11:32 +08:00
NovaRain 4535ec9e20 Added TagSkillMode option to the skills ini file
Added a fix to the radiation handling in the engine when an NPC is under
the player's control.

Code correction in Graphics.cpp.
2021-01-12 11:52:59 +08:00
NovaRain c736e39f9e Fixed the display issue in DX9 mode
* black screen or rainbow colors when returning to the game after using
Alt+Tab in dialogue.

ASM code correction in ScriptExtender.cpp.
2021-01-08 13:27:36 +08:00
NovaRain 83a91638c2 Fixed the ID assignment for script objects and party member's items
when saving the map
2021-01-08 10:01:12 +08:00
NovaRain 97c48909c0 Added TagSkillBonus option to the skills ini file
Fixed a crash in the previous commit.
2021-01-06 11:30:29 +08:00
NovaRain dfeafc3058 Added more options for tweaking some engine perks to the perks ini file
Added tweaks to include the perk level in the calculation of the bonus
value for "Salesman" and "Demolition Expert" perks.
2021-01-05 14:09:59 +08:00
NovaRain 1219571367 Added sfx volume reduction for objects located on a different map elev
Added a fix for AI weapon switching when not having enough APs
2021-01-03 10:45:52 +08:00
NovaRain 19f6d64e5b Added a new hook: HOOK_ADJUSTPOISON
Added a fix to the poison handling in the engine when an NPC is under
the player's control.
2020-12-30 22:11:02 +08:00
NovaRain 45a523f6ca Fix for previous commit 2020-12-27 09:27:46 +08:00
NovaRain 3798247a68 Added support for panning sfx sounds
Removed the tweak that adds the city name in the description for empty
save slots (commit b0a35ee)
2020-12-26 21:57:18 +08:00
NovaRain 279f91274e Modified some of the mechanics of "interface_overlay" function
Changed "intface_redraw" with one argument to redraw the specified
interface window.
2020-12-25 14:46:47 +08:00
NovaRain 9d5bfaa059 Added "interface_overlay" script function
* for creating an additional overlay on the top of the interface window.
(document WIP)
2020-12-23 11:46:17 +08:00
NovaRain 2bc94e8036 Added sfall_func7 and sfall_func8 new opcodes
Added 3 new attrType values to "get_window_attribute" function.
Minor code edits.
2020-12-22 16:55:17 +08:00
NovaRain d82db3f572 Added stereo support for SFX and speech ACM files
(for files at 44.1 kHz sample rate)

SFX sounds that are dependent on the gsound_compute_relative_volume_
function are excluded from the search for alternative formats.
2020-12-21 14:26:33 +08:00
NovaRain b24b5124d2 Added support for ACM files at 44.1kHz sample rate 2020-12-17 16:39:18 +08:00
NovaRain db5704f653 Renamed MPClient folder to DebugEditor
Renamed FalloutClient.exe to FalloutDebug.exe
2020-12-13 12:51:24 +08:00
NovaRain 2764d2c9bc Updated some code 2020-12-13 09:37:22 +08:00
NovaRain 66058dd975 Corrected code of some hook scripts 2020-12-13 08:45:29 +08:00
NovaRain 3550289ea6 Reverted support for the D3DFMT_A8 texture format 2020-12-10 07:19:50 +08:00
NovaRain 02fba6eda1 Removed unnecessary code in Graphics.cpp
Replaced the D3DFMT_A8 texture format with D3DFMT_L8.
Minor edits to documents.
Updated version number.
2020-12-09 10:44:57 +08:00
NovaRain ac233c710d Changed the numbering of args in hookscripts.txt (#345)
* because arg numbers are 0-indexed for related functions.
2020-11-16 09:15:26 +08:00
NovaRain be5447729e Re-ordered critical table fixes in Criticals.cpp. 2020-11-03 15:16:46 +08:00
NovaRain adb159c10d Reformatted critical table fixes in Criticals.cpp 2020-11-01 09:23:34 +08:00
NovaRain 324f4d5939 Fixed the "uncalled" critical tables for some critter types
ref: https://www.nma-fallout.com/threads/219827/
2020-10-30 21:53:58 +08:00
NovaRain 50755832e3 Merge branch 'develop' 2020-10-27 00:57:16 +08:00
NovaRain f04442d4b7 Reverted the change to Message module in the previous commit 2020-10-27 00:11:31 +08:00
NovaRain dcbd6b5a23 Cleaned up define_lite.h and command_lite.h
Commented out the empty exit() in Message module.
Minor code edits.
2020-10-26 11:20:26 +08:00
NovaRain f8aa6c449a Fixed the error handling in win_fill_color
Some code fixes.
2020-10-25 08:05:20 +08:00
NovaRain 65c4cf644a Added "win_fill_color" script function 2020-10-24 12:56:26 +08:00
NovaRain 97fde2950c Added support for drawing PCX images to draw_image, draw_image_scaled, and interface_art_draw
Fixed bug in TalkingHeads.cpp.
2020-10-23 23:23:09 +08:00
NovaRain a488e9fc5b Fixed the macro guard in command_lite.h and added two macros 2020-10-21 22:36:26 +08:00
260 changed files with 16563 additions and 6546 deletions
+51
View File
@@ -0,0 +1,51 @@
name: Build
on:
push:
branches:
- 'develop'
- 'github-action'
paths:
- '.github/workflows/build.yml'
- 'action.yml'
- 'sfall/**'
jobs:
Build:
name: sfall
runs-on: windows-latest
steps:
- name: Clone sfall
uses: actions/checkout@v2
# Action is used twice for self-testing only
# DevXP build results are intentionally *not* included in artifact
- name: ReleaseXP build
id: build
uses: ./
with:
release-xp: true
- name: DevXP build
uses: ./
with:
dev-xp: true
- name: Prepare artifact
run: |
:
mkdir -p ddraw
cp artifacts/ddraw.ini ddraw
cp artifacts/sfall.dat ddraw
cp "${{ steps.build.outputs.release-xp }}" ddraw
shell: bash
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ddraw
path: ddraw
retention-days: 14
+34
View File
@@ -0,0 +1,34 @@
name: github pages
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
sudo apt -y -qq install bundler python3-pip
pip3 install ruamel.yaml --user
- name: Build
run: ./docs/generate.sh
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/_site
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
+8
View File
@@ -55,8 +55,10 @@ nb-configuration.xml
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Dd]evXP
[Rr]elease/
[Rr]eleases/
[Rr]eleaseXP/
x64/
x86/
build/
@@ -222,3 +224,9 @@ FakesAssemblies/
# Visual Studio 6 workspace options file
*.opt
sfall/postbuild.cmd
# jekyll build files
docs/_site
docs/.sass-cache
docs/.jekyll-metadata
docs/pages/*.md
@@ -15,7 +15,8 @@ namespace FalloutClient {
if (args.Length == 1 && args[0] == "-debugedit") {
Application.Run(new DebugEditor(new EditorConnection()));
} else {
MessageBox.Show("The debug editor can only be run from the game.",
MessageBox.Show("The debug editor can only be run from the game.\n" +
"Use the key assigned to the DebugEditorKey option in ddraw.ini to run the debugger.",
"sfall Debug Editor", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
@@ -9,14 +9,13 @@
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>FalloutClient</RootNamespace>
<AssemblyName>FalloutClient</AssemblyName>
<AssemblyName>FalloutDebug</AssemblyName>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -29,6 +28,7 @@
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>false</BootstrapperEnabled>
</PropertyGroup>
@@ -42,14 +42,14 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<DebugSymbols>true</DebugSymbols>
<DebugSymbols>false</DebugSymbols>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
+1
View File
@@ -1,4 +1,5 @@
# sfall
[![github pages](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml)
A set of engine modifications for the classic game Fallout 2 in form of a DLL, which modifies executable in memory without changing anything in EXE file itself.
+138
View File
@@ -0,0 +1,138 @@
name: 'sfall'
description: 'Builds sfall binaries'
author: '@wipe2238'
###
#
# Example:
#
# - name: Build sfall
# id: sfall
# uses: phobos2077/sfall@develop
# with:
# release-xp: true
#
# - name: Copy sfall to mod directory
# run: copy "${{ steps.sfall.outputs.release-xp }}" "my/mod/directory/ddraw.dll"
#
###
# While both inputs are marked as required, users needs to set only one of them (at minimum) to 'true' for action to work
inputs:
release-xp:
description: 'Set to true to enable building with ReleaseXP configuration'
required: true
dev-xp:
description: 'Set to true to enable building with DevXP configuration'
required: true
# Outputs are always using Windows directory separator (`\`)
outputs:
release-xp:
description: 'Full path to ddraw.dll built with ReleaseXP configuration'
value: ${{ steps.build-release-xp.outputs.ddraw-dll }}
dev-xp:
description: 'Full path to ddraw.dll built with DevXP configuration'
value: ${{ steps.build-dev-xp.outputs.ddraw-dll }}
dev-xp-pdb:
description: 'Full path to ddraw.pdb built with DevXP configuration'
value: ${{ steps.build-dev-xp.outputs.ddraw-pdb }}
runs:
using: 'composite'
steps:
# Quick check for things which should never happen
- name: Sanity checks
run: |
if [[ "${{ runner.os }}" != "Windows" ]]; then
echo "[ERROR] This action can only be used on Windows"
exit 1
elif [[ "${{ inputs.release-xp }}" != "true" ]] && [[ "${{ inputs.dev-xp }}" != "true" ]]; then
echo "[ERROR] At least one of following inputs must be set to 'true' -- 'release-xp', 'dev-xp'"
exit 1
#
elif [[ ! -d "$(cygpath --unix "$GITHUB_ACTION_PATH/sfall/")" ]]; then
echo "[ERROR] Solution directory not found -- 'sfall\\'"
exit 1
elif [[ ! -f "$(cygpath --unix "$GITHUB_ACTION_PATH/sfall/ddraw.sln")" ]]; then
echo "[ERROR] Solution file not found -- 'sfall\\ddraw.sln'"
exit 1
fi
#
shell: bash
# DXSDK directory must be prepared only once, in case action is used N times
# Using `.lib` suffix to make sure directory is ignored by git in exotic scenarios
# Using `::set-output` to make sure workflow environment remains unchanged
- name: Prepare DXSDK directory
id: dxsdk
run: |
DXSDK_DIR="$GITHUB_ACTION_PATH/sfall/DXSDK.lib"
if [[ ! -d "$DXSDK_DIR" ]]; then
echo "::group::Prepare DXSDK directory"
#
git clone --quiet https://github.com/NovaRain/DXSDK_Collection.git "$DXSDK_DIR"
cp "$DXSDK_DIR/DXSDK_Aug2007/Lib/x86/dinput.lib" "$DXSDK_DIR/DXSDK_Jun2010/Lib/x86/"
#
echo "::endgroup::"
fi
echo "::set-output name=dir::$(cygpath --windows "$DXSDK_DIR/DXSDK_Jun2010/")"
shell: bash
# MSBuild is not in PATH on Windows machines
# Using `::set-output` to make sure workflow environment remains unchanged
- name: Prepare MSBuild
id: msbuild
run: |
echo "::group::Prepare MSBuild"
MSBUILD_EXE="$("/c/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe" -latest -requires Microsoft.Component.MSBuild -find MSBuild/**/Bin/MSBuild.exe)"
echo "::set-output name=exe::$MSBUILD_EXE"
echo "::endgroup::"
shell: bash
# Creating empty `PostBuild.cmd` to avoid false-positive build error
- name: Build ReleaseXP
id: build-release-xp
run: |
if [[ "${{ inputs.release-xp }}" == "true" ]]; then
echo ::group::Build ReleaseXP
#
echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd"
"${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/sfall/ddraw.sln" -p:Configuration=ReleaseXP -p:Platform=Win32 -p:PlatformToolset=v140_xp
#
echo "::set-output name=ddraw-dll::$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/ReleaseXP/ddraw.dll")"
echo "::endgroup::"
fi
env:
DXSDK_DIR: ${{ steps.dxsdk.outputs.dir }}
shell: bash
# Creating empty `PostBuild.cmd` to avoid false-positive build error
- name: Build DevXP
id: build-dev-xp
run: |
:
if [[ "${{ inputs.dev-xp }}" == "true" ]]; then
echo "::group::Build DevXP"
#
echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd"
"${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/sfall/ddraw.sln" -p:Configuration=DevXP -p:Platform=Win32 -p:PlatformToolset=v140_xp
#
echo "::set-output name=ddraw-dll::$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/DevXP/ddraw.dll")"
echo "::set-output name=ddraw-pdb::$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/DevXP/ddraw.pdb")"
echo "::endgroup::"
fi
env:
DXSDK_DIR: ${{ steps.dxsdk.outputs.dir }}
shell: bash
+38 -9
View File
@@ -7,22 +7,51 @@
; be used to remove their hardcoded effects, and add new stat/skill effects
[PerksTweak]
;Change the penalty distance and distance bonus for 'Weapon Scope Range' weapon perk
;Changes the bonus for 'Master Trader' perk (ID 17)
;25 - default bonus
MasterTraderBonus=25
;Changes the distance bonus for 'Weapon Long Range' weapon perk (ID 58)
;2 - no bonus, 4 - default bonus
WeaponLongRangeBonus=4
;Changes the hit chance bonus for 'Weapon Accurate' weapon perk (ID 59)
;0 - no bonus, 125 - maximum bonus, 20 - default bonus
WeaponAccurateBonus=20
;Change the penalty distance and distance bonus for 'Weapon Scope Range' weapon perk (ID 64)
;0 - no penalty, 8 - default penalty
WeaponScopeRangePenalty=8
;2 - no bonus, 5 - default bonus
WeaponScopeRangeBonus=5
;Changes the distance bonus for 'Weapon Long Range' weapon perk
;2 - no bonus, 4 - default bonus
WeaponLongRangeBonus=4
;Changes the resistance bonuses for 'Vault City Inoculations' perk (ID 78)
;valid range: -100..100, 10 - default bonus
VaultCityInoculationsPoisonBonus=10
VaultCityInoculationsRadBonus=10
;Changes the hit chance bonus for 'Weapon Accurate' weapon perk
;0 - no bonus, 200 - maximum bonus, 20 - default bonus
WeaponAccurateBonus=20
;Changes the damage bonus per level for 'Demolition Expert' perk (ID 82)
;999 - maximum bonus, 10 - default bonus
DemolitionExpertBonus=10
;Changes the strength bonus for 'Weapon Handling' perk
;0 - no bonus, 10 - maximum bonus, 3 - default bonus
;Changes the damage bonus for 'Living Anatomy' perk (ID 97)
;125 - maximum bonus, 5 - default bonus
LivingAnatomyBonus=5
;Changes the damage bonus for 'Pyromaniac' perk (ID 101)
;125 - maximum bonus, 5 - default bonus
PyromaniacBonus=5
;Changes the skill bonus per level for 'Salesman' perk (ID 103)
;999 - maximum bonus, 20 - default bonus
SalesmanBonus=20
;Changes the percent chance for 'Stonewall' perk (ID 104)
;valid range: 0..100, 50 - default percent
StonewallPercent=50
;Changes the strength bonus for 'Weapon Handling' perk (ID 106)
;0 - no bonus, 10 - maximum bonus, 3 - default bonus
WeaponHandlingBonus=3
;##############################################################################
+17 -6
View File
@@ -1,11 +1,22 @@
;This file lets you set the formula for calculating skills
[skills]
BasedOnPoints=0 ;Set to 1 to base skill costs on spent points instead of current level
;Changes the initial bonus to skill level for tag skills
;valid range: 0..100, 20 - default bonus
TagSkillBonus=20
Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
SkillBase1=50 ;Big guns has a base of 50
SkillMulti2=10 ;Each point spent in energy weapons increases it by 10
SkillImage1=72
;Changes the behavior of tag skills
;Set to 1 to give the initial skill bonus to the fourth tag skill from "Tag!" perk (Fallout 1 behavior)
;Set to 2 to disable the double bonus of skill points for tag skills
;Set to 3 to use both modes
TagSkillMode=0
SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points
;Set to 1 to base skill costs on spent points instead of current level
BasedOnPoints=0
;Examples
;Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
;SkillBase1=50 ;Big guns has a base of 50
;SkillMulti2=10 ;Each point spent in energy weapons increases it by 10
;SkillImage1=72
;SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points
+4
View File
@@ -6,6 +6,10 @@
;multi[x] - where x is from 0 to 6, the multiplier of st/pe/en/etc.
;shift[x] - shifts the base stat before the multiplication
[Main]
;Set to 1 to take the bonus values of SPECIAL stats into account when calculating maximum hit points
;Set to 0 for the Fallout original behavior (bonus stats do not affect maximum hit points)
HPDependOnBonusStats=0
;max hp
[7]

Some files were not shown because too many files have changed in this diff Show More