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

Function logDivergentEntityOffset

src/OpenLoco/src/GameSaveCompare.cpp:284–374  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282 }
283
284 static long logDivergentEntityOffset(const S5::Entity& lhs, const S5::Entity& rhs, int offset, bool displayAllDivergences, long divergentBytesTotal)
285 {
286 if (!bitWiseEqual(lhs, rhs))
287 {
288 if (divergentBytesTotal == 0)
289 {
290 Logging::info("DIVERGENCE");
291 }
292
293 if (lhs.base.baseType == enumValue(EntityBaseType::vehicle))
294 {
295 if (displayAllDivergences || divergentBytesTotal == 0)
296 {
297 logVehicleTypeAndSubType(offset, lhs);
298 }
299 divergentBytesTotal += sizeof(lhs.base.baseType);
300 }
301 if (lhs.base.baseType != rhs.base.baseType)
302 {
303 if (rhs.base.baseType == enumValue(EntityBaseType::vehicle))
304 {
305 if (displayAllDivergences || divergentBytesTotal)
306 {
307 logVehicleTypeAndSubType(offset, rhs);
308 }
309 divergentBytesTotal += sizeof(rhs);
310 }
311 }
312 if (lhs.base.baseType == enumValue(EntityBaseType::effect))
313 {
314 if (displayAllDivergences || divergentBytesTotal == 0)
315 {
316 logEffectType(offset, lhs);
317 }
318 else
319 {
320 divergentBytesTotal += sizeof(lhs.base.baseType);
321 }
322 }
323 if (lhs.base.baseType != rhs.base.baseType)
324 {
325 if (rhs.base.baseType == enumValue(EntityBaseType::effect))
326 {
327 if (displayAllDivergences || divergentBytesTotal == 0)
328 {
329 logEffectType(offset, rhs);
330 }
331 else
332 {
333 divergentBytesTotal += sizeof(rhs);
334 }
335 }
336 }
337 if (lhs.base.baseType == enumValue(EntityBaseType::null))
338 {
339 if (displayAllDivergences || divergentBytesTotal == 0)
340 {
341 Logging::info("TYPE: ENTITY [{}] NULL", offset);

Callers 1

logDivergentEntityFunction · 0.85

Calls 6

bitWiseEqualFunction · 0.85
infoFunction · 0.85
enumValueFunction · 0.85
logVehicleTypeAndSubTypeFunction · 0.85
logEffectTypeFunction · 0.85
bitWiseLogDivergenceFunction · 0.85

Tested by

no test coverage detected