| 568 | } |
| 569 | |
| 570 | void z_disco_floor::effects_render_all() |
| 571 | { |
| 572 | iColor_tag color; // unused |
| 573 | zScene& s = *globals.sceneCur; |
| 574 | z_disco_floor* begin_floor = (z_disco_floor*)s.baseList[eBaseTypeDiscoFloor]; |
| 575 | z_disco_floor* end_floor = begin_floor + s.baseCount[eBaseTypeDiscoFloor]; |
| 576 | RpAtomic* atomic; // unused |
| 577 | bucket_data* bucket; // unused |
| 578 | z_disco_floor* floor; |
| 579 | S32 group; |
| 580 | F32 glow; // unused |
| 581 | F32 dalpha; // unused |
| 582 | F32 dyoffset; // unused |
| 583 | tile_data* tile; // unused |
| 584 | tile_data* end_tile; // unused |
| 585 | xModelInstance* model; // unused |
| 586 | F32 alpha; // unused |
| 587 | F32 yoffset; // unused |
| 588 | S32 i; // unused |
| 589 | |
| 590 | floor = begin_floor; |
| 591 | |
| 592 | while (floor != end_floor) |
| 593 | { |
| 594 | floor->flag.culled = floor->flag.culled || iModelSphereCull(&floor->bound); |
| 595 | floor++; |
| 596 | } |
| 597 | |
| 598 | zRenderState(SDRS_DiscoFloorGlow); |
| 599 | xLightKit_Enable(&glow_light.kit, globals.currWorld); |
| 600 | |
| 601 | for (group = 0; group < 3; group++) |
| 602 | { |
| 603 | floor = begin_floor; |
| 604 | |
| 605 | while (floor != end_floor) |
| 606 | { |
| 607 | if (!floor->flag.culled && !floor->flag.glow_culled) |
| 608 | { |
| 609 | floor->effects_render(group); |
| 610 | } |
| 611 | |
| 612 | floor++; |
| 613 | } |
| 614 | } |
| 615 | } |
| 616 | |
| 617 | void z_disco_floor::init(void* ent, void* asset) |
| 618 | { |
nothing calls this directly
no test coverage detected