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

Function paintSmokeEntity

src/OpenLoco/src/Paint/PaintEffectEntity.cpp:293–319  ·  view source on GitHub ↗

0x004404E1

Source from the content-addressed store, hash-verified

291
292 // 0x004404E1
293 static void paintSmokeEntity(PaintSession& session, Smoke* particle)
294 {
295 const Gfx::RenderTarget* rt = session.getRenderTarget();
296 if (rt->zoomLevel > 1)
297 {
298 return;
299 }
300
301 static constexpr std::array<uint32_t, 12> kSmokeImageIds = {
302 ImageIds::smoke_00,
303 ImageIds::smoke_01,
304 ImageIds::smoke_02,
305 ImageIds::smoke_03,
306 ImageIds::smoke_04,
307 ImageIds::smoke_05,
308 ImageIds::smoke_06,
309 ImageIds::smoke_07,
310 ImageIds::smoke_08,
311 ImageIds::smoke_09,
312 ImageIds::smoke_10,
313 ImageIds::smoke_11
314 };
315
316 assert(static_cast<size_t>(particle->frame / 256) < kSmokeImageIds.size());
317 const auto imageId = ImageId{ kSmokeImageIds.at(particle->frame / 256) };
318 session.addToPlotListAsParent(imageId, { 0, 0, particle->position.z }, { 1, 1, 0 });
319 }
320
321 // 0x00440325
322 void paintEffectEntity(PaintSession& session, EffectEntity* base)

Callers 1

paintEffectEntityFunction · 0.85

Calls 3

getRenderTargetMethod · 0.80
addToPlotListAsParentMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected