mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 22:40:05 +00:00
Update RPG to Build 23.0
This commit is contained in:
parent
ef7caf5519
commit
e49adafda9
6 changed files with 299 additions and 24 deletions
|
|
@ -0,0 +1,48 @@
|
|||
#pragma once
|
||||
|
||||
#include <scwx/wsr88d/rpg/packet.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
namespace scwx::wsr88d::rpg
|
||||
{
|
||||
|
||||
class DigitalRasterDataArrayPacket : public Packet
|
||||
{
|
||||
public:
|
||||
explicit DigitalRasterDataArrayPacket();
|
||||
~DigitalRasterDataArrayPacket();
|
||||
|
||||
DigitalRasterDataArrayPacket(const DigitalRasterDataArrayPacket&) = delete;
|
||||
DigitalRasterDataArrayPacket&
|
||||
operator=(const DigitalRasterDataArrayPacket&) = delete;
|
||||
|
||||
DigitalRasterDataArrayPacket(DigitalRasterDataArrayPacket&&) noexcept;
|
||||
DigitalRasterDataArrayPacket&
|
||||
operator=(DigitalRasterDataArrayPacket&&) noexcept;
|
||||
|
||||
[[nodiscard]] std::uint16_t packet_code() const override;
|
||||
[[nodiscard]] std::uint16_t i_coordinate_start() const;
|
||||
[[nodiscard]] std::uint16_t j_coordinate_start() const;
|
||||
[[nodiscard]] std::uint16_t i_scale_factor() const;
|
||||
[[nodiscard]] std::uint16_t j_scale_factor() const;
|
||||
[[nodiscard]] std::uint16_t number_of_cells() const;
|
||||
[[nodiscard]] std::uint16_t number_of_rows() const;
|
||||
|
||||
[[nodiscard]] std::uint16_t number_of_bytes_in_row(std::uint16_t r) const;
|
||||
[[nodiscard]] const std::vector<std::uint8_t>& level(std::uint16_t r) const;
|
||||
|
||||
[[nodiscard]] std::size_t data_size() const override;
|
||||
|
||||
bool Parse(std::istream& is) override;
|
||||
|
||||
static std::shared_ptr<DigitalRasterDataArrayPacket>
|
||||
Create(std::istream& is);
|
||||
|
||||
private:
|
||||
class Impl;
|
||||
std::unique_ptr<Impl> p;
|
||||
};
|
||||
|
||||
} // namespace scwx::wsr88d::rpg
|
||||
Loading…
Add table
Add a link
Reference in a new issue