OpenTTD Source 20260208-master-g43af8e94d0
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.
 ~LZMASaveFilter () override
 Clean up what we allocated.
void WriteLoop (uint8_t *p, size_t len, lzma_action action)
 Helper loop for writing the data.
void Write (uint8_t *buf, size_t size) override
 Write a given number of bytes into the savegame.
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.
virtual ~SaveFilter ()=default
 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 2732 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 2741 of file saveload.cpp.

References _lzma_init, SaveFilter::chain, lzma, SaveFilter::SaveFilter(), and SlError().

◆ ~LZMASaveFilter()

LZMASaveFilter::~LZMASaveFilter ( )
inlineoverride

Clean up what we allocated.

Definition at line 2747 of file saveload.cpp.

Member Function Documentation

◆ Finish()

void LZMASaveFilter::Finish ( )
inlineoverridevirtual

Prepare everything to finish writing the savegame.

Reimplemented from SaveFilter.

Definition at line 2783 of file saveload.cpp.

References SaveFilter::chain, and WriteLoop().

◆ 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 2778 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 2758 of file saveload.cpp.

References SaveFilter::chain, and SlError().

Referenced by Finish(), and Write().

Field Documentation

◆ fwrite_buf

uint8_t LZMASaveFilter::fwrite_buf[MEMORY_CHUNK_SIZE]

Buffer for writing to the file.

Definition at line 2734 of file saveload.cpp.

◆ lzma

lzma_stream LZMASaveFilter::lzma

Stream state that we are writing to.

Definition at line 2733 of file saveload.cpp.

Referenced by LZMASaveFilter().


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