OpenTTD Source 20250503-master-gf4f05dea33
|
Base class for all language writers. More...
#include <strgen.h>
Public Member Functions | |
virtual void | WriteHeader (const LanguagePackHeader *header)=0 |
Write the header metadata. | |
virtual void | Write (std::string_view buffer)=0 |
Write a number of bytes. | |
virtual void | Finalise ()=0 |
Finalise writing the file. | |
virtual | ~LanguageWriter ()=default |
Especially destroy the subclasses. | |
virtual void | WriteLength (size_t length) |
Write the length as a simple gamma. | |
virtual void | WriteLang (const StringData &data) |
Actually write the language. | |
|
pure virtual |
Finalise writing the file.
Implemented in TranslationWriter, and LanguageFileWriter.
|
pure virtual |
Write a number of bytes.
buffer | The buffer to write. |
Implemented in TranslationWriter, and LanguageFileWriter.
Referenced by WriteLang(), and WriteLength().
|
pure virtual |
Write the header metadata.
The multi-byte integers are already converted to the little endian format.
header | The header to write. |
Implemented in TranslationWriter, and LanguageFileWriter.
Referenced by WriteLang().
|
virtual |
Actually write the language.
data | The data about the string. |
Definition at line 728 of file strgen_base.cpp.
References _translated, StringData::CountInUse(), StrgenState::cur_line, LangString::english, LanguagePackHeader::IDENT, LanguagePackHeader::ident, StrgenState::lang, LangString::line, LanguagePackHeader::missing, LangString::name, LanguagePackHeader::offsets, BaseStringBuilder::Put(), BaseStringBuilder::PutUint16LE(), BaseStringBuilder::PutUint8(), BaseStringBuilder::PutUtf8(), StringData::strings, TAB_SIZE, StringData::tabs, LangString::translated, LangString::translated_cases, LanguagePackHeader::version, StringData::Version(), LanguagePackHeader::winlangid, Write(), WriteHeader(), and WriteLength().
Referenced by GameStrings::Compile().
|
virtual |
Write the length as a simple gamma.
length | The number to write. |
Reimplemented in TranslationWriter.
Definition at line 709 of file strgen_base.cpp.
References Write().
Referenced by WriteLang().