⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q_shared.pas

📁 delphi编的不错的贪吃蛇
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -