MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / FreeLevel

Function FreeLevel

TombEngine/Specific/level.cpp:1180–1237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1178}
1179
1180void FreeLevel(bool partial)
1181{
1182 if (FirstLevel)
1183 {
1184 FirstLevel = false;
1185 return;
1186 }
1187
1188 // Should happen before resetting items.
1189 if (partial)
1190 ResetRoomData();
1191
1192 g_Level.Items.resize(0);
1193 g_Level.AIObjects.resize(0);
1194 g_Level.Cameras.resize(0);
1195 g_Level.Sinks.resize(0);
1196 g_Level.SoundSources.resize(0);
1197 g_Level.VolumeEventSets.resize(0);
1198 g_Level.GlobalEventSets.resize(0);
1199 g_Level.LoopedEventSetIndices.resize(0);
1200
1201 g_GameScript->FreeLevelScripts();
1202 g_GameScriptEntities->FreeEntities();
1203
1204 if (partial)
1205 return;
1206
1207 g_Renderer.FreeRendererData();
1208
1209 MoveablesIds.resize(0);
1210 SpriteSequencesIds.resize(0);
1211
1212 g_Level.RoomTextures.resize(0);
1213 g_Level.MoveablesTextures.resize(0);
1214 g_Level.StaticsTextures.resize(0);
1215 g_Level.AnimatedTextures.resize(0);
1216 g_Level.SpritesTextures.resize(0);
1217 g_Level.AnimatedTexturesSequences.resize(0);
1218 g_Level.Rooms.resize(0);
1219 g_Level.Bones.resize(0);
1220 g_Level.Meshes.resize(0);
1221 g_Level.PathfindingBoxes.resize(0);
1222 g_Level.Overlaps.resize(0);
1223 g_Level.Sprites.resize(0);
1224 g_Level.Mirrors.resize(0);
1225 g_Level.SoundDetails.resize(0);
1226 g_Level.SoundMap.resize(0);
1227 g_Level.FloorData.resize(0);
1228 g_Level.Materials.resize(0);
1229
1230 for (int i = 0; i < 2; i++)
1231 {
1232 for (int j = 0; j < (int)ZoneType::MaxZone; j++)
1233 g_Level.Zones[j][i].clear();
1234 }
1235
1236 FreeSamples();
1237}

Callers 2

LoadLevelFunction · 0.85
LoadLevelFileFunction · 0.85

Calls 7

ResetRoomDataFunction · 0.85
FreeSamplesFunction · 0.85
FreeLevelScriptsMethod · 0.80
FreeEntitiesMethod · 0.80
FreeRendererDataMethod · 0.80
resizeMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected