[General] Allow building custom maps
This commit is contained in:
parent
c0bb67f36d
commit
360729120c
@ -440,17 +440,12 @@ namespace Components
|
|||||||
AssetHandler::RegisterInterface(new Assets::IRawFile());
|
AssetHandler::RegisterInterface(new Assets::IRawFile());
|
||||||
AssetHandler::RegisterInterface(new Assets::IComWorld());
|
AssetHandler::RegisterInterface(new Assets::IComWorld());
|
||||||
AssetHandler::RegisterInterface(new Assets::IGfxImage());
|
AssetHandler::RegisterInterface(new Assets::IGfxImage());
|
||||||
#ifdef ENABLE_EXPERIMENTAL_MAP_CODE
|
|
||||||
AssetHandler::RegisterInterface(new Assets::IGfxWorld());
|
AssetHandler::RegisterInterface(new Assets::IGfxWorld());
|
||||||
#endif
|
|
||||||
AssetHandler::RegisterInterface(new Assets::ISndCurve());
|
AssetHandler::RegisterInterface(new Assets::ISndCurve());
|
||||||
AssetHandler::RegisterInterface(new Assets::IMaterial());
|
AssetHandler::RegisterInterface(new Assets::IMaterial());
|
||||||
AssetHandler::RegisterInterface(new Assets::IMenuList());
|
AssetHandler::RegisterInterface(new Assets::IMenuList());
|
||||||
AssetHandler::RegisterInterface(new Assets::ImenuDef_t());
|
AssetHandler::RegisterInterface(new Assets::ImenuDef_t());
|
||||||
|
|
||||||
#ifdef ENABLE_EXPERIMENTAL_MAP_CODE
|
|
||||||
AssetHandler::RegisterInterface(new Assets::IclipMap_t());
|
AssetHandler::RegisterInterface(new Assets::IclipMap_t());
|
||||||
#endif
|
|
||||||
AssetHandler::RegisterInterface(new Assets::IPhysPreset());
|
AssetHandler::RegisterInterface(new Assets::IPhysPreset());
|
||||||
AssetHandler::RegisterInterface(new Assets::IXAnimParts());
|
AssetHandler::RegisterInterface(new Assets::IXAnimParts());
|
||||||
AssetHandler::RegisterInterface(new Assets::IFxEffectDef());
|
AssetHandler::RegisterInterface(new Assets::IFxEffectDef());
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
#define IW4X_GFXMAP_VERSION 1
|
#define IW4X_GFXMAP_VERSION 1
|
||||||
|
|
||||||
#ifdef ENABLE_EXPERIMENTAL_MAP_CODE
|
|
||||||
|
|
||||||
namespace Assets
|
namespace Assets
|
||||||
{
|
{
|
||||||
void IGfxWorld::loadGfxWorldDpvsStatic(Game::GfxWorld* world, Game::GfxWorldDpvsStatic* asset, Components::ZoneBuilder::Zone* builder, Utils::Stream::Reader* reader)
|
void IGfxWorld::loadGfxWorldDpvsStatic(Game::GfxWorld* world, Game::GfxWorldDpvsStatic* asset, Components::ZoneBuilder::Zone* builder, Utils::Stream::Reader* reader)
|
||||||
@ -1367,5 +1365,3 @@ namespace Assets
|
|||||||
SaveLogExit();
|
SaveLogExit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -21,7 +21,7 @@ namespace Assets
|
|||||||
Game::LoadedSound* reference = nullptr;
|
Game::LoadedSound* reference = nullptr;
|
||||||
if (!reference) reference = Game::DB_FindXAssetHeader(Game::ASSET_TYPE_LOADED_SOUND, "weapons/c4_detpack/c4_drop_dirt1.wav").loadSnd;
|
if (!reference) reference = Game::DB_FindXAssetHeader(Game::ASSET_TYPE_LOADED_SOUND, "weapons/c4_detpack/c4_drop_dirt1.wav").loadSnd;
|
||||||
|
|
||||||
memcpy(sound, reference, sizeof(Game::LoadedSound));
|
std::memcpy(sound, reference, sizeof(Game::LoadedSound));
|
||||||
sound->sound.data = nullptr;
|
sound->sound.data = nullptr;
|
||||||
|
|
||||||
Utils::Stream::Reader reader(builder->getAllocator(), soundFile.getBuffer());
|
Utils::Stream::Reader reader(builder->getAllocator(), soundFile.getBuffer());
|
||||||
@ -68,7 +68,7 @@ namespace Assets
|
|||||||
// skip any extra parameters
|
// skip any extra parameters
|
||||||
if (chunkSize > 16)
|
if (chunkSize > 16)
|
||||||
{
|
{
|
||||||
reader.seek(chunkSize - 16);
|
reader.seekRelative(chunkSize - 16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -81,7 +81,7 @@ namespace Assets
|
|||||||
default:
|
default:
|
||||||
if (chunkSize > 0)
|
if (chunkSize > 0)
|
||||||
{
|
{
|
||||||
reader.seek(chunkSize);
|
reader.seekRelative(chunkSize);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
#define IW4X_CLIPMAP_VERSION 1
|
#define IW4X_CLIPMAP_VERSION 1
|
||||||
|
|
||||||
#ifdef ENABLE_EXPERIMENTAL_MAP_CODE
|
|
||||||
|
|
||||||
namespace Assets
|
namespace Assets
|
||||||
{
|
{
|
||||||
void IclipMap_t::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
void IclipMap_t::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
||||||
@ -913,5 +911,3 @@ namespace Assets
|
|||||||
header->clipMap = clipMap;
|
header->clipMap = clipMap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -155,8 +155,3 @@ using namespace std::literals;
|
|||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Enables custom map code
|
|
||||||
#ifdef DEBUG
|
|
||||||
#define ENABLE_EXPERIMENTAL_MAP_CODE
|
|
||||||
#endif
|
|
||||||
|
@ -59,6 +59,11 @@ namespace Utils
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Stream::Reader::seekRelative(unsigned int _position)
|
||||||
|
{
|
||||||
|
return this->seek(_position + this->position);
|
||||||
|
}
|
||||||
|
|
||||||
void* Stream::Reader::readPointer()
|
void* Stream::Reader::readPointer()
|
||||||
{
|
{
|
||||||
void* pointer = this->read<void*>();
|
void* pointer = this->read<void*>();
|
||||||
|
@ -54,6 +54,7 @@ namespace Utils
|
|||||||
|
|
||||||
bool end();
|
bool end();
|
||||||
void seek(unsigned int position);
|
void seek(unsigned int position);
|
||||||
|
void seekRelative(unsigned int position);
|
||||||
|
|
||||||
void* readPointer();
|
void* readPointer();
|
||||||
void mapPointer(void* oldPointer, void* newPointer);
|
void mapPointer(void* oldPointer, void* newPointer);
|
||||||
|
Loading…
Reference in New Issue
Block a user