MCPcopy Create free account
hub / github.com/demoth/jake2 / ParseMuzzleFlash2

Method ParseMuzzleFlash2

client/src/main/java/jake2/client/CL_fx.java:512–939  ·  view source on GitHub ↗
(MuzzleFlash2Message mzzl)

Source from the content-addressed store, hash-verified

510 * ============== CL_ParseMuzzleFlash2 ==============
511 */
512 static void ParseMuzzleFlash2(MuzzleFlash2Message mzzl) {
513 String soundname;
514
515 int ent = mzzl.entityIndex;
516 if (ent < 1 || ent >= Defines.MAX_EDICTS)
517 Com.Error(Defines.ERR_DROP, "CL_ParseMuzzleFlash2: bad entity");
518
519 int flash_number = mzzl.flashType;
520
521 // locate the origin
522 Math3D.AngleVectors(ClientGlobals.cl_entities[ent].current.angles, forward, right, null);
523 origin[0] = ClientGlobals.cl_entities[ent].current.origin[0] + forward[0] * M_Flash.monster_flash_offset[flash_number][0] + right[0]
524 * M_Flash.monster_flash_offset[flash_number][1];
525 origin[1] = ClientGlobals.cl_entities[ent].current.origin[1] + forward[1] * M_Flash.monster_flash_offset[flash_number][0] + right[1]
526 * M_Flash.monster_flash_offset[flash_number][1];
527 origin[2] = ClientGlobals.cl_entities[ent].current.origin[2] + forward[2] * M_Flash.monster_flash_offset[flash_number][0] + right[2]
528 * M_Flash.monster_flash_offset[flash_number][1] + M_Flash.monster_flash_offset[flash_number][2];
529
530 cdlight_t dl = AllocDlight(ent);
531 Math3D.VectorCopy(origin, dl.origin);
532 dl.radius = 200 + (Globals.rnd.nextInt() & 31);
533 dl.minlight = 32;
534 dl.die = ClientGlobals.cl.time; // + 0.1;
535
536 switch (flash_number) {
537 case Defines.MZ2_INFANTRY_MACHINEGUN_1:
538 case Defines.MZ2_INFANTRY_MACHINEGUN_2:
539 case Defines.MZ2_INFANTRY_MACHINEGUN_3:
540 case Defines.MZ2_INFANTRY_MACHINEGUN_4:
541 case Defines.MZ2_INFANTRY_MACHINEGUN_5:
542 case Defines.MZ2_INFANTRY_MACHINEGUN_6:
543 case Defines.MZ2_INFANTRY_MACHINEGUN_7:
544 case Defines.MZ2_INFANTRY_MACHINEGUN_8:
545 case Defines.MZ2_INFANTRY_MACHINEGUN_9:
546 case Defines.MZ2_INFANTRY_MACHINEGUN_10:
547 case Defines.MZ2_INFANTRY_MACHINEGUN_11:
548 case Defines.MZ2_INFANTRY_MACHINEGUN_12:
549 case Defines.MZ2_INFANTRY_MACHINEGUN_13:
550 dl.color[0] = 1;
551 dl.color[1] = 1;
552 dl.color[2] = 0;
553 ParticleEffect(origin, Globals.vec3_origin, 0, 40);
554 CL_tent.SmokeAndFlash(origin);
555 S.StartSound(null, ent, Defines.CHAN_WEAPON, S.RegisterSound("infantry/infatck1.wav"), 1, Defines.ATTN_NORM, 0);
556 break;
557
558 case Defines.MZ2_SOLDIER_MACHINEGUN_1:
559 case Defines.MZ2_SOLDIER_MACHINEGUN_2:
560 case Defines.MZ2_SOLDIER_MACHINEGUN_3:
561 case Defines.MZ2_SOLDIER_MACHINEGUN_4:
562 case Defines.MZ2_SOLDIER_MACHINEGUN_5:
563 case Defines.MZ2_SOLDIER_MACHINEGUN_6:
564 case Defines.MZ2_SOLDIER_MACHINEGUN_7:
565 case Defines.MZ2_SOLDIER_MACHINEGUN_8:
566 dl.color[0] = 1;
567 dl.color[1] = 1;
568 dl.color[2] = 0;
569 ParticleEffect(origin, Globals.vec3_origin, 0, 40);

Callers 1

ParseServerMessageMethod · 0.95

Calls 8

ErrorMethod · 0.95
AngleVectorsMethod · 0.95
AllocDlightMethod · 0.95
VectorCopyMethod · 0.95
ParticleEffectMethod · 0.95
SmokeAndFlashMethod · 0.95
StartSoundMethod · 0.95
RegisterSoundMethod · 0.95

Tested by

no test coverage detected