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

Function zEntSimpleObjEventCB

src/SB/Game/zEntSimpleObj.cpp:624–728  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

622}
623
624s32 zEntSimpleObjEventCB(xBase* from, xBase* to, U32 toEvent, const F32* toParam, xBase* base3)
625{
626 zEntSimpleObj* toSimpleObj = (zEntSimpleObj*)to;
627
628 switch (toEvent)
629 {
630 case eEventFastVisible:
631 case eEventVisible:
632 xEntShow((xEnt*)to);
633 if ((toParam != NULL) && ((S32)(0.5f + toParam[0]) == 0x4D))
634 {
635 zFXPopOn((xEnt&)*to, toParam[1], toParam[2]);
636 }
637 break;
638 case eEventFastInvisible:
639 case eEventInvisible:
640 xEntHide((xEnt*)to);
641 if ((toParam != NULL) && ((S32)(0.5f + toParam[0]) == 0x4D))
642 {
643 zFXPopOff((xEnt&)*to, toParam[1], toParam[2]);
644 }
645 break;
646 case eEventCollision_Visible_On:
647 xEntShow((xEnt*)to);
648 if ((toParam != NULL) && ((S32)(0.5f + toParam[0]) == 0x4D))
649 {
650 zFXPopOn((xEnt&)*to, toParam[1], toParam[2]);
651 }
652 /* fallthrough */
653 case eEventCollisionOn:
654 toSimpleObj->chkby = 0x18;
655 if (toSimpleObj->bupdate != NULL)
656 {
657 toSimpleObj->bupdate((xEnt*)to, (xVec3*)&toSimpleObj->model->Mat->pos);
658 }
659 else
660 {
661 xEntDefaultBoundUpdate((xEnt*)to, (xVec3*)&toSimpleObj->model->Mat->pos);
662 }
663 break;
664 case eEventCollision_Visible_Off:
665 xEntHide((xEnt*)to);
666 if ((toParam != NULL) && ((S32)(0.5f + toParam[0]) == 0x4D))
667 {
668 zFXPopOff((xEnt&)*to, toParam[1], toParam[2]);
669 }
670 /* fallthrough */
671 case eEventCollisionOff:
672 toSimpleObj->chkby = 0;
673 if (toSimpleObj->bupdate != NULL)
674 {
675 toSimpleObj->bupdate((xEnt*)to, (xVec3*)&toSimpleObj->model->Mat->pos);
676 }
677 else
678 {
679 xEntDefaultBoundUpdate((xEnt*)to, (xVec3*)&toSimpleObj->model->Mat->pos);
680 }
681 break;

Callers

nothing calls this directly

Calls 14

xEntShowFunction · 0.85
zFXPopOnFunction · 0.85
xEntHideFunction · 0.85
zFXPopOffFunction · 0.85
zCollGeom_CamEnableFunction · 0.85
zCollGeom_CamDisableFunction · 0.85
zEntSimpleObj_ResetFunction · 0.85
zFXGooEventSetWarbFunction · 0.85
zFXGooEventMeltFunction · 0.85
zEntAnimEventFunction · 0.70
zGooAddFunction · 0.70

Tested by

no test coverage detected