| 92 | } |
| 93 | |
| 94 | S32 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 | |
| 135 | S32 xCutscene_LoadStart(xCutscene* csn) |
| 136 | { |
no test coverage detected