DB2
Материал из YTDB DataBase
Содержание |
DB2
DB2 файлы новая версия базы данных на стороне клиента, введенных в Cataclysm, содержащий данные об объектах, NPC, окружающей среды, мира и многое другое. За исключением заголовка они в значительной степени эквивалентныDBC files. Вы можете также посмотреть на них.Структура, описанная здесь также используется в ADB files, которые кэш базы данных записей / исправлений.
Таблица содержания структуры
Эта страница описывает структуру DB2 файлов. Для получения списка существующих файлов DB2 и их содержание изучите категории DBC, Vanilla, Burning Crusade, Wrath of the Lich King, Cataclysm и Mists of Pandaria. Если Вы добавляете документацию для определенной категории, пожалуйста, добавьте правильные категории (так же заполнить правильно) также.
Структура
struct db2_header { uint32_t magic; // 'WDB2' для .db2 (database), 'WCH2' для .adb (cache) uint32_t record_count; uint32_t field_count; uint32_t record_size; uint32_t string_table_size; // Строка блок всегда содержит по крайней мере один нулевой байт uint32_t table_hash; uint32_t build; uint32_t timestamp_last_written; // set to time(0); при написании в WowClientDB2_Base::Save() uint32_t min_id; uint32_t max_id; uint32_t locale; // как показано в TextWowEnum uint32_t unk2; }; template<typename record_type> struct db2_file { db2_header header; // static_assert (header.record_size == sizeof (record_type)); if (header.max_id != 0) { int indices[header.max_id - header.min_id + 1]; // maps from id to row index in records[] below short string_lengths[header.max_id - header.min_id + 1]; // сумма длин всех строк в строке } record_type records[header.record_count]; char string_block[header.string_block_size]; };
Блок последовательности
Эквивалент DBC версии. смотрите documentation there.
Локализация
DB2 записи могут содержать локализованные строки. В отличие от DBCs, a DB2 содержит только локализованные значения для (header.locale).