mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
63606b96d7 | ||
|
|
d6946c8b65 | ||
|
|
96eab6efff | ||
|
|
e277bbbe9a | ||
|
|
1f18d06f9b | ||
|
|
9f0a3e43de | ||
|
|
1e1eeda287 | ||
|
|
17383dbd64 | ||
|
|
d74ec5f4fa | ||
|
|
45b1cce949 | ||
|
|
5ffa2e1f79 | ||
|
|
d9ee190435 | ||
|
|
b4495f01e9 | ||
|
|
d8ae063298 | ||
|
|
9b92adfa51 | ||
|
|
67c6ee6245 | ||
|
|
55e61c54d2 | ||
|
|
06c5779475 | ||
|
|
53a2a11521 | ||
|
|
c3dae6db57 | ||
|
|
86e1425044 | ||
|
|
b54b86b33c | ||
|
|
f4eaaccc57 | ||
|
|
fb47779d4c | ||
|
|
91cc37dc17 | ||
|
|
9c6d7bfdd2 | ||
|
|
3b836fdf73 | ||
|
|
e3a133e3aa | ||
|
|
81e612f383 | ||
|
|
490934bb3c | ||
|
|
68d721773e | ||
|
|
31df2d5c98 | ||
|
|
db4f0cb8d5 | ||
|
|
67c74888b4 | ||
|
|
1ee135611d | ||
|
|
bfbdea7e83 | ||
|
|
802a49b627 | ||
|
|
d619c01d81 | ||
|
|
a273969756 | ||
|
|
a14f3d14a3 | ||
|
|
cc61526f69 | ||
|
|
5c4b1ffea1 | ||
|
|
4e9eb06988 | ||
|
|
7cd30956a7 | ||
|
|
c28d8c0d2b | ||
|
|
7b3f69f496 | ||
|
|
6d6d6a40f9 | ||
|
|
5e8c376ecf | ||
|
|
90e18faefc | ||
|
|
9cdbc01728 | ||
|
|
168687c9ee | ||
|
|
41fd1e3495 | ||
|
|
a8490f1913 | ||
|
|
f5bc53d780 | ||
|
|
2db7492648 | ||
|
|
bf4b50d549 | ||
|
|
fe24221456 | ||
|
|
b58c26a401 | ||
|
|
38e1eaef64 | ||
|
|
f408534ce4 | ||
|
|
e9c73e6dd3 | ||
|
|
bac9e630f9 | ||
|
|
d5c79deb12 | ||
|
|
adfc8d851b | ||
|
|
1e950f5172 | ||
|
|
b7c34813bf | ||
|
|
49a536894a | ||
|
|
b7aefb3040 | ||
|
|
29b6d4ba10 | ||
|
|
36df793c46 | ||
|
|
cb24364319 | ||
|
|
84d8d80d30 | ||
|
|
b3c5fad981 | ||
|
|
7e74abf78f | ||
|
|
ed1f926d36 | ||
|
|
5ac1b23bc6 | ||
|
|
19d0f5c16a | ||
|
|
c44fe84cc4 | ||
|
|
a3383fdf7f | ||
|
|
2ed856deaf | ||
|
|
983b7721a8 | ||
|
|
54dea0b963 | ||
|
|
df0b3d26b1 | ||
|
|
0755dbe05d | ||
|
|
3a3dd2f5f5 | ||
|
|
7fb3ffb69f | ||
|
|
046947d21c | ||
|
|
c794acdc24 | ||
|
|
a09ce9553a | ||
|
|
8e869c7dba | ||
|
|
eddea58cf0 | ||
|
|
961b52d8e3 | ||
|
|
ff7bddf32f | ||
|
|
0ad8b5484e | ||
|
|
e6f4ae3c6c | ||
|
|
8691540d5f | ||
|
|
2f3ca9ffb8 | ||
|
|
10671ddf46 | ||
|
|
4313df2e30 | ||
|
|
e065066ad0 | ||
|
|
e7f6f6fd73 | ||
|
|
08b3942670 | ||
|
|
90dfe16b22 | ||
|
|
a0967aa12a | ||
|
|
7f7a159fc1 | ||
|
|
20ee349869 | ||
|
|
3a7b77404c | ||
|
|
4516bf7935 | ||
|
|
82567d1b9c | ||
|
|
abdfd94806 | ||
|
|
a7850bd54a | ||
|
|
9996b60aae | ||
|
|
1fb58e3aa4 | ||
|
|
54bd7149fa | ||
|
|
2c0a1e1e99 | ||
|
|
d839bd697d | ||
|
|
13c3ac8db5 | ||
|
|
03af7b193d | ||
|
|
0e2317fd4c | ||
|
|
71ecec3d40 | ||
|
|
930d1e8a03 | ||
|
|
3a9dcc1945 | ||
|
|
089a1831f1 | ||
|
|
2f7d8a6db9 | ||
|
|
b65024f039 | ||
|
|
da47ee5134 | ||
|
|
17afecf5ca | ||
|
|
74dca891a1 | ||
|
|
aa3ac70949 | ||
|
|
8622917e12 | ||
|
|
b2ccf26bd5 | ||
|
|
3b33131280 | ||
|
|
b1ab93c8c0 | ||
|
|
656a8e2e39 | ||
|
|
d16f1bc60c | ||
|
|
3b9348dd69 | ||
|
|
d95780aa7c | ||
|
|
a1a130a44d | ||
|
|
8323cbd092 | ||
|
|
503e25a92a | ||
|
|
114e9d8ae6 | ||
|
|
3476a27a54 | ||
|
|
d112a6ec09 | ||
|
|
1a69eaf39a | ||
|
|
194a736a06 | ||
|
|
7131879776 | ||
|
|
70340af564 | ||
|
|
09595c0e17 | ||
|
|
730cdd8ae8 | ||
|
|
3fde11c7d9 | ||
|
|
3a29db5f90 | ||
|
|
e18df80980 | ||
|
|
bdf6046df2 | ||
|
|
3434626608 | ||
|
|
90872396ad | ||
|
|
8edd813ec1 | ||
|
|
3f3accbc24 | ||
|
|
73872e41b6 | ||
|
|
d8a1b94724 | ||
|
|
5c847b671a | ||
|
|
ad3bcfea5f | ||
|
|
9bf9de2a95 | ||
|
|
345815ec88 | ||
|
|
115e71543b | ||
|
|
0b9140b3ef | ||
|
|
38d00f2e5f | ||
|
|
7efcf1b21c | ||
|
|
7887bf5e95 | ||
|
|
1cbca9c133 | ||
|
|
d07d27fcec | ||
|
|
0604112a2e | ||
|
|
b6b7ee04f2 | ||
|
|
b7f7a0362f | ||
|
|
b957a05e68 | ||
|
|
aa54e85537 | ||
|
|
238b7368a2 | ||
|
|
1224eaa018 | ||
|
|
686a332888 | ||
|
|
0f33bbf94a | ||
|
|
f68aaf98b6 | ||
|
|
ca90166801 | ||
|
|
f5c7d3ccc6 | ||
|
|
4255614112 |
@@ -22,11 +22,11 @@ on:
|
||||
jobs:
|
||||
Build:
|
||||
name: sfall
|
||||
runs-on: windows-2019
|
||||
runs-on: windows-2022
|
||||
steps:
|
||||
|
||||
- name: Clone sfall
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
# Action is used twice for self-testing only
|
||||
# DevXP build results are intentionally *not* included in artifact
|
||||
@@ -55,8 +55,8 @@ jobs:
|
||||
shell: bash
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: sfall-build
|
||||
path: sfall-build
|
||||
retention-days: 14
|
||||
retention-days: 30
|
||||
|
||||
@@ -7,19 +7,19 @@ on:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt -y -qq install bundler python3-pip
|
||||
sudo apt update && sudo apt -y -qq install bundler python3-pip
|
||||
pip3 install ruamel.yaml --user
|
||||
|
||||
- name: Build
|
||||
|
||||
+112
-19
@@ -1,5 +1,98 @@
|
||||
# Changelog
|
||||
|
||||
## 4.5
|
||||
* Fixed garbled colors during the fade to the main menu on startup when **SkipOpeningMovies** is enabled
|
||||
* Fixed the AP cost display not updating on game load when using `HOOK_CALCAPCOST` hook script
|
||||
* Fixed `load_array` script function not accepting floats as array keys
|
||||
* Fixed a crash when calling `proto_data` with an invalid data member value
|
||||
* Fixed `set_critter_current_ap` and `set_combat_free_move` script functions to update the player's AP lights only in combat
|
||||
* Fixed `set/remove_script` script functions not setting the script index number on an object properly
|
||||
* Fixed `set_unique_id` script function to prevent it from reassigning an object ID when unnecessary
|
||||
* Fixed `ONDEATH` hook to prevent it from being triggered by non-critter objects
|
||||
* Fixed `REMOVEINVENOBJ` hook not being triggered when using an item from active item slots while in the inventory screen
|
||||
* Changed `add_extra_msg_file` script function to mark the two-argument form as deprecated
|
||||
* Changed `objects_in_radius` script function to accept a radius of 0
|
||||
* Changed the character portrait on the character screen (from the **hero appearance mod**) to always show the standing pose
|
||||
* Re-added **NumberPatchLoop** option from older versions to `ddraw.ini`
|
||||
* Removed **AllowLargeTiles** option because its functionality is impractical and has never been used
|
||||
* Removed **GlobalScriptPaths** option because storing global scripts across multiple paths is almost never needed
|
||||
* Removed **ExtraSaveSlots** option from `ddraw.ini`. Now additional pages of save slots are always available, up to a maximum of **1000** slots
|
||||
* Added a fix for the `+/-` keys not updating the brightness slider when used on the preferences screen
|
||||
* Added a fix for getting stuck on an empty map when the encounter table has no available entries
|
||||
* Added a fix for a visual glitch on the character screen when selecting perks that modify SPECIAL stats
|
||||
* Added a fix for the morning start time used to determine random encounter frequency
|
||||
* Added a tweak to center inventory windows horizontally when not using the hi-res patch
|
||||
* Added a tweak to the animation sequence when interacting with scenery or using an item on an object
|
||||
* Added a tweak to use path length instead of tile distance to determine whether to walk or run to interact with objects
|
||||
* Added a new value to **InstantWeaponEquip** to skip weapon equip/unequip animations only when interacting with objects
|
||||
* Added object type validation to `item_weight` script function to prevent potential issues
|
||||
* Added a file size check for scripts to filter out clearly defective ones
|
||||
* Added support for nested array expressions (`compile.exe` in the **modders pack** is also updated)
|
||||
* Increased the maximum party member level from 6 to 10
|
||||
|
||||
## 4.4.9.1
|
||||
* Fixed a crash bug introduced in 4.4.6 when a critter is hit and combat starts at the same time
|
||||
|
||||
## 4.4.9
|
||||
* Fixed the edge-scrolling speed when using the game speed tweak
|
||||
* Fixed incorrect unarmed damage being displayed in the inventory under specific conditions
|
||||
* Fixed a crash bug in the tweak that replaces death animations on critters with single-frame variants on map load
|
||||
* Improved the functionality of **Fallout1Behavior** to set the correct initial in-game time
|
||||
* Changed **ProcessorIdle** to be enabled by default
|
||||
* Changed **SingleCore** to be disabled by default as its usage is questionable on newer systems
|
||||
* Added a fix for script execution issues when calling `critter_mod_skill` in a loop
|
||||
* Added options to the **tweaks ini file** to override the PID of the mirrored shades and the stat they affect when equipped
|
||||
|
||||
## 4.4.8
|
||||
* HRP: Fixed a crash and a visual glitch in the interface bar at ultrawide resolutions
|
||||
* HRP: Fixed splash screen display when the file is packed in an uncompressed **.dat** file
|
||||
* Fixed incorrect mnemonic names in script dumps generated by the script decompiler (`int2ssl.exe` in the **modders pack**)
|
||||
* Added a fix for a crash when an encounter between two groups fighting each other fails to spawn one group
|
||||
* Added a fix to use the `art\splash\` directory as the fallback for loading splash screens for non-English languages
|
||||
* Added a fix for the game not applying the mouse sensitivity setting correctly in certain cases
|
||||
* Added a fix for file seeking in uncompressed **.dat** files
|
||||
* Added an option to disable the engine's processing of Arroyo-related events
|
||||
* Added support for switching to alternate keyboard character codes (from Crafty)
|
||||
|
||||
## 4.4.7
|
||||
* Fixed potential undefined behavior in **FullItemDescInBarter**
|
||||
* Fixed the behavior of `break` statement in script compiler and decompiler (`compile.exe` and `int2ssl.exe` in the **modders pack**)
|
||||
* Improved the fix for removing floating text messages on the map when moving to another map or elevation
|
||||
* Improved the error handling for missing main **.dat** files
|
||||
* Removed glass glare from the **'Use Inventory Item On'** window to match other game interfaces
|
||||
* Added a fix for a crash when a critter with a powered melee/unarmed weapon runs out of ammo and there is ammo nearby
|
||||
* Added a fix to prevent a potential crash when using skills on non-critter objects
|
||||
* Added a fix for the duplicate click sound for the 'Done' button in the **'Move Items'** and **'Set Timer'** windows
|
||||
* Added a few fixes for slightly misaligned buttons in the pipboy, character screen, and barter screen
|
||||
* Added missing sounds to the 'Done' and 'Cancel' buttons in the 'Custom' disposition of the combat control panel
|
||||
* Added lowercase `a` as a hotkey for the 'Take All' button (previously only uppercase `A`)
|
||||
|
||||
## 4.4.6.1
|
||||
* The compatibility mode check now targets only unsupported Windows versions
|
||||
* Changed the way **ProcessorIdle** works to prevent conflicts with **CPU_USAGE_FIX** option in `f2_res.ini`
|
||||
* Added a fix to prevent out-of-bounds selection in the file list when loading a character file
|
||||
* Added a fix to remove visible newline control characters `\n` when examining items in the barter screen
|
||||
|
||||
## 4.4.6
|
||||
* Fixed a bug introduced in 4.3.1 that broke the debug message about a missing critter art file
|
||||
* Fixed an issue where an item with a unique ID in the inventory had its ID reset by a non-unique item
|
||||
* Restored the position of the ammo bar when **ALTERNATE_AMMO_METRE=0** in `f2_res.ini`
|
||||
* Improved the fix for the display issue in the pipboy when the automap list is too long
|
||||
* Improved the compatibility mode check for newer Windows
|
||||
* Changed **PipBoyAvailableAtGameStart** option and `set_pipboy_available` script function to no longer modify the vault suit movie state
|
||||
* Added a fix for the main menu music not stopping when replaying the intro
|
||||
* Added a fix for display issues when highlighting a multiline dialogue option
|
||||
* Added a fix for the incorrect message being displayed when attempting to repair a dead robot
|
||||
* Added a fix for the duplicate click sound when selecting a location in the Status section of the pipboy
|
||||
* Added a fix for extra hidden buttons below the location list in the Status section of the pipboy
|
||||
* Added a fix for map lighting from **Night Vision** perk not updating when loading a saved game
|
||||
* Added a fix for an animation glitch when death animations and combat start at the same time
|
||||
* Added a fix to prevent the game from hanging when reloading a weapon overloaded with ammo via the interface bar
|
||||
* Added a few fixes for issues related to weapons with negative ammo
|
||||
* Added a tweak to replace death animations on critters with single-frame variants on map load
|
||||
* Added more options for tweaking some engine perks to the **perks ini file**
|
||||
* Reduced the green tone of the message window on the interface bar for text clarity
|
||||
|
||||
## 4.4.5.1
|
||||
* HRP: Fixed the behavior of **IFACE_BAR_WIDTH** for a modified `fallout2.exe` with Chinese/Japanese support
|
||||
* Fixed a bug in **XPTable** that caused leveling issues with **Here and Now** perk
|
||||
@@ -9,7 +102,7 @@
|
||||
* Fixed a bug introduced in 4.2.9 that caused `game_loaded` script function to always return 1 when called from normal scripts
|
||||
* Fixed a bug introduced in 4.4.4 that caused the information card for the **hero appearance mod** not to refresh properly
|
||||
* Fixed a crash bug in **AutoSearchSFX** when an **ACM** file has a name longer than 12 characters
|
||||
* Fixed an issue with sfall not resetting data properly after attempting to load a corrupted saved game
|
||||
* Fixed an issue where sfall did not reset data properly after attempting to load a corrupted saved game
|
||||
* Fixed the inconsistent behavior of the escaped percent sign `%` in `sprintf` and `string_format` script functions
|
||||
* Fixed `show/hide_iface_tag` script functions to prevent unnecessary toggling of tags
|
||||
* Fixed `using_skill` script function returning garbage values when the arguments are not the player and Sneak skill
|
||||
@@ -160,7 +253,7 @@
|
||||
* New script function: `get_terrain_name`
|
||||
|
||||
## 4.3.5
|
||||
* HRP: Fixed movie subtitles not showing up when setting **MOVIE_SIZE=1** with certain combinations of screen and movie aspect ratios
|
||||
* HRP: Fixed movie subtitles not showing up when **MOVIE_SIZE=1** with certain combinations of screen and movie aspect ratios
|
||||
* HRP: Disabled **IFACE_BAR_WIDTH** and **SCALE_BUTTONS_AND_TEXT_MENU** for a modified `fallout2.exe` with Chinese/Japanese support to prevent garbled text
|
||||
* HRP: Added support for **SPLASH_SCRN_TIME** option in `f2_res.ini`
|
||||
* Fixed the handling of obsolete script functions that are still recognized by script compiler and decompiler
|
||||
@@ -170,7 +263,7 @@
|
||||
* Removed **ComputeSprayMod** from `ddraw.ini`. Now **ComputeSpray_\*** options no longer require a master switch
|
||||
* Added a fix for a crash when the player equips a weapon overloaded with ammo
|
||||
* Added a fix for being able to use the **'Push'** action on members of the player's team in combat when they are knocked down
|
||||
* Added missing sounds for the markers on the world map interface (similar to Fallout 1, from Ghosthack)
|
||||
* Added missing sounds to the markers on the world map interface (similar to Fallout 1, from Ghosthack)
|
||||
|
||||
## 4.3.4
|
||||
* HRP: Fixed a few issues with the main menu
|
||||
@@ -182,7 +275,7 @@
|
||||
## 4.3.3.1
|
||||
* HRP: Fixed a possible crash in combat when enabling **EXTRA_WIN_MSG_CHECKS**
|
||||
* HRP: Fixed broke console messages when enabling **ConsoleOutputPath**
|
||||
* HRP: Fixed the main menu still being stretched when setting **MAIN_MENU_SIZE=0**
|
||||
* HRP: Fixed the main menu still being stretched when **MAIN_MENU_SIZE=0**
|
||||
* Fixed a bug introduced in 4.3.1 that caused the game to print an incorrect item name in some cases
|
||||
* Fixed screenshots for **DX9** graphics modes. Now the screenshots are saved in **PNG** format when in **DX9** mode
|
||||
* Improved the functionality of **AllowDShowMovies**. Now you can take screenshots and press any key to skip **AVI** movies
|
||||
@@ -218,7 +311,7 @@
|
||||
|
||||
## 4.3.1
|
||||
* Fixed the Jet addiction not being removed when using the antidote in some cases
|
||||
* Fixed the key repeat delay and rate when enabling the game speed tweak
|
||||
* Fixed the key repeat delay and rate when using the game speed tweak
|
||||
* Fixed a possible crash at the end of the playback of alternative sound files
|
||||
* Fixed a rounding error in Glovz's damage formula
|
||||
* Fixed and improved **NPC combat control mod** and the behavior of **SpeedInterfaceCounterAnims=3**
|
||||
@@ -247,7 +340,7 @@
|
||||
* Added support for using the newline control character `\n` in the object description in `pro_*.msg` files
|
||||
* Added support for the new **'Healing Item'** flag to item protos. Now AI will also use items with this flag for healing in combat
|
||||
* Added support for the new **'Cannot Use'** flag to the misc flags of item objects. This flag makes a weapon object unusable in combat
|
||||
* Added missing sounds for the buttons on the world map interface (similar to Fallout 1 behavior)
|
||||
* Added missing sounds to the buttons on the world map interface (similar to Fallout 1 behavior)
|
||||
* Added 5 `metarule3` macros for controlling the save slot with scripts to `sfall.h` in the **modders pack**
|
||||
* New script functions: `set_scr_name`, `obj_is_openable`
|
||||
* Updated **NPC armor appearance mod** in the **modders pack** to prevent NPCs from equipping **unusable** weapons
|
||||
@@ -260,14 +353,14 @@
|
||||
* Updated French translation (from HawK-EyE)
|
||||
|
||||
## 4.3.0.1
|
||||
* Fixed a crash bug introduced in 4.3 with the fix for animation registration
|
||||
* Fixed a crash bug introduced in 4.3 by the fix for animation registration
|
||||
* Fixed a bug in **AIDrugUsePerfFix** that could cause a hang in combat
|
||||
* Fixed the extra check for friendly fire not working if the `area_attack_mode` parameter in the AI packet is not set or set to `no_pref`
|
||||
* Added a fix for `chem_primary_desire` values in party member AI packets not being saved and reset correctly
|
||||
|
||||
## 4.3
|
||||
* Fixed the original engine issues with being unable to register animations in certain situations in the game
|
||||
* Fixed a crash bug introduced in 4.2.9 with the fix for the **'Leave'** event procedure in `AddRegionProc` function
|
||||
* Fixed a crash bug introduced in 4.2.9 by the fix for the **'Leave'** event procedure in `AddRegionProc` function
|
||||
* Fixed a bug in **ObjCanSeeObj_ShootThru_Fix** that could cause a hang in some cases
|
||||
* Fixed the check of the ammo cost for a shot in **CheckWeaponAmmoCost**
|
||||
* Fixed `set_critter_burst_disable` script function, which now applies only to weapons with the burst attack as the secondary mode
|
||||
@@ -287,7 +380,7 @@
|
||||
* Added a fix to prevent the player name from being displayed at the bottom of the dialog review window when the text is longer than one screen
|
||||
* Added a fix for the in-game quest list not being in the same order as in `quests.txt`
|
||||
* Added a fix for multihex critters hitting themselves when they miss an attack with ranged weapons
|
||||
* Added a fix to the placement of multihex critters in the player's party when entering a map or elevation
|
||||
* Added a fix for the placement of multihex critters in the player's party when entering a map or elevation
|
||||
* Added a fix to the starting position of the player's marker on the world map when starting a new game
|
||||
* Added a fix for AI not checking the safety of weapons based on the selected attack mode
|
||||
* Added a fix for the incorrect check and AP cost when AI reloads a weapon
|
||||
@@ -297,7 +390,7 @@
|
||||
* Added a tweak to prevent NPC aggression when non-hostile NPCs accidentally hit the player or members of the player's team
|
||||
* Added a tweak to play the **'magic hands'** animation when using an item on an object. This also prevents a few issues with scripted animations not playing
|
||||
* Added a tweak to remove the unspent skill points limit
|
||||
* Added an option to disable the special handling of city areas 45 and 46 in the engine when visiting Area 45
|
||||
* Added an option to disable the engine's special handling of city areas 45 and 46 when visiting Area 45
|
||||
* Added a new value to **AIDrugUsePerfFix** to allow NPCs to use only the drugs listed in `chem_primary_desire` and healing drugs
|
||||
* Added support for loading premade character **GCD/BIO** files from the `premade\<language>\` directory for non-English languages
|
||||
* Added support for loading fonts from the `fonts\<language>\` directory for non-English languages
|
||||
@@ -380,7 +473,7 @@
|
||||
* Fixed the default values for **Movie1 - Movie17** options
|
||||
* Fixed the playback of additional movies defined in **Movie18 - Movie32** options
|
||||
* Fixed **OverrideMusicDir=2** not overriding the music path properly
|
||||
* Fixed incorrect Melee Damage stat value being displayed when setting **BonusHtHDamageFix=1** and **DisplayBonusDamage=0**
|
||||
* Fixed incorrect Melee Damage stat value being displayed when **BonusHtHDamageFix=1** and **DisplayBonusDamage=0**
|
||||
* Fixed `attack_complex script` function not setting result flags correctly for the attacker and the target
|
||||
* Fixed and improved **SFX** and speech playback for alternative sound files
|
||||
* Fixed and improved the behavior of nested timer events in global scripts
|
||||
@@ -507,7 +600,7 @@
|
||||
* New hook script: `hs_targetobject`
|
||||
|
||||
## 4.2.1.1
|
||||
* Fixed a crash bug introduced in 4.2.1 with the fix for corpses blocking line of fire
|
||||
* Fixed a crash bug introduced in 4.2.1 by the fix for corpses blocking line of fire
|
||||
|
||||
## 4.2.1
|
||||
* Fixed a bug in `save_array` script function that could corrupt `sfallgv.sav` when saving a new array under the same key
|
||||
@@ -659,7 +752,7 @@
|
||||
* Added a fix to prevent the reserved object IDs of the player and party members from being generated for other objects
|
||||
* Added a fix for the display issue in the pipboy when the automap list is too long
|
||||
* Added a fix for the `start` procedure not being called correctly if the required standard script procedure is missing (from Crafty)
|
||||
* Added an option to disable the special handling of map IDs 19 and 37 in the engine when entering the maps
|
||||
* Added an option to disable the engine's special handling of map IDs 19 and 37 when entering those maps
|
||||
* Added support for the new **'automap=yes/no'** parameter to `maps.txt`. This parameter overrides the hardcoded values for displaying the map in the pipboy automaps for the first 160 maps
|
||||
* Added a new **'picking up item'** event to `HOOK_INVENTORYMOVE` hook script
|
||||
* Added files for using 32-bit images for talking heads to the **modders pack**
|
||||
@@ -684,7 +777,7 @@
|
||||
* Added a fix for the reserved item FRM being displayed in the top-left corner when in the loot/barter screens
|
||||
* Added a fix for the active effects of drugs not being saved properly
|
||||
* Added a fix for NPC stuck in a loop of reloading melee/unarmed weapons when out of ammo
|
||||
* Added a fix for critters not being healed over time when entering the map if **'dead_bodies_age=No'** is set in `maps.txt`
|
||||
* Added a fix for critters not being healed over time when entering a map with **'dead_bodies_age=No'** set in `maps.txt`
|
||||
* Added a fix for corpses being removed early after returning to the map
|
||||
* Added a fix for the removal of party member's corpse. Now items in party member's inventory are not removed along with the corpse
|
||||
* Added an option to change the timer for deleting corpses on a map after you leave
|
||||
@@ -807,7 +900,7 @@ Various bug fixes and features based on the work by Mr.Stalin:
|
||||
Original engine bug fixes and various features based on the work by Mr.Stalin:
|
||||
* Implemented a **code injection system for game hooks**. In previous versions, the code of game hooks was always executed even if there is no corresponding hook script. Now the code of a game hook only gets injected into the game when the corresponding hook script exists
|
||||
* Code refactoring for some hook scripts
|
||||
* Fixed an issue with file IDs of additional game msg files being shifted when a file in **ExtraGameMsgFileList** is missing
|
||||
* Fixed an issue where the file IDs of additional game msg files were shifted when a file in **ExtraGameMsgFileList** was missing
|
||||
* Fixed `obj_can_see_obj` script function not checking if source and target objects are on the same elevation before calling `HOOK_WITHINPERCEPTION` hook script
|
||||
* Improved the functionality of **ExtraGameMsgFileList** to allow manually assigning numbers to specific msg files
|
||||
* Improved the functionality of `HOOK_AMMOCOST` hook script when **CheckWeaponAmmoCost** is enabled
|
||||
@@ -887,7 +980,7 @@ Original engine bug fixes and various features based on the work by Mr.Stalin:
|
||||
## 4.0
|
||||
* The build environment is now **Visual Studio 2015**, and Win XP SP2 and Win 2000 are no longer supported
|
||||
* Extensive code reorganizing/rewrite was made in the effort to tidy up sfall code base accumulated over the years and make it easier to read, understand, and extend. Main code was split into separate **'modules'**. Code for interacting with Fallout 2 engine was moved and expanded to allow for engine manipulations without using too much Assembly code
|
||||
* Fixed an issue with the game being rendered before the **hero appearance mod** is loaded
|
||||
* Fixed an issue where the game was rendered before the **hero appearance mod** was loaded
|
||||
* **Item highlighting mod** is moved from sfall into a separate script (`gl_highlighting.int`) and extended with new options
|
||||
* **NPC combat control mod** is moved from sfall into a separate script (`gl_partycontrol.int`)
|
||||
* Related options of **item highlighting** and **NPC combat control** mods were moved from `ddraw.ini` into a separate `sfall-mods.ini`
|
||||
@@ -929,7 +1022,7 @@ Original engine bug fixes and various features based on the work by Crafty:
|
||||
|
||||
Original engine bug fixes and various features based on the work by Crafty:
|
||||
* Added a fix for a crash when clicking on empty space in the inventory list opened by **'Use Inventory Item On'** (backpack) action icon
|
||||
* Added a fix for negative SPECIAL values in character creation
|
||||
* Added a fix for negative SPECIAL values in the character creation
|
||||
* Added a fix for the game hanging in an endless loop in combat mode when calling `anim` script functions inside `damage_p_proc`
|
||||
* Added 3 new arguments to `HOOK_BARTERPRICE` hook script
|
||||
|
||||
@@ -1007,7 +1100,7 @@ Original engine bug fixes and various features based on the work by Crafty:
|
||||
Original engine bug fixes and various features based on the work by Crafty:
|
||||
* Fixed a crash bug introduced with the inventory drag and drop fix
|
||||
* Added a new value to **SpeedInterfaceCounterAnims** to update the HP/AC counters instantly when the number is not negative
|
||||
* Added an option to skip weapon equip/unequip animations when performing various actions
|
||||
* Added an option to skip weapon equip/unequip animations during various actions
|
||||
* Added an option to control the speed of pipboy alarm clock animations
|
||||
* Added an option to change the carry weight limit
|
||||
|
||||
@@ -1040,7 +1133,7 @@ Original engine bug fixes and various features based on the work by Crafty:
|
||||
* Added a fix for the original engine issue that caused party members to have incorrect stats when they level up while on drugs
|
||||
* Added a fix for the unlimited ammo exploit
|
||||
* Added a fix for negative values in Skilldex window
|
||||
* Added a fix for the clickability issue in the pipboy and an exploit that allows resting in places where you shouldn't be able to
|
||||
* Added a fix for the clickability issue in the pipboy and an exploit that allows resting in restricted areas
|
||||
* Added a fix to prevent **'Too Many Items'** bug from corrupting save files
|
||||
* Added a fix for the exploit that you can gain stats from more than two doses of a specific chem after save/load
|
||||
* Added a fix for the original engine issues with reverse order of items in memory relative to visual order in the inventory list
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# sfall
|
||||
|
||||
[](https://www.gnu.org/licenses/gpl-3.0)
|
||||
[](https://github.com/phobos2077/sfall/actions/workflows/build.yml)
|
||||
[](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml)
|
||||
[](https://github.com/phobos2077/sfall/actions/workflows/build.yml)
|
||||
[](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.
|
||||
|
||||
@@ -46,7 +46,7 @@ You need to set DLL overrides for `ddraw.dll` to __"native, builtin"__ in `winec
|
||||
|
||||
### Prerequisites:
|
||||
|
||||
* Visual Studio 2015 with **Windows XP support for C++** component. If you're using Visual Studio 2017/2019/2022, make sure to install **VS 2015 C++ build tools (v140)**.
|
||||
* 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.
|
||||
|
||||
@@ -56,6 +56,19 @@ You need to set DLL overrides for `ddraw.dll` to __"native, builtin"__ in `winec
|
||||
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)
|
||||
|
||||
+11
@@ -85,6 +85,17 @@ runs:
|
||||
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
|
||||
|
||||
@@ -2,11 +2,17 @@
|
||||
|
||||
;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
|
||||
@@ -15,6 +21,20 @@ SurvivalistBonus=25
|
||||
;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
|
||||
@@ -64,6 +84,10 @@ VaultCityInoculationsRadBonus=10
|
||||
;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
|
||||
@@ -77,8 +101,9 @@ GamblerBonus=20
|
||||
HarmlessBonus=20
|
||||
|
||||
;Changes the damage bonus and the Doctor skill bonus for 'Living Anatomy' perk (ID 97)
|
||||
;125 - maximum bonus, 5 - default bonus, 10 - default skill bonus
|
||||
;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)
|
||||
@@ -154,7 +179,6 @@ Enable=0
|
||||
;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
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
[sfall]
|
||||
;Table for overriding ASCII codes for keyboard character input when entering the player's name and saved game descriptions
|
||||
;Only character codes in the ASCII range 33-126 can be overridden
|
||||
;Character codes that do not need to be overridden can be omitted by using commas as delimiters
|
||||
;You must also set a key for switching layouts using the XltKey option in ddraw.ini
|
||||
;Default character code table for the English layout (letter codes only)
|
||||
;XltTable=,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,,,,,,,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,,,,
|
||||
|
||||
;##############################################################################
|
||||
|
||||
SaveInCombat=Cannot save at this time.
|
||||
KarmaGain=You gained %d karma.
|
||||
KarmaLoss=You lost %d karma.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
[Main]
|
||||
|
||||
|
||||
[Items]
|
||||
;Override the PIDs of the standard healing drugs that AI will use in combat
|
||||
;Set to -1 if you don't want AI to identify this item as a healing drug
|
||||
@@ -11,3 +10,10 @@
|
||||
STIMPAK=40
|
||||
SUPER_STIMPAK=144
|
||||
HEALING_POWDER=273
|
||||
|
||||
;Overrides the PID of the item that grants a +1 stat bonus when placed in an active item slot
|
||||
;Default is 433. Set to -1 to prevent any item from granting the bonus
|
||||
MIRROR_SHADES_PID=433
|
||||
;The SPECIAL stat number (0..6) to which the bonus is applied
|
||||
;Default is 3 (Charisma). Set to -1 to disable the item's effect
|
||||
MIRROR_SHADES_STAT=3
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
sfall's main configuration options appear in ddraw.ini, but there are several other configuration files that it can read in for modding purposes.
|
||||
|
||||
Books.ini: Lets you override/add books to the game (associated object PIDs, skills and text messages)
|
||||
Books.ini: Lets you override/add books to the game (associated object PIDs, skills, and text messages)
|
||||
Drugs.ini: Lets you override/add drugs to the game (associated object PIDs, addiction duration, and text messages)
|
||||
Perks.ini: Lets you override the name/description/frm image/other stats of perks and traits
|
||||
Elevators.ini: Lets you override which elevators lead where
|
||||
Elevators.ini: Lets you override which elevators lead to where
|
||||
CriticalOverrides.ini: Lets you make modifications to the critical hit tables
|
||||
Translations.ini: Contains some text strings which sfall displays, to allow their translation
|
||||
Skills.ini: Lets you change the formula used for calculating skills
|
||||
Stats.ini: Lets you change the formula used to calculate the derived stats
|
||||
Tweaks.ini: Lets you override a few object PIDs used in the engine
|
||||
Unarmed.ini: Lets you configure the requirements and effects of unarmed attacks
|
||||
|
||||
+44
-38
@@ -1,5 +1,5 @@
|
||||
;sfall configuration settings
|
||||
;v4.4.5.1
|
||||
;v4.5
|
||||
|
||||
[Main]
|
||||
;Set to 1 to enable the built-in High Resolution Patch mode that is similar to the hi-res patch by Mash
|
||||
@@ -7,7 +7,7 @@
|
||||
HiResMode=1
|
||||
|
||||
;Set to 1 if you want to use command line arguments to tell sfall to use another ini file
|
||||
;This option is always enabled in 4.3.3/3.8.33 or later. The information is left for reference only
|
||||
;This option is always enabled in 4.3.3/3.8.33 or later and cannot be disabled (kept for reference only)
|
||||
UseCommandLine=0
|
||||
|
||||
;Uncomment and point to a file to get alternate translations for some sfall messages
|
||||
@@ -156,7 +156,7 @@ AllowSoundForFloats=0
|
||||
;This does not effect the play_sfall_sound and stop_sfall_sound script functions
|
||||
AllowDShowSound=0
|
||||
|
||||
;Set to 1 to override the default music path with data\sound\music\ if music_path is not present in the cfg
|
||||
;Set to 1 to override the default music path with data\sound\music\ if music_path is not present in fallout2.cfg
|
||||
;Set to 2 to overwrite all occurrences of the music path
|
||||
OverrideMusicDir=1
|
||||
|
||||
@@ -228,7 +228,7 @@ SpeedKey9=0x00
|
||||
|
||||
;A key to hold down to move the window around when using DX9 graphics mode 5
|
||||
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
|
||||
;Set to -1 for either ctrl key, -2 for either alt key or -3 for either shift key
|
||||
;Set to -1 for either Ctrl key, -2 for either Alt key, or -3 for either Shift key
|
||||
WindowScrollKey=0
|
||||
|
||||
;A key to press to reload your currently equipped weapon or use the active item
|
||||
@@ -254,12 +254,17 @@ ItemMoveSkipDragKey=29
|
||||
;Requires sfall debugging mode and FalloutDebug.exe from the modders pack
|
||||
DebugEditorKey=0
|
||||
|
||||
;A key to press to switch the keyboard layout (uses character codes from the XltTable option in Translations.ini)
|
||||
;Set to 1 for Num Lock, 2 for Caps Lock, 3 for Scroll Lock, or 0 to disable
|
||||
XltKey=0
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
[Misc]
|
||||
;Changes some of Fallout 2 engine functions to Fallout 1 behavior:
|
||||
;- disables playing the final movie/credits after the endgame slideshow
|
||||
;- disables halving the weight for power armor items
|
||||
;- endgame_movie script function plays movie 10 or 11 based on the player's gender before the credits
|
||||
;- the final movie/credits are not played after the endgame slideshow
|
||||
;- the weight of power armor items is not halved
|
||||
;- the endgame_movie script function plays movie 10 or 11 based on the player's gender before the credits
|
||||
;- the initial in-game time is set to 7:21
|
||||
Fallout1Behavior=0
|
||||
|
||||
;Time limit in years. Must be between -3 and 13
|
||||
@@ -304,13 +309,15 @@ WorldMapSlots=0
|
||||
UseFileSystemOverride=0
|
||||
|
||||
;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
|
||||
;If you want to load multiple patch files (up to 1000) at once, you can include a %d in the file name (sprintf syntax)
|
||||
;If you want to load multiple patch files at once, you can include a %d in the file name (sprintf syntax)
|
||||
;PatchFile=patch%03d.dat
|
||||
;Uncomment the next line to change the number of patch files to load (valid range: 1..1000; default is 100)
|
||||
;NumberPatchLoop=100
|
||||
|
||||
;Set to 1 to change the order of how the engine loads game data
|
||||
;Old: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
|
||||
;New: master_patches > critter_patches > [ExtraPatches] > patchXXX.dat > sfall.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
||||
;This option is always enabled in 4.3/3.8.30 or later. The information is left for reference only
|
||||
;This option is always enabled in 4.3/3.8.30 or later and cannot be disabled (kept for reference only)
|
||||
DataLoadOrderPatch=1
|
||||
|
||||
;Set to 1 to load alternative dialog msg files from text\<language>\dialog_female\ for female PC
|
||||
@@ -361,8 +368,8 @@ Movie17=credits.mve
|
||||
;LocalMapXLimit=480
|
||||
;LocalMapYLimit=400
|
||||
|
||||
;Set to 1 if you want the pipboy to be available at the start of the game
|
||||
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
|
||||
;Set to 1 to make the pipboy and the vault suit available when the game starts
|
||||
;Set to 2 to make only the pipboy available
|
||||
PipBoyAvailableAtGameStart=0
|
||||
|
||||
;Set to 1 to double the number of available kill types
|
||||
@@ -401,7 +408,7 @@ ViewXPos=-1
|
||||
ViewYPos=-1
|
||||
|
||||
;Set to 1 to force Fallout not to use multiple processor cores even if they are available
|
||||
SingleCore=1
|
||||
SingleCore=0
|
||||
|
||||
;Set to 1 to override the art_cache_size setting in fallout2.cfg
|
||||
OverrideArtCacheSize=0
|
||||
@@ -418,7 +425,7 @@ SaveInCombatFix=1
|
||||
;Set to 1 to enable additional weapon animation codes from 'o' to 't'
|
||||
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
|
||||
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corresponds to 's' and 15 to 't'
|
||||
;This option is always enabled in 4.4.1/3.8.41 or later. The information is left for reference only
|
||||
;This option is always enabled in 4.4.1/3.8.41 or later and cannot be disabled (kept for reference only)
|
||||
AdditionalWeaponAnims=1
|
||||
|
||||
;Uncomment these lines to modify the default modifiers for aimed shots at specific bodyparts
|
||||
@@ -455,11 +462,8 @@ PlayIdleAnimOnReload=0
|
||||
;Default is 6. Set to 0 for a 12-hour timer
|
||||
CorpseDeleteTime=6
|
||||
|
||||
;Set a number of milliseconds to idle each input loop
|
||||
;Set to -1 to disable
|
||||
;Set to 0 to idle only if other processes are waiting for processor time (WinXP/2000: if processes have equal priority)
|
||||
;Set to 1 (or some higher number if needed) to prevent 100% CPU use. The maximum is 50
|
||||
ProcessorIdle=-1
|
||||
;Set to 1 to allow the game to go idle during each input loop, preventing 100% CPU usage
|
||||
ProcessorIdle=1
|
||||
|
||||
;Set to 1 if using the hero appearance mod
|
||||
;Set to 2 for backward compatibility with scripts that manually fix obj_art_fid/art_change_fid_num script functions for dude_obj
|
||||
@@ -475,13 +479,8 @@ SkipOpeningMovies=0
|
||||
;Set to 0 to disable
|
||||
NPCsTryToSpendExtraAP=0
|
||||
|
||||
;Allows the use of tiles over 80x36 in size. sfall will just split and resave them to art\tiles\zzz####.frm at startup
|
||||
;Set to 1 to check all tiles on started (slow, but can also be useful for checking the correct size of your new tiles)
|
||||
;Set to 2 if you provide a XLtiles.lst file in art\tiles\ containing a list of the tile indexes that need checking
|
||||
AllowLargeTiles=0
|
||||
|
||||
;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
|
||||
;This option is always enabled in 4.3.7/3.8.37 or later. The information is left for reference only
|
||||
;This option is always enabled in 4.3.7/3.8.37 or later and cannot be disabled (kept for reference only)
|
||||
MoreTiles=1
|
||||
|
||||
;Change the Skilldex cursor FRM numbers
|
||||
@@ -517,14 +516,15 @@ UseScrollingQuestsList=1
|
||||
;ConsoleOutputPath=console.txt
|
||||
|
||||
;Set to 1 to add additional pages of save slots
|
||||
ExtraSaveSlots=0
|
||||
;This option is always enabled in 4.5/3.8.50 or later and cannot be disabled (kept for reference only)
|
||||
ExtraSaveSlots=1
|
||||
|
||||
;To use more than one save slot for quick saving (F6 key) without picking a slot beforehand, set the next two lines
|
||||
;To use more than one save slot for quick saving (F6 key) without picking a slot beforehand, set the next two options
|
||||
;Quick save will cyclically overwrite saves from the first slot on the specified page to the last slot on the n-th page
|
||||
;AutoQuickSave sets how many pages you want to use for quick saving (valid range: 1..10)
|
||||
;AutoQuickSave sets the number of pages used for quick saving (valid range: 1..10)
|
||||
;Set to 0 to disable
|
||||
AutoQuickSave=0
|
||||
;AutoQuickSavePage is the page number to start at if ExtraSaveSlots is enabled (valid range: 0..999)
|
||||
;AutoQuickSavePage sets the starting page number for quick saving (valid range: 0..99)
|
||||
;Set to -1 to use the current selected page (not recommended)
|
||||
AutoQuickSavePage=1
|
||||
|
||||
@@ -692,7 +692,8 @@ ActiveGeigerMsgs=1
|
||||
;Set to 1 to fix the bug of being unable to sell used geiger counters or stealth boys
|
||||
CanSellUsedGeiger=1
|
||||
|
||||
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
||||
;Set to 1 to skip weapon equip/unequip animations during various actions
|
||||
;Set to 2 to skip these animations only when interacting with objects
|
||||
InstantWeaponEquip=0
|
||||
|
||||
;To add additional game msg files, uncomment the next line and set a comma-delimited list of filenames without .msg extension
|
||||
@@ -786,15 +787,25 @@ PartyMemberSkillFix=0
|
||||
;Set to -1 to disable the special death message when the global variable is set
|
||||
SpecialDeathGVAR=491
|
||||
|
||||
;Set to 1 to disable the special handling of map IDs 19 and 37 in the engine when entering the maps
|
||||
;Set to 1 to disable the engine's special handling of map IDs 19 and 37 when entering those maps
|
||||
;Note that enabling this option will break the map changes in Modoc and Vault 15 in Fallout 2
|
||||
DisableSpecialMapIDs=0
|
||||
|
||||
;Set to 1 to disable the special handling of city areas 45 and 46 in the engine when visiting Area 45:
|
||||
;Set to 1 to disable the engine's special handling of city areas 45 and 46 when visiting Area 45:
|
||||
;Area 45 automatically disappears from the world map, and Area 46 appears on the world map
|
||||
;Note that enabling this option will break the location change of the 'Fake Vault 13' in Fallout 2
|
||||
DisableSpecialAreas=0
|
||||
|
||||
;Set to 1 to disable the engine's processing of events related to Arroyo (areas 0 and 22)
|
||||
;This also disables the playback of Hakunin dream sequences and the processing of global variables:
|
||||
;GVAR_ENEMY_ARROYO (7), GVAR_TOWN_REP_ARROYO (47), GVAR_FALLOUT_2 (494)
|
||||
DisableArroyoEvents=0
|
||||
|
||||
;Set to 1 to fix the issue with the division operator treating negative integers as unsigned
|
||||
;Note: To perform the unsigned integer division, use the new 'div' operator
|
||||
;This option is always enabled in 4.3.5/3.8.35 or later and cannot be disabled (kept for reference only)
|
||||
DivisionOperatorFix=1
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
; Configuration ini files
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
@@ -834,11 +845,6 @@ DisableSpecialAreas=0
|
||||
|
||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||
[Scripts]
|
||||
;Comma-separated list of masked paths to load global scripts from
|
||||
;Only use single backslash \ as the directory separator
|
||||
;Paths outside of scripts folder are supported
|
||||
GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
|
||||
|
||||
;Uncomment the option to specify an additional directory for ini files used by scripts
|
||||
;The game will search for ini files first relative to this directory and then relative to the root directory if not found
|
||||
;The path length is limited to 61 characters
|
||||
@@ -878,8 +884,8 @@ SkipCompatModeCheck=0
|
||||
;show_script_messages=1
|
||||
;show_tile_num=1
|
||||
;[sound]
|
||||
;debug=0
|
||||
;debug_sfxc=0
|
||||
;debug=1
|
||||
;debug_sfxc=1
|
||||
;-------
|
||||
DebugMode=0
|
||||
|
||||
|
||||
@@ -7,10 +7,13 @@ Auto Doors mod v1.2 for Fallout 2 by Mr.Stalin
|
||||
|
||||
Requires sfall 3.7b or higher
|
||||
|
||||
NOTE: this script requires compiler from sfall modderspack with -s option (short circuit evaluation)
|
||||
NOTE: this script requires compiler from sfall modderspack with -s option
|
||||
(short circuit evaluation)
|
||||
|
||||
*/
|
||||
|
||||
#pragma sce
|
||||
|
||||
/* Include Files */
|
||||
#include "..\headers\define.h"
|
||||
//#include "..\headers\command.h"
|
||||
|
||||
@@ -13,14 +13,15 @@ NOTE: this script requires compiler from sfall modderspack with -s option
|
||||
|
||||
*/
|
||||
|
||||
|
||||
procedure start;
|
||||
procedure afterhitroll_handler;
|
||||
#pragma sce
|
||||
|
||||
#include "..\headers\define.h"
|
||||
#include "..\headers\sfall\sfall.h"
|
||||
#include "..\headers\sfall\define_extra.h"
|
||||
|
||||
procedure start;
|
||||
procedure afterhitroll_handler;
|
||||
|
||||
procedure start begin
|
||||
if game_loaded then begin
|
||||
register_hook_proc(HOOK_AFTERHITROLL, afterhitroll_handler);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
These are some example mods I've put together. Each uses sfall features in a simple way, generally involving a single global script. The uncompiled versions of each script is included.
|
||||
|
||||
Further good examples of sfall scripts are available from Nirran's site: http://www.nirran.com/
|
||||
Further good examples of sfall scripts are available from:
|
||||
* FO2tweaks: https://github.com/BGforgeNet/FO2tweaks
|
||||
* EcCo Gameplay Overhaul: https://github.com/phobos2077/fo2_ecco
|
||||
* Nirran's site: http://www.nirran.com/
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
**/
|
||||
|
||||
#pragma sce
|
||||
|
||||
#include "main.h"
|
||||
//#include "..\..\..\!SRC\headers\define.h"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -13,6 +13,8 @@
|
||||
|
||||
*/
|
||||
|
||||
#pragma sce
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#define IS_ARMOR(item) (obj_type(item) == OBJ_TYPE_ITEM and obj_item_subtype(item) == item_type_armor)
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
*/
|
||||
|
||||
#pragma sce
|
||||
|
||||
#include "..\headers\global.h"
|
||||
#include "..\headers\critrpid.h"
|
||||
#include "main.h"
|
||||
|
||||
@@ -164,23 +164,23 @@ ___
|
||||
_*mixed means any type_
|
||||
|
||||
#### `int create_array(int size, int flags)`
|
||||
- creates permanent array (but not "saved")
|
||||
- if `size >= 0`, creates list with given size
|
||||
- if `size == -1`, creates map (associative array)
|
||||
- creates a permanent array (but not "saved")
|
||||
- if `size >= 0`, creates a list with the given size
|
||||
- if `size == -1`, creates a map (associative array)
|
||||
- if `size == -1` and `flags == 2`, creates a "lookup" map (associative array) in which the values of existing keys are read-only and can't be updated. This type of array allows you to store a zero (0) key value
|
||||
* NOTE: in earlier versions (up to 4.1.3/3.8.13) the second argument is not used, just use 0
|
||||
- returns array ID (valid until array is deleted)
|
||||
|
||||
#### `int temp_array(int size, int flags)`
|
||||
- works exactly like `create_array`, only created array becomes "temporary"
|
||||
- works exactly like `create_array`, only the created array becomes "temporary"
|
||||
|
||||
#### `void fix_array(int arrayID)`
|
||||
- changes "temporary" array into "permanent" ("permanent" arrays are not automatically saved into savegames)
|
||||
- changes a "temporary" array into "permanent" ("permanent" arrays are not automatically saved into savegames)
|
||||
|
||||
#### `void set_array(int arrayID, mixed key, mixed value)`
|
||||
- sets array value
|
||||
- if used on list, "key" must be numeric and within valid index range (0..size-1)
|
||||
- if used on map, key can be of any type
|
||||
- if used on lists, "key" must be numeric and within valid index range (0..size-1)
|
||||
- if used on maps, "key" can be of any type
|
||||
- to "unset" a value from map, just set it to zero (0)
|
||||
* NOTE: to add a value of 0 for the key, use the float value of 0.0
|
||||
- this works exactly like statement: `arrayID[key] := value;`
|
||||
@@ -200,17 +200,17 @@ _*mixed means any type_
|
||||
- if array was "saved", it will be removed from a savegame
|
||||
|
||||
#### `mixed scan_array(int arrayID, mixed value)`
|
||||
- searches for a first occurrence of given value inside given array
|
||||
- searches for the first occurrence of the given value inside the given array
|
||||
- if value is found, returns its index (for lists) or key (for maps)
|
||||
- if value is not found, returns -1 (be careful, as -1 can be a valid key for a map)
|
||||
|
||||
#### `int len_array(int arrayID)`
|
||||
- returns number of elements or key=>value pairs in a given array
|
||||
- if array is not found, returns -1 (can be used to check if given array exist)
|
||||
- returns number of elements or key=>value pairs in the given array
|
||||
- if array is not found, returns -1 (can be used to check if the given array exist)
|
||||
|
||||
#### `void save_array(mixed key, int arrayID)`
|
||||
- makes the array saveable; it will be saved in **sfallgv.sav** file when saving the game
|
||||
- array ID is associated with given "key"
|
||||
- array ID is associated with the given "key"
|
||||
- array becomes permanent (if it was temporary) and "saved"
|
||||
- key can be of any type (int, float or string)
|
||||
- if you specify 0 as the key for the array ID, it will make the array "unsaved"
|
||||
@@ -223,11 +223,11 @@ _*mixed means any type_
|
||||
- don't use it directly; it is generated by the compiler in foreach loops
|
||||
- for lists, returns index back (no change)
|
||||
- for maps, returns a key at the specified numeric index (don't rely on the order in which keys are stored though)
|
||||
- can be checked if given array is associative or not, by using index (-1): 0 - array is list, 1 - array is map
|
||||
- can be checked if the given array is associative or not, by using index (-1): 0 - array is a list, 1 - array is a map
|
||||
|
||||
#### `int arrayexpr(mixed key, mixed value)`
|
||||
- don't use it directly; it is used by compiler to create array expressions
|
||||
- assigns value to a given key in an array, created by last `create_array` or `temp_array` call
|
||||
- assigns value to the given key in an array, created by last `create_array` or `temp_array` call
|
||||
- always returns 0
|
||||
|
||||
|
||||
|
||||
@@ -323,6 +323,8 @@ Syntax which requires sfall for compiled scripts to be interpreted is marked by
|
||||
|
||||
__NOTE:__ Just like `for` loop, `continue` statement will respect increments of a hidden counter variable, so you can safely use it inside `foreach`.
|
||||
|
||||
- `#pragma sce` directive. If present anywhere in the script source, it will enable short-circuit evaluation for all the logical `AND` and `OR` operators, even if the command line option `-s` is not used.
|
||||
|
||||
---
|
||||
|
||||
### Fixes
|
||||
@@ -348,6 +350,14 @@ There are several changes in this version of sslc which may result in problems f
|
||||
|
||||
### Changelog
|
||||
|
||||
**sfall 4.4.10:**
|
||||
- added `#pragma sce` directive
|
||||
- added support for nested array expressions
|
||||
|
||||
**sfall 4.4.7:**
|
||||
- fixed leftover stack data caused by the `break` statement
|
||||
- added Linux & WebAssembly builds
|
||||
|
||||
**sfall 4.4.4:**
|
||||
- fixed stringified procedure names shifting when the same name is called more than once
|
||||
- syntax improvements:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user