MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / SerializeResumableToStream

Method SerializeResumableToStream

Sources/Jazz2/LevelHandler.cpp:1463–1494  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1461 }
1462
1463 bool LevelHandler::SerializeResumableToStream(Stream& dest)
1464 {
1465 std::uint8_t flags = 0;
1466 if (_isReforged) flags |= 0x01;
1467 if (_cheatsUsed) flags |= 0x02;
1468 dest.WriteValue<std::uint8_t>(flags);
1469
1470 auto p = _levelName.partition('/');
1471
1472 dest.WriteValue<std::uint8_t>((std::uint8_t)p[0].size());
1473 dest.Write(p[0].data(), (std::uint32_t)p[0].size());
1474 dest.WriteValue<std::uint8_t>((std::uint8_t)p[2].size());
1475 dest.Write(p[2].data(), (std::uint32_t)p[2].size());
1476
1477 dest.WriteValue<std::uint8_t>((std::uint8_t)_difficulty);
1478 dest.WriteVariableUint64(_elapsedMillisecondsBegin);
1479 dest.WriteValueAsLE<float>(_checkpointFrames);
1480 dest.WriteValueAsLE<float>(_waterLevel);
1481 dest.WriteValue<std::uint8_t>((std::uint8_t)_weatherType);
1482 dest.WriteValue<std::uint8_t>(_weatherIntensity);
1483
1484 _tileMap->SerializeResumableToStream(dest, true);
1485 _eventMap->SerializeResumableToStream(dest, true);
1486
1487 std::size_t playerCount = _players.size();
1488 dest.WriteValue<std::uint8_t>((std::uint8_t)playerCount);
1489 for (std::size_t i = 0; i < playerCount; i++) {
1490 _players[i]->SerializeResumableToStream(dest);
1491 }
1492
1493 return true;
1494 }
1495
1496 void LevelHandler::OnTileFrozen(std::int32_t x, std::int32_t y)
1497 {

Callers 1

SaveCurrentStateIfAnyMethod · 0.45

Calls 5

WriteVariableUint64Method · 0.80
partitionMethod · 0.45
sizeMethod · 0.45
WriteMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected