Skip to content

Commit fc0bd25

Browse files
committed
Progress every day
- ModdersPack update (sfall-team/sfall@9087239) - Configuration refresh
1 parent c052ab3 commit fc0bd25

File tree

4 files changed

+27
-17
lines changed

4 files changed

+27
-17
lines changed

Fallout2/Fallout1in2/ddraw.ini

+3-3
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ StartingMap=V13ent.map
294294

295295
;To change the 'FALLOUT II v1.02d' version string on the main menu, uncomment the next line
296296
;You can use up to 2 %d's in this if you want to include Fallout's version number somewhere
297-
VersionString=FALLOUT ET TU v1.11.3593
297+
VersionString=FALLOUT ET TU v1.11.3595
298298

299299
;To use a config file other than fallout2.cfg, uncomment the next line and add the name of your new file
300300
;ConfigFile=
@@ -360,8 +360,8 @@ StartDay=3
360360
;LocalMapXLimit=480
361361
;LocalMapYLimit=400
362362

363-
;Set to 1 if you want the pipboy to be available at the start of the game
364-
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
363+
;Set to 1 to make the pipboy and the vault suit available when the game starts
364+
;Set to 2 to make only the pipboy available
365365
PipBoyAvailableAtGameStart=2
366366

367367
;Set to 1 to double the number of available kill types

Tools/ModdersPack/ddraw.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,8 @@ Movie17=credits.mve
361361
;LocalMapXLimit=480
362362
;LocalMapYLimit=400
363363

364-
;Set to 1 if you want the pipboy to be available at the start of the game
365-
;Set to 2 to make the pipboy available by only skipping the vault suit movie check
364+
;Set to 1 to make the pipboy and the vault suit available when the game starts
365+
;Set to 2 to make only the pipboy available
366366
PipBoyAvailableAtGameStart=0
367367

368368
;Set to 1 to double the number of available kill types

Tools/ModdersPack/scripting/functions.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@
565565
doc: |
566566
Used to play `mp3/wav/wma` files. The path given is relative to the Fallout folder. Specify mode as 1 to loop the file continuously, 2 to replace the current background game music with playing the specified file in loop mode, or 0 to play the file once. If you don't wish to loop, `play_sfall_sound` returns 0. If you do loop, it returns an ID which can be passed back to `stop_sfall_sound` when you want to stop the effect. All sounds effects will be stopped on game reload, looping or not. Does not require `AllowDShowSound` to be set to 1 in `ddraw.ini`.
567567
568-
Starting from sfall 4.2.8/3.8.28, you can pass a value in the `mode` argument for a reduced sound volume. To set the volume, You need to convert the number to hexadecimal and use the argument format `0xZZZZ000Y`, where `ZZZZ` is the volume reduction value in range from 0 to 32767 (the value 32767 is mute), and `Y` is the playback mode.
568+
Starting from sfall 4.2.8/3.8.28, you can pass a value in the `mode` argument for a reduced sound volume. To set the volume, you need to convert the number to hexadecimal and use the argument format `0xZZZZ000Y`, where `ZZZZ` is the volume reduction value in range from 0 to 32767 (the value 32767 is mute), and `Y` is the playback mode.
569569
- name: stop_sfall_sound
570570
detail: void stop_sfall_sound(int soundID)
571571
opcode: 0x822c
@@ -891,7 +891,7 @@
891891
- name: input_funcs_available
892892
detail: int input_funcs_available()
893893
opcode: 0x816b
894-
doc: The input functions are only available if the user has the input hook turned on in `ddraw.ini`. Use `input_funcs_available` to check.
894+
doc: (DEPRECATED) The input functions are only available if the user has the input hook turned on in `ddraw.ini`. Use `input_funcs_available` to check.
895895
- name: get_year
896896
detail: int get_year
897897
opcode: 0x8163
@@ -981,7 +981,7 @@
981981
- name: nb_create_char
982982
detail: int nb_create_char()
983983
opcode: 0x81f6
984-
doc: "`nb_*` functions are reserved for the brotherhood tactical training mod, and should be avoided. Not implemented, always returns 0."
984+
doc: (DEPRECATED) Reserved for the brotherhood tactical training mod, and should be avoided. Not implemented, always returns 0.
985985

986986
- name: get_proto_data
987987
detail: int get_proto_data(int pid, int offset)
@@ -1573,7 +1573,9 @@
15731573
- name: set_global_script_type
15741574
detail: void set_global_script_type(int type)
15751575
opcode: 0x819b
1576-
doc: Only has an effect on the script it is called from. Every global script needs its own `game_loaded` block to correctly set up the script type.
1576+
doc: |
1577+
Only has an effect on the script it is called from. Every global script needs its own `game_loaded` block to correctly set up the script type.
1578+
- (DEPRECATED) Using type 1 requires the input wrapper to be enabled. Use `available_global_script_types` to check what is available.
15771579
- name: available_global_script_types
15781580
detail: int available_global_script_types
15791581
opcode: 0x819c

Tools/ModdersPack/scripting/sfall function notes.md

+16-8
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ As well as the new functions, sfall also adds global scripts. These run independ
55

66
To use a global script, the script must have a name which begins with `gl` and contains a procedure called `start`, `map_enter_p_proc`, `map_exit_p_proc`, or `map_update_p_proc`. The `start` procedure will be executed once when the player loads a saved game or starts a new game. The `map_*_p_proc` procedures will be executed once when a map is being entered/left/updated. If you wish the script to be executed repeatedly, call `set_global_script_repeat` on the first run of the `start` procedure using the number of frames between each run as the argument (0 disables the script, 1 runs it every frame, 2 runs it every other frame, etc.).
77

8-
Global scripts have multiple modes, which can be set using the `set_global_script_type` function. In the default mode (i.e. mode 0) their execution is linked to the local map game loop, so the script will not run in dialogs or on the world map. In mode 1 their execution is linked to the player input, and so they will run whenever the mouse cursor is visible on screen, including the world map, character dialogs, etc. In mode 2, execution is linked to the world map loop, so the script will only be executed on the world map and not on the local map or in any dialog windows. Mode 3 is a combination of modes 0 and 2, so scripts will be executed on both local maps and the world map, but not in dialog windows.\
9-
_Using mode 1 requires the input wrapper to be enabled. Use available_global_script_types to check what is available._ - **Obsolete**.
8+
Global scripts have multiple modes, which can be set using the `set_global_script_type` function. In the default mode (i.e. mode 0) their execution is linked to the local map game loop, so the script will not run in dialogs or on the world map. In mode 1 their execution is linked to the player input, and so they will run whenever the mouse cursor is visible on screen, including the world map, character dialogs, etc. In mode 2, execution is linked to the world map loop, so the script will only be executed on the world map and not on the local map or in any dialog windows. Mode 3 is a combination of modes 0 and 2, so scripts will be executed on both local maps and the world map, but not in dialog windows.
109

1110

1211
----------------------
@@ -24,8 +23,6 @@ The `get_pc_base_stat`, `set_pc_base_stat`, `get_pc_extra_stat` and `set_pc_extr
2423

2524
The `set_stat_min` and `set_stat_max` functions can be used to set the valid ranges on stats. Values returned by `get_current_stat` will be clamped to this range. The `set_pc_stat_*` functions only affect the player, the `set_npc_stat_*` functions only affect other critters, and the `set_stat_*` functions affect both.
2625

27-
The input functions are only available if the user has the input hook turned on in **ddraw.ini**. Use `input_funcs_available` to check.
28-
2926
The graphics functions are only available if the user is using graphics mode 4 or 5. Use `graphics_funcs_available` to check; it returns 1 if you can use them or 0 if you can't. Calling graphics functions when `graphics_funcs_available` returns 0 will do nothing.
3027

3128
The `load_shader` takes a path relative to the `<GameRoot>\<master_patches>\shaders\` directory as an argument and returns a shader ID. That ID should be passed as the first argument to all other shader functions, and is valid until `free_shader` is called on the ID, the player loads a saved game or the player quits to the main menu.
@@ -62,16 +59,14 @@ The `get_critical_table`, `set_critical_table` and `reset_critical_table` are us
6259

6360
The `get_unspent_ap_bonus` and `set_unspent_ap_bonus` alter the AC bonus you receive per unused action point at the end of your turn in combat. To allow for fractional values, the value given if divided by 4. (Hence the default value is 4 and not 1.) The `get_unspent_ap_perk_bonus` and `set_unspent_ap_perk_bonus` are similar, but affect the extra AC granted by the HtH Evade perk. (The default value of this is also 4, equivalent to doubling the original bonus.)
6461

65-
The `nb_*` functions are reserved for the brotherhood tactical training mod, and should be avoided.
66-
6762
The `fs_*` functions are used to manipulate a virtual file system. Files saved here should have paths relative to the data folder, and use backslashes as the directory separator. They will take precedence over files stored in the normal data folder. They will also be saved into save games if you set a flag for them using `fs_resize(fileId, -1)`, so be avoid creating large files. Using `fs_copy` followed by `fs_read_xxx`, you can read the contents of existing files.
6863

6964
The `get_proto_data` and `set_proto_data` are used to manipulate the in memory copies of the **.pro** files Fallout makes when they are loaded. The offset refers to the offset in memory from the start of the proto to the element you are reading. Changes are not stored on disc, and are not permanent. If you modify the protos, and then Fallout subsequently reloads the file your changes will be lost.
7065

7166
The `list_xxx` functions can be used to loop over all items on a map. `list_begin` takes an argument telling sfall what you want to list (defined in **sfall.h**). It returns a list pointer, which you iterate through with `list_next`. Finally, when you've finished with the list use `list_end` on it. Not calling `list_end` will result in a memory leak. Alternatively, use `list_as_array` to get the whole list at once as a temp array variable, which can be looped over using `len_array` and which you don't need to remember to free afterwards.
7267

7368
The `play_sfall_sound` and `stop_sfall_sound` are used to play **mp3/wav/wma** files. The path given is relative to the Fallout folder. Specify mode as 1 to loop the file continuously, 2 to replace the current background game music with playing the specified file in loop mode, or 0 to play the file once. If you don't wish to loop, `play_sfall_sound` returns 0. If you do loop, it returns an ID which can be passed back to `stop_sfall_sound` when you want to stop the effect. All sounds effects will be stopped on game reload, looping or not. These functions do not require **AllowDShowSound** to be set to 1 in **ddraw.ini**.
74-
Starting from sfall 4.2.8/3.8.28, you can pass a value in the **mode** argument for a reduced sound volume. To set the volume, You need to convert the number to hexadecimal and use the argument format `0xZZZZ000Y`, where `ZZZZ` is the volume reduction value in range from 0 to 32767 (the value 32767 is muted), and `Y` is the playback mode.
69+
Starting from sfall 4.2.8/3.8.28, you can pass a value in the **mode** argument for a reduced sound volume. To set the volume, you need to convert the number to hexadecimal and use the argument format `0xZZZZ000Y`, where `ZZZZ` is the volume reduction value in range from 0 to 32767 (the value 32767 is muted), and `Y` is the playback mode.
7570

7671
Arrays are created and manipulated with the `xxx_array` functions. An array must first be created with `create_array` or `temp_array`, specifying how many data elements the array can hold. You can store any of ints, floats and strings in an array, and can mix all 3 in a single array. The ID returned by `create_array` or `temp_array` can then be used with the other array functions. Arrays are shared between all scripts. (i.e. you can call `create_array` from one script, and then use the returned ID from another script.) They are also saved across savegames. Arrays created with `temp_array` will be automatically freed at the end of the frame. These functions are safe, in that supplying a bad ID or trying to access out of range elements will not crash the script. `create_array` is the only function that returns a permanent array, all other functions which return arrays (`string_split`, `list_as_array`, etc,) all return temp arrays. You can use `fix_array` to make a temp array permanent.\
7772
__NOTE:__ refer to **arrays.md** for detailed description of the array behavior and function usage.
@@ -81,6 +76,17 @@ The `force_aimed_shots` and `disable_aimed_shots` allow overriding the normal ru
8176
The `get_critter_skill_points` and `set_critter_skill_points` will get or set the number of additional points a critter has in a skill, on top of whatever they have from their stats and other bonuses. Note that skill points are part of the proto, so calling `set_skill_points` on a critter will affect all critters that share the same proto.
8277

8378

79+
--------------------
80+
DEPRECATED FUNCTIONS
81+
--------------------
82+
83+
Using global scripts in mode 1 requires the input wrapper to be enabled. Use `available_global_script_types` to check what is available.
84+
85+
The input functions are only available if the user has the input hook turned on in **ddraw.ini**. Use `input_funcs_available` to check.
86+
87+
The `nb_create_char` function is reserved for the brotherhood tactical training mod, and should be avoided.
88+
89+
8490
---------------
8591
TYPES REFERENCE
8692
---------------
@@ -106,7 +112,9 @@ FUNCTION REFERENCE
106112

107113
-----
108114
##### `void set_pipboy_available(int available)`
109-
- Sets the availability of the pipboy in the game. Use 0 to disable the pipboy, and 1 or 2 to enable it (value 2 does not mark the `VSUIT_MOVIE` movie as "played").
115+
- Sets the availability of the pipboy in the game. Use 0 to disable the pipboy, and 1 or 2 to enable it (value 2 does not change the player's default appearance).
116+
- The availability state will be reset each time the player reloads the game.
117+
- __NOTE:__ Starting from sfall 4.4.6/3.8.46, value 1 no longer marks the `VSUIT_MOVIE` movie as "played". Use `mark_movie_played(VSUIT_MOVIE)` instead if you want the old behavior.
110118

111119
-----
112120
##### `void inc_npc_level(int pid/string name)`

0 commit comments

Comments
 (0)