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

Function zEGeneratorEventCB

src/SB/Game/zEGenerator.cpp:291–343  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

289}
290
291S32 zEGeneratorEventCB(xBase* to, xBase* from, U32 toEvent, const F32* toParam,
292 xBase* toParamWidget)
293{
294 zEGenerator* egen = (zEGenerator*)from;
295 switch (toEvent)
296 {
297 case eEventOn:
298 zEGenerator_TurnOn(egen);
299 break;
300 case eEventOff:
301 zEGenerator_TurnOff(egen);
302 break;
303 case eEventToggle:
304 zEGenerator_ToggleOn(egen);
305 break;
306 case eEventReset:
307 zEGenerator_Reset(egen, (xScene*)globals.sceneCur);
308 break;
309 case eEventVisible:
310 case eEventFastVisible:
311 xEntShow(egen);
312 break;
313 case eEventInvisible:
314 case eEventFastInvisible:
315 xEntHide(egen);
316 break;
317 case eEventCollision_Visible_On:
318 xEntShow(egen);
319 case eEventCollisionOn:
320 egen->chkby = XENT_COLLTYPE_PLYR | XENT_COLLTYPE_NPC;
321 egen->bupdate(egen, (xVec3*)&egen->model->Mat->pos);
322 break;
323 case eEventCollision_Visible_Off:
324 xEntHide(egen);
325 case eEventCollisionOff:
326 egen->chkby = XENT_COLLTYPE_NONE;
327 break;
328 case eEventCameraCollideOn:
329 zCollGeom_CamEnable(egen);
330 break;
331 case eEventCameraCollideOff:
332 zCollGeom_CamDisable(egen);
333 break;
334 case eEventLaunchShrapnel:
335 zShrapnelAsset* shrap = (zShrapnelAsset*)toParamWidget;
336 if (shrap == NULL || shrap->initCB == NULL)
337 break;
338
339 shrap->initCB(shrap, egen->model, 0, 0);
340 break;
341 }
342 return eEventEnable;
343}

Callers

nothing calls this directly

Calls 8

zEGenerator_TurnOffFunction · 0.85
zEGenerator_ToggleOnFunction · 0.85
xEntShowFunction · 0.85
xEntHideFunction · 0.85
zCollGeom_CamEnableFunction · 0.85
zCollGeom_CamDisableFunction · 0.85
zEGenerator_TurnOnFunction · 0.70
zEGenerator_ResetFunction · 0.70

Tested by

no test coverage detected