![]() |
TrinityCore
|
#include "dbcfile.h"#include "Banner.h"#include "Locales.h"#include "mpq_libmpq.h"#include "StringFormat.h"#include "Util.h"#include "adt.h"#include "wdt.h"#include <boost/filesystem/directory.hpp>#include <boost/filesystem/operations.hpp>#include <boost/filesystem/path.hpp>#include <deque>#include <fstream>#include <set>#include <unordered_map>#include <cstdio>#include <cstdlib>#include <cstring>#include <G3D/Plane.h>#include <boost/filesystem.hpp>#include "WheatyExceptionReport.h"
Include dependency graph for System.cpp:Go to the source code of this file.
Classes | |
| struct | map_id |
| struct | LiquidTypeEntry |
| struct | map_fileheader |
| struct | map_areaHeader |
| struct | map_heightHeader |
| struct | map_liquidHeader |
Macros | |
| #define | MAX_PATH_LENGTH 128 |
| #define | MAP_AREA_NO_AREA 0x0001 |
| #define | MAP_HEIGHT_NO_HEIGHT 0x0001 |
| #define | MAP_HEIGHT_AS_INT16 0x0002 |
| #define | MAP_HEIGHT_AS_INT8 0x0004 |
| #define | MAP_HEIGHT_HAS_FLIGHT_BOUNDS 0x0008 |
| #define | MAP_LIQUID_TYPE_NO_WATER 0x00 |
| #define | MAP_LIQUID_TYPE_WATER 0x01 |
| #define | MAP_LIQUID_TYPE_OCEAN 0x02 |
| #define | MAP_LIQUID_TYPE_MAGMA 0x04 |
| #define | MAP_LIQUID_TYPE_SLIME 0x08 |
| #define | MAP_LIQUID_TYPE_DARK_WATER 0x10 |
| #define | MAP_LIQUID_NO_TYPE 0x0001 |
| #define | MAP_LIQUID_NO_HEIGHT 0x0002 |
Enumerations | |
| enum | Extract { EXTRACT_MAP = 1 , EXTRACT_DBC = 2 , EXTRACT_CAMERA = 4 } |
Functions | |
| void | CreateDir (boost::filesystem::path const &path) |
| void | Usage (char const *prg) |
| void | HandleArgs (int argc, char *arg[]) |
| uint32 | ReadBuild (int locale) |
| uint32 | ReadMapDBC () |
| void | ReadLiquidTypeTableDBC () |
| float | selectUInt8StepStore (float maxDiff) |
| float | selectUInt16StepStore (float maxDiff) |
| bool | ConvertADT (std::string const &inputPath, std::string const &outputPath, int, int, uint32 build) |
| void | ExtractMapsFromMpq (uint32 build) |
| bool | ExtractFile (char const *mpq_name, std::string const &filename) |
| void | ExtractDBCFiles (int locale, bool basicLocale) |
| void | ExtractCameraFiles (int locale, bool basicLocale) |
| int | main (int argc, char *arg[]) |
| INIT_CRASH_HANDLER () | |
| #define MAP_AREA_NO_AREA 0x0001 |
Definition at line 277 of file System.cpp.
| #define MAP_HEIGHT_AS_INT16 0x0002 |
Definition at line 287 of file System.cpp.
| #define MAP_HEIGHT_AS_INT8 0x0004 |
Definition at line 288 of file System.cpp.
| #define MAP_HEIGHT_HAS_FLIGHT_BOUNDS 0x0008 |
Definition at line 289 of file System.cpp.
| #define MAP_HEIGHT_NO_HEIGHT 0x0001 |
Definition at line 286 of file System.cpp.
| #define MAP_LIQUID_NO_HEIGHT 0x0002 |
Definition at line 308 of file System.cpp.
| #define MAP_LIQUID_NO_TYPE 0x0001 |
Definition at line 307 of file System.cpp.
| #define MAP_LIQUID_TYPE_DARK_WATER 0x10 |
Definition at line 305 of file System.cpp.
| #define MAP_LIQUID_TYPE_MAGMA 0x04 |
Definition at line 302 of file System.cpp.
| #define MAP_LIQUID_TYPE_NO_WATER 0x00 |
Definition at line 299 of file System.cpp.
| #define MAP_LIQUID_TYPE_OCEAN 0x02 |
Definition at line 301 of file System.cpp.
| #define MAP_LIQUID_TYPE_SLIME 0x08 |
Definition at line 303 of file System.cpp.
| #define MAP_LIQUID_TYPE_WATER 0x01 |
Definition at line 300 of file System.cpp.
| #define MAX_PATH_LENGTH 128 |
Definition at line 54 of file System.cpp.
| enum Extract |
| Enumerator | |
|---|---|
| EXTRACT_MAP | |
| EXTRACT_DBC | |
| EXTRACT_CAMERA | |
Definition at line 61 of file System.cpp.
| bool ConvertADT | ( | std::string const & | inputPath, |
| std::string const & | outputPath, | ||
| int | , | ||
| int | , | ||
| uint32 | build | ||
| ) |
Definition at line 351 of file System.cpp.
References ADT_file::a_grid, ADT_CELL_SIZE, ADT_CELLS_PER_GRID, ADT_GRID_SIZE, area_ids, adt_MCNK::areaid, map_fileheader::areaMapOffset, map_fileheader::areaMapSize, map_fileheader::buildMagic, CONF_allow_float_to_int, CONF_allow_height_limit, CONF_flat_height_delta_limit, CONF_flat_liquid_delta_limit, CONF_float_to_int16_limit, CONF_float_to_int8_limit, CONF_use_minHeight, adt_liquid_attributes::Deep, map_areaHeader::flags, map_heightHeader::flags, map_liquidHeader::flags, adt_MCLQ::flags, adt_MCNK::flags, flight_box_max, flight_box_min, map_areaHeader::fourcc, map_heightHeader::fourcc, map_liquidHeader::fourcc, adt_liquid_instance::GetHeight(), adt_MH2O::GetLiquidAttributes(), adt_MH2O::GetLiquidExistsBitmap(), adt_MH2O::GetLiquidHeight(), adt_MH2O::GetLiquidInstance(), adt_MHDR::getMCIN(), adt_MCNK::getMCLQ(), adt_MCIN::getMCNK(), adt_MCNK::getMCVT(), adt_MHDR::getMFBO(), adt_MHDR::getMH2O(), adt_liquid_instance::GetOffsetX(), adt_liquid_instance::GetOffsetY(), adt_liquid_instance::GetWidth(), map_areaHeader::gridArea, map_heightHeader::gridHeight, map_heightHeader::gridMaxHeight, map_liquidHeader::height, adt_MCLQ::liquid_data::height, adt_MCVT::height_map, map_fileheader::heightMapOffset, map_fileheader::heightMapSize, adt_MCNK::holes, holes, map_fileheader::holesOffset, map_fileheader::holesSize, adt_MCLQ::liquid, liquid_entry, liquid_flags, liquid_height, liquid_show, LIQUID_TYPE_MAGMA, LIQUID_TYPE_OCEAN, LIQUID_TYPE_SLIME, LIQUID_TYPE_WATER, map_liquidHeader::liquidFlags, map_liquidHeader::liquidLevel, map_fileheader::liquidMapOffset, map_fileheader::liquidMapSize, map_liquidHeader::liquidType, adt_liquid_instance::LiquidType, LiquidTypes, FileLoader::loadFile(), MAP_AREA_MAGIC, MAP_AREA_NO_AREA, MAP_HEIGHT_AS_INT16, MAP_HEIGHT_AS_INT8, MAP_HEIGHT_HAS_FLIGHT_BOUNDS, MAP_HEIGHT_MAGIC, MAP_HEIGHT_NO_HEIGHT, MAP_LIQUID_MAGIC, MAP_LIQUID_NO_HEIGHT, MAP_LIQUID_NO_TYPE, MAP_LIQUID_TYPE_DARK_WATER, MAP_LIQUID_TYPE_MAGMA, MAP_LIQUID_TYPE_OCEAN, MAP_LIQUID_TYPE_SLIME, MAP_LIQUID_TYPE_WATER, MAP_MAGIC, MAP_VERSION_MAGIC, map_fileheader::mapMagic, map_liquidHeader::offsetX, map_liquidHeader::offsetY, selectUInt16StepStore(), selectUInt8StepStore(), adt_MCNK::sizeMCLQ, uint16_V8, uint16_V9, uint8_V8, uint8_V9, V8, V9, map_fileheader::versionMagic, map_liquidHeader::width, and adt_MCNK::ypos.
Referenced by ExtractMapsFromMpq().
| void CreateDir | ( | boost::filesystem::path const & | path | ) |
Definition at line 83 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDBCFiles(), and ExtractMapsFromMpq().
| void ExtractCameraFiles | ( | int | locale, |
| bool | basicLocale | ||
| ) |
Definition at line 1027 of file System.cpp.
References CreateDir(), ExtractFile(), DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getString(), MpqLocaleNames, DBCFile::open(), and output_path.
Referenced by main().
| void ExtractDBCFiles | ( | int | locale, |
| bool | basicLocale | ||
| ) |
Definition at line 977 of file System.cpp.
References CreateDir(), ExtractFile(), gOpenArchives, MpqLocaleNames, output_path, and Trinity::StringFormat().
Referenced by main().
| bool ExtractFile | ( | char const * | mpq_name, |
| std::string const & | filename | ||
| ) |
Definition at line 961 of file System.cpp.
References MPQFile::getPointer(), MPQFile::getSize(), and MPQFile::isEof().
Referenced by ExtractCameraFiles(), and ExtractDBCFiles().
| void ExtractMapsFromMpq | ( | uint32 | build | ) |
Definition at line 913 of file System.cpp.
References wdt_MAIN::adt_list, ConvertADT(), CreateDir(), wdt_MAIN::adtData::exist, FileLoader::loadFile(), WDT_file::main, map_count, map_ids, output_path, ReadLiquidTypeTableDBC(), ReadMapDBC(), Trinity::StringFormat(), and WDT_MAP_SIZE.
Referenced by main().
| void HandleArgs | ( | int | argc, |
| char * | arg[] | ||
| ) |
Definition at line 106 of file System.cpp.
References CONF_allow_float_to_int, CONF_extract, input_path, MAX_PATH_LENGTH, output_path, and Usage().
Referenced by main().
| INIT_CRASH_HANDLER | ( | ) |
| int main | ( | int | argc, |
| char * | arg[] | ||
| ) |
Definition at line 1077 of file System.cpp.
References MPQ::CloseArchives(), CONF_extract, EXTRACT_CAMERA, EXTRACT_DBC, EXTRACT_MAP, ExtractCameraFiles(), ExtractDBCFiles(), ExtractMapsFromMpq(), HandleArgs(), Trinity::Locale::Init(), input_path, MpqLocaleNames, MPQ::OpenArchives(), ReadBuild(), Trinity::Banner::Show(), STRING_VIEW_FMT, STRING_VIEW_FMT_ARG, and Trinity::VerifyOsVersion().
| uint32 ReadBuild | ( | int | locale | ) |
Definition at line 163 of file System.cpp.
References MPQFile::close(), MPQFile::getPointer(), MPQFile::getSize(), MPQFile::isEof(), MpqLocaleNames, and Trinity::StringFormat().
Referenced by main().
| void ReadLiquidTypeTableDBC | ( | ) |
Definition at line 232 of file System.cpp.
References DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getUInt(), LiquidTypes, DBCFile::open(), LiquidTypeEntry::SoundBank, and SZFMTD.
Referenced by ExtractMapsFromMpq().
| uint32 ReadMapDBC | ( | ) |
Definition at line 200 of file System.cpp.
References DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getString(), DBCFile::Record::getUInt(), map_count, map_ids, DBCFile::open(), and SZFMTD.
Referenced by ExtractMapsFromMpq().
| float selectUInt16StepStore | ( | float | maxDiff | ) |
Definition at line 328 of file System.cpp.
Referenced by ConvertADT().
| float selectUInt8StepStore | ( | float | maxDiff | ) |
Definition at line 323 of file System.cpp.
Referenced by ConvertADT().
| void Usage | ( | char const * | prg | ) |
| uint16 area_ids[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 333 of file System.cpp.
Referenced by ConvertADT().
| bool CONF_allow_float_to_int = true |
Definition at line 75 of file System.cpp.
Referenced by ConvertADT(), and HandleArgs().
| bool CONF_allow_height_limit = true |
Definition at line 71 of file System.cpp.
Referenced by ConvertADT().
| int CONF_extract = EXTRACT_MAP | EXTRACT_DBC | EXTRACT_CAMERA |
Definition at line 69 of file System.cpp.
Referenced by HandleArgs(), and main().
| float CONF_flat_height_delta_limit = 0.005f |
Definition at line 78 of file System.cpp.
Referenced by ConvertADT().
| float CONF_flat_liquid_delta_limit = 0.001f |
Definition at line 79 of file System.cpp.
Referenced by ConvertADT().
| float CONF_float_to_int16_limit = 2048.0f |
Definition at line 77 of file System.cpp.
Referenced by ConvertADT().
| float CONF_float_to_int8_limit = 2.0f |
Definition at line 76 of file System.cpp.
Referenced by ConvertADT().
| float CONF_use_minHeight = -500.0f |
Definition at line 72 of file System.cpp.
Referenced by ConvertADT().
| int16 flight_box_max[3][3] |
Definition at line 348 of file System.cpp.
Referenced by ConvertADT().
| int16 flight_box_min[3][3] |
Definition at line 349 of file System.cpp.
Referenced by ConvertADT().
Definition at line 346 of file System.cpp.
Referenced by ConvertADT(), isHole(), MMAP::TerrainBuilder::isHole(), and MMAP::TerrainBuilder::loadMap().
| char input_path[MAX_PATH_LENGTH] = "." |
Definition at line 56 of file System.cpp.
Referenced by HandleArgs(), and main().
| uint16 liquid_entry[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 342 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().
| uint8 liquid_flags[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 343 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().
| float liquid_height[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 345 of file System.cpp.
Referenced by ConvertADT().
| bool liquid_show[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 344 of file System.cpp.
Referenced by ConvertADT().
| std::unordered_map<uint32, LiquidTypeEntry> LiquidTypes |
Definition at line 53 of file System.cpp.
Referenced by ConvertADT(), and ReadLiquidTypeTableDBC().
|
static |
Definition at line 258 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 259 of file System.cpp.
Referenced by ConvertADT().
| std::vector<map_id> map_ids |
Definition at line 52 of file System.cpp.
Referenced by ExtractMapsFromMpq(), and ReadMapDBC().
|
static |
Definition at line 260 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 256 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 257 of file System.cpp.
Referenced by ConvertADT().
|
staticconstexpr |
Definition at line 81 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDBCFiles(), main(), and ReadBuild().
| char output_path[MAX_PATH_LENGTH] = "." |
Definition at line 55 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDBCFiles(), ExtractMapsFromMpq(), and HandleArgs().
| uint16 uint16_V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 337 of file System.cpp.
Referenced by ConvertADT().
| uint16 uint16_V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 338 of file System.cpp.
Referenced by ConvertADT().
| uint8 uint8_V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 339 of file System.cpp.
Referenced by ConvertADT().
| uint8 uint8_V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 340 of file System.cpp.
Referenced by ConvertADT().
| float V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 335 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().
| float V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 336 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().