MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / load

Method load

src/OpenLoco/src/Objects/SoundObject.cpp:9–28  ·  view source on GitHub ↗

0x0048AFAF

Source from the content-addressed store, hash-verified

7{
8 // 0x0048AFAF
9 void SoundObject::load(const LoadedObjectHandle& handle, std::span<const std::byte> objData, ObjectManager::DependentObjects*)
10 {
11 auto remainingData = objData.subspan(sizeof(SoundObject));
12
13 auto strRes = ObjectManager::loadStringTable(remainingData, handle, 0);
14 name = strRes.str;
15 remainingData = remainingData.subspan(strRes.tableLength);
16
17 // Unknown structure size 0x10
18 uint32_t numUnkStructs = *reinterpret_cast<const uint32_t*>(remainingData.data());
19 remainingData = remainingData.subspan(sizeof(uint32_t));
20 [[maybe_unused]] uint32_t pcmDataLength = *reinterpret_cast<const uint32_t*>(remainingData.data());
21 remainingData = remainingData.subspan(sizeof(uint32_t));
22 remainingData = remainingData.subspan(numUnkStructs * 16);
23
24 // Main pcm data structure
25 dataOffset = static_cast<uint32_t>(remainingData.data() - objData.data());
26
27 assert(remainingData.size() == pcmDataLength);
28 }
29
30 // 0x0048AFE1
31 void SoundObject::unload()

Callers

nothing calls this directly

Calls 3

loadStringTableFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected