Improved the functionality of ElevatorsFile to allow to change the FRM images of the elevator panel and create new elevator types (from Mr.Stalin)

This commit is contained in:
NovaRain
2018-12-31 10:10:06 +08:00
parent 26ab38c6c3
commit f36bd6fb61
3 changed files with 120 additions and 73 deletions
+24 -4
View File
@@ -1,11 +1,12 @@
;Controls the elevators
;Image must match up with the image of an existing elevator
;Image must match up with the image of an existing elevator (can be overrided in sfall 3.8.14 or newer)
;Make sure you specify the correct number of exit targets
;The maximum number of elevators is currently capped at 50
;Use the line number (0-indexed) of the corresponding FRM in intrface.lst to set the appearance of the elevator
;Override elevator 0
[000]
;This elevator uses the frm of the original forth elevator
[0]
;This elevator will use the settings of the original forth elevator
Image=4
;Set up the first exit point
@@ -23,4 +24,23 @@ ID3=50
Elevation3=0
Tile3=12944
;No forth exit point
;No forth exit point
;Override FRM images of elevator 0. Set ButtonsFrm to -1 to use default buttons from MainFrm
MainFrm=143
ButtonsFrm=-1
;An example of a new elevator
[24]
;Set Image to 24 to create a new elevator type (0-23 are the original elevator types)
Image=24
;Set the number of buttons
ButtonCount=3
;Set up the appearance of the elevator
MainFrm=148
ButtonsFrm=151
;Set up the exit points for all three buttons (see examples above)
+2 -2
View File
@@ -141,7 +141,7 @@ array - array ID to be used with array-related functions (actually an integer)
- In this case use force_encounter_with_flags with the ENCOUNTER_FLAG_NO_CAR flag set.
> int get_light_level()
- ambient light level in range 0..65535
- ambient light level in range 0..65536
- The value returned by get_light_level may not exactly match that set by set_light_level, as set_light_level applies modifiers from the night vision perk.
> void set_map_time_multi(float multi)
@@ -310,7 +310,7 @@ Some utility/math functions are available:
- this calls an internal engine function which is used to determine the perception range of critters (which you can override using HOOK_WITHINPERCEPTION)
> int tile_light(int elevation, int tileNum)
- returns light intensity at the given tile in range from 0 to 65535
- returns light intensity at the given tile in range from 0 to 65536
> object obj_blocking_line(object objFrom, int tileTo, int blockingType)
- returns first object which blocks direct linear path from objFrom to tileTo using selected blocking function (see BLOCKING_TYPE_* constants in sfall.h)