mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-07-05 23:29:59 +00:00
feat: add addon map ents dumper to T6 (#842)
* feat: add addon map ents dumper to T6 * Remove NOMINMAX * docs: add addonmapents to t6 supported assets --------- Co-authored-by: hindercanrun <109132519+meowica@users.noreply.github.com>
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
# Supported Asset Types
|
||||
|
||||
All asset types are supported to be loaded from other fastfiles in memory.
|
||||
The following section specify which assets are supported to be dumped to disk (using `Unlinker`) and loaded from disk (using `Linker`):
|
||||
The following section specify which assets are supported to be dumped to disk (using `Unlinker`) and loaded from disk (
|
||||
using `Linker`):
|
||||
|
||||
- ❌ = Currently unsupported
|
||||
- ✅ = Supported
|
||||
@@ -10,7 +11,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## IW3 (Call of Duty 4: Modern Warfare)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| -------------------- | --------------- | --------------- | ---------------------------------------------------------------------------- |
|
||||
|----------------------|-----------------|-----------------|------------------------------------------------------------------------------|
|
||||
| PhysPreset | ✅ | ✅ | |
|
||||
| XAnimParts | ✅ | ✅ | |
|
||||
| XModel | ✅ | ✅ | Model data can be exported to `XMODEL_EXPORT/XMODEL_BIN`, `OBJ`, `GLB/GLTF`. |
|
||||
@@ -40,7 +41,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## IW4 (Call of Duty: Modern Warfare 2)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| ------------------------- | --------------- | --------------- | ---------------------------------------------------------------------------- |
|
||||
|---------------------------|-----------------|-----------------|------------------------------------------------------------------------------|
|
||||
| PhysPreset | ✅ | ✅ | |
|
||||
| PhysCollmap | ❌ | ❌ | |
|
||||
| XAnimParts | ✅ | ✅ | |
|
||||
@@ -80,7 +81,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## IW5 (Call of Duty: Modern Warfare 3)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| ------------------------- | --------------- | --------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
|---------------------------|-----------------|-----------------|---------------------------------------------------------------------------------------------------------------|
|
||||
| PhysPreset | ✅ | ✅ | |
|
||||
| PhysCollmap | ❌ | ❌ | |
|
||||
| XAnimParts | ✅ | ✅ | |
|
||||
@@ -125,7 +126,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## T4 (Call of Duty: World at War)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| -------------------- | --------------- | --------------- | ---------------------------------------------------- |
|
||||
|----------------------|-----------------|-----------------|------------------------------------------------------------------------------|
|
||||
| PhysPreset | ❌ | ❌ | |
|
||||
| PhysConstraints | ❌ | ❌ | |
|
||||
| DestructibleDef | ❌ | ❌ | |
|
||||
@@ -158,7 +159,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## T5 (Call of Duty: Black Ops)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| -------------------- | --------------- | --------------- | ---------------------------------------------------------------------------- |
|
||||
|----------------------|-----------------|-----------------|------------------------------------------------------------------------------|
|
||||
| PhysPreset | ✅ | ✅ | |
|
||||
| PhysConstraints | ❌ | ❌ | |
|
||||
| DestructibleDef | ❌ | ❌ | |
|
||||
@@ -195,7 +196,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
## T6 (Call of Duty: Black Ops II)
|
||||
|
||||
| Asset Type | Dumping Support | Loading Support | Notes |
|
||||
| ---------------------- | --------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|------------------------|-----------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| PhysPreset | ✅ | ✅ | |
|
||||
| PhysConstraints | ✅ | ✅ | |
|
||||
| DestructibleDef | ❌ | ❌ | |
|
||||
@@ -236,7 +237,7 @@ The following section specify which assets are supported to be dumped to disk (u
|
||||
| KeyValuePairs | ✅ | ✅ | Is dumped/loaded as part of the `.zone` file. |
|
||||
| VehicleDef | ✅ | ✅ | |
|
||||
| MemoryBlock | ❌ | ❌ | |
|
||||
| AddonMapEnts | ❌ | ❌ | |
|
||||
| AddonMapEnts | ⁉️ | ❌ | MapEnts String can be exported. Binary data currently not. |
|
||||
| TracerDef | ✅ | ✅ | |
|
||||
| SkinnedVertsDef | ❌ | ❌ | |
|
||||
| Qdb | ⁉️ | ⁉️ | Dumping/Loading is implemented as rawfiles. Their use is currently unknown. |
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#define NOMINMAX
|
||||
#include "AddonMapEntsDumperIW4.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#define NOMINMAX
|
||||
#include "AddonMapEntsDumperIW5.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include "AddonMapEntsDumperT6.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace T6;
|
||||
|
||||
namespace addon_map_ents
|
||||
{
|
||||
void DumperT6::DumpAsset(AssetDumpingContext& context, const XAssetInfo<AssetAddonMapEnts::Type>& asset)
|
||||
{
|
||||
const auto* addonMapEnts = asset.Asset();
|
||||
const auto assetFile = context.OpenAssetFile(asset.m_name);
|
||||
|
||||
if (!assetFile)
|
||||
return;
|
||||
|
||||
auto& stream = *assetFile;
|
||||
stream.write(addonMapEnts->entityString, std::max(addonMapEnts->numEntityChars - 1, 0));
|
||||
}
|
||||
} // namespace addon_map_ents
|
||||
@@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "Dumping/AbstractAssetDumper.h"
|
||||
#include "Game/T6/T6.h"
|
||||
|
||||
namespace addon_map_ents
|
||||
{
|
||||
class DumperT6 final : public AbstractAssetDumper<T6::AssetAddonMapEnts>
|
||||
{
|
||||
protected:
|
||||
void DumpAsset(AssetDumpingContext& context, const XAssetInfo<T6::AssetAddonMapEnts::Type>& asset) override;
|
||||
};
|
||||
} // namespace addon_map_ents
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "Leaderboard/LeaderboardJsonDumperT6.h"
|
||||
#include "LightDef/LightDefDumperT6.h"
|
||||
#include "Localize/LocalizeDumperT6.h"
|
||||
#include "Maps/AddonMapEntsDumperT6.h"
|
||||
#include "Maps/MapEntsDumperT6.h"
|
||||
#include "PhysConstraints/PhysConstraintsInfoStringDumperT6.h"
|
||||
#include "PhysPreset/PhysPresetInfoStringDumperT6.h"
|
||||
@@ -77,7 +78,7 @@ void ObjWriter::RegisterAssetDumpers(AssetDumpingContext& context)
|
||||
// REGISTER_DUMPER(AssetDumperKeyValuePairs, m_key_value_pairs)
|
||||
RegisterAssetDumper(std::make_unique<vehicle::DumperT6>());
|
||||
// REGISTER_DUMPER(AssetDumperMemoryBlock, m_memory_block)
|
||||
// REGISTER_DUMPER(AssetDumperAddonMapEnts, m_addon_map_ents)
|
||||
RegisterAssetDumper(std::make_unique<addon_map_ents::DumperT6>());
|
||||
RegisterAssetDumper(std::make_unique<tracer::DumperT6>());
|
||||
// REGISTER_DUMPER(AssetDumperSkinnedVertsDef, m_skinned_verts)
|
||||
RegisterAssetDumper(std::make_unique<qdb::DumperT6>());
|
||||
|
||||
Reference in New Issue
Block a user