MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / zSceneRenderPreFX

Function zSceneRenderPreFX

src/SB/Game/zScene.cpp:2966–3097  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2964}
2965
2966static void zSceneRenderPreFX()
2967{
2968 zScene* s = globals.sceneCur;
2969
2970 globals.currWorld = s->env->geom->world;
2971
2972 xLightKit_Enable(NULL, globals.currWorld);
2973
2974 zRenderState(SDRS_SkyBack);
2975 xSkyDome_Render();
2976
2977 zRenderState(SDRS_Environment);
2978 zLightAddLocalEnv();
2979 zEnvRender(s->env);
2980 zLightRemoveLocalEnv();
2981
2982 zRenderState(SDRS_OpaqueModels);
2983 z_disco_floor::render_all();
2984
2985 U32 shadowHackCase = 0;
2986
2987 xEnt** entptr = &s->act_ents[s->num_act_ents - 1];
2988 xEnt** entlast = &s->act_ents[s->baseCount[eBaseTypeTrigger] + s->baseCount[eBaseTypePickup] +
2989 s->baseCount[eBaseTypeStatic]];
2990
2991 xModelBucket_Begin();
2992 zEntSimpleObj_MgrUpdateRender(globals.currWorld, sTimeElapsed);
2993 zEntSimpleObj_MgrCustomRender();
2994
2995 while (entptr >= entlast)
2996 {
2997 xEnt* ent = *entptr;
2998
2999 if (ent->collType != XENT_COLLTYPE_TRIG)
3000 {
3001 if (ent->collType == XENT_COLLTYPE_PLYR)
3002 {
3003 shadowHackCase = 1;
3004 }
3005 else if (ent->render)
3006 {
3007 xLightKit_Enable(ent->lightKit, globals.currWorld);
3008 ent->render(ent);
3009 }
3010 }
3011
3012 entptr--;
3013 }
3014
3015 zShrapnel_Render();
3016 zEntPickup_Render((zEntPickup*)s->baseList[eBaseTypePickup], s->baseCount[eBaseTypePickup]);
3017 xModelBucket_RenderOpaque();
3018 zNPCCommon_Glyphs_RenderAll(1);
3019 zNPCCommon_Hazards_RenderAll(1);
3020 xLightKit_Enable(NULL, globals.currWorld);
3021 zEntPickup_RenderList((zEntPickup*)s->baseList[eBaseTypePickup], s->baseCount[eBaseTypePickup]);
3022
3023 if (shadowHackCase == 1 && globals.player.Transparent <= 0 && !oob_state::render())

Callers 1

zSceneRenderFunction · 0.70

Calls 15

zRenderStateFunction · 0.85
zShrapnel_RenderFunction · 0.85
zEntPickup_RenderListFunction · 0.85
xShadowManager_RenderFunction · 0.85
xShadowSimple_RenderFunction · 0.85
xModelBucket_RenderAlphaFunction · 0.85
effects_render_allFunction · 0.85
zNPCMgr_scenePostRenderFunction · 0.85
xParMgrRenderFunction · 0.85

Tested by

no test coverage detected