📄 cl_fx.java
字号:
case Defines.MZ2_INFANTRY_MACHINEGUN_6: case Defines.MZ2_INFANTRY_MACHINEGUN_7: case Defines.MZ2_INFANTRY_MACHINEGUN_8: case Defines.MZ2_INFANTRY_MACHINEGUN_9: case Defines.MZ2_INFANTRY_MACHINEGUN_10: case Defines.MZ2_INFANTRY_MACHINEGUN_11: case Defines.MZ2_INFANTRY_MACHINEGUN_12: case Defines.MZ2_INFANTRY_MACHINEGUN_13: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("infantry/infatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_SOLDIER_MACHINEGUN_1: case Defines.MZ2_SOLDIER_MACHINEGUN_2: case Defines.MZ2_SOLDIER_MACHINEGUN_3: case Defines.MZ2_SOLDIER_MACHINEGUN_4: case Defines.MZ2_SOLDIER_MACHINEGUN_5: case Defines.MZ2_SOLDIER_MACHINEGUN_6: case Defines.MZ2_SOLDIER_MACHINEGUN_7: case Defines.MZ2_SOLDIER_MACHINEGUN_8: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("soldier/solatck3.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_GUNNER_MACHINEGUN_1: case Defines.MZ2_GUNNER_MACHINEGUN_2: case Defines.MZ2_GUNNER_MACHINEGUN_3: case Defines.MZ2_GUNNER_MACHINEGUN_4: case Defines.MZ2_GUNNER_MACHINEGUN_5: case Defines.MZ2_GUNNER_MACHINEGUN_6: case Defines.MZ2_GUNNER_MACHINEGUN_7: case Defines.MZ2_GUNNER_MACHINEGUN_8: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("gunner/gunatck2.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_ACTOR_MACHINEGUN_1: case Defines.MZ2_SUPERTANK_MACHINEGUN_1: case Defines.MZ2_SUPERTANK_MACHINEGUN_2: case Defines.MZ2_SUPERTANK_MACHINEGUN_3: case Defines.MZ2_SUPERTANK_MACHINEGUN_4: case Defines.MZ2_SUPERTANK_MACHINEGUN_5: case Defines.MZ2_SUPERTANK_MACHINEGUN_6: case Defines.MZ2_TURRET_MACHINEGUN: // PGM dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("infantry/infatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_BOSS2_MACHINEGUN_L1: case Defines.MZ2_BOSS2_MACHINEGUN_L2: case Defines.MZ2_BOSS2_MACHINEGUN_L3: case Defines.MZ2_BOSS2_MACHINEGUN_L4: case Defines.MZ2_BOSS2_MACHINEGUN_L5: case Defines.MZ2_CARRIER_MACHINEGUN_L1: // PMM case Defines.MZ2_CARRIER_MACHINEGUN_L2: // PMM dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("infantry/infatck1.wav"), 1, Defines.ATTN_NONE, 0); break; case Defines.MZ2_SOLDIER_BLASTER_1: case Defines.MZ2_SOLDIER_BLASTER_2: case Defines.MZ2_SOLDIER_BLASTER_3: case Defines.MZ2_SOLDIER_BLASTER_4: case Defines.MZ2_SOLDIER_BLASTER_5: case Defines.MZ2_SOLDIER_BLASTER_6: case Defines.MZ2_SOLDIER_BLASTER_7: case Defines.MZ2_SOLDIER_BLASTER_8: case Defines.MZ2_TURRET_BLASTER: // PGM dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("soldier/solatck2.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_FLYER_BLASTER_1: case Defines.MZ2_FLYER_BLASTER_2: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("flyer/flyatck3.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_MEDIC_BLASTER_1: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("medic/medatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_HOVER_BLASTER_1: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("hover/hovatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_FLOAT_BLASTER_1: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("floater/fltatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_SOLDIER_SHOTGUN_1: case Defines.MZ2_SOLDIER_SHOTGUN_2: case Defines.MZ2_SOLDIER_SHOTGUN_3: case Defines.MZ2_SOLDIER_SHOTGUN_4: case Defines.MZ2_SOLDIER_SHOTGUN_5: case Defines.MZ2_SOLDIER_SHOTGUN_6: case Defines.MZ2_SOLDIER_SHOTGUN_7: case Defines.MZ2_SOLDIER_SHOTGUN_8: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("soldier/solatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_TANK_BLASTER_1: case Defines.MZ2_TANK_BLASTER_2: case Defines.MZ2_TANK_BLASTER_3: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("tank/tnkatck3.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_TANK_MACHINEGUN_1: case Defines.MZ2_TANK_MACHINEGUN_2: case Defines.MZ2_TANK_MACHINEGUN_3: case Defines.MZ2_TANK_MACHINEGUN_4: case Defines.MZ2_TANK_MACHINEGUN_5: case Defines.MZ2_TANK_MACHINEGUN_6: case Defines.MZ2_TANK_MACHINEGUN_7: case Defines.MZ2_TANK_MACHINEGUN_8: case Defines.MZ2_TANK_MACHINEGUN_9: case Defines.MZ2_TANK_MACHINEGUN_10: case Defines.MZ2_TANK_MACHINEGUN_11: case Defines.MZ2_TANK_MACHINEGUN_12: case Defines.MZ2_TANK_MACHINEGUN_13: case Defines.MZ2_TANK_MACHINEGUN_14: case Defines.MZ2_TANK_MACHINEGUN_15: case Defines.MZ2_TANK_MACHINEGUN_16: case Defines.MZ2_TANK_MACHINEGUN_17: case Defines.MZ2_TANK_MACHINEGUN_18: case Defines.MZ2_TANK_MACHINEGUN_19: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); //Com_sprintf(soundname, sizeof(soundname), "tank/tnkatk2%c.wav", // 'a' + rand() % 5); soundname = "tank/tnkatk2" + (char) ('a' + Globals.rnd.nextInt(5)) + ".wav"; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound(soundname), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_CHICK_ROCKET_1: case Defines.MZ2_TURRET_ROCKET: // PGM dl.color[0] = 1; dl.color[1] = 0.5f; dl.color[2] = 0.2f; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("chick/chkatck2.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_TANK_ROCKET_1: case Defines.MZ2_TANK_ROCKET_2: case Defines.MZ2_TANK_ROCKET_3: dl.color[0] = 1; dl.color[1] = 0.5f; dl.color[2] = 0.2f; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("tank/tnkatck1.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_SUPERTANK_ROCKET_1: case Defines.MZ2_SUPERTANK_ROCKET_2: case Defines.MZ2_SUPERTANK_ROCKET_3: case Defines.MZ2_BOSS2_ROCKET_1: case Defines.MZ2_BOSS2_ROCKET_2: case Defines.MZ2_BOSS2_ROCKET_3: case Defines.MZ2_BOSS2_ROCKET_4: case Defines.MZ2_CARRIER_ROCKET_1: // case MZ2_CARRIER_ROCKET_2: // case MZ2_CARRIER_ROCKET_3: // case MZ2_CARRIER_ROCKET_4: dl.color[0] = 1; dl.color[1] = 0.5f; dl.color[2] = 0.2f; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("tank/rocket.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_GUNNER_GRENADE_1: case Defines.MZ2_GUNNER_GRENADE_2: case Defines.MZ2_GUNNER_GRENADE_3: case Defines.MZ2_GUNNER_GRENADE_4: dl.color[0] = 1; dl.color[1] = 0.5f; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("gunner/gunatck3.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_GLADIATOR_RAILGUN_1: // PMM case Defines.MZ2_CARRIER_RAILGUN: case Defines.MZ2_WIDOW_RAIL: // pmm dl.color[0] = 0.5f; dl.color[1] = 0.5f; dl.color[2] = 1.0f; break; // --- Xian's shit starts --- case Defines.MZ2_MAKRON_BFG: dl.color[0] = 0.5f; dl.color[1] = 1; dl.color[2] = 0.5f; //S.StartSound (null, ent, CHAN_WEAPON, // S.RegisterSound("makron/bfg_fire.wav"), 1, ATTN_NORM, 0); break; case Defines.MZ2_MAKRON_BLASTER_1: case Defines.MZ2_MAKRON_BLASTER_2: case Defines.MZ2_MAKRON_BLASTER_3: case Defines.MZ2_MAKRON_BLASTER_4: case Defines.MZ2_MAKRON_BLASTER_5: case Defines.MZ2_MAKRON_BLASTER_6: case Defines.MZ2_MAKRON_BLASTER_7: case Defines.MZ2_MAKRON_BLASTER_8: case Defines.MZ2_MAKRON_BLASTER_9: case Defines.MZ2_MAKRON_BLASTER_10: case Defines.MZ2_MAKRON_BLASTER_11: case Defines.MZ2_MAKRON_BLASTER_12: case Defines.MZ2_MAKRON_BLASTER_13: case Defines.MZ2_MAKRON_BLASTER_14: case Defines.MZ2_MAKRON_BLASTER_15: case Defines.MZ2_MAKRON_BLASTER_16: case Defines.MZ2_MAKRON_BLASTER_17: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("makron/blaster.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_JORG_MACHINEGUN_L1: case Defines.MZ2_JORG_MACHINEGUN_L2: case Defines.MZ2_JORG_MACHINEGUN_L3: case Defines.MZ2_JORG_MACHINEGUN_L4: case Defines.MZ2_JORG_MACHINEGUN_L5: case Defines.MZ2_JORG_MACHINEGUN_L6: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("boss3/xfire.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_JORG_MACHINEGUN_R1: case Defines.MZ2_JORG_MACHINEGUN_R2: case Defines.MZ2_JORG_MACHINEGUN_R3: case Defines.MZ2_JORG_MACHINEGUN_R4: case Defines.MZ2_JORG_MACHINEGUN_R5: case Defines.MZ2_JORG_MACHINEGUN_R6: dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); break; case Defines.MZ2_JORG_BFG_1: dl.color[0] = 0.5f; dl.color[1] = 1; dl.color[2] = 0.5f; break; case Defines.MZ2_BOSS2_MACHINEGUN_R1: case Defines.MZ2_BOSS2_MACHINEGUN_R2: case Defines.MZ2_BOSS2_MACHINEGUN_R3: case Defines.MZ2_BOSS2_MACHINEGUN_R4: case Defines.MZ2_BOSS2_MACHINEGUN_R5: case Defines.MZ2_CARRIER_MACHINEGUN_R1: // PMM case Defines.MZ2_CARRIER_MACHINEGUN_R2: // PMM dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; ParticleEffect(origin, Globals.vec3_origin, 0, 40); CL_tent.SmokeAndFlash(origin); break; // ====== // ROGUE case Defines.MZ2_STALKER_BLASTER: case Defines.MZ2_DAEDALUS_BLASTER: case Defines.MZ2_MEDIC_BLASTER_2: case Defines.MZ2_WIDOW_BLASTER: case Defines.MZ2_WIDOW_BLASTER_SWEEP1: case Defines.MZ2_WIDOW_BLASTER_SWEEP2: case Defines.MZ2_WIDOW_BLASTER_SWEEP3: case Defines.MZ2_WIDOW_BLASTER_SWEEP4: case Defines.MZ2_WIDOW_BLASTER_SWEEP5: case Defines.MZ2_WIDOW_BLASTER_SWEEP6: case Defines.MZ2_WIDOW_BLASTER_SWEEP7: case Defines.MZ2_WIDOW_BLASTER_SWEEP8: case Defines.MZ2_WIDOW_BLASTER_SWEEP9: case Defines.MZ2_WIDOW_BLASTER_100: case Defines.MZ2_WIDOW_BLASTER_90: case Defines.MZ2_WIDOW_BLASTER_80: case Defines.MZ2_WIDOW_BLASTER_70: case Defines.MZ2_WIDOW_BLASTER_60: case Defines.MZ2_WIDOW_BLASTER_50: case Defines.MZ2_WIDOW_BLASTER_40: case Defines.MZ2_WIDOW_BLASTER_30: case Defines.MZ2_WIDOW_BLASTER_20: case Defines.MZ2_WIDOW_BLASTER_10: case Defines.MZ2_WIDOW_BLASTER_0: case Defines.MZ2_WIDOW_BLASTER_10L: case Defines.MZ2_WIDOW_BLASTER_20L: case Defines.MZ2_WIDOW_BLASTER_30L: case Defines.MZ2_WIDOW_BLASTER_40L: case Defines.MZ2_WIDOW_BLASTER_50L: case Defines.MZ2_WIDOW_BLASTER_60L: case Defines.MZ2_WIDOW_BLASTER_70L: case Defines.MZ2_WIDOW_RUN_1: case Defines.MZ2_WIDOW_RUN_2: case Defines.MZ2_WIDOW_RUN_3: case Defines.MZ2_WIDOW_RUN_4: case Defines.MZ2_WIDOW_RUN_5: case Defines.MZ2_WIDOW_RUN_6: case Defines.MZ2_WIDOW_RUN_7: case Defines.MZ2_WIDOW_RUN_8: dl.color[0] = 0; dl.color[1] = 1; dl.color[2] = 0; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("tank/tnkatck3.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_WIDOW_DISRUPTOR: dl.color[0] = -1; dl.color[1] = -1; dl.color[2] = -1; S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("weapons/disint2.wav"), 1, Defines.ATTN_NORM, 0); break; case Defines.MZ2_WIDOW_PLASMABEAM: case Defines.MZ2_WIDOW2_BEAMER_1: case Defines.MZ2_WIDOW2_BEAMER_2: case Defines.MZ2_WIDOW2_BEAMER_3: case Defines.MZ2_WIDOW2_BEAMER_4: case Defines.MZ2_WIDOW2_BEAMER_5: case Defines.MZ2_WIDOW2_BEAM_SWEEP_1: case Defines.MZ2_WIDOW2_BEAM_SWEEP_2: case Defines.MZ2_WIDOW2_BEAM_SWEEP_3: case Defines.MZ2_WIDOW2_BEAM_SWEEP_4: case Defines.MZ2_WIDOW2_BEAM_SWEEP_5: case Defines.MZ2_WIDOW2_BEAM_SWEEP_6: case Defines.MZ2_WIDOW2_BEAM_SWEEP_7: case Defines.MZ2_WIDOW2_BEAM_SWEEP_8: case Defines.MZ2_WIDOW2_BEAM_SWEEP_9: case Defines.MZ2_WIDOW2_BEAM_SWEEP_10: case Defines.MZ2_WIDOW2_BEAM_SWEEP_11: dl.radius = 300 + (Globals.rnd.nextInt() & 100); dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 0; dl.die = Globals.cl.time + 200; break; // ROGUE // ====== // --- Xian's shit ends --- } } /* * =============== CL_AddDLights * * =============== */ static void AddDLights() { cdlight_t dl; // ===== // PGM if (Globals.vidref_val == Defines.VIDREF_GL) { for (int i = 0; i < Defines.MAX_DLIGHTS; i++) { dl = cl_dlights[i]; if (dl.radius == 0.0f) continue; V.AddLight(dl.origin, dl.radius, dl.color[0], dl.color[1], dl.color[2]); } } else { for (int i = 0; i < Defines.MAX_DLIGHTS; i++) { dl = cl_dlights[i]; if (dl.radius == 0.0f) continue; // negative light in software. only black allowed if ((dl.color[0] < 0) || (dl.color[1] < 0) || (dl.color[2] < 0)) { dl.radius = -(dl.radius); dl.color[0] = 1; dl.color[1] = 1; dl.color[2] = 1; } V.AddLight(dl.origin, dl.radius, dl.color[0], dl.color[1], dl.color[2]); } } // PGM // ===== } /* * =============== CL_ClearParticles =============== */ static void ClearParticles() { free_particles = particles[0]; active_particles = null; for (int i = 0; i < particles.length - 1; i++) particles[i].next = particles[i + 1]; particles[particles.length - 1].next = null; } /* * =============== CL_ParticleEffect * * Wall impact puffs =============== */ static void ParticleEffect(float[] org, float[] dir, int color, int count) { int j; cparticle_t p; float d; for (int i = 0; i < count; i++) { if (free_particles == null) return; p = free_particles; free_particles = p.next; p.next = active_particles; active_particles = p; p.time = Globals.cl.time; p.color = color + (Lib.rand() & 7); d = Lib.rand() & 31; for (j = 0; j < 3; j++) { p.org[j] = org[j] + ((Lib.rand() & 7) - 4) + d * dir[j]; p.vel[j] = Lib.crand() * 20; } p.accel[0] = p.accel[1] = 0; p.accel[2] = -PARTICLE_GRAVITY; p.alpha = 1.0f; p.alphavel = -1.0f / (0.5f + Globals.rnd.nextFloat() * 0.3f); } } /* * =============== CL_ParticleEffect2 =============== */ static void ParticleEffect2(float[] org, float[] dir, int color, int count) { int j; cparticle_t p; float d; for (int i = 0; i < count; i++) { if (free_particles == null) return; p = free_particles; free_particles = p.next; p.next = active_particles; active_particles = p; p.time = Globals.cl.time; p.color = color; d = Lib.rand() & 7; for (j = 0; j < 3; j++) { p.org[j] = org[j] + ((Lib.rand() & 7) - 4) + d * dir[j]; p.vel[j] = Lib.crand() * 20; } p.accel[0] = p.accel[1] = 0; p.accel[2] = -PARTICLE_GRAVITY; p.alpha = 1.0f; p.alphavel = -1.0f / (0.5f + Globals.rnd.nextFloat() * 0.3f); } } // RAFAEL /* * =============== CL_ParticleEffect3 =============== */ static void ParticleEffect3(float[] org, float[] dir, int color, int count) { int j; cparticle_t p; float d; for (int i = 0; i < count; i++) { if (free_particles == null) return; p = free_particles; free_particles = p.next; p.next = active_particles; active_particles = p; p.time = Globals.cl.time; p.color = color; d = Lib.rand() & 7; for (j = 0; j < 3; j++) { p.org[j] = org[j] + ((Lib.rand() & 7) - 4) + d * dir[j]; p.vel[j] = Lib.crand() * 20; } p.accel[0] = p.accel[1] = 0; p.accel[2] = PARTICLE_GRAVITY;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -