Compare commits

..
1801 Commits
Author SHA1 Message Date
NovaRain 1fb58e3aa4 Updated version number and changelog 2025-07-26 19:03:22 +08:00
NovaRain 54bd7149fa Bump nokogiri from 1.18.8 to 1.18.9 in /docs 2025-07-22 13:08:40 +08:00
NovaRain 2c0a1e1e99 Updated sslc readme
Recompiled gl_npcarmor due to sslc fixes.
2025-07-14 10:21:50 +08:00
NovaRain d839bd697d Updated GitHub Actions setup
- Switch to Windows 2022 runner
- Install v140 toolset via Chocolatey (for some reasons trying to add
related components to VS2022 would hang the workflow.)
2025-07-07 11:12:31 +08:00
NovaRain 13c3ac8db5 Removed unnecessary code in SingleCore option
* GetCurrentProcess returns a pseudo handle, with which calling the
CloseHandle function has no effect.
2025-07-05 19:31:16 +08:00
NovaRain 03af7b193d Updated readme about using VS build tools 2025-06-25 10:29:17 +08:00
NovaRain 0e2317fd4c Fixed slightly misaligned buttons in the barter screen
(ref. fallout2-ce/fallout2-ce#204)
2025-06-11 21:42:56 +08:00
NovaRain 71ecec3d40 Updated use.frm/use_e.frm
(use invbox.frm as the base instead of loot.frm)
2025-06-02 10:01:04 +08:00
NovaRain 930d1e8a03 Improved the error handling for missing main .dat files
(ref. fallout2-ce/fallout2-ce#172)
2025-05-31 08:52:33 +08:00
NovaRain 3a9dcc1945 Fixed slightly misaligned buttons in the character screen
(ref. fallout2-ce/fallout2-ce#154)
2025-05-26 21:44:28 +08:00
NovaRain 089a1831f1 Fixed slightly misaligned buttons in the pipboy
(ref. fallout2-ce/fallout2-ce#147)
2025-05-24 08:05:00 +08:00
NovaRain 2f7d8a6db9 Removed glass glare from use.frm/use_e.frm
* Now they look the same as all other interfaces that have the inventory
list and character portrait (ref. fallout2-ce/fallout2-ce#148)

Updated resource files.
2025-05-24 00:25:02 +08:00
NovaRain b65024f039 Added lowercase 'a' as a hotkey for the 'Take All' button
(previously only uppercase 'A')
2025-05-22 08:43:22 +08:00
NovaRain da47ee5134 Improved the clearing of floating text messages after map change
(ref. fallout2-ce/fallout2-ce#115)
2025-05-13 22:00:54 +08:00
NovaRain 17afecf5ca Added a safeguard to stat_level engine function
(ref. fallout2-ce/fallout2-ce#76)

Unified the naming style of return addr variables for some ASM code.
2025-05-11 12:07:10 +08:00
NovaRain 74dca891a1 Minor code edits to Stats.cpp 2025-05-11 09:32:16 +08:00
NovaRain aa3ac70949 Fixed potential undefined behavior in FullItemDescInBarter
* due to obj_examine_func_hack_objdesc, item description is coped to
messageBuffer already (max 354 chars), so in most cases desc is the same
as messageBuffer, which should be UB to strncpy_s. MSVC's implementation
seems treating self-copy as no-op, but we shouldn't rely on this
behavior.
2025-05-04 08:53:48 +08:00
NovaRain 8622917e12 Fixed duplicate sound in the "Move Items" and "Set Timer" windows
* happens when clicking the "Done" button.

Fixed crash when a critter with a powered melee/unarmed weapon runs out
of ammo and there is ammo nearby.

Minor code optimization to Interface.cpp, use spare ecx register instead
of the stack for eax value.
2025-05-03 21:38:33 +08:00
NovaRain b2ccf26bd5 Improved the previous commit
* now the buttons have proper press/release sfx.
2025-05-02 21:23:55 +08:00
NovaRain 3b33131280 Added missing click sound to the buttons in the combat control panel
Updated version number.
2025-04-29 10:19:27 +08:00
NovaRainandGitHub b1ab93c8c0 Merge pull request #592 from sfall-team/dependabot/bundler/docs/nokogiri-1.18.8
Bump nokogiri from 1.18.4 to 1.18.8 in /docs
2025-04-22 12:51:52 +08:00
dependabot[bot]andGitHub 656a8e2e39 Bump nokogiri from 1.18.4 to 1.18.8 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.4 to 1.18.8.
- [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.18.4...v1.18.8)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-22 04:50:37 +00:00
NovaRain d16f1bc60c Correction to the previous commit
* shouldn't modify the string in-place.
2025-04-13 16:39:09 +08:00
NovaRain 3b9348dd69 Removed visible newline chars when examining items in the barter screen
(ref. #401, #591)

Minor code edits to BugFixes.cpp.
Updated changelog.
2025-04-13 01:07:09 +08:00
NovaRain d95780aa7c Updated changelog 2025-04-09 09:23:23 +08:00
NovaRain a1a130a44d Minor code edits to Movies.cpp 2025-04-06 12:33:38 +08:00
NovaRain 8323cbd092 Code edit to the previous commit 2025-04-05 22:12:30 +08:00
NovaRain 503e25a92a Changed the implementation of ProcessorIdle
* now the same as CPU_USAGE_FIX in Mash's HRP, with a simpler toggle
setting.

* also avoids slowdowns if the player happens to enable both of them.
2025-04-05 17:37:57 +08:00
NovaRain 114e9d8ae6 Tightened the compatibility mode check (again)
(OS check is now limited to unsupported Windows versions.)
2025-04-04 15:22:36 +08:00
NovaRain 3476a27a54 Reverted commit 1a69eaf
(found another way to fix freezing issues in Win11 24H2.)
2025-04-03 01:20:32 +08:00
NovaRain d112a6ec09 Fixed out-of-bounds selection in the file list when loading a GCD file 2025-04-02 13:59:52 +08:00
NovaRain 1a69eaf39a Reverted part of the optimization for the save/load game screens
(commit 81912b47, as it could cause the cursor to become unresponsive.)

Updated version number.
2025-03-31 21:53:57 +08:00
NovaRainandGitHub 194a736a06 Merge pull request #588 from sfall-team/dependabot/bundler/docs/nokogiri-1.18.4
Bump nokogiri from 1.18.3 to 1.18.4 in /docs
2025-03-22 08:10:18 +08:00
dependabot[bot]andGitHub 7131879776 Bump nokogiri from 1.18.3 to 1.18.4 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.3 to 1.18.4.
- [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.18.3...v1.18.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 00:00:43 +00:00
NovaRain 70340af564 Updated version number and changelog 2025-03-20 22:29:13 +08:00
NovaRain 09595c0e17 Correction to the previous commit
* should have checked for anim code directly instead of critter flag.
2025-03-18 11:02:45 +08:00
NovaRain 730cdd8ae8 Minor edits to code and function notes 2025-03-11 09:00:28 +08:00
NovaRain 3fde11c7d9 Added a tweak to replace death anims on critters with "_sf" variants on map load
(also fix critters stuck in the middle of death anims after returning
to the map, #584)
2025-03-10 10:02:18 +08:00
NovaRain 3a29db5f90 Fixed broken critter art debug message
(caused by commit a34aa64c)
2025-03-08 19:49:00 +08:00
NovaRain e18df80980 Allow death animations to finish when entering combat
(to prevent animation glitch, #584)
2025-03-05 10:28:09 +08:00
NovaRainandGitHub bdf6046df2 Merge pull request #585 from sfall-team/dependabot/bundler/docs/uri-0.13.2
Bump uri from 0.13.0 to 0.13.2 in /docs
2025-03-04 06:49:24 +08:00
dependabot[bot]andGitHub 3434626608 Bump uri from 0.13.0 to 0.13.2 in /docs
Bumps [uri](https://github.com/ruby/uri) from 0.13.0 to 0.13.2.
- [Release notes](https://github.com/ruby/uri/releases)
- [Commits](https://github.com/ruby/uri/compare/v0.13.0...v0.13.2)

---
updated-dependencies:
- dependency-name: uri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 22:22:47 +00:00
NovaRain 90872396ad Changed PipBoyAvailableAtGameStart and set_pipboy_available
* They no longer modify the vault suit movie state, which was an
undesired behavior.

Updated scripting documents.
2025-03-02 11:26:03 +08:00
NovaRain 8edd813ec1 Improved the fix for "out of bounds" bug when printing the automap list
* prevent the overflow of _sortlist (holds 24 elements at max).
* NOTE: the fix just cuts off location/elevation lists, and should be
removed once a proper pagination in pipboy is implemented.
2025-03-01 23:20:14 +08:00
NovaRain 3f3accbc24 Improved the fix for extra hidden buttons in the previous commit
(ref. alexbatalov/fallout2-ce#465, alexbatalov/fallout2-ce#466)
2025-02-25 11:19:46 +08:00
NovaRain 73872e41b6 Fixed extra hidden buttons appearing below the location list
* in the Status section in the pipboy (a partial fix).
(ref. alexbatalov/fallout2-ce#465)
2025-02-24 23:51:57 +08:00
NovaRain d8a1b94724 Fixed double click sound when selecting a location in pipboy status
(ref. alexbatalov/fallout2-ce#462)
2025-02-21 11:13:46 +08:00
NovaRainandGitHub 5c847b671a Merge pull request #583 from sfall-team/dependabot/bundler/docs/nokogiri-1.18.3
Bump nokogiri from 1.16.6 to 1.18.3 in /docs
2025-02-19 20:58:22 +08:00
dependabot[bot]andGitHub ad3bcfea5f Bump nokogiri from 1.16.6 to 1.18.3 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.6 to 1.18.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.18.3/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.16.6...v1.18.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-19 12:54:23 +00:00
NovaRain 9bf9de2a95 Fixed the incorrect message when attempting to repair dead robots
(ref. alexbatalov/fallout2-ce#459)
2025-02-19 12:15:13 +08:00
NovaRain 345815ec88 Fixed display issues when highlighting a multiline dialogue option
(ref. alexbatalov/fallout2-ce#418)
2025-02-12 13:22:48 +08:00
NovaRain 115e71543b Code edits to Perks.cpp 2025-02-09 12:31:21 +08:00
NovaRain 0b9140b3ef Restored the position of the ammo bar when ALTERNATE_AMMO_METRE=0 2025-02-03 12:07:43 +08:00
NovaRain 38d00f2e5f Fixed the main menu music not stopping when replaying the intro
(ref. alexbatalov/fallout2-ce#399)
2025-02-01 16:03:25 +08:00
NovaRain 7efcf1b21c Fixed item's unique ID being reset by a non-unique item (closes #582) 2025-01-31 22:40:49 +08:00
NovaRain 7887bf5e95 Simplified some jumps in ASM code
* Replaced single-use "mov reg, addr; jmp reg" with constant variables.
2025-01-30 19:44:55 +08:00
NovaRain 1cbca9c133 Added settings about Educated, Healer, and Lifegiver to perks.ini 2025-01-27 21:02:35 +08:00
NovaRain d07d27fcec Tightened the compatibility mode check 2025-01-26 11:31:01 +08:00
NovaRain 0604112a2e Edits to function documents 2025-01-22 21:37:06 +08:00
NovaRain b6b7ee04f2 Fixed issues related to negative weapon ammo
(ref. alexbatalov/fallout2-ce#443)

Fixed freeze when reloading an overloaded weapon via the interface bar.
2025-01-19 15:07:35 +08:00
NovaRain b7f7a0362f Added German and French resource files 2025-01-14 12:28:13 +08:00
NovaRain b957a05e68 Reduced the green tone of the message window
(less pixelated colors and for text clarity)

Updated resource files.
2025-01-11 14:21:25 +08:00
NovaRainandGitHub aa54e85537 Merge pull request #580 from defder-su/typo
Fixed typo
2025-01-10 09:06:23 +08:00
defder-suandGitHub 238b7368a2 Fixed typo
https://sfall-team.github.io/sfall/hook-types/#withinperception
2025-01-09 19:10:22 +00:00
NovaRain 1224eaa018 Fixed map lighting from Night Vision perk
* Before the perk effect only kicked in when map update proc ran after
game load. Now the delay is much shorter.
2025-01-09 10:46:43 +08:00
NovaRainandGitHub 686a332888 Merge pull request #579 from defder-su/typo
Fixed typo
2025-01-08 06:26:17 +08:00
defder-suandGitHub 0f33bbf94a Fixed typo
https://sfall-team.github.io/sfall/hook-types/#combatturn
2025-01-07 21:00:51 +00:00
NovaRain f68aaf98b6 Added setting about Comprehension perk to perks.ini 2025-01-07 11:55:22 +08:00
NovaRain ca90166801 Trying to fix gh-pages workflow 2025-01-05 21:39:29 +08:00
NovaRain f5c7d3ccc6 Added setting about Night Vision perk to perks.ini
Updated version number.
2025-01-05 21:03:12 +08:00
NovaRain 4255614112 Cosmetic edits: updated year 2025-01-05 17:29:12 +08:00
NovaRain 69ac2f5b33 Updated changelog 2024-12-04 09:05:18 +08:00
NovaRain 1fc38ca6d1 Added upper limit to WorldMapDelay2 2024-11-22 12:49:25 +08:00
NovaRain d193568678 Tweaked how XPTable data was loaded
* to align hook functions with the engine functions they replaced.
2024-11-19 21:54:26 +08:00
NovaRainandGitHub a585d936ce Merge pull request #569 from sfall-team/dependabot/bundler/docs/rexml-3.3.9
Bump rexml from 3.3.6 to 3.3.9 in /docs
2024-10-29 06:40:45 +08:00
dependabot[bot]andGitHub 999c2aab4d Bump rexml from 3.3.6 to 3.3.9 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.6 to 3.3.9.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.6...v3.3.9)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 18:40:55 +00:00
NovaRain 00108e23c2 [HRP] Fixed IFACE_BAR_WIDTH for Chinese version
(wasn't disabled correctly in commit 0622a899)
2024-10-18 10:46:37 +08:00
NovaRain 2c1ae1bf27 Removed unnecessary selfrun file creation
* autoplay was disabled in 4.3 (commit 460bc045)

Updated version number.
2024-10-14 10:52:41 +08:00
NovaRain 6f8b06e738 Updated version number and changelog 2024-09-15 12:45:07 +08:00
NovaRain 63965923a9 Fixed the behavior of game_loaded script function
(always returned 1 when called from normal scripts, closes #567)

- Revert the changes to ScriptExtender.cpp in commit 191beb8, and use
unordered_set instead of vector for caching script program pointers.
2024-09-10 09:49:43 +08:00
NovaRain 58b645a108 Fixed issues with picking Tag! or Mutate! perk if there are unused perks
* their windows keep reappearing when picking other perks, can cause
various issues or even crashes.
2024-09-01 12:21:34 +08:00
NovaRainandGitHub edb7673045 Merge pull request #566 from sfall-team/dependabot/bundler/docs/rexml-3.3.6
Bump rexml from 3.3.3 to 3.3.6 in /docs
2024-08-23 06:41:38 +08:00
dependabot[bot]andGitHub 4618afa404 Bump rexml from 3.3.3 to 3.3.6 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.3 to 3.3.6.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.3...v3.3.6)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-22 20:47:05 +00:00
NovaRain c62aa261af Fixed object_fix_weapon_ammo_ engine function
(was incorrectly checking Misc "object" type instead of item subtype.)
2024-08-14 14:41:34 +08:00
NovaRainandGitHub 02a25a0e52 Merge pull request #563 from sfall-team/dependabot/bundler/docs/rexml-3.3.3
Bump rexml from 3.3.2 to 3.3.3 in /docs
2024-08-02 11:26:57 +08:00
dependabot[bot]andGitHub bf930d438a Bump rexml from 3.3.2 to 3.3.3 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.2...v3.3.3)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 02:04:44 +00:00
NovaRain cfdb441dc4 Fixed the return value of using_skill script function
* if the arguments are not the player and SKILL_SNEAK, it returned
garbage values due to the uninitialized variable.
2024-07-31 20:12:29 +08:00
NovaRain 130eb7db77 Merge branch 'feature/restore-sneak-between-maps'
Minor edit to documents.
2024-07-31 08:21:41 +08:00
NovaRain 2c5e044296 Prevent RegisterHook() from registering placeholder hooks
Minor edits to code and documents.
2024-07-19 19:46:12 +08:00
VladandGitHub 9fdbacf4ca Added new HOOK_BUILDSFXWEAPON (#560)
* Hook for gsnd_build_weapon_sfx_name
* Fixed long name ACM crash in AutoSearchSFX
* Updated documents
2024-07-19 19:36:04 +08:00
phobos2077 87202bb124 Scripting headers: add material-related constants, minor lib extensions 2024-07-18 00:29:37 +02:00
NovaRain ec8f64a6cd Added a tweak to restore the sneak state when switching between maps
(can be overridden with map_enter/exit_p_proc in global scripts)
2024-07-16 23:20:27 +08:00
NovaRain 3d1de2c74a Fixed gh-pages build error 2024-07-16 20:50:34 +08:00
NovaRain 190ebc417b Prevent unnecessary toggling of the tags in show/hide_iface_tag 2024-07-16 10:43:45 +08:00
NovaRain 9dce219eb1 Updated version number
Minor code cosmetic edits.
2024-07-08 10:52:31 +08:00
phobos2077 f53fc1f751 Fix dangling pointer when using USE_HIRES_IMAGES and returning to main menu 2024-07-06 20:56:00 +02:00
phobos2077 92aab86b20 Don't use cache for loading HeroApp skilldex art (closes #555)
- It uses the same path every time but swaps dat files...
2024-07-06 20:36:10 +02:00
phobos2077 2daf5b8190 mf_string_format: fix inconsistent behavior of escaped percent character 2024-07-06 15:24:54 +02:00
NovaRain dc3537747f Reverted GameReset in LoadGameHook.cpp to pre-4.1.4 behavior
(when the engine's game_reset is called, sfall will reset modules as
well for consistency, closes #553)
2024-06-29 17:35:43 +08:00
phobos2077 d9b59107af Add v4.4.4 ru changelog 2024-06-29 11:30:34 +02:00
NovaRain b852d6f168 Added checks for OutlineColorContainers/Corpses in gl_highlighting
(same as OutlineColor, in case player set them to negative values.)

Updated resource files.
2024-06-28 21:12:54 +08:00
phobos2077 abd62dd834 gl_highlighting: separate colors for containers and corpses
- Items and corpses blending together can be an issue
2024-06-27 23:25:25 +02:00
NovaRain a8163b6b0c Updated changelog and readme 2024-06-19 20:40:22 +08:00
NovaRain e2e33f07c0 Updated sslc doc for documentation site 2024-06-18 11:27:43 +08:00
NovaRain 2d20de66fc Corrected proto pid offset in define_extra.h 2024-06-17 15:21:36 +08:00
NovaRainandGitHub a2ae42fa8f Merge pull request #552 from wipe2238/github-action
Updated GitHub Actions setup
2024-06-17 08:22:24 +08:00
Wipe a6839cf8a4 Updated GitHub Actions setup
- enabled running build on pull requests
- simplified action inputs
- updated/removed outdated comments
2024-06-16 16:16:15 +02:00
NovaRain eb8febf347 Further simplification of the previous commit
Updated sslc_readme.md.
2024-06-15 19:06:38 +08:00
NovaRain a35bc8882a Minor edits to combat_begin_anim_stop_hook 2024-06-09 14:10:45 +08:00
NovaRain 24058c5fb5 Merge branch 'feature/dont-stop-anim-forever' 2024-06-09 14:07:21 +08:00
NovaRain 929be4f7b3 Changed the game mode check in gl_highlighting
* now opening other interfaces (inventory, options, etc.) will also
turn off highlight.
2024-06-09 12:05:07 +08:00
NovaRain f12f39bef0 Fixed crash on game save (due to commit 13e0348c) 2024-06-09 06:26:10 +08:00
phobos2077 e90edf8f42 anim_stop: if called from combat_begin, skip ending sequences where current animation is forever 2024-06-08 13:26:09 +02:00
NovaRain fd0bd975fd Fixed page build error 2024-06-07 08:23:45 +08:00
NovaRain faca95a77b Expanded show/hide_iface_tag functions to work with tag value 0 (sneak)
Updated documents.
2024-06-07 08:06:26 +08:00
NovaRain 13e0348cc3 Minor code edits: replace some push/pop in ASM with pushadc/popadc pair 2024-06-06 21:55:27 +08:00
NovaRain 497973d259 Code edits to ItemMoveSkipDragKey
(slightly reduced the number of variables.)
2024-06-06 21:38:53 +08:00
VladandGitHub 0323e0c407 Inventory Ctrl+Click instant move (#546)
* Instantly move items without dragging (closes #526)
* In the player's inventory, items from the main inven list will go to appropriate slots.
2024-06-06 19:59:13 +08:00
NovaRain b3ec9f1faa Cosmetic edits: unified the placement of __declspec keyword
* it's recommended to place __declspec before the return type.
(ref: https://stackoverflow.com/q/13613864 )
2024-06-04 20:46:04 +08:00
NovaRain 1a844e4e7d Fixed possible crash in BoxBarCount
Edits to ddraw.ini and comments in Message.cpp.
2024-06-03 09:28:36 +08:00
NovaRainandGitHub 657ae595b1 Merge pull request #543 from sfall-team/feature/fallback-language-by-line
Fallback to english by individual message in MSG files
2024-06-03 08:52:47 +08:00
phobos2077 281e79585c Rename PartyMemberNonRandomLevelUp
- Hopefully this name is easier to understand for users
2024-06-02 11:14:31 +02:00
phobos2077 85d2d2e24d message_exit__mem_free_hook: save eax register
- Otherwise ReleaseXP build messes it up in MessageExitHook
2024-06-02 10:25:18 +02:00
NovaRain 18487103d4 Edits to documents
Minor code edits to PartyMemberNoEarlyLevelUp.
2024-06-02 08:39:05 +08:00
phobos2077 f7bf341d78 Add PAUSEWIN (Ctrl+P) to LoadGameHook game modes 2024-06-01 22:14:11 +02:00
phobos2077 ca5012b227 add gett_interface_id, fix crash in interface_draw, add doc for get_window_under_mouse 2024-06-01 22:05:07 +02:00
phobos2077 c610499c29 Fix assert fail when calling sfall_func7+ 2024-06-01 20:28:27 +02:00
phobos2077 6b8613a91f Fix ExpandBarter and DIALOG_SCRN_BACKGROUND conflict (closes #544) 2024-06-01 20:27:57 +02:00
phobos2077 ecb6dd2b78 Fallback to english my individual message in MSG files (closes #542) 2024-05-31 19:34:32 +02:00
phobos2077 002dfa61cb Fix NPCAutoLevel and set_npc_level opcode
- Now properly doesn't shift first level up too early and doesn't set "early" flag
- Fixed using set_npc_level without disabling engine leveling logic
- Renamed to PartyMemberNoEarlyLevelUpPatch to match behavior
2024-05-31 17:28:16 +02:00
NovaRain a8ac1f8402 Updated documents for the encounter hook changes 2024-05-31 15:11:27 +08:00
phobos2077 f9faa73b9c Add args to ENCOUNTER hook to determine which encounter is being loaded, not just map ID 2024-05-31 00:53:17 +02:00
NovaRain 0ba74de616 Changed the world map healing rate patch to be enabled by default
* default 3 hrs according to Fallout v1.2 manual errata.

Changed AIDrugUsePerfFix to be enabled by default (UPU/RPU have it
enabled for years, and F2:CE also implemented a similar fix.)

Updated version number.
2024-05-28 21:29:11 +08:00
NovaRain 0631f97b1f Added 'DontMoveTop' flag to the interface bar
* originally only for built-in HRP, now it's a generic patch to prevent
the interface bar from obscuring the barter/trade interface.
2024-05-27 22:24:51 +08:00
NovaRain 5803dc6606 Edited the documents for set_world_map_heal_time
Minor code edits to Worldmap.cpp.
2024-05-27 21:48:51 +08:00
VladandGitHub d21225bd92 WorldMapHealingRatePatch & set_world_map_heal_time metarule (#539)
Fixes bug: healing time on worldmap is tied to real time clock, instead of game time.
2024-05-27 21:35:25 +08:00
phobos2077 6d5b08f761 Healing skill mod: fix inaccurate behavior and refactoring 2024-05-24 17:54:20 +02:00
NovaRain bc962aca9c Reverted speed patch/keys behavior to pre-4.1.5
* Enable in [Speed] is the master switch for all Speed* settings.
* SpeedMultiInitial requires Enable=1, not a standalone setting.
* SpeedModKey=0 allows players to use only numpad keys to change speed.
2024-05-24 21:36:50 +08:00
NovaRain 6d432163ca Added "item" type to the party member protos patch
(for the car trunk)
2024-05-24 08:50:32 +08:00
phobos2077 18e976ded9 Healing skills implementation in SSL, v2
- Got rid of duplicate code with one function instead of switch/case, while keeping logic (hopefully) unchanged
2024-05-24 02:36:00 +02:00
phobos2077 c986298fe0 Healing skills implementation in SSL
- (almost) exact copy of engine logic in script, for making healign mods
2024-05-24 00:59:14 +02:00
NovaRain 48916137ae Minor edits to ItemCounterAutoCaps 2024-05-23 17:01:21 +08:00
NovaRainandGitHub 08a5f86cd8 Merge pull request #537 from sfall-team/feature/barter-auto-calc-money
Added ItemCounterAutoCaps that would pre-fill money count box with "correct" amount when in barter.
2024-05-23 16:56:09 +08:00
phobos2077 522219d72b Code cleanup and better comments 2024-05-21 16:06:33 +02:00
phobos2077 22aed0e663 Auto balance barter tables when dragging caps around 2024-05-21 15:31:37 +02:00
phobos2077 6b818e797e Header lib: refactor inven_as_array and add proper jsdoc defs to all comments
- inven_as_array was allocating blocks of 100 items which was unnecessary
2024-05-20 12:41:02 +02:00
phobos2077 037269c940 Add useful comments to most header lib procs and macros 2024-05-19 00:15:57 +02:00
NovaRain a4298bb6ee Fixed the missing hotkeys for additional elevators derived from the original elevator types
(ref. BGforgeNet/Fallout2_Restoration_Project#290)
2024-05-18 15:13:44 +08:00
NovaRain 20c32714b2 Edits to Cautious Nature setting in perk.ini
* Rename the setting to CautiousNatureBonus.
* Lower the bonus cap to 20 (too high of values would result in empty
encounters or game crash for high PE players).
2024-05-17 21:03:11 +08:00
phobos2077 6dafb3e8c6 CautiousNatureDistanceBonus 2024-05-17 00:17:22 +02:00
NovaRainandGitHub 975f9a6514 Merge pull request #536 from sfall-team/dependabot/bundler/docs/rexml-3.2.8
Bump rexml from 3.2.5 to 3.2.8 in /docs
2024-05-17 06:01:17 +08:00
dependabot[bot]andGitHub d93834227b Bump rexml from 3.2.5 to 3.2.8 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.2.5 to 3.2.8.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.2.5...v3.2.8)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-16 19:48:29 +00:00
NovaRain bc05a00d1e Changed DebugWindowFont to a toggle option
(because other fonts are not practical for displaying debug ouput)
Minor edits/simplification to ASM code in DebugEditor.cpp.
2024-05-14 21:26:07 +08:00
NovaRainandGitHub 39dbe4fa48 Merge pull request #534 from sfall-team/feature/bigger-debug-window-v2
- Add options to adjust internal debug window size and text font.
- Also prevents mixed fonts from showing inside the window, just like in F2: CE.
2024-05-14 20:54:41 +08:00
NovaRainandGitHub b5636e9c6c Merge pull request #535 from sfall-team/dependabot/bundler/docs/nokogiri-1.16.5
Bump nokogiri from 1.16.2 to 1.16.5 in /docs
2024-05-14 08:22:03 +08:00
dependabot[bot]andGitHub ff4a1391d7 Bump nokogiri from 1.16.2 to 1.16.5 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.2 to 1.16.5.
- [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.16.2...v1.16.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 23:38:31 +00:00
phobos2077 15432e15f4 Debug window patch: minor refactoring 2024-05-12 10:53:49 +02:00
phobos2077 09b9982a67 Settings to ddraw.ini 2024-05-12 10:00:36 +02:00
phobos2077 5bb108d0e2 Add options to adjust internal debug window size and text font 2024-05-12 10:00:36 +02:00
NovaRain d6dc179df7 Removed duplicate implementation in round() script function
* C++11 lroundf can do the same thing.
2024-05-12 13:53:45 +08:00
NovaRain 44aafc757a Updated INVBOX_E.frm for Russian and Chinese
Removed duplicate FRMs from repo.
Rename all interface FRMs to lowercase.
Updated resource files.
2024-05-12 13:35:03 +08:00
NovaRain b9fade9732 Removed the version check of external HRP for ActionPointsBar
(tested on v4.1.7 and v3.0.6)
2024-05-12 11:22:22 +08:00
NovaRainandGitHub 2d7c49a1fb Merge pull request #532 from sfall-team/feature/apbarpatch-small-frm
ActionPointsBar: language agnostic FRM
2024-05-12 10:51:22 +08:00
phobos2077 44e7a67cea Remove IFACE frms 2024-05-11 11:15:51 +02:00
phobos2077 9a7a795b82 ActionPointsBar: language agnostic FRM
- Use one small FRM with just AP bar background instead of having 2 big FRMs per language (for HRP and not)
- It works by simply writing into iface window buffer right after it was written with iface.frm contents
- Uses position relative to right edge of the iface panel
2024-05-11 11:11:58 +02:00
phobos2077 08efe382e4 Small INVBOX_E.frm tweak to remove visible seams 2024-05-11 11:11:25 +02:00
NovaRain cc2b79d107 Removed unnecessary error message when AutoSearchSFX is enabled
Removed leftover from devlog_f() in release builds.
2024-05-11 00:22:31 +08:00
NovaRain 0281797d26 Renamed the inventory/barter slot extension options
Edited their logging messages and description in ddraw.ini
Added Chinese FRMs
Corrected the size directives in ASM code in Inventory.cpp
2024-05-10 23:59:49 +08:00
NovaRain 73356d9dd5 Cosmetic edits: alignment and tab/space chars 2024-05-10 23:48:12 +08:00
NovaRainandGitHub b25a622281 Merge pull request #531 from sfall-team/feature/inventory-slot-extensions
Added inventory/barter slot extensions
2024-05-10 23:32:26 +08:00
phobos2077 fa8a42eff3 Expanded UI bug fixes (2)
- HRP compatibility: add support for the current HRP version by patching window Y value directly to it's code
- Barter Window: fixed mouse wheel scrolling not working over extended areas of 2 central tables
2024-05-09 16:04:18 +02:00
phobos2077 b5af3b04fc Expanded UI bug fixes
- HRP compatibility: disable ExpandedBarter patch with external HRP due to hack conflict leading to crash (fixes_dialog.cpp:904)
- Main inventory: fix dropping items from armor/hand slots into expanded area not registering
- Loot/barter: fix mouse wheel scroll feature not registering expanded area of target windows
2024-05-09 11:54:14 +02:00
phobos2077 cc12986d2f Code review fix + Russian expanded FRM's
- GetUnlistedFrmPath: remove unused path parameter
- Add RU FRM's (by NovaRain)
2024-05-09 09:33:06 +02:00
phobos2077 ab9844ccdd Fix usage of unloaded FRM's 2024-05-09 01:27:04 +02:00
phobos2077 c850c2ec4f Final preparations for extended UI patches
- Reduced inventory UI height by 8 pixels and moved all Done buttons down
- Renamed all extra FRM files
- Added checks that all required FRMs exist before applying patch
- Add final FRM files (EN versions)
- Minor refactoring
2024-05-08 20:48:11 +02:00
phobos2077 ed44706c9f ExtendedBarter: fix crashes when scrolling in/out 2024-05-08 20:44:33 +02:00
phobos2077 bf3f5d2930 Replace all usage of LoadUnlisted with fo::FrmFile
- Move cached FRM/PCX loading to new ExtraArt module
- Use the same FRM cache for all unlisted FRM needs
- Minor refactoring
2024-05-08 20:44:33 +02:00
phobos2077 344a64f9d2 Split one expanded UI patch into 2 and add minimum resolution check
- Rename and split patch into 2: inventory and barter
- Add instructions for inventory patch
- Minor patch code cleanup
2024-05-08 20:42:40 +02:00
phobos2077 31713022db Extend all 6-slot inventory windows to 8 slots 2024-05-08 20:41:01 +02:00
phobos2077 0150c8f42d Barter extra slots: polishing
- Make windows transparent to allow for non-square art
- Use correct art when scrolling window down
2024-05-08 20:41:01 +02:00
phobos2077 a43186df7a Barter extra slots: Make optional by using LoadUnlistedFrm to replace default FRM 2024-05-08 20:41:01 +02:00
phobos2077 625e424d4a Proof of concept: extend barter screen inventory windows to 4 slots each 2024-05-08 20:41:01 +02:00
NovaRain e435e1d614 Updated docs for art_frame_data script function
Minor code edits: type name, indentation/alignment, unified messages
2024-05-07 21:05:42 +08:00
phobos2077andNovaRain 8f10169661 Add docs and macro for new opcode 2024-05-07 20:35:57 +08:00
phobos2077andNovaRain 76f198e567 New metarule to read art size + DrawImage refactoring
- Fix inconsistent and duplicate FRM-related struct definitions
- Clean up code, especially around using PCX files
- When FID is used, read FRM directly from ArtCache instead of unnecessary loading from disk
- When path is used, cache loaded FRM/PCX files
- Add art_frame_data to read FRM/PCX size by FID/filename
2024-05-07 20:35:57 +08:00
NovaRain b2bac4ee2a Tweaked the check for stretch to fit of AVI movies 2024-05-06 23:37:45 +08:00
NovaRain 41394bfb9d Fix build workflow 2024-05-05 11:30:55 +08:00
NovaRain 44942e188f Changed ExpandWorldMap to be compatible with older HRP
(tested v4.1.7 and v3.0.6)

Minor code edits.
2024-05-05 11:02:10 +08:00
NovaRain f89684029c Added sfall.dat content (except global scripts) 2024-05-05 10:09:56 +08:00
NovaRain 6d276cceca Fixed PlayIdleAnimOnReload causing critters to lose highlights in combat
* happens when the Target Highlight pref is set to "targeting only".
(closes #528)
2024-05-02 09:38:32 +08:00
NovaRain d4ca2b9ff1 Added a check for NPC being dead to NPCsTryToSpendExtraAP (closes #524) 2024-05-02 08:46:30 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7b650bfc0f Bump peaceiris/actions-gh-pages from 3 to 4 (#525)
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 09:34:48 +08:00
NovaRain c7dfa793ac Fixed page build error 2024-04-24 15:16:16 +08:00
NovaRain 01ab4cfef7 Added signal_close_game script function
Updated documents and version number.
2024-04-24 08:54:35 +08:00
NovaRain a5e7a77588 Updated changelog 2024-04-19 08:41:54 +08:00
NovaRain a19f9d0b83 Reverted ScriptValue DataType from long to short
* for reasons unknown, it was the cause of random hang/crash when
running certain script sequences. (closes #517)

Updated version number.
2024-04-18 22:21:41 +08:00
NovaRain 7dc0681b4c Text edits to INI files 2024-04-18 20:47:45 +08:00
NovaRain b066e9d533 Updated changelog 2024-04-04 22:50:46 +08:00
NovaRain 6e8f2c6c36 Removed SpeedInterfaceCounterAnims=3 (now default behavior) 2024-04-01 17:20:04 +08:00
NovaRain 0044af0362 Fixed xp exploit from canceling Here and Now perk
(when the player has Swift Learner perk)

Removed DisplaySwiftLearnerExp from ddraw.ini (always enabled)
2024-03-29 16:55:00 +08:00
NovaRain ce0e950884 Minor code edits 2024-03-28 08:34:21 +08:00
NovaRain a66ff8d252 Edits to gl_partycontrol and main.h
* it seems no need to "fix" Gecko Skinning perk anymore.
* use array to hold perk levels instead of calling has_trait twice.
2024-03-27 11:18:53 +08:00
NovaRain 9bd9837a7d Added a new example mod gl_molotov 2024-03-26 12:14:24 +08:00
NovaRain a89e672355 Fixed add_extra_msg_file loading the same msg file more than once (#467)
Minor code edits.
Updated version number.
2024-03-22 12:07:26 +08:00
NovaRain b32c358a77 Added a new example mod gl_static_books 2024-03-14 10:20:03 +08:00
NovaRain 1b98bedd6f Edits to sslc documents
* edited the description of command line options.
* removed old references of dos4gw.exe (only for pre-2.10) and FSE.
2024-03-11 10:08:31 +08:00
NovaRain 596b485d9c Fixed the clickability issue of the "Use Inventory Item On" action
* the game would execute the default action for the overlapped object
instead of the player using the item.

(ref. BGforgeNet/Fallout2_Restoration_Project#271)
2024-03-05 10:40:10 +08:00
NovaRain ae53c9586a Updated npcarmor.ini based on new NPC armor mod
(ref. BGforgeNet/Fallout2_NPC_Armor@ca93bb6)
2024-03-05 10:31:16 +08:00
NovaRain 7b53814c82 Updated npcarmor.ini based on newer RPU (v27+)
(ref. BGforgeNet/Fallout2_NPC_Armor#5)
2024-03-04 11:52:52 +08:00
NovaRain e9b40f5491 Tweaked the log for loading global scripts
* it should be after the game scripts check.
2024-03-03 00:01:07 +08:00
NovaRain 71a7545445 Added additional check to AI weapon switching fix 2024-02-29 13:19:30 +08:00
NovaRain 42ab38a333 Minor edits to ddraw.ini 2024-02-26 09:27:21 +08:00
NovaRain c540ce8e72 Fixed unnecessary path searching for loading external wrapper
(ref. https://github.com/sfall-team/sfall/issues/504#issuecomment-1962314458)
2024-02-24 20:47:31 +08:00
NovaRain 3db8ed3381 Cosmetic edits: unified indentation of switch-case 2024-02-22 08:39:25 +08:00
NovaRain de009eec4e Added support for an external DirectDraw wrapper
(#504)
2024-02-22 08:36:27 +08:00
NovaRain 9268776736 Added a note about external wrapper to ddraw.ini 2024-02-22 08:35:58 +08:00
NovaRain c09ed0565b Further attempt to keep DD7+no windowed for external wrapper 2024-02-20 10:40:27 +08:00
NovaRain e57f9b5503 Disallowed DX9 mode when using external wrapper 2024-02-19 22:07:44 +08:00
NovaRain 39ed1d313f Code correction to the previous commit 2024-02-18 01:04:51 +08:00
NovaRain 510bd6ddeb Added a basic loading process for external ddraw wrapper
Changed sfall to DD7 if bult-in HRP is enabled but f2_res.ini is
missing.
2024-02-17 19:00:56 +08:00
NovaRain c0f11b7a46 Fixed critical hit message for super mutants
* judging from combat.msg, the fix has been applied to a wrong
bodypart since 2.8b.
2024-02-17 07:52:03 +08:00
NovaRain 1cb1284787 Fixed the game disappearing from the taskbar after using Alt+Tab
Code change to the input patch.
Updated version number.
2024-02-16 09:26:01 +08:00
NovaRain af2fdb5153 Updated changelog 2024-02-12 20:45:09 +08:00
NovaRain 22fbac8b9f Added a fix to prevent integer overflow for inven item stacks
* This is more of a preventive fix because now it's easier to cause
integer overflow with add_mult_objs_to_inven. Also in case people
use save editor and set silly values to their items.
2024-02-12 09:51:05 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8bd0861b01 Bump nokogiri from 1.14.3 to 1.16.2 in /docs (#503)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.3 to 1.16.2.
- [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.14.3...v1.16.2)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-06 12:45:53 +08:00
NovaRain b8fe8cb4e3 Fixed the modulo operator for negative integers
* this changes the behavior of vanilla modulo operator to use signed
integer division to match how the fixed division operator works.
2024-01-25 10:19:23 +08:00
NovaRain 4f786f3302 Changed the fix for add_mult_objs_to_inven
(to allow adding more than 99999 instances of an object in one go)
2024-01-24 09:40:59 +08:00
NovaRain ff650d8007 Added missing level cap to XPTable (fixed a hang) 2024-01-15 14:29:47 +08:00
NovaRain 9e4ac57775 Fixed log entry for PatchFileXX options
(also allow using ".\\", as it cannot escape the game folder.)
2024-01-11 21:38:58 +08:00
NovaRain bfbbc339d0 Updated version number and year 2024-01-02 10:28:17 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5ff5bc647e Bump actions/upload-artifact from 3 to 4 (#500)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 00:26:35 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
89ffc619d3 Bump actions/setup-python from 4 to 5 (#499)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 00:26:26 +08:00
NovaRain ea9a701f51 Fixed functions.yml 2023-12-27 13:25:19 +08:00
NovaRain 7e47607781 Added reg_anim_animate_and_move script function (closes #497) 2023-12-27 13:18:52 +08:00
NovaRain cfcc66ad1a Fixed right arm critical hit messages for some critter types
(BGforgeNet/Fallout2_Restoration_Project#256)
2023-12-19 21:01:36 +08:00
NovaRain ff5c9c9cfc Tweaked the condition check for instadeath fix 2023-12-15 20:44:29 +08:00
NovaRain dcbe6c9c7e Fixed 0 dmg instadeath crits with HOOK_COMBATDAMAGE 2023-12-15 09:17:19 +08:00
NovaRain 96bfe13939 Fixed skipping to lv99 when leveling up from lv97
(mentioned in Per's guide)

Minor code edits.
2023-12-04 21:52:03 +08:00
NovaRain b5a9679c6c Use proper size directives in ASM code 2023-12-02 18:22:16 +08:00
NovaRain 71e43cb890 Engine now uses 'English' as the fallback language for the credits
Updated version number.
2023-11-30 22:42:22 +08:00
NovaRain 4bc981dbc1 Updated changelog for better clarity 2023-11-20 21:28:06 +08:00
NovaRain 34a81e4f54 Updated changelog 2023-11-20 10:19:04 +08:00
NovaRain 584e026624 Fixed create_object_sid when passing 0 as the script index number
* would result in a crash. Now it allows creating an object with no
script (different from -1, which just doesn't touch default script).
2023-11-14 21:48:36 +08:00
NovaRain 1cca798b80 Tweaked the position of the ammo bar
Tweaked the alternative ammo bar to exactly match Mash's.
2023-10-30 21:31:21 +08:00
NovaRain 47d9bb1627 [HRP] Fixed the clickability issue of the file list in the char screen 2023-10-28 23:43:58 +08:00
NovaRain 2b8b797920 Fixed incorrect data for saved arrays
Updated version number.
2023-10-27 22:41:58 +08:00
NovaRain b1ce08a78f Fixed crash when calling start_gdialog outside talk_p_proc
(the fix was embedded in StartGDialogFix, now it works regardless of
the option.)
2023-10-19 15:13:37 +08:00
NovaRain 143ec750cf Updated documents (mainly array functions) 2023-10-16 11:32:52 +08:00
NovaRain e2b5a0652d Enabled build workflow for master branch 2023-10-07 21:15:16 +08:00
NovaRain c6635f65e5 Changed the "best armor" score calc to exclude EMP
(gameplay mod friendly)
2023-10-07 19:34:11 +08:00
NovaRain daf9e57d36 Updated NPC combat control mod for player's Jinxed trait/perk
* controlled critters will now be "Jinxed" as well (closes #492)
2023-10-05 09:24:34 +08:00
NovaRain 59f1ed0233 Removed AdditionalWeaponAnims from ddraw.ini (always enabled)
Updated version number.
2023-10-05 09:10:44 +08:00
NovaRain 7c8d2d6269 Merge branch 'develop' 2023-10-05 09:03:35 +08:00
NovaRain 75019a5546 Bump actions/checkout from 3 to 4
Set dependabot for the main branch
2023-10-02 08:49:15 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1b3530e702 Bump actions/checkout from 3 to 4 (#493)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-01 21:04:56 +08:00
NovaRain deee6fc521 Corrected the description of CALCAPCOST hook 2023-09-30 17:17:53 +08:00
brussell1andGitHub e703a82c8b Fixed German translation (#491) 2023-08-26 01:39:08 +08:00
NovaRain 5769843b89 Bump activesupport to 6.1.7.5 in /docs 2023-08-24 21:56:52 +08:00
NovaRain 7e2eaf0724 Fixed crash on startup on WinXP/2003
Moved the LoadLibrary call out of DllMain entry point.
Updated version number and changelog.
2023-08-24 21:27:54 +08:00
NovaRain b6a4c8d476 Tried fixing in-page subcategory links 2023-08-22 15:28:24 +08:00
NovaRain 1524c7daa0 Fixed functions.yml 2023-08-22 10:10:41 +08:00
NovaRain 228f8966f2 Release 4.4 2023-08-22 08:54:41 +08:00
NovaRain e923fa801b Updated changelog and other documents 2023-08-21 14:23:59 +08:00
NovaRain 16dacee0e0 Fixed UpdateHPStat() for not properly capping HP
* when a critter has modified base value of max HP in its proto.
2023-08-09 10:29:22 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b4fe9b3e57 Bump commonmarker from 0.23.9 to 0.23.10 in /docs (#490)
Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.9 to 0.23.10.
- [Release notes](https://github.com/gjtorikian/commonmarker/releases)
- [Changelog](https://github.com/gjtorikian/commonmarker/blob/v0.23.10/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.9...v0.23.10)

---
updated-dependencies:
- dependency-name: commonmarker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-09 08:24:32 +08:00
phobos2077 553c7cc195 Renamed string_pos back to string_find to make meaning more obvious 2023-08-07 20:01:21 +02:00
NovaRain 61f3a2ac13 Fixed the backward compatibility of get_npc_level
(broken in commit 438bc6f)
2023-08-04 09:13:55 +08:00
NovaRain aca6c92d86 Reordered the engine perk entries in perks.ini
(sorted by their perk IDs)
2023-07-31 20:52:43 +08:00
phobos2077 5d7015bbb5 Headers update
- Synced a small number of defines from RPU headers
- Removed duplicate defines from define_lite
2023-07-30 22:24:44 +02:00
phobos2077 f0ec82923d EnginePerks: fixes
- Remove duplicate Salesman tweak
- Decoupled hacks for multi-perk-level support for Salesman and Demolition Expert from the bonus value change
- Renamed settings for consistency ("<PerkName>Bonus" when it has only one effect)
2023-07-30 22:00:04 +02:00
phobos2077 cd5c803386 EnginePerks: rewritten and expanded
- Got rid of unused and repeated code
- Added all perk skill bonuses
2023-07-30 19:58:34 +02:00
NovaRain c95d872f77 Added build instructions to readme 2023-07-26 15:08:41 +08:00
phobos2077 5c3c1ca4db Header fixes
- Fix conflict with RPU command_extra.h
- Fix undefined debug_array_str error
2023-07-24 00:56:01 +02:00
NovaRain cb1a3dd764 Reverted the ASM change for StealCheckHook in commit 53c294c 2023-07-23 07:42:16 +08:00
phobos2077 4c441d5852 Fix incorrect int->float conversion in op_sub (closes #488) 2023-07-22 21:22:27 +02:00
NovaRain 53c294cf98 Edited ASM code and documents for HOOK_STEAL 2023-07-22 20:46:26 +08:00
phobos2077 5394352bf0 HOOK_STEAL: add ret0 value 2 to fail "silently" 2023-07-22 13:43:23 +02:00
phobos2077 f267224428 HOOK_STEAL: return value improvements
- Allow to use vanilla handler but only override experience in case of success
- Treat both return values less than -1 the same as -1
2023-07-22 10:43:18 +02:00
phobos2077 b189fe9252 HOOK_STEAL: ret1 to override experience for successful stealing 2023-07-22 04:21:05 +02:00
phobos2077 b2c9b1cc23 HOOK_STEAL: add arg4 - quantity of items stolen 2023-07-22 03:29:31 +02:00
NovaRain 0e8b6efe49 Re-added the check for valid objs to get/set_object_data
* disabled in combat for the combat data.
2023-07-19 20:56:12 +08:00
NovaRain 6d66bfffb0 Edited function and sslc docs 2023-07-17 20:53:50 +08:00
NovaRain 6eeb674641 Minor code edits to BugFixes.cpp
Minor edits to some comments.
2023-07-14 09:46:02 +08:00
NovaRain b94993d756 Minor edits to error msg for some script functions
Edits to function notes.
2023-07-11 11:19:29 +08:00
phobos2077 a2ea1910f5 Minor header and readme edits 2023-07-10 23:56:58 +02:00
NovaRain ddb3cf9b6e Added upper/lower limits to the hit chance value
Edited hookscript docs.
2023-07-09 15:22:56 +08:00
NovaRain 321f8e1ab2 Changed string_pos to return -1 on arg error
Added a check to PartyControl::OrderAttackPatch().
Updated function documents.
2023-07-05 22:14:04 +08:00
phobos2077 66559812bd Updated headers
- Add a bunch of array-related procs to unlock basic functional programming
- Fix error with FUNC_SELECTOR_7
2023-07-05 02:31:47 +02:00
phobos2077 f968dea5e7 string_pos: use negative pos value how it works in substr 2023-07-05 01:47:47 +02:00
phobos2077 664fb84dc5 string_find renamed to string_pos + header update
- Renamed get_clamped to math_clamp for consistency (libs should use namespace prefixes)
- Nuked above/below macros and renamed unsigned_comp to insigned_int_compare, because it doesn't work with floats
- Replaced sprintf2 and string_pos with macros (due to new metarules)
- Add a few entries to functions.yml
2023-07-04 21:06:35 +02:00
phobos2077 74ef65335d Add string_find metarule
- lib.inven.h: Updated remove_items_pid to return actually removed quantity
2023-07-04 20:19:38 +02:00
NovaRain 9f6ca9d55d Updated some documents 2023-07-03 15:39:56 +08:00
NovaRain f42b232e19 Moved sfall-mod.ini into mods\ folder
Packed item highlighting and NPC combat control mods into sfall.dat.
2023-07-02 20:40:35 +08:00
NovaRain 0926ace899 Use explicit GetFileAttributesA function 2023-07-02 08:28:15 +08:00
NovaRain b2023b7e51 Removed capping of console window position and size
* for multi-monitor setup, leaving only minimum size of 640x480.
2023-06-29 21:32:32 +08:00
NovaRain 1f962458cd Added file check for books/drugs/enginetweaks ini files
Fixed possible array index out of bound error in BarBoxes.
Added trimming to custom unarmed attack names.
Edits to ddraw.ini and function docs.
2023-06-27 21:19:36 +08:00
phobos2077 0bb5941c98 IniReader: Remove bufSize argument when it's not used (closes #485)
- Fix return value of getString with buffer argument
- Increase max line length to 2048
2023-06-27 00:14:00 +02:00
phobos2077 3e4e9ff4e6 Console window improvements
- Retain maximized/minimized state
- Save normal position when closing in maximized/minized state
- Allow to move window in negative x direction
- Disable close button
- Save position if game was closed by pressing Alt+F4 in console window
2023-06-26 23:31:06 +02:00
NovaRain ece95a95e9 Updated docs for improved string_format
Edited error messages for a few functions.
ConsoleWindow: disallowed negative window position.
2023-06-25 16:16:23 +08:00
phobos2077 5f38744a2e De-shittify string_format (closes #482) 2023-06-25 00:24:24 +02:00
phobos2077 c0aac45b0c ConsoleWindow: attempt to fix position jumping 2023-06-24 13:12:38 +02:00
NovaRain d7a974c50b Fixed the display after switching back in NPC combat control mod
* player's active "sneak" notification box wasn't shown when switching
back after the combat.

Replaced numbers with defines in item highlighting mod.
2023-06-24 14:17:38 +08:00
phobos2077andNovaRain 3f8d322697 Fix container highlight condition 2023-06-24 07:59:16 +08:00
phobos2077andNovaRain 50b51fc1a3 Highlighting mod update
- Optional highlighting of critters, using the same colors and rules as in the combat mode
- Holding highlight key will update outlines based on current positions
- Enable LOS check by default for more interesting looting
2023-06-24 07:59:16 +08:00
phobos2077 e1aebb21e4 op_create_spatial: fix spatial object having no scriptIndex upon creation 2023-06-24 01:58:17 +02:00
phobos2077 a5075734cc ConsoleWindow: prevent user from messing up window position & size 2023-06-24 01:57:27 +02:00
phobos2077 4adb6dffe2 get_ini_config - reset array cache to prevent wrong arrays being returned! 2023-06-21 23:32:33 +02:00
NovaRain 3b29088818 Edited the log messages in LoadOrder.cpp
Cleaned up some module headers.

Updated version number in documents.

Updated changelog in sslc document, and removed the mention about
empty statements (it never worked).
2023-06-21 22:21:12 +08:00
phobos2077 3a3760704c Load order: more informative logging 2023-06-20 20:44:57 +02:00
NovaRain b619ea3fba Updated function docs for get_ini_config 2023-06-19 12:15:17 +08:00
NovaRain ae7921fe26 Some format/textual edits to code
* line indents.
* remove trailing spaces.
* use nullptr instead of NULL for pointers.

Edited the error messages of get_ini_config.
2023-06-19 12:14:31 +08:00
NovaRainandGitHub 14f6de0329 Merge pull request #481 from sfall-team/feature/fo-ini-reader
INI Config reader:
- Replaced GetPrivateProfile* functions for reading ini with vanilla-based INI reader.
- Changed IniReader classes to read INI files once using new Config class and cache results until GameReset (going to main menu).
- Added metarule to read entire INI file in one operation and return as two-dimensional map array.
- Increased limits for INI strings to 1021.
2023-06-19 11:22:27 +08:00
phobos2077 e33a025c62 get_ini_config: sanitize and validate INI path 2023-06-18 15:01:25 +02:00
phobos2077 20088ffcb1 Save window positions in OnBeforeGameClose
- This way we can guarantee sfall has not started to "destruct" yet, so we don't have to rely on the order of destructor calls
2023-06-18 00:41:45 +02:00
phobos2077 cec091bda2 IniReader: Remove ini file from cache when it's changed by SetString
- Had to reorganize some code to make this work. Changed how some singletons are created to guarantee destructor calls in correct order (IniReader is constructed first and destructed last, after every other module).
2023-06-17 23:33:37 +02:00
NovaRain 97c2b111ff Updated the description of ConsoleWindow
Simplified ASM code in Premade.cpp a bit.
2023-06-17 21:40:11 +08:00
VladandGitHub 1e4bbaedbd Merge branch 'develop' into feature/fo-ini-reader 2023-06-16 18:13:12 +02:00
NovaRainandGitHub fce35c7e14 Merge pull request #480 from sfall-team/feature/debug-log-overflow-fix
Fixed buffer overflow when DebugMode is enabled and printing messages longer than 259 via script.
2023-06-16 23:37:59 +08:00
phobos2077 4d19fa2d60 Use single function for all string-to-integer conversions for consistent behavior
- Reading INI from within sfall as well as get_ini_setting opcode
- calling atoi opcode
- Support auto-detecting 0x, 0 and 0b for hex, octal and binary representations respectively
2023-06-16 16:06:24 +02:00
phobos2077 0a6a604abc Add support for using 0b prefix in INI files to denote binary base (consistent with GetPrivateProfile*) 2023-06-16 15:10:25 +02:00
phobos2077 2cef5310e2 Rewrite console writing
- Separate debug_msg and display_msg as separate Source
- Merge writing to one function with proper filtering
2023-06-16 14:57:41 +02:00
phobos2077 fe7aa9ae04 Removed unused code 2023-06-16 02:16:25 +02:00
phobos2077 b36771da48 Increase maximum size of one INI line to 1023 and fix potential crash in IniReader::getString()
- Now can read strings up to 1021 from INI files using all available functions (get_ini_string, get_ini_section, get_ini_config)
2023-06-16 00:53:03 +02:00
phobos2077 ad6491d61e Increase array string limit to 1024 bytes
- Because it is now safe to log longer stuff
2023-06-16 00:16:36 +02:00
phobos2077 4de5de6a0c Restore code page option from NovaRain 2023-06-16 00:02:55 +02:00
phobos2077 347b4a3ecb Fix buffer overflow when DebugMode is enabled and printing messages longer than 259 via script
- Refactoring: moved ConsoleWindow into separate file
2023-06-15 23:57:41 +02:00
phobos2077 0b161c7374 Rename metarule for consistency with other ini-related functions, add to functions.yml 2023-06-15 21:48:06 +02:00
phobos2077 7bbc15ab0b Made Config queries case-insensitive for both section names and keys to match GetPrivateProfile* behavior 2023-06-15 21:01:24 +02:00
phobos2077 ac02971d61 get_ini_section(s): switched to using Config class
- Load configs via IniReader to take advantage of it's cache
2023-06-15 19:28:52 +02:00
phobos2077 e4ea3645d6 Add config_load metarule to efficiently load INI into array and also load INI from DAT
- Refactoring: moved all ini-related handlers into new cpp
- Moved modified_ini opcode to C++
2023-06-15 19:01:07 +02:00
NovaRain f9dc7a3e25 Added code page setting for the console window 2023-06-15 23:27:07 +08:00
phobos2077 3f7ce8c412 Custom Config parser based on Vanilla & Fallout CE 2023-06-15 15:30:46 +02:00
phobos2077 6d3afd4e7d Attempt to fix config reader memory allocation issues (unsuccessful) 2023-06-15 15:30:46 +02:00
phobos2077 2fcf81cb78 Read all ini's using built-in FO config parser 2023-06-15 15:30:46 +02:00
phobos2077 b8c52304eb Add precise time measurements for: Sfall Init, Game Init, New Game start and Save game load. 2023-06-15 15:30:24 +02:00
NovaRain 23d1e3b9c8 Updated the description in [ExtraPatches] for mods_order.txt
Tweaked the error log entry for mods_order.txt.
Removed unnecessary Inject_SwitchHandHook (unused since 4.2.1)
2023-06-15 13:38:04 +08:00
NovaRain 7baa6de014 Reduced buffer flush in Logging.cpp
Edited some description in ddraw.ini.
2023-06-15 13:24:02 +08:00
NovaRainandGitHub 7bf562338c Merge pull request #477 from sfall-team/feature/console-window-v2
Console Window output (closes #474)
2023-06-15 13:14:46 +08:00
phobos2077 5f38a934ca Console improvements
- Save & restore window position
- Fix display_msg not mirrored to console
- Fix log prefixes showing up mid line
2023-06-14 21:34:57 +02:00
phobos2077 3c40518e87 Make sfall logs a little prettier 2023-06-14 20:01:13 +02:00
NovaRain 7939924257 Removed debug message about missing critter art from displaying in-game
* to prevent unnecessary annoyance to generic players.

Added a safeguard to get_tile_fid.
2023-06-14 09:26:28 +08:00
phobos2077 dc665cb741 Debugging.ConsoleWindow option 2023-06-13 23:09:21 +02:00
phobos2077 d7127a4deb Fix crash in debug mode due to __stdcall not being explicitly specified for C++ function (closes #476) 2023-06-13 19:45:11 +02:00
NovaRain 46a80fdb6a Added get_tile_fid and macros to function notes
Some misc edits to documents.
2023-06-13 12:32:49 +08:00
NovaRain 492e31410c Fixed the mode 2 of get_tile_fid
Minor code/comment/format edits.
2023-06-13 10:15:02 +08:00
phobos2077 f5e7235a80 get_tile_fid: take FRM Limit patch into account by extending FRM mask from 12 to 14 bits 2023-06-13 01:10:23 +02:00
phobos2077 0fef6f1f8c mods_order: remove comments before other checks, to prevent valid paths being ignored 2023-06-12 19:55:33 +02:00
phobos2077 4b9008d53c get_tile_fid correct for backwards compatibility and flexibility
- Allow to pass elevation using the free bits of the tileNum value to access elevations 1 and 2 (instead of defaulting to dude_elevation, which is not how it worked before)
- Access roof FID and raw data using mode flags in the top 4 bits
2023-06-12 18:26:28 +02:00
phobos2077 0d960ca326 Fix get_tile_fid function to work on elevations 1 and 2
- Since it has no second argument, assume dude elevation
- Rewrite into new opcode system
2023-06-12 16:44:07 +02:00
VladandGitHub c95d074f44 Merge pull request #470 from sfall-team/feature/load_order
load_order.txt per #469
2023-06-12 14:47:27 +02:00
VladandGitHub 4b88bfad10 Merge pull request #473 from sfall-team/hook_return_string_v2
Allow passing string directly to set_sfall_return in HOOK_DESCRIPTIONOBJ (v2)
2023-06-12 14:46:59 +02:00
phobos2077 94388d3470 LoadOrder update
- Rename to "mods_order.txt"
- Create "mods" folder if it doesn't exist before creating an empty mods_order.txt
- Trim space and tab characters
- Allow comments after file names with ; or # (INI-style)
2023-06-12 11:59:10 +02:00
phobos2077 208cacc4dd load_order.txt per #469 2023-06-12 11:59:10 +02:00
phobos2077 f222348b25 Update docs, remove deprecated macro 2023-06-12 11:55:06 +02:00
phobos2077 49cf0e6726 Allow passing string directly to set_sfall_return in HOOK_DESCRIPTIONOBJ
- HookScripts: track return types in addition to values
- Set allowNonIntReturn in hook code to allow non-int return values to be accepted
- Moved get_sfall_arg and set_sfall_return opcodes to the new table
2023-06-12 11:52:12 +02:00
phobos2077 d107edbb23 invenWieldFunc fix for putting non-armor, non-weapon items into hand slot 2023-06-11 20:12:11 +02:00
phobos2077 e9f8984819 Script Headers: fix remove_items_pid function and fix naming
- It didn't take different stacks of items into account as well as cases where one item is in the backback and other in the slot and you need to remove both
2023-06-11 14:07:44 +02:00
NovaRain ab0c373a9b Minor edits to code and documents
Commented out unused combat related functions.
2023-06-09 11:20:47 +08:00
phobos2077 1c34f85789 Add get_combat_free_move for better mod compatibility 2023-06-08 21:36:09 +02:00
NovaRain b317ed71ce Added options to override the names of sound files for game modes
Remove the worldmap/credits music override from Fallout1Behavior.
(was added in commit 00b85be)

Minor edits to ddraw.ini.
2023-06-05 11:37:58 +08:00
NovaRain 9197966993 Some grammar correction in function document 2023-06-05 10:54:36 +08:00
phobos2077 21fe99a297 Docs: Clarification about get_ini_* function return values
- Also updated lib.strings.h
2023-06-04 20:32:43 +02:00
phobos2077 ac1abf71f8 Corrected hook documentation 2023-06-04 12:02:11 +02:00
phobos2077 bfc9fd4d88 Add set_combat_free_move metarule and 2 arguments to STDPROCEDURE to make it more useful 2023-06-04 11:59:13 +02:00
phobos2077 f755e0a1dc Header update 2023-06-04 11:59:13 +02:00
NovaRain 3d88304777 Added a new example mod gl_rest_encounter
Added a burst control example script.
2023-06-02 15:14:25 +08:00
NovaRain 4e37fb0228 Fixed crash when using NumbersInDialogue
(revert commit a4d6687)

Added more accurate description for div function in DamageMod.cpp.
2023-06-01 15:56:43 +08:00
NovaRain 0de7614c53 Minor edits to ddraw.ini and define_extra.h 2023-05-29 15:21:21 +08:00
phobos2077 d5268f3fbc Small update to headers 2023-05-25 02:37:51 +02:00
NovaRain 19db722948 Decoupled hook type 2 of HOOK_AMMOCOST from CheckWeaponAmmoCost
Edits to documents to reflect the hook change.
Changed CheckWeaponAmmoCost to be enabled by default.
Updated version number.
2023-05-20 10:56:39 +08:00
NovaRain c2dde7485a Added back postbuild.cmd for github action 2023-05-19 10:35:59 +08:00
NovaRain c73f311b22 Randomized one extra bullet for side groups in burst attacks
* idea from phobos2077.

Added minimum value check to multipliers.
2023-05-19 09:45:15 +08:00
NovaRain 000816acb5 Merge branch 'scriptable-burst' into develop 2023-05-19 08:27:46 +08:00
NovaRain 37e7af2a17 Added documentation for set_spray_settings 2023-05-18 22:52:00 +08:00
NovaRain befea69909 Fixed "divided by zero" error when returning 0 in AMMOCOST hook
* with CheckWeaponAmmoCost=1

Added a value check to the return value of AMMOCOST hook.
Updated hookscripts.md to reflect this change.
2023-05-18 10:01:49 +08:00
phobos2077 a3cfc481a5 Remove postbuild.cmd from git 2023-05-16 18:50:13 +02:00
NovaRain c9034f917b Added "set_spray_settings" function for scriptable burst (#36)
* Current implementation works similar to metarule2_explosions.
documentation will come later.
2023-05-17 00:14:44 +08:00
NovaRain 5b9e90100d Changed AttackSubType enum "GUNS" to "RANGED"
* to be in line with define_extra.h, the naming is from RE/CE.

Minor textual edits to code.
2023-05-15 12:06:53 +08:00
phobos2077 427a978bb4 Implemented YAAM damage formula in script 2023-05-14 23:31:40 +02:00
phobos2077 e6e941e14c Updated gl_compute_damage example script to work as 1:1 reflection of vanilla damage formula
- In hope that this will make it easier for someone to write his own damage formula
2023-05-14 22:50:33 +02:00
phobos2077 493003af54 Updated some defines
- ATKMODE defines removed to avoid confusion - these are really two 4-bit fields, not bit flags!
2023-05-14 01:44:15 +02:00
phobos2077 1683678657 Revert adding RMOBJ to avoid duplication from devine_extra.h 2023-05-08 10:38:35 +02:00
phobos2077 a05207cc83 Add some missing script defines 2023-05-08 02:53:31 +02:00
NovaRain 00b85bec49 Expanded the functionality of Fallout1Behavior
* change the world map music and the credits music to match FO1 files.

Increased the maximum value of the combat speed slider.
Some minor code edits.
2023-04-30 09:18:51 +08:00
NovaRain 571955fbcb Tweaked set_pc/critter_base/extra_stat script functions
* before they didn't update derived stats when setting SPECIAL, for
the player it requires accessing the char screen to update.

Replaced some proto_ptr() usages with GetProto().
2023-04-22 23:45:57 +08:00
NovaRain f4e3049a0f Code edits to PartyControl.cpp
* use roll_random function from the engine instead of making a new one.

Updated version number.
2023-04-19 10:41:20 +08:00
NovaRain 184af43928 Attempt for reproducible builds
* ducible.exe is built with v140_xp toolset and /arch:SSE.
2023-04-17 10:06:46 +08:00
NovaRain 32e9642f90 Replaced deprecated set-output command in action
Removed Debug Directory "coffgrp" from PE header of release builds.
2023-04-14 14:04:41 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
59310dec6d Bump nokogiri from 1.13.10 to 1.14.3 in /docs (#462)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.10 to 1.14.3.
- [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.13.10...v1.14.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 14:29:01 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
55c5c815f8 Bump commonmarker from 0.23.7 to 0.23.9 in /docs (#461)
Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.7 to 0.23.9.
- [Release notes](https://github.com/gjtorikian/commonmarker/releases)
- [Changelog](https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.7...v0.23.9)

---
updated-dependencies:
- dependency-name: commonmarker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 14:28:50 +08:00
NovaRain a4d6687aab Minor code edits to MiscPatches.cpp 2023-04-12 10:02:26 +08:00
NovaRain 99de222605 Release 4.3.8 2023-03-31 22:10:41 +08:00
NovaRain 29ad2bf3b8 Recompressed sfall resource files 2023-03-31 21:54:55 +08:00
NovaRain 4fc282fa61 Minor edit to the changelog 2023-03-29 14:31:50 +08:00
NovaRain 5b4e165368 Fixed assorted typos in documents
Added an example ini to Ammo INI Loader mod.
Updated the changelog.
2023-03-27 20:30:36 +08:00
NovaRainandGitHub 43a261bd27 Bump activesupport to 6.1.7.3 in /docs 2023-03-20 10:04:46 +08:00
NovaRain b69e4e0eeb Fixed being able to call multiple exit msg boxes with Alt+F4 2023-03-16 10:44:58 +08:00
NovaRain 254473cf1c Added support for closing the game by Alt+F4 (#457) 2023-03-15 12:09:52 +08:00
NovaRain c4efe78661 Updated readme and added changelog (#451) 2023-03-13 14:22:35 +08:00
NovaRain 656b122f3e Removed deprecated "register" keyword
Minor edits to documents.
2023-03-10 21:01:21 +08:00
NovaRain 30802e8e21 Changed the copyright text format in the credits 2023-03-06 22:41:37 +08:00
NovaRain 56150d572a Renamed some object flags 2023-03-05 10:18:59 +08:00
NovaRain a75886a020 Added a tweak to the ammo info for Glovz's/YAAM
* to display correct ammo stats based on the formulas w/o editing
proto.msg manually.

Updated translation ini files.

Set the maximum number of screenshots to 10k (was 100k)

* 100k is impractical because the max files per directory on FAT32 is
65535 (only if all files are in 8.3 format) when the game came out.
2023-03-01 09:13:48 +08:00
NovaRain 64dc30d922 Removed CreditsAtBottom from ddraw.ini
* sfall built-in credits will be shown at the beginning when from the
main menu and at the end during the ending.
2023-02-26 23:29:17 +08:00
NovaRain a6a2285ffe Fixed incorrect death endings being shown
* can happen in vanilla FO2 when the player is lv10 or higher,
with a low chance.
2023-02-15 21:05:25 +08:00
NovaRain 381032a246 Removed redundant "Done" strings from sfall log
* only when there are alternative states or for graphics/sound/scripting
2023-02-10 08:42:02 +08:00
NovaRain b6ee7bebf2 Tweaked how disabled unsafe opcodes work
* now disabled opcodes will just do nothing instead of causing the
script terminated.
2023-02-09 15:04:41 +08:00
NovaRain dd73cbea9c Removed StackEmptyWeapons from ddraw.ini (always enabled) 2023-02-02 12:38:33 +08:00
NovaRain d3960cbebb Bump activesupport to 6.1.7.1 in /docs (again) 2023-01-25 18:25:55 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a93eee9849 Bump commonmarker from 0.23.6 to 0.23.7 in /docs (#454)
Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.6 to 0.23.7.
- [Release notes](https://github.com/gjtorikian/commonmarker/releases)
- [Changelog](https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.6...v0.23.7)

---
updated-dependencies:
- dependency-name: commonmarker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-25 18:23:49 +08:00
NovaRain e954b34676 Try to bump activesupport to 6.1.7.1 in /docs 2023-01-22 09:13:55 +08:00
NovaRain 5c5df4ef64 Added a tweak to allow premade characters to have less than two traits
Fixed the player's traits not being displayed in certain unusual cases.
(with save editing or hex-edited GCD file)
2023-01-10 10:31:35 +08:00
NovaRain ad137896c9 Increased the upper limit of ProcessorIdle 2023-01-07 23:06:07 +08:00
NovaRain 9bdd633fcd Cosmetic edits: updated/unified the copyright header years 2022-12-31 10:13:41 +08:00
NovaRain 48e2a63cdf Edits to sfall_ver_* script functions
* they take no arguments and only return constants, simpler structure
in ASM is enough.
2022-12-26 08:43:40 +08:00
NovaRain 33e6cb0cb8 Fixed broken read_string script function
* actually it has never worked.
2022-12-22 09:34:52 +08:00
NovaRain 52e796815a Fixed a crash bug in FullItemDescInBarter
* when weapon/ammo has no description, it'd trigger UB from strncpy_s.
2022-12-17 10:35:39 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6c7bbb5a58 Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#449)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.9 to 1.13.10.
- [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.13.9...v1.13.10)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 12:17:40 +08:00
NovaRain 05f2fb4001 Minor edits to Functions_def.h 2022-12-03 13:18:06 +08:00
NovaRain 024a13c6a8 Minor edits to code and documents 2022-12-01 08:40:39 +08:00
NovaRain 9ecd598544 Fixed args for HOOK_RESTTIMER 2022-11-26 09:58:13 +08:00
NovaRain 8521c1772b Minor edits to a few ASM hacks
(Changed 2-bytes null jcc to just 2 nop)
2022-11-16 12:19:04 +08:00
NovaRain f7d94e16c9 Tweaked HOOK_INVENTORYMOVE for dropping caps
* before the amount was set in the dropped object only after the hook.

Edits to hook script documents.
2022-10-29 11:32:25 +08:00
NovaRain 3b8d2a4527 Edited the format for window title
Reorganized RMOBJ_* defines in define_extra.h.
2022-10-27 17:20:41 +08:00
NovaRain db7419a2f7 Some format edits to documents
Updated version number.
2022-10-25 21:23:21 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e93ca6fcab Bump nokogiri from 1.13.6 to 1.13.9 in /docs (#447)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.6 to 1.13.9.
- [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.13.6...v1.13.9)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 11:12:22 +08:00
NovaRain 6181140954 Minor edit to hook script document 2022-10-18 09:07:31 +08:00
NovaRain 007fa7314b Minor edit to hookscripts.md 2022-10-18 08:58:51 +08:00
NovaRain 87f5a5f081 Fixed incorrect critter names for corpses
* happens when multiple critters based on the same proto with
different scripts attached are killed.

Tweaked the fix for create_object_sid function.
2022-10-09 23:25:15 +08:00
NovaRain 5d5da0a471 Code correction to LoadOrder.cpp
Updated version number.
2022-09-28 10:17:11 +08:00
NovaRain bd15cf2b9e Fixed the order of autoloaded dat files on FAT file system 2022-09-27 16:14:38 +08:00
NovaRain ea2a4bfdfa Edited [ExtraPatches] description in ddraw.ini 2022-09-22 10:49:16 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8ad4f86e1d Bump commonmarker from 0.23.4 to 0.23.6 in /docs (#444)
Bumps [commonmarker](https://github.com/gjtorikian/commonmarker) from 0.23.4 to 0.23.6.
- [Release notes](https://github.com/gjtorikian/commonmarker/releases)
- [Changelog](https://github.com/gjtorikian/commonmarker/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gjtorikian/commonmarker/compare/v0.23.4...v0.23.6)

---
updated-dependencies:
- dependency-name: commonmarker
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-22 10:46:18 +08:00
NovaRain c4b55734d1 Release 4.3.7 2022-08-27 21:15:14 +08:00
NovaRain ec5874a3c4 Fixed HOOK_REMOVEINVENOBJ to match RMOBJ_* defines
Edits to define_extra.h for RMOBJ_* defines
2022-08-14 11:04:17 +08:00
NovaRain 8b3a2bcead Expanded set_pipboy_available function for mode 2 2022-08-11 21:24:47 +08:00
NovaRain 13cf81e151 Code edits to SpeedInventoryPCRotation
Updated version number.
2022-08-09 21:32:59 +08:00
NovaRain efdd6afa34 Fixed the lighting of critters in gl_partycontrol 2022-08-09 08:43:39 +08:00
NovaRain c878d17a2b Added support for editor.msg to message_str_game
Edits to header files.
2022-08-09 08:12:54 +08:00
NovaRain 050af07b3b Corrected the language path for loading art files 2022-08-08 22:08:24 +08:00
NovaRain 1e5fd7fd13 Combined AllowDShowSound=2 with mode 1
Removed MoreTiles from ddraw.ini (always enabled)
Minor edits to documents.
2022-08-08 09:08:05 +08:00
NovaRain c1475ba453 Dropped support for old pre-SSE processors
Changed buf_to_buf function to SSE implementation.

* affected old processors:
Intel - Pentium II, older Celeron (Covington/Mendocino)
AMD - older K7 (Athlon Classic/Thunderbird)
2022-07-30 00:41:07 +08:00
NovaRain 85862d1599 Corrected comments in Functions.cpp 2022-07-27 22:11:42 +08:00
NovaRain be2af4a3a2 Changed the default number of sound buffers
Updated version number.
2022-07-26 08:23:47 +08:00
NovaRain d0fa304035 Minor edits to sslc document 2022-07-22 22:22:48 +08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e49922d438 Bump tzinfo from 1.2.9 to 1.2.10 in /docs (#442)
Bumps [tzinfo](https://github.com/tzinfo/tzinfo) from 1.2.9 to 1.2.10.
- [Release notes](https://github.com/tzinfo/tzinfo/releases)
- [Changelog](https://github.com/tzinfo/tzinfo/blob/master/CHANGES.md)
- [Commits](https://github.com/tzinfo/tzinfo/compare/v1.2.9...v1.2.10)

---
updated-dependencies:
- dependency-name: tzinfo
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-22 19:50:32 +08:00
burner1024andGitHub f29720effa Switch default Cat Jules appearance to leather jacket
* The original default/naked appearance (`nmprmb`) in RP only has very limited weapon anims.
2022-07-18 16:17:58 +08:00
NovaRain 543198cc89 Release 4.3.6 2022-07-08 21:00:59 +08:00
NovaRain c869080d91 Correction to previous commit 2022-07-07 08:28:03 +08:00
NovaRain f5f1f5ec70 Fixed NPC stuck in a loop of reloading the solar scorcher
(happens when out of ammo and it's dark.)
2022-07-06 20:05:17 +08:00
NovaRain 0b3be17839 Edits to document about set_self function
Updated version number.
2022-07-02 20:03:21 +08:00
NovaRainandGitHub 08f19e63e1 Merge pull request #439 from sfall-team/dependabot/github_actions/develop/actions/setup-python-4
Bump actions/setup-python from 3 to 4
2022-07-01 09:21:23 +08:00
dependabot[bot]andGitHub abbdc36eb8 Bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-01 01:09:07 +00:00
NovaRain 8c71953eed Fixed float_msg script function
* didn't set purple/black text color correctly (was always grey)
2022-06-30 21:51:34 +08:00
NovaRain dee28843ae Changed the mode 1 of NPC combat control mod
* now requires sfall debugging mode to control all critters.
2022-06-24 09:36:45 +08:00
NovaRain cd91355896 Added a warning pop-up for the open file limit 2022-06-17 22:47:27 +08:00
NovaRain 85e5da660b Added "get_terrain_name" script function
Updated documents for the function.
Minor edits to other code.
2022-06-14 21:04:51 +08:00
NovaRain 7015db2414 Changed HiResMode to not always be read from ddraw.ini
Minor edits to Perks.ini (120 CPL)
2022-06-10 09:04:17 +08:00
NovaRain a415fc2e7f Added ladder climbing action to UseWalkDistance
Added notes to MainMenuFontColour description in ddraw.ini.
Updated version number.
2022-06-07 10:24:52 +08:00
NovaRain 0516aabcc1 Added GainReputation to NPC combat control mod 2022-06-06 12:54:02 +08:00
NovaRain 1d8004623a Minor code edits
* read FastShotFix setting only once.
2022-06-02 14:22:05 +08:00
NovaRain 5d1c63ab08 Replaced item_w_curr_ammo_ engine function
* a simplified one, without calling proto_ptr_ unnecessarily.

Related code edits to Combat.cpp & Inventory.cpp.
2022-06-01 12:51:42 +08:00
NovaRainandGitHub 8527e17fa1 Merge pull request #438 from sfall-team/dependabot/github_actions/develop/actions/setup-python-3
Bump actions/setup-python from 2 to 3
2022-05-30 21:04:42 +08:00
NovaRainandGitHub 3782d548d8 Merge pull request #437 from sfall-team/dependabot/github_actions/develop/actions/upload-artifact-3
Bump actions/upload-artifact from 2 to 3
2022-05-30 21:04:06 +08:00
dependabot[bot]andGitHub f3e6c244be Bump actions/setup-python from 2 to 3
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 12:59:24 +00:00
dependabot[bot]andGitHub c449c72556 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 12:59:21 +00:00
NovaRain 6b97ad4bcf Release 4.3.5 2022-05-30 20:56:17 +08:00
NovaRain a4230c3bad Added a function to EngineUtils.cpp
Minor edits to ddraw.ini.
2022-05-28 21:40:34 +08:00
NovaRain 9667b522a8 Tweaked how the graphics mode setting is read
Added a couple of notes to ddraw.ini.
Minor code edits.
2022-05-27 13:18:09 +08:00
NovaRain 73ec85b01d Code edits to gl_npcarmor script 2022-05-26 22:55:08 +08:00
NovaRain e8652ca17b Some edits to documents 2022-05-25 21:52:24 +08:00
NovaRain 8bad934279 Removed ComputeSprayMod from ddraw.ini
Updated version number.
2022-05-25 21:17:06 +08:00
NovaRain fddb71e88a Added support for SPLASH_SCRN_TIME option to sfall HRP 2022-05-24 22:49:40 +08:00
NovaRain a51bd676e0 Fixed being able to push knocked down team members in combat 2022-05-23 12:00:20 +08:00
NovaRain 02b25c325f Simplified the fix in commit 4e3d8a6 2022-05-22 14:45:21 +08:00
NovaRain 05cd041e79 Code edits to Stats::UpdateHPStat() 2022-05-20 15:36:15 +08:00
NovaRainandGitHub c8cd9ef4db Merge pull request #436 from phobos2077/dependabot/bundler/docs/nokogiri-1.13.6
Bump nokogiri from 1.13.4 to 1.13.6 in /docs
2022-05-19 11:41:26 +08:00
dependabot[bot]andGitHub f40e9be2a1 Bump nokogiri from 1.13.4 to 1.13.6 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.4 to 1.13.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.13.4...v1.13.6)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-19 03:39:32 +00:00
NovaRain 7ab89200d7 Tweaked interface bar redraw in gl_partycontrol 2022-05-12 21:58:03 +08:00
NovaRain 7057e044d0 Changed Stats::UpdateHPStat() to update the current HP as well
Updated German translation file.
2022-05-11 21:55:50 +08:00
NovaRainandGitHub 51035958a3 Merge pull request #435 from wipe2238/dependabot
Add dependabot configuration for GitHub Actions
2022-05-10 21:40:23 +08:00
Wipe 2cbc026b72 Dependabot will make PRs against develop branch 2022-05-10 12:01:54 +02:00
Wipe 4ad77cebc1 Added dependabot configuration for GitHub Actions 2022-05-10 11:29:25 +02:00
NovaRain 64f6647fb0 Fixed crash when the player equips an "overloaded" weapon
Fixed a bug in ReloadWeaponKey that could cause a hang.
(only triggerable due to the crash fix for overloaded weapons)
2022-05-05 10:40:47 +08:00
NovaRain b24df4caad Removed DivisionOperatorFix from ddraw.ini (always enabled) 2022-04-29 08:09:24 +08:00
NovaRain 9a6022d923 Moved FO1 worldmap sfx code to Interface.cpp
Removed extra button release sfx for markers on the world map.
(to match the exact FO1 behavior)
2022-04-21 19:53:15 +08:00
MarkusandGitHub f985af96db Fallout 1 worldmap sfx implementation (#434)
Implemented FO1 worldmap sfx (#373)
Added obj_drop call definition.
2022-04-21 19:49:48 +08:00
NovaRain e9581cd92b Corrected placeholders for obsolete opcodes
Minor edit to documents.
2022-04-20 09:51:40 +08:00
NovaRain 144d57243c [HRP] Disabled scaling of main menu buttons/text for Chinese version
* to prevent garbled text from Image::ScaleText()
2022-04-18 14:22:08 +08:00
NovaRainandGitHub 3a9121fb8e Merge pull request #432 from phobos2077/dependabot/bundler/docs/nokogiri-1.13.4
Bump nokogiri from 1.13.3 to 1.13.4 in /docs
2022-04-12 19:51:28 +08:00
dependabot[bot]andGitHub 758162b3e0 Bump nokogiri from 1.13.3 to 1.13.4 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.3...v1.13.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-12 10:02:30 +00:00
NovaRain e5f7d29a03 [HRP] Fixed movie subtitles not showing up when setting MOVIE_SIZE=1
* happens with certain combinations of screen and movie aspect ratios.

Minor edit to Credits.cpp.
Updated version number.
2022-04-11 09:56:35 +08:00
NovaRain d3255277d7 Copy GitHub pages fixes 2022-04-07 21:24:49 +08:00
NovaRain 824780db88 Fix to GitHub pages 2022-04-07 21:16:16 +08:00
NovaRain 0a5a4e569e Release 4.3.4 2022-04-07 20:46:58 +08:00
NovaRain 69461516fe Edited code comment in the previous commit
Code format edits to BugFixes.cpp.
2022-04-07 20:42:33 +08:00
NovaRain 4e3d8a62ca Fixed item planting for non-biped critters with the "barter" flag set
(BGforgeNet/Fallout2_Unofficial_Patch#95)

Updated version number.
2022-04-04 21:31:51 +08:00
NovaRain c3f6b0ebb6 Removed FadeBackgroundMusic option
Removed unused "type" parameter from Tilemap::make_path_func.
Edits to documents and README.md.
2022-03-28 14:35:15 +08:00
NovaRain 93b53081a7 Edits to hookscripts.md and hooks.yml
Corrected a typo in arrays.md.
Removed redundant compiler txt files.
2022-03-21 22:49:42 +08:00
NovaRain 4af68b612b Code edits to the fix for FadeBackgroundMusic 2022-03-21 08:42:45 +08:00
NovaRain 1f44428fd6 Updated Ammo INI Loader example script mod
Updated version number.
2022-03-15 12:59:19 +08:00
NovaRain b486b58dd1 Added .gitattributes with ssl syntax highlighting
Added game debug project info to ddraw.sln.
2022-03-11 20:23:57 +08:00
NovaRain 1b579ad1d4 Bumped checkout to v3 for GitHub Action
Bumped nokogiri from 1.12.5 to 1.13.3 in /docs
2022-03-03 16:51:24 +08:00
NovaRainandGitHub 454c8d2a6d Merge pull request #430 from phobos2077/dependabot/bundler/docs/nokogiri-1.13.3
Bump nokogiri from 1.12.5 to 1.13.3 in /docs
2022-02-26 19:44:38 +08:00
dependabot[bot]andGitHub c609d79841 Bump nokogiri from 1.12.5 to 1.13.3 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.5 to 1.13.3.
- [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.12.5...v1.13.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-26 11:33:23 +00:00
NovaRain a392e5620a Added support for LocalMapXLimit/LocalMapYLimit options to sfall HRP 2022-02-20 08:39:02 +08:00
NovaRain 15c512ff7b Fixed some problems with the main menu in sfall HRP
Minor edits to other code.
2022-02-20 08:05:27 +08:00
NovaRain 4b6bc75814 Changed the build OS to Windows Server 2019
* for keeping Visual Studio 2017.
2022-02-17 11:34:14 +08:00
NovaRain 3f2f3560ad Release 4.3.3.1 2022-02-17 10:38:06 +08:00
NovaRain 29cd430b17 Moved 24-bit BMP code refs to HRP\Image.cpp
Minor edits to code/documents.
Updated version number.
2022-02-17 10:20:56 +08:00
NovaRain e84376351b Reverted the palette update method for DX9 mode to pre-4.3.1
* moving the processing to GPU (commit edbfc05)

Improved the functionality of AllowDShowMovies:
now can take screenshots and press any key to skip AVI movies.

Code edits to Logging.cpp.
2022-02-14 12:03:21 +08:00
NovaRain 2d97d24a39 Reverted the limit on hit chance (commit 71bc271)
* reason: the text length is depend on the frm.
2022-02-13 07:37:11 +08:00
NovaRain 4f89788dbd Fixed the game printing an incorrect item name in some cases
Minor fixes in Graphics.cpp and InputFuncs.cpp.
2022-02-13 02:06:56 +08:00
NovaRain 6df9dacc5f Code correction on DX9 initialization for built-in HRP
Some minor code edits.
2022-02-12 10:48:07 +08:00
NovaRain 71bc2719c4 Added minimum and maximum limits to the hit chance
* to prevent display glitches (BGforgeNet/Fallout2_Unofficial_Patch#85)

Lowered the max number of PNG screenshots to 10K.
2022-02-11 15:06:07 +08:00
NovaRain 1c9866a693 [HRP] Fixed the screenshot for sfall DX9 mode
* Now the screenshots are saved in PNG format.

[HRP] Adjusted the position of movie subtitles.

[TEST] Changed the DirectX 9 device creation mode.
2022-02-10 12:13:26 +08:00
NovaRain a7e6365d84 [HRP] Fixed possible crash in combat for EXTRA_WIN_MSG_CHECKS (#425) 2022-02-05 09:08:24 +08:00
NovaRain 0622a89978 [HRP] Fixed the main menu still being stretched when MAIN_MENU_SIZE=0
[HRP] Fixed broken console messages when using ConsoleOutputPath (#424)
[HRP] Disabled IFACE_BAR_WIDTH for Chinese version.
Fixed the copyright line in the credits.
2022-02-01 09:37:27 +08:00
NovaRain 41b4b773a3 Release 4.3.3 2022-01-20 13:41:56 +08:00
NovaRain 0807a4ea02 Updated Translations.ini and Russian/Chinese files 2022-01-20 12:53:01 +08:00
NovaRain a9f03544d5 Fixed movie scale pitch size for CPU palette conversion 2022-01-20 10:29:00 +08:00
NovaRain 03676d09ee Fixed the music not playing after loading a saved game (#422)
* if the save is on the same map, and while in the game.
2022-01-20 07:11:51 +08:00
NovaRain e17ad5d11b Minor code edits 2022-01-19 09:41:37 +08:00
NovaRain b66cc42fbc [HRP] Added missing movie scaling implementation for GPUBlt=2
Reverted the previous commit.
2022-01-18 08:52:00 +08:00
NovaRain 6cf41401aa Disabled compiling HLSL shader files at build-time
* use existed files in the HLSL folder instead.
2022-01-17 21:25:25 +08:00
NovaRain 45e2037082 Added HLSL source files and compiled shader files
* this should remove the hidden dependency on d3dcompiler_xx.dll.
2022-01-17 21:14:01 +08:00
NovaRain fc5863ac46 Added a new warning message on shader effects to Graphics.cpp 2022-01-17 12:12:08 +08:00
NovaRain 0a5ec8c70f Added a redraw timer to the debug editor
* redraws the background game screen when moving the editor window.
* works for sfall DX9 mode.
2022-01-17 09:51:24 +08:00
NovaRain 937cff235e Updated the year for version info 2022-01-17 08:53:48 +08:00
NovaRain 6bf967e877 Code correction to DebugEditor.cpp 2022-01-15 11:59:13 +08:00
NovaRain f839c8374a Increased the width of the mouse drop area for inv on the barter screen
Removed HRP's BARTER_PC_INV_DROP_FIX.
2022-01-15 09:56:55 +08:00
NovaRain 3301ace580 [HRP] Fixed interface position for smaller resolution (640x480)
[HRP] Fixed main menu position when MAIN_MENU_SIZE=0
2022-01-15 08:57:51 +08:00
NovaRain 247d4fae6c Edits to the arrays document 2022-01-13 21:29:24 +08:00
NovaRain f30558b091 Fixed a bug in 4.3.1 that caused AI to be unable to use some weapons
Code edits regarding AIpref in Enums.h.

Added GamePids.h (derived from ItemPid.h in mapper scripts)
2022-01-13 10:14:25 +08:00
NovaRain 7c0adc558a Updated documents for the removal of ArraysBehavior option
Some other minor edits to documents.
2022-01-12 09:40:18 +08:00
NovaRain 5493ed38d3 Redid the idle implementation for ProcessorIdle
[HRP] Added support for CPU_USAGE_FIX option.
[HRP] Code changes to DirectDraw.cpp for DD7 performance.
2022-01-11 10:03:11 +08:00
NovaRain 16ad57806f Removed ArraysBehavior and RemoveWindowRounding from ddraw.ini
* both are now always enabled
2022-01-07 06:46:28 +08:00
NovaRain adadf608e7 Changed the "Radiated" on the char screen to be highlighted in gray
* when the player still has an impending radiation effect

[HRP] Fixed the clickability issue for SCALE_BUTTONS_AND_TEXT_MENU.

Moved some code related to HRP.
Unified the naming style for color variables.
2022-01-06 14:19:05 +08:00
NovaRain 6faf71da66 Code edits to Graphics.cpp for device lost state 2022-01-04 07:03:50 +08:00
NovaRain 40fa4a1336 Fixed black screen after restoring DX9 device 2022-01-03 23:58:17 +08:00
NovaRain 8427ad657a Fixed Tilemap::make_path_func and DrawAlternateAmmoMetre functions 2022-01-03 07:07:08 +08:00
NovaRain 5fbbeeb328 [HRP] Code correction 2021-12-29 07:06:56 +08:00
NovaRain a30f640eb9 [HRP] Added support for reading .rix images larger than 640x480 2021-12-29 06:20:20 +08:00
NovaRain 921db36478 Improved the message box for CRC mismatch
Changed SkipCompatModeCheck to not require sfall debugging mode.
Minor code edits.
2021-12-28 12:44:20 +08:00
NovaRain 74455db5a9 Removed SkipSizeCheck from ddraw.ini
* the executable file size check is also removed (mostly).
2021-12-27 10:15:41 +08:00
NovaRain 437e6bfaea Code correction/edits to the previous commit
Added a debug message for the open file limit being exceeded.
2021-12-26 11:33:15 +08:00
NovaRain eb0bd4dfd0 Fixed the broken fix for addicted party members
(BGforgeNet/Fallout2_Restoration_Project#131, #420)

Improved the duplicate path removal in LoadOrder.cpp.
Code edits to the fix in previous commit for system compatibility.
2021-12-25 20:40:09 +08:00
NovaRain b0cc4352f7 Added additional fixes to FadeBackgroundMusic
* fixes not closing sound files after fading, which led to unable to
load the game anymore due to the the open files limit.

Code edits to CRC.cpp for displayed messages.
2021-12-24 13:47:22 +08:00
NovaRain df15a147d9 Renamed ShowMapGridKey to MapGridToggleKey 2021-12-21 09:47:59 +08:00
NovaRain 680284d785 Fixed crashes in HRP code
Reverted the version string on the main menu.
2021-12-20 12:16:18 +08:00
NovaRain 3cc98fc15d Added a debug option to toggle the hex grid
Added HiResMode option to ddraw.ini, along with some edits.
Fixed db_init function wrapper.
Some edits to HRP code.
2021-12-20 12:00:45 +08:00
NovaRain 317c462918 Edited action.yml for additional library 2021-12-19 09:06:20 +08:00
NovaRain c7e46a6b84 Merge branch 'HRP-integration' into develop
# Conflicts:
#	sfall/Game/GUI/Text.cpp
#	sfall/Modules/Interface.cpp
2021-12-19 09:01:48 +08:00
NovaRain 92a24a6112 Code cleanup and edits before merging 2021-12-19 08:42:36 +08:00
NovaRain da5286eaa9 Code cleanup and correction 2021-12-19 08:40:12 +08:00
NovaRain 3022e96809 Merge branch 'develop' into HRP-integration 2021-12-18 12:58:03 +08:00
NovaRain 6ff73a513e Fixed the load order of f2_res.dat & sfall.dat
Changed the default graphics mode back to 0 (now DD7).
2021-12-18 11:39:05 +08:00
NovaRain 53be017f0b Added fixed call point for sfall initialization 2021-12-17 09:56:52 +08:00
NovaRain 095dfae544 Fixed broken object descriptions for Chinese version
Minor code edits.
2021-12-16 12:38:14 +08:00
NovaRain 3145d4e5dc Added missing functions (was causing errors)
Added an improvement to prevent the player from running outside the
cropped part of the map.

Added an improvement for the list of action icons when enabling
IFACE_BAR_MODE (the list is no longer created under the interface).
2021-12-16 12:28:26 +08:00
NovaRain 5a18570bd9 Code changes to Graphics.cpp & main.cpp
* from HRP test branch
2021-12-12 10:28:35 +08:00
NovaRain fb8ca5317f Added SCALE_2X option, and minor fixes 2021-12-12 09:26:23 +08:00
NovaRain bc8665b131 Added a limit on path nodes for NPCs to NumPathNodes option 2021-12-11 10:36:26 +08:00
NovaRain fee4720ef5 Added ALTERNATE_AMMO_METRE and NumPathNodes options 2021-12-11 09:19:00 +08:00
NovaRain 7553b7bfc0 Fixed a crash bug in FadeBackgroundMusic
(when trying to mute the master audio volume in the preferences screen)

Minor code edits.
2021-12-10 09:58:22 +08:00
NovaRain 26b3fac1e0 Code fixes/edits to the previous commit 2021-12-10 09:12:44 +08:00
NovaRain 0ba69166b9 Added FADE_TIME_RECALCULATE_ON_FADE and EXTRA_WIN_MSG_CHECKS options 2021-12-09 09:47:59 +08:00
NovaRain d94e68ba73 Finished the code for DirectDraw graphics mode 2021-12-08 12:59:02 +08:00
NovaRain 69cd1461f1 Updated the code for DirectDraw graphics mode 2021-12-07 08:43:02 +08:00
NovaRain 6ca5644e99 (WIP) Added DirectDraw graphics mode for built-in HRP
Moved some code from Graphics.cpp to WinProc.cpp
2021-12-05 09:29:48 +08:00
NovaRain 70da19e49b Added code for game movies and edited other code 2021-12-02 12:26:23 +08:00
NovaRain aa6f1cabec Edit to the previous commit 2021-11-28 19:02:24 +08:00
NovaRain 0a42db619d Added a tweak to allow printing new floating messages when their limit is exceeded (#388)
Fixed incorrect value of the limit number of floating messages.
2021-11-28 12:35:14 +08:00
NovaRain ccaacd72e4 Updated code for deactivating the external HRP 2021-11-28 09:31:13 +08:00
NovaRain 6f08a50f9a Removed UseCommandLine from ddraw.ini (always enabled)
Updated version number.
2021-11-27 06:42:19 +08:00
NovaRain 98cc168288 Added CreditsScreen.cpp/h 2021-11-26 09:32:55 +08:00
NovaRain 81912b47ed Added optimization for the save/load game screens
Edited the description of args for HOOK_TOHIT.
2021-11-23 20:43:19 +08:00
NovaRain 5acdf37c80 Added DeathScreen.cpp/h and SlidesScreen.cpp/h
Added optimization for the save/load game screens.
2021-11-23 10:04:05 +08:00
NovaRain f76c0dfe91 Added HelpScreen.cpp/h and Worldmap.cpp/h 2021-11-20 08:45:09 +08:00
NovaRain ba7773223a Added Character, LoadSave, and MiscInterface files 2021-11-19 08:54:42 +08:00
NovaRain 809cba44e8 Minor code edits to Graphics.cpp from HRP branch 2021-11-17 10:05:33 +08:00
NovaRain 1c3f3dbbd5 Changed the namespace for HRP modules
Moved some functions to the HRP namespace.
2021-11-17 10:03:45 +08:00
NovaRain 5265dd8ded Updated code 2021-11-17 06:42:12 +08:00
NovaRain 7e65aa2c64 Fixed the redrawing of windows with "DontMoveTop" flag
* if one is not topmost, it's not redrawn after calling show function.
2021-11-16 15:03:41 +08:00
NovaRain be4978324c Fixed minor bugs in HeroAppearance & CritterStats
Fixed incorrect display of name and damage values for unarmed attacks
in some cases.

Minor code edits.
2021-11-15 10:55:52 +08:00
NovaRain 1834fa3d18 Updated code for the interface bar 2021-11-15 09:02:23 +08:00
NovaRain ae05feee8c Updated code for the interface bar (WIP) 2021-11-14 09:36:29 +08:00
NovaRain e7add0d1b4 Added inventory code 2021-11-12 00:48:06 +08:00
NovaRain 5a61bb8fc3 Added code for Dialog/Barter interface
Added support for Continuum's dialog graphic.
2021-11-10 10:43:15 +08:00
NovaRain 281823e97d Release 4.3.2 2021-11-10 08:45:54 +08:00
NovaRain 32924db37c Reverted Worldmap.cpp changes in commit c19137b 2021-11-10 08:45:12 +08:00
NovaRain cd3c220ef8 Changed the option name of grave containers fix
Edited the code of tile_num function wrapper.
Reorganized the options in ddraw.ini.
Updated web document.
2021-11-09 10:01:17 +08:00
NovaRain 09813aeb86 Code edits to ScriptExtender.cpp/SpeedPatch.cpp
Minor edits to some files.
2021-11-08 13:45:35 +08:00
NovaRain f75214056e Updated map view code 2021-11-08 10:24:59 +08:00
NovaRain d4f011913c Changed the fix in commit 583105a to an option (#412) 2021-11-06 22:44:14 +08:00
NovaRain a543cd934c Updated the code for map edge clipping 2021-11-06 01:16:04 +08:00
NovaRain eb7aca6595 Added map edge clipping (partial) 2021-11-04 06:57:46 +08:00
NovaRain 49cfe39038 Updated code in EdgeBorder/ViewMap. 2021-11-03 09:02:37 +08:00
NovaRain 163b9ed5d3 Simplified the calculation loop in Glovz's formula
Changed the title bar text for DX9 windowed mode.
2021-11-02 09:39:47 +08:00
NovaRain 3846ec9b9d Updated/Corrected code
Added InterfaceBar.cpp/h.
2021-11-02 09:15:11 +08:00
NovaRain e35745353c Improvements for the windowed game mode
Some changes in the implementation of HRP code.
2021-10-31 09:57:18 +08:00
NovaRain d7647bca18 Optimized the calculation loop in YAAM code 2021-10-30 09:16:39 +08:00
NovaRain 53278a090b Some edits to YAAM code
Changed OverrideArtCacheSize to set the art cache size to 261.
Fixed typo in ddraw.ini.
2021-10-27 22:02:09 +08:00
NovaRain a533943200 Cosmetic edit: alignment of GPL text in some files 2021-10-27 22:01:15 +08:00
NovaRain 4385807cd3 Added code for the previous commit 2021-10-27 10:03:42 +08:00
NovaRain 17c73a81da Added ViewMap.cpp/h and EdgeBorder.cpp/h 2021-10-26 09:02:32 +08:00
NovaRain f2bc04001e Changed the description of CheckWeaponAmmoCost in ddraw.ini
Replaced <br> html tag with backslash in markdown documents.
(CommonMark spec)
2021-10-25 10:18:16 +08:00
NovaRain f1c087b3a3 Improved the division function in previous commit
Rewrote the text hook for main_menu_create_ in C++ (from HRP branch)
Updated version number.
2021-10-25 09:52:18 +08:00
NovaRain 3dea47c467 Rewrote Glovz's damage formula code in C++ (#355) 2021-10-24 11:12:56 +08:00
NovaRain c5075aa478 Finished the implementation of the main menu
* requires testing and correction of minor inaccuracies.
2021-10-23 07:34:39 +08:00
NovaRain 8d58e6e3bb Misc code edits 2021-10-22 00:23:58 +08:00
NovaRain be4c73fd50 Continue implementing the main menu section
Misc code edits.
2021-10-22 00:19:36 +08:00
NovaRain a19baedb96 [HRP] Implementation: MAINMENU, STATIC_SCREENS 2021-10-18 21:24:41 +08:00
NovaRain 43a8e84dee Updated define_extra.h 2021-10-16 07:24:58 +08:00
NovaRain c9ce0aa0ce Release 4.3.1 (with updated doc) 2021-10-15 10:52:35 +08:00
NovaRain 6c6f0be11b Updated web document 2021-10-15 10:51:44 +08:00
NovaRain 2d54e376c6 Release 4.3.1 2021-10-15 10:39:27 +08:00
NovaRain f48fce3274 Fixed a rounding error in Glovz's damage formula
Minor edit to gl_partycontrol script.
Updated Russian and Germen translations.
2021-10-15 10:06:02 +08:00
NovaRain b475bf91fb Updated Polish translation
Added char* variant functions to Logging.cpp.
2021-10-14 09:25:15 +08:00
NovaRain ecd574063a Minor code edits, now sfall will always create sfall-log.txt
* still won't write any unless debug options are enabled in ddraw.ini.
2021-10-13 13:47:22 +08:00
NovaRain 101238e125 Improved the party control and fixed mod related bugs
Updated gl_partycontrol script.
2021-10-13 13:01:24 +08:00
NovaRain 2e97fe38ff Fixed JetWithdrawal in Drugs.ini conflict with fix in commit dfd810c
Simplified the code in the previous commit.
2021-10-10 07:19:46 +08:00
NovaRain 583105a76a Fixed the execution of use_p_proc handler for grave type containers
* "grave type" is a container with only two frames (open/closed)
* in vanilla code, using a grave type container in the open state does
not execute use_p_proc in its script like other containers do.
2021-10-08 10:46:57 +08:00
NovaRain ac1bc19faa Reverted the previous commit and added "obj_is_openable" function
* the previous commit conflicts with BIS document.
2021-10-08 09:16:05 +08:00
NovaRain 692e28262d Fixed the return value of obj_is_open function
* for containers with only one frame (e.g. shelves)
2021-10-07 13:43:33 +08:00
NovaRain e62803837b Minor edit to sfall function notes 2021-10-06 21:15:45 +08:00
NovaRain c19137bd1a Fixed crash at the end of DS sound playback
* revert to the previous implementation.

Made sure sfall only loads a localized resource file with valid name.
Some code edits.
2021-10-05 13:36:58 +08:00
NovaRain 5df3d7230f Improved set_scr_name function
Some code correction.
2021-10-04 12:04:46 +08:00
NovaRain 113324097c Updated the site doc as well 2021-10-03 09:56:44 +08:00
NovaRain e725445ce9 Added the description of set_scr_name function 2021-10-03 09:43:54 +08:00
NovaRain 9a5b38dfc3 Added "set_scr_name" script function
* not documented yet.
2021-10-02 22:44:15 +08:00
NovaRain edbfc055d0 Improved the rendering performance of DX9 modes
Excluded the animated colors from TravelMarkerColor (same as in 3.8.x)
Code edits and preparation.
2021-10-01 12:25:18 +08:00
NovaRain dbe24d3ebd Updated translation ini files 2021-09-30 21:46:11 +08:00
NovaRainandGitHub 10a6176da2 Merge pull request #410 from phobos2077/dependabot/bundler/docs/nokogiri-1.12.5
Bump nokogiri from 1.11.6 to 1.12.5 in /docs
2021-09-28 17:23:24 +08:00
dependabot[bot]andGitHub 7524aeba9b Bump nokogiri from 1.11.6 to 1.12.5 in /docs
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.6 to 1.12.5.
- [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.11.6...v1.12.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 05:56:39 +00:00
NovaRain debbda0b3b Added the ability to set custom names for unarmed attacks
Updated Translations.ini template.
Commented out empty exit() in some modules.
2021-09-27 10:37:28 +08:00
NovaRain 2fe3ccd01d Minor code edits to the previous commit 2021-09-26 07:28:19 +08:00
NovaRain 770fd7e63c Correction to the previous commit 2021-09-25 20:13:54 +08:00
NovaRain 827b96a7e0 [WIP] Added the display of actual damage for unarmed attacks in inven 2021-09-25 08:46:15 +08:00
NovaRain d661067f2c Corrected stat requirements of Jab in Unarmed.cpp
Code edits to EngineUtils.
2021-09-23 10:36:17 +08:00
NovaRain e5687247f8 Fixed setting basic punch and kick in Unarmed.ini
Minor edits to code and misc files.
2021-09-22 11:18:13 +08:00
NovaRain 249815efd9 Added Unarmed.ini example file 2021-09-21 22:59:31 +08:00
NovaRain b46d1ab47b Added a tweak to update unarmed attacks after leveling up
Changed the artifact package name.
2021-09-21 09:19:37 +08:00
NovaRain 4a32aaf80e Added a tweak to keep the selected attack mode for unarmed attacks
* was reset when the inventory is closed or the combat ends.
2021-09-20 11:16:43 +08:00
NovaRain 858a6c5343 Added new Unarmed module and UnarmedFile option
* example INI file not yet.

Replaced item_w_mp_cost_ function with the sfall implementation.

Disabled some code in various modules due to new implementations.
2021-09-19 23:14:08 +08:00
NovaRain c219ce183f Changed the encoding of polish.ini 2021-09-17 21:56:12 +08:00
burner1024andGitHub 1f6dbccb3d Added Polish translation (#409)
* added partial Polish translation from https://trzynasty-schron.net/forum/index.php?topic=8221.0

* complete Polish translation (from JaidenIsPink)
2021-09-17 21:34:18 +08:00
NovaRain deae07ffec Some code edits and preparation 2021-09-17 10:48:42 +08:00
NovaRain bb88830a5b Added a fix to display the color index 255 of the palette correctly
* in DX9 mode when using the hi-res patch

Some minor code corrections.
2021-09-12 13:59:58 +08:00
NovaRain f6c1e0f908 Code corrections 2021-09-07 06:37:57 +08:00
NovaRain 6c3dd72ea7 Added missing sounds for the buttons on the world map interface (#373)
Changed the game speed tweak to be active only during the game.
2021-09-06 10:54:47 +08:00
NovaRain c5e226a279 Fixed key repeat delay/rate for game speed tweak (#406)
Removed AffectPlayback option.
2021-09-06 07:52:41 +08:00
NovaRain 0a8a28b80c Moved some functions from AI.cpp to AIHelpers.cpp 2021-09-06 07:44:38 +08:00
NovaRain c047402dc9 Code edits to gl_npcarmor script
Added some line breaks in hookscripts.md.
2021-09-03 10:36:33 +08:00
NovaRain 569bde5fab Code changes to the previous commit
Changed HOOK_CANUSEWEAPON to run for both the player and NPCs.
Updated gl_npcarmor script.
2021-09-02 11:23:24 +08:00
NovaRain 428cf42c7d Added an additional '"Can't Use" flag to misc flags in item objects
* it makes the weapon object unusable in combat.

Edits to header files.
2021-08-31 12:35:47 +08:00
NovaRain dfd810c9e4 Fixed the Jet addiction was not removed when using the antidote (#405)
(BGforgeNet/Fallout2_Restoration_Project#118)
2021-08-29 10:20:01 +08:00
NovaRain d9b7a714ec Moved some patches/functions between Interface.cpp and MiscPatches.cpp
* And Graphics.cpp and InputFuncs/Input.cpp

Tweaked the buffer flush (actually print to file) rate in Console.cpp.
2021-08-27 21:00:15 +08:00
NovaRain 888269af92 Renamed the var inline functions 2021-08-27 20:45:53 +08:00
NovaRain a275fff434 Replaced *(TYPE*)FO_VAR with new inline functions 2021-08-26 10:03:47 +08:00
NovaRain 3f0216d49b Fixed broken ConsoleOutputPath due to the line break support 2021-08-25 11:33:58 +08:00
NovaRain ce64f5d352 Moved render.cpp/h files to GUI folder/namespace 2021-08-25 10:14:53 +08:00
NovaRain 110facfada Added support for the newline character '\n' in pro_*.msg files (#401) 2021-08-25 09:52:05 +08:00
NovaRain bb55b97d12 Some code edits and preparation 2021-08-24 14:12:32 +08:00
NovaRain 40538e26d3 Changed SingleCore to set CPU affinity to the second core if available 2021-08-23 16:07:29 +08:00
NovaRain 3bc49e05d5 Replaced HRP addresses with the define values 2021-08-23 10:24:27 +08:00
NovaRain a6417069ad Internal fix for HOOK_REMOVEINVENOBJ 2021-08-21 11:35:41 +08:00
NovaRain c6f17c5b7d Fixed ai_check_drugs for AIDrugUsePerfFix=1 2021-08-21 07:50:04 +08:00
NovaRain cf028bcdfe Added "util" namespace to EngineUtils.cpp 2021-08-20 21:34:14 +08:00
NovaRain 478a522463 Code fixes to ai_check_drugs_hack in combatAI.cpp 2021-08-20 07:15:11 +08:00
NovaRain a186014895 Added new EngineTweaks module and TweaksFile option 2021-08-19 23:09:03 +08:00
NovaRain 3129e27737 Fixed a crash when opening a file whose name contains the '%' char
Corrected the code in the previous commit.
2021-08-19 13:33:52 +08:00
NovaRain 94dd41f7ac Relocated some functions in the previous commit
Added an additional 'Healing Item' flag to ext flags for item protos.

* indicates the item is a healing drug when AI needs to heal itself.
2021-08-18 12:03:58 +08:00
NovaRain e55db2b4da Added a fixed implementation of ai_check_drugs_ function
* which has all fixes/hook built-in.

Disabled old fixes for vanilla ai_check_drugs_ in AI.cpp/BugFixes.cpp.
2021-08-17 12:22:57 +08:00
NovaRain 3a0e64e3ce Added FadeBackgroundMusic option 2021-08-13 20:10:08 +08:00
NovaRain 638499b106 Code edits to ExtraSaveSlots.cpp
* the page numbering is now 0-indexed, to better align with the macros.

Re-numbered save slot control metarules.
2021-08-13 10:54:57 +08:00
NovaRain 5ef12b60c5 Changed the implementation of AutoQuickSave
* now it sets the number of pages used for quick saving.

Added related macros for controlling the save slot with scripts.
2021-08-12 15:07:24 +08:00
NovaRain 34ae106fa5 Improved the page control for ExtraSaveSlots
Minor edits to ddraw.ini.
2021-08-11 14:09:39 +08:00
NovaRain a34aa64ced Added AutoSearchSFX option for automatic search of SFX files
Excluded ANIM_walk from the debug log about missing critter art files.
2021-08-08 22:40:49 +08:00
NovaRain a26b7931a6 Minor edits to the previous commit 2021-08-06 00:54:20 +08:00
NovaRain 865adb7ee8 Fixed the main menu music stopped when entering load game screen
Added the ability to continuously play the music when moving to another
map that uses the same music.

Updated version number.
2021-08-05 14:18:02 +08:00
NovaRain d9bcad0a11 Removed the extra AP check when AI reloads a weapon
(reloading is possible if there are not enough action points.)
2021-08-01 07:12:47 +08:00
NovaRainandGitHub b744dfeb1b Merge pull request #399 from phobos2077/dependabot/bundler/docs/addressable-2.8.0
Bump addressable from 2.6.0 to 2.8.0 in /docs
2021-08-01 06:45:14 +08:00
dependabot[bot]andGitHub 42f909fcb4 Bump addressable from 2.6.0 to 2.8.0 in /docs
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.6.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.6.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 18:08:13 +00:00
NovaRain 6a95cdf3ca Updated the documents in the previous commit 2021-07-07 09:26:41 +08:00
NovaRain da3cdd4698 Added markdown version of compiler documents 2021-07-05 10:01:48 +08:00
NovaRain 6402d616fa Merge branch 'master' into develop 2021-07-05 09:58:27 +08:00
NovaRain bd121c1dcd Attempted to fix the document website 2021-07-03 09:30:53 +08:00
NovaRain f9fa332b23 Added Brazilian Portuguese translation
(from Felipefpl)
2021-06-28 12:16:07 +08:00
NovaRain ec6d25da3d Release 4.3.0.2 2021-06-26 23:09:39 +08:00
NovaRain fc15a17d99 Updated french.ini (from HawK-EyE) 2021-06-26 23:08:32 +08:00
NovaRain 0a89ab4ceb Fixed the algorithm for sorting the quest list (#397) 2021-06-21 06:08:37 +08:00
NovaRain ecb113fd54 Fixed black screen after starting a new game w/o HRP (#395) 2021-06-20 08:37:42 +08:00
NovaRain e03d3f5963 Fixed item duplication bug in HOOK_INVENTORYMOVE (#396)
Code edits to Animations.cpp regarding locking anim slots.
Updated version number.
2021-06-20 02:05:29 +08:00
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
NovaRain 914c653d69 Merge branch 'develop' 2020-10-18 07:22:34 +08:00
NovaRain 6d412e97fc Minor edits to PartyControl.cpp 2020-10-18 07:16:39 +08:00
NovaRain 1141348efe Added the ability for controlled critters to use Sneak skill in combat 2020-10-15 10:36:11 +08:00
NovaRain 5c9d512d12 Fixed and improved the code in Graphics module 2020-10-15 09:30:04 +08:00
NovaRain d36031613d Added the ability to change the poison level for critters 2020-10-12 20:45:39 +08:00
NovaRain cf277efc85 Corrected code in Arrays.cpp 2020-10-12 11:01:25 +08:00
NovaRain 9a3b770182 Code optimization for array expression 2020-10-11 10:13:52 +08:00
NovaRain fa9aa6dc6f Moved some code from Graphics.cpp to the new submodule GameRender.cpp
Minor edits to MetaruleExtender.cpp and notes.txt.
2020-10-11 01:08:59 +08:00
NovaRain 3d99f6ea66 Code correction in Functions.cpp
Updated global shader example files.
2020-10-09 08:52:14 +08:00
NovaRain a02d90a52e Updated define_extra.h 2020-10-08 15:38:24 +08:00
NovaRain ce5e9cd990 Updated example mod scripts 2020-10-08 15:33:37 +08:00
NovaRain c71ca95665 Added "combat_data" script function
Added a new argument to HOOK_COMBATDAMAGE.
Removed the check for valid objects from get/set_object_data functions.
Some code fixes.
2020-10-08 13:49:58 +08:00
NovaRain 2f750a8a4b Fixed broken Print() script function
Fixed the background image of the character portrait on inv/char screens.
Renamed "print_text" to "interface_print".
2020-10-06 11:46:13 +08:00
NovaRain ac28d7293b Added "print_text" script function 2020-10-05 14:38:53 +08:00
NovaRain 51dfee26d3 Removed InterfaceDontMoveOnTop from ddraw.ini (always enabled)
Added a fix to prevent toggling the cursor for a Transparent window.
2020-10-05 10:23:17 +08:00
NovaRain cbe6be6c46 Added support for transparent interface windows (#25) 2020-10-03 11:45:25 +08:00
NovaRain 349d217257 Fixed FrmFile struct in the previous commit 2020-09-29 09:02:56 +08:00
NovaRain 4e9d4f2f37 Some code refactoring
Added a value of 2 to TextureFilter option.
2020-09-28 12:04:08 +08:00
NovaRain 5eac185bfe Minor edits to the document in previous commit 2020-09-26 22:14:18 +08:00
NovaRain e696db4b7b Added "interface_art_draw" script function
Added an argument to "intface_redraw" function to redraw all interfaces.
2020-09-26 16:15:32 +08:00
NovaRain 88d9126b18 Changed the behavior of saving/restoring hook arguments
(no need to specify the number of args when executing a nested hook)
Reverted the change of argCount in some hooks.
Disabled an obsolete fix for MultiHexPathingFix.
2020-09-25 00:07:56 +08:00
NovaRain a1d18983e4 Added the ability to get Automap window pointer
Reorganized some code to prepare for later commits.
2020-09-24 15:14:25 +08:00
NovaRain 8179583160 Correction to the hooks code
Minor edits to some code.
2020-09-23 22:37:11 +08:00
NovaRain 876616fc7d Added a new argument to HOOK_TOHIT (#339)
Added hook type 3 to HOOK_WITHINPERCEPTION (when AI selects a target)

Extended the upper limit of set_pickpocket_max and set_hit_chance_max
script functions to 999.

Added a fix for combat_is_shot_blocked_ not taking the flags of critters
in the line of fire into account.

Minor edits to ASM code of some hooks.
2020-09-22 15:43:26 +08:00
NovaRain 008692bec7 Fixed the MMX buf_to_buf_ for warning C4799
Minor edits to ASM code of some hooks.
2020-09-21 21:30:08 +08:00
NovaRain 0dd8ea5335 Added loading multiple shader files for GlobalShaderFile option
Added a sharpen filter file as a global shader example.
Set TextureFilter to be enabled by default.
2020-09-21 12:54:42 +08:00
NovaRain bf9deabded Added TextureFilter option (restored from sfall 2.x) 2020-09-20 09:58:55 +08:00
NovaRain 11bcbe2013 Moved some engine function defines from Functions.cpp to Functions_def.h
Implemented a new "buf_to_buf" function (experimental)
* need to check the backward compatibility.
2020-09-19 10:02:16 +08:00
NovaRain 806e09e501 Corrected talking heads code of Use32BitHeadGraphics
Minor code correction.
2020-09-19 00:37:16 +08:00
NovaRain 2eb1c64bc3 Removed KeepWeaponSelectMode from ddraw.ini (always enabled)
Minor edits to code and documents.
2020-09-16 10:53:39 +08:00
NovaRain a9cde5757f Fixed temporary arrays being cleared when flushing the keyboard buffer (#337)
Added a message about failed initialization of the game and exit if an error occurs.
2020-09-15 11:33:57 +08:00
NovaRain f16ba16d21 Graphics: improved the performance of DX9 mode 2020-09-15 10:21:35 +08:00
NovaRain 0ce02e2a12 Graphics & Movies refactoring (WIP/unfinished) 2020-09-13 22:10:44 +08:00
NovaRain 96447ca1d3 Updated Ammo INI Loader example script mod
* now the INI will be read only once on script initialization, not
always being re-read on each map load.
2020-09-10 14:43:46 +08:00
NovaRain a7355ad937 Added the original Fallout 1 behavior to FastShotFix (#335) 2020-09-06 08:30:20 +08:00
NovaRain 2badb5fdd2 Added a fix to the weapon check in the Fast Shot trait (#335)
* changed range check to type+range check, the same fix is also applied
to FastShotTraitFix.

Added more info to the description of FastShotFix option.
2020-09-05 10:39:22 +08:00
NovaRain 282a491718 Fixed typo in sfall.h (#334) 2020-09-03 21:05:18 +08:00
NovaRain 43fcaf41e1 Fixed EncounterTableSize option (#333)
* the encounter messages were still limited to 50 entries per table when
the value for encounters is set to greater than 50.

Fixed building the path to multihex objects.
2020-09-03 14:20:23 +08:00
NovaRain 3df322b80e Tweaked the field of view check in ObjCanSeeObj_ShootThru_Fix
And fixed a bug when the target critter has the ShootTrhu flag set
(cannot be seen by the source)

Minor edits to some comments in previous commit.
2020-09-02 14:21:38 +08:00
NovaRain 0945382369 Added support for ACM audio file playback to soundplay script function
(with volume control, #331)

Added a volume control to reduce the volume for play_sfall_sound.
Added descriptions and constant defines to documents.
Some code optimization.
Updated version number.
2020-09-01 16:10:45 +08:00
NovaRain 69ccc1cfab Merge branch 'develop' 2020-08-22 13:15:50 +08:00
NovaRain ac4e4c7868 Minor edits to Interface.cpp and ddraw.ini 2020-08-22 10:48:46 +08:00
NovaRain d46bb42efd Reorganized hooks related code 2020-08-21 12:55:18 +08:00
NovaRain aa132d9951 Moved DeathScreenFontPatch code to Interface.cpp
Added a note about DeathScreenFontPatch in ddraw.ini.

Some code edits in BugFixes.cpp and DamageMod.cpp.
2020-08-21 12:36:41 +08:00
NovaRain dfb7779e87 Reorganized the code related to the core functions of hooks
Added DeathScreenFontPatch option to use the normal font for death
screen subtitles (was using bitmap font).

Attempted to fix the melee damage display for some extreme cases when
BonusHtHDamageFix=1 and DisplayBonusDamage=0.
2020-08-20 13:32:40 +08:00
NovaRain 19df2f9eec Updated global.fx and withinperception example script
Fixed some code.
2020-08-19 15:19:11 +08:00
NovaRain e6d30d7def Added a fix to limit the maximum distance for knockback animation
* 20 hexes at max. This does not affect the knockback value in
Combat Damage hook, only the animation part.
2020-08-18 13:07:25 +08:00
NovaRain c657a9ef86 Added a fix to prevent the player from leaving the map during death anim
* when the death animation causes the player to cross an exit grid.

Fixed the height of the black background for the subtitles on death
screens when using the hi-res patch.

Added MakeJumps method to SafeWrite.cpp and devlog_f to Logging.cpp.
2020-08-17 15:07:41 +08:00
NovaRain cbccc7de4e Fixed the use of #pragma pack() directives for structures
Corrected HookFile struct in the previous commit.
2020-08-16 11:09:31 +08:00
NovaRain 8fa54d8255 Changed hs_* hook script to be searched only once on game start
* in the same fashion as global scripts, affected by AlwaysFindScripts.
2020-08-15 22:19:45 +08:00
NovaRain 46a5616b34 Fixed and improved the behavior of nested timer events in global scripts
Added a fix to prevent the execution of critter_p_proc and game events
when playing movies.

Added a debug message about a corrupted proto file.

Some minor code/document edits.
2020-08-14 21:23:08 +08:00
NovaRain ff4757d529 Fixed the playback of additional movies defined in the MovieXX options (#330)
Added the keyboard buffer cleanup function to metarule3.
2020-08-13 15:20:30 +08:00
NovaRain b0a35eec49 Added the city name in the description of a save slot by default
Corrected some code.
2020-08-13 14:38:09 +08:00
NovaRain d553e9cbdd Added a fix to remove floating text after moving to another elevation
* also update black edges of the map (HRP bug, #282)
2020-08-09 12:17:32 +08:00
NovaRain d2b1cdec46 Changed the behavior of ObjCanSeeObj_ShootThru_Fix
* now the critter can only see through objects in front of it.
2020-08-08 11:50:12 +08:00
NovaRain 37b4a18770 Added a patch to allow setting custom colors for object outlines
Added a tweak to ObjCanSeeObj_ShootThru_Fix to allow critters to see
through other critters.

Corrected some code.
2020-08-05 16:10:28 +08:00
NovaRain fd1067373a Changed the behavior for replacing art aliases for critters
Added ANIM_charred_body/ANIM_charred_body_sf animations to art aliases
(#323)

Minor code edit to OverrideMusicDir (nop the rest to avoid leaving
garbage bytes)
2020-08-03 14:28:01 +08:00
NovaRain 82b75f4ea2 Corrected combat_attack_gcsd code in the previous commit
Added DAM_PRESERVE_FLAGS to attack_complex for keeping result flags.
Fixed OverrideMusicDir=2 not working (#295)
2020-08-02 19:43:51 +08:00
NovaRain 435180d157 Rewrote several fixes for attack_complex in C++ and merged them
Added a default fix for attack_complex to untie target_results from
attacker_results.
2020-08-01 10:22:30 +08:00
NovaRain 694d97e123 Added more fixes for the arguments of attack_complex function:
* fixed result flags for the attacker and the target when calling
attack_complex function (#323)

* tweaked how attacker_results/target_results work when
AttackComplexFix is enabled.

Minor code edits.
2020-07-31 20:35:58 +08:00
NovaRain a27f020edc Added support for delayed speech playback to AllowDShowSound
(for synchronizing with subtitles when playing endgame slideshow)
2020-07-30 10:29:06 +08:00
NovaRain da5484668c Added a new value 2 to AllowDShowMovies
* for forcing avi videos to fit the screen width.

Disabled warning C4995 (e.g. wcscpy in Movies.cpp)
2020-07-29 14:16:45 +08:00
NovaRain 600360638e Added volume control support for avi movies
Fixed implementation bugs when playing avi movies.
Added a couple of engine variable defines.
2020-07-28 15:21:47 +08:00
NovaRain 19be167c19 Further implementation of speech playback for alternative sound files 2020-07-26 08:46:16 +08:00
NovaRain deaaf6a137 Added a function extension for vanilla metarule3 function
Added SET_HORRIGAN_ENCOUNTER function to metarule3.
Updated German translation.
2020-07-24 21:20:48 +08:00
NovaRain 29da941582 WIP: Fixed sfx/speech playback for alternative sound files 2020-07-22 12:24:20 +08:00
NovaRain b178e15b31 Implemented CodeType enums in some SafeWrite8
Replaced some SafeWriteX with SafeWriteBatch.
Minor edits to documents.
2020-07-21 12:28:15 +08:00
NovaRain 2491cb22af Removed some redundant code 2020-07-19 08:38:48 +08:00
NovaRain 85afa1e4d8 Fixed the default values for the MovieXX options
Added some comments to elevators.ini & other codes.
Updated version number.
2020-07-18 22:13:54 +08:00
NovaRain 64da4dce6c Uploaded language translation files to repo
Updated German (#326) and Russian translations.
2020-07-08 09:55:30 +08:00
NovaRain e10b7ca718 Merge branch 'develop' 2020-07-03 21:37:11 +08:00
NovaRain 586d41cce8 Minor edit to ddraw.ini 2020-07-03 21:36:51 +08:00
NovaRain 30d249f02e Fixed NPC stuck in an animation loop in combat (#321)
* this happens when trying to move close to a multihex critter.
2020-07-01 09:47:02 +08:00
NovaRain 467d895ba6 Removed AutoSearchPath from ddraw.ini
* the folder path for auto-loading custom files is now constant.
2020-06-30 22:02:21 +08:00
NovaRain bfaed2eb68 Fixed ASM error in the previous commit 2020-06-30 15:49:32 +08:00
NovaRain a43a28fe8b Fixed broken PlayIdleAnimOnReload option (#320)
(in commit af049ea)

Improved the fix for incorrect positioning after exiting small/medium
locations.
2020-06-30 12:26:56 +08:00
NovaRain 5dd8c441b9 Fixed the code for "display_stats" script function
Minor edit to Perks.cpp.
2020-06-29 23:02:45 +08:00
NovaRain 440cfbd72c Added a fix to prevent showing an empty perk selection window 2020-06-29 12:47:57 +08:00
NovaRain 1db8988368 Added "get_stat_max/min" script functions (#307)
Added updating player's stats on the char screen to "display_stats"
script function (#314)
2020-06-29 11:53:12 +08:00
NovaRain 6ecc1fcd1f Corrected the code for multihex retargeting tile
Small optimization to sfall function code.
2020-06-28 23:11:51 +08:00
NovaRain 6c8bbea764 Re-fix for the previous commit 2020-06-28 09:51:29 +08:00
NovaRain d947150dc1 Corrected the fix from the previous commit 2020-06-27 10:12:34 +08:00
NovaRain f5ecaa8bd2 Fixed the hang/freeze in combat (from commit d888161)
Added a fix for retargeting tile for multihex critters.
2020-06-27 09:46:43 +08:00
NovaRain e389bb0dc5 Fixed bugs in the hero appearance mod:
* gender was not reset properly when creating a new character (#309)
* the player was missing some fire/electrical death animations (#310)
2020-06-14 09:25:57 +08:00
NovaRain 94296b40d8 Moved static addresses into respective funcs in Stats.cpp 2020-06-13 00:24:13 +08:00
NovaRain fab5aa2f2f Fixed Auto Doors example script mod
Cosmetic changes to the text descriptions in Perks.ini.
2020-06-13 00:14:44 +08:00
NovaRain 703073e255 Increased the max width of the player name on the char screen (#305)
Updated version number.
2020-06-04 06:38:48 +08:00
NovaRain d888161128 Some bug fixes regarding multihex critters in shoot blocking 2020-05-24 11:30:32 +08:00
NovaRain ea921aabbd Merge branch 'develop' 2020-05-21 09:42:23 +08:00
NovaRain b263b69fa3 Renamed all script opcode handlers with op_ prefix
Renamed all metarule functions with mf_ prefix.
2020-05-20 11:30:25 +08:00
NovaRain 6bb56b0f95 Minor code fixes in AI.cpp:
* Fixed NPCs being unable to select a burst attack mode if the line of
fire was blocked.

* Changed the return point of combat_ai_hook_FleeFix to run
ai_check_drugs_ first.

Changed the debug message about missing art file for critters to be
displayed in game only when in sfall debugging mode.
2020-05-19 09:48:46 +08:00
NovaRain 9a4f0c7505 Merge branch 'develop' 2020-05-11 09:35:28 +08:00
NovaRain c89a18522d Fixed ai_move_away_ engine function
Some minor fixes.
2020-05-10 09:56:11 +08:00
NovaRain c7ccb7f2c2 Edited the msg for SkipLoadingGameSettings a bit
Added a few more defines.
2020-05-08 10:44:37 +08:00
NovaRain b25ca683f3 Cosmetic changes to the code:
Use double underscore for stdcall and "asm" keyword.
2020-05-07 12:27:53 +08:00
NovaRain e28b3a5796 Minor code edits to Combat.cpp
Added some function defines.
2020-05-07 12:13:28 +08:00
NovaRain a9c74501df Added checking AP cost to ai_pick_hit_mode_ engine function 2020-05-07 09:47:57 +08:00
NovaRain b03b93d6fc Added a tweak for finding new targets for PMs
* before they would "forget" their current target when trying to find
new ones (only 3), now the current target is included as one of
potential targets.

Tweaked the code of MultiHexPathingFix.
2020-05-05 12:13:11 +08:00
NovaRain 1f696b9f12 Added internal implementation of engine functions with hooks:
* item_w_mp_cost_ with CALCAPCOST
* is_within_perception_ with WITHINPERCEPTION
2020-05-01 10:27:05 +08:00
NovaRain 3d2d1cdf2a Added combat rating check to "Snipe" distance preference fix 2020-05-01 08:00:49 +08:00
NovaRain 42347ac062 Added a fix to reduce friendly fire in burst attacks (experimental) 2020-04-30 16:01:57 +08:00
NovaRain 007b415740 Changed the priority of files in AutoSearchPath
* now they have higher priority than the PatchFileXX options.

Minor code edits/fixes.
2020-04-30 10:13:44 +08:00
NovaRain 35d2491bcb Added a fix for AI behavior for "Snipe" distance preference
Added a check for for the weapon range and the distance to the target
when AI is choosing weapon attack modes.
2020-04-28 10:55:56 +08:00
NovaRain ece76ee726 Changed the fix for AI target selection in commit f731de7
* NPCs will reload the weapon in the same turn (and attack if have
enough AP left) if weapon is empty while selecting targets.

Misc code edits.
2020-04-27 14:25:40 +08:00
NovaRain d6f4a23527 Fixed AllowDShowSound=2 not working
Limited NumSoundBuffers to the max of 32.
Fixed replacing Body_Torso with Body_Uncalled (from commit 7e31713)
Corrected the code in the previous commit.
2020-04-23 12:33:00 +08:00
NovaRain 045ad2f5d7 Added a tweak to the miss message in combat
* if the main target has Flat flag set, remove the message about hitting
another object.

Minor code edits to DebugEditor.cpp & MiscPatches.cpp.
2020-04-22 11:32:03 +08:00
NovaRain 13703f1a3b Improved the fix for placing PID_CORPSE_BLOOD obj on the lower layer
(didn't work correctly after re-entering the map.)

Fixed CorpseDeleteTime not setting the timer correctly.
2020-04-21 10:54:35 +08:00
NovaRain 58bb77d79f Fixed GvarID option behavior in Drugs.ini
Reverted incorrect code change of SpeedPatch.cpp in previous commit.
Some code edits to Explosions.cpp and Perks.cpp.
2020-04-19 09:58:47 +08:00
NovaRain 229371e4ab Added use_item_on_dude macro to sfall.h
Various code edits:
* Implemented more HookCalls/MakeCalls/SafeWriteBatch in code.
* Moved return/jump address consts into their respective functions.
* Changed for-loop with iterators to use pre-increment.
2020-04-18 21:19:22 +08:00
NovaRain 1884e279c7 Fixed ReloadWeaponKey for using any non-weapon item (#84) 2020-04-18 10:44:17 +08:00
NovaRain e81d79e43e Fixed "loot_obj" script function 2020-04-18 08:57:02 +08:00
NovaRain f731de7a25 Fixed AI target selection for no ammo or target out of range cases 2020-04-18 08:33:08 +08:00
NovaRain 0d6bc33279 Re-fixed automatically ending combat
Updated version number.
2020-04-18 07:28:00 +08:00
NovaRain 3377516f67 Merge branch 'develop' 2020-04-05 22:14:57 +08:00
NovaRain 359c79a854 Fixed NPCs not fully reloading a weapon sometimes
* NPCs use only one box per reload. If the weapon has more ammo
capacity than a box of ammo (e.g. miniguns and BB gun), it'll take
several tries for them to fully reload it.
2020-04-05 08:19:31 +08:00
NovaRain 41652ec459 Moved static addresses into respective funcs in BugFixes & MiscPatches 2020-04-03 23:14:23 +08:00
NovaRain ca4e506f1d Some code correction in BugFixes
Minor edits to documents.
2020-04-03 12:16:09 +08:00
NovaRain 6e05ca65fd Some code/document edits 2020-04-02 11:32:22 +08:00
NovaRain 873d9f81c2 Edited the description of RadEffectsRemovalMsg option 2020-04-01 22:09:46 +08:00
NovaRain 0978769dfc Fixed loading savegame for "NPC turns into a container" bug fix
Added RadEffectsRemovalMsg option for radiation fixes.

Some code/document correction.
2020-03-31 21:51:41 +08:00
NovaRain 29608bb51c Added ActiveGeigerMsgs option and radiation fixes
Changed "Radiated" to be highlighted in red color when the player is
under the influence of negative effects of radiation.
2020-03-30 21:06:11 +08:00
NovaRain ba911375a9 Fixed a crash when using older versions of HRP
Fixed potential crash/bug when alt-tab out of game and get back.
Edited OnDeath hook code to minimize its hook points to the engine.
Minor edits to ddraw.ini.
2020-03-26 14:06:46 +08:00
NovaRain ce5c65d37f Fixed stuttering when playing avi movies
Fixed a crash when playing mve movies without the hi-res patch.

Minor edits to ddraw.ini and function notes.txt.
2020-03-24 10:53:00 +08:00
NovaRain ffd397d9aa Added performance patches, some code moved to MiscPathes module
Minor edits to ddraw.ini.
2020-03-22 09:00:25 +08:00
NovaRain 349cffac0c Added a new "fullscreen windowed" DX9 mode
Added saving the position of the game window to ddraw.ini
2020-03-20 12:24:48 +08:00
NovaRain dfdcd86134 Refactored ASM code of script opcode handlers
Included call_offset_xx functions for AllowUnsafeScripting=2 (#288)
2020-03-19 12:55:01 +08:00
NovaRain accdeae6ad Added a new value to AllowUnsafeScripting
* for disabling the memory address check in unsafe functions (#288)
2020-03-17 13:26:02 +08:00
NovaRain 288a8fedfd Improved and fixed the playback of alternative sound files
Added a new mode to play_sfall_sound script function.

Minor code corrections.
2020-03-17 13:06:34 +08:00
NovaRain eb777e6d19 Fixed the return value of play_sfall_sound function
* before it returned a raw pointer instead of the ID number of the
played sound.
2020-03-12 11:53:45 +08:00
NovaRain dd2469b78f Moved allowDShowSound code from Movies to Sound module 2020-03-12 10:03:43 +08:00
NovaRain 8d375dd81a Refactored ASM code of script handlers in Misc.cpp
Minor code edits.
2020-03-07 14:21:12 +08:00
NovaRain 7f087d1c30 Minor code edits to AI module 2020-02-29 18:58:38 +08:00
NovaRain e7e5da866a Added a new value to the 'mark_state' arg of mark_area_known function
* 3 - uncovers locations without highlighting their sub-tiles.
(Fallout 1 behavior)
2020-02-29 08:36:30 +08:00
NovaRain ac0b0ef7ef Fixed Fill_W not uncovering all tiles to the left (#287) 2020-02-28 07:41:49 +08:00
NovaRain c2626de4fa Fixed a crash or animation glitch of the critter in combat (beta fix)
* when an explosion from explosives and the AI attack animation are
performed simultaneously.
2020-02-25 11:38:03 +08:00
NovaRain e4d395224a Minor code fix for Graphics.cpp
Added notes/correction to hookscripts.txt.
2020-02-22 15:49:13 +08:00
NovaRain 4487bbfeba Fixed the player's money not being displayed after barter (#286)
Restored TownMapHotkeysFix option.

Updated version number.
2020-02-22 15:31:17 +08:00
NovaRain e5eb5cc275 Minor code improvement in Graphics.cpp 2020-02-09 09:23:50 +08:00
NovaRain 76b0528e7f Merge branch 'develop' 2020-02-08 20:08:34 +08:00
NovaRain 87c4dd34f1 Updated stdafx.h and other code/doc files 2020-02-08 08:41:04 +08:00
NovaRain 7848e1612b Reverted part of changes in the previous commit 2020-02-07 19:16:37 +08:00
NovaRain 537bea45c0 Edited some wording in ddraw.ini and Enums.h 2020-02-07 10:03:16 +08:00
NovaRain a3f22b67d8 Fixed trying to loot corpses with the "NoSteal" flag (#280) 2020-02-06 10:45:40 +08:00
NovaRain c079d69291 Added the description for 'div' operator to notes.txt 2020-02-05 23:19:36 +08:00
NovaRain fc78983f77 Replaced all MAXINT with INT_MAX in QuestList.cpp (#279)
Added WINVER and _WIN32_WINNT defines to stdafx.h.
2020-02-05 16:15:40 +08:00
NovaRain 9122fcaf0c Fixed playing game movies with width less than 640px in DX9 mode
Fixed palette updating.
2020-02-05 09:46:24 +08:00
NovaRain aeb7ab4e32 Some code edits to ExtraSaveSlots.cpp 2020-02-04 10:58:14 +08:00
NovaRain 1f1c39a4bd Simplified the code in HeroAppearance.cpp 2020-02-03 11:21:43 +08:00
NovaRain 53b407b8a5 Added DivisionOperatorFix option for signed integer division (#278)
* it changes the behavior of vanilla division operator to use signed
integer division. Before it used signed division for floats but
unsigned for integers.

Added a new "div" operator for unsigned integer division.
Moved mathematical script functions from Utils.cpp to new Math.cpp.
Added include guard to sfall.h and main.h in modders pack.
2020-02-02 21:02:06 +08:00
NovaRain eb204f0a04 Fixed the barter button on the dialog window (from rotators repo)
* when first entering the dialog, it didn't animate on click.
2020-02-02 15:41:09 +08:00
NovaRain b5b2ef3b97 Reverted part of changes in previous commit 2020-02-02 13:49:32 +08:00
NovaRain c61fe596b1 Fixed palette in DX9 mode 2020-02-01 14:07:38 +08:00
NovaRain 1ac911a7c9 Fixed the timer event execution in global scripts 2020-01-31 01:14:00 +08:00
NovaRain 19f4901328 Small optimization for receiving/passing script arguments
* combined related engine interpreter functions into a single function
for aligning the compiled ASM code better.

Minor changes to some other code and documents.
2020-01-31 00:24:58 +08:00
NovaRain 90b547a472 Rewrote and rename "dialog_box" to "message_box"
Added support for '\n' control character to create_message_window.

Fix the playback of the speech sound file for the death screen.
2020-01-28 13:01:32 +08:00
NovaRain d812059030 Added "dialog_box" script function
Added a new attrType value to "get_window_attribute" function.
2020-01-27 20:41:21 +08:00
NovaRain fd11a5736e Fixed the timing of setting some game mode flags
* now WORLDMAP, PIPBOY, INVENTORY, INTFACEUSE, and INTFACELOOT are
toggled after creating/before deleting their corresponding interface
windows, same goes for triggering GameModeChange hook. (#276)

Fixed the array out of bounds bug in Skills.cpp.
2020-01-27 10:38:47 +08:00
NovaRain 863a232703 Added "set_town_title" script function
* for displaying custom title in floating text over a town.

Corrected some code.
2020-01-25 15:47:57 +08:00
NovaRain 869b3cf4bd Added some engine variables as fo::var constants
Removed redundant PlayAcm() from HeroAppearance.cpp.
2020-01-24 09:54:02 +08:00
NovaRain 27233d19a2 Removed TownMapHotkeysFix from ddraw.ini (always enabled)
Also move its code from Worldmap.cpp to BugFixes.cpp.
2020-01-23 23:13:50 +08:00
NovaRain b69640f09a Removed DisplaySecondWeaponRange from ddraw.ini (always enabled)
Minor edits to some code and documents.
2020-01-23 20:31:58 +08:00
NovaRain d387e009ee Added "get_window_attribute" script function (#276) 2020-01-22 21:13:22 +08:00
NovaRain 56f2ea46c2 Added a flashing icon to the Horrigan encounter
Minor edits to some code and documents.
2020-01-22 10:20:32 +08:00
NovaRain f57564c9ed Expanded the functionality of Fallout1Behavior
* calling endgame_movie now plays Movie11 or Movie12 depending on
the player's gender before the credits.

Added new flags to force_encounter_with_flags function.
2020-01-21 10:14:03 +08:00
NovaRain dc4c4c2524 Added a blinking icon to force_encounter/with_flags functions
* currently an icon is always shown for scripted force encounters.
2020-01-20 11:50:00 +08:00
NovaRain 957ed92498 Added a new hook: HOOK_ENCOUNTER
Added procedure and macros for unsigned integer comparison to lib.math.h.
2020-01-19 12:18:14 +08:00
NovaRain bf4c47d1c0 Added "set_terrain_name" script function
Fixed minor bugs in WorldMapTerrainInfo, TravelMarkerStyles features.

Minor edits to Console.cpp, Logging.cpp.
2020-01-18 17:28:05 +08:00
NovaRain 160a5b6053 Simplified the code of travel markers and string_to_case function
Added new addrs to CheckAddress.cpp.

Minor edits to some code and documents.
2020-01-17 21:53:41 +08:00
NovaRain 201fa1da0c Improved the avi playback function 2020-01-17 21:42:01 +08:00
NovaRain d1868d2eaf Combined tolower/toupper in previous commit to "string_to_case" 2020-01-16 20:33:36 +08:00
NovaRain dd7613c910 Added "tolower", "toupper" script functions
Renamed TravelMarkerDots to TravelMarkerStyles.
2020-01-16 09:34:53 +08:00
NovaRain 14e2ee2064 Fixed crashes in previous commit
* entering worldmap after teleport between maps.
* when clicking on worldmap when camera is away from player indicator.
2020-01-13 10:15:39 +08:00
NovaRain 39a89d50a1 Implemented TravelMarkerDots to replace TravelMarkerLength/Spaces
(from Rotators repo)
2020-01-12 20:22:38 +08:00
NovaRain 9dea6911a6 Moved the Combat Block patch from AI.cpp to new CombatBlocked.cpp
Added filter folders for the project files.

Updated credits.

Correction on ddraw.ini.
2020-01-10 10:42:06 +08:00
NovaRain fece180f0b Fixed duplicate critters being added to the target list for AI
Edited hookscripts.txt to mention the fix.

Tweaked the default settings for world map travel markers.

Some code correction.
2020-01-09 11:38:44 +08:00
NovaRain af049eaa38 Added WorldMapTerrainInfo option for toggling the display
Minor code refactoring in MiscPatches/PlayerModel modules.

Updated compiler document.
2020-01-08 16:50:49 +08:00
NovaRain e0305983de Added sslc documents to repo
Updated credits.

Minor edit to ddraw.ini.
2020-01-06 14:12:29 +08:00
NovaRain 323738f584 Rewrote DialogGenderWords option to allow more than one word (#274)
Re-fixed setting DIALOG game mode flag.
2020-01-06 00:20:22 +08:00
NovaRain 310a0df8f6 Fixed the timing of setting DIALOG game mode flag
(also fixed the issue of DialogGenderWords mentioned in previous commit)

Fixed AI disposition values in define_extra.h.
Minor code edits to world map travel markers.
2020-01-05 09:55:28 +08:00
NovaRain db4652c105 Added DialogGenderWords option to specify gender words for dialog msg
* they will be displayed depending on the player's gender.

* currently does not work for messages constructed with message_str.
2020-01-04 22:59:11 +08:00
NovaRain 5d9d11b4f5 Changed terrain type to not be displayed when in a location circle
Minor code correction.
2020-01-04 10:23:38 +08:00
NovaRain 756356dbf2 Added displaying terrain types on the world map
(from Rotators repo)
2020-01-03 10:12:03 +08:00
NovaRain fad2928fbf Added customization options to WorldTravelMarkers 2020-01-02 11:09:47 +08:00
NovaRain 85e70fe056 Implemented drawing red dots while traveling on the world map
(from rotators/Fo1in2#3 by ghost22238)
2020-01-02 00:38:01 +08:00
NovaRain 1af1eb2c70 Reverted the change on x offset in previous commit 2019-12-29 08:41:02 +08:00
NovaRain 3a4a9d7240 Increased the width of the total weight display in the inventory
(moved from the CritterInvSizeLimitMode option)

Updated version number and year.

Minor format edits to some code and README.md.
2019-12-29 01:55:59 +08:00
NovaRain cd674fede2 Removed redundant copies of version.h 2019-12-25 21:24:04 +08:00
NovaRain 5200be19c9 Merge branch 'develop' 2019-12-25 09:29:35 +08:00
NovaRain b984568b32 Added StrNormalizePath() to Utils.cpp. 2019-12-25 09:15:35 +08:00
NovaRain 71803ff06c Added a comment to Handlers\Utils.cpp 2019-12-24 20:50:52 +08:00
NovaRain 7cef7e8e54 Some edits to hookscripts.txt & function notes.txt 2019-12-24 00:55:31 +08:00
NovaRain 7990d230f2 Fixed the return value/object for HOOK_TARGETOBJECT 2019-12-23 23:41:11 +08:00
NovaRain cb9f759d71 Replaced _stricmp in previous commit with strcmp.
Minor edits to some code.
2019-12-16 15:31:50 +08:00
NovaRain 7ed8dd286c Fixed the path to load global shaders in the previous commit
* when DataLoadOrderPatch is disabled, the path was set to
"sfall.dat\shaders\".
2019-12-15 09:56:47 +08:00
NovaRain 9f3299b47a Restored loading global shaders at game start from pre-3.0
Added GlobalShaderFile option to ddraw.ini.
Added an example global shader file to modderspack.
2019-12-14 10:49:08 +08:00
NovaRain a68498453c Edited the description of hook/functions in the previous commit
Rewrote ASM code for tile_under_cursor script function.
2019-12-14 00:43:09 +08:00
NovaRain 0bf9a322c1 Corrected code and renamed hook/functions from the previous commit 2019-12-13 10:49:24 +08:00
NovaRain a325dd18ea WIP - Added a new hook: HOOK_TARGETOBJ
Added "get_tile" and "get_objects_at_radius" script functions.

* their names are not final and documents are missing.
2019-12-11 15:52:03 +08:00
NovaRain 439de4aecc Re-fixed the return value of get_script function 2019-12-09 10:18:29 +08:00
NovaRain 702e62e610 Rewrote remove_script/set_script functions in C++
Fixed the return value of get_script function.
2019-12-08 23:16:56 +08:00
NovaRain ddf0ec7085 Added missing code for commit b149aaa
Some edits to script related namesapce in Enums.h.
2019-12-08 07:30:14 +08:00
NovaRain b539cab67d Change container from Map to Array for sfall opcodes 2019-12-07 09:54:40 +08:00
NovaRain b149aaa00c Changed the behavior of IniConfigFolder option 2019-12-07 09:41:06 +08:00
NovaRain a5bcfa8a6b Re-fixed the previous commit 2019-12-05 09:38:37 +08:00
NovaRain 80cf1a9ca7 Fix for printing game messages to debug log 2019-12-04 13:04:57 +08:00
NovaRain 4cffc455e2 Code refactoring for opcodes/functions 2019-12-04 10:39:35 +08:00
NovaRain 1bb04a6d45 Improved handling of incorrect formatting for "string_format" script function
Rewrote ASM code of opcode handlers in Memory.cpp.
2019-12-03 10:48:30 +08:00
NovaRain 2a2849537c Added "string_format" script function
Some code refactoring.
2019-12-01 12:09:58 +08:00
NovaRain 84076a2586 Refactored the code for "substr" script function
* fixed the crashing bug and added a new behavior.

Changed the error message due to missing critter frame (again):
* replaced the interruption with printing the error message to in-game
message window.
2019-11-29 11:52:35 +08:00
NovaRain 11fee91f2f Changed the error msg due to missing critter frame
* now the game only "crashes" when both Enable and DebugMode are
enabled in [Debugging] in ddraw.ini.
2019-11-28 14:17:22 +08:00
NovaRain 6d12481754 Refactored script function handlers 2019-11-28 14:05:36 +08:00
NovaRain 04d4a8dc5b Minor code refactoring for opcodes/metarules
Added separate settable value of return error for invalid arguments of
script functions.
2019-11-27 12:31:45 +08:00
NovaRain d1851cbde1 Added set/unset Special game mode flag when a party member joins/leaves in dialog
Re-fixed commit 227a062 (correct variant)
2019-11-26 07:43:58 +08:00
NovaRain accf564e6e Re-fixed GAMEMODECHANGE hook being triggered unexpectedly in dialog
(undo fix in commit 5053ab5)

Restored calling original engine functions from HRP hacks.
2019-11-25 07:28:08 +08:00
NovaRain 977e6a5ad7 Added "get_text_width" and "string_compare" script functions
Fixed the return value of charcode script function for characters in
the extended ASCII character set.

Rewrote set_dm/df_model, set_movie_path functions in C++.
2019-11-23 20:18:06 +08:00
NovaRain 0c42f6447d Restored and fixed RemoveWindowRounding option
Reorganized ddraw.ini a bit.
2019-11-21 00:58:10 +08:00
NovaRain 5053ab564d Added a new argument to HOOK_GAMEMODECHANGE
* now the previous game mode can be checked with arg2 (#211)

Fixed GAMEMODECHANGE hook being triggered even when the game mode is not
changed.

Added 'SPECIAL' flag to the game mode functions (when switching from
DIALOG mode to BARTER).
2019-11-20 10:41:21 +08:00
NovaRain f0f134d077 Fixed a crash bug in CorpseLineOfFireFix (from commit 521b6c7) 2019-11-19 14:19:58 +08:00
NovaRain 199502782b Fixed a crash bug in CorpseLineOfFireFix (from commit 521b6c7, #270)
Updated version number for hotfix.
2019-11-19 14:02:17 +08:00
NovaRain e93d878d1d Added a new hook: HOOK_STDPROCEDURE_END
* as an extension to HOOK_STDPROCEDURE hook script.

Updated documents.
2019-11-17 08:32:03 +08:00
NovaRain 18c10d8911 Added four new script functions:
"get_sfall_arg_at", "show_window", "hide_window", "set_window_flag"

Improved the functionality of "inventory_redraw" function.
2019-11-16 22:36:53 +08:00
NovaRain 996dd293c0 Tweaked/fixed reg_anim_callback function 2019-11-15 09:57:31 +08:00
NovaRain 9904423641 Added "reg_anim_callback" script function(opcode) (#257)
Updated documents.
2019-11-14 12:49:06 +08:00
NovaRain 534bc3e5cd Implemented executing timed_event_p_proc in sfall global scripts
Added "add_g_timer_event" and "remove_timer_event" script functions
for timed_event_p_proc in global scripts.

Fixed the check on the 'hidden' flag for previous commit.
2019-11-11 10:00:22 +08:00
NovaRain 227a062fa6 Added a fix for scripted interface windows (#25)
* prevents player's movement when clicking on the window.

* the mouse cursor will not be toggled when the cursor hovers over
a hidden window.

Updated version number.
2019-11-10 18:11:33 +08:00
NovaRain 09d97464c8 Merge branch 'develop' 2019-11-07 09:50:16 +08:00
NovaRain b8de20d455 Fixed gl_partycontrol change in commit 9fab4b3 2019-11-07 09:45:57 +08:00
NovaRain 4ae09522f0 Merge branch 'develop' 2019-11-05 09:28:03 +08:00
NovaRain 76cc0471d6 Minor edits to Structs.h and HookScripts.cpp
Fixed Debug build configuration in project file.
2019-11-05 09:18:46 +08:00
NovaRain 2e39325521 Updated define_extra.h
Added define of OBJ_DATA_SCRIPT_INDEX to define_extra.h.
2019-11-04 21:23:11 +08:00
NovaRain f3abea3462 Updated script mods. 2019-11-03 10:05:55 +08:00
NovaRain d0c4bc3b78 Added "get_inven_ap_cost" script function
Added grey outline to controlled critters at the beginning of the turn.
2019-11-02 10:24:05 +08:00
NovaRain 2e655945c0 Added support for displaying item AP cost up to 19 (#228)
* Requires an extended MVENUM.frm in the art\intrface\ directory to
display properly (included in sfal.dat).
2019-10-31 12:46:42 +08:00
NovaRain 521b6c7e08 Fixed the previous commit (conflict with INVENWIELD hook)
Moved some option codes from MiscPatches.cpp to other modules.

Removed CorpseLineOfFireFix from ddraw.ini (always enabled).
2019-10-31 11:28:05 +08:00
NovaRain c348925c95 Fixed PM's weapon being misplaced after level up 2019-10-30 21:13:46 +08:00
NovaRain 0d023c32db Improved and moved the address conflict checking to CheckAddress.cpp/h
Added ddraw_CheckAddr.ini file to check conflicts properly.
Some code fixes/edits.
2019-10-29 10:41:03 +08:00
NovaRain 0570062123 Renamed AnimationsAtOnceLimit module to Animations 2019-10-28 09:44:32 +08:00
NovaRain a6c09d4d5c Added a debug message about missing art file for critters
Minor edit to sfall.h.
2019-10-25 10:21:01 +08:00
NovaRain 20119daf3d Minor code edit to previous commit 2019-10-23 09:36:13 +08:00
NovaRain 3553d45e5c Engine now uses 'English' as the fallback language for all msg files (#256) 2019-10-22 15:42:25 +08:00
NovaRain fc9c260a9f Cleanup in solution files 2019-10-22 09:44:17 +08:00
NovaRain 9f27c160ff Added "add_trait" script function 2019-10-20 19:29:19 +08:00
NovaRain 1f156d39ae Fixed amount argument for critter_add/rm_trait functions 2019-10-17 09:38:28 +08:00
NovaRain 3d9febecb9 Replaced GetPrivateProfileInt/String with wrapper functions
Fixed crash when a name in PremadePaths exceeds 11 characters.
2019-10-16 13:09:02 +08:00
NovaRain 9fab4b32ee Fixed inherited perks in gl_partycontrol 2019-10-15 22:17:08 +08:00
NovaRain d762f57cbc Added a new flag to MainMenuFontColour option
* set bit 1 of the first byte to only change the color of version text
(old behavior)
2019-10-15 11:40:59 +08:00
NovaRain e13a27469f Refactored CritterStats.cpp
Minor edits to to some code.
2019-10-15 10:55:07 +08:00
NovaRain ab2283f0e3 Rewrote set_xp_mod, get_sfall_args, set_sfall_arg functions in C++
Cleanup in ASM scripting handlers code.
2019-10-14 15:29:03 +08:00
NovaRain 882a601b0c Added optional options to the perks ini file
* to toggle modification sections for perks and traits.

Reorganized ini reading functions in main.cpp, and edited related code
in Perks/Stats modules.

Added error/warning icons to message boxes.
2019-10-14 10:19:11 +08:00
NovaRain 85dfb35f01 Updated NPC armor appearance mod script
Added command_lite.h header file (from EcCo mod).
Added alternative npcarmor.ini for vanilla Fallout 2.
2019-10-11 00:49:15 +08:00
NovaRain 614caded92 Fixed art_change_fid_num when the hero appearance mod is enabled
* before it set player's FID incorrectly if PC is in other appearance.

Prevented the player from equipping a weapon when player's current
appearance doesn't have the animation for it.

Fixed the player name while controlling other critters.

Edited texts for some error message boxes.
2019-10-10 11:48:33 +08:00
NovaRain 1b6d6179a1 Added "unwield_slot" script function
Re-fixed obj_art_fid for player's FID (commit 50f4885)
2019-10-08 10:53:47 +08:00
NovaRain 6ede19ceec Fixed inven_unwield script function
* now it updates the interface slot for the player properly.

Fixed some code in PartyControl module.
2019-10-07 13:30:49 +08:00
NovaRain 172495bdc5 Fixed arg1 of HOOK_INVENWIELD when calling move_obj_inven_to_obj
Moved critter stats code from Stats.cpp to a new CritterStats module.
Moved CRC files from Modules folder to the root folder of the project.
Moved get/set_proto_data functions from Misc to Objects handler.
2019-10-05 07:47:17 +08:00
NovaRain 2187854bf2 Improved the implementation of HOOK_INVENWIELD (#266)
* it now runs for the player and NPCs when removing equipped items.
* added an additional argument.

Fixed drop_obj script function not removing the equipped armor properly
for the player and party members.

Fixed incorrect PIDs for RP new party members in npcarmor.ini.
2019-10-04 20:23:49 +08:00
NovaRain 8d29e04712 Fixed move_obj_inven_to_obj script function
* it didn't remove the equipped armor properly for the player and party
members, resulting in broken armor stats.

Added a check for valid objects to get/set_object_data functions.

Some code edits to HeroAppearance.cpp.
2019-09-30 07:45:49 +08:00
NovaRain 8468fee7b4 Improved file searching for hero appearance mod (#251)
* now it will search files in .dat files and folders simultaneously.

* files in folders have higher priority than .dat files.
2019-09-28 10:45:36 +08:00
NovaRain 000b116895 Removed NPCStage6Fix from ddraw.ini (always enabled)
Moved the code of NPCStage6Fix to BugFixes module.
(to its original relative location, right above MultiHexPathingFix)

Reorganized some code in BugFixes.cpp.
2019-09-27 20:50:20 +08:00
NovaRain 98199b4e7e Refactored code in Arrays.cpp and fixed save_array() script function.
* related to "corrupted" savegames in #265.
2019-09-24 12:30:02 +08:00
NovaRain a17471b624 Some minor changes:
* Improved the display of the car fuel gauge on the world map interface.

* Expanded set_critter_stat function to allow changing STAT_unused and
STAT_dmg_* stats for the player, and STAT_unused for other critters.

* Changed AllowUnsafeScripting to not require sfall debugging mode.

* Changed NPCStage6Fix to be enabled by default.

* Added a new value to AIBestWeaponFix to change the priority multiplier
for having weapon perk to 3x.

* Added RP's extra weapon anim codes to vanilla PMs in npcarmor.ini.

Updated version number.
2019-09-24 12:20:16 +08:00
NovaRain 7f474bcb6d Merge branch 'develop' 2019-09-15 07:19:08 +08:00
NovaRain 91ac51d3ff Changed CorpseLineOfFireFix to be enabled by default 2019-09-15 07:16:38 +08:00
NovaRain ffe9d4c8cf Removed duplicate code from intface_redraw_ engine function
Minor edits to code/documents.
2019-09-14 08:50:54 +08:00
NovaRain affb7c4020 Updated UI hotkeys example mod. 2019-09-12 22:59:51 +08:00
NovaRain 2bdd469919 Added "register_hook_proc_spec" script function
Updated documents to address the new function.
2019-09-12 22:16:17 +08:00
NovaRain e23c224535 Excluded timed_event_p_proc from HOOK_STDPROCEDURE 2019-09-12 19:38:30 +08:00
NovaRain 693b78f9db Added a new hook: HOOK_STDPROCEDURE
Optimized execution for global/hook scripts.
2019-09-11 12:40:18 +08:00
NovaRain e55a4f95d2 Fixed AllowLargeTiles option (broken in 4.1.8)
(due to commit d2cf728)
2019-09-10 09:37:46 +08:00
NovaRain 66d4db10ad Fixed some non-critical memory address conflicts
Renamed F1EngineBehavior option to Fallout1Behavior.
2019-09-10 06:57:21 +08:00
NovaRain 4afde14f04 Added F1EngineBehavior option to change some of F2 engine funcs to F1
* disables playing the final movie/credits after the endgame slideshow.
* disables halving the weight for power armor items.

Moved FastShotFix and Ray's combat_p_proc fix from MiscPatches to other
modules.
2019-09-09 14:46:54 +08:00
NovaRain 4975177c34 Added printing a list of all mem addrs in the log for debug version
* for checking hidden memory conflicts.
2019-09-09 12:55:24 +08:00
NovaRain fee142342c Added a call to load f2_res.dll library from sfall code
Fixed some code that depends on HRP addresses.
2019-09-08 10:43:16 +08:00
NovaRain 28cd8f6f43 Changed CriticalOverrides.ini to be parsed only once at game start
* before the ini was always reparsed after each game load/reset. This
should improve the performance.
2019-09-07 20:59:38 +08:00
NovaRain 7e317134dc Removed the dependency of Body_Torso from Body_Uncalled hit modifier
Re-added BodyHit_Torso to ddraw.ini.
Reverted set_bodypart_hit_modifier function to pre-3.7.4 behavior.
2019-09-07 20:03:29 +08:00
NovaRain 19252ba507 Added options for tweaking some engine perks to the perks ini file
Added some engine function defines & util func for possible later use.
2019-09-06 13:11:27 +08:00
NovaRain 694b3995ef Added a compute damage example script.
Updated compiled scripts due to main.h changes.
2019-09-01 11:37:04 +08:00
NovaRain fb718e6fad Increased the width of the car fuel gauge to 2px 2019-09-01 09:00:27 +08:00
NovaRain 241f174bae Tweaked reordering the execution of functions before exiting the map
Added event clearing for active explosives before exiting the map.

Minor code edit to BARTERPRICE hook.
2019-08-31 19:38:59 +08:00
NovaRain 5e693aa955 Fixed some args in HOOK_BARTERPRICE hook when trading with PM
And added a new argument to indicate trading with a party member.
2019-08-27 22:24:30 +08:00
NovaRain b2fa359e3c Replaced 'Take All' hotkey mod with UI hotkeys mod
Minor edits to documents.
2019-08-26 21:47:52 +08:00
NovaRain ab5d7fdf97 Fixed player stuck at "climbing" frame after ladder climbing animation
Removed the previous fix about player's direction.

Some code format edits.
2019-08-25 10:09:17 +08:00
NovaRain 7f59d7a7fd Added MainMenuBigFontColour option to change button text color
Changed the fix for player's direction after climbing ladder (9fea480)
2019-08-23 10:32:07 +08:00
NovaRain 477ff9668c Added a new argument to HOOK_ADJUSTFID.
Fixed incorrect FRM being displayed for opened bag/backpack in the
inventory when Hero Appearance Mod is enabled (#262)

Fixed MainMenuFontColour not changing the font color for the copyright
text on the main menu (#261)

Code correction in main.cpp.
2019-08-22 13:12:32 +08:00
NovaRain 9fea48093e Fixed player's position if entrance tile is blocked when entering a map
Fixed player's direction after leaving a map via ladder/stairs.
Other minor fixes in sfall code.
2019-08-22 11:32:33 +08:00
NovaRain 09e282cd65 Corrected/edited some code. 2019-08-20 14:53:33 +08:00
NovaRain 5c4eb31bc3 Added IniConfigFolder option to override the path of all scripted ini
Fixed a crash bug in message_str_game function when passing a negative
fileId value.
2019-08-20 00:26:35 +08:00
NovaRain 9d0b061d1b Added OverrideCriticalFile option for specifying alternative crit file
Added code for preparing clearing map_update_event in queue.
2019-08-19 14:12:03 +08:00
NovaRain 2b93bf6045 Added new game mode COUNTERWIN.
Improved add_extra_msg_file function to use "English" as the fallback
language for loading msg files (#256)
2019-08-17 20:44:41 +08:00
NovaRain 2dfbe903e7 Added an additional 'Energy Weapon' flag to ext flags in weapon protos
* it forces the weapon to use EW skill regardless of its damage type.

Placed an object with PID 0x5000004 (corpse blood) to the lower z-layer
of the tile.
2019-08-16 15:02:14 +08:00
NovaRain cce9697dfd Set DAM_BACKWASH_ flag for attacker before calling combat damage (#246) 2019-08-14 11:48:45 +08:00
NovaRain 8855326e41 Fixed the lost car bug with using the Town/World button
(http://www.nma-fallout.com/threads/fallout-2-vehicle-bug.217993/)
2019-08-13 13:53:41 +08:00
NovaRain da864c9789 Rewrote the code of force_encounter functions
Added a new flag to force_encounter_with_flags.
2019-08-12 12:06:45 +08:00
NovaRain 50f4885407 Fixed obj_art_fid for dude_obj when the hero appearance mod is enabled 2019-08-11 23:46:26 +08:00
NovaRain f59d104975 Fixed create_message_window script function
* prevent it from creating multiple message windows.

Capped StartMonth/StartDay in case people didn't notice "0-indexed".
Minor fix for assigning an ID to objects when loading a map.
Small optimization for sfall gl/hs scripts.
2019-08-11 10:58:32 +08:00
NovaRain 744213dea1 Fixed unable to reach the specified max level in XPTable
Fixed the AP cost display issue in NPC combat control mod.
Added a tweak for weapon perk modifier to AIBestWeaponFix.
Minor edits to code/documents.
Updated version number.
2019-08-09 11:47:33 +08:00
NovaRain 7c23bb2dc2 Merge branch 'develop' 2019-07-18 09:33:44 +08:00
NovaRain 839e8d2636 Minor edits to ddraw.ini 2019-07-18 09:26:47 +08:00
NovaRain 01bbd111d3 Fixed elevation check in get/set_can_rest_on_map
Changed DebugMode to not require enabling sfall debugging mode.
Changed version to 4.1.9.1 as maintenance release.
2019-07-17 10:02:20 +08:00
NovaRain 16fbc0f93f Changed "add_extra_msg_file" script function (#249)
* added auto ID assignment for the message file.
2019-07-16 12:45:22 +08:00
NovaRain 2bfb886ece Fixed two issues in party control code
* perks picked in combat disappeared after switching control to other
critters.

* player's selected weapon mode was not saved.
2019-07-16 10:51:26 +08:00
NovaRain b33277c35a Fixed the error handling on loading sfallgv.sav
* to improve backward compatibility with older saved games.
2019-07-15 20:49:55 +08:00
NovaRain e127be29e8 Fixed key_pressed function not working in KEYPRESS hook (#248)
Minor text edits to CombatHs.cpp.
Updated version number.
2019-07-15 09:54:41 +08:00
NovaRain 361ebbe939 Added PerksList option to gl_partycontrol 2019-07-14 10:38:17 +08:00
NovaRain 2cdf0dcf48 Merge branch 'develop' 2019-07-12 07:37:09 +08:00
NovaRain b41a870f3b Fixed flickering when switching control in gl_partycontrol 2019-07-12 07:36:47 +08:00
NovaRain cccdd4cb16 Merge branch 'develop' 2019-07-11 09:25:06 +08:00
NovaRain 9a5ea216c4 Excluded barter mode for ItemCounterDefaultMax
Minor edits to document/code.
2019-07-10 10:47:25 +08:00
NovaRain 8d1b959f20 Added assignment of unique IDs to items/critters for event queue
* to prevent event queue being added to the incorrect object on the map.
2019-07-09 21:47:27 +08:00
NovaRain c3080a2db9 Changed the implementation of the bug fix in commit 02a3bbd
Added additional fix for "NPC turns into a container" bug.
2019-07-09 10:45:53 +08:00
NovaRain 32ecdcfdd9 Fixed bugs related to knockout/knockdown critters
Fixed knocked down critters not playing stand up animation after the
combat ends.

Fixed dead NPCs reloading their weapons after the combat ends.
2019-07-06 22:27:06 +08:00
NovaRain 914655085a Fixed the execution of functions before exiting map in commit 045926c 2019-07-06 01:53:46 +08:00
NovaRain cde3157153 Added KnockoutTime option to change the duration of the knockout effect.
Renamed WorldMapInterface option to ExpandWorldMap.

Fixed op_lookup_string_proc_ engine function not searching the last
procedure in a script.
2019-07-04 13:49:11 +08:00
NovaRain e2865b751b Added reassignment of IDs for critters upon first loading a map
* for fixing mapper not checking existing object IDs and generating
duplicated ones for new critters added on a map.
2019-07-03 15:08:26 +08:00
NovaRain 274e141277 Added a check for the DAM_KNOCKED_OUT flag
to wield_obj_critter/inven_unwield script functions.

Added climbing ladders to "interrupted player's movement in combat" fix.
2019-07-03 12:09:39 +08:00
NovaRain d8d3bade94 Fixed XP stealing bug in gl_partycontrol.
* if the combat ends automatically after a controlled critter's turn,
it would get the player's combat xp and "level up".
2019-07-01 13:06:32 +08:00
NovaRain ff2ebdc82a Added "combat ends normally" event to HOOK_COMBATTURN
Fixed a crash in COMBATTURN hook when loading in combat mode while
controlling critters.

Fixed critter control algorithm in PartyControl.cpp and set_dude_obj
not accepting a null argument.
2019-07-01 12:15:32 +08:00
NovaRain 2ffdc43869 Added a memory conflict warning to the log. 2019-07-01 06:34:00 +08:00
NovaRain 9f585ba7e6 Added SkipOpeningMovies=2 to also skip the splash screen 2019-06-29 20:01:41 +08:00
NovaRain 3f96e42730 Added ActionPointsBar option to [Interface] in INI
Added a new Interface module.
Moved WorldMapInterface to the new [Interface] section.
Moved some code from Worldmap.cpp to Interface.cpp.
Updated sfall.dat with new IFACE_E.frm and HR_IFACE_800E.frm files.
2019-06-28 21:40:57 +08:00
NovaRain d3f7e2a79a Moved unlisted FRM functions and structure from HeroAppearance.cpp to EngineUtils.cpp/Structs.h.
Tweaked the formate of some text in sfall log.
2019-06-28 07:33:47 +08:00
NovaRain f9ca201741 Fixed combat not ending automatically when there are no hostiles. 2019-06-26 06:10:47 +08:00
NovaRain 06a115070b Added AutoSearchPath option to [ExtraPatches].
* this provides a simpler way to load assorted .dat files without the
need of adding/editing PatchFileXX options in ddraw.ini.
2019-06-25 22:53:15 +08:00
NovaRain 56764c86c7 Changed DataLoadOrderPatch to be 1 by default. 2019-06-24 12:18:00 +08:00
NovaRain b8b16d5449 Fixed get/set_critter_*_stat not accepting a pointer to the player.
* for the compatibility with earlier versions.
2019-06-23 08:18:34 +08:00
NovaRain 1020851bcd Corrected the position of entrances on town maps for WorldMapInterface. 2019-06-19 10:56:14 +08:00
NovaRain e790178e66 Fixed fade in/out of the screen in DX9 mode. 2019-06-18 09:25:53 +08:00
NovaRain 28059ce890 Fixed Scout perk being taken into account for mark_area_known function.
* technically it should only effect the visibility of tiles when you're
exploring on the world map.

Fixed the incorrect coordinates for small/medium location circles when
highlighting their sub-tiles (one of bugs listed in #228)

Slightly adjusted the position/size for Local variables button in debug
editor.
2019-06-17 11:19:40 +08:00
NovaRain 04d06a8167 Added viewing and modifying local vars for critters to the debug editor. 2019-06-15 09:57:14 +08:00
NovaRain ddda559898 Added "add_extra_msg_file" and "metarule_exist" script functions. 2019-06-14 11:05:42 +08:00
NovaRain 88438edbc5 Code correction to previous two commits. 2019-06-12 09:10:29 +08:00
NovaRain 1e9dd57224 Party Control: added saving selected weapon mode.
* before weapon mode got reset when switching control between critters.
2019-06-11 10:10:00 +08:00
NovaRain 7826a937db Rewrote get_attack_type script function in C++. 2019-06-11 09:37:49 +08:00
NovaRain 480de50f88 Fixed the interrupted player's movement in combat.
* it happens when the player try to use objects with Bonus Move APs
available. The distance has to be greater than remaining normal APs.

Replaced calling db_dir_entry_ with db_access_ in some code.
2019-06-10 09:43:49 +08:00
NovaRain a64268a88a Fixed the position of the target maker for location circles.
Improved WorldMapInterface option, now the game won't crash when
WorldMap.frm is not found.
2019-06-09 11:33:04 +08:00
NovaRain fcd5e8475b Fixed the reserve movement fix in commit 02a3bbd.
* before the reserve movement didn't work correctly if the player has
free move AP (yellow, from Bonus Move) left.
2019-06-09 07:22:47 +08:00
NovaRain 808ba05a0b Added WorldMapInterface option to expand the world map interface.
Fixed the up/down button images in the world map interface.
Added loading sfall.dat resource file, which contains new WorldMap.frm
and AppHeroWin.frm.
2019-06-08 23:53:56 +08:00
NovaRain 02a3bbd536 Fixed anim_move_to_tile_ ignoring the distance argument.
* this also fixes the broken "reserve movement" feature.
2019-06-08 09:45:01 +08:00
NovaRain 137644aa72 Fixed a few bugs in WorldMapSlots option.
Updated version number.
2019-06-06 10:18:10 +08:00
NovaRain 250e7bef8a Merge branch 'develop' 2019-06-03 09:15:05 +08:00
NovaRain 229911336b Fixed a bug in knockback modifier functions that could crash the game (#237)
Updated version number.
Improved compatibility with older processors (pre-SSE2)
2019-06-03 09:14:45 +08:00
NovaRain e105b8c328 Merge branch 'develop' 2019-05-31 09:34:22 +08:00
NovaRain e5e2ef5ab0 Minor edit to gl_ammomod example script. 2019-05-31 09:10:36 +08:00
NovaRain 8778d1c695 Improved the fix for the removal of PM corpses.
* to prevent save file corruption (one of bugs listed in #228). Now
party member's corpse is removed in the same way as all other critter
corpses.

Simplified the ASM code of combat_ai_hack (take 2).
2019-05-30 10:30:25 +08:00
NovaRain 4ee20e06b4 Fixed the code for removal of party member's corpse when loading the map. 2019-05-29 09:35:38 +08:00
NovaRain aa5bd95dfe Fixed AI not checking min HP properly for using stims.
Edited the code of InventoryApCost in Inventory.cpp.
Minor edits to some other code.
2019-05-28 13:51:40 +08:00
NovaRain aa221adea3 Fix for fake perks related functions.
* now fake perks are no longer added to all controlled critters.

Added alternative functions that allow to add fake perks to party
member NPC.

Rewrote set_fake_perk/trait, set_selectable_perk, has_fake_perk/trait
functions in C++.
2019-05-27 12:01:09 +08:00
NovaRain 22cdc32d26 Simplified the ASM code of combat_ai_hack. 2019-05-24 20:00:07 +08:00
NovaRain fca3307bd9 Rewrote the fix to allow fleeing NPC to use drugs.
Code edits to Perks.cpp.
2019-05-24 10:35:50 +08:00
NovaRain 04d7f4aefa Removed LoadProtoMaxLimit option from ddraw.ini.
* now the proto limit is always handled by set_proto_data function when
needed, since the related issue was originally from using it to process
lots of protos at once.
2019-05-23 17:04:51 +08:00
NovaRain f5317ad5ee Rewrote NPC fleeing fix.
Removed DialogOptions9Lines option from ddraw.ini.
2019-05-22 10:41:37 +08:00
NovaRain 119b0afacd Fixed getting perks and traits of real_dude_obj while controlling other NPCs.
* When switching control to party members, their own table of perks is
copied into player's current perk table.

Fixed the position of the items in active item slots after ending the
NPC control (NPC's wielded weapon should always be in the right slot).
2019-05-22 10:32:43 +08:00
NovaRain 10a6b76d5b Increased the max text width of the info card in the char screen.
* the increased the width is according to the max width of one char in
font (uppercase A seems to be the widest with 8 px).
2019-05-20 11:25:42 +08:00
NovaRain 3a86f1d134 Added two fixes for NPC fleeing in combat.
* added fix to allow fleeing NPC to use drugs.
* fixed NPC stuck in fleeing mode when the hit chance of a target was
too low.
2019-05-19 15:38:54 +08:00
NovaRain 30ac2a9690 Slightly simplified the code of NPCStage6Fix.
Moved NPCsTryToSpendExtraAP to AI.cpp.
2019-05-19 08:15:45 +08:00
NovaRain 16a0ef3bdf Improved the fix in previous commit.
* now ignoring the inv capacity only happens in combat for preventing
AI inf loop. The vanilla behavior still applies outside of combat.
* added a correct message for NPC not being able to pick up an item.
2019-05-18 10:55:38 +08:00
NovaRain 58d5271d49 Fixed two item pickup issues for NPC.
* message for the player is displayed when the NPC cannot pick up item.
* if in combat, NPC will also be stuck in a loop of picking up item.

Fixed HideObjIsNullMsg option.
2019-05-17 09:55:09 +08:00
NovaRain 6a226aef34 Added a tweak to op_use_obj_on_obj_hack in BugFixes (from Mr.Stalin)
Minor edits to code/documents.
2019-05-14 07:16:23 +08:00
NovaRain 6ac9949feb Added "dropping item on the character portrait" event to HOOK_INVENTORYMOVE.
Rewrote get_ini_setting/string script functions in C++.
Rewrote Ray's combat_p_proc fix.
Minor code edits.
2019-05-13 11:29:24 +08:00
NovaRain d2cf728131 Refactored code in Tiles.cpp and EngineUtils.cpp.
Moved RegAnimCombatCheck code from ScriptExtender.cpp to Anims.cpp.
2019-05-11 09:56:58 +08:00
NovaRain a63ea24572 Added aspect ratio scaling to draw_image_scaled.
Rewrote create_message_window script function in C++.
2019-05-11 08:49:30 +08:00
NovaRain 4b221b5367 Improved the error handling for previous commit.
Reverted the change in Tiles.cpp from commit 4bc1a422c3.
2019-05-10 10:38:51 +08:00
NovaRain 02c2df50ac Added "draw_image" and "draw_image_scaled" script functions. 2019-05-09 22:22:02 +08:00
NovaRain 4bc1a422c3 Changed the names of FRM structures.
Added some functions for later use.
Fixed get FID type.
2019-05-09 10:11:26 +08:00
NovaRain 88cf6dcd32 Moved Test_ForceFloats to [Debugging] section.
* Since it's never mentioned anywhere, should be OK moving it before
the formal release.
2019-05-07 23:04:00 +08:00
NovaRain 943cd5d2dc Code edits on ScriptShaders & OpcodeContext.cpp.
Minor edits on some other code.
Added the missing Test_ForceFloats option to ddraw.ini.
2019-05-07 13:49:26 +08:00
NovaRain bc47c87583 Moved script shader functions code from Graphics.cpp to a separate module. 2019-05-05 10:53:50 +08:00
NovaRain 0f98591b77 Code refactoring in Arrays.cpp.
Added a new example mod gl_ammomod to modderspack.
2019-05-05 08:47:08 +08:00
NovaRain 42cf5ded97 Unset the read-only attribute for party member's .sav proto files 2019-05-02 14:23:02 +08:00
NovaRain edac0ba393 Fixed the issue with read-only party member base protos.
* the protos being placed in the proto\critters\ directory will cause
party member's stats reset after loading a saved game.
2019-05-01 20:56:35 +08:00
NovaRain 045926c860 Reordered the execution of functions before exiting the map
* partyMemberSaveProtos and queue_leaving_map are now called after
executing map_exit_p_proc procedure.

Replaced some obsolete implementation in ScriptExtender/Worldmap.
2019-05-01 09:45:51 +08:00
NovaRain c65e1ec6d3 Fixed the argument value of dialogue_reaction script function 2019-04-30 11:17:37 +08:00
NovaRain 6a38fd0794 Replaced opcode/metarule names in error messages
* before they are explicitly specified in text. Now the names are taken
from the opcode/metarule tables.
2019-04-30 10:09:34 +08:00
NovaRain f788246283 Reordered sfall modules to fix the issue #235
Unified the directory separator in documents.
Updated version number.
2019-04-30 06:45:22 +08:00
NovaRain 428ac62883 Merge branch 'develop' 2019-04-24 20:27:26 +08:00
NovaRain 1b1b85c3b4 Rewrote Force Encounter script function code.
Added two functions to Utils.cpp.
Minor edits to BugFixes.cpp and ddraw.ini.
2019-04-24 10:05:47 +08:00
NovaRain 28493432db Replaced ASM code in various opcodes with macros (from Mr.Stalin)
* The two macros are from sfall 3.x.
2019-04-23 11:38:21 +08:00
NovaRain 1d6150e341 Fixed the previous TalkingHeads.cpp commit.
* Now textures for all animation sets will be displayed correctly.

Some code edits to AI.cpp, MainMenu.cpp, Movies.cpp.
2019-04-22 10:37:34 +08:00
NovaRain 3798e5239d Fixed and improved Use32BitHeadGraphics option:
* Fixed the position of the talking head texture when the game res is
larger than 640x480.

* Added the support to use textures without the need of patching
talking head FRM files.

Fixed a bug in item highlighting that item keeps its outline if player
picked it up while holding the highlight key.
2019-04-20 22:49:02 +08:00
NovaRain 533020cd8b Renamed AmmoMod module to DamageMod. 2019-04-19 09:10:31 +08:00
NovaRain 69e3faeb7d Reverted some changes in previous commit.
* Now weapons with knockback modifiers applied still stack with others
in the inventory.

Rewrote the code of set/remove_*_knockback functions in C++.
2019-04-17 10:28:14 +08:00
NovaRain 4cdc028cb7 Further implementation of unique ID.
* weapons with knockback modifiers applied will have a special ID
(negative value) that work as a temporary UID for the current game
session.

Added checks on object types to functions in Combat module.
Added the second argument to set_unique_id script function.
2019-04-16 20:33:00 +08:00
NovaRain e92b8021c0 Fixed the start procedure not being called correctly
* If the required standard script procedure is missing, the procedure
above the start proc is called instead of the start (from Crafty)

Added a id reversion mechanism to remove_weapon_knockback.
2019-04-15 12:57:44 +08:00
NovaRain 601d25be97 Fixed adding fake perks to the player (#232) 2019-04-14 07:36:57 +08:00
NovaRain 7a2b7dee6a Added "picking up item" event to HOOK_INVENTORYMOVE.
Added "set_unique_id" script function.
2019-04-12 12:15:55 +08:00
NovaRain dcf0561653 Added new HOOK_SNEAK (from Mr.Stalin) 2019-04-10 17:13:00 +08:00
NovaRain 5c3f10db91 Edited/reorganized some code.
Updated proto offsets in define_extra.h.
2019-04-10 09:46:31 +08:00
NovaRain 3e49922898 Extended the number of simultaneously displayed notification boxes
(now it depends on on the resolution of the game.)
2019-04-09 11:03:17 +08:00
NovaRain 564202f225 Re-fixed CheckWeaponAmmoCost option. 2019-04-08 00:32:04 +08:00
NovaRain 143f6895a4 Fixed a bug in CheckWeaponAmmoCost (from Mr.Stalin)
It caused NPCs to not switch to other weapons when there is not enough
ammo to shoot.
Moved CheckWeaponAmmoCost code from Inventory.cpp to Combat.cpp.
Now the debug editor starts at the center of the screen.
Updated the previous fix in NPC combat control mod.
2019-04-07 10:59:02 +08:00
NovaRain d946850af4 Fixed the weapon duplication bug in NPC combat control mod. 2019-04-06 09:33:27 +08:00
NovaRain ae7245579e Fixed setting array values in the debug editor.
Some code corrections.
2019-04-06 08:24:49 +08:00
NovaRain 563fdddc7e Added setting array values for the debug editor. 2019-04-05 12:03:25 +08:00
NovaRain 06bbe3ceb5 Updates to sfall debug editor (part 1) 2019-04-05 09:17:43 +08:00
NovaRain 56083c3bc6 Updated sfall debug editor (from Mr.Stalin)
Formatted the code of sfall debug editor.
2019-04-04 10:22:02 +08:00
NovaRain dee0065863 Removed PipBoyAutomaps from ddraw.ini.
* By default nothing will change with the option enabled, because all
data is copied from the vanilla map list, and modders still need to add
the new 'automap' parameter to override the engine values to add/remove
areas in the automap list. Basically the option itself is redundant.
2019-04-03 22:01:53 +08:00
NovaRain 3614ee355f Added an option to add support for the new 'automap=yes/no' parameter to maps.txt (from Mr.Stalin)
Fixed "out of bounds" bug when printing the automap list.
2019-04-02 10:31:08 +08:00
NovaRain 7c05a0fea9 Fixed a duplicate obj_dude script being created when loading a saved game.
Added a fix to prevent the reserved object IDs of the player and party members from being generated for other objects.
Removed a redundant line in MiscPatches.cpp.
2019-03-31 22:50:48 +08:00
NovaRain dd87a83025 Added DisableSpecialMapIDs option (from Mr.Stalin)
Fixed the overflow of the automap tables when the number of maps in maps.txt is more than 160.
2019-03-30 11:07:16 +08:00
NovaRain da3fd5c671 Replaced the fix in the previous commit with a fix for unexplored areas being revealed on the automap when entering a map. 2019-03-28 12:01:41 +08:00
NovaRain acc51cae03 Fixed player's position when entering a map.
This also fixed the issue with getting player's position in the map_enter_p_proc procedure.
2019-03-27 20:07:40 +08:00
NovaRain 8332a2bba7 Fixed incorrect use of emplace_back() method for the vector.
Replaced some push_back() with emplace_back() method.
Changed BlockCall to use the long NOP.
2019-03-26 22:33:05 +08:00
NovaRain 2cfa20ed47 Implemented the critter individualization (from Mr.Stalin):
* each critter has its own independent base/bonus stats, separated from other critters sharing the same PID.
* get/set_critter_base/extra_stat script functions now only set stats for a specific critter.

Rewrote get/set_pc_base/extra_stat and get/set_critter_base/extra_stat script functions in C++.
Fixed the argument numbering in error messages when validating arguments.
Minor edits on some code.
Update solution files and version number.
2019-03-26 12:29:28 +08:00
NovaRain 9911eb5f01 Changed hero_select_win function to require an AppHeroWin.frm file in the art\intrface\ folder (from Mr.Stalin) 2019-03-25 20:55:39 +08:00
NovaRain 77f2542919 Merge branch 'develop' 2019-03-18 20:19:53 +08:00
NovaRain 18649329ec Added SpecialDeathGVAR option to override the global variable number for special death.
Minor fix for Stats.ini.
2019-03-17 10:35:12 +08:00
NovaRain aa91e9fad4 Fixed range for object ID.
Added checks for FID in NPC armor appearance mod.
Minor edits to documents.
2019-03-16 08:47:37 +08:00
NovaRain 1fd93ba13f Added CorpseDeleteTime option (from Mr.Stalin)
Fixed some code in Perks.cpp.
2019-03-15 19:17:37 +08:00
NovaRain 04eba05e53 Fixed the removal of party member's corpse (from Mr.Stalin)
Now items in party member's inventory are not removed along with the corpse.
2019-03-14 13:42:48 +08:00
NovaRain 3cef4784d3 Fixed critters not being healed over time when entering the map if 'dead_bodies_age=No' is set in maps.txt.
Added additional checks for the amounts to properly compare the effects of drugs.
2019-03-13 11:54:16 +08:00
NovaRain 656b4c5291 Tweaked the code of the fix in previous commit. 2019-03-13 00:08:10 +08:00
NovaRain 82a11d30b2 Fixed NPC stuck in a loop of reloading melee/unarmed weapons when out of ammo (from Mr.Stalin) 2019-03-12 11:45:18 +08:00
NovaRain 0f036b26ae Added support for extra perks to has_fake_perk/get_perk_available script functions.
Fixed broken get_perk_available script function.
Some code corrections for Perks.cpp.
2019-03-11 10:07:44 +08:00
NovaRain 967e642908 Added the ability to add extra non-scripted perks to the PerksFile (from Mr.Stalin)
Fixed some functionality for fake perks.
2019-03-10 11:55:41 +08:00
NovaRain 9eefb6e042 Fixed some issues in the previous commit.
* the game failed to start if there are more drug items than the specified "Count" number in Drugs.ini.
* setting vanilla drugs in Drugs.ini broke their NumEffects limit, even if it's not set (-1).
2019-03-09 07:45:56 +08:00
NovaRain f289723431 Added "set_drugs_data" script function (from Mr.Stalin)
Fixed vanilla drugs in Drugs.ini not getting loaded.
2019-03-08 21:37:36 +08:00
NovaRain 2d38b4bac1 Moved the list of active drug pids to sfallgv.sav.
Fixed item_d_load_subfix in the previous commit.
2019-03-06 09:30:24 +08:00
NovaRain 3934a804f4 Added new Drugs module and DrugsFile option (from Mr.Stalin)
Fixed a bug in the party control module with the 'addict' notification box not getting hidden after the addiction ends.
Removed DrugsSaveFix option, now the list of active drug pids will be saved to sfalldb.sav.
2019-03-05 12:36:38 +08:00
NovaRain ab03186a1d Fixed the screen not returning to the player when moving a controlled critter to another elevation of the map.
Added DrugSaveFix option to fix saving the active effects of drugs.
Refactored some code in BugFixes.cpp.
2019-03-04 15:27:00 +08:00
NovaRain 15d762deb0 Fixed the lighting of controlled critters in NPC combat control mod. 2019-03-03 11:48:42 +08:00
NovaRain d8bb5848f7 Fixed the return FID in NPC armor appearance mod. 2019-03-02 09:55:40 +08:00
NovaRain f84578e84b Added displaying the NPC's addictions in the character screen when controlled by the player (from Mr.Stalin)
Added "npc_engine_level_up" script function.
Moved the code of set_map_time_multi to Worldmap handler, and NPCAutoLevel to PartyControl module.
Removed validate_test example function from release builds.
2019-02-27 12:06:06 +08:00
NovaRain aa36d54b27 Fixed a crash bug when trying to use explosives if using a books ini file.
Fixed some bugs in BugFixes.cpp.
2019-02-25 23:48:54 +08:00
NovaRain 627c0df484 Added a new argument to REMOVEINVENOBJ hook (from Mr.Stalin)
Fixed inconsistent return value of get_npc_level.
2019-02-25 12:26:42 +08:00
NovaRain ae3d4fcb69 Expanded get/inc_npc_level functions to accept party member PIDs (from Mr.Stalin)
Some code correction in Skills.cpp.
2019-02-24 19:26:42 +08:00
NovaRain fb31357e3d Fixed incorrect skill point cost for negative skill levels when using a skills ini file (from Mr.Stalin) 2019-02-23 22:17:53 +08:00
NovaRain 1687e50729 Fixed the negative skill points of a skill not being taken into account when calculating the skill level (from Mr.Stalin, #202)
Fixed the return value of has_skill function for incorrect skill numbers.
2019-02-21 10:53:55 +08:00
NovaRain 36e3a2bd5f Updated NPC combat control mod to be able to automatically set the number for the notification box.
Updated item highlighting mod to also be disabled while in the barter screen.
2019-02-20 21:26:23 +08:00
NovaRain 99664dfa8a Fixed the reserved item FRM being displayed in the top-left corner when in the loot/barter screens. 2019-02-20 10:02:54 +08:00
NovaRain 0980967cee Changed the implementation of BarBoxes.cpp (from Mr.Stalin)
Added "add_iface_tag" script function.
2019-02-19 21:33:42 +08:00
NovaRain 8613a4fb8b Added ExtraPatches section to ddraw.ini for setting multiple custom paths for game files (from Mr.Stalin, #206)
Refactored some code of DataLoadOrderPatch to work with new ExtraPatches.
Removed MultiPatches from ddraw.ini, now it's always enabled.
Minor edits to MiscPatches.cpp and Arrays.cpp.
Updated version number.
2019-02-19 11:55:38 +08:00
NovaRain 6fdf3ac0b0 Merge branch 'develop' 2019-02-12 09:22:18 +08:00
NovaRain fe5a148d7f Moved DontDeleteProtos option from MiscPatches.cpp to DebugEditor.cpp.
Updated Auto Doors script mod from Mr.Stalin and ddraw.ini.
2019-02-11 13:58:21 +08:00
NovaRain d64b33a946 Minor edits to SpeedPatch and documents. 2019-02-10 09:53:03 +08:00
NovaRain 1294d27a96 Formatted code in Arrays.cpp and added checks for the integrity of sfallgv.sav when loading a saved game.
Fixed unregistering hook procedure.
2019-02-09 09:36:57 +08:00
NovaRain 41171bbb87 Fixed crash when saving the game with speed tweak enabled. 2019-02-09 08:08:34 +08:00
NovaRain 170322648e Reverted the change of DataType values in ScriptValue.h.
(reason: inefficiency)
2019-02-09 02:12:57 +08:00
NovaRain af531a3e1d Refactored and fixed SpeedPatch module (from Mr.Stalin) 2019-02-08 10:31:03 +08:00
NovaRain d13f33e2ff Refactored OpcodeContext/ScriptValue and some script function handlers (from Mr.Stalin) 2019-02-06 11:28:50 +08:00
NovaRain 0ed346380f Refactored error handling of saving/loading sfall data files. 2019-02-05 10:43:17 +08:00
NovaRain 664643d83c Rewrote ASM code of WorldMapFpsPatch functions.
(with fix for infinite loop of elapsed time)
2019-02-04 10:19:46 +08:00
NovaRain 89dbbb9238 Refactored code in Worldmap module (from Mr.Stalin)
Fixed TimeLimit option and removed the pointless value of -2 (now it's the same as -3).
Fixed the slow mouse cursor on the world map when WorldMapFPSPatch is enabled.
2019-02-03 00:57:00 +08:00
NovaRain 5daebd18d8 Added note on effect flags to CriticalOverrides.ini.
Minor edits to Criticals/Elevators.cpp.
2019-01-31 09:18:24 +08:00
NovaRain 4e38eab905 Removed some unnecessary memset code.
Minor code corrections.
2019-01-30 00:09:11 +08:00
NovaRain 7f8d805a9f Refactored code in the Books module.
Increased the maximum number of books in BooksFile to 50.
2019-01-29 06:32:12 +08:00
NovaRain 0e91aed2e2 Added HideObjIsNullMsg option to [Debugging].
Moved DebugEditor option from MiscPatches.cpp to DebugEditor.cpp.
2019-01-27 10:39:59 +08:00
NovaRain 3eba5c3054 Added two bug fixes for loading a game saved in combat mode (from Mr.Stalin) 2019-01-27 09:20:44 +08:00
NovaRain 80afdae7ba Fixed pickup_obj/drop_obj/use_obj script functions (from Mr.Stalin)
Fixed a crash when calling use_obj/use_obj_on_obj functions without using set_self in global scripts.
2019-01-25 00:30:34 +08:00
NovaRain 9db3c79c40 Added AttackComplexFix option (from Mr.Stalin) 2019-01-23 09:32:28 +08:00
NovaRain 274223a4ce Fixed bugs in attack_complex and critter_mod_skill script functions.
Minor edits to ScriptExtender.cpp.
2019-01-22 16:53:08 +08:00
NovaRain 7dbbb8230e Added error message when the name for sfall global variable is not equal to 8 characters.
Updated version number.
2019-01-21 11:24:54 +08:00
NovaRain a95f26a02d Fixed set_self function for use_obj_on_obj, attack, attack_complex vanilla functions (from Mr.Stalin) (#214) 2019-01-21 09:56:06 +08:00
NovaRain 46850a353b Corrected code in FileSystem.cpp (from Mr.Stalin)
Added fix for db_freadInt_ engine function from BugFixes.cpp when enabling UseFileSystemOverride.
2019-01-20 22:13:30 +08:00
NovaRain e379e71410 Added "art_cache_clear" script function. 2019-01-20 08:54:33 +08:00
NovaRain 774e31b9f6 Fixed and refactored code in FileSystem.cpp (from Mr.Stalin) 2019-01-20 00:18:32 +08:00
NovaRain 82f068c3e7 Refactored ASM code in FileSystem.cpp (from Mr.Stalin) 2019-01-17 10:06:04 +08:00
NovaRain 68e8ce8d41 Added support for integer values to abs() math function.
Minor code refactoring in Skills.cpp.
2019-01-16 11:07:56 +08:00
NovaRain a0437304a9 Merge branch 'develop' 2019-01-14 09:37:58 +08:00
NovaRain 34caa1cbbd Fixed a bug that broke the calculation of the skill point cost for increasing skill levels (#226)
Removed /Gw option from the release configuration.
Updated version number for hot fix.
2019-01-14 09:32:59 +08:00
NovaRain 924288a22c Merge branch 'develop' 2019-01-09 11:26:04 +08:00
NovaRain 11ae4f5078 Refactored ASM code in Sound.cpp (from Mr.Stalin)
Minor fix for "path_find_to" script function.
Implemented WRAP_WATCOM_FCALL# wrappers from Mr.Stalin.
Changed some code in Objects script handler for new wrapper functions.
Moved obj_under_cursor to Objects script handler.
Reformatted code in Karma.cpp/Worldmap.cpp.
Minor edits to documents.
2019-01-08 14:11:52 +08:00
NovaRain c1107e16a8 Expanded create/temp_array functions to allow creating a new "lookup" type of associative array (from Mr.Stalin) 2019-01-08 00:05:48 +08:00
NovaRain 49ef1aec9f Fixed a crash bug when using sorting functions on an associative array(map) (from Mr.Stalin)
Added support for sorting associative arrays by keys or values.
2019-01-06 11:37:02 +08:00
NovaRain 14d6d36172 Moved ModifiedIni to main.cpp. 2019-01-04 21:06:39 +08:00
NovaRain d2c8667c22 Refactored ASM code in KillCounter.cpp.
Fixed the broken ExtraKillTypes option.
Reformatted and tweaked code in Explosions.cpp.
2019-01-03 11:05:15 +08:00
NovaRain edbf777b63 Changed hs_inventorymove hook script to be triggered before displaying the 'Move Items' window for drag and drop ammo on weapons. 2019-01-03 00:28:59 +08:00
NovaRain 26c032379e Fixed stack in InventoryHs.cpp (from commit 7b92d0f939)
Refactored some ASM code in BurstMods.cpp, Inventory.cpp, Credits.cpp, AnimationsAtOnceLimit.cpp.
2019-01-01 10:24:51 +08:00
NovaRain 5a455ab942 Fixed input argument names in structure constructor for Combat/Perks/Skills modules. 2019-01-01 02:03:17 +08:00
NovaRain d89603e56d Improved the functionality of ElevatorsFile to allow to change the FRM images of the elevator panel and create new elevator types (from Mr.Stalin) 2018-12-31 10:05:59 +08:00
NovaRain 7b92d0f939 Corrected/improved code of some hooks.
Changed critical table to be loaded before global scripts.
Updated version number and year.
2018-12-30 09:59:39 +08:00
NovaRain b89663174f Added new HOOK_SETLIGHTING (from Mr.Stalin) (#215) 2018-12-30 08:01:13 +08:00
NovaRain 267d8694c9 Added UseWalkDistance option (from Mr.Stalin) (#46) 2018-12-28 20:04:19 +08:00
NovaRain 641ae67a7a Added a fix to the following script functions to ensure they set the correct object: (from Mr.Stalin)
set_critter_burst_disable, set_critter_pickpocket_mod, set_critter_skill_mod, set_critter_hit_chance_mod, set_*_knockback
Added WeaponAnims info to npcarmor.ini.
2018-12-28 09:37:30 +08:00
NovaRain 5d483214e6 Refactored HeroAppearance.cpp (from Mr.Stalin) 2018-12-26 21:11:25 +08:00
NovaRain 62e6c41620 Refactored assembler code in Skills.cpp.
Moved PickpocketMod function from Combat.cpp to Skills.cpp module.
Refactored structs in Skills.cpp and Combat.cpp.
2018-12-26 10:20:22 +08:00
NovaRain 6cce07991e Added missing return values for HOOK_INVENWIELD.
Updated NPC armor appearance mod.
2018-12-25 09:28:30 +08:00
NovaRain 9813d4ae74 Added a fix to prevent sfall from loading global scripts with an extension that exceeds three characters (from Mr.Stalin)
Replaced some pushad/popad opcodes with the newly added pushadc/popadc ASM macros.
Renamed Knockback module to Combat.
2018-12-24 12:21:45 +08:00
NovaRain 10c557ad59 Refactored SafeWrite.cpp. 2018-12-19 07:19:34 +08:00
NovaRain a2a24918a6 Formatted code in HeroAppearance.cpp. 2018-12-18 07:50:22 +08:00
NovaRain ca5c383767 Minor code edits on main.cpp and Perks.cpp. 2018-12-17 09:25:09 +08:00
NovaRain ce338fa5d0 Added a procedure to search for alternative weapons to NPC armor appearance mod (#222) 2018-12-16 19:37:06 +08:00
NovaRain 48ac68b66f Refactored some modules in Perk.cpp. 2018-12-16 11:33:16 +08:00
NovaRain ecae724411 Added AlwaysFindScripts option to [Debugging].
Added log message for InjectAllGameHooks.
2018-12-16 09:04:30 +08:00
NovaRain f33f356b7a Fixed NPC armor appearance mod preventing other critters from using weapons due to incorrect return value in check_weapon_change() (#222) 2018-12-16 08:57:38 +08:00
NovaRain 651f23aa5b Simplified and formatted code in Perks.cpp (from Mr.Stalin)
Replaced some 'strcpy_s' usages to 'strncpy_s' in Perks.cpp.
2018-12-15 18:13:38 +08:00
NovaRain 68022f415a Merge branch 'develop' 2018-12-05 22:01:20 +08:00
NovaRain b0fe927bfb Added missing function handlers to Metarule.cpp.
Minor edits to hookscripts.txt.
2018-12-05 21:47:01 +08:00
NovaRain cedfce37be Changed AutoQuickSave to use the current selected page if AutoQuickSavePage is disabled. 2018-12-05 13:35:37 +08:00
NovaRain 4249006ba9 Added "get/set_object_data" and "get_object_ai_data" script functions (from Mr.Stalin)
Changed read_byte, read_short, read_int, and read_string functions to not require AllowUnsafeScripting.
2018-12-05 10:14:10 +08:00
NovaRain 65755911f4 Fixed a bug in the hero appearance mod that caused the player to disappear after saving the game when player's base FID is greater than 255.
Replaced old SafeWrite usages with corresponding Hook/MakeCall functions in HeroAppearance.cpp.
Prevented HOOK_SUBCOMBATDAMAGE from being injected w/o the script when setting InjectAllGameHooks=1.
2018-12-04 09:36:20 +08:00
NovaRain 5473b0e4d9 Corrected some hooks code for the previous fix commit (from Mr.Stalin) 2018-12-03 10:12:40 +08:00
NovaRain c1b6e35a3f Fixed the return values of a hook getting corrupted if another hook was called during the execution of the current hook (from Mr.Stalin)
Added a fix to prevent hook scripts from being executed when the depth limit is exceeded, or the hook is called recursively.
2018-12-01 22:09:18 +08:00
NovaRain db2c366376 Added a fix for unable to sell/give items to the other in barter screen when the player/party member is overloaded (from Mr.Stalin)
Added a variant of MakeCall/Jump with 3 arguments to replace some SafeWrite 0x90 code for trailing NOPs.
2018-11-30 11:25:11 +08:00
NovaRain 17be216a11 Fixed the previous commit, forgot to remove the obsoleted line in win_debug_hook(). 2018-11-29 10:04:52 +08:00
NovaRain 770aca0cd2 Changed some MakeJump usages to MakeCall in Stats.cpp, Knockback.cpp, and MiscPatches.cpp.
(see Mr.Stalin's comments in commit c990b6701d)
2018-11-29 09:50:40 +08:00
NovaRain c990b6701d Refactored the code in Knockback.cpp. 2018-11-28 14:41:28 +08:00
NovaRain 3da7c2d0a6 Changed the implementation in commit c220e133a2 (with bug fix for HOOK_SETGLOBALVAR, #220) 2018-11-28 09:59:14 +08:00
NovaRain 0a8c5d704c Added missing CombatHs.cpp/.h for the previous commit. 2018-11-27 17:20:18 +08:00
NovaRain 922cdefce6 Added new HOOK_SUBCOMBATDAMAGE and refactored damage formulas code in AmmoMod.cpp (from Mr.Stalin) 2018-11-27 12:27:48 +08:00
NovaRain 180e743d31 Added an option to fix AI not checking chem_primary_desire setting in AI.txt for drug use preference (from Mr.Stalin, #219) 2018-11-25 23:58:13 +08:00
NovaRain 950f6b8a1c Changed sfall to only search for global scripts in folders at the game start instead of every time the game loads. 2018-11-22 20:38:54 +08:00
NovaRain b3a4f2c19e Reorganized and fixed the order of loading global scripts from multiple paths (from Mr.Stalin) 2018-11-21 10:52:12 +08:00
NovaRain 8dbe5921ba Merged two Glovz's fix functions and reorganized Glovz's/YAAM code layout a bit.
(in preparing for larger code refactoring in AmmoMod.cpp)
Fixed a bug in Stats.cpp that caused critical hits to ignore critical table roll value and only have the lowest level effect.
Minor edits to MainMenu.cpp.
2018-11-20 23:39:33 +08:00
NovaRain c220e133a2 Don't execute hook code for HOOK_ADJUSTFID/KEYPRESS/MOUSECLICK/GAMEMODECHANGE/SETGLOBALVAR when their scripts are not loaded (from Mr.Stalin) 2018-11-20 11:03:09 +08:00
NovaRain d8bdf785d5 Minor code correction in MainLoopHook.cpp.
Minor edits to document.
Updated version number.
2018-11-20 07:20:44 +08:00
NovaRain d569666447 Fixed the missing return value of -1 for HOOK_USEOBJON. 2018-11-16 06:33:30 +08:00
NovaRain 31b36f0c69 Fixed unable to click the pop-up message box when death from radiation was triggered during resting. 2018-11-14 07:11:00 +08:00
NovaRain ab7be3501a Simplified ASM code for process_rads_hook() in BugFixes.cpp.
Added missing initialization to ScriptExtender.h (Closes #217)
2018-11-13 21:19:28 +08:00
NovaRain 043c90f71e Added a pop-up message box for death from radiation sickness message. 2018-11-13 12:52:07 +08:00
NovaRain 5146b46da3 Fixed determine_to_hit_func_ engine function taking distance into account when called from determine_to_hit_no_range_ (from Mr.Stalin) 2018-11-12 13:12:22 +08:00
NovaRain 95f2bbfc1f Removed redundant stat_level() in Skills.cpp. 2018-11-10 10:18:59 +08:00
NovaRain 8d8522d227 Refactored the code of Stats.cpp. 2018-11-09 23:49:23 +08:00
NovaRain 5a03db932e Added an additional mode to SpeedInterfaceCounterAnims (from Mr.Stalin) 2018-11-09 12:29:07 +08:00
NovaRain 6e9a87b897 Removed the pop-up message box about not finding the original ddraw.dll, now the error is reported in the log file.
Added a note about setting a custom background for the character screen to the hero appearance mod.
2018-11-09 09:56:13 +08:00
NovaRain de055cd8ec Changed the implementation of HOOK_FINDTARGET so you don't have to specify all 4 targets to override normal sorting (from Mr.Stalin)
Added "loot_obj" script function.
2018-11-06 11:11:44 +08:00
NovaRain 4ae4d6dff0 Fixed broken return values in HOOK_FINDTARGET.
Changed the two arguments for obj_under_cursor to bool.
2018-11-04 09:06:31 +08:00
NovaRain 60054c9977 Added "obj_under_cursor" script function (#207) 2018-11-03 22:11:02 +08:00
NovaRain 3c9d5f7cb4 Changed PartyMemberExtraInfo to not show "Addict" text (in dark green) on the combat control panel if the party member is not addicted to drugs. 2018-11-02 22:48:17 +08:00
NovaRain f44db1730c Merge branch 'develop' 2018-11-01 19:28:08 +08:00
NovaRain fbdb9777c7 Updated NPC combat control mod to prevent Marcus and non-biped critters from equipping armor when controlled by the player. 2018-11-01 17:25:29 +08:00
NovaRain 0f1e648e1a Fixed isCheck argument (arg1) for HOOK_ONEXPLOSION hook (from Mr.Stalin)
Removed RemoveWindowRounding option because it doesn't affect anything.
2018-11-01 09:51:27 +08:00
NovaRain 7bd93af696 Adjusted the position of ExtraSaveSlots page buttons a bit. 2018-10-31 07:15:11 +08:00
NovaRain 6319017186 Added new HOOK_ONEXPLOSION and a new mode "set_explosion_max_targets" to metarule2_explosions (from Mr.Stalin) (#35) 2018-10-30 11:19:19 +08:00
NovaRain 29ad288f52 Fixed SwitchHandHook not being injected for controlled critters if there's no script using HOOK_INVENTORYMOVE. 2018-10-29 11:35:31 +08:00
NovaRain a10196e2ca Corrected the key overriding mechanism and removed unused vKey argument from KeyPressedDelegate (from Mr.Stalin)
Changed the debug editor to require sfall debugging mode.
Some minor code edits.
2018-10-29 11:04:51 +08:00
NovaRain 88779c10e0 Added a new return value to HOOK_KEYPRESS to override the pressed key (from Crafty) 2018-10-27 22:30:01 +08:00
NovaRain 919384bac7 Added a new setting to DebugMode to send debug output to both the screen and the debug log (from Crafty)
Simplified the code for ObjCanSeeObj_ShootThru_Fix a bit (from Mr.Stalin)
Changed sfall to not to create sfallfs.sav when UseFileSystemOverride is not enabled.
Updated item highlighting mod to be disabled while in the loot screen.
2018-10-27 09:43:12 +08:00
NovaRain a60f58c0eb Reverted some changes in the previous commit. 2018-10-26 06:46:24 +08:00
NovaRain 558e654dbf Replaced some __cdecl calling conventions to __fastcall.
(from Mr.Stalin - Reason: The compiler can use the arguments for its own purposes, which can spoil the stored value on the stack.)
Simplified the code for ObjCanSeeObj_ShootThru_Fix and added extra note to ddraw.ini (#208)
2018-10-25 11:16:39 +08:00
NovaRain 5ab389a51a Added new HOOK_USESKILLON and PartyMemberSkillFix option (#191) 2018-10-24 12:19:30 +08:00
NovaRain 3203152ca4 Added missing functions from the source library ddraw.dll to export from sfall (from Mr.Stalin)
Simplified the code in ExtraSaveSlots.cpp.
2018-10-23 11:45:38 +08:00
NovaRain 134dc03dc9 Added an option to skip loading game settings from a saved game (from Mr.Stalin)
Minor edits to ddraw.ini.
2018-10-20 09:53:16 +08:00
NovaRain 1ac8825b1b Fixed showing game movies and subtitles for DX9 mode when not using the hi-res patch, and added logging messages for DX9 mode (from Mr.Stalin)
Changed DisplayNPCExtraInfo to PartyMemberExtraInfo.
2018-10-19 10:27:00 +08:00
NovaRain 851e9b6d59 Added DisplayNPCExtraInfo option to ddraw.ini for commit bceb505024.
Changed some constant/variable names in Explosions.cpp.
2018-10-17 09:31:29 +08:00
NovaRain cbb6afac7c Updated NPC combat control mod to work with BoxBarCount.
Added additional notes to HOOK_COMBATDAMAGE in hookscripts.txt.
2018-10-16 22:18:35 +08:00
NovaRain bceb505024 Added displaying party member's current level & AC & addict flag info to the combat control panel (from Mr.Stalin)
Changed highlighting containers/corpses to be default on in sfall-mods.ini.
2018-10-16 10:05:25 +08:00
NovaRain 005684fa3b Added 3 new modes to metarule2_explosions and "item_make_explosive" script function (#169)
Simplified byte writing in some options (from Crafty)
Minor edits to Criticals.cpp.
Updated version number.
2018-10-14 21:05:15 +08:00
NovaRain 009a6cc21d Fixed the exploit that allows you to gain excessive skill points from Tag! perk before leaving the character screen (from Mr.Stalin)
Minor edits to documents.
2018-10-12 10:56:18 +08:00
NovaRain ee64d981fa Refactored BonusHtHDamageFix/DisplayBonusDamage code in AmmoMod.cpp (from Mr.Stalin)
Fixed DisplayBonusDamage not being applied on Melee Damage stat in the character screen when BonusHtHDamageFix is enabled.
2018-10-11 10:46:04 +08:00
NovaRain bb13dbd727 Added FastMoveFromContainer as the auxiliary option for ItemFastMoveKey (from Mr.Stalin)
Refactored the code of StackEmptyWeapons.
2018-10-10 17:52:05 +08:00
NovaRain e813188e67 Fixed "Heave Ho!" perk increasing strength stat above 10 when determining the max range of thrown weapons.
Moved SpecialUnarmedAttacksFix to BugFixes.cpp and simplified the code.
Added comments to old ApplyHeaveHoFix in Perks.cpp.
2018-10-10 12:19:06 +08:00
NovaRain 64a59211ba Changed implementation of StartGDialogFix, additionally fixed the game crash if calling start_gdialog function outside of talk_p_proc procedure for talking heads. 2018-10-10 09:14:41 +08:00
NovaRain 88f3622a5d Added "dialog_obj" script function. 2018-10-08 09:42:38 +08:00
NovaRain e6d958a83b Rewrote get/set_proto_data functions in C++ and added an auto-extend mechanism for proto loading limit (from Mr.Stalin)
Replaced ProtoProcessingLimit with LoadProtoMaxLimit option.
Added more definitions to define_extra.h and reformatted sfall.h a bit.
2018-10-07 10:30:59 +08:00
NovaRain 6796dc1012 Added sound effect to ExtraSaveSlots page buttons (from Mr.Stalin) 2018-10-06 22:58:36 +08:00
NovaRain 90149b4fb6 Fixed crash bug in the previous commit. 2018-10-04 23:30:39 +08:00
NovaRain 41a398cbf2 Refactored ASM code in ScriptExtender.cpp (from Mr.Stalin)
Simplified the code of NegateFix.
2018-10-04 22:58:10 +08:00
NovaRain 88cd177ebb Re-organized ScriptExtender.cpp:
* Moved SetAutoUnjamLockTime function to new Objects.cpp module.
* Move restore stats/perks to their respective modules.
* Move NegateFix to BugFixes.cpp.
2018-10-04 16:50:30 +08:00
NovaRain 569721381c Added ProtoProcessingLimit option to address some glitches with scripts that will process a large number of protos (#198) 2018-10-04 09:44:48 +08:00
NovaRain 8af87a5252 Merge branch 'develop' 2018-10-01 21:14:00 +08:00
NovaRain 96cb6c51ea Updated version number. 2018-10-01 21:10:21 +08:00
NovaRain 5874450f60 AllowDShowSound improvements from Mr.Stalin:
* Added volume control support for alternative sound files.
* Added mode 2 to play alternative music files even if original acm files are not present in the music folder.
* Added AllowDShowMovies option to separate avi files playback from enabling DX9 mode.
* Fixed initialization bug when DX9 mode is disabled.
* Small refactoring on ASM code.

Added missing FadeMultiplier option to ddraw.ini.
2018-09-30 21:34:35 +08:00
NovaRain f088c9bb70 Fixed the mood argument of start_gdialog function being ignored for talking heads. (from Crafty)
Simplified the code of disabling losing unused perks.
2018-09-30 16:24:15 +08:00
NovaRain 7f8481d03a Added "get/set_rest_on_map" script functions (from Mr.Stalin) 2018-09-28 13:59:09 +08:00
NovaRain f162a5ab0c Moved item_count function fix from Inventory.cpp to BugFixes.cpp.
Minor edit to document.
2018-09-25 14:12:06 +08:00
NovaRain ce69e8123e Fixed the max text width of player name in inventory.
Added an 8 lines limit to the underline position fix.
Removed obsoleted WorldMapEncPatch* functions from Worldmap.cpp (forgot to remove during commit 0f1072c302)
Some minor ASM code edits.
2018-09-25 12:19:30 +08:00
NovaRain b5e85f2f89 Changed the implementation of fs_* opcodes from ASM blocks to handler functions. 2018-09-24 12:20:42 +08:00
NovaRain f7fe463f42 Added "create_win" script function and InterfaceDontMoveOnTop option (from Mr.Stalin) 2018-09-23 16:13:20 +08:00
NovaRain 27f2d57ebd Fixed ai_retrieve_object_ engine function not returning the requested object when there are different objects with the same ID (from Mr.Stalin)
Added info about map_*_p_proc procedures to the global script section in notes.txt (#197)
2018-09-23 08:13:35 +08:00
NovaRain bbe789d013 Added "get_current_inven_size" script function. 2018-09-21 19:23:35 +08:00
NovaRain 76ea3ed383 Added inventory size check to "Take All" button (from Mr.Stalin)
Added additional note to CritterInvSizeLimitMode in ddraw.ini, and changed CritterInvSizeLimit to its default value.
2018-09-20 09:41:49 +08:00
NovaRain c6f3dbfcf6 Changed item_total_weight/item_c_curr_size engine functions to return the weight and size of equipped(hidden) items on NPCs when exchanging/bartering items (from Mr.Stalin)
Fixed CritterInvSizeLimitMode not properly checking the weight of equipped items when mode is set to 4+.
2018-09-19 22:49:05 +08:00
NovaRain 49ce654d72 Excluded inventory size features for NPCs when CritterInvSizeLimitMode is set to PC only. 2018-09-16 10:24:49 +08:00
NovaRain b2a1160492 Removed UTF-8 BOM in Inventory.cpp. 2018-09-15 10:13:25 +08:00
NovaRain 5da2ec76de Refactored CritterInvSizeLimitMode option and fixed some bugs (from Mr.Stalin)
Added party member's current/max inventory size info to the combat control panel.
2018-09-15 09:49:07 +08:00
NovaRain 123f69268d Fixed the underline position in the inventory display window when the item name is longer than one line (from Mr.Stalin)
Simplified the code of SuperStimExploitFix and corrected the return value for the change.
2018-09-12 22:39:18 +08:00
NovaRain 6d0c84e783 Fixed broken get/reset_critical_table functions (from Mr.Stalin) 2018-09-11 09:55:38 +08:00
NovaRain c652fae849 Fixed the encounter description being displayed in two lines instead of one (from Crafty) 2018-09-09 23:09:26 +08:00
NovaRain 3399e07958 Removed the duplicated sf_inventory_redraw code in Interface.cpp. 2018-09-06 23:01:15 +08:00
NovaRain 044af677d9 Merge branch 'develop' 2018-09-06 21:18:59 +08:00
NovaRain 752ad8ae01 Added notes to AutoQuickSavePage description. 2018-09-06 13:01:57 +08:00
NovaRain 9d9d8ada49 Added options to use more than one save slot for quick saving (from Mr.Stalin) (#186) 2018-09-06 07:01:14 +08:00
NovaRain 6bd7d3ebca Added the description of the new FemaleDialogMsgs setting value to ddraw.ini. 2018-09-03 09:58:27 +08:00
NovaRainandGitHub 9bc71a5d2a Merge pull request #193 from FakelsHub/dev/CutsFemale
Added FemaleDialogMsgs=2 for loading subtitle files from text/language/cuts_female/ for female PC.
2018-09-03 09:51:46 +08:00
Mr.Stalin 6d66232162 Added functional to the option FemaleDialogMsgs for possibility using the 'cuts_female' directory for female phrases. 2018-09-02 22:51:39 +03:00
NovaRain fe5f4bb2aa Changed the fix for multihex critter moving in combat to a more proper one (from Mr.Stalin)
Added AIBestWeaponFix option to ddraw.ini.
2018-09-02 18:08:37 +08:00
NovaRain 8a7d22dd03 Added additional checks to the fix of multihex critters moving in combat (from Mr.Stalin)
Added AIBestWeaponFix option to ddraw.ini.
2018-09-02 10:55:14 +08:00
NovaRain fac0b73d9e Changed the fix for multihex critter moving in combat to a more proper one. 2018-08-29 09:37:55 +08:00
NovaRain 2974210ad3 Minor edit to the description of QuestsScrollButtonsX/Y. 2018-08-26 14:53:47 +08:00
NovaRain bb0f2bb8db Changed the two example hook scripts to global scripts. 2018-08-24 08:10:38 +08:00
NovaRain 715b55dda8 Fixed multihex critters moving too close and overlapping their targets in combat (from Crafty)
Fixed critters not checking weapon perks properly when searching for the best weapon (from Mr.Stalin)
Changed BugFixes module to be initialized at the beginning.
2018-08-21 07:19:51 +08:00
NovaRain 999d818c86 Fixed multihex critters moving too close and overlapping their targets in combat (from Crafty)
Fixed critters not checking weapon perks properly when searching for the best weapon (from Mr.Stalin)
Changed BugFixes module to be initialized at the beginning.
2018-08-21 06:14:16 +08:00
NovaRain 1d7fd442b0 Minor edits to sfall-mods.ini. 2018-08-19 00:41:50 +08:00
NovaRain 3062533492 Added ObjCanHearObjFix to ddraw.ini.
Added extra comment for CarChargingFix to ddraw.ini.
Edited the description of DisplayName in sfall-mods.ini because of the new BoxBarCount option.
Minor edits to hookscripts.txt.
2018-08-19 00:33:10 +08:00
Mr.StalinandNovaRain 032e1d13f3 Fixed the functions of the engine op_obj_can_see_obj_/op_obj_can_hear_obj_ (#189)
Added one additional argument for the hook HOOK_WITHINPERCEPTION.
2018-08-18 23:56:03 +08:00
NovaRain 9f0797f8ad Added extra comment for CarChargingFix to ddraw.ini. 2018-08-14 23:58:09 +08:00
NovaRain a7c66685b9 Added QuestsScrollButtonsX/Y, DisplaySwiftLearnerExp, and additional note for the new mode of UseScrollingQuestsList to ddraw.ini.
Changed a log message in BugFixes.cpp to be a bit more specific.
Edited some comments in QuestList.cpp.
2018-08-12 19:07:52 +08:00
Mr.StalinandNovaRain 118b186d4d Quest list: Added options to specify the location of the buttons and a choice of the buttons type. (#187)
Fixed the clickability issue of holodisk list in the pipboy.

Fixed the display issue in the pipboy when a quest list is too long with UseScrollingQuestsList diabled.

Added an option to display experience points with the bonus from Swift Learner perk when gained from non-scripted situations (from Crafty)
2018-08-12 18:57:21 +08:00
Mr.StalinandNovaRain a8718dab2f Fixed the divided by 0 bug in CheckWeaponAmmoCost option. (#190) 2018-08-12 09:14:28 +08:00
NovaRain ccd897281f Fixed obj_can_see_obj not checking if source and target objects are on the same elevation before calling is_within_perception_ (from Mr.Stalin) 2018-08-10 22:54:07 +08:00
NovaRain d200262a2b Added a fix for the display issue in the pipboy when a quest list is too long with UseScrollingQuestsList diabled (from Mr.Stalin)
Added a fix for the clickability issue of holodisk list in the pipboy (from Mr.Stalin)
2018-08-06 22:04:21 +08:00
Mr.StalinandNovaRain 0ebe3ef1a4 Added new game mode DIALOGVIEW. (#182) 2018-07-29 17:48:33 +08:00
NovaRain d0c97f7118 Fixed an issue with file IDs of additional game msg files being shifted when a file in ExtraGameMsgFileList is missing.
Minor edit to the description of CityRepsList in ddraw.ini, to avoid misunderstanding.
Updated version number.
2018-07-28 22:46:59 +08:00
NovaRain 0bda53e109 Rename the option from previous commit to FullItemDescInBarter and added it to ddraw.ini.
Edited info about HOOK_DESCRIPTIONOBJ and the new return value of HOOK_BARTERPRICE to documents.
Minor edits to ddraw.ini to avoid misunderstanding.
2018-07-28 22:27:32 +08:00
Mr.StalinandNovaRain 93cd7a08ad Added new HOOK_DESCRIPTIONOBJ and dialog_message/get_string_pointer functions (#181)
Added the second return value to HOOK_BARTERPRICE to modify the cost of the player's goods.
Fixed missing AC/DR mod stats when examining ammo in barter screen.
Added an option to display full item description for weapon/ammo in barter screen.
2018-07-28 22:14:38 +08:00
NovaRain 44d668f50b Renamed DialogFemaleMsgFile to FemaleDialogMsgs, and added its description to ddraw.ini.
Added additional notes for the new functionality of ExtraGameMsgFileList to documents.
2018-07-24 12:07:02 +08:00
NovaRainandGitHub f368973299 Merge pull request #185 from FakelsHub/devFeature/MessageDialog
Added option for loading alternative dialogue message files.
2018-07-24 11:50:41 +08:00
Mr.Stalin 96802c9642 Added option for loading alternative dialogue message files. (#183)
Fix error of the ExtraGameMsgFileList option, when the absence of a file, the number order was shifted.
To the ExtraGameMsgFileList option, added ability to directly specify the number for the message file.
2018-07-22 20:47:32 +03:00
NovaRain 39221065af Added BoxBarCount to ddraw.ini.
Edited documents for the change of is_iface_tag_active and added BoxBarCount.
Edited the phrasing of debugging message in SafeWrite.cpp.
2018-07-21 08:54:25 +08:00
Mr.StalinandNovaRain 95f95e7b38 BarBoxes: Set used count (#180)
* Added BarBoxesCount option to set the number of additional notification boxes to the interface.
* Expanded is_iface_tag_active function to check tag value of 0/1/2 (sneak/poisoned/radiated)
2018-07-21 08:47:05 +08:00
NovaRain 41c8722179 Merged a couple of fixes and minor improvements for 4.0.x from the develop branch:
* Fixed the game thinking you dropped an active explosive when the dropping is prevented with hs_inventorymove.
* Added "inventory_redraw" script function (from Mr.Stalin)
* NPC combat control mod now centers the screen on the controlled critter and has new options to display critter's name.
* Removed obsoleted WIN2K preprocessor defines.
Updated version number.
2018-07-16 09:14:01 +08:00
NovaRainandGitHub 3b780110ea Merge pull request #177 from FakelsHub/dev/RefHooks
Refactoring hooks.
2018-07-15 21:07:51 +08:00
Mr.Stalin 448dbdb31e Fixed injecting bug for HOOK_DEATHANIM2. 2018-07-14 20:39:15 +03:00
NovaRain 033376000c Fixed the screen flickering during switching critters in NPC combat control.
Now the mod does not center the screen on PC and display name box for the first turn of a player-initiated combat or when there's no other controllable critter in combat.
2018-07-13 11:25:42 +08:00
NovaRain bc2dabc461 Removed redundant function from NPC combat control and tidied up a bit. 2018-07-11 10:03:03 +08:00
NovaRain 08b5e3a769 Improved the functionality of NPC combat control mod (#179)
* centers the screen on controlled critter.

* removes roof tiles to show controlled critter properly.

* additional options to display the name of controller critter.
2018-07-10 12:05:15 +08:00
NovaRain 09c9c5cce0 Added the description of HOOK_EXPLOSIVETIMER to hookscripts.txt.
Edited the example script.
Updated version number.
2018-07-10 06:09:23 +08:00
Mr.StalinandNovaRain b4b1698345 Added new HOOK_EXPLOSIVETIMER (#175) 2018-07-10 06:00:04 +08:00
NovaRain 2a20209bb8 Added "inventory_redraw" script function (from Mr.Stalin) 2018-07-08 00:30:26 +08:00
NovaRain 84c7ac0536 Added InjectAllGameHooks to [Debugging] section in ddraw.ini. 2018-07-05 21:52:53 +08:00
Mr.Stalin 46f8820ecf Refactoring some hooks. 2018-07-04 21:55:52 +03:00
NovaRain 5d4b8fdd7b Added info for new HOOK_AMMOCOST arguments to hookscripts.txt. 2018-07-03 09:38:07 +08:00
Mr.StalinandNovaRain 44603174dd Refactoring combat hooks (#174)
* Fixed and improved the functionality of HOOK_AMMOCOST when CheckWeaponAmmoCost is enabled.

* Fixed the instant death critical fix not working if there's no script using HOOK_COMBATDAMAGE, due to the new hooks injection implementation.
2018-07-03 09:34:47 +08:00
Mr.Stalin d37fbd8390 Implementation detect conflict address for debug mode (#10). 2018-07-02 20:19:21 +03:00
NovaRain 2f22a1e982 Edited the description of HOOK_USEANIMOBJ in hookscripts.txt.
Removed obsoleted WIN2K preprocessor define.
Updated version number.
2018-06-25 22:12:42 +08:00
NovaRainandGitHub 3f03cf3c18 Merge pull request #171 from FakelsHub/devHook/UseObjectMap
* Added new HOOK_USEANIMOBJ.

* Moved some hooks code from MiscHs.cpp to ObjectHs.cpp.
2018-06-25 22:04:18 +08:00
NovaRain 1b3b5dc523 Fixed premature assignment of arguments before the beginning of the hooks in InventoryHs.cpp. (#173)
(cherry picked from commit fff48407c3)
Updated version number.
2018-06-24 12:36:01 +08:00
Mr.StalinandNovaRain fff48407c3 Fix of premature assignment of arguments before the beginning of the hook. (#173) 2018-06-24 09:56:29 +08:00
Mr.Stalin 841e741e91 Fixed calls BeginHook() procedures. 2018-06-24 00:24:27 +03:00
Mr.Stalin d4a501d813 Hook is renamed to HOOK_USEANIMOBJ. 2018-06-20 21:21:46 +03:00
Mr.StalinandNovaRain 5e056f1743 Fixed the drop event for Hook_InventoryMove when dropping an active explosive item on the ground. (#170)
When an armed explosive is dropped from the inventory, the dropped_explosive engine variable is set. If the drop is canceled by scripting, the variable will still be set to 1 without the fix.
2018-06-20 22:26:05 +08:00
Mr.Stalin 35a94b5418 Refactoring: Moving some hooks code from MiscHs.cpp to ObjectHs.cpp 2018-06-19 21:48:18 +03:00
Mr.Stalin 7eaef76f6f Added new script hook HOOK_USEOBJECTMAP. 2018-06-19 21:40:27 +03:00
Mr.StalinandNovaRain 30002664ef Implemented an injection system for hook scripts. (#168)
* Before the code of hooks was always executed even if there's no corresponding hook script, just passing through and doing nothing. Now the code of a hook only gets injected into the game when the corresponding hook script exists.
2018-06-19 14:31:35 +08:00
NovaRain c2f7e38a43 Added KeepWeaponSelectMode option to ddraw.ini. 2018-06-19 06:03:36 +08:00
Mr.StalinandNovaRain 8a5674f2d9 Added the option to keep the selected attack mode for the weapon when the weapon moves to another slot of the hand. (#166) 2018-06-19 06:01:43 +08:00
NovaRain 8c2483a289 Merge branch 'develop' 2018-06-12 21:01:12 +08:00
NovaRain e14ac89463 Added more info to the comments of various keys in [Input] section of ddraw.ini. 2018-06-12 20:52:03 +08:00
Mr.StalinandNovaRain d5a38eb3aa Fix for inventory moving hook - an item drop into container when it is in the slot of the hands. (#167) 2018-06-12 12:13:42 +08:00
NovaRain 177137f2ee Edited the description in hookscripts.txt for changes to HOOK_INVENTORYMOVE and HOKK_INVENWIELD.
Fixed a bug in DisplaySecondWeaponRange that didn't display correct weapon range when the secondary mode is aimed (e.g. spear and throwing knife)
Removed trilling spaces in previous commit.
2018-06-11 13:40:09 +08:00
Mr.StalinandNovaRain 76f88eae18 Added new events to HOOK_INVENTORYMOVE. Added possible to get a pointer to an weapon item in HOOK_INVENWIELD before unweld it. (#163)
Refactoring the hooks code of the inventory.
2018-06-11 13:14:52 +08:00
NovaRain 28962f428f Added ItemFastMoveKey and ItemCounterDefaultMax options to ddraw.ini.
Set ReloadReserve to be disabled by default.
2018-06-06 06:33:46 +08:00
Mr.StalinandNovaRain aaa76cb3d1 Quickly moving items in inventory. (#162)
* Added an option for quickly moving items (w/o dialog box) in inventory.

* An separate option is added to set the counter of maximum number of items when moving items.
2018-06-06 06:23:07 +08:00
NovaRain ea1c00ec91 Added the ability to define allowed weapon animations for NPCs to NPC armor appearance mod (#159) 2018-06-05 22:08:39 +08:00
NovaRain 410c7ab417 Minor edits to documents. 2018-06-04 21:21:32 +08:00
VladandNovaRain ab3ddc68b6 Retarget project to use VS2017 build tools, fix deprecation warnings (#161) 2018-06-03 16:35:08 +08:00
NovaRain 1652072391 Fixed a bug that critters killed in combat by scripting still being able to move in their combat turn if the distance parameter in their AI packages is set to stay_close/charge, or NPCsTryToSpendExtraAP is enabled (from Mr.Stalin) 2018-06-02 18:15:53 +08:00
NovaRain 051b1c98aa Edited the added comments in AnimationsAtOnceLimit.cpp.
Renamed obj_move_hack to object_move_hack because it hooks on object_move_ engine function.
2018-06-01 23:36:56 +08:00
Mr.StalinandNovaRain 56945c7437 Fixed crash game when playing animation when the critter/pc goes through the door. Refactoring code. (#158) 2018-06-01 23:30:37 +08:00
NovaRain 2f6f0d8b28 Added the description of new metarule2_explosions mode to function notes.txt.
Fixed a typo in metarule2_explosions error message.
2018-05-30 21:07:51 +08:00
Mr.StalinandNovaRain 0e715236bf Added an additional mode to the function 'metarule2_explosions', sets a constant radius of the explosion grenades and rockets. (#146) 2018-05-30 21:02:35 +08:00
NovaRain b24a860d40 Renamed WorldMapFont to WorldMapFontPatch and changed its description in ddraw.ini. 2018-05-30 09:27:58 +08:00
NovaRain 120a8cd964 Added WorldMapFont option to use Fallout font on the world map instead of system font. (#48) 2018-05-29 16:22:58 +08:00
Mr.StalinandNovaRain 62d4577152 Adding to the function get_mouse_buttons the return of pressing the middle mouse button (#114). (#157)
Change the type of argument checking for the len_array function to remove an unwanted error message (# 128).
2018-05-29 09:29:11 +08:00
NovaRain 2d8ea2b44c Added description of HOOK_GAMEMODECHANGE to hookscripts.txt.
Fixed the line break for debug.log message of GameReset.
Minor edits to Tiles.cpp code format.
2018-05-28 23:37:45 +08:00
Mr.StalinandNovaRain 4ef20c3526 Added new hook for function get_game_mode, when the game mode changes. (#86) (#153) 2018-05-28 23:32:14 +08:00
NovaRain 5e0e8dd2f1 Added MoreTiles option to ddraw.ini.
Changed MoreTiles to work independently of HRP 4.1.8 and removed the redundant define.
Added sfall log messages to both options in Tiles.cpp.
Implemented HookCalls in TimeLimitPatch().
Fixed a minor typo in function notes.txt.
2018-05-28 09:27:53 +08:00
Mr.StalinandNovaRain 04bd88cdc2 Added MoreTiles option to increase the limit of FRM images for tiles from 4096 to 16383 (from Crafty) (#156) 2018-05-28 09:18:55 +08:00
NovaRain 839e86ed26 Added the description and setting for the previous commit to ddraw.ini.
Improved DisablePipboyAlarm so that when the player press Z key they won't see a blank Pipboy screen.
2018-05-27 15:08:46 +08:00
Mr.StalinandNovaRain eeef8759d3 Display statistics of the weapon's range for the second attack mode in player inventory. (#154) 2018-05-27 14:48:09 +08:00
NovaRain c4903abd4c Added the description of set_iface_tag_text to notes.txt.
Fixed compilation error in BarBoxes.cpp.
Updated version number.
2018-05-21 10:51:12 +08:00
Mr.StalinandNovaRain e0c0b9ba19 Added function 'set_iface_tag_text' - sets custom text and color to bar boxes. (#152) 2018-05-21 10:41:59 +08:00
NovaRain b9c7f5ea82 Fixed commit 470a0b3386. 2018-05-15 20:20:07 +08:00
NovaRain 56fdec8b37 Reverted the previous changes of ASM code due to the bug that AppChCrt.frm overwrites AppChEdt.frm. 2018-05-14 21:14:50 +08:00
NovaRain 470a0b3386 Simplified the code from previous commit. 2018-05-14 20:52:26 +08:00
NovaRain 279c524da9 Added support for adding custom background image to the character creation/screen of the hero appearance mod (From Mr.Stalin)
AppChCrt.frm (for the character creation) and AppChEdt.frm (for the character screen) should be in art/intrface, and the image size must be 640x480.
2018-05-14 10:05:49 +08:00
NovaRain 57c4c0bd5d Merge branch 'develop' 2018-05-11 20:01:53 +08:00
NovaRain 3ff0e77c26 Added the description of attack_is_aimed to notes.txt.
Removed unnecessary function declaration in Misc.h.
2018-05-09 10:07:11 +08:00
mr.StalinandNovaRain 15909dbb5b Fixed function "get_attack_type" and new function "attack_is_aimed". (#145)
* Fixed broken function 'get_attack_type'. Adding a new function 'attack_is_aimed'.
2018-05-09 10:03:07 +08:00
NovaRain ee9010217e Added description of HOOK_RESTTIMER, set_rest_heal_time, and set_rest_mode to documents.
Renamed the bit flags for set_rest_mode.
Fixed compilation error in Worldmap.cpp.
2018-05-08 12:30:53 +08:00
mr.StalinandNovaRain 9fa59a0d75 Rest hook and functions (#144)
* Added new HOOK_RESTTIMER (#89)

* Added "set_rest_mode" and "set_rest_heal_time" script functions.
2018-05-08 12:18:44 +08:00
NovaRain 371a299640 Added new HOOK_SETGLOBALVAR (#34) (from Mr.Stalin) 2018-05-02 11:14:02 +08:00
NovaRain 31f42128e1 Added "floor2" script function to work with ceil (#109)
Added the missing description of ceil to notes.txt.
Disabled ceil marco in lib.math.h.
Removed duplications in Utils.h.
2018-04-28 11:07:37 +08:00
NovaRain 57225bbd38 Fixed max tile number for set_map_enter_position and compilation error in Worldmap.cpp.
Added the description of get/set_map_enter_position to function notes.
2018-04-27 19:40:23 +08:00
mr.StalinandNovaRain 310d029801 New *_map_enter_position functions. (#141)
Added "get/set_map_enter_position" script functions (#101)
2018-04-27 19:35:29 +08:00
NovaRain b52f4544c0 Fixed the last additional notification boxes to the interface being missing (#140) 2018-04-26 10:01:15 +08:00
NovaRain 0950efec8c Changed the upper limit of set_unjam_locks_time to 127.
Added set_unjam_locks_time to documents.
2018-04-25 20:00:49 +08:00
NovaRain d86794be3a Added "set_unjam_locks_time" script function (from Mr.Stalin) 2018-04-24 09:20:16 +08:00
NovaRain d6aff61607 Added "lock_is_jammed" and "unjam_lock" script functions. 2018-04-24 08:13:26 +08:00
NovaRain 0eeab768bd Fixed a bug in item highlighting that caused items to be kept highlighted when entering combat while holding the highlight key. 2018-04-22 11:06:36 +08:00
NovaRain e474ba1660 Updated README.txt for info about additional headers/libraries. 2018-04-21 09:18:51 +08:00
NovaRain 3abebb8486 Added a new script function: set_ini_setting (from Mr.Stalin) (#85)
Added set_ini_setting to documents, and updated info for get_ini_setting.
Updated credits.
Replacing a couple of strcpy usages with strcpy_s.
2018-04-21 09:01:27 +08:00
NovaRain 29910e98bf Revert "Fixed a bug when using HOOK_ITEMDAMAGE and calling item_w_damage_ engine function at the same time. It would result in player self-damaging when attacking targets."
This reverts commit 4194feafdf.
2018-04-13 20:42:09 +08:00
NovaRain 4194feafdf Fixed a bug when using HOOK_ITEMDAMAGE and calling item_w_damage_ engine function at the same time. It would result in player self-damaging when attacking targets.
Set DataLoadOrderPatch to be enabled by default, for preventing partial of a game crash issue due to unusual game folder setup. #136
2018-04-13 11:06:21 +08:00
NovaRain 1c6729a25f Added a fix for being at incorrect hex after map change when the exit hex in source map is at the same position as some exit hex in destination map (from Crafty) #134 2018-04-02 23:19:07 +08:00
NovaRain 39388fd927 Rewrote the fix for player's base EMP DR as an engine-level fix (from Crafty) 2018-04-01 12:45:30 +08:00
NovaRain 72093079c5 Fixed a bug in NPC combat control that caused Gecko Skinning to appear in the perk selection window. 2018-03-28 21:29:22 +08:00
NovaRain 5141ca4ebb Fixed typos in hookscripts.txt. 2018-03-23 23:08:42 +08:00
NovaRain 78e9f08682 Fixed typos in sfall function notes.txt. 2018-03-23 22:01:22 +08:00
NovaRain ce779b4764 Fixed the long existing slotdat.ini function in ExtraSaveSlots.
Reduced duplication in ExtraSaveSlots code using MakeCalls.
Unified the indent style in ExtraSaveSlots.cpp.
2018-03-16 12:25:12 +08:00
NovaRain 1a108cade5 Implemented MakeCalls function to reduce code duplication.
Updated version number.
2018-03-16 11:32:23 +08:00
NovaRain cc875291d1 Merge branch 'develop' 2018-02-13 09:50:43 +08:00
NovaRain 9e28f8bdfd Lined up some code in MiscPatches.cpp. 2018-02-12 21:07:02 +08:00
NovaRain b2894268f6 Reverted item highlighting mod to the previous status (commit 90485a205a). #132 2018-01-28 18:15:35 +08:00
NovaRain b3e2b8b5b8 Rearranged and simplified gl_highlighting.ssl from the previous commit a bit. 2018-01-17 21:22:37 +08:00
burner1024andNovaRain 3227966767 More highlighting (#130)
* allow to highlight alive critters

* allow to ignore NO_HIGHLIGHT flag

* don't highlight while in loot screen, so that it's not constantly toggled by shift-A ("Take All" hotkey)
2018-01-17 13:55:22 +08:00
NovaRain 9475b8c482 Fixed add_mult_objs_to_inven only adding 500 of an object when the value of "count" argument is over 99999. #129 2018-01-17 07:36:05 +08:00
NovaRain 8b356b1213 Fixed broken ExtraGameMsgFileList option. #127 2018-01-11 07:42:50 +08:00
NovaRain 90485a205a Changed item highlighting mod to only highlight lootable corpses. #126 2018-01-07 21:37:26 +08:00
NovaRain d5be2fdc9b Made sure the value of player's base EMP DR is set correctly. 2018-01-02 23:22:45 +08:00
NovaRain a705341e02 Updated version number and the year. 2018-01-02 10:16:32 +08:00
NovaRain ca3f59ad1e Fixed a bug in NPC combat control that kept increasing the perk rank of Gecko Skinning after the combat ended.
Condensed the code in ApplyHeaveHoFix a bit.
2018-01-02 09:58:30 +08:00
NovaRain 4d0c056e72 Merge branch 'develop' 2017-12-24 21:35:52 +08:00
NovaRain d388a5c3bb Fixed player's base EMP DR isn't properly initialized when creating a new character and then starting the game. 2017-12-15 07:32:18 +08:00
NovaRain 9b808cd008 Changed sneak_success to call is_pc_sneak_working_ engine function, which takes player's current sneaking status into account as well, instead of only returning the result of last sneak attempt. 2017-12-05 10:22:35 +08:00
NovaRain fd91be7ea2 Replaced data type hex values with proper VAR_TYPE_* defines for code readability. 2017-12-03 23:54:39 +08:00
NovaRain 4fdd1d3cd8 Added missing entry of block_combat script function in opcode list. 2017-12-03 02:36:00 +08:00
NovaRain 9cb2d3df3e Added the damage type offset of weapon proto to define_extra.h. 2017-11-27 14:14:31 +08:00
NovaRain 08242d77d5 Fixed a typo in hookscripts.txt. 2017-11-27 12:24:22 +08:00
NovaRain 68d0a3e894 Changed the if condition for ProcessorIdle to make sure out-of-bounds values not resulting in unexpected but valid values (ref. commit 50c91db5ea) 2017-11-26 02:08:09 +08:00
NovaRain 16ff0e9ca6 Added a new example mod gl_autodoors (by Mr.Stalin) to modderspack. #19 2017-11-08 21:23:15 +08:00
NovaRain 218ba3004c Tweaked the way DebugMode works, now only DebugMode=2 sends debug output to a debug.log file. Any other non-0 value sends debug output to the screen. #123 2017-11-07 10:46:24 +08:00
NovaRain 8473ce5210 Replaced some SafeWrite* usages in old code with corresponding HookCall/MakeCall/MakeJump for code readability. 2017-11-06 15:13:05 +08:00
NovaRain 38a3dba476 Added description and define of display_stats to notes.txt and sfall.h. 2017-11-06 14:03:22 +08:00
NovaRain 9c1d439153 Added "display_stats" script function #113 2017-11-06 10:16:02 +08:00
NovaRain bc38a02508 Enabled mouse scroll control in barter and loot screens when the cursor is hovering over other lists, also enabled scrolling through the display monitor (from Crafty) #120
Rearraged the code style in dinput.cpp.
Updated version number.
2017-10-25 11:50:37 +08:00
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
NovaRainandGitHub 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
VladandGitHub 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
NovaRainandphobos2077 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
NovaRainandphobos2077 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
NovaRainandphobos2077 212118ba8c Added a fix to ignore player's equipped items when opening bag/backpack (from Crafty) 2017-02-21 01:43:17 +07:00
NovaRainandphobos2077 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
NovaRainandphobos2077 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
NovaRainandphobos2077 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
NovaRainandphobos2077 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
NovaRainandphobos2077 0f1072c302 Made WorldMapEncounterFix/Rate independent from WorldMapFPSPatch. (#62, with the simplified code from Crafty) 2017-02-21 01:05:45 +07:00
VladandGitHub 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
485 changed files with 38002 additions and 9783 deletions
+12
View File
@@ -0,0 +1,12 @@
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
# target-branch: "develop"
labels:
- "dependencies"
+62
View File
@@ -0,0 +1,62 @@
name: Build
on:
push:
branches:
- 'master'
- 'develop'
- 'github-action'
paths:
- '.github/workflows/build.yml'
- 'action.yml'
- 'sfall/**'
pull_request:
branches:
- 'master'
- 'develop'
paths:
- '.github/workflows/build.yml'
- 'action.yml'
- 'sfall/**'
jobs:
Build:
name: sfall
runs-on: windows-2022
steps:
- name: Clone sfall
uses: actions/checkout@v4
# 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
dev-xp: false
- name: DevXP build
uses: ./
with:
release-xp: false
dev-xp: true
- name: Prepare artifacts
run: |
:
mkdir -p sfall-build
cp artifacts/ddraw.ini sfall-build
cp artifacts/sfall_dat/sfall.dat sfall-build
cp "${{ steps.build.outputs.release-xp }}" sfall-build
shell: bash
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: sfall-build
path: sfall-build
retention-days: 14
+34
View File
@@ -0,0 +1,34 @@
name: github pages
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
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@v4
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 -1
View File
@@ -26,6 +26,7 @@
*.exe
*.out
*.app
!ducible.exe
# NetBeans
nbproject/private/
@@ -58,7 +59,7 @@ nb-configuration.xml
[Dd]evXP/
[Rr]elease/
[Rr]eleases/
[Ww]in2K/
[Rr]eleaseXP/
x64/
x86/
build/
@@ -224,3 +225,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
+1096
View File
File diff suppressed because it is too large Load Diff
+7 -8
View File
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -645,14 +645,14 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@@ -664,12 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+61 -6
View File
@@ -1,6 +1,8 @@
# sfall
[![License](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Dev Build](https://github.com/sfall-team/sfall/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/phobos2077/sfall/actions/workflows/build.yml)
[![GitHub Pages](https://github.com/sfall-team/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 the form of a DLL, which modifies executable in memory without changing anything in EXE file itself.
@@ -11,12 +13,65 @@ A set of engine modifications for the classic game Fallout 2 in the form of a DL
- Many additional features for users, such as item highlight button, party member control, etc.
- Extended scripting capabilities for modders (many new opcodes to control sfall features as well as previously unavailable vanilla engine functions)
Original author: **Timeslip**
Original description: A set of engine modifications for the classic game Fallout 2 by Interplay. Includes fixes for bugs in the original engine, allows fallout to run correctly on modern operating systems, and adds additional features for modders.
Original description: A set of engine modifications for the classic game Fallout 2 by Interplay. Includes fixes for bugs in the original engine, allows Fallout to run correctly on modern operating systems, and adds additional features for modders.
---
#### Fallout Engine IDA Database
[Download for IDA Pro 6.8](https://www.dropbox.com/s/tm0nyx0lnk4yui0/Fallout_1_and_2_IDA68.rar?dl=1 "Download from Dropbox")
| [Download for IDA Pro 7.0](https://www.dropbox.com/s/61srq09pn8grfpu/Fallout_1_and_2_IDA70.rar?dl=1 "Download from Dropbox") (comments are in Russian)
## Installation
- Download `sfall_*.7z` from the [release archive](https://sourceforge.net/projects/sfall/files/).
- Extract `ddraw.dll`, `ddraw.ini`, `sfall.dat`, and the `mods` folder to Fallout's base directory (i.e. the one that contains `fallout2.exe`). Also, remove `gl_highlighting.int` and `gl_partycontrol.int` from Fallout's `data\scripts\` directory if you are updating from an older version.
- __Important Note:__\
If you are using a mod that already included sfall (e.g. killap's [Unofficial Patch](https://github.com/BGforgeNet/Fallout2_Unofficial_Patch) or [Restoration Project](https://github.com/BGforgeNet/Fallout2_Restoration_Project)), then that mod has probably included a custom modified `ddraw.ini`. In that case, overwriting it with sfall's vanilla `ddraw.ini` will be likely break your game. Instead, only overwrite `ddraw.dll`, and keep the mod's existing copy of `ddraw.ini`. (Or, if you know what you're doing, you can merge them together by hand.)
- The folder `translations` contains translations of some of the strings that sfall displays in the game. To use a translation, copy this folder to Fallout's base directory too, and then in `ddraw.ini` change the __TranslationsINI__ setting to `.\translations\<your language>.ini`.
## Uninstallation
Delete `ddraw.dll`, `ddraw.ini`, and `sfall.dat` from your Fallout directory, and delete `sfall-mods.ini` from the `mods` folder.
## Usage
This mod is configured via the `ddraw.ini` and `sfall-mods.ini` files, which can be opened with any text editor. Details of every configerable option are included in those files. Where a comment refers to a DX scancode, the complete list of codes can be found at the link below:\
https://kippykip.com/b3ddocs/commands/scancodes.htm
In a default installation using an unmodified copy of `ddraw.ini`, the middle mouse button will be set to switch between weapons and the mouse wheel will be set to scroll through any menus that respond to the up/down arrow keys. Holding **Ctrl** and hitting numpad keys 0 to 6 (with Num Lock off) will adjust the game speed. Holding **left Ctrl** will let you move items between inventory lists by simply clicking on them. Pressing **left Shift** will highlight items on the ground, and holding the key will let you move an entire stack of items at once. The script extender and any engine fixes are also enabled. Most of the options that change gameplay in some way not originally intended by the developers are disabled.
For [__Wine__](https://www.winehq.org/) users:\
You need to set DLL overrides for `ddraw.dll` to __"native, builtin"__ in `winecfg` or use `WINEDLLOVERRIDES="ddraw=n,b"` to run Fallout from the command line. If you want to play alternative sound files, you'll also need to install GStreamer Good 32-bit plugins.
## Build Instructions
### Prerequisites:
* Visual Studio 2015 with **"Windows XP support for C++"** component. If you're using Visual Studio 2017/2019/2022, make sure to install **"VC++ 2015.3 v14.00 (v140) toolset for desktop"** component as well.
* [DirectX SDK (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=6812). You will also need `ddraw.lib` from DXSDK February 2010 and `dinput.lib` from DXSDK August 2007. Both files can be found in the [DirectX SDK Collection repo](https://github.com/NovaRain/DXSDK_Collection).
* [DirectX Runtime (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109). You can also install it from DirectX SDK installer.
### Steps:
1. Set up a `postbuild.cmd` using the template from the repo.
2. Open the solution file and build with the **ReleaseXP** configuration (this is the one used for sfall releases).
3. If everything is set up correctly, you should have a new sfall `ddraw.dll` in your Fallout 2 directory.
### Minimalist Setup:
If you don't need a full-fledged IDE, you can use Visual Studio Build Tools instead. Taking [Visual Studio 2017 Build Tools](https://aka.ms/vs/15/release/vs_buildtools.exe) for example:
1. Install using the command line:
```
vs_BuildTools.exe --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.140 --add Microsoft.VisualStudio.Component.WinXP --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --passive
```
2. Set up a `postbuild.cmd` using the template from the repo.
3. Use MSBuild in **x86 Native Tools Command Prompt** to build sfall:
```
MSBuild.exe ddraw.sln /t:Clean;Build /p:Configuration=ReleaseXP /p:Platform=Win32
```
## Additional info
* [Changelog](CHANGELOG.md)
* [Scripting Documentation](https://sfall-team.github.io/sfall/)
* Fallout Engine IDA Database: [for IDA Pro 6.8](https://www.dropbox.com/s/tm0nyx0lnk4yui0/Fallout_1_and_2_IDA68.rar?dl=1 "Download from Dropbox") | [for IDA Pro 7.0](https://www.dropbox.com/s/61srq09pn8grfpu/Fallout_1_and_2_IDA70.rar?dl=1 "Download from Dropbox") (comments are in Russian)
* [Fallout 2 Reference Edition](https://github.com/alexbatalov/fallout2-re)
+146
View File
@@ -0,0 +1,146 @@
name: 'sfall'
description: 'Builds sfall binaries'
author: '@wipe2238'
###
#
# Example:
#
# - name: Build sfall
# id: sfall
# uses: sfall-team/sfall@master
#
# - 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: false
default: true
dev-xp:
description: 'Set to true to enable building with DevXP configuration'
required: false
default: false
# 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 $GITHUB_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/"
cp "$DXSDK_DIR/DXSDK_Feb2010/Lib/x86/ddraw.lib" "$DXSDK_DIR/DXSDK_Jun2010/Lib/x86/"
#
echo "::endgroup::"
fi
echo "dir=$(cygpath --windows "$DXSDK_DIR/DXSDK_Jun2010/")" >> $GITHUB_OUTPUT
shell: bash
# Install VS 2015 C++ build tools and WinXP Support components via Chocolatey
- name: Prepare VS 2015 C++ build tools
id: vs2015_tools
run: |
echo "::group::Prepare VS 2015 C++ build tools"
choco install visualstudio2017buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Component.VC.140 --add Microsoft.VisualStudio.Component.WinXP --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --passive"
echo "::endgroup::"
shell: bash
# MSBuild is not in PATH on Windows machines
# Using $GITHUB_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 "exe=$MSBUILD_EXE" >> $GITHUB_OUTPUT
echo "::endgroup::"
shell: bash
- name: Build ReleaseXP
id: build-release-xp
run: |
if [[ "${{ inputs.release-xp }}" == "true" ]]; then
echo ::group::Build ReleaseXP
#
"${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/sfall/ddraw.sln" -p:Configuration=ReleaseXP -p:Platform=Win32 -p:PlatformToolset=v140_xp
#
echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/ReleaseXP/ddraw.dll")" >> $GITHUB_OUTPUT
echo "::endgroup::"
fi
env:
DXSDK_DIR: ${{ steps.dxsdk.outputs.dir }}
shell: bash
- name: Build DevXP
id: build-dev-xp
run: |
:
if [[ "${{ inputs.dev-xp }}" == "true" ]]; then
echo "::group::Build DevXP"
#
"${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/sfall/ddraw.sln" -p:Configuration=DevXP -p:Platform=Win32 -p:PlatformToolset=v140_xp
#
echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/DevXP/ddraw.dll")" >> $GITHUB_OUTPUT
echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/sfall/DevXP/ddraw.pdb")" >> $GITHUB_OUTPUT
echo "::endgroup::"
fi
env:
DXSDK_DIR: ${{ steps.dxsdk.outputs.dir }}
shell: bash
+37
View File
@@ -0,0 +1,37 @@
; Allows you to configure advanced settings for drugs.
; Maximum 50 drugs are allowed
; Note: for vanilla drugs, you can only override the values of NumEffect and AddictTime parameters
[main]
; set to 1 to change Jet addiction to be removed after the time expires
JetWithdrawal=0
; total number of drugs in this file
Count=0
; count starts from 1
[1]
; drug item PID
PID=0
; set a limit on the count of first and second delayed effects when using the drug, i.e. if the queue has delayed effects from the drug,
; and their count is greater or equal to NumEffects, it is not possible to obtain new effects from using the drug
; e.g. this count is 4 for Buffout/Mentats/Psycho/Jet
; set -1 to leave this parameter unchanged
NumEffects=-1
; the duration of the addiction effect in game minutes (i.e. 1440 = 24 game hours)
; set to 0 to use the default time of 7 days (as all drugs except Jet)
AddictTime=0
; the number of the global variable from vault13.gam responsible for displaying addiction in the character screen
; if you set GvarID with numbers: 21-26, 295, 296, or variable numbers that have already been declared in previous sections,
; the TextID and FrmID options in this section will be ignored
; set to 0 if the addiction is not required
GvarID=0
; the index number from editor.msg to display the title of the addiction (the description uses the index number of TextID + 100)
TextID=-1
; the line number (0-indexed) of the corresponding FRM in skilldex.lst
FrmID=-1
+132 -7
View File
@@ -2,15 +2,64 @@
;When adding extra perks to a mod, it's advisable to use the fake perk scripting functions rather than make
; modifications in this file, as some perks have hardcoded effects which may catch you out
;Set the bonus value to 0 in the 'PerksTweak' section for perks to get around this problem
;Since traits need to be picked before any scripts run, they have an additional NoHardcode option in this file which can
; be used to remove their hardcoded effects, and add new stat/skill effects
;Since traits need to be picked before any scripts run, they have an additional 'NoHardcode' option in this file
; which can be used to remove their hardcoded effects, and add new stat/skill effects
;##############################################################################
[PerksTweak]
;Changes the light level bonus for 'Night Vision' perk (ID 9)
;valid range: 0..100, 20 - default bonus
NightVisionBonus=20
;Changes the Outdoorsman skill bonus for 'Survivalist' perk (ID 16)
;125 - maximum bonus, 25 - default bonus
SurvivalistBonus=25
;Changes the bonus for 'Master Trader' perk (ID 17)
;25 - default bonus
MasterTraderBonus=25
;Changes the skill point bonus for 'Educated' perk (ID 18)
;125 - maximum bonus, 2 - default bonus
EducatedBonus=2
;Changes the hit point bonuses for 'Healer' perk (ID 19)
;999 - maximum bonus, 4 - default bonus
HealerMinBonus=4
;999 - maximum bonus, 10 - default bonus
HealerMaxBonus=10
;Changes the hit point bonus for 'Lifegiver' perk (ID 28)
;125 - maximum bonus, 4 - default bonus
LifegiverBonus=4
;Changes the Science and Repair skill bonus for 'Mr.Fixit' perk (ID 31)
;125 - maximum bonus, 10 - default bonus
MrFixitBonus=10
;Changes the skill bonuses for 'Medic' perk (ID 32)
;125 - maximum bonus, 10 - default bonus
MedicFirstAidBonus=10
MedicDoctorBonus=10
;Changes the Lockpick and Steal skill bonus for 'Master Thief' perk (ID 33)
;125 - maximum bonus, 15 - default bonus
MasterThiefBonus=15
;Changes the Speech skill bonus for 'Speaker' perk (ID 34)
;125 - maximum bonus, 20 - default bonus
SpeakerBonus=20
;Changes the Sneak skill bonus (when in darkness) for 'Ghost' perk (ID 38)
;125 - maximum bonus, 20 - default bonus
GhostBonus=20
;Changes the Outdoorsman skill bonus for 'Ranger' perk (ID 47)
;125 - maximum bonus, 15 - default bonus
RangerOutdoorsmanBonus=15
;Changes the distance bonus for 'Weapon Long Range' weapon perk (ID 58)
;2 - no bonus, 4 - default bonus
WeaponLongRangeBonus=4
@@ -30,13 +79,36 @@ WeaponScopeRangeBonus=5
VaultCityInoculationsPoisonBonus=10
VaultCityInoculationsRadBonus=10
;Changes the distance bonus for 'Cautious Nature' perk (ID 80)
;Affects where critters spawn in 'surrounding' random encounters without a specified distance
;valid range: -12..20, 3 - default bonus
CautiousNatureBonus=3
;Changes the percentage bonus for 'Comprehension' perk (ID 81)
;50 - default bonus
ComprehensionBonus=50
;Changes the damage bonus per level for 'Demolition Expert' perk (ID 82)
;999 - maximum bonus, 10 - default bonus
DemolitionExpertBonus=10
;Changes the damage bonus for 'Living Anatomy' perk (ID 97)
;125 - maximum bonus, 5 - default bonus
;Changes the Gambling skill bonus for 'Gambler' perk (ID 83)
;125 - maximum bonus, 20 - default bonus
GamblerBonus=20
;Changes the Steal skill bonus for 'Harmless' perk (ID 91)
;125 - maximum bonus, 20 - default bonus
HarmlessBonus=20
;Changes the damage bonus and the Doctor skill bonus for 'Living Anatomy' perk (ID 97)
;125 - maximum bonus, 5 - default damage bonus
LivingAnatomyBonus=5
;125 - maximum bonus, 10 - default skill bonus
LivingAnatomyDoctorBonus=10
;Changes the Speech and Barter skill bonus for 'Negotiator' perk (ID 99)
;125 - maximum bonus, 10 - default bonus
NegotiatorBonus=10
;Changes the damage bonus for 'Pyromaniac' perk (ID 101)
;125 - maximum bonus, 5 - default bonus
@@ -50,10 +122,23 @@ SalesmanBonus=20
;valid range: 0..100, 50 - default percent
StonewallPercent=50
;Changes the Lockpick, Steal, and Traps skill bonus for 'Thief' perk (ID 105)
;125 - maximum bonus, 10 - default bonus
ThiefBonus=10
;Changes the strength bonus for 'Weapon Handling' perk (ID 106)
;0 - no bonus, 10 - maximum bonus, 3 - default bonus
WeaponHandlingBonus=3
;Changes the skill bonuses for 'Vault City Training' perk (ID 107)
;125 - maximum bonus, 5 - default bonus
VaultCityTrainingFirstAidBonus=5
VaultCityTrainingDoctorBonus=5
;Changes the Speech skill bonus for 'Expert Excrement Expeditor' perk (ID 116)
;125 - maximum bonus, 5 - default bonus
ExpertExcrementExpeditorBonus=5
;##############################################################################
[Perks]
;Set to 1 to enable the modifications for perks
@@ -86,9 +171,16 @@ Enable=0
;If the value is set to -99999, the variable will be ignored (similar to comment out that line)
;##############################################################################
;This is a modification to perk 119
[119]
;You can add simple extra perks with ID numbers from 119 to 255
;The extra perks do not require using scripting functions to change player stats, and can also be used for Armor perks
;These parameters are only for extra perks
;Stat1/Stat2: same as Stat
;Stat1Mag/Stat2Mag: same as StatMag
;Skill3-Skill5: The skill to be modified (or -1 for none)
;Skill3Mod-Skill5Mod: The increased/decreased value to the modified skill
;This is a modification to vanilla perk 0
[0]
Name=Example
Desc=This is an example perk description
Image=72
@@ -109,6 +201,39 @@ INT=0
AGL=0
LCK=0
;Example for creating extra perks
[119]
Name=Extra Perk
Desc=This perk can change player stats and skills
Image=72
Ranks=1
Level=2
Type=0
Stat=-1
StatMag=0
Skill1=-1
Skill1Mag=0
Skill2=-1
Skill2Mag=0
STR=0
PER=0
END=0
CHR=0
INT=0
AGL=0
LCK=0
; for extra perks only
Stat1=-1
Stat1Mag=0
Stat2=-1
Stat2Mag=0
Skill3=-1
Skill3Mod=0
Skill4=-1
Skill4Mod=0
Skill5=-1
Skill5Mod=0
;##############################################################################
[Traits]
;Set to 1 to enable the modifications for traits
+8
View File
@@ -11,6 +11,14 @@ PartyLvlMsg=Lvl:
PartyACMsg=AC:
PartyAddictMsg=Addict
NPCPickupFail=%s cannot pick up the item.
AmmoInfoGlovz=Div: DR/%d, DT/%d
AmmoInfoYAAM=DT Mod: %d
PartyOrderAttackHuman=I'll take care of it.|Okay, I got it.|Sounds like a plan.
PartyOrderAttackCreature=::Growl::
PartyOrderAttackRobot=::Beep::
HiResInfo=This version of sfall has its own integrated High Resolution Patch mode, which is compatible with the settings of the High Resolution Patch by Mash.\n\nIf you want to continue using the Hi-Res Patch by Mash without seeing this message, disable the 'HiResMode' option in ddraw.ini.\nOr you can disable the external Hi-Res Patch to get new graphics improvements from sfall.\n\nDo you want to disable the High Resolution Patch by Mash?
[AppearanceMod]
RaceText=Race
+1 -1
View File
@@ -10,4 +10,4 @@
;in the proto for other items, so AI will use them for healing in combat as well
STIMPAK=40
SUPER_STIMPAK=144
HEALING_POWDER=237
HEALING_POWDER=273
@@ -4,7 +4,7 @@
;WeaponAnims codes
; 1 - Knife (D)
; 2 - Club (E)
; 3 - Sledgehammer (F)
; 3 - Sledgehammer (F)
; 4 - Spear (G)
; 5 - Pistol (H)
; 6 - SMG (I)
@@ -1,7 +1,7 @@
;WeaponAnims codes
; 1 - Knife (D)
; 2 - Club (E)
; 3 - Sledgehammer (F)
; 3 - Sledgehammer (F)
; 4 - Spear (G)
; 5 - Pistol (H)
; 6 - SMG (I)
@@ -72,11 +72,12 @@ Power=16777349
[5]
PID=16777720
WeaponAnims=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Default=16777353
Default=16777346
Jacket=16777346
Leather=16777347
Metal=16777348
Combat=16777226
Combat=16777367
Robe=16777368
; Kitsune (RP)
[6]
+73
View File
@@ -0,0 +1,73 @@
[Highlighting]
; DX scancode of a key to press to highlight items on the ground
; 42 - SHIFT key
Key=42
; Set to 1 to also highlight containers
Containers=0
; Set to 1 to also highlight lootable corpses
Corpses=0
; Set to 1 to also highlight critters, with the same rules as in combat
Critters=0
; Set to 1 to only highlight objects in the player's line-of-sight
CheckLOS=1
; Set the color of outlines for items; available colors:
; 1 - glowing red
; 2 - red
; 4 - grey
; 8 - glowing green
; 16 - bright yellow
; 32 - dark yellow
; 64 - purple
; You can set a custom color from the game palette by multiplying the color index value by 256 (in 4.2.7 or later)
OutlineColor=16
; Set the color of outlines for containers
OutlineColorContainers=4
; Set the color of outlines for corpses
OutlineColorCorpses=4
; Motion Scanner mode:
; 0 - ignored
; 1 - requires Motion Sensor to be present in the player's inventory to activate highlighting
; 2 - requires Motion Sensor and consumes 1 charge on every use (depleted sensor will not work anymore)
MotionScanner=0
[CombatControl]
;Allows you to control other critters directly in combat
;Set to 0 to disable
;Set to 1 to control all critters in combat (allowed only in sfall debugging mode)
;Set to 2 to control all party members
;Set to 3 to let you use the command cursor to specify targets for party members to attack in combat
Mode=0
;If you want to control only specific critters, uncomment the PIDList line and set a comma-delimited list of PIDs
;PIDList=62,89,97,107,160,161
;Set a comma-delimited list of perk IDs for perks to be inherited from the player during the combat control
PerksList=0,73
;Set to 1 to allow the player to gain a positive reputation when killing NPCs while controlling other critters
GainReputation=0
;Choose a notification box to display the name of the controlled critter above the interface bar
;Must be between 5 and (4 + the value of BoxBarCount in ddraw.ini)
;For sfall 4.1.6+ the number for the notification box is set automatically, so just use any value
;Set to 0 to disable
DisplayName=0
;Set the color of display name, available colors:
;0 - green
;1 - red
;2 - white
;3 - yellow
;4 - dark yellow
;5 - blue
;6 - purple
;7 - dull pink
DisplayNameColor=0
+168 -99
View File
File diff suppressed because it is too large Load Diff
+201
View File
@@ -0,0 +1,201 @@
;Example Ammo INI for vanilla damage formula
; PID_EXPLOSIVE_ROCKET
[1]
pid=14
ac_adjust=0
dr_adjust=-25
dam_mult=1
dam_div=1
; PID_10MM_JHP
[2]
pid=29
ac_adjust=0
dr_adjust=25
dam_mult=2
dam_div=1
; PID_10MM_AP
[3]
pid=30
ac_adjust=0
dr_adjust=-25
dam_mult=1
dam_div=2
; PID_44_MAGNUM_JHP
[4]
pid=31
ac_adjust=0
dr_adjust=20
dam_mult=2
dam_div=1
; PID_FLAMETHROWER_FUEL
[5]
pid=32
ac_adjust=-20
dr_adjust=25
dam_mult=1
dam_div=1
; PID_14MM_AP
[6]
pid=33
ac_adjust=0
dr_adjust=-50
dam_mult=1
dam_div=2
; PID_223_FMJ
[7]
pid=34
ac_adjust=-20
dr_adjust=-20
dam_mult=1
dam_div=1
; PID_5MM_JHP
[8]
pid=35
ac_adjust=0
dr_adjust=35
dam_mult=2
dam_div=1
; PID_5MM_AP
[9]
pid=36
ac_adjust=0
dr_adjust=-35
dam_mult=1
dam_div=2
; PID_ROCKET_AP
[10]
pid=37
ac_adjust=-15
dr_adjust=-50
dam_mult=1
dam_div=1
; PID_SMALL_ENERGY_CELL
[11]
pid=38
ac_adjust=0
dr_adjust=0
dam_mult=1
dam_div=1
; PID_MICRO_FUSION_CELL
[12]
pid=39
ac_adjust=0
dr_adjust=0
dam_mult=1
dam_div=1
; PID_SHOTGUN_SHELLS
[13]
pid=95
ac_adjust=-10
dr_adjust=0
dam_mult=1
dam_div=1
; PID_44_FMJ_MAGNUM
[14]
pid=111
ac_adjust=0
dr_adjust=-20
dam_mult=1
dam_div=1
; PID_9MM_BALL
[15]
pid=121
ac_adjust=0
dr_adjust=0
dam_mult=1
dam_div=1
; PID_BBS
[16]
pid=163
ac_adjust=0
dr_adjust=0
dam_mult=1
dam_div=1
; PID_ROBO_ROCKET_AMMO
[17]
pid=274
ac_adjust=0
dr_adjust=-25
dam_mult=1
dam_div=1
; PID_45_CALIBER_AMMO
[18]
pid=357
ac_adjust=0
dr_adjust=0
dam_mult=1
dam_div=1
; PID_2MM_EC_AMMO
[19]
pid=358
ac_adjust=-30
dr_adjust=-20
dam_mult=3
dam_div=2
; PID_4_7MM_CASELESS
[20]
pid=359
ac_adjust=-5
dr_adjust=-10
dam_mult=3
dam_div=2
; PID_9MM_AMMO
[21]
pid=360
ac_adjust=0
dr_adjust=10
dam_mult=1
dam_div=2
; PID_HN_NEEDLER_CARTRIDGE
[22]
pid=361
ac_adjust=-10
dr_adjust=0
dam_mult=1
dam_div=1
; PID_HN_AP_NEEDLER_CARTRIDGE
[23]
pid=362
ac_adjust=-10
dr_adjust=0
dam_mult=2
dam_div=1
; PID_7_62MM_AMMO
[24]
pid=363
ac_adjust=-5
dr_adjust=-10
dam_mult=1
dam_div=1
; PID_FLAMETHROWER_FUEL_MK_II
[25]
pid=382
ac_adjust=-20
dr_adjust=0
dam_mult=1
dam_div=1
@@ -0,0 +1,30 @@
/*
A basic example of how to use set_spray_settings function for script-based burst control
*/
#include "..\headers\define.h"
#include "..\headers\sfall\define_extra.h"
#include "..\headers\sfall\sfall.h"
procedure start;
procedure ammocost_handler;
procedure start begin
if game_loaded then begin
register_hook_proc(HOOK_AMMOCOST, ammocost_handler);
end
end
procedure ammocost_handler begin
variable
weapon := get_sfall_arg,
bullets := get_sfall_arg,
cost := get_sfall_arg,
event := get_sfall_arg;
if (event == 2 and weapon > 0) then begin // when calculating number of burst rounds
if (obj_pid(weapon) == PID_ASSAULT_RIFLE) then begin
set_spray_settings(1, 1, 1, 1); // burst attack will not hit other targets
end
end
end
@@ -1,28 +1,69 @@
/*
Example algorithm of how the game engine calculates combat damage
This script reimplements the combat damage calculation of the original game.
Use this to implement your own damage formula!
*/
#include "..\headers\define.h"
#include "..\headers\command.h"
#include "..\headers\sfall\sfall.h"
#include "..\headers\sfall\define_extra.h"
#include "../sfall/define_lite.h"
#include "../sfall/define_extra.h"
#include "../sfall/sfall.h"
#define DAMAGE_FORMULA_VANILLA (0)
#define DAMAGE_FORMULA_GLOVZ (1)
#define DAMAGE_FORMULA_GLOVZ2 (2)
#define DAMAGE_FORMULA_YAAM (5)
procedure start;
procedure compute_damage_F2;
procedure item_w_damage_hook;
procedure combatdamage_handler;
procedure itemdamage_handler;
procedure calc_damage_YAAM(variable weapon, variable rounds, variable armorDT, variable armorDR, variable bonusRangedDamage, variable multiplyDamage, variable difficulty);
procedure item_w_subtype(variable weapon, variable hit_mode);
procedure get_ammo_value(variable weapon, variable param);
variable item_w_damage;
variable
damage_formula,
item_damage_min,
item_damage_max,
item_damage_weapon,
item_damage_attacker;
procedure start begin
if game_loaded then begin
register_hook_proc(HOOK_COMBATDAMAGE, compute_damage_F2);
register_hook_proc(HOOK_ITEMDAMAGE, item_w_damage_hook);
damage_formula := get_ini_setting("ddraw.ini|Misc|DamageFormula");
register_hook_proc(HOOK_COMBATDAMAGE, combatdamage_handler);
register_hook_proc(HOOK_ITEMDAMAGE, itemdamage_handler);
end
end
procedure compute_damage_F2 begin
/*
HOOK_COMBATDAMAGE
Runs when:
1) Game calculates how much damage each target will get. This includes primary target as well as all extras (explosions and bursts). This happens BEFORE the actual attack animation.
2) AI decides whether it is safe to use area attack (burst, grenades), if he might hit friendlies.
Does not run for misses, or non-combat damage like dynamite explosions.
Critter arg0 - The target
Critter arg1 - The attacker
int arg2 - The amount of damage to the target
int arg3 - The amount of damage to the attacker
int arg4 - The special effect flags for the target (use bwand DAM_* to check specific flags)
int arg5 - The special effect flags for the attacker (use bwand DAM_* to check specific flags)
Item arg6 - The weapon used in the attack
int arg7 - The bodypart that was struck
int arg8 - Damage Multiplier (this is divided by 2, so a value of 3 does 1.5x damage, and 8 does 4x damage. Usually it's 2; for critical hits, the value is taken from the critical table; with Silent Death perk and the corresponding attack conditions, the value will be doubled)
int arg9 - Number of bullets actually hit the target (1 for melee attacks)
int arg10 - The amount of knockback to the target
int arg11 - Attack Type (see ATKTYPE_* constants)
mixed arg12 - computed attack data (see C_ATTACK_* for offsets and use get/set_object_data functions to get/set the data)
int ret0 - The damage to the target
int ret1 - The damage to the attacker
int ret2 - The special effect flags for the target
int ret3 - The special effect flags for the attacker
int ret4 - The amount of knockback to the target
*/
procedure combatdamage_handler begin
variable dmg_type, weapon_perk, dmg_thresh, dmg_resist, weapon_subtype, bonus_ranged, difficulty, i, dmg_mult, dmg_div, damage;
variable target, flags, knockback, amount;
@@ -40,6 +81,11 @@ procedure compute_damage_F2 begin
amountKnockback := get_sfall_arg,
hit_mode := get_sfall_arg;
if (ctdSource != item_damage_attacker or weapon != item_damage_weapon) then begin
debug_msg("! ERROR ! compute_damage: Expected attacker or weapon differs!");
return;
end
if (flagsSource bwand DAM_HIT) then begin
target := ctdTarget;
flags := flagsTarget;
@@ -50,7 +96,6 @@ procedure compute_damage_F2 begin
knockback := 0;
end
//amount := 0;
if target and (obj_type(target) == OBJ_TYPE_CRITTER) then begin
if weapon then begin
dmg_type := weapon_dmg_type(weapon);
@@ -77,7 +122,7 @@ procedure compute_damage_F2 begin
end
weapon_subtype := item_w_subtype(weapon, hit_mode); // item_w_subtype_
if (ctdSource != dude_obj) or (weapon_subtype != WEAPON_TYPE_GUNS) then
if (ctdSource != dude_obj) or (weapon_subtype != WEAPON_TYPE_RANGED) then
bonus_ranged := 0;
else
bonus_ranged := has_trait(TRAIT_PERK, ctdSource, PERK_bonus_ranged_damage) * 2;
@@ -90,27 +135,31 @@ procedure compute_damage_F2 begin
difficulty := 125;
end
// F2 default start
// Damage = (1 - (DR_armor + DR_ammo_adjust) * (((raw_damage * (dmg_mult * damageMultiplier)) / dmg_div) - dmg_thresh)
dmg_resist += get_ammo_value(weapon, PROTO_AM_DR_MOD); // item_w_dr_adjust_ (DR Adjust %)
if (dmg_resist < 100) then begin
if (dmg_resist < 0) then dmg_resist := 0;
if (damage_formula == DAMAGE_FORMULA_YAAM) then begin
amount := calc_damage_YAAM(weapon, rounds, dmg_thresh, dmg_resist, bonus_ranged, damageMultiplier, difficulty);
end else begin
// F2 default start
// Damage = (1 - (DR_armor + DR_ammo_adjust) * (((raw_damage * (dmg_mult * damageMultiplier)) / dmg_div) - dmg_thresh)
dmg_resist += get_ammo_value(weapon, PROTO_AM_DR_MOD); // item_w_dr_adjust_ (DR Adjust %)
if (dmg_resist < 100) then begin
if (dmg_resist < 0) then dmg_resist := 0;
dmg_mult := damageMultiplier * get_ammo_value(weapon, PROTO_AM_DMG_MULT); // item_w_dam_mult_ (Dmg mod A)
dmg_div := get_ammo_value(weapon, PROTO_AM_DMG_DIV); // item_w_dam_div_ (Dmg mod B)
dmg_mult := damageMultiplier * get_ammo_value(weapon, PROTO_AM_DMG_MULT); // item_w_dam_mult_ (Dmg mod A)
dmg_div := get_ammo_value(weapon, PROTO_AM_DMG_DIV); // item_w_dam_div_ (Dmg mod B)
for (i := 1; i <= rounds; i++) begin
damage := (item_w_damage + bonus_ranged) * dmg_mult; // item_w_damage_ (raw_damage)
if dmg_div then damage /= dmg_div;
for (i := 1; i <= rounds; i++) begin
damage := (random(item_damage_min, item_damage_max) + bonus_ranged) * dmg_mult; // item_w_damage_ (raw_damage)
if dmg_div then damage /= dmg_div;
damage := (((damage / 2) * difficulty) / 100) - dmg_thresh;
if (damage > 0) then begin
damage := damage - ((damage * dmg_resist) / 100); // reduce damage by the percentage of DR_armor + DR_Ammo
if (damage > 0) then amount += damage;
damage := (((damage / 2) * difficulty) / 100) - dmg_thresh;
if (damage > 0) then begin
damage := damage - ((damage * dmg_resist) / 100); // reduce damage by the percentage of DR_armor + DR_Ammo
if (damage > 0) then amount += damage;
end
end
end
// F2 default end
end
// F2 default end
if (ctdSource == dude_obj) then begin
if has_trait(TRAIT_PERK, ctdSource, PERK_living_anatomy_perk) and (critter_kill_type(ctdTarget) != KILL_TYPE_robot_kills)
@@ -140,11 +189,11 @@ procedure compute_damage_F2 begin
end
if (flagsSource bwand DAM_HIT) then begin
display_msg("amountTarget = " + amountTarget+ ", amount = " + amount);
display_msg("COMBATDAMAGE amountTarget = " + amountTarget+ ", amount = " + amount);
amountTarget := amount;
flagsTarget := flags;
end else begin
display_msg("amountSource = " + amountSource+ ", amount = " + amount);
display_msg("COMBATDAMAGE amountSource = " + amountSource+ ", amount = " + amount);
amountSource := amount;
flagsSource := flags;
end
@@ -154,40 +203,118 @@ procedure compute_damage_F2 begin
set_sfall_return(flagsTarget);
set_sfall_return(flagsSource);
set_sfall_return(amountKnockback);
set_sfall_arg(2, amountTarget);
set_sfall_arg(3, amountSource);
set_sfall_arg(4, flagsTarget);
set_sfall_arg(5, flagsSource);
set_sfall_arg(10, amountKnockback);
end
procedure item_w_damage_hook begin
variable
item_w_damage_min := get_sfall_arg,
item_w_damage_max := get_sfall_arg;
//weapon := get_sfall_arg,
//source := get_sfall_arg,
procedure calc_damage_YAAM(variable weapon, variable rounds, variable armorDT, variable armorDR, variable bonusRangedDamage, variable multiplyDamage, variable difficulty) begin
variable accumulatedDamage, ammoDiv, ammoMult, ammoDT, calcDT, _calcDT, calcDR, i, rawDamage, resistedDamage;
if (rounds <= 0) then begin
return 0;
end
ammoDiv := get_ammo_value(weapon, PROTO_AM_DMG_DIV);
ammoMult := get_ammo_value(weapon, PROTO_AM_DMG_MULT);
// Damage Multipler = Critical Multipler * Ammo Dividend
multiplyDamage *= ammoMult;
// Retrieve ammo DT (well, it's really Retrieve ammo DR, but since we're treating ammo DR as ammo DT...)
ammoDT := get_ammo_value(weapon, PROTO_AM_DR_MOD);
calcDT := armorDT - ammoDT;
_calcDT := calcDT;
if (calcDT >= 0) then begin
_calcDT := 0;
end else begin
// note that this should be a negative value
_calcDT *= 10;
calcDT := 0;
end
// DR = armor DR + DT (note that DT should be less than or equal to zero)
calcDR = armorDR + _calcDT;
if (calcDR < 0) then begin
calcDR = 0;
end else if (calcDR >= 100) then begin
return 0;
end
display_msg("YAAM: AmmoDT=" + ammoDT + ", DT=" + calcDT + "/" + armorDT + ", DR=" + calcDR + "/" + armorDR);
// Start of damage calculation loop
for (i := 0; i < rounds; i++) begin
rawDamage = random(item_damage_min, item_damage_max);
rawDamage += bonusRangedDamage;
rawDamage -= calcDT;
if (rawDamage <= 0) then
continue;
rawDamage *= multiplyDamage;
if (ammoDiv != 0) then begin
rawDamage /= ammoDiv;
end
rawDamage /= 2; // related to critical hit damage multiplier bonus
rawDamage *= difficulty; // combat difficulty setting (75 if wimpy, 100 if normal or if attacker is player, 125 if rough)
rawDamage /= 100;
resistedDamage = calcDR * rawDamage;
resistedDamage /= 100;
rawDamage -= resistedDamage;
if (rawDamage > 0) then begin
display_msg("YAAM: Bullet " + i + " dmg=" + rawDamage);
accumulatedDamage += rawDamage;
end
end
return accumulatedDamage;
end
/*
HOOK_ITEMDAMAGE
Runs when retrieving the damage rating of the player's used weapon. (Which may be their fists.)
int arg0 - The default min damage
int arg1 - The default max damage
Item arg2 - The weapon used (0 if unarmed)
Critter arg3 - The critter doing the attacking
int arg4 - The type of attack
int arg5 - non-zero if this is an attack using a melee weapon
int ret0 - Either the damage to be used, if ret1 isn't given, or the new minimum damage if it is
int ret1 - The new maximum damage
*/
procedure itemdamage_handler begin
item_damage_min := get_sfall_arg;
item_damage_max := get_sfall_arg;
item_damage_weapon := get_sfall_arg;
item_damage_attacker := get_sfall_arg;
//hit_mode := get_sfall_arg,
//isMelee := get_sfall_arg;
item_w_damage := (item_w_damage_min + (item_w_damage_max - item_w_damage_min) / 2);
display_msg("item_w_damage_ = " + item_w_damage);
set_sfall_return(item_w_damage);
display_msg("itemdamage: " + item_damage_min + "-" + item_damage_max);
end
procedure item_w_subtype(variable weapon, variable hit_mode) begin
variable attack_mode, type := WEAPON_TYPE_UNARMED;
if weapon and (hit_mode <= ATKTYPE_RWEP2) then begin
attack_mode := (get_proto_data(obj_pid(weapon), PROTO_IT_FLAGS));
attack_mode := weapon_attack_mode(obj_pid(weapon), hit_mode);
if (hit_mode == ATKTYPE_LWEP2) or (hit_mode == ATKTYPE_RWEP2) then
attack_mode := (attack_mode bwand 0xF0) / 16; // shift 4 bits to the right
else
attack_mode := (attack_mode bwand 0x0F);
if (attack_mode > ATKMODE_PRI_THROW) then
type := WEAPON_TYPE_GUNS;
else if (attack_mode == ATKMODE_PRI_THROW) then
if (attack_mode >= ATTACK_MODE_SINGLE) then
type := WEAPON_TYPE_RANGED;
else if (attack_mode == ATTACK_MODE_THROW) then
type := WEAPON_TYPE_THROWN;
else if (attack_mode > ATKMODE_PRI_KICK) then
else if (attack_mode >= ATTACK_MODE_SWING) then
type := WEAPON_TYPE_MELEE;
else if (attack_mode == ATTACK_MODE_NONE) then
type := WEAPON_TYPE_NONE;
end
return type;
@@ -0,0 +1,44 @@
/*
Example implementation of the algorithm of how the game engine sets the explosive timer.
*/
#include "..\..\scripting_docs\headers\sfall.h"
#include "..\..\scripting_docs\headers\define_lite.h"
// from CONDTION.H
#define ROLL_CRITICAL_FAILURE (0)
#define ROLL_FAILURE (1)
#define ROLL_SUCCESS (2)
#define ROLL_CRITICAL_SUCCESS (3)
procedure start;
procedure start begin
if game_loaded then begin
register_hook(HOOK_EXPLOSIVETIMER);
end else begin
variable
time := get_sfall_arg,
result := ROLL_CRITICAL_FAILURE;
if has_trait(TRAIT_PERK, dude_obj, PERK_demolition_expert_perk) then
result := ROLL_SUCCESS;
else begin
result := roll_vs_skill(dude_obj, SKILL_TRAPS, 0);
end
if (result) then begin
if (result == ROLL_FAILURE) then
time /= 2;
else begin // success or critical success
result := ROLL_SUCCESS;
end
end else begin // critical failure
time := 0;
result := ROLL_FAILURE;
end
set_sfall_return(time);
set_sfall_return(result); // failure/success
end
end

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