mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Added full ddraw.ini + other config files and all relevant artifacts from latest modderspack.
This commit is contained in:
@@ -0,0 +1,210 @@
|
||||
|
||||
#ifndef DEFINE_EXTRA_H
|
||||
#define DEFINE_EXTRA_H
|
||||
|
||||
#define ATTACK_MODE_NONE 0
|
||||
#define ATTACK_MODE_PUNCH 1
|
||||
#define ATTACK_MODE_KICK 2
|
||||
#define ATTACK_MODE_SWING 3
|
||||
#define ATTACK_MODE_THRUST 4
|
||||
#define ATTACK_MODE_THROW 5
|
||||
#define ATTACK_MODE_SINGLE 6
|
||||
#define ATTACK_MODE_BURST 7
|
||||
#define ATTACK_MODE_FLAME 8
|
||||
|
||||
#define OBJ_TYPE_ITEM (0)
|
||||
#define OBJ_TYPE_CRITTER (1)
|
||||
#define OBJ_TYPE_SCENERY (2)
|
||||
#define OBJ_TYPE_WALL (3)
|
||||
#define OBJ_TYPE_TILE (4)
|
||||
#define OBJ_TYPE_MISC (5)
|
||||
#define OBJ_TYPE_SPATIAL (6)
|
||||
|
||||
/* Critter Flags */
|
||||
#define CFLG_BARTER 2 //0x00000002 - Barter (can trade with)
|
||||
#define CFLG_NOSTEAL 32 //0x00000020 - Steal (cannot steal from)
|
||||
#define CFLG_NODROP 64 //0x00000040 - Drop (doesn't drop items)
|
||||
#define CFLG_NOLIMBS 128 //0x00000080 - Limbs (can not lose limbs)
|
||||
#define CFLG_NOAGES 256 //0x00000100 - Ages (dead body does not disappear)
|
||||
#define CFLG_NOHEAL 512 //0x00000200 - Heal (damage is not cured with time)
|
||||
#define CFLG_INVULN 1024 //0x00000400 - Invulnerable (cannot be hurt)
|
||||
#define CFLG_FLATTN 2048 //0x00000800 - Flatten (leaves no dead body)
|
||||
#define CFLG_SPECIAL 4096 //0x00001000 - Special (there is a special type of death)
|
||||
#define CFLG_RANGED 8192 //0x00002000 - Range (melee attack is possible at a distance)
|
||||
#define CFLG_NOKNOCKDOWN 16384 //0x00004000 - Knock (cannot be knocked down)
|
||||
|
||||
//remove inven obj defines
|
||||
#define RMOBJ_CONSUME_DRUG 4666772
|
||||
#define RMOBJ_CONTAINER 4683293 // same as RMOBJ_TRADE
|
||||
#define RMOBJ_USE_OBJ 4666865
|
||||
#define RMOBJ_EQUIP_ARMOR 4658121
|
||||
#define RMOBJ_EQUIP_WEAPON 4658675
|
||||
#define RMOBJ_UNLOAD_WEAPON 4667030
|
||||
//#definE RMOBJ_LOAD_WEAPON 4831349 // same as RMOBJ_DROP
|
||||
#define RMOBJ_USE_DRUG_ON 4834866
|
||||
#define RMOBJ_STEAL_VIEW 4668206
|
||||
//#define RMOBJ_DROP_DYNAMITE 4666865 // same as USE_OBJ
|
||||
#define RMOBJ_ITEM_DESTROYED 4543215
|
||||
#define RMOBJ_ITEM_REMOVED 4548572
|
||||
#define RMOBJ_ARMOR_EQUIPED 4651961
|
||||
#define RMOBJ_LEFT_HAND_EQUIPED 4651899
|
||||
#define RMOBJ_RIGHT_HAND_EQUIPED 4651934
|
||||
#define RMOBJ_RM_MULT_OBJS 4563866
|
||||
#define RMOBJ_REPLACE_WEAPON 4658526
|
||||
#define RMOBJ_THROW 4266040
|
||||
|
||||
// offsets for get_proto_data
|
||||
#define PROTO_PID (1)
|
||||
#define PROTO_TEXTID (4)
|
||||
|
||||
// items
|
||||
#define PROTO_IT_FLAGS (24)
|
||||
#define PROTO_IT_TYPE (32)
|
||||
#define PROTO_IT_MATERIAL (108)
|
||||
#define PROTO_IT_SIZE (112)
|
||||
#define PROTO_IT_WEIGHT (116)
|
||||
#define PROTO_IT_COST (120)
|
||||
|
||||
// weapons
|
||||
#define PROTO_WP_ANIM (36)
|
||||
#define PROTO_WP_DMG_MIN (40)
|
||||
#define PROTO_WP_DMG_MAX (44)
|
||||
#define PROTO_WP_RANGE_1 (52)
|
||||
#define PROTO_WP_RANGE_2 (56)
|
||||
#define PROTO_WP_PROJ_PID (60)
|
||||
#define PROTO_WP_MIN_ST (64)
|
||||
#define PROTO_WP_APCOST_1 (68)
|
||||
#define PROTO_WP_APCOST_2 (72)
|
||||
#define PROTO_WP_CRIT_FAIL (76)
|
||||
#define PROTO_WP_PERK (80)
|
||||
#define PROTO_WP_BURST (84)
|
||||
#define PROTO_WP_CALIBER (88)
|
||||
#define PROTO_WP_AMMO_PID (92)
|
||||
#define PROTO_WP_MAG_SIZE (96)
|
||||
#define PROTO_WP_SOUND (100)
|
||||
|
||||
// armor
|
||||
#define PROTO_AR_AC (36)
|
||||
#define PROTO_AR_DR_NORMAL (40)
|
||||
#define PROTO_AR_DR_LASER (44)
|
||||
#define PROTO_AR_DR_FIRE (48)
|
||||
#define PROTO_AR_DR_PLASMA (52)
|
||||
#define PROTO_AR_DR_ELECTRICAL (56)
|
||||
#define PROTO_AR_DR_EMP (60)
|
||||
#define PROTO_AR_DR_EXPLOSION (64)
|
||||
#define PROTO_AR_DT_NORMAL (68)
|
||||
#define PROTO_AR_DT_LASER (72)
|
||||
#define PROTO_AR_DT_FIRE (76)
|
||||
#define PROTO_AR_DT_PLASMA (80)
|
||||
#define PROTO_AR_DT_ELECTRICAL (84)
|
||||
#define PROTO_AR_DT_EMP (88)
|
||||
#define PROTO_AR_DT_EXPLOSION (92)
|
||||
#define PROTO_AR_PERK (96)
|
||||
#define PROTO_AR_FID_MALE (100)
|
||||
#define PROTO_AR_FID_FEMALE (104)
|
||||
|
||||
// containers
|
||||
#define PROTO_CN_MAX_SIZE (36)
|
||||
#define PROTO_CN_FLAGS (40)
|
||||
|
||||
// ammo
|
||||
#define PROTO_AM_CALIBER (36)
|
||||
#define PROTO_AM_PACK_SIZE (40)
|
||||
#define PROTO_AM_AC_MOD (44)
|
||||
#define PROTO_AM_DR_MOD (48)
|
||||
#define PROTO_AM_DMG_MULT (52)
|
||||
#define PROTO_AM_DMG_DIV (56)
|
||||
|
||||
// misc items
|
||||
#define PROTO_MI_POWER_PID (36)
|
||||
#define PROTO_MI_CALIBER (40)
|
||||
#define PROTO_MI_CHARGES (44)
|
||||
|
||||
// drugs
|
||||
#define PROTO_DR_STAT_A (36)
|
||||
#define PROTO_DR_STAT_B (40)
|
||||
#define PROTO_DR_STAT_C (44)
|
||||
#define PROTO_DR_AMOUNT_1_A (48)
|
||||
#define PROTO_DR_AMOUNT_1_B (52)
|
||||
#define PROTO_DR_AMOUNT_1_C (56)
|
||||
#define PROTO_DR_DURATION_1 (60)
|
||||
#define PROTO_DR_AMOUNT_2_A (64)
|
||||
#define PROTO_DR_AMOUNT_2_B (68)
|
||||
#define PROTO_DR_AMOUNT_2_C (72)
|
||||
#define PROTO_DR_DURATION_2 (76)
|
||||
#define PROTO_DR_AMOUNT_3_A (80)
|
||||
#define PROTO_DR_AMOUNT_3_B (84)
|
||||
#define PROTO_DR_AMOUNT_3_C (88)
|
||||
#define PROTO_DR_ADDICT_CHANCE (92)
|
||||
#define PROTO_DR_ADDICT_PERK (96)
|
||||
#define PROTO_DR_ADDICT_DELAY (100)
|
||||
|
||||
|
||||
// critters
|
||||
#define PROTO_CR_ACTION_FLAGS (32)
|
||||
#define PROTO_CR_HEAD_FID (40)
|
||||
#define PROTO_CR_AI_PACKET (44)
|
||||
#define PROTO_CR_TEAM_NUM (48)
|
||||
#define PROTO_CR_FLAGS (52)
|
||||
#define PROTO_CR_BODY_TYPE (388)
|
||||
#define PROTO_CR_KILL_EXP (392)
|
||||
#define PROTO_CR_KILL_TYPE (396)
|
||||
#define PROTO_CR_DMG_TYPE (400)
|
||||
|
||||
// weapon calibers
|
||||
#define CALIBER_NONE (0)
|
||||
#define CALIBER_ROCKET (1)
|
||||
#define CALIBER_FLAMER_FUEL (2)
|
||||
#define CALIBER_SMALL_ENERGY_CELL (3)
|
||||
#define CALIBER_MICRO_FUSION_CELL (4)
|
||||
#define CALIBER_223 (5)
|
||||
#define CALIBER_5MM (6)
|
||||
#define CALIBER_40 (7)
|
||||
#define CALIBER_10MM (8)
|
||||
#define CALIBER_44 (9)
|
||||
#define CALIBER_14MM (10)
|
||||
#define CALIBER_12_GAUGE (11)
|
||||
#define CALIBER_9MM (12)
|
||||
#define CALIBER_BB (13)
|
||||
#define CALIBER_45 (14)
|
||||
#define CALIBER_2MM (15)
|
||||
#define CALIBER_4_7MM_CASELESS (16)
|
||||
#define CALIBER_HN_NEEDLER (17)
|
||||
#define CALIBER_7_62MM (18)
|
||||
|
||||
// hidden perks
|
||||
#define PERK_add_nuka (53)
|
||||
#define PERK_add_buffout (54)
|
||||
#define PERK_add_mentats (55)
|
||||
#define PERK_add_psycho (56)
|
||||
#define PERK_add_radaway (57)
|
||||
#define PERK_weapon_long_range (58)
|
||||
#define PERK_weapon_accurate (59)
|
||||
#define PERK_weapon_penetrate (60)
|
||||
#define PERK_weapon_knockback (61)
|
||||
#define PERK_armor_powered (62)
|
||||
#define PERK_armor_combat (63)
|
||||
#define PERK_weapon_scope_range (64)
|
||||
#define PERK_weapon_fast_reload (65)
|
||||
#define PERK_weapon_night_sight (66)
|
||||
#define PERK_weapon_flameboy (67)
|
||||
#define PERK_armor_advanced_1 (68)
|
||||
#define PERK_armor_advanced_2 (69)
|
||||
#define PERK_add_jet (70)
|
||||
#define PERK_add_tragic (71)
|
||||
#define PERK_armor_charisma (72)
|
||||
|
||||
#define WPN_ANIM_NONE (0x00) // (A)
|
||||
#define WPN_ANIM_KNIFE (0x01) // (D)
|
||||
#define WPN_ANIM_CLUB (0x02) // (E)
|
||||
#define WPN_ANIM_SLEDGEHAMMER (0x03) // (F)
|
||||
#define WPN_ANIM_SPEAR (0x04) // (G)
|
||||
#define WPN_ANIM_PISTOL (0x05) // (H)
|
||||
#define WPN_ANIM_SMG (0x06) // (I)
|
||||
#define WPN_ANIM_RIFLE (0x07) // (J)
|
||||
#define WPN_ANIM_BIG_GUN (0x08) // (K)
|
||||
#define WPN_ANIM_MINIGUN (0x09) // (L)
|
||||
#define WPN_ANIM_ROCKET_LAUNCHER (0x0A) // (M)
|
||||
|
||||
|
||||
#endif // DEFINE_EXTRA_H
|
||||
@@ -0,0 +1,135 @@
|
||||
#ifndef H_DIK
|
||||
#define H_DIK
|
||||
|
||||
// Listed are keyboard scan code constants (in decimal), taken from dinput.h
|
||||
|
||||
#define DIK_ESCAPE 1
|
||||
#define DIK_1 2
|
||||
#define DIK_2 3
|
||||
#define DIK_3 4
|
||||
#define DIK_4 5
|
||||
#define DIK_5 6
|
||||
#define DIK_6 7
|
||||
#define DIK_7 8
|
||||
#define DIK_8 9
|
||||
#define DIK_9 10
|
||||
#define DIK_0 11
|
||||
#define DIK_MINUS 12 /* - on main keyboard */
|
||||
#define DIK_EQUALS 13
|
||||
#define DIK_BACK 14 /* backspace */
|
||||
#define DIK_TAB 15
|
||||
#define DIK_Q 16
|
||||
#define DIK_W 17
|
||||
#define DIK_E 18
|
||||
#define DIK_R 19
|
||||
#define DIK_T 20
|
||||
#define DIK_Y 21
|
||||
#define DIK_U 22
|
||||
#define DIK_I 23
|
||||
#define DIK_O 24
|
||||
#define DIK_P 25
|
||||
#define DIK_LBRACKET 26
|
||||
#define DIK_RBRACKET 27
|
||||
#define DIK_RETURN 28 /* Enter on main keyboard */
|
||||
#define DIK_LCONTROL 29
|
||||
#define DIK_A 30
|
||||
#define DIK_S 31
|
||||
#define DIK_D 32
|
||||
#define DIK_F 33
|
||||
#define DIK_G 34
|
||||
#define DIK_H 35
|
||||
#define DIK_J 36
|
||||
#define DIK_K 37
|
||||
#define DIK_L 38
|
||||
#define DIK_SEMICOLON 39
|
||||
#define DIK_APOSTROPHE 40
|
||||
#define DIK_GRAVE 41 /* accent grave */
|
||||
#define DIK_LSHIFT 42
|
||||
#define DIK_BACKSLASH 43
|
||||
#define DIK_Z 44
|
||||
#define DIK_X 45
|
||||
#define DIK_C 46
|
||||
#define DIK_V 47
|
||||
#define DIK_B 48
|
||||
#define DIK_N 49
|
||||
#define DIK_M 50
|
||||
#define DIK_COMMA 51
|
||||
#define DIK_PERIOD 52 /* . on main keyboard */
|
||||
#define DIK_SLASH 53 /* / on main keyboard */
|
||||
#define DIK_RSHIFT 54
|
||||
#define DIK_MULTIPLY 55 /* * on numeric keypad */
|
||||
#define DIK_LMENU 56 /* left Alt */
|
||||
#define DIK_SPACE 57
|
||||
#define DIK_CAPITAL 58
|
||||
#define DIK_F1 59
|
||||
#define DIK_F2 60
|
||||
#define DIK_F3 61
|
||||
#define DIK_F4 62
|
||||
#define DIK_F5 63
|
||||
#define DIK_F6 64
|
||||
#define DIK_F7 65
|
||||
#define DIK_F8 66
|
||||
#define DIK_F9 67
|
||||
#define DIK_F10 68
|
||||
#define DIK_NUMLOCK 69
|
||||
#define DIK_SCROLL 70 /* Scroll Lock */
|
||||
#define DIK_NUMPAD7 71
|
||||
#define DIK_NUMPAD8 72
|
||||
#define DIK_NUMPAD9 73
|
||||
#define DIK_SUBTRACT 74 /* - on numeric keypad */
|
||||
#define DIK_NUMPAD4 75
|
||||
#define DIK_NUMPAD5 76
|
||||
#define DIK_NUMPAD6 77
|
||||
#define DIK_ADD 78 /* + on numeric keypad */
|
||||
#define DIK_NUMPAD1 79
|
||||
#define DIK_NUMPAD2 80
|
||||
#define DIK_NUMPAD3 81
|
||||
#define DIK_NUMPAD0 82
|
||||
#define DIK_DECIMAL 83 /* . on numeric keypad */
|
||||
#define DIK_F11 87
|
||||
#define DIK_F12 88
|
||||
|
||||
#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
|
||||
#define DIK_AT 0x91 /* (NEC PC98) */
|
||||
#define DIK_COLON 0x92 /* (NEC PC98) */
|
||||
#define DIK_UNDERLINE 0x93 /* (NEC PC98) */
|
||||
#define DIK_STOP 0x95 /* (NEC PC98) */
|
||||
#define DIK_AX 0x96 /* (Japan AX) */
|
||||
#define DIK_UNLABELED 0x97 /* (J3100) */
|
||||
#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
|
||||
#define DIK_RCONTROL 0x9D
|
||||
#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
|
||||
#define DIK_DIVIDE 0xB5 /* / on numeric keypad */
|
||||
#define DIK_SYSRQ 0xB7
|
||||
#define DIK_RMENU 0xB8 /* right Alt */
|
||||
#define DIK_HOME 0xC7 /* Home on arrow keypad */
|
||||
#define DIK_UP 0xC8 /* UpArrow on arrow keypad */
|
||||
#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
|
||||
#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
|
||||
#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
|
||||
#define DIK_END 0xCF /* End on arrow keypad */
|
||||
#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
|
||||
#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
|
||||
#define DIK_INSERT 0xD2 /* Insert on arrow keypad */
|
||||
#define DIK_DELETE 0xD3 /* Delete on arrow keypad */
|
||||
#define DIK_LWIN 0xDB /* Left Windows key */
|
||||
#define DIK_RWIN 0xDC /* Right Windows key */
|
||||
#define DIK_APPS 0xDD /* AppMenu key */
|
||||
|
||||
#define DIK_BACKSPACE DIK_BACK /* backspace */
|
||||
#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */
|
||||
#define DIK_LALT DIK_LMENU /* left Alt */
|
||||
#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */
|
||||
#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */
|
||||
#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */
|
||||
#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */
|
||||
#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */
|
||||
#define DIK_RALT DIK_RMENU /* right Alt */
|
||||
#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */
|
||||
#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */
|
||||
#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */
|
||||
#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */
|
||||
#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */
|
||||
#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,189 @@
|
||||
//Recognised modes for set_shader_mode and get_game_mode
|
||||
#define WORLDMAP (0x1)
|
||||
#define LOCALMAP (0x2) //No point hooking this: would always be 1 at any point at which scripts are running
|
||||
#define DIALOG (0x4)
|
||||
#define ESCMENU (0x8)
|
||||
#define SAVEGAME (0x10)
|
||||
#define LOADGAME (0x20)
|
||||
#define COMBAT (0x40)
|
||||
#define OPTIONS (0x80)
|
||||
#define HELP (0x100)
|
||||
#define CHARSCREEN (0x200)
|
||||
#define PIPBOY (0x400)
|
||||
#define PCOMBAT (0x800)
|
||||
#define INVENTORY (0x1000)
|
||||
#define AUTOMAP (0x2000)
|
||||
#define SKILLDEX (0x4000)
|
||||
|
||||
//Valid arguments to register_hook
|
||||
#define HOOK_TOHIT (0)
|
||||
#define HOOK_AFTERHITROLL (1)
|
||||
#define HOOK_CALCAPCOST (2)
|
||||
#define HOOK_DEATHANIM1 (3)
|
||||
#define HOOK_DEATHANIM2 (4)
|
||||
#define HOOK_COMBATDAMAGE (5)
|
||||
#define HOOK_ONDEATH (6)
|
||||
#define HOOK_FINDTARGET (7)
|
||||
#define HOOK_USEOBJON (8)
|
||||
#define HOOK_REMOVEINVENOBJ (9)
|
||||
#define HOOK_BARTERPRICE (10)
|
||||
#define HOOK_MOVECOST (11)
|
||||
#define HOOK_HEXMOVEBLOCKING (12)
|
||||
#define HOOK_HEXAIBLOCKING (13)
|
||||
#define HOOK_HEXSHOOTBLOCKING (14)
|
||||
#define HOOK_HEXSIGHTBLOCKING (15)
|
||||
#define HOOK_ITEMDAMAGE (16)
|
||||
#define HOOK_AMMOCOST (17)
|
||||
#define HOOK_USEOBJ (18)
|
||||
#define HOOK_KEYPRESS (19)
|
||||
#define HOOK_MOUSECLICK (20)
|
||||
#define HOOK_USESKILL (21)
|
||||
#define HOOK_STEAL (22)
|
||||
#define HOOK_WITHINPERCEPTION (23)
|
||||
#define HOOK_INVENTORYMOVE (24)
|
||||
|
||||
//Valid arguments to list_begin
|
||||
#define LIST_CRITTERS (0)
|
||||
#define LIST_GROUNDITEMS (1)
|
||||
#define LIST_SCENERY (2)
|
||||
#define LIST_WALLS (3)
|
||||
//#define LIST_TILES (4) //Not listable via sfall list functions
|
||||
#define LIST_MISC (5)
|
||||
#define LIST_SPATIAL (6)
|
||||
#define LIST_ALL (9)
|
||||
|
||||
//Valid flags for force_encounter_with_flags
|
||||
#define ENCOUNTER_FLAG_NO_CAR (1)
|
||||
|
||||
//The attack types returned by get_attack_type
|
||||
#define ATKTYPE_LWEP1 (0)
|
||||
#define ATKTYPE_LWEP2 (1)
|
||||
#define ATKTYPE_RWEP1 (2)
|
||||
#define ATKTYPE_RWEP2 (3)
|
||||
#define ATKTYPE_PUNCH (4)
|
||||
#define ATKTYPE_KICK (5)
|
||||
#define ATKTYPE_LWEP_RELOAD (6)
|
||||
#define ATKTYPE_RWEP_RELOAD (7)
|
||||
#define ATKTYPE_STRONGPUNCH (8)
|
||||
#define ATKTYPE_HAMMERPUNCH (9)
|
||||
#define ATKTYPE_HAYMAKER (10)
|
||||
#define ATKTYPE_JAB (11)
|
||||
#define ATKTYPE_PALMSTRIKE (12)
|
||||
#define ATKTYPE_PIERCINGSTRIKE (13)
|
||||
#define ATKTYPE_STRONGKICK (14)
|
||||
#define ATKTYPE_SNAPKICK (15)
|
||||
#define ATKTYPE_POWERKICK (16)
|
||||
#define ATKTYPE_HIPKICK (17)
|
||||
#define ATKTYPE_HOOKKICK (18)
|
||||
#define ATKTYPE_PIERCINGKICK (19)
|
||||
|
||||
//Some possible values for the 4th argument to hs_removeinvobj
|
||||
#define RMOBJ_DROP (0x49B875) //If the object is dropped manually by the player from the inventory screen
|
||||
#define RMOBJ_TRADE (0x47761D) //If the object is offered up as a trade
|
||||
#define RMOBJ_DROPMULTI (0x45C1CF) //When dropping a part of a stack (RMOBJ_DROP occures first)
|
||||
|
||||
//Return values for "typeof"
|
||||
#define VALTYPE_NONE (0) // not used yet
|
||||
#define VALTYPE_INT (1)
|
||||
#define VALTYPE_FLOAT (2)
|
||||
#define VALTYPE_STR (3)
|
||||
|
||||
// Arrays defines
|
||||
|
||||
// create persistent list
|
||||
#define create_array_list(size) (create_array(size, 0))
|
||||
// create temporary list
|
||||
#define temp_array_list(size) (temp_array(size, 0))
|
||||
// create persistent map
|
||||
#define create_array_map (create_array(-1, 0))
|
||||
// create temporary map
|
||||
#define temp_array_map (temp_array(-1, 0))
|
||||
// true if array is map, false otherwise
|
||||
#define array_is_map(x) (array_key(x, -1) == 1)
|
||||
// returns temp list with names of all arrays saved with save_array() in alphabetical order
|
||||
#define list_saved_arrays (load_array("...all_arrays..."))
|
||||
// removes array from savegame
|
||||
#define unsave_array(x) save_array(0, x)
|
||||
// true if given item exists in given array, false otherwise
|
||||
#define is_in_array(item, array) (scan_array(array, item) != -1)
|
||||
// true if given array exists, false otherwise
|
||||
#define array_exists(array) (len_array(array) != -1)
|
||||
// remove all elements from array
|
||||
#define clear_array(array) resize_array(array, 0)
|
||||
// sort array in ascending order
|
||||
#define sort_array(array) resize_array(array, -2)
|
||||
// sort array in descending order
|
||||
#define sort_array_reverse(array) resize_array(array, -3)
|
||||
// reverse elements in list
|
||||
#define reverse_array(array) resize_array(array, -4)
|
||||
// randomly shuffle elements in list
|
||||
#define shuffle_array(array) resize_array(array, -5)
|
||||
// remove element from map or just replace value with 0 for list
|
||||
#define unset_array(array, item) set_array(array, item, 0)
|
||||
// same as "key_pressed" but checks VK codes instead of DX codes
|
||||
#define key_pressed_vk(key) (key_pressed(key bwor 0x80000000))
|
||||
|
||||
#define set_attack_explosion_pattern(x, y) metarule2_explosions(1, x, y)
|
||||
#define set_attack_explosion_art(x, y) metarule2_explosions(2, x, y)
|
||||
#define set_attack_explosion_radius(x) metarule2_explosions(3, x, 0)
|
||||
#define set_attack_is_explosion(x) metarule2_explosions(4, x, 0)
|
||||
#define set_attack_is_explosion_fire set_attack_is_explosion(DMG_fire)
|
||||
|
||||
|
||||
#define GAME_MSG_COMBAT (0)
|
||||
#define GAME_MSG_AI (1)
|
||||
#define GAME_MSG_SCRNAME (2)
|
||||
#define GAME_MSG_MISC (3)
|
||||
#define GAME_MSG_CUSTOM (4)
|
||||
#define GAME_MSG_INVENTRY (5)
|
||||
#define GAME_MSG_ITEM (6)
|
||||
#define GAME_MSG_LSGAME (7)
|
||||
#define GAME_MSG_MAP (8)
|
||||
#define GAME_MSG_OPTIONS (9)
|
||||
#define GAME_MSG_PERK (10)
|
||||
#define GAME_MSG_PIPBOY (11)
|
||||
#define GAME_MSG_QUESTS (12)
|
||||
#define GAME_MSG_PROTO (13)
|
||||
#define GAME_MSG_SCRIPT (14)
|
||||
#define GAME_MSG_SKILL (15)
|
||||
#define GAME_MSG_SKILLDEX (16)
|
||||
#define GAME_MSG_STAT (17)
|
||||
#define GAME_MSG_TRAIT (18)
|
||||
#define GAME_MSG_WORLDMAP (19)
|
||||
#define GAME_MSG_PRO_ITEM (0x1000)
|
||||
#define GAME_MSG_PRO_CRIT (0x1001)
|
||||
#define GAME_MSG_PRO_SCEN (0x1002)
|
||||
#define GAME_MSG_PRO_WALL (0x1003)
|
||||
#define GAME_MSG_PRO_TILE (0x1004)
|
||||
#define GAME_MSG_PRO_MISC (0x1005)
|
||||
|
||||
#define mstr_combat(x) (message_str_game(GAME_MSG_COMBAT, x))
|
||||
#define mstr_ai(x) (message_str_game(GAME_MSG_AI, x))
|
||||
#define mstr_scrname(x) (message_str_game(GAME_MSG_SCRNAME, x))
|
||||
#define mstr_misc(x) (message_str_game(GAME_MSG_MISC, x))
|
||||
#define mstr_custom(x) (message_str_game(GAME_MSG_CUSTOM, x))
|
||||
#define mstr_inventry(x) (message_str_game(GAME_MSG_INVENTRY, x))
|
||||
#define mstr_item(x) (message_str_game(GAME_MSG_ITEM, x))
|
||||
#define mstr_lsgame(x) (message_str_game(GAME_MSG_LSGAME, x))
|
||||
#define mstr_map(x) (message_str_game(GAME_MSG_MAP, x))
|
||||
#define mstr_options(x) (message_str_game(GAME_MSG_OPTIONS, x))
|
||||
#define mstr_perk(x) (message_str_game(GAME_MSG_PERK, x))
|
||||
#define mstr_pipboy(x) (message_str_game(GAME_MSG_PIPBOY, x))
|
||||
#define mstr_quests(x) (message_str_game(GAME_MSG_QUESTS, x))
|
||||
#define mstr_proto(x) (message_str_game(GAME_MSG_PROTO, x))
|
||||
#define mstr_script(x) (message_str_game(GAME_MSG_SCRIPT, x))
|
||||
#define mstr_skill(x) (message_str_game(GAME_MSG_SKILL, x))
|
||||
#define mstr_skilldex(x) (message_str_game(GAME_MSG_SKILLDEX, x))
|
||||
#define mstr_stat(x) (message_str_game(GAME_MSG_STAT, x))
|
||||
#define mstr_trait(x) (message_str_game(GAME_MSG_TRAIT, x))
|
||||
#define mstr_worldmap(x) (message_str_game(GAME_MSG_WORLDMAP, x))
|
||||
|
||||
|
||||
#define BLOCKING_TYPE_BLOCK (0)
|
||||
#define BLOCKING_TYPE_SHOOT (1) // use this for more realistic line-of-sight checks
|
||||
#define BLOCKING_TYPE_AI (2)
|
||||
#define BLOCKING_TYPE_SIGHT (3) // not really useful (works not as you would expect), game uses this only when checking if you can talk to a person
|
||||
|
||||
#define party_member_list_critters party_member_list(0)
|
||||
#define party_member_list_all party_member_list(1)
|
||||
|
||||
Reference in New Issue
Block a user