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

Function paintExplosionSmokeEntity

src/OpenLoco/src/Paint/PaintEffectEntity.cpp:266–290  ·  view source on GitHub ↗

0x004404A6

Source from the content-addressed store, hash-verified

264
265 // 0x004404A6
266 static void paintExplosionSmokeEntity(PaintSession& session, ExplosionSmoke* particle)
267 {
268 const Gfx::RenderTarget* rt = session.getRenderTarget();
269 if (rt->zoomLevel > 1)
270 {
271 return;
272 }
273
274 static constexpr std::array<uint32_t, 10> kExplosionSmokeImageIds = {
275 ImageIds::explosion_smoke_00,
276 ImageIds::explosion_smoke_01,
277 ImageIds::explosion_smoke_02,
278 ImageIds::explosion_smoke_03,
279 ImageIds::explosion_smoke_04,
280 ImageIds::explosion_smoke_05,
281 ImageIds::explosion_smoke_06,
282 ImageIds::explosion_smoke_07,
283 ImageIds::explosion_smoke_08,
284 ImageIds::explosion_smoke_09
285 };
286
287 assert(static_cast<size_t>(particle->frame / 256) < kExplosionSmokeImageIds.size());
288 const auto imageId = ImageId{ kExplosionSmokeImageIds.at(particle->frame / 256) };
289 session.addToPlotListAsParent(imageId, { 0, 0, particle->position.z }, { 1, 1, 0 });
290 }
291
292 // 0x004404E1
293 static void paintSmokeEntity(PaintSession& session, Smoke* particle)

Callers 1

paintEffectEntityFunction · 0.85

Calls 3

getRenderTargetMethod · 0.80
addToPlotListAsParentMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected