Files
psopeeps-newserv/src/WordSelectTable.hh
T
2023-10-20 16:19:03 -07:00

38 lines
829 B
C++

#pragma once
#include <inttypes.h>
#include <phosg/JSON.hh>
#include <string>
#include <vector>
#include "CommandFormats.hh"
#include "QuestScript.hh"
class WordSelectTable {
public:
explicit WordSelectTable(const JSON& json);
WordSelectMessage translate(
const WordSelectMessage& msg,
QuestScriptVersion from_version,
QuestScriptVersion to_version) const;
private:
struct Token {
uint16_t dc_value;
uint16_t pc_value;
uint16_t gc_value;
uint16_t ep3_value;
uint16_t bb_value;
uint16_t value_for_version(QuestScriptVersion version) const;
};
std::vector<size_t> dc_index;
std::vector<size_t> pc_index;
std::vector<size_t> gc_index;
std::vector<size_t> ep3_index;
std::vector<size_t> bb_index;
std::vector<Token> tokens;
};