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

Function paintExplosionCloudEntity

src/OpenLoco/src/Paint/PaintEffectEntity.cpp:138–170  ·  view source on GitHub ↗

0x0044051C

Source from the content-addressed store, hash-verified

136
137 // 0x0044051C
138 static void paintExplosionCloudEntity(PaintSession& session, ExplosionCloud* particle)
139 {
140 const Gfx::RenderTarget* rt = session.getRenderTarget();
141 if (rt->zoomLevel > 2)
142 {
143 return;
144 }
145
146 static constexpr std::array<uint32_t, 18> kExplosionCloudImageIds = {
147 ImageIds::explosion_cloud_00,
148 ImageIds::explosion_cloud_01,
149 ImageIds::explosion_cloud_02,
150 ImageIds::explosion_cloud_03,
151 ImageIds::explosion_cloud_04,
152 ImageIds::explosion_cloud_05,
153 ImageIds::explosion_cloud_06,
154 ImageIds::explosion_cloud_07,
155 ImageIds::explosion_cloud_08,
156 ImageIds::explosion_cloud_09,
157 ImageIds::explosion_cloud_10,
158 ImageIds::explosion_cloud_11,
159 ImageIds::explosion_cloud_12,
160 ImageIds::explosion_cloud_13,
161 ImageIds::explosion_cloud_14,
162 ImageIds::explosion_cloud_15,
163 ImageIds::explosion_cloud_16,
164 ImageIds::explosion_cloud_17
165 };
166
167 assert(static_cast<size_t>(particle->frame / 256) < kExplosionCloudImageIds.size());
168 const auto imageId = ImageId{ kExplosionCloudImageIds.at(particle->frame / 256) };
169 session.addToPlotListAsParent(imageId, { 0, 0, particle->position.z }, { 1, 1, 0 });
170 }
171
172 // 0x00440557
173 static void paintSplashEntity(PaintSession& session, Splash* particle)

Callers 1

paintEffectEntityFunction · 0.85

Calls 3

getRenderTargetMethod · 0.80
addToPlotListAsParentMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected