|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <stdio.h>#include <deque>#include <list>#include <cstdlib>#include <cstring>#include <vector>#include <sys/stat.h>#include <unistd.h>#include "StormLib.h"#include "dbcfile.h"#include "adt.h"#include "wdt.h"#include <fcntl.h>#include <io.h>Go to the source code of this file.
Classes | |
| struct | map_areaHeader |
| struct | map_fileheader |
| struct | map_heightHeader |
| struct | map_id |
| struct | map_liquidHeader |
Macros | |
| #define | _CRT_SECURE_NO_DEPRECATE |
| #define | ERROR_PATH_NOT_FOUND ERROR_FILE_NOT_FOUND |
| #define | LOCALES_COUNT 15 |
| #define | MAP_AREA_NO_AREA 0x0001 |
| #define | MAP_HEIGHT_AS_INT16 0x0002 |
| #define | MAP_HEIGHT_AS_INT8 0x0004 |
| #define | MAP_HEIGHT_NO_HEIGHT 0x0001 |
| #define | MAP_LIQUID_NO_HEIGHT 0x0002 |
| #define | MAP_LIQUID_NO_TYPE 0x0001 |
| #define | MAP_LIQUID_TYPE_DARK_WATER 0x10 |
| #define | MAP_LIQUID_TYPE_MAGMA 0x04 |
| #define | MAP_LIQUID_TYPE_NO_WATER 0x00 |
| #define | MAP_LIQUID_TYPE_OCEAN 0x02 |
| #define | MAP_LIQUID_TYPE_SLIME 0x08 |
| #define | MAP_LIQUID_TYPE_WATER 0x01 |
| #define | MAP_LIQUID_TYPE_WMO_WATER 0x20 |
| #define | NEW_BASE_SET_BUILD 15211 |
| #define | OPEN_FLAGS (O_RDONLY | O_BINARY) |
Enumerations | |
| enum | Extract { EXTRACT_MAP = 1 , EXTRACT_DBC = 2 , EXTRACT_CAMERA = 4 } |
Functions | |
| bool | ConvertADT (char *filename, char *filename2, int, int, uint32 build) |
| void | CreateDir (std::string const &path) |
| void | ExtractCameraFiles (int locale, bool basicLocale) |
| void | ExtractDB2Files (int l, bool basicLocale) |
| void | ExtractDBCFiles (int l, bool basicLocale) |
| bool | ExtractFile (HANDLE fileInArchive, char const *filename) |
| void | ExtractMapsFromMpq (uint32 build) |
| bool | FileExists (TCHAR const *fileName) |
| void | HandleArgs (int argc, char *arg[]) |
| void | LoadCommonMPQFiles (uint32 build) |
| bool | LoadLocaleMPQFile (int locale) |
| int | main (int argc, char *arg[]) |
| void | ReadAreaTableDBC () |
| uint32 | ReadBuild (int locale) |
| void | ReadLiquidTypeTableDBC () |
| uint32 | ReadMapDBC () |
| float | selectUInt16StepStore (float maxDiff) |
| float | selectUInt8StepStore (float maxDiff) |
| void | Usage (char const *prg) |
| #define _CRT_SECURE_NO_DEPRECATE |
Definition at line 6 of file System.cpp.
| #define ERROR_PATH_NOT_FOUND ERROR_FILE_NOT_FOUND |
Definition at line 23 of file System.cpp.
Referenced by LoadCommonMPQFiles(), LoadLocaleMPQFile(), main(), and main().
| #define LOCALES_COUNT 15 |
Definition at line 106 of file System.cpp.
| #define MAP_AREA_NO_AREA 0x0001 |
Definition at line 389 of file System.cpp.
| #define MAP_HEIGHT_AS_INT16 0x0002 |
Definition at line 399 of file System.cpp.
| #define MAP_HEIGHT_AS_INT8 0x0004 |
Definition at line 400 of file System.cpp.
| #define MAP_HEIGHT_NO_HEIGHT 0x0001 |
Definition at line 398 of file System.cpp.
| #define MAP_LIQUID_NO_HEIGHT 0x0002 |
Definition at line 420 of file System.cpp.
| #define MAP_LIQUID_NO_TYPE 0x0001 |
Definition at line 419 of file System.cpp.
| #define MAP_LIQUID_TYPE_DARK_WATER 0x10 |
Definition at line 416 of file System.cpp.
| #define MAP_LIQUID_TYPE_MAGMA 0x04 |
Definition at line 413 of file System.cpp.
| #define MAP_LIQUID_TYPE_NO_WATER 0x00 |
Definition at line 410 of file System.cpp.
| #define MAP_LIQUID_TYPE_OCEAN 0x02 |
Definition at line 412 of file System.cpp.
| #define MAP_LIQUID_TYPE_SLIME 0x08 |
Definition at line 414 of file System.cpp.
| #define MAP_LIQUID_TYPE_WATER 0x01 |
Definition at line 411 of file System.cpp.
| #define MAP_LIQUID_TYPE_WMO_WATER 0x20 |
Definition at line 417 of file System.cpp.
| #define NEW_BASE_SET_BUILD 15211 |
Definition at line 105 of file System.cpp.
Referenced by LoadCommonMPQFiles(), and LoadLocaleMPQFile().
| #define OPEN_FLAGS (O_RDONLY | O_BINARY) |
Definition at line 46 of file System.cpp.
| enum Extract |
| Enumerator | |
|---|---|
| EXTRACT_MAP | |
| EXTRACT_DBC | |
| EXTRACT_CAMERA | |
Definition at line 68 of file System.cpp.
| bool ConvertADT | ( | char * | filename, |
| char * | filename2, | ||
| int | , | ||
| int | , | ||
| uint32 | build ) |
Definition at line 459 of file System.cpp.
References ADT_CELL_SIZE, ADT_CELLS_PER_GRID, ADT_GRID_SIZE, area_flags, adt_MCNK::areaid, map_fileheader::areaMapOffset, map_fileheader::areaMapSize, areas, map_fileheader::buildMagic, ChunkedFile::chunks, 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_MCLQ::flags, adt_MCNK::flags, map_areaHeader::flags, map_heightHeader::flags, map_liquidHeader::flags, map_areaHeader::fourcc, map_heightHeader::fourcc, map_liquidHeader::fourcc, ChunkedFile::GetChunk(), adt_MH2O::getLiquidData(), adt_MH2O::getLiquidHeightMap(), adt_MH2O::getLiquidLightMap(), adt_MH2O::getLiquidShowMap(), map_areaHeader::gridArea, map_heightHeader::gridHeight, map_heightHeader::gridMaxHeight, adt_liquid_header::height, adt_MCLQ::liquid_data::height, map_liquidHeader::height, adt_MCVT::height_map, adt_liquid_header::heightLevel1, map_fileheader::heightMapOffset, map_fileheader::heightMapSize, adt_MCNK::holes, holes, map_fileheader::holesOffset, map_fileheader::holesSize, adt_MCNK::ix, adt_MCNK::iy, LiqType, 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::liquidLevel, map_fileheader::liquidMapOffset, map_fileheader::liquidMapSize, adt_liquid_header::liquidType, map_liquidHeader::liquidType, ChunkedFile::loadFile(), MAP_AREA_MAGIC, MAP_AREA_NO_AREA, MAP_HEIGHT_AS_INT16, MAP_HEIGHT_AS_INT8, 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, maxAreaId, map_liquidHeader::offsetX, map_liquidHeader::offsetY, selectUInt16StepStore(), selectUInt8StepStore(), adt_MCNK::sizeMCLQ, uint16_V8, uint16_V9, uint8_V8, uint8_V9, V8, V9, map_fileheader::versionMagic, adt_liquid_header::width, map_liquidHeader::width, WorldMpq, adt_liquid_header::xOffset, adt_liquid_header::yOffset, and adt_MCNK::ypos.
Referenced by ExtractMapsFromMpq().
| void CreateDir | ( | std::string const & | path | ) |
Definition at line 132 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDB2Files(), ExtractDBCFiles(), and ExtractMapsFromMpq().
| void ExtractCameraFiles | ( | int | locale, |
| bool | basicLocale ) |
Definition at line 1104 of file System.cpp.
References CreateDir(), ExtractFile(), FileExists(), DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getString(), LocaleMpq, Locales, DBCFile::open(), output_path, and WorldMpq.
Referenced by main().
| void ExtractDB2Files | ( | int | l, |
| bool | basicLocale ) |
Definition at line 1172 of file System.cpp.
References CreateDir(), ExtractFile(), LocaleMpq, Locales, and output_path.
Referenced by main().
| void ExtractDBCFiles | ( | int | l, |
| bool | basicLocale ) |
Definition at line 1054 of file System.cpp.
References CreateDir(), ExtractFile(), FileExists(), LocaleMpq, Locales, and output_path.
Referenced by main().
| bool ExtractFile | ( | HANDLE | fileInArchive, |
| char const * | filename ) |
Definition at line 1031 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDB2Files(), and ExtractDBCFiles().
| void ExtractMapsFromMpq | ( | uint32 | build | ) |
Definition at line 981 of file System.cpp.
References wdt_MAIN::adt_list, areas, ConvertADT(), CreateDir(), wdt_MAIN::adtData::flag, ChunkedFile::GetChunk(), ChunkedFile::loadFile(), map_count, map_ids, output_path, ReadAreaTableDBC(), ReadLiquidTypeTableDBC(), ReadMapDBC(), WDT_MAP_SIZE, and WorldMpq.
Referenced by main().
| bool FileExists | ( | TCHAR const * | fileName | ) |
Definition at line 147 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDBCFiles(), and ExtractSingleModel().
| void HandleArgs | ( | int | argc, |
| char * | arg[] ) |
Definition at line 173 of file System.cpp.
References CONF_allow_float_to_int, CONF_extract, CONF_TargetBuild, input_path, output_path, and Usage().
Referenced by main().
| void LoadCommonMPQFiles | ( | uint32 | build | ) |
Definition at line 1322 of file System.cpp.
References Builds, CONF_mpq_list, CONF_TargetBuild, ERROR_PATH_NOT_FOUND, input_path, NEW_BASE_SET_BUILD, and WorldMpq.
Referenced by main().
| bool LoadLocaleMPQFile | ( | int | locale | ) |
Definition at line 1218 of file System.cpp.
References Builds, CONF_TargetBuild, ERROR_PATH_NOT_FOUND, input_path, LocaleMpq, and LocalesT.
Referenced by main().
| int main | ( | int | argc, |
| char * | arg[] ) |
Definition at line 1394 of file System.cpp.
References CONF_extract, CONF_TargetBuild, ERROR_PATH_NOT_FOUND, EXTRACT_CAMERA, EXTRACT_DBC, EXTRACT_MAP, ExtractCameraFiles(), ExtractDB2Files(), ExtractDBCFiles(), ExtractMapsFromMpq(), HandleArgs(), LoadCommonMPQFiles(), LoadLocaleMPQFile(), LocaleMpq, Locales, LOCALES_COUNT, ReadBuild(), and WorldMpq.
| void ReadAreaTableDBC | ( | ) |
Definition at line 306 of file System.cpp.
References areas, DBCFile::getMaxId(), DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getUInt(), LocaleMpq, maxAreaId, and DBCFile::open().
Referenced by ExtractMapsFromMpq().
| uint32 ReadBuild | ( | int | locale | ) |
| void ReadLiquidTypeTableDBC | ( | ) |
Definition at line 334 of file System.cpp.
References DBCFile::getMaxId(), DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getUInt(), LiqType, LocaleMpq, and DBCFile::open().
Referenced by ExtractMapsFromMpq(), and main().
| uint32 ReadMapDBC | ( | ) |
Definition at line 275 of file System.cpp.
References DBCFile::getRecord(), DBCFile::getRecordCount(), DBCFile::Record::getString(), DBCFile::Record::getUInt(), LocaleMpq, map_count, map_ids, and DBCFile::open().
Referenced by ExtractMapsFromMpq().
| float selectUInt16StepStore | ( | float | maxDiff | ) |
Definition at line 439 of file System.cpp.
Referenced by ConvertADT().
| float selectUInt8StepStore | ( | float | maxDiff | ) |
Definition at line 434 of file System.cpp.
Referenced by ConvertADT().
| void Usage | ( | char const * | prg | ) |
| uint16 area_flags[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 444 of file System.cpp.
Referenced by ConvertADT().
| uint16* areas |
Definition at line 59 of file System.cpp.
Referenced by ConvertADT(), ExtractMapsFromMpq(), and ReadAreaTableDBC().
| uint32 const Builds[] = {16016, 16048, 16057, 16309, 16357, 16516, 16650, 16844, 16965, 17116, 17266, 17325, 17345, 17538, 17645, 17688, 17898, 18273} |
Definition at line 103 of file System.cpp.
Referenced by LoadCommonMPQFiles(), and LoadLocaleMPQFile().
| bool CONF_allow_float_to_int = false |
Definition at line 83 of file System.cpp.
Referenced by ConvertADT(), and HandleArgs().
| bool CONF_allow_height_limit = true |
Definition at line 79 of file System.cpp.
Referenced by ConvertADT().
| int CONF_extract = EXTRACT_MAP | EXTRACT_DBC | EXTRACT_CAMERA |
Definition at line 76 of file System.cpp.
Referenced by HandleArgs(), and main().
| float CONF_flat_height_delta_limit = 0.005f |
Definition at line 86 of file System.cpp.
Referenced by ConvertADT().
| float CONF_flat_liquid_delta_limit = 0.001f |
Definition at line 87 of file System.cpp.
Referenced by ConvertADT().
| float CONF_float_to_int16_limit = 2048.0f |
Definition at line 85 of file System.cpp.
Referenced by ConvertADT().
| float CONF_float_to_int8_limit = 2.0f |
Definition at line 84 of file System.cpp.
Referenced by ConvertADT().
| char const* CONF_mpq_list[] |
Definition at line 92 of file System.cpp.
Referenced by LoadCommonMPQFiles().
| uint32 CONF_TargetBuild = 18273 |
Definition at line 89 of file System.cpp.
Referenced by HandleArgs(), LoadCommonMPQFiles(), LoadLocaleMPQFile(), main(), main(), processArgv(), and Usage().
| float CONF_use_minHeight = -500.0f |
Definition at line 80 of file System.cpp.
Referenced by ConvertADT().
Definition at line 457 of file System.cpp.
Referenced by ConvertADT(), MMAP::TerrainBuilder::isHole(), MMAP::TerrainBuilder::loadHeightMap(), and MMAP::TerrainBuilder::loadMap().
| char input_path[128] = "." |
Definition at line 62 of file System.cpp.
Referenced by getGamePath(), HandleArgs(), LoadCommonMPQFiles(), LoadLocaleMPQFile(), processArgv(), and ReadLiquidTypeTableDBC().
| uint16* LiqType |
Definition at line 60 of file System.cpp.
Referenced by ConvertADT(), main(), ReadLiquidTypeTableDBC(), and ReadLiquidTypeTableDBC().
| uint16 liquid_entry[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 453 of file System.cpp.
Referenced by ConvertADT().
| uint8 liquid_flags[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID] |
Definition at line 454 of file System.cpp.
Referenced by ConvertADT().
| float liquid_height[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 456 of file System.cpp.
Referenced by ConvertADT().
| bool liquid_show[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 455 of file System.cpp.
Referenced by ConvertADT().
| HANDLE LocaleMpq = NULL |
Definition at line 50 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDB2Files(), ExtractDBCFiles(), LoadLocaleMPQFile(), main(), main(), ReadAreaTableDBC(), ReadBuild(), ReadLiquidTypeTableDBC(), and ReadMapDBC().
| char const* Locales[LOCALES_COUNT] |
Definition at line 108 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDB2Files(), ExtractDBCFiles(), LoadLocaleMPQFile(), main(), main(), and ReadBuild().
| TCHAR const* LocalesT[LOCALES_COUNT] |
Definition at line 120 of file System.cpp.
Referenced by LoadLocaleMPQFile(), and ReadLiquidTypeTableDBC().
|
static |
Definition at line 370 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 371 of file System.cpp.
Referenced by ConvertADT().
| map_id* map_ids |
Definition at line 58 of file System.cpp.
Referenced by ExtractMapsFromMpq(), main(), ParsMapFiles(), and ReadMapDBC().
|
static |
Definition at line 372 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 368 of file System.cpp.
Referenced by ConvertADT().
|
static |
Definition at line 369 of file System.cpp.
Referenced by ConvertADT().
| uint32 maxAreaId = 0 |
Definition at line 63 of file System.cpp.
Referenced by ConvertADT(), and ReadAreaTableDBC().
| char output_path[128] = "." |
Definition at line 61 of file System.cpp.
Referenced by ExtractCameraFiles(), ExtractDB2Files(), ExtractDBCFiles(), ExtractMapsFromMpq(), and HandleArgs().
| uint16 uint16_V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 448 of file System.cpp.
Referenced by ConvertADT().
| uint16 uint16_V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 449 of file System.cpp.
Referenced by ConvertADT().
| uint8 uint8_V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 450 of file System.cpp.
Referenced by ConvertADT().
| uint8 uint8_V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 451 of file System.cpp.
Referenced by ConvertADT().
| float V8[ADT_GRID_SIZE][ADT_GRID_SIZE] |
Definition at line 446 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().
| float V9[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1] |
Definition at line 447 of file System.cpp.
Referenced by ConvertADT(), and MMAP::TerrainBuilder::loadMap().
| HANDLE WorldMpq = NULL |
Definition at line 49 of file System.cpp.
Referenced by ADTFile::ADTFile(), ConvertADT(), ExtractCameraFiles(), ExtractGameobjectModels(), ExtractMapsFromMpq(), ExtractWmo(), LoadCommonMPQFiles(), main(), main(), Model::open(), WMOGroup::open(), WMORoot::open(), and WDTFile::WDTFile().