OpenTTD Source  20241121-master-g67a0fccfad
LZMASaveFilter Struct Reference

Filter using LZMA compression. More...

Inheritance diagram for LZMASaveFilter:
SaveFilter

Public Member Functions

 LZMASaveFilter (std::shared_ptr< SaveFilter > chain, uint8_t compression_level)
 Initialise this filter. More...
 
 ~LZMASaveFilter ()
 Clean up what we allocated.
 
void WriteLoop (uint8_t *p, size_t len, lzma_action action)
 Helper loop for writing the data. More...
 
void Write (uint8_t *buf, size_t size) override
 Write a given number of bytes into the savegame. More...
 
void Finish () override
 Prepare everything to finish writing the savegame.
 
- Public Member Functions inherited from SaveFilter
 SaveFilter (std::shared_ptr< SaveFilter > chain)
 Initialise this filter. More...
 
virtual ~SaveFilter ()
 Make sure the writers are properly closed.
 

Data Fields

lzma_stream lzma
 Stream state that we are writing to.
 
uint8_t fwrite_buf [MEMORY_CHUNK_SIZE]
 Buffer for writing to the file.
 
- Data Fields inherited from SaveFilter
std::shared_ptr< SaveFilterchain
 Chained to the (savegame) filters.
 

Detailed Description

Filter using LZMA compression.

Definition at line 2592 of file saveload.cpp.

Constructor & Destructor Documentation

◆ LZMASaveFilter()

LZMASaveFilter::LZMASaveFilter ( std::shared_ptr< SaveFilter chain,
uint8_t  compression_level 
)
inline

Initialise this filter.

Parameters
chainThe next filter in this chain.
compression_levelThe requested level of compression.

Definition at line 2601 of file saveload.cpp.

References SlError().

Member Function Documentation

◆ Write()

void LZMASaveFilter::Write ( uint8_t *  buf,
size_t  len 
)
inlineoverridevirtual

Write a given number of bytes into the savegame.

Parameters
bufThe bytes to write.
lenThe number of bytes to write.

Implements SaveFilter.

Definition at line 2638 of file saveload.cpp.

References WriteLoop().

◆ WriteLoop()

void LZMASaveFilter::WriteLoop ( uint8_t *  p,
size_t  len,
lzma_action  action 
)
inline

Helper loop for writing the data.

Parameters
pThe bytes to write.
lenAmount of bytes to write.
actionAction for lzma_code.

Definition at line 2618 of file saveload.cpp.

References SaveFilter::chain, fwrite_buf, and SlError().

Referenced by Finish(), and Write().


The documentation for this struct was generated from the following file: