Added full ddraw.ini + other config files and all relevant artifacts from latest modderspack.

This commit is contained in:
VladislavKolosovsky
2015-07-07 00:44:58 +07:00
parent cafa0158a7
commit b82348ed33
65 changed files with 5078 additions and 1 deletions
-1
View File
@@ -80,7 +80,6 @@ dlldata.c
# DNX # DNX
project.lock.json project.lock.json
artifacts/
*_i.c *_i.c
*_p.c *_p.c
@@ -0,0 +1,18 @@
;This is the old critical override format.
;I advise against using it, due to the effects on loading times
;Enable overriding the critical hit tables
;For details on the tables and their values, see:
; http://falloutmods.wikia.com/wiki/Critical_hit_tables
;In the section names, the first two digits are the critter type
; the third digit is the body part, (0-8) and the forth is the
; level of critical hit (0-5)
[c_01_0_0]
DamageMultiplier=100
EffectFlags=0
StatCheck=0
StatMod=0
FailureEffect=0
Message=0
FailMessage=0
@@ -0,0 +1,30 @@
;This is the new critical hit table override format
;It's faster loading than the old one, and is compatible with the extra kill types option
;Note that the player's critter number is now 38 rather than 19
;Enable overriding the critical hit tables
;For details on the tables and their values, see:
; http://falloutmods.wikia.com/wiki/Critical_hit_tables
[c_00] ; The entries for the 'men' critter type
Enabled=1 ; Tell sfall that we want to modify this table
Part0=1 ; Tell sfall that we want to modify the head entries
; If we had set 'Enabled=2' then sfall will assume you want to modify all
; parts, and will not check the PartX entries
[c_00_0] ; The entries for the head table of the men critter type.
e0_DamageMultiplier=100 ;First level critical
e0_EffectFlags=0
e0_StatCheck=0
e0_StatMod=0
e0_FailureEffect=0
e0_Message=0 ; This is an index into the msg file, not a string
e0_FailMessage=0
e1_... ; Second level critical
... ; And so on up to the hardest hitting level 5 critical
e5_...
;You can skip any entries from this section to leave them at their defaults
;Any missing entries for critters 19-37 will be replaced by a 0, since they have no default
;Note that the UOP fixes are included in the defaults, and do not need to be
; added manually when using this override format, as opposed to the old one
+39
View File
@@ -0,0 +1,39 @@
;This file handles modifications to perks and traits
;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
;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
;This is a modification to perk 119
[119]
Name=Example
Desc=This is an example perk~Second line
Image=72
Ranks=1
Level=1
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
;This is a modification to trait 0
[t0]
NoHardcode=0
Name=Example
Desc=This is an example trait
Image=72
StatMod=0|-1 ;Subtract 1 from strength
SkillMod=0|20|1|-5 ;Add 20 to the players small guns skill and subtract 5 from big guns
+11
View File
@@ -0,0 +1,11 @@
;This file lets you set the formula for calculating skills
[skills]
BasedOnPoints=0 ;Set to 1 to base skill costs on spent points instead of current level
Skill0=s1|i2|l1.5 ;Skill 0 (small guns) is str*1 + int*2 + luck*1.5
SkillBase1=50 ;Big guns has a base of 50
SkillMulti2=10 ;Each point spent in energy weapons increases it by 10
SkillImage1=72
SkillCost0=0|0|0|0|0|300 ;Each level of small guns costs 6 skill points
+55
View File
@@ -0,0 +1,55 @@
;This file can be used to set the relationship between derived stats and base stats
;Put the stat id in brackets, then use the following keys
;base - the initial value of the stat
;min - the lower limit of the stat after applying the base stats,
; but before adding any extra/perk/trait bonuses
;multi[x] - where x is from 0 to 6, the multiplier of st/pe/en/etc.
;shift[x] - shifts the base stat before the multiplication
;max hp
[7]
base=15 ; base of 15
multi0=1 ; +1*st
multi2=2 ; +2*en
;max ap
[8]
base=5 ; base of 5
multi5=0.5 ; +0.5*ag
;ac
[9]
multi5=1
;melee damage
[11]
min=1
shift0=-5
multi0=1
;carry weight
[12]
base=25
multi0=25
;sequence
[13]
multi1=2
;heal rate
[14]
min=1
multi2=0.3333333333
;critical chance
[15]
multi6=1
;rad resist
[31]
multi2=2
;poison resist
[32]
multi2=5
+14
View File
@@ -0,0 +1,14 @@
[sfall]
SaveInCombat=Cannot save at this time
KarmaGain=You gained %d karma.
KarmaLoss=You lost %d karma.
HighlightFail1=You aren't carrying a motion sensor.
HighlightFail2=Your motion sensor is out of charge.
SuperStimExploitMsg=You cannot use a super stim on someone who is not injured!
BlockedCombat=You cannot enter combat at this time.
SaveSfallDataFail=ERROR saving extended savegame information! Check if other programs interfere with savegame files/folders and try again.
[AppearanceMod]
RaceText=Race
StyleText=Style
MainButtonText=Appearance
+19
View File
@@ -0,0 +1,19 @@
; Allows to reassign books to different object PIDs, text messages.
; Maximum 30 books are allowed (25 if overrideVanilla is 0)
[main]
; total number of books in this file
count=5
; set to 1 to override all vanilla books, so you will have to define ALL books in this file;
; otherwise only new books are defined here
overrideVanilla=0
; count starts from 1
[1]
; book item PID
PID=626
; textID from proto.msg which displayed when reading book
TextID=802
; corresponding skill
Skill=15
+26
View File
@@ -0,0 +1,26 @@
;Controls the elevators
;Image must match up with the image of an existing elevator
;Make sure you specify the correct number of exit targets
;The maximum number of elevators is currently capped at 50
;Override elevator 0
[000]
;This elevator uses the frm of the original forth elevator
Image=4
;Set up the first exit point
ID1=49
Elevation1=0
Tile1=14920
;Second exit point
ID2=49
Elevation2=1
Tile2=15120
;Third exit point
ID3=50
Elevation3=0
Tile3=12944
;No forth exit point
+9
View File
@@ -0,0 +1,9 @@
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 PIDs, skills and 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
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
+579
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -0,0 +1,77 @@
/*
AP costs mod for fallout 2 by phobos2077
----------------------------------------
- increases AP cost of using all non-weapon items from main interface to 4
- AP are reduced even when using items (eg. stimpaks) from the inventory
Requires sfall 3.5 or higher
*/
#include "..\headers\define.h"
#include "sfall.h"
#include "define_extra.h"
#define ITEM_USE_COST (4)
variable last_used_item;
procedure item_by_attack_type(variable critter, variable type) begin
variable slot;
if (type > 3 and type != ATKTYPE_LWEP_RELOAD and type != ATKTYPE_RWEP_RELOAD) then
return 0;
if (type < 2 or type == ATKTYPE_LWEP_RELOAD) then
slot := INVEN_TYPE_LEFT_HAND;
else
slot := INVEN_TYPE_RIGHT_HAND;
return critter_inven_obj(critter, slot);
end
procedure apcost_handler begin
variable args := get_sfall_args, item;
item := item_by_attack_type(args[0], args[1]);
if (obj_item_subtype(item) != item_type_weapon) then begin
set_sfall_return(ITEM_USE_COST);
last_used_item := item;
end
end
procedure useobjon_handler begin
variable target, critter, item, ap, cost;
target := get_sfall_arg;
critter := get_sfall_arg;
item := get_sfall_arg;
if (combat_is_initialized) then begin
if (get_game_mode bwand INVENTORY) then
cost := ITEM_USE_COST;
else if (last_used_item != item) then
cost := ITEM_USE_COST - 2;
else
cost := 0;
if (cost > 0) then begin
ap := get_critter_current_ap(critter);
if (ap >= ITEM_USE_COST) then begin
set_critter_current_ap(critter, ap - cost);
end else begin
if (cost < ITEM_USE_COST) then
set_critter_current_ap(critter, ap + ITEM_USE_COST - cost);
set_sfall_return(0);
end
end
end
last_used_item := 0;
end
procedure start begin
if game_loaded then begin
// if you only want to reduce AP when using stuff from inventory by 2,
// comment out following line and change ITEM_USE_COST to 2
register_hook_proc(HOOK_CALCAPCOST, apcost_handler);
register_hook_proc(HOOK_USEOBJON, useobjon_handler);
end
end
+11
View File
@@ -0,0 +1,11 @@
AP costs mod for fallout 2 by phobos2077
----------------------------------------
- increases AP cost of using all misc items to 4
- AP are reduced even when using items (eg. stimpaks) from the inventory
To use, copy gl_itemapcost.int to your scripts folder.
This mod is a simple example of a global script, so I've also included an uncompiled copy in the scripts folder.
@@ -0,0 +1,93 @@
procedure start;
procedure update_shader;
variable perception;
variable boozes;
variable shader1;
variable shader2;
variable shader3;
variable shader4;
variable drunk_level;
variable next_reduction;
procedure start begin
variable new_pe;
variable new_booze;
variable drunk_count;
if (metarule(22,0)) then return;
if (game_loaded) then begin
if(not graphics_funcs_available) then begin
display_msg("ERROR: You must set sfall to use graphics mode 4 or 5 to use this mod");
return;
end else begin
//new_pe:=create_object_sid(125, 0, 0, -1);
//add_mult_objs_to_inven(dude_obj, new_pe, 10);
perception:=get_pc_extra_stat(1);
boozes:=obj_is_carrying_obj_pid(dude_obj, 125);
set_global_script_repeat(25);
set_global_script_repeat(-1);
shader1:=load_shader("booze1.fx");
shader2:=load_shader("booze2.fx");
shader3:=load_shader("booze3.fx");
shader4:=load_shader("booze4.fx");
drunk_level:=0;
next_reduction:=0;
//display_msg("Init: " + perception + ", " + boozes);
end
end else begin
new_pe:=get_pc_extra_stat(1);
new_booze:=obj_is_carrying_obj_pid(dude_obj, 125);
if( (perception != new_pe) or (boozes != new_booze) ) then begin
//display_msg("var change: " + perception + ", " + boozes + " -> " + new_pe + ", " + new_booze);
if ( (perception > new_pe) and (boozes > new_booze) ) then begin
if ( (perception - new_pe) < (boozes - new_booze) ) then begin
drunk_count:=perception - new_pe;
end else begin
drunk_count:=boozes - new_booze;
end
drunk_level:=drunk_level + (drunk_count*10);
//display_msg("Increasing booze count: " + drunk_level);
call update_shader;
next_reduction:=game_time + game_ticks(6);
end
perception:=new_pe;
boozes:=new_booze;
end
if( (next_reduction != 0 ) and (game_time >= next_reduction) ) then begin
drunk_level:=drunk_level - 1;
if(drunk_level == 0) then next_reduction:=0;
else next_reduction:=next_reduction + game_ticks(6);
call update_shader;
//display_msg("Decreasing booze count: " + drunk_level);
end
end
end
procedure update_shader begin
if(drunk_level >= 100) then begin
deactivate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
activate_shader(shader4);
end else if(drunk_level >= 50) then begin
deactivate_shader(shader1);
deactivate_shader(shader2);
activate_shader(shader3);
deactivate_shader(shader4);
end else if(drunk_level >= 25) then begin
deactivate_shader(shader1);
activate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end else if(drunk_level > 0) then begin
activate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end else begin
deactivate_shader(shader1);
deactivate_shader(shader2);
deactivate_shader(shader3);
deactivate_shader(shader4);
end
end
@@ -0,0 +1,25 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
}
@@ -0,0 +1,26 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D( s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D( s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D( s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
}
@@ -0,0 +1,34 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = tex2D(s0, Tex);
return Color * saturate(1.8 - (length(Tex - 0.5)*2));
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
Pass P3 { PixelShader = compile ps_2_0 Blind(); }
}
@@ -0,0 +1,36 @@
sampler s0;
static const float2 rcpres =
{
0.0015625,
0.0020833333333333333333333333333333
};
float4 Blur(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = 0;
Color += tex2D( s0, float2(Tex.x, Tex.y));
Color += tex2D(s0, float2(Tex.x + rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x - rcpres.x, Tex.y));
Color += tex2D(s0, float2(Tex.x, Tex.y + rcpres.y));
Color += tex2D(s0, float2(Tex.x, Tex.y - rcpres.y));
return Color * 0.2;
}
float4 Blind(float2 Tex : TEXCOORD0) : COLOR0
{
float4 Color = tex2D(s0, Tex);
return Color * saturate(1.5 - (length(Tex - 0.5)*2));
}
Technique blur
{
Pass P0 { PixelShader = compile ps_2_0 Blur(); }
Pass P1 { PixelShader = compile ps_2_0 Blur(); }
Pass P2 { PixelShader = compile ps_2_0 Blur(); }
Pass P3 { PixelShader = compile ps_2_0 Blur(); }
Pass P4 { PixelShader = compile ps_2_0 Blur(); }
Pass P5 { PixelShader = compile ps_2_0 Blind(); }
}

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