Skip to content

Commit

Permalink
Release 4.3.4
Browse files Browse the repository at this point in the history
  • Loading branch information
NovaRain committed Apr 7, 2022
2 parents 454c8d2 + 6946151 commit 0a5a4e5
Show file tree
Hide file tree
Showing 39 changed files with 403 additions and 934 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.ssl linguist-language=Pascal
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ on:
jobs:
Build:
name: sfall
runs-on: windows-latest
runs-on: windows-2019
steps:

- name: Clone sfall
uses: actions/checkout@v2
uses: actions/checkout@v3

# Action is used twice for self-testing only
# DevXP build results are intentionally *not* included in artifact
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Setup Python
uses: actions/setup-python@v2
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ nb-configuration.xml
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Dd]evXP
[Dd]evXP/
[Rr]elease/
[Rr]eleases/
[Rr]eleaseXP/
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# sfall
[![github pages](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml)

A set of engine modifications for the classic game Fallout 2 in form of a DLL, which modifies executable in memory without changing anything in EXE file itself.
[![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/phobos2077/sfall/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/phobos2077/sfall/actions/workflows/build.yml)
[![GitHub Pages](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/phobos2077/sfall/actions/workflows/gh-pages.yml)

A set of engine modifications for the classic game Fallout 2 in the form of a DLL, which modifies executable in memory without changing anything in EXE file itself.

**Engine modifications include:**
- Better support for modern operating systems
Expand All @@ -11,7 +14,10 @@ A set of engine modifications for the classic game Fallout 2 in form of a DLL, w
- Extended scripting capabilities for modders (many new opcodes to control sfall features as well as previously unavailable vanilla engine functions)


Original author: timeslip
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.

---
#### Fallout Engine IDA Database
**[Download](https://www.dropbox.com/s/tm0nyx0lnk4yui0/Fallout_1_and_2_IDA68.rar "Download from Dropbox")** (comments are in Russian)
4 changes: 2 additions & 2 deletions artifacts/config_files/sfall-mods.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
Key=42

; Set to 1 to also highlight containers
Containers=1
Containers=0

; Set to 1 to also highlight lootable corpses
Corpses=1
Corpses=0

; Set to 1 to only highlight objects in the player's line-of-sight
CheckLOS=0
Expand Down
7 changes: 2 additions & 5 deletions artifacts/ddraw.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
;sfall configuration settings
;v4.3.3.1
;v4.3.4

[Main]
;Set to 1 to enable the built-in High Resolution Patch mode that is similar to the hi-res patch by Mash
Expand Down Expand Up @@ -134,9 +134,6 @@ WorldMapTerrainInfo=0
;Set to 0 to leave the default unchanged (i.e. 4). The maximum is 32
NumSoundBuffers=0

;Set to 1 to enable fade effects for background music when stopping and starting the playback
FadeBackgroundMusic=1

;Set to 1 to allow attaching sound files to combat float messages
AllowSoundForFloats=0

Expand Down Expand Up @@ -332,7 +329,7 @@ Movie17=credits.mve

;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines
;Defaults are 480 in the x direction and 400 in the y direction.
;Not compatible with the hi-res patch!
;Does not work with the hi-res patch by Mash!
;LocalMapXLimit=480
;LocalMapYLimit=400

Expand Down
Binary file modified artifacts/example_mods/AmmoMod/gl_ammomod.int
Binary file not shown.
24 changes: 12 additions & 12 deletions artifacts/example_mods/AmmoMod/gl_ammomod.ssl
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*

Ammo INI Loader mod for Fallout 2 by NovaRain
---------------------------------------------
Ammo INI Loader mod v1.1 for Fallout 2 by NovaRain
--------------------------------------------------

- modifies ammo protos with data from an INI file:
* AmmoGlovz.ini if DamageFormula=1 or 2 in ddraw.ini
* AmmoYAAM.ini if DamageFormula=5 in ddraw.ini
* AmmoMod.ini if not using any bulit-in damage formula

Requires sfall 3.5 or higher
Requires sfall 4.0/3.8.29 or higher

*/

Expand All @@ -23,7 +23,7 @@ variable ammoData;
variable enabled;

procedure start begin
variable i := 1, ammo, ammoPid, dmgMod;
variable i := 1, ammo, ammoSection, dmgMod;
if game_loaded then begin
enabled := get_ini_setting("ddraw.ini|Misc|DamageFormula");
if (enabled == 1 or enabled == 2) then
Expand All @@ -37,19 +37,19 @@ procedure start begin
if (enabled <= 0) then return;

ammoData := create_array_map;
ammoPid := enabled; // pid from the first section
while (ammoPid > 0) do begin
ammoSection := get_ini_section(ammoIni, "" + i);
while (ammoSection.pid > 0) do begin
ammo := create_array_map; // create permanent arrays
ammo.ac_adjust := get_ini_setting(ammoIni + "|" + i + "|ac_adjust");
ammo.dr_adjust := get_ini_setting(ammoIni + "|" + i + "|dr_adjust");
ammo.ac_adjust := atoi(ammoSection.ac_adjust);
ammo.dr_adjust := atoi(ammoSection.dr_adjust);
// dam_mult and dam_div must be positive integers
dmgMod := get_ini_setting(ammoIni + "|" + i + "|dam_mult");
dmgMod := atoi(ammoSection.dam_mult);
ammo.dam_mult := dmgMod if (dmgMod > 0) else 1;
dmgMod := get_ini_setting(ammoIni + "|" + i + "|dam_div");
dmgMod := atoi(ammoSection.dam_div);
ammo.dam_div := dmgMod if (dmgMod > 0) else 1;
ammoData[ammoPid] := ammo;
ammoData[atoi(ammoSection.pid)] := ammo;
i++;
ammoPid := get_ini_setting(ammoIni + "|" + i + "|pid");
ammoSection := get_ini_section(ammoIni, "" + i);
end
call map_enter_p_proc;
debug_msg("Ammo INI Loader mod: " + ammoIni + " - set " + (i - 1) + " ammo protos.");
Expand Down
6 changes: 3 additions & 3 deletions artifacts/example_mods/AmmoMod/readme.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Ammo INI Loader mod for Fallout 2 by NovaRain
---------------------------------------------
Ammo INI Loader mod v1.1 for Fallout 2 by NovaRain
--------------------------------------------------

- modifies ammo protos with data from an INI file:
* AmmoGlovz.ini if DamageFormula=1 or 2 in ddraw.ini
* AmmoYAAM.ini if DamageFormula=5 in ddraw.ini
* AmmoMod.ini if not using any bulit-in damage formula


Requires sfall 3.5 or higher.
Requires sfall 4.0/3.8.29 or higher.

To use, copy gl_ammomod.int to your scripts folder, and copy the INI files to the same directory as sfall.
4 changes: 2 additions & 2 deletions artifacts/scripting/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ This folder contains documentation about sfall scripting extensions.
hookscripts.md - detailed manual for using hook scripts to modify engine behavior
arrays.md - manual for sfall arrays

If you are/will be using sfall Script Editor, don't forget to check out new compiler documentation in **.\compiler\sslc_readme.txt**.
There are numerious new syntax features and extensions to SSL (Star-Trek Scripting language).
If you are/will be using sfall Script Editor, don't forget to check out new compiler documentation in **.\compiler\sslc_readme.md**.
There are numerious new syntax features and extensions to SSL (Star-Trek Scripting Language).
10 changes: 5 additions & 5 deletions artifacts/scripting/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ This folder contains documentation about sfall scripting extensions.
lib.strings.h - search in strings, join, repeat, etc.
lib.misc.h - misc stuff

sfall function notes.txt - incomplete reference for new opcodes
sfall function notes.html - incomplete reference for new opcodes
sfall opcode list.txt - list of all sfall opcodes (w/o descriptions)
hookscripts.txt - detailed manual for using hook scripts to modify engine behavior
arrays.txt - manual for sfall arrays
hookscripts.html - detailed manual for using hook scripts to modify engine behavior
arrays.html - manual for sfall arrays

If you are/will be using sfall Script Editor, don't forget to check out new compiler documentation in .\compiler\sslc_readme.txt.
There are numerious new syntax features and extensions to SSL (Star-Trek Scripting language).
If you are/will be using sfall Script Editor, don't forget to check out new compiler documentation in .\compiler\sslc_readme.html.
There are numerious new syntax features and extensions to SSL (Star-Trek Scripting Language).
2 changes: 1 addition & 1 deletion artifacts/scripting/arrays.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ _*mixed means any type_

#### `mixed scan_array(int arrayID, mixed value)`
- searches for a first occurence of given value inside given array
- if value is found, returns it's index (for lists) or key (for maps)
- 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)`
Expand Down
99 changes: 0 additions & 99 deletions artifacts/scripting/compiler/optimization.txt

This file was deleted.

Loading

0 comments on commit 0a5a4e5

Please sign in to comment.