📄 q_shared.pas
字号:
EF_POWERSCREEN = $00000200;
EF_ANIM01 = $00000400; // automatically cycle between frames 0 and 1 at 2 hz
EF_ANIM23 = $00000800; // automatically cycle between frames 2 and 3 at 2 hz
EF_ANIM_ALL = $00001000; // automatically cycle through all frames at 2hz
EF_ANIM_ALLFAST = $00002000; // automatically cycle through all frames at 10hz
EF_FLIES = $00004000;
EF_QUAD = $00008000;
EF_PENT = $00010000;
EF_TELEPORTER = $00020000; // particle fountain
EF_FLAG1 = $00040000;
EF_FLAG2 = $00080000;
// RAFAEL
EF_IONRIPPER = $00100000;
EF_GREENGIB = $00200000;
EF_BLUEHYPERBLASTER = $00400000;
EF_SPINNINGLIGHTS = $00800000;
EF_PLASMA = $01000000;
EF_TRAP = $02000000;
//ROGUE
EF_TRACKER = $04000000;
EF_DOUBLE = $08000000;
EF_SPHERETRANS = $10000000;
EF_TAGTRAIL = $20000000;
EF_HALF_DAMAGE = $40000000;
EF_TRACKERTRAIL = $80000000;
//ROGUE
// entity_state_t.renderfx flags
RF_MINLIGHT = 1; // allways have some light (viewmodel)
RF_VIEWERMODEL = 2; // don't draw through eyes, only mirrors
RF_WEAPONMODEL = 4; // only draw through eyes
RF_FULLBRIGHT = 8; // allways draw full intensity
RF_DEPTHHACK = 16; // for view weapon Z crunching
RF_TRANSLUCENT = 32;
RF_FRAMELERP = 64;
RF_BEAM = 128;
RF_CUSTOMSKIN = 256; // skin is an index in image_precache
RF_GLOW = 512; // pulse lighting for bonus items
RF_SHELL_RED = 1024;
RF_SHELL_GREEN = 2048;
RF_SHELL_BLUE = 4096;
//ROGUE
RF_IR_VISIBLE = $00008000; // 32768
RF_SHELL_DOUBLE = $00010000; // 65536
RF_SHELL_HALF_DAM = $00020000;
RF_USE_DISGUISE = $00040000;
//ROGUE
// player_state_t.refdef flags
RDF_UNDERWATER = 1; // warp the screen as apropriate
RDF_NOWORLDMODEL = 2; // used for player configuration screen
//ROGUE
RDF_IRGOGGLES = 4;
RDF_UVGOGGLES = 8;
//ROGUE
//
// muzzle flashes / player effects
//
MZ_BLASTER = 0;
MZ_MACHINEGUN = 1;
MZ_SHOTGUN = 2;
MZ_CHAINGUN1 = 3;
MZ_CHAINGUN2 = 4;
MZ_CHAINGUN3 = 5;
MZ_RAILGUN = 6;
MZ_ROCKET = 7;
MZ_GRENADE = 8;
MZ_LOGIN = 9;
MZ_LOGOUT = 10;
MZ_RESPAWN = 11;
MZ_BFG = 12;
MZ_SSHOTGUN = 13;
MZ_HYPERBLASTER = 14;
MZ_ITEMRESPAWN = 15;
// RAFAEL
MZ_IONRIPPER = 16;
MZ_BLUEHYPERBLASTER = 17;
MZ_PHALANX = 18;
MZ_SILENCED = 128; // bit flag ORed with one of the above numbers
//ROGUE
MZ_ETF_RIFLE = 30;
MZ_UNUSED = 31;
MZ_SHOTGUN2 = 32;
MZ_HEATBEAM = 33;
MZ_BLASTER2 = 34;
MZ_TRACKER = 35;
MZ_NUKE1 = 36;
MZ_NUKE2 = 37;
MZ_NUKE4 = 38;
MZ_NUKE8 = 39;
//ROGUE
//
// monster muzzle flashes
//
MZ2_TANK_BLASTER_1 = 1;
MZ2_TANK_BLASTER_2 = 2;
MZ2_TANK_BLASTER_3 = 3;
MZ2_TANK_MACHINEGUN_1 = 4;
MZ2_TANK_MACHINEGUN_2 = 5;
MZ2_TANK_MACHINEGUN_3 = 6;
MZ2_TANK_MACHINEGUN_4 = 7;
MZ2_TANK_MACHINEGUN_5 = 8;
MZ2_TANK_MACHINEGUN_6 = 9;
MZ2_TANK_MACHINEGUN_7 = 10;
MZ2_TANK_MACHINEGUN_8 = 11;
MZ2_TANK_MACHINEGUN_9 = 12;
MZ2_TANK_MACHINEGUN_10 = 13;
MZ2_TANK_MACHINEGUN_11 = 14;
MZ2_TANK_MACHINEGUN_12 = 15;
MZ2_TANK_MACHINEGUN_13 = 16;
MZ2_TANK_MACHINEGUN_14 = 17;
MZ2_TANK_MACHINEGUN_15 = 18;
MZ2_TANK_MACHINEGUN_16 = 19;
MZ2_TANK_MACHINEGUN_17 = 20;
MZ2_TANK_MACHINEGUN_18 = 21;
MZ2_TANK_MACHINEGUN_19 = 22;
MZ2_TANK_ROCKET_1 = 23;
MZ2_TANK_ROCKET_2 = 24;
MZ2_TANK_ROCKET_3 = 25;
MZ2_INFANTRY_MACHINEGUN_1 = 26;
MZ2_INFANTRY_MACHINEGUN_2 = 27;
MZ2_INFANTRY_MACHINEGUN_3 = 28;
MZ2_INFANTRY_MACHINEGUN_4 = 29;
MZ2_INFANTRY_MACHINEGUN_5 = 30;
MZ2_INFANTRY_MACHINEGUN_6 = 31;
MZ2_INFANTRY_MACHINEGUN_7 = 32;
MZ2_INFANTRY_MACHINEGUN_8 = 33;
MZ2_INFANTRY_MACHINEGUN_9 = 34;
MZ2_INFANTRY_MACHINEGUN_10 = 35;
MZ2_INFANTRY_MACHINEGUN_11 = 36;
MZ2_INFANTRY_MACHINEGUN_12 = 37;
MZ2_INFANTRY_MACHINEGUN_13 = 38;
MZ2_SOLDIER_BLASTER_1 = 39;
MZ2_SOLDIER_BLASTER_2 = 40;
MZ2_SOLDIER_SHOTGUN_1 = 41;
MZ2_SOLDIER_SHOTGUN_2 = 42;
MZ2_SOLDIER_MACHINEGUN_1 = 43;
MZ2_SOLDIER_MACHINEGUN_2 = 44;
MZ2_GUNNER_MACHINEGUN_1 = 45;
MZ2_GUNNER_MACHINEGUN_2 = 46;
MZ2_GUNNER_MACHINEGUN_3 = 47;
MZ2_GUNNER_MACHINEGUN_4 = 48;
MZ2_GUNNER_MACHINEGUN_5 = 49;
MZ2_GUNNER_MACHINEGUN_6 = 50;
MZ2_GUNNER_MACHINEGUN_7 = 51;
MZ2_GUNNER_MACHINEGUN_8 = 52;
MZ2_GUNNER_GRENADE_1 = 53;
MZ2_GUNNER_GRENADE_2 = 54;
MZ2_GUNNER_GRENADE_3 = 55;
MZ2_GUNNER_GRENADE_4 = 56;
MZ2_CHICK_ROCKET_1 = 57;
MZ2_FLYER_BLASTER_1 = 58;
MZ2_FLYER_BLASTER_2 = 59;
MZ2_MEDIC_BLASTER_1 = 60;
MZ2_GLADIATOR_RAILGUN_1 = 61;
MZ2_HOVER_BLASTER_1 = 62;
MZ2_ACTOR_MACHINEGUN_1 = 63;
MZ2_SUPERTANK_MACHINEGUN_1 = 64;
MZ2_SUPERTANK_MACHINEGUN_2 = 65;
MZ2_SUPERTANK_MACHINEGUN_3 = 66;
MZ2_SUPERTANK_MACHINEGUN_4 = 67;
MZ2_SUPERTANK_MACHINEGUN_5 = 68;
MZ2_SUPERTANK_MACHINEGUN_6 = 69;
MZ2_SUPERTANK_ROCKET_1 = 70;
MZ2_SUPERTANK_ROCKET_2 = 71;
MZ2_SUPERTANK_ROCKET_3 = 72;
MZ2_BOSS2_MACHINEGUN_L1 = 73;
MZ2_BOSS2_MACHINEGUN_L2 = 74;
MZ2_BOSS2_MACHINEGUN_L3 = 75;
MZ2_BOSS2_MACHINEGUN_L4 = 76;
MZ2_BOSS2_MACHINEGUN_L5 = 77;
MZ2_BOSS2_ROCKET_1 = 78;
MZ2_BOSS2_ROCKET_2 = 79;
MZ2_BOSS2_ROCKET_3 = 80;
MZ2_BOSS2_ROCKET_4 = 81;
MZ2_FLOAT_BLASTER_1 = 82;
MZ2_SOLDIER_BLASTER_3 = 83;
MZ2_SOLDIER_SHOTGUN_3 = 84;
MZ2_SOLDIER_MACHINEGUN_3 = 85;
MZ2_SOLDIER_BLASTER_4 = 86;
MZ2_SOLDIER_SHOTGUN_4 = 87;
MZ2_SOLDIER_MACHINEGUN_4 = 88;
MZ2_SOLDIER_BLASTER_5 = 89;
MZ2_SOLDIER_SHOTGUN_5 = 90;
MZ2_SOLDIER_MACHINEGUN_5 = 91;
MZ2_SOLDIER_BLASTER_6 = 92;
MZ2_SOLDIER_SHOTGUN_6 = 93;
MZ2_SOLDIER_MACHINEGUN_6 = 94;
MZ2_SOLDIER_BLASTER_7 = 95;
MZ2_SOLDIER_SHOTGUN_7 = 96;
MZ2_SOLDIER_MACHINEGUN_7 = 97;
MZ2_SOLDIER_BLASTER_8 = 98;
MZ2_SOLDIER_SHOTGUN_8 = 99;
MZ2_SOLDIER_MACHINEGUN_8 = 100;
// --- Xian shit below ---
MZ2_MAKRON_BFG = 101;
MZ2_MAKRON_BLASTER_1 = 102;
MZ2_MAKRON_BLASTER_2 = 103;
MZ2_MAKRON_BLASTER_3 = 104;
MZ2_MAKRON_BLASTER_4 = 105;
MZ2_MAKRON_BLASTER_5 = 106;
MZ2_MAKRON_BLASTER_6 = 107;
MZ2_MAKRON_BLASTER_7 = 108;
MZ2_MAKRON_BLASTER_8 = 109;
MZ2_MAKRON_BLASTER_9 = 110;
MZ2_MAKRON_BLASTER_10 = 111;
MZ2_MAKRON_BLASTER_11 = 112;
MZ2_MAKRON_BLASTER_12 = 113;
MZ2_MAKRON_BLASTER_13 = 114;
MZ2_MAKRON_BLASTER_14 = 115;
MZ2_MAKRON_BLASTER_15 = 116;
MZ2_MAKRON_BLASTER_16 = 117;
MZ2_MAKRON_BLASTER_17 = 118;
MZ2_MAKRON_RAILGUN_1 = 119;
MZ2_JORG_MACHINEGUN_L1 = 120;
MZ2_JORG_MACHINEGUN_L2 = 121;
MZ2_JORG_MACHINEGUN_L3 = 122;
MZ2_JORG_MACHINEGUN_L4 = 123;
MZ2_JORG_MACHINEGUN_L5 = 124;
MZ2_JORG_MACHINEGUN_L6 = 125;
MZ2_JORG_MACHINEGUN_R1 = 126;
MZ2_JORG_MACHINEGUN_R2 = 127;
MZ2_JORG_MACHINEGUN_R3 = 128;
MZ2_JORG_MACHINEGUN_R4 = 129;
MZ2_JORG_MACHINEGUN_R5 = 130;
MZ2_JORG_MACHINEGUN_R6 = 131;
MZ2_JORG_BFG_1 = 132;
MZ2_BOSS2_MACHINEGUN_R1 = 133;
MZ2_BOSS2_MACHINEGUN_R2 = 134;
MZ2_BOSS2_MACHINEGUN_R3 = 135;
MZ2_BOSS2_MACHINEGUN_R4 = 136;
MZ2_BOSS2_MACHINEGUN_R5 = 137;
//ROGUE
MZ2_CARRIER_MACHINEGUN_L1 = 138;
MZ2_CARRIER_MACHINEGUN_R1 = 139;
MZ2_CARRIER_GRENADE = 140;
MZ2_TURRET_MACHINEGUN = 141;
MZ2_TURRET_ROCKET = 142;
MZ2_TURRET_BLASTER = 143;
MZ2_STALKER_BLASTER = 144;
MZ2_DAEDALUS_BLASTER = 145;
MZ2_MEDIC_BLASTER_2 = 146;
MZ2_CARRIER_RAILGUN = 147;
MZ2_WIDOW_DISRUPTOR = 148;
MZ2_WIDOW_BLASTER = 149;
MZ2_WIDOW_RAIL = 150;
MZ2_WIDOW_PLASMABEAM = 151; // PMM - not used
MZ2_CARRIER_MACHINEGUN_L2 = 152;
MZ2_CARRIER_MACHINEGUN_R2 = 153;
MZ2_WIDOW_RAIL_LEFT = 154;
MZ2_WIDOW_RAIL_RIGHT = 155;
MZ2_WIDOW_BLASTER_SWEEP1 = 156;
MZ2_WIDOW_BLASTER_SWEEP2 = 157;
MZ2_WIDOW_BLASTER_SWEEP3 = 158;
MZ2_WIDOW_BLASTER_SWEEP4 = 159;
MZ2_WIDOW_BLASTER_SWEEP5 = 160;
MZ2_WIDOW_BLASTER_SWEEP6 = 161;
MZ2_WIDOW_BLASTER_SWEEP7 = 162;
MZ2_WIDOW_BLASTER_SWEEP8 = 163;
MZ2_WIDOW_BLASTER_SWEEP9 = 164;
MZ2_WIDOW_BLASTER_100 = 165;
MZ2_WIDOW_BLASTER_90 = 166;
MZ2_WIDOW_BLASTER_80 = 167;
MZ2_WIDOW_BLASTER_70 = 168;
MZ2_WIDOW_BLASTER_60 = 169;
MZ2_WIDOW_BLASTER_50 = 170;
MZ2_WIDOW_BLASTER_40 = 171;
MZ2_WIDOW_BLASTER_30 = 172;
MZ2_WIDOW_BLASTER_20 = 173;
MZ2_WIDOW_BLASTER_10 = 174;
MZ2_WIDOW_BLASTER_0 = 175;
MZ2_WIDOW_BLASTER_10L = 176;
MZ2_WIDOW_BLASTER_20L = 177;
MZ2_WIDOW_BLASTER_30L = 178;
MZ2_WIDOW_BLASTER_40L = 179;
MZ2_WIDOW_BLASTER_50L = 180;
MZ2_WIDOW_BLASTER_60L = 181;
MZ2_WIDOW_BLASTER_70L = 182;
MZ2_WIDOW_RUN_1 = 183;
MZ2_WIDOW_RUN_2 = 184;
MZ2_WIDOW_RUN_3 = 185;
MZ2_WIDOW_RUN_4 = 186;
MZ2_WIDOW_RUN_5 = 187;
MZ2_WIDOW_RUN_6 = 188;
MZ2_WIDOW_RUN_7 = 189;
MZ2_WIDOW_RUN_8 = 190;
MZ2_CARRIER_ROCKET_1 = 191;
MZ2_CARRIER_ROCKET_2 = 192;
MZ2_CARRIER_ROCKET_3 = 193;
MZ2_CARRIER_ROCKET_4 = 194;
MZ2_WIDOW2_BEAMER_1 = 195;
MZ2_WIDOW2_BEAMER_2 = 196;
MZ2_WIDOW2_BEAMER_3 = 197;
MZ2_WIDOW2_BEAMER_4 = 198;
MZ2_WIDOW2_BEAMER_5 = 199;
MZ2_WIDOW2_BEAM_SWEEP_1 = 200;
MZ2_WIDOW2_BEAM_SWEEP_2 = 201;
MZ2_WIDOW2_BEAM_SWEEP_3 = 202;
MZ2_WIDOW2_BEAM_SWEEP_4 = 203;
MZ2_WIDOW2_BEAM_SWEEP_5 = 204;
MZ2_WIDOW2_BEAM_SWEEP_6 = 205;
MZ2_WIDOW2_BEAM_SWEEP_7 = 206;
MZ2_WIDOW2_BEAM_SWEEP_8 = 207;
MZ2_WIDOW2_BEAM_SWEEP_9 = 208;
MZ2_WIDOW2_BEAM_SWEEP_10 = 209;
MZ2_WIDOW2_BEAM_SWEEP_11 = 210;
// ROGUE
// CAK - monster_flash_offset is the only thing in m_flash.c
// So the variable will be declared there and nowhere else.
// Also it is never used in Capture The Flag.
// It was here originally
// temp entity events
//
// Temp entity events are for things that happen
// at a location seperate from any existing entity.
// Temporary entity messages are explicitly contype = recorded
// and broadcast.
type
temp_event_t = (
TE_GUNSHOT,
TE_BLOOD,
TE_BLASTER,
TE_RAILTRAIL,
TE_SHOTGUN,
TE_EXPLOSION1,
TE_EXPLOSION2,
TE_ROCKET_EXPLOSION,
TE_GRENADE_EXPLOSION,
TE_SPARKS,
TE_SPLASH,
TE_BUBBLETRAIL,
TE_SCREEN_SPARKS,
TE_SHIELD_SPARKS,
TE_BULLET_SPARKS,
TE_LASER_SPARKS,
TE_PARASITE_ATTACK,
TE_ROCKET_EXPLOSION_WATER,
TE_GRENADE_EXPLOSION_WATER,
TE_MEDIC_CABLE_ATTACK,
TE_BFG_EXPLOSION,
TE_BFG_BIGEXPLOSION,
TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
TE_BFG_LASER,
TE_GRAPPLE_CABLE,
TE_WELDING_SPARKS,
TE_GREENBLOOD,
TE_BLUEHYPERBLASTER,
TE_PLASMA_EXPLOSION,
TE_TUNNEL_SPARKS,
//ROGUE
TE_BLASTER2,
TE_RAILTRAIL2,
TE_FLAME,
TE_LIGHTNING,
TE_DEBUGTRAIL,
TE_PLAIN_EXPLOSION,
TE_FLASHLIGHT,
TE_FORCEWALL,
TE_HEATBEAM,
TE_MONSTER_HEATBEAM,
TE_STEAM,
TE_BUBBLETRAIL2,
TE_MOREBLOOD,
TE_HEATBEAM_SPARKS,
TE_HEATBEAM_STEAM,
TE_CHAINFIST_SMOKE,
TE_ELECTRIC_SPARKS,
TE_TRACKER_EXPLOSION,
TE_TELEPORT_EFFECT,
TE_DBALL_GOAL,
TE_WIDOWBEAMOUT,
TE_NUKEBLAST,
TE_WIDOWSPLASH,
TE_EXPLOSION1_BIG,
TE_EXPLOSION1_NP,
TE_FLECHETTE
//ROGUE
);
const
SPLASH_UNKNOWN = 0;
SPLASH_SPARKS = 1;
SPLASH_BLUE_WATER = 2;
SPLASH_BROWN_WATER = 3;
SPLASH_SLIME = 4;
SPLASH_LAVA = 5;
SPLASH_BLOOD = 6;
// sound channels
// channel 0 never willingly overrides
// other channels (1-7) allways override a playing sound on that channel
const
CHAN_AUTO = 0;
CHAN_WEAPON = 1;
CHAN_VOICE = 2;
CHAN_ITEM = 3;
CHAN_BODY = 4;
// modifier flags
CHAN_NO_PHS_ADD = 8; // send to all clients, not just ones in PHS (ATTN 0 will also do this)
CHAN_RELIABLE = 16; // send by reliable message, not datagram
// sound attenuation values
ATTN_NONE: Single = 0; // full volume the entire level
ATTN_NORM: Single = 1;
ATTN_IDLE: Single = 2;
ATTN_STATIC: Single = 3; // diminish very rapidly with distance
// player_state->stats[] indexes
STAT_HEALTH_ICON = 0;
STAT_HEALTH = 1;
STAT_AMMO_ICON = 2;
STAT_AMMO = 3;
STAT_ARMOR_ICON = 4;
STAT_ARMOR = 5;
STAT_SELECTED_ICON = 6;
STAT_PICKUP_ICON = 7;
STAT_PICKUP_STRING = 8;
STAT_TIMER_ICON = 9;
STAT_TIMER = 10;
STAT_HELPICON = 11;
STAT_SELECTED_ITEM = 12;
STAT_LAYOUTS = 13;
STAT_FRAGS = 14;
STAT_FLASHES = 15; // cleared each frame, 1 = health, 2 = armor
STAT_CHASE = 16;
STAT_SPECTATOR = 17;
MAX_STATS = q_shared_add.MAX_STATS;
// dmflags->value flags
DF_NO_HEALTH = $00000001; // 1
DF_NO_ITEMS = $00000002; // 2
DF_WEAPONS_STAY = $00000004; // 4
DF_NO_FALLING = $00000008; // 8
DF_INSTANT_ITEMS = $00000010; // 16
DF_SAME_LEVEL = $00000020; // 32
DF_SKINTEAMS = $00000040; // 64
DF_MODELTEAMS = $00000080; // 128
DF_NO_FRIENDLY_FIRE = $00000100; // 256
DF_SPAWN_FARTHEST = $00000200; // 512
DF_FORCE_RESPAWN = $00000400; // 1024
DF_NO_ARMOR = $00000800; // 2048
DF_ALLOW_EXIT = $00001000; // 4096
DF_INFINITE_AMMO = $00002000; // 8192
DF_QUAD_DROP = $00004000; // 16384
DF_FIXED_FOV = $00008000; // 32768
// RAFAEL
DF_QUADFIRE_DROP = $00010000; // 65536
//ROGUE
const
DF_NO_MINES = $00020000;
DF_NO_STACK_DOUBLE = $00040000;
DF_NO_NUKES = $00080000;
DF_NO_SPHERES = $00100000;
//ROGUE
// player_state_t is the information needed in addition to pmove_state_t
// to rendered a view. There will only be 10 player_state_t sent each second,
// but the number of pmove_state_t changes will be reletive to client
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -