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

Function UpdateSandyBossCam

src/SB/Game/zNPCTypeBossSandy.cpp:870–938  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

868}
869
870static void UpdateSandyBossCam(zNPCBSandy* sandy, F32 dt)
871{
872 S32 needToCallStart = 0;
873 xVec3 tempTarget;
874
875 if ((zCameraIsTrackingDisabled() & 0x8) == 0)
876 {
877 needToCallStart = 1;
878 }
879
880 zCameraDisableTracking(CO_BOSS);
881
882 if (needToCallStart)
883 {
884 sandy->bossCam.start(globals.camera);
885 }
886
887 if (sandy->bossFlags & 0x40)
888 {
889 if ((sandy->bossFlags & 0x2000) == 0)
890 {
891 sandy->specialBossCam.start(globals.camera);
892 }
893
894 tempTarget.x = globals.player.ent.model->Mat->pos.x;
895 tempTarget.y = 0.0f;
896 tempTarget.z = globals.player.ent.model->Mat->pos.z;
897 sandy->specialBossCam.set_targets(tempTarget, (xVec3&)sCamSubTarget, 2.0f);
898
899 if ((sandy->bossFlags & 0x4000))
900 {
901 sandy->specialBossCam.update(10.0f);
902 sandy->bossFlags &= ~0x4000;
903 }
904 else
905 {
906 sandy->specialBossCam.update(dt);
907 }
908 }
909 else
910 {
911 if (sandy->bossFlags & 0x2000)
912 {
913 sandy->bossCam.start(globals.camera);
914 }
915
916 sandy->bossCam.set_targets(*((xVec3*)&globals.player.ent.model->Mat->pos),
917 (xVec3&)sCamSubTarget, 10.0f);
918
919 if (sandy->bossFlags & 0x4000)
920 {
921 sandy->bossCam.update(10.0f);
922 sandy->bossFlags &= ~0x4000;
923 }
924 else
925 {
926 sandy->bossCam.update(dt);
927 }

Callers

nothing calls this directly

Calls 5

zCameraDisableTrackingFunction · 0.85
set_targetsMethod · 0.80
startMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected