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

Method RenderExtra

src/SB/Game/zNPCTypeDutchman.cpp:1218–1278  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1216}
1217
1218void zNPCDutchman::RenderExtra()
1219{
1220 S32 oldzwrite;
1221 S32 oldztest;
1222 U32 oldsrcblend;
1223 U32 olddestblend;
1224 U8 oldcmp;
1225 xModelInstance* m;
1226 U8 haloing;
1227
1228 RwRenderStateGet(rwRENDERSTATEFOGENABLE, (void*)&oldcmp);
1229 RwRenderStateGet(rwRENDERSTATESRCBLEND, (void*)&oldcmp);
1230 RwRenderStateGet(rwRENDERSTATEDESTBLEND, (void*)&oldcmp);
1231 RwRenderStateGet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)&oldcmp);
1232 RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)&oldcmp);
1233 RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)&oldcmp);
1234 RwRenderStateSet(rwRENDERSTATEDESTBLEND, (void*)&oldcmp);
1235 RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)&oldcmp);
1236 iDrawSetFBMSK(-1);
1237
1238 for (m = model; m != 0; m = m)
1239 {
1240 xModelRenderSingle(m);
1241 }
1242
1243 iDrawSetFBMSK(0);
1244
1245 for (m = model; m != 0; m = m)
1246 {
1247 xModelRenderSingle(m);
1248 }
1249
1250 oldcmp = FALSE;
1251
1252 if (flag.beaming != 0)
1253 {
1254 if (beam->segments != 0)
1255 {
1256 oldcmp = TRUE;
1257 }
1258 render_beam();
1259 // if (*(int*)(this + 0x430) + *(int*)(this + 0x54c) != 0)
1260 // {
1261 // bVar1 = true;
1262 // }
1263 }
1264 // 0x2c0
1265 oldzwrite = flag.fade;
1266 if (oldcmp)
1267 {
1268 render_beam();
1269 }
1270 if ((2U - oldzwrite | oldzwrite - 2U) < 0)
1271 {
1272 render_halo();
1273 }
1274 RwRenderStateSet(rwRENDERSTATEFOGENABLE, (void*)&oldcmp);
1275 RwRenderStateSet(rwRENDERSTATESRCBLEND, (void*)&oldcmp);

Callers 1

ScenePostRenderMethod · 0.45

Calls 3

render_beamFunction · 0.85
iDrawSetFBMSKFunction · 0.50
xModelRenderSingleFunction · 0.50

Tested by

no test coverage detected