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

Function xCutscene_Destroy

src/SB/Core/x/xCutscene.cpp:94–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94S32 xCutscene_Destroy(xCutscene* csn)
95{
96 csn->Ready = 0;
97 xSndSetExternalCallback(0);
98 if (csn->SndStarted != 0)
99 {
100 xSndStop(csn->SndHandle[0]);
101 if (csn->SndNumChannel == 2)
102 {
103 xSndStop(csn->SndHandle[1]);
104 }
105 xSndUpdate();
106 csn->SndStarted = 0;
107 }
108 xSndPauseAll(0, 0);
109 xSndUpdate();
110 if (csn->Opened != 0)
111 {
112 iCSFileClose(csn);
113 }
114 for (int i = 0; i < csn->Info->NumData; i++)
115 {
116 // if ((((U32*)csn->Data->DataType + i) & 0x80000000) &&
117 // ((RpAtomic*)((U32*)((U32*)csn->Data->DataType + i) + 3) != NULL))
118 // {
119 // if ((((U32*)csn->Data->DataType + i) & 0xfffffff) == 6)
120 // {
121 // RwFree();
122 // }
123 // else
124 // {
125 // iModelUnload((RpAtomic*)((U32*)((U32*)csn->Data->DataType + i) + 3));
126 // }
127 // (U32)((U32*)csn->Data->DataType + i) = (((U32*)csn->Data->DataType + i) & 0xfffffff);
128 // }
129 }
130 RwFree(csn->RawBuf);
131 memset(csn, 0, sizeof(xCutscene));
132 return 1;
133}
134
135S32 xCutscene_LoadStart(xCutscene* csn)
136{

Callers 3

zCutsceneMgrResetFunction · 0.50
zCutsceneMgrFinishExitFunction · 0.50
zCutsceneMgrUpdateFunction · 0.50

Calls 6

xSndSetExternalCallbackFunction · 0.85
xSndStopFunction · 0.85
xSndUpdateFunction · 0.85
iCSFileCloseFunction · 0.85
memsetFunction · 0.85
xSndPauseAllFunction · 0.70

Tested by

no test coverage detected