Add T6 Attachment dumper

This commit is contained in:
Jan
2021-03-07 15:25:58 +01:00
parent b891f9527e
commit 5db7eaeec3
10 changed files with 344 additions and 45 deletions

View File

@ -0,0 +1,27 @@
#pragma once
#include "Dumping/AbstractAssetDumper.h"
#include "Game/T6/T6.h"
#include "Utils/InfoString.h"
namespace T6
{
class AssetDumperWeaponAttachmentUnique final : public AbstractAssetDumper<WeaponAttachmentUnique>
{
static constexpr const char* FILE_TYPE_STR = "ATTACHMENTUNIQUEFILE";
static constexpr const char* GDF_NAME = "attachmentunique.gdf";
static cspField_t attachment_unique_fields[];
static void CopyToFullDef(const WeaponAttachmentUnique* weapon, WeaponAttachmentUniqueFull* fullDef);
static InfoString CreateInfoString(XAssetInfo<WeaponAttachmentUnique>* asset);
protected:
bool ShouldDump(XAssetInfo<WeaponAttachmentUnique>* asset) override;
bool CanDumpAsRaw() override;
bool CanDumpAsGdtEntry() override;
std::string GetFileNameForAsset(Zone* zone, XAssetInfo<WeaponAttachmentUnique>* asset) override;
GdtEntry DumpGdtEntry(AssetDumpingContext& context, XAssetInfo<WeaponAttachmentUnique>* asset) override;
void DumpRaw(AssetDumpingContext& context, XAssetInfo<WeaponAttachmentUnique>* asset, std::ostream& stream) override;
};
}