|
OpenTTD Source 20260721-master-g25ec12c62d
|
Class to read from a NewGRF file. More...
#include <newgrf_bytereader.h>
Public Member Functions | |
| ByteReader (const uint8_t *data, size_t len) | |
| const uint8_t * | ReadBytes (size_t size) |
| uint8_t | ReadByte () |
| Read a single byte (8 bits). | |
| uint16_t | ReadWord () |
| Read a single Word (16 bits). | |
| uint16_t | ReadExtendedByte () |
| Read a single Extended Byte (8 or 16 bits). | |
| uint32_t | ReadDWord () |
| Read a single DWord (32 bits). | |
| uint32_t | PeekDWord () |
| Read a single DWord (32 bits). | |
| uint32_t | ReadVarSize (uint8_t size) |
| Read a value of the given number of bytes. | |
| std::string_view | ReadString () |
| Read a NUL-terminated string. | |
| template<typename T> requires std::is_base_of_v<BaseLabel, T> | |
| T | ReadLabel () |
| Read a label. | |
| size_t | Remaining () const |
| bool | HasData (size_t count=1) const |
| void | Skip (size_t len) |
Private Attributes | |
| StringConsumer | consumer |
Class to read from a NewGRF file.
Definition at line 19 of file newgrf_bytereader.h.
|
inline |
Definition at line 22 of file newgrf_bytereader.h.
|
inline |
Definition at line 115 of file newgrf_bytereader.h.
|
inline |
Read a single DWord (32 bits).
Definition at line 79 of file newgrf_bytereader.h.
References StringConsumer::PeekUint32LE().
Referenced by StationChangeInfo().
|
inline |
Read a single byte (8 bits).
Definition at line 35 of file newgrf_bytereader.h.
References StringConsumer::TryReadUint8().
Referenced by AircraftVehicleChangeInfo(), AirportChangeInfo(), BridgeChangeInfo(), CanalChangeInfo(), CargoReserveInfo(), ChangeGRFBlitter(), ChangeGRFNumUsedParams(), ChangeGRFPalette(), ChangeGRFParamMask(), ChangeGRFParamType(), ChangeGRFParamValueNames(), CommonVehicleChangeInfo(), DefineGotoLabel(), FeatureTownName(), GlobalVarChangeInfo(), HandleNode(), HandleNodes(), HandleParameterInfo(), IgnoreIndustryProperty(), IgnoreIndustryTileProperty(), IgnoreObjectProperty(), IgnoreRoadStopProperty(), IgnoreTownHouseProperty(), IndustriesChangeInfo(), IndustrytilesChangeInfo(), LoadFontGlyph(), ObjectChangeInfo(), ParamSet(), RailTypeChangeInfo(), RailVehicleChangeInfo(), ReadDWordAsString(), ReadExtendedByte(), ReadSpriteLayout(), ReadSpriteLayoutRegisters(), ReadVarSize(), RoadTypeChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), SkipAct12(), SkipUnknownInfo(), SoundEffectChangeInfo(), StationChangeInfo(), TownHouseChangeInfo(), and TranslateGRFStrings().
|
inline |
Definition at line 24 of file newgrf_bytereader.h.
|
inline |
Read a single DWord (32 bits).
Definition at line 67 of file newgrf_bytereader.h.
References StringConsumer::TryReadUint32LE().
Referenced by AircraftVehicleChangeInfo(), AirportChangeInfo(), BridgeChangeInfo(), CargoReserveInfo(), ChangeGRFMinVersion(), ChangeGRFParamDefault(), ChangeGRFParamLimits(), ChangeGRFParamValueNames(), ChangeGRFVersion(), GlobalVarChangeInfo(), HandleParameterInfo(), IgnoreIndustryProperty(), IgnoreObjectProperty(), IgnoreRoadStopProperty(), IgnoreTownHouseProperty(), IndustriesChangeInfo(), ObjectChangeInfo(), ParamSet(), RailTypeChangeInfo(), RailVehicleChangeInfo(), ReadVarSize(), RoadTypeChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), SkipUnknownInfo(), StationChangeInfo(), and TownHouseChangeInfo().
|
inline |
Read a single Extended Byte (8 or 16 bits).
Definition at line 57 of file newgrf_bytereader.h.
References ReadByte(), and ReadWord().
Referenced by AircraftVehicleChangeInfo(), BridgeChangeInfo(), IgnoreRoadStopProperty(), RailVehicleChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), and StationChangeInfo().
Read a label.
Definition at line 103 of file newgrf_bytereader.h.
References StringConsumer::Read(), and T.
Referenced by CargoReserveInfo(), HandleNodes(), LoadTranslationTable(), ObjectChangeInfo(), RailTypeChangeInfo(), RoadTypeChangeInfo(), StationChangeInfo(), and TranslateGRFStrings().
|
inline |
Read a NUL-terminated string.
Definition at line 92 of file newgrf_bytereader.h.
References StringConsumer::ReadUntilChar(), and StringConsumer::SKIP_ONE_SEPARATOR.
Referenced by ChangeGRFParamValueNames(), FeatureTownName(), GlobalVarChangeInfo(), HandleNode(), SkipUnknownInfo(), and TranslateGRFStrings().
| uint32_t ByteReader::ReadVarSize | ( | uint8_t | size | ) |
Read a value of the given number of bytes.
| size | Number of bytes to read; must be 1, 2 or 4. |
Definition at line 21 of file newgrf_bytereader.cpp.
References ReadByte(), ReadDWord(), and ReadWord().
|
inline |
Read a single Word (16 bits).
Definition at line 46 of file newgrf_bytereader.h.
References StringConsumer::TryReadUint16LE().
Referenced by AircraftVehicleChangeInfo(), AirportChangeInfo(), BridgeChangeInfo(), CargoReserveInfo(), CommonVehicleChangeInfo(), GlobalVarChangeInfo(), HandleNode(), IgnoreIndustryProperty(), IgnoreIndustryTileProperty(), IgnoreObjectProperty(), IgnoreRoadStopProperty(), IgnoreTownHouseProperty(), IndustriesChangeInfo(), IndustrytilesChangeInfo(), LoadFontGlyph(), ObjectChangeInfo(), RailTypeChangeInfo(), RailVehicleChangeInfo(), ReadBadgeList(), ReadExtendedByte(), ReadSpriteLayoutSprite(), ReadVarSize(), RoadTypeChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), SkipAct12(), SkipBadgeList(), SkipUnknownInfo(), StationChangeInfo(), TownHouseChangeInfo(), and TranslateGRFStrings().
|
inline |
Definition at line 110 of file newgrf_bytereader.h.
|
inline |
Definition at line 120 of file newgrf_bytereader.h.
|
private |
Definition at line 20 of file newgrf_bytereader.h.