(frame_t frame)
| 393 | * =============== |
| 394 | */ |
| 395 | static void AddPacketEntities(frame_t frame) { |
| 396 | entity_state_t s1; |
| 397 | float autorotate; |
| 398 | int i; |
| 399 | int pnum; |
| 400 | centity_t cent; |
| 401 | int autoanim; |
| 402 | clientinfo_t ci; |
| 403 | int effects, renderfx; |
| 404 | |
| 405 | // bonus items rotate at a fixed rate |
| 406 | autorotate = Math3D.anglemod(ClientGlobals.cl.time / 10); |
| 407 | |
| 408 | // brush models can auto animate their frames |
| 409 | autoanim = 2 * ClientGlobals.cl.time / 1000; |
| 410 | |
| 411 | //memset( ent, 0, sizeof(ent)); |
| 412 | ent.clear(); |
| 413 | |
| 414 | for (pnum = 0; pnum < frame.num_entities; pnum++) { |
| 415 | s1 = ClientGlobals.cl_parse_entities[(frame.parse_entities + pnum) & (Defines.MAX_PARSE_ENTITIES - 1)]; |
| 416 | |
| 417 | boolean isclientviewer = false; |
| 418 | cent = ClientGlobals.cl_entities[s1.number]; |
| 419 | |
| 420 | effects = s1.effects; |
| 421 | renderfx = s1.renderfx; |
| 422 | |
| 423 | // set frame |
| 424 | if ((effects & Defines.EF_ANIM01) != 0) |
| 425 | ent.frame = autoanim & 1; |
| 426 | else if ((effects & Defines.EF_ANIM23) != 0) |
| 427 | ent.frame = 2 + (autoanim & 1); |
| 428 | else if ((effects & Defines.EF_ANIM_ALL) != 0) |
| 429 | ent.frame = autoanim; |
| 430 | else if ((effects & Defines.EF_ANIM_ALLFAST) != 0) |
| 431 | ent.frame = ClientGlobals.cl.time / 100; |
| 432 | else |
| 433 | ent.frame = s1.frame; |
| 434 | |
| 435 | // quad and pent can do different things on client |
| 436 | if ((effects & Defines.EF_PENT) != 0) { |
| 437 | effects &= ~Defines.EF_PENT; |
| 438 | effects |= Defines.EF_COLOR_SHELL; |
| 439 | renderfx |= Defines.RF_SHELL_RED; |
| 440 | } |
| 441 | |
| 442 | if ((effects & Defines.EF_QUAD) != 0) { |
| 443 | effects &= ~Defines.EF_QUAD; |
| 444 | effects |= Defines.EF_COLOR_SHELL; |
| 445 | renderfx |= Defines.RF_SHELL_BLUE; |
| 446 | } |
| 447 | // ====== |
| 448 | // PMM |
| 449 | if ((effects & Defines.EF_DOUBLE) != 0) { |
| 450 | effects &= ~Defines.EF_DOUBLE; |
| 451 | effects |= Defines.EF_COLOR_SHELL; |
| 452 | renderfx |= Defines.RF_SHELL_DOUBLE; |
no test coverage detected