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

Function zSceneInitFunc_Default

src/SB/Game/zScene.cpp:419–456  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

417}
418
419static U32 zSceneInitFunc_Default(zScene* s, zSceneObjectInstanceDesc* desc, U32 base_idx)
420{
421 U8* block;
422 S32 count;
423 U32 assetSize, offset;
424 xBase* b;
425
426 block = NULL;
427 assetSize = 0;
428 offset = desc->sizeRuntime;
429 count = s->baseCount[desc->baseType];
430
431 if (count)
432 {
433 block = (U8*)xMemAllocSize(count * offset);
434
435 s->baseList[desc->baseType] = (xBase*)block;
436 }
437
438 for (S32 i = 0; i < count; i++)
439 {
440 void* asset = xSTFindAssetByType(desc->assetType, i, &assetSize);
441 b = (xBase*)(block + i * offset);
442
443 zSceneSet(b, base_idx);
444
445 if (desc->objectInitFunc)
446 {
447 desc->objectInitFunc(b, asset);
448 }
449
450 zSceneObjHashtableAdd(b->id, b);
451
452 base_idx++;
453 }
454
455 return base_idx;
456}
457
458static U32 zSceneInitFunc_MovePoint(zScene* s, zSceneObjectInstanceDesc* desc, U32 base_idx)
459{

Callers

nothing calls this directly

Calls 3

zSceneSetFunction · 0.85
zSceneObjHashtableAddFunction · 0.70
xSTFindAssetByTypeFunction · 0.50

Tested by

no test coverage detected