diff --git a/main.cpp b/main.cpp index 83cf8f0..f62fa98 100644 --- a/main.cpp +++ b/main.cpp @@ -40,10 +40,10 @@ bool ProcessCommandLine(int argc, char* argv[]); int main(int argc, char* argv[]) { - std::cout << "Fallout script decompiler, version 8.4.2 (sfall edition)" << std::endl + std::cout << "Fallout script decompiler, version 8.4.3 (sfall edition)" << std::endl << "Copyright (C) Anchorite (TeamX), 2005-2009" << std::endl << "anchorite2001@yandex.ru" << std::endl - << "Continued by Nirran, phobos2077 (2014-2017)" << std::endl + << "Continued by Nirran, phobos2077 (2014-2018)" << std::endl << "Crossplatformed by alexeevdv (2015)" << std::endl; if (argc < 2 || !ProcessCommandLine(argc, argv)) diff --git a/sfall function list.txt b/sfall function list.txt deleted file mode 100644 index 1de06fb..0000000 --- a/sfall function list.txt +++ /dev/null @@ -1,278 +0,0 @@ - -*0x8156 - int read_byte(int address) -*0x8157 - int read_short(int address) -*0x8158 - int read_int(int address) -*0x8159 - char* read_string(int address) - -*0x81cf - void write_byte(int address, int value) -*0x81d0 - void write_short(int address, int value) -*0x81d1 - void write_int(int address, int value) -*0x821b - void write_string(int address, char* value) - -*0x81d2 - void call_offset_v0(int address) -*0x81d3 - void call_offset_v1(int address, int arg1) -*0x81d4 - void call_offset_v2(int address, int arg1, int arg2) -*0x81d5 - void call_offset_v3(int address, int arg1, int arg2, int arg3) -*0x81d6 - void call_offset_v4(int address, int arg1, int arg2, int arg3, int arg4) -*0x81d7 - int call_offset_r0(int address) -*0x81d8 - int call_offset_r1(int address, int arg1) -*0x81d9 - int call_offset_r2(int address, int arg1, int arg2) -*0x81da - int call_offset_r3(int address, int arg1, int arg2, int arg3) -*0x81db - int call_offset_r4(int address, int arg1, int arg2, int arg3, int arg4) - -0x815a - void set_pc_base_stat(int StatID, int value) -0x815b - void set_pc_extra_stat(int StatID, int value) -0x815c - int get_pc_base_stat(int StatID) -0x815d - int get_pc_extra_stat(int StatID) - -0x815e - void set_critter_base_stat(CritterPtr, int StatID, int value) -0x815f - void set_critter_extra_stat(CritterPtr, int StatID, int value) -0x8160 - int get_critter_base_stat(CritterPtr, int StatID) -0x8161 - int get_critter_extra_stat(CritterPtr, int StatID) - -0x81b4 - void set_stat_max(int stat, int value) -0x81b5 - void set_stat_min(int stat, int value) -0x81b7 - void set_pc_stat_max(int stat, int value) -0x81b8 - void set_pc_stat_min(int stat, int value) -0x81b9 - void set_npc_stat_max(int stat, int value) -0x81ba - void set_npc_stat_min(int stat, int value) - -0x816b - int input_funcs_available() -ox816c - int key_pressed(int dxScancode) -0x8162 - void tap_key(int dxScancode) -0x821c - int get_mouse_x() -0x821d - int get_mouse_y() -0x821e - int get_mouse_buttons() -0x821f - int get_window_under_mouse() - -0x8163 - int get_year() - -0x8164 - bool game_loaded() - -0x8165 - bool graphics_funcs_available() -0x8166 - int load_shader(char* path) -0x8167 - void free_shader(int ID) -0x8168 - void activate_shader(int ID) -0x8169 - void deactivate_shader(int ID) -0x816d - void set_shader_int(int ID, char* param, int value) -0x816e - void set_shader_float(int ID, char* param, float value) -0x816f - void set_shader_vector(int ID, char* param, float f1, float f2, float f3, float f4) -0x81ad - int get_shader_version() -0x81ae - void set_shader_mode(int mode) -0x81b0 - void force_graphics_refresh(bool enabled) -0x81b1 - int get_shader_texture(int ID, int texture) -0x81b2 - void set_shader_texture(int ID, char* param, int texID) - -0x816a - void set_global_script_repeat(int frames) -0x819b - void set_global_script_type(int type) -0x819c - int available_global_script_types() - -0x8170 - bool in_world_map() - -0x8171 - void force_encounter(int map) -0x8229 - void force_encounter_with_flags(int map, int flags) -0x822a - void set_map_time_multi(float multi) - -0x8172 - void set_world_map_pos(int x, int y) -0x8173 - int get_world_map_x_pos() -0x8174 - int get_world_map_y_pos() - -0x8175 - void set_dm_model(char* name) -0x8176 - void set_df_model(char* name) -0x8177 - void set_movie_path(char* filename, int movieid) - -0x8178 - void set_perk_image(int perkID, int value) -0x8179 - void set_perk_ranks(int perkID, int value) -0x817a - void set_perk_level(int perkID, int value) -0x817b - void set_perk_stat(int perkID, int value) -0x817c - void set_perk_stat_mag(int perkID, int value) -0x817d - void set_perk_skill1(int perkID, int value) -0x817e - void set_perk_skill1_mag(int perkID, int value) -0x817f - void set_perk_type(int perkID, int value) -0x8180 - void set_perk_skill2(int perkID, int value) -0x8181 - void set_perk_skill2_mag(int perkID, int value) -0x8182 - void set_perk_str(int perkID, int value) -0x8183 - void set_perk_per(int perkID, int value) -0x8184 - void set_perk_end(int perkID, int value) -0x8185 - void set_perk_chr(int perkID, int value) -0x8196 - void set_perk_int(int perkID, int value) -0x8187 - void set_perk_agl(int perkID, int value) -0x8188 - void set_perk_lck(int perkID, int value) -0x8189 - void set_perk_name(int perkID, char* value) -0x818a - void set_perk_desc(int perkID, char* value) - -0x818b - void set_pipboy_available(int available) - -0x818c - int get_kill_counter(int critterType) -0x818d - void mod_kill_counter(int critterType, int amount) - -0x818e - int get_perk_owed() -0x818f - void set_perk_owed(int value) -0x8190 - int get_perk_available(int perk) - -0x8191 - int get_critter_current_ap(CritterPtr) -0x8192 - void set_critter_current_ap(CritterPtr, int ap) - -0x8193 - int active_hand() -0x8194 - void toggle_active_hand() - -0x8195 - void set_weapon_knockback(WeaponPtr, int type, float value) -0x8196 - void set_target_knockback(CritterPtr, int type, float value) -0x8197 - void set_attacker_knockback(CritterPtr, int type, float value) -0x8198 - void remove_weapon_knockback(WeaponPtr) -0x8199 - void remove_target_knockback(CritterPtr) -0x819a - void remove_attacker_knockback(CritterPtr) - -0x819d - void set_sfall_global(string/int varname, int/float value) -0x819e - int get_sfall_global_int(string/int varname) -0x819f - float get_sfall_global_float(string/int varname) -0x822d - int create_array(int elementcount, int elementsize) -0x822e - void set_array(int array, int element, any value) -0x822f - any get_array(int array, int element) -0x8230 - void free_array(int array) - -0x81a0 - void set_pickpocket_max(int percentage) -0x81a1 - void set_hit_chance_max(int percentage) -0x81a2 - void set_skill_max(int value) -0x81aa - void set_xp_mod(int percentage) -0x81ab - void set_perk_level_mod(int levels) - -0x81c5 - void set_critter_hit_chance_mod(CritterPtr, int max, int mod) -0x81c6 - void set_base_hit_chance_mod(int max, int mod) -0x81c7 - void set_critter_skill_mod(CritterPtr, int max, int mod) -0x81c8 - void set_base_skill_mod(int max, int mod) -0x81c9 - void set_critter_pickpocket_mod(CritterPtr, int max, int mod) -0x81ca - void set_base_pickpocket_mod(int max, int mod) - -0x81a3 - int eax_available() -0x81a4 - void set_eax_environment(int environment) - -0x81a5 - void inc_npc_level(char* npc) - -0x81a6 - int get_viewport_x() -0x81a7 - int get_viewport_y() -0x81a8 - void set_viewport_x(int view_x) //fixed by nirran -0x81a9 - void set_viewport_y(int view_y) //fixed by nirran - -0x81ac - int get_ini_setting(char* setting) -0x81eb - char* get_ini_string(char* setting) - -0x81af - int get_game_mode() - -0x81b3 - int get_uptime() - -0x81b6 - void set_car_current_town(int town) - -0x81bb - void set_fake_perk(char* name, int level, int image, char* desc) -0x81bc - void set_fake_trait(char* name, int active, int image, char* desc) -0x81bd - void set_selectable_perk(char* name, int active, int image, char* desc) -0x81be - void set_perkbox_title(char* title) -0x81bf - void hide_real_perks() -0x81c0 - void show_real_perks() -0x81c1 - int has_fake_perk(char* name) -0x81c2 - int has_fake_trait(char* name) -0x81c3 - void perk_add_mode(int type) -0x81c4 - void clear_selectable_perks() -0x8225 - void remove_trait(int traitID) - -0x81cb - void set_pyromaniac_mod(int bonus) //fixed by nirran -0x81cc - void apply_heaveho_fix -0x81cd - void set_swiftlearner_mod(int bonus) -0x81ce - void set_hp_per_level_mod(int mod) //fixed by nirran - -0x81dc - void show_iface_tag(int tag) -0x81dd - void hide_iface_tag(int tag) -0x81de - int is_iface_tag_active(int tag) - -0x81df - int get_bodypart_hit_modifier(int bodypart) -0x81e0 - void set_bodypart_hit_modifier(int bodypart, int value) - -0x81e1 - void set_critical_table(int crittertype, int bodypart, int level, int valuetype, int value) -0x81e2 - int get_critical_table(int crittertype, int bodypart, int level, int valuetype) -0x81e3 - void reset_critical_table(int crittertype, int bodypart, int level, int valuetype) - -0x81e4 - int get_sfall_arg() -0x81e5 - void set_sfall_return(int value) -0x81ea - int init_hook() - -0x81e6 - void set_unspent_ap_bonus(int multiplier) -0x81e7 - int get_unspent_ap_bonus() -0x81e8 - void set_unspent_ap_perk_bonus(int multiplier) -0x81e9 - int get_unspent_ap_perk_bonus() - -0x81ec - float sqrt(float) -0x81ed - float abs(float) -0x81ee - float sin(float) -0x81ef - float cos(float) -0x81f0 - float tan(float) -0x81f1 - float arctan(float x, float y) - -0x81f2 - void set_palette(char* path) - -0x81f3 - void remove_script(objptr) -0x81f4 - void set_script(objptr, int scriptid) -0x81f5 - int get_script(objptr) - -0x81f6 - int nb_create_char() - -0x81f7 - int fs_create(string path, int size) -0x81f8 - int fs_copy(string path, string source) -0x81f9 - int fs_find(string path) -0x81fa - void fs_write_byte(int id, int data) -0x81fb - void fs_write_short(int id, int data) -0x81fc - void fs_write_int(int id, int data) -0x81fd - void fs_write_float(int id, int data) -0x81fe - void fs_write_string(int id, string data) -0x8208 - void fs_write_bstring(int id, string data) -0x8209 - int fs_read_byte(int id) -0x820a - int fs_read_short(int id) -0x820b - int fs_read_int(int id) -0x820c - float fs_read_float(int id) -0x81ff - void fs_delete(int id) -0x8200 - int fs_size(int id) -0x8201 - int fs_pos(int id) -0x8202 - void fs_seek(int id, int pos) -0x8203 - void fs_resize(int id, int size) - -0x8204 - int get_proto_data(objptr, int offset) -0x8205 - void set_proto_data(objptr, int offset, int value) //fixed by nirran - -0x8206 - void set_self(objptr) -0x8207 - void register_hook(int hook) - -0x820d - int list_begin(int type) -0x820e - int list_next(int listid) -0x820f - void list_end(int listid) - -0x8210 - int sfall_ver_major() -0x8211 - int sfall_ver_minor() -0x8212 - int sfall_ver_build() - -0x8213 - void hero_select_win(int) -0x8214 - void set_hero_race(int style) -0x8215 - void set_hero_style(int style) - -0x8216 - void set_critter_burst_disable(int critter, int disable) - -0x8217 - int get_weapon_ammo_pid(objptr weapon) -0x8218 - void set_weapon_ammo_pid(objptr weapon, int pid) -0x8219 - int get_weapon_ammo_count(objptr weapon) -0x821a - void set_weapon_ammo_count(objptr weapon, int count) - -0x8220 - int get_screen_width() -0x8221 - int get_screen_height() - -0x8222 - void stop_game() -0x8223 - void resume_game() -0x8224 - void create_message_window(char* message) - -0x8226 - int get_light_level() - -0x8227 - void refresh_pc_art - -0x8228 - int get_attack_type - -0x822b - int play_sfall_sound(char* file, int loop) -0x822c - void stop_sfall_sound(int ptr) - -* These functions require AllowUnsafeScripting to be enabled in ddraw.ini \ No newline at end of file diff --git a/sfall opcode list.txt b/sfall opcode list.txt new file mode 100644 index 0000000..d13bb8e --- /dev/null +++ b/sfall opcode list.txt @@ -0,0 +1,362 @@ + +*0x8156 - int read_byte(int address) +*0x8157 - int read_short(int address) +*0x8158 - int read_int(int address) +*0x8159 - string read_string(int address) + +*0x81cf - void write_byte(int address, int value) +*0x81d0 - void write_short(int address, int value) +*0x81d1 - void write_int(int address, int value) +*0x821b - void write_string(int address, string value) + +*0x81d2 - void call_offset_v0(int address) +*0x81d3 - void call_offset_v1(int address, int arg1) +*0x81d4 - void call_offset_v2(int address, int arg1, int arg2) +*0x81d5 - void call_offset_v3(int address, int arg1, int arg2, int arg3) +*0x81d6 - void call_offset_v4(int address, int arg1, int arg2, int arg3, int arg4) +*0x81d7 - int call_offset_r0(int address) +*0x81d8 - int call_offset_r1(int address, int arg1) +*0x81d9 - int call_offset_r2(int address, int arg1, int arg2) +*0x81da - int call_offset_r3(int address, int arg1, int arg2, int arg3) +*0x81db - int call_offset_r4(int address, int arg1, int arg2, int arg3, int arg4) + +0x815a - void set_pc_base_stat(int StatID, int value) +0x815b - void set_pc_extra_stat(int StatID, int value) +0x815c - int get_pc_base_stat(int StatID) +0x815d - int get_pc_extra_stat(int StatID) + +0x815e - void set_critter_base_stat(object, int StatID, int value) +0x815f - void set_critter_extra_stat(object, int StatID, int value) +0x8160 - int get_critter_base_stat(object, int StatID) +0x8161 - int get_critter_extra_stat(object, int StatID) +0x8242 - void set_critter_skill_points(int critter, int skill, int value) +0x8243 - int get_critter_skill_points(int critter, int skill) +0x8244 - void set_available_skill_points(int value) +0x8245 - int get_available_skill_points() +0x8246 - void mod_skill_points_per_level(int value) + +0x81b4 - void set_stat_max(int stat, int value) +0x81b5 - void set_stat_min(int stat, int value) +0x81b7 - void set_pc_stat_max(int stat, int value) +0x81b8 - void set_pc_stat_min(int stat, int value) +0x81b9 - void set_npc_stat_max(int stat, int value) +0x81ba - void set_npc_stat_min(int stat, int value) + +0x816b - int input_funcs_available() +0x816c - int key_pressed(int dxScancode) +0x8162 - void tap_key(int dxScancode) +0x821c - int get_mouse_x() +0x821d - int get_mouse_y() +0x821e - int get_mouse_buttons() +0x821f - int get_window_under_mouse() + +0x8163 - int get_year() + +0x8164 - bool game_loaded() + +0x8165 - bool graphics_funcs_available() +0x8166 - int load_shader(string path) +0x8167 - void free_shader(int ID) +0x8168 - void activate_shader(int ID) +0x8169 - void deactivate_shader(int ID) +0x816d - void set_shader_int(int ID, string param, int value) +0x816e - void set_shader_float(int ID, string param, float value) +0x816f - void set_shader_vector(int ID, string param, float f1, float f2, float f3, float f4) +0x81ad - int get_shader_version() +0x81ae - void set_shader_mode(int mode) +0x81b0 - void force_graphics_refresh(bool enabled) +0x81b1 - int get_shader_texture(int ID, int texture) +0x81b2 - void set_shader_texture(int ID, string param, int texID) + +0x816a - void set_global_script_repeat(int frames) +0x819b - void set_global_script_type(int type) +0x819c - int available_global_script_types() + +0x8170 - bool in_world_map() + +0x8171 - void force_encounter(int map) +0x8229 - void force_encounter_with_flags(int map, int flags) +0x822a - void set_map_time_multi(float multi) + +0x8172 - void set_world_map_pos(int x, int y) +0x8173 - int get_world_map_x_pos() +0x8174 - int get_world_map_y_pos() + +0x8175 - void set_dm_model(string name) +0x8176 - void set_df_model(string name) +0x8177 - void set_movie_path(string filename, int movieid) + +0x8178 - void set_perk_image(int perkID, int value) +0x8179 - void set_perk_ranks(int perkID, int value) +0x817a - void set_perk_level(int perkID, int value) +0x817b - void set_perk_stat(int perkID, int value) +0x817c - void set_perk_stat_mag(int perkID, int value) +0x817d - void set_perk_skill1(int perkID, int value) +0x817e - void set_perk_skill1_mag(int perkID, int value) +0x817f - void set_perk_type(int perkID, int value) +0x8180 - void set_perk_skill2(int perkID, int value) +0x8181 - void set_perk_skill2_mag(int perkID, int value) +0x8182 - void set_perk_str(int perkID, int value) +0x8183 - void set_perk_per(int perkID, int value) +0x8184 - void set_perk_end(int perkID, int value) +0x8185 - void set_perk_chr(int perkID, int value) +0x8196 - void set_perk_int(int perkID, int value) +0x8187 - void set_perk_agl(int perkID, int value) +0x8188 - void set_perk_lck(int perkID, int value) +0x8189 - void set_perk_name(int perkID, string value) +0x818a - void set_perk_desc(int perkID, string value) +0x8247 - void set_perk_freq(int value) + +0x818b - void set_pipboy_available(int available) + +0x818c - int get_kill_counter(int critterType) +0x818d - void mod_kill_counter(int critterType, int amount) + +0x818e - int get_perk_owed() +0x818f - void set_perk_owed(int value) +0x8190 - int get_perk_available(int perk) + +0x8191 - int get_critter_current_ap(object critter) +0x8192 - void set_critter_current_ap(object critter, int ap) + +0x8193 - int active_hand() +0x8194 - void toggle_active_hand() + +0x8195 - void set_weapon_knockback(object weapon, int type, float value) +0x8196 - void set_target_knockback(object critter, int type, float value) +0x8197 - void set_attacker_knockback(object critter, int type, float value) +0x8198 - void remove_weapon_knockback(object weapon) +0x8199 - void remove_target_knockback(object critter) +0x819a - void remove_attacker_knockback(object critter) + +0x819d - void set_sfall_global(string/int varname, int/float value) +0x819e - int get_sfall_global_int(string/int varname) +0x819f - float get_sfall_global_float(string/int varname) +0x822d - int create_array(int elementcount, int elementsize) +0x822e - void set_array(int array, any element, any value) +0x822f - any get_array(int array, any element) +0x8230 - void free_array(int array) +0x8231 - int len_array(int array) +0x8232 - void resize_array(int array, int newelementcount) +0x8233 - int temp_array(int elementcount, int elementsize) +0x8234 - void fix_array(int array) +0x8239 - int scan_array(int array, int/float var) +0x8256 - int array_key(int array, int index) +0x8257 - int arrayexpr(any key, any value) +0x8254 - void save_array(any key, int array) +0x8255 - int load_array(any key) + +0x81a0 - void set_pickpocket_max(int percentage) +0x81a1 - void set_hit_chance_max(int percentage) +0x81a2 - void set_skill_max(int value) +0x81aa - void set_xp_mod(int percentage) +0x81ab - void set_perk_level_mod(int levels) + +0x81c5 - void set_critter_hit_chance_mod(object, int max, int mod) +0x81c6 - void set_base_hit_chance_mod(int max, int mod) +0x81c7 - void set_critter_skill_mod(object, int max) +0x81c8 - void set_base_skill_mod(int max) +0x81c9 - void set_critter_pickpocket_mod(object, int max, int mod) +0x81ca - void set_base_pickpocket_mod(int max, int mod) + +0x81a3 - int eax_available() +0x81a4 - void set_eax_environment(int environment) + +0x81a5 - void inc_npc_level(string npc) +0x8241 - int get_npc_level(string npc) + +0x81a6 - int get_viewport_x() +0x81a7 - int get_viewport_y() +0x81a8 - void set_viewport_x(int view_x) +0x81a9 - void set_viewport_y(int view_y) + +0x81ac - int get_ini_setting(string setting) +0x81eb - string get_ini_string(string setting) + +0x81af - int get_game_mode() + +0x81b3 - int get_uptime() + +0x81b6 - void set_car_current_town(int town) + +0x81bb - void set_fake_perk(string name, int level, int image, string desc) +0x81bc - void set_fake_trait(string name, int active, int image, string desc) +0x81bd - void set_selectable_perk(string name, int active, int image, string desc) +0x81be - void set_perkbox_title(string title) +0x81bf - void hide_real_perks() +0x81c0 - void show_real_perks() +0x81c1 - int has_fake_perk(string name) +0x81c2 - int has_fake_trait(string name) +0x81c3 - void perk_add_mode(int type) +0x81c4 - void clear_selectable_perks() +0x8225 - void remove_trait(int traitID) + +0x81cb - void set_pyromaniac_mod(int bonus) +0x81cc - void apply_heaveho_fix +0x81cd - void set_swiftlearner_mod(int bonus) +0x81ce - void set_hp_per_level_mod(int mod) + +0x81dc - void show_iface_tag(int tag) +0x81dd - void hide_iface_tag(int tag) +0x81de - int is_iface_tag_active(int tag) + +0x81df - int get_bodypart_hit_modifier(int bodypart) +0x81e0 - void set_bodypart_hit_modifier(int bodypart, int value) + +0x81e1 - void set_critical_table(int crittertype, int bodypart, int level, int valuetype, int value) +0x81e2 - int get_critical_table(int crittertype, int bodypart, int level, int valuetype) +0x81e3 - void reset_critical_table(int crittertype, int bodypart, int level, int valuetype) + +0x81e4 - int get_sfall_arg() +0x823c - array get_sfall_args() +0x823d - void set_sfall_arg(int argnum, int value) +0x81e5 - void set_sfall_return(int value) +0x81ea - int init_hook() + +0x81e6 - void set_unspent_ap_bonus(int multiplier) +0x81e7 - int get_unspent_ap_bonus() +0x81e8 - void set_unspent_ap_perk_bonus(int multiplier) +0x81e9 - int get_unspent_ap_perk_bonus() + +0x81ec - float sqrt(float) +0x81ed - float abs(float) +0x81ee - float sin(float) +0x81ef - float cos(float) +0x81f0 - float tan(float) +0x81f1 - float arctan(float x, float y) +0x8263 - ^ operator (exponentiation) +0x8264 - float log(float) +0x8265 - float exponent(float) +0x8266 - int ceil(float) +0x8267 - int round(float) + +0x81f2 - void set_palette(string path) + +0x81f3 - void remove_script(object) +0x81f4 - void set_script(object, int scriptid) +0x81f5 - int get_script(object) + +0x81f6 - int nb_create_char() + +0x81f7 - int fs_create(string path, int size) +0x81f8 - int fs_copy(string path, string source) +0x81f9 - int fs_find(string path) +0x81fa - void fs_write_byte(int id, int data) +0x81fb - void fs_write_short(int id, int data) +0x81fc - void fs_write_int(int id, int data) +0x81fd - void fs_write_float(int id, int data) +0x81fe - void fs_write_string(int id, string data) +0x8208 - void fs_write_bstring(int id, string data) +0x8209 - int fs_read_byte(int id) +0x820a - int fs_read_short(int id) +0x820b - int fs_read_int(int id) +0x820c - float fs_read_float(int id) +0x81ff - void fs_delete(int id) +0x8200 - int fs_size(int id) +0x8201 - int fs_pos(int id) +0x8202 - void fs_seek(int id, int pos) +0x8203 - void fs_resize(int id, int size) + +0x8204 - int get_proto_data(int pid, int offset) +0x8205 - void set_proto_data(int pid, int offset, int value) + +0x8206 - void set_self(object) +0x8207 - void register_hook(int hook) + +0x820d - int list_begin(int type) +0x820e - int list_next(int listid) +0x820f - void list_end(int listid) +0x8236 - array list_as_array(int type) + +0x8210 - int sfall_ver_major() +0x8211 - int sfall_ver_minor() +0x8212 - int sfall_ver_build() + +0x8213 - void hero_select_win(int) +0x8214 - void set_hero_race(int style) +0x8215 - void set_hero_style(int style) + +0x8216 - void set_critter_burst_disable(object critter, int disable) + +0x8217 - int get_weapon_ammo_pid(object weapon) +0x8218 - void set_weapon_ammo_pid(object weapon, int pid) +0x8219 - int get_weapon_ammo_count(object weapon) +0x821a - void set_weapon_ammo_count(object weapon, int count) + +0x8220 - int get_screen_width() +0x8221 - int get_screen_height() + +0x8222 - void stop_game() +0x8223 - void resume_game() +0x8224 - void create_message_window(string message) + +0x8226 - int get_light_level() + +0x8227 - void refresh_pc_art + +0x8228 - int get_attack_type + +0x822b - int play_sfall_sound(string file, int loop) +0x822c - void stop_sfall_sound(int ptr) + +0x8235 - array string_split(string string, string split) +0x8237 - int atoi(string string) +0x8238 - float atof(string string) +0x824e - string substr(string string, int start, int length) +0x824f - int strlen(string string) +0x8250 - string sprintf(string format, any value) +0x8251 - int charcode(string string) +0x8253 - int typeof(any value) + +0x823a - int get_tile_fid(int tile) + +0x823b - int modified_ini + +0x823e - void force_aimed_shots(int pid) +0x823f - void disable_aimed_shots(int pid) + +0x8240 - void mark_movie_played(int id) + +0x8248 - object get_last_target(object critter) +0x8249 - object get_last_attacker(object critter) +0x824a - void block_combat(int enable) + +0x824b - int tile_under_cursor +0x824c - int gdialog_get_barter_mod +0x824d - void set_inven_ap_cost + +0x825c - void reg_anim_combat_check(int enable) +0x825a - void reg_anim_destroy(object object) +0x825b - void reg_anim_animate_and_hide(object object, int animID, int delay) +0x825d - void reg_anim_light(object object, int radius, int delay) +0x825e - void reg_anim_change_fid(object object, int FID, int delay) +0x825f - void reg_anim_take_out(object object, int holdFrameID, int delay) +0x8260 - void reg_anim_turn_towards(object object, int tile/targetObj, int delay) + +0x8261 - int metarule2_explosions(object object) + +0x8262 - void register_hook_proc(int hook, procedure proc) + +0x826b - string message_str_game(int fileId, int messageId) +0x826c - int sneak_success +0x826d - int tile_light(int elevation, int tileNum) +0x826e - object obj_blocking_line(object objFrom, int tileTo, int blockingType) +0x826f - object obj_blocking_tile(int tileNum, int elevation, int blockingType) +0x8270 - array tile_get_objs(int tileNum, int elevation) +0x8271 - array party_member_list(int includeHidden) +0x8272 - array path_find_to(object objFrom, int tileTo, int blockingType) +0x8273 - object create_spatial(int scriptID, int tile, int elevation, int radius) +0x8274 - int art_exists(int artFID) +0x8275 - int obj_is_carrying_obj(object invenObj, object itemObj) + +0x8276 - any sfall_func0(string funcName) +0x8277 - any sfall_func1(string funcName, arg1) +0x8278 - any sfall_func2(string funcName, arg1, arg2) +0x8279 - any sfall_func3(string funcName, arg1, arg2, arg3) +0x827a - any sfall_func4(string funcName, arg1, arg2, arg3, arg4) +0x827b - any sfall_func5(string funcName, arg1, arg2, arg3, arg4, arg5) +0x827c - any sfall_func6(string funcName, arg1, arg2, arg3, arg4, arg5, arg6) + + +* These functions require AllowUnsafeScripting to be enabled in ddraw.ini +