mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-22 17:15:46 +00:00
28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "Dumping/AbstractAssetDumper.h"
|
|
#include "Game/T6/T6.h"
|
|
#include "InfoString/InfoString.h"
|
|
|
|
namespace T6
|
|
{
|
|
class AssetDumperWeapon final : public AbstractAssetDumper<WeaponVariantDef>
|
|
{
|
|
static constexpr const char* FILE_TYPE_STR = "WEAPONFILE";
|
|
static constexpr const char* GDF_NAME = "weapon.gdf";
|
|
static cspField_t weapon_fields[];
|
|
|
|
static void CopyToFullDef(const WeaponVariantDef* weapon, WeaponFullDef* fullDef);
|
|
static InfoString CreateInfoString(XAssetInfo<WeaponVariantDef>* asset);
|
|
|
|
protected:
|
|
bool ShouldDump(XAssetInfo<WeaponVariantDef>* asset) override;
|
|
bool CanDumpAsRaw() override;
|
|
bool CanDumpAsGdtEntry() override;
|
|
|
|
std::string GetFileNameForAsset(Zone* zone, XAssetInfo<WeaponVariantDef>* asset) override;
|
|
GdtEntry DumpGdtEntry(AssetDumpingContext& context, XAssetInfo<WeaponVariantDef>* asset) override;
|
|
void DumpRaw(AssetDumpingContext& context, XAssetInfo<WeaponVariantDef>* asset, std::ostream& stream) override;
|
|
};
|
|
}
|