refactor GameVersion and QuestScriptVersion into a single enum

This commit is contained in:
Martin Michelsen
2023-11-24 23:33:57 -08:00
parent 9097abf307
commit de4cb26c34
64 changed files with 3608 additions and 3431 deletions
+10 -18
View File
@@ -9,21 +9,14 @@
#include "Text.hh"
#include "Version.hh"
enum class QuestScriptVersion {
DC_NTE = 0,
DC_V1 = 1,
DC_V2 = 2,
PC_V2 = 3,
GC_NTE = 4,
GC_V3 = 5,
XB_V3 = 6,
GC_EP3 = 7,
BB_V4 = 8,
UNKNOWN = 15,
};
template <>
const char* name_for_enum<QuestScriptVersion>(QuestScriptVersion v);
struct PSOQuestHeaderDCNTE {
/* 0000 */ le_uint32_t code_offset;
/* 0004 */ le_uint32_t function_table_offset;
/* 0008 */ le_uint32_t size;
/* 000C */ le_uint32_t unused;
/* 0010 */ pstring<TextEncoding::SJIS, 0x10> name;
/* 0020 */
} __attribute__((packed));
struct PSOQuestHeaderDC { // Same format for DC v1 and v2
/* 0000 */ le_uint32_t code_offset;
@@ -89,7 +82,6 @@ struct PSOQuestHeaderBB {
Episode episode_for_quest_episode_number(uint8_t episode_number);
std::string disassemble_quest_script(
const void* data, size_t size, QuestScriptVersion version, uint8_t language);
std::string disassemble_quest_script(const void* data, size_t size, Version version, uint8_t language);
Episode find_quest_episode_from_script(const void* data, size_t size, QuestScriptVersion version);
Episode find_quest_episode_from_script(const void* data, size_t size, Version version);