diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-08-31 08:54:33 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-08-31 08:54:33 -0400 |
commit | ba5f5449a4fb7c36a20ebccb0aa560d88d6a49c0 (patch) | |
tree | 63e5cab56041641b85b231f09296d1cecf9e0a1c /tools/msgenc/MessagesDecoder.h | |
parent | cc891865fa1eb5a823f6a3eeb1746f05addb0d90 (diff) | |
parent | 1499e9f8be9458bbf94cbc4dc6d1034f53606cd0 (diff) |
Merge branch 'pikalax_work' of github.com:PikalaxALT/pokediamond into pikalax_work
Diffstat (limited to 'tools/msgenc/MessagesDecoder.h')
-rw-r--r-- | tools/msgenc/MessagesDecoder.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/msgenc/MessagesDecoder.h b/tools/msgenc/MessagesDecoder.h new file mode 100644 index 00000000..98c2383f --- /dev/null +++ b/tools/msgenc/MessagesDecoder.h @@ -0,0 +1,36 @@ +#ifndef GUARD_MESSAGESDECODER_H +#define GUARD_MESSAGESDECODER_H + + +#include "MessagesConverter.h" + +enum StrConvMode { + STR_CONV_MODE_LEFT_ALIGN = 0, + STR_CONV_MODE_RIGHT_ALIGN, + STR_CONV_MODE_LEADING_ZEROS +}; + +class MessagesDecoder : public MessagesConverter +{ + map <uint16_t, string> cmdmap; + map <uint16_t, string> charmap; + set<uint16_t> strvar_codes; + + void ReadMessagesFromBin(string& filename); + void WriteMessagesToText(string& filename); + template <typename T> void WriteBinaryFile(string& filename, T& data); + static u16string DecodeTrainerNameMessage(u16string const &message); + string DecodeMessage(u16string& message, int& i); + void CharmapRegisterCharacter(string& code, uint16_t value) override; + void CmdmapRegisterCommand(string& command, uint16_t value) override; + +public: + MessagesDecoder(string &_textfilename, int _key, string &_charmapfilename, string &_binfilename) : MessagesConverter(CONV_DECODE, _textfilename, _key, _charmapfilename, _binfilename) {} + void ReadInput() override; + void Convert() override; + void WriteOutput() override; + ~MessagesDecoder() override = default; +}; + + +#endif //GUARD_MESSAGESDECODER_H |