MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / preload

Method preload

Engine/source/T3D/shapeBase.cpp:233–444  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231}
232
233bool ShapeBaseData::preload(bool server, String &errorStr)
234{
235 if (!Parent::preload(server, errorStr))
236 return false;
237 bool shapeError = false;
238
239 // Resolve objects transmitted from server
240 if (!server) {
241
242 if( !explosion && explosionID != 0 )
243 {
244 if( Sim::findObject( explosionID, explosion ) == false)
245 {
246 Con::errorf( ConsoleLogEntry::General, "ShapeBaseData::preload: Invalid packet, bad datablockId(explosion): 0x%x", explosionID );
247 }
248 AssertFatal(!(explosion && ((explosionID < DataBlockObjectIdFirst) || (explosionID > DataBlockObjectIdLast))),
249 "ShapeBaseData::preload: invalid explosion data");
250 }
251
252 if( !underwaterExplosion && underwaterExplosionID != 0 )
253 {
254 if( Sim::findObject( underwaterExplosionID, underwaterExplosion ) == false)
255 {
256 Con::errorf( ConsoleLogEntry::General, "ShapeBaseData::preload: Invalid packet, bad datablockId(underwaterExplosion): 0x%x", underwaterExplosionID );
257 }
258 AssertFatal(!(underwaterExplosion && ((underwaterExplosionID < DataBlockObjectIdFirst) || (underwaterExplosionID > DataBlockObjectIdLast))),
259 "ShapeBaseData::preload: invalid underwaterExplosion data");
260 }
261
262 if( !debris && debrisID != 0 )
263 {
264 Sim::findObject( debrisID, debris );
265 AssertFatal(!(debris && ((debrisID < DataBlockObjectIdFirst) || (debrisID > DataBlockObjectIdLast))),
266 "ShapeBaseData::preload: invalid debris data");
267 }
268
269
270 if( debrisShapeName && debrisShapeName[0] != '\0' && !bool(debrisShape) )
271 {
272 debrisShape = ResourceManager::get().load(debrisShapeName);
273 if( bool(debrisShape) == false )
274 {
275 errorStr = String::ToString("ShapeBaseData::load: Couldn't load shape \"%s\"", debrisShapeName);
276 return false;
277 }
278 else
279 {
280 if(!server && !debrisShape->preloadMaterialList(debrisShape.getPath()) && NetConnection::filesWereDownloaded())
281 shapeError = true;
282
283 TSShapeInstance* pDummy = new TSShapeInstance(debrisShape, !server);
284 delete pDummy;
285 }
286 }
287 }
288
289 //
290 if (shapeName && shapeName[0]) {

Callers

nothing calls this directly

Calls 15

errorfFunction · 0.85
printfFunction · 0.85
GetFileNodeFunction · 0.85
warnfFunction · 0.85
dSprintfFunction · 0.85
preloadMaterialListMethod · 0.80
incrementMethod · 0.80
lastMethod · 0.80
getAcceleratorMethod · 0.80
findObjectFunction · 0.50
getFunction · 0.50
loadMethod · 0.45

Tested by

no test coverage detected