|
OpenTTD Source 20260721-master-g25ec12c62d
|
Handlers and description of chunk. More...
#include <saveload.h>
Public Member Functions | |
| ChunkHandler (ChunkId id, ChunkType type) | |
| Create this ChunkHandler. | |
| virtual | ~ChunkHandler ()=default |
| Ensure the destructor of the sub classes are called as well. | |
| virtual void | Save () const |
| Save the chunk. | |
| virtual void | Load () const =0 |
| Load the chunk. | |
| virtual void | FixPointers () const |
| Fix the pointers. | |
| virtual void | LoadCheck (size_t len=0) const |
| Load the chunk for game preview. | |
| std::string | GetName () const |
| Get the name of this chunk. | |
Data Fields | |
| ChunkId | id |
| Unique ID (4 letters). | |
| ChunkType | type |
| Type of the chunk. | |
Handlers and description of chunk.
Definition at line 456 of file saveload.h.
Create this ChunkHandler.
| id | The unique identifier/name of this chunk. |
| type | The type of chunk |
Definition at line 465 of file saveload.h.
Referenced by NewGRFMappingChunkHandler::NewGRFMappingChunkHandler().
|
inlinevirtual |
Fix the pointers.
Pointers are saved using the index of the pointed object. On load, pointers are filled with indices and need to be fixed to point to the real object. Must be overridden if the chunk saves any pointer.
Reimplemented in BKORChunkHandler, CAPYChunkHandler, CHKPChunkHandler, CITYChunkHandler, DEPTChunkHandler, ERNWChunkHandler, INDYChunkHandler, LGRSChunkHandler, OBJSChunkHandler, ORDLChunkHandler, PLYRChunkHandler, ROADChunkHandler, STNNChunkHandler, STNSChunkHandler, and VEHSChunkHandler.
Definition at line 488 of file saveload.h.
|
inline |
Get the name of this chunk.
Definition at line 501 of file saveload.h.
Referenced by SlLoadCheckChunk(), SlLoadChunk(), and SlSaveChunk().
|
pure virtual |
Load the chunk.
Must be overridden.
Implemented in AIPLChunkHandler, ANITChunkHandler, BKORChunkHandler, CAPAChunkHandler, CAPRChunkHandler, CAPYChunkHandler, CHKPChunkHandler, CHTSChunkHandler, CITYChunkHandler, CMDLChunkHandler, CMPUChunkHandler, DATEChunkHandler, DEPTChunkHandler, ECMYChunkHandler, EIDSChunkHandler, ENGNChunkHandler, ENGSChunkHandler, ERNWChunkHandler, GLOGChunkHandler, GOALChunkHandler, GRPSChunkHandler, GSDTChunkHandler, GSTRChunkHandler, IBLDChunkHandler, INDYChunkHandler, ITBLChunkHandler, LEAEChunkHandler, LEATChunkHandler, LGRJChunkHandler, LGRPChunkHandler, LGRSChunkHandler, M3HIChunkHandler, M3LOChunkHandler, MAP2ChunkHandler, MAP5ChunkHandler, MAP7ChunkHandler, MAP8ChunkHandler, MAPEChunkHandler, MAPHChunkHandler, MAPOChunkHandler, MAPSChunkHandler, MAPTChunkHandler, NAMEChunkHandler, NewGRFMappingChunkHandler, NGRFChunkHandler, OBJSChunkHandler, OPTSChunkHandler, ORDLChunkHandler, ORDRChunkHandler, PATSChunkHandler, PLYRChunkHandler, PRICChunkHandler, PSACChunkHandler, RAILChunkHandler, ROADChunkHandler, ROTTChunkHandler, SIGNChunkHandler, SRNDChunkHandler, STNNChunkHandler, STNSChunkHandler, STPAChunkHandler, STPEChunkHandler, SUBSChunkHandler, VEHSChunkHandler, VIEWChunkHandler, and WaterRegionChunkHandler.
Referenced by SlLoadChunk().
|
virtual |
Load the chunk for game preview.
Default implementation just skips the data.
| len | Number of bytes to skip. |
Reimplemented in DATEChunkHandler, GLOGChunkHandler, MAPSChunkHandler, NGRFChunkHandler, PATSChunkHandler, and PLYRChunkHandler.
Definition at line 2182 of file saveload.cpp.
References _sl, Array, Riff, SlSkipArray(), SlSkipBytes(), SlTableHeader(), SparseArray, SparseTable, and Table.
Referenced by SlLoadCheckChunk().
|
inlinevirtual |
Save the chunk.
Must be overridden, unless Chunk type is ChunkType::ReadOnly.
Reimplemented in AIPLChunkHandler, ANITChunkHandler, BKORChunkHandler, CAPAChunkHandler, CAPYChunkHandler, CHTSChunkHandler, CITYChunkHandler, CMDLChunkHandler, CMPUChunkHandler, DATEChunkHandler, DEPTChunkHandler, ECMYChunkHandler, EIDSChunkHandler, ENGNChunkHandler, ERNWChunkHandler, GLOGChunkHandler, GOALChunkHandler, GRPSChunkHandler, GSDTChunkHandler, GSTRChunkHandler, IBLDChunkHandler, INDYChunkHandler, ITBLChunkHandler, LEAEChunkHandler, LEATChunkHandler, LGRJChunkHandler, LGRPChunkHandler, LGRSChunkHandler, M3HIChunkHandler, M3LOChunkHandler, MAP2ChunkHandler, MAP5ChunkHandler, MAP7ChunkHandler, MAP8ChunkHandler, MAPEChunkHandler, MAPHChunkHandler, MAPOChunkHandler, MAPSChunkHandler, MAPTChunkHandler, NewGRFMappingChunkHandler, NGRFChunkHandler, OBJSChunkHandler, ORDLChunkHandler, PATSChunkHandler, PLYRChunkHandler, PSACChunkHandler, RAILChunkHandler, ROADChunkHandler, ROTTChunkHandler, SIGNChunkHandler, SRNDChunkHandler, STNNChunkHandler, STPAChunkHandler, STPEChunkHandler, SUBSChunkHandler, VEHSChunkHandler, and VIEWChunkHandler.
Definition at line 474 of file saveload.h.
Referenced by SlSaveChunk().
| ChunkId ChunkHandler::id |
Unique ID (4 letters).
Definition at line 457 of file saveload.h.
Referenced by ChunkHandler(), NewGRFMappingChunkHandler::NewGRFMappingChunkHandler(), and SlSaveChunk().
| ChunkType ChunkHandler::type |
Type of the chunk.
Definition at line 458 of file saveload.h.
Referenced by ChunkHandler(), and SlSaveChunk().