mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-12 07:48:16 -05:00
Adjust further code formatting
This commit is contained in:
@ -21,12 +21,14 @@ void AssetDumperLoadedSound::DumpWavPcm(AssetDumpingContext& context, const Load
|
||||
const WavChunkHeader formatChunkHeader{WAV_CHUNK_ID_FMT, sizeof(WavFormatChunkPcm)};
|
||||
stream.write(reinterpret_cast<const char*>(&formatChunkHeader), sizeof(formatChunkHeader));
|
||||
|
||||
WavFormatChunkPcm formatChunk{WavFormat::PCM,
|
||||
static_cast<uint16_t>(asset->sound.info.channels),
|
||||
asset->sound.info.rate,
|
||||
asset->sound.info.rate * asset->sound.info.channels * asset->sound.info.bits / 8,
|
||||
static_cast<uint16_t>(asset->sound.info.block_size),
|
||||
static_cast<uint16_t>(asset->sound.info.bits)};
|
||||
WavFormatChunkPcm formatChunk{
|
||||
WavFormat::PCM,
|
||||
static_cast<uint16_t>(asset->sound.info.channels),
|
||||
asset->sound.info.rate,
|
||||
asset->sound.info.rate * asset->sound.info.channels * asset->sound.info.bits / 8,
|
||||
static_cast<uint16_t>(asset->sound.info.block_size),
|
||||
static_cast<uint16_t>(asset->sound.info.bits),
|
||||
};
|
||||
stream.write(reinterpret_cast<const char*>(&formatChunk), sizeof(formatChunk));
|
||||
|
||||
const WavChunkHeader dataChunkHeader{WAV_CHUNK_ID_DATA, asset->sound.info.data_len};
|
||||
|
@ -41,7 +41,7 @@ namespace IW3
|
||||
const auto& entry = complexTable[index];
|
||||
jArray.emplace_back(json{
|
||||
{"real", entry.real},
|
||||
{"imag", entry.imag}
|
||||
{"imag", entry.imag},
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -66,14 +66,24 @@ namespace IW3
|
||||
{"winddir", std::vector(std::begin(water->winddir), std::end(water->winddir))},
|
||||
{"amplitude", water->amplitude},
|
||||
{"codeConstant", std::vector(std::begin(water->codeConstant), std::end(water->codeConstant))},
|
||||
{"image", water->image && water->image->name ? AssetName(water->image->name) : nullptr}
|
||||
{"image", water->image && water->image->name ? AssetName(water->image->name) : nullptr},
|
||||
};
|
||||
}
|
||||
|
||||
json BuildSamplerStateJson(unsigned char samplerState)
|
||||
{
|
||||
static const char* samplerFilterNames[]{"none", "nearest", "linear", "aniso2x", "aniso4x"};
|
||||
static const char* samplerMipmapNames[]{"disabled", "nearest", "linear"};
|
||||
static const char* samplerFilterNames[]{
|
||||
"none",
|
||||
"nearest",
|
||||
"linear",
|
||||
"aniso2x",
|
||||
"aniso4x",
|
||||
};
|
||||
static const char* samplerMipmapNames[]{
|
||||
"disabled",
|
||||
"nearest",
|
||||
"linear",
|
||||
};
|
||||
|
||||
return json{
|
||||
{"filter", ArrayEntry(samplerFilterNames, (samplerState & SAMPLER_FILTER_MASK) >> SAMPLER_FILTER_SHIFT)},
|
||||
@ -87,7 +97,19 @@ namespace IW3
|
||||
json BuildTextureTableJson(const MaterialTextureDef* textureTable, const size_t count)
|
||||
{
|
||||
static const char* semanticNames[]{
|
||||
"2d", "function", "colorMap", "unused1", "unused2", "normalMap", "unused3", "unused4", "specularMap", "unused5", "unused6", "waterMap"};
|
||||
"2d",
|
||||
"function",
|
||||
"colorMap",
|
||||
"unused1",
|
||||
"unused2",
|
||||
"normalMap",
|
||||
"unused3",
|
||||
"unused4",
|
||||
"specularMap",
|
||||
"unused5",
|
||||
"unused6",
|
||||
"waterMap",
|
||||
};
|
||||
|
||||
auto jArray = json::array();
|
||||
|
||||
@ -99,7 +121,7 @@ namespace IW3
|
||||
|
||||
json jEntry = {
|
||||
{"samplerState", BuildSamplerStateJson(entry.samplerState)},
|
||||
{"semantic", ArrayEntry(semanticNames, entry.semantic)}
|
||||
{"semantic", ArrayEntry(semanticNames, entry.semantic)},
|
||||
};
|
||||
|
||||
const auto knownMaterialSourceName = knownMaterialSourceNames.find(entry.nameHash);
|
||||
@ -142,7 +164,7 @@ namespace IW3
|
||||
{
|
||||
const auto& entry = constantTable[index];
|
||||
json jEntry = {
|
||||
{"literal", std::vector(std::begin(entry.literal), std::end(entry.literal))}
|
||||
{"literal", std::vector(std::begin(entry.literal), std::end(entry.literal))},
|
||||
};
|
||||
|
||||
const auto nameLen = strnlen(entry.name, std::extent_v<decltype(MaterialConstantDef::name)>);
|
||||
@ -166,7 +188,7 @@ namespace IW3
|
||||
{
|
||||
jEntry.merge_patch({
|
||||
{"nameHash", entry.nameHash},
|
||||
{"namePart", fullLengthName}
|
||||
{"namePart", fullLengthName},
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -198,7 +220,14 @@ namespace IW3
|
||||
"destColor",
|
||||
"invDestColor",
|
||||
};
|
||||
static const char* blendOpNames[]{"disabled", "add", "subtract", "revSubtract", "min", "max"};
|
||||
static const char* blendOpNames[]{
|
||||
"disabled",
|
||||
"add",
|
||||
"subtract",
|
||||
"revSubtract",
|
||||
"min",
|
||||
"max",
|
||||
};
|
||||
static const char* depthTestNames[]{
|
||||
"always",
|
||||
"less",
|
||||
@ -211,7 +240,16 @@ namespace IW3
|
||||
"2",
|
||||
"shadowMap",
|
||||
};
|
||||
static const char* stencilOpNames[]{"keep", "zero", "replace", "incrSat", "decrSat", "invert", "incr", "decr"};
|
||||
static const char* stencilOpNames[]{
|
||||
"keep",
|
||||
"zero",
|
||||
"replace",
|
||||
"incrSat",
|
||||
"decrSat",
|
||||
"invert",
|
||||
"incr",
|
||||
"decr",
|
||||
};
|
||||
|
||||
auto jArray = json::array();
|
||||
|
||||
@ -422,7 +460,7 @@ void AssetDumperMaterial::DumpAsset(AssetDumpingContext& context, XAssetInfo<Mat
|
||||
{"techniqueSet", material->techniqueSet && material->techniqueSet->name ? AssetName(material->techniqueSet->name) : nullptr},
|
||||
{"textureTable", BuildTextureTableJson(material->textureTable, material->textureCount)},
|
||||
{"constantTable", BuildConstantTableJson(material->constantTable, material->constantCount)},
|
||||
{"stateBitsTable", BuildStateBitsTableJson(material->stateBitsTable, material->stateBitsCount)}
|
||||
{"stateBitsTable", BuildStateBitsTableJson(material->stateBitsTable, material->stateBitsCount)},
|
||||
};
|
||||
|
||||
stream << std::setw(4) << j;
|
||||
|
@ -23,105 +23,120 @@ class AssetDumperFontIconInternal
|
||||
};
|
||||
|
||||
inline static const std::string TYPE_ICON = "icon";
|
||||
inline static const std::string ICON_HEADERS[]{"# index", "# type", "# name", "# material", "# size", "# xScale", "# yScale"};
|
||||
inline static const std::string ICON_HEADERS[]{
|
||||
"# index",
|
||||
"# type",
|
||||
"# name",
|
||||
"# material",
|
||||
"# size",
|
||||
"# xScale",
|
||||
"# yScale",
|
||||
};
|
||||
|
||||
inline static const std::string TYPE_ALIAS = "alias";
|
||||
inline static const std::string ALIAS_HEADERS[]{"# index", "# type", "# alias", "# button"};
|
||||
inline static const std::string ALIAS_HEADERS[]{
|
||||
"# index",
|
||||
"# type",
|
||||
"# alias",
|
||||
"# button",
|
||||
};
|
||||
|
||||
inline static const KnownAlias KNOWN_ALIASES[]{KnownAlias("BUTTON_ADS"),
|
||||
KnownAlias("BUTTON_CAC_NEXT"),
|
||||
KnownAlias("BUTTON_CAC_PREV"),
|
||||
KnownAlias("BUTTON_CANCEL"),
|
||||
KnownAlias("BUTTON_CAROUSEL_STICK"),
|
||||
KnownAlias("BUTTON_CREATE"),
|
||||
KnownAlias("BUTTON_CYCLE_LEFT"),
|
||||
KnownAlias("BUTTON_CYCLE_LEFT_ACTIVE"),
|
||||
KnownAlias("BUTTON_CYCLE_RIGHT"),
|
||||
KnownAlias("BUTTON_CYCLE_RIGHT_ACTIVE"),
|
||||
KnownAlias("BUTTON_DELETE"),
|
||||
KnownAlias("BUTTON_EDIT"),
|
||||
KnownAlias("BUTTON_EMBLEM_BACKWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_FLIP"),
|
||||
KnownAlias("BUTTON_EMBLEM_FORWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_FORWARD_BACKWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_MOVE"),
|
||||
KnownAlias("BUTTON_EMBLEM_OUTLINE"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_CYCLE"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_NEXT"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_PREV"),
|
||||
KnownAlias("BUTTON_EMBLEM_RESET"),
|
||||
KnownAlias("BUTTON_EMBLEM_ROTATE_LEFT"),
|
||||
KnownAlias("BUTTON_EMBLEM_ROTATE_RIGHT"),
|
||||
KnownAlias("BUTTON_EMBLEM_SCALE"),
|
||||
KnownAlias("BUTTON_FIRE"),
|
||||
KnownAlias("BUTTON_FRIENDSLIST"),
|
||||
KnownAlias("BUTTON_INTERACT"),
|
||||
KnownAlias("BUTTON_LOOKSTICK"),
|
||||
KnownAlias("BUTTON_LOOK"),
|
||||
KnownAlias("BUTTON_LUI_ALT1"),
|
||||
KnownAlias("BUTTON_LUI_ALT2"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_ALL"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_D"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_L"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_RL"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_R"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_UD"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_U"),
|
||||
KnownAlias("BUTTON_LUI_LEFT_STICK_UP"),
|
||||
KnownAlias("BUTTON_LUI_LEFT_TRIGGER"),
|
||||
KnownAlias("BUTTON_LUI_PRIMARY"),
|
||||
KnownAlias("BUTTON_LUI_RIGHT_STICK"),
|
||||
KnownAlias("BUTTON_LUI_RIGHT_TRIGGER"),
|
||||
KnownAlias("BUTTON_LUI_SECONDARY"),
|
||||
KnownAlias("BUTTON_LUI_SELECT"),
|
||||
KnownAlias("BUTTON_LUI_SHOULDERL"),
|
||||
KnownAlias("BUTTON_LUI_SHOULDERR"),
|
||||
KnownAlias("BUTTON_LUI_START"),
|
||||
KnownAlias("BUTTON_MOUSE_CLICK"),
|
||||
KnownAlias("BUTTON_MOUSE_CLICK_ACTIVE"),
|
||||
KnownAlias("BUTTON_MOUSE_EDIT"),
|
||||
KnownAlias("BUTTON_MOUSE_EDIT_ACTIVE"),
|
||||
KnownAlias("BUTTON_MOUSE_LEFT"),
|
||||
KnownAlias("BUTTON_MOUSE_MIDDLE"),
|
||||
KnownAlias("BUTTON_MOUSE_RIGHT"),
|
||||
KnownAlias("BUTTON_MOVESTICK"),
|
||||
KnownAlias("BUTTON_MOVE"),
|
||||
KnownAlias("BUTTON_MP_CANCELCOMMAND"),
|
||||
KnownAlias("BUTTON_MP_CHANGESETTINGS"),
|
||||
KnownAlias("BUTTON_MP_GAMERCARD"),
|
||||
KnownAlias("BUTTON_MP_GAMERREVIEW"),
|
||||
KnownAlias("BUTTON_MP_JOINGAME"),
|
||||
KnownAlias("BUTTON_MP_KICKPLAYER"),
|
||||
KnownAlias("BUTTON_MP_LEAVEGAME"),
|
||||
KnownAlias("BUTTON_MP_LOBBY_GAMERCARD"),
|
||||
KnownAlias("BUTTON_MP_NOTREADY"),
|
||||
KnownAlias("BUTTON_MP_PGDOWN"),
|
||||
KnownAlias("BUTTON_MP_PGUP"),
|
||||
KnownAlias("BUTTON_MP_READY"),
|
||||
KnownAlias("BUTTON_MP_REFRESH"),
|
||||
KnownAlias("BUTTON_MP_SCOREBOARD"),
|
||||
KnownAlias("BUTTON_MP_SIGNIN"),
|
||||
KnownAlias("BUTTON_MP_SPECNEXT"),
|
||||
KnownAlias("BUTTON_MP_SPECPREV"),
|
||||
KnownAlias("BUTTON_MP_STARTGAME"),
|
||||
KnownAlias("BUTTON_MP_TOGGLECHASECAM"),
|
||||
KnownAlias("BUTTON_MP_TOGGLEVIEW"),
|
||||
KnownAlias("BUTTON_NO"),
|
||||
KnownAlias("BUTTON_RECORD_VIEW_NEXT"),
|
||||
KnownAlias("BUTTON_RECORD_VIEW_PREV"),
|
||||
KnownAlias("BUTTON_SELECTCHOICE"),
|
||||
KnownAlias("BUTTON_SP_TOGGLEMENU"),
|
||||
KnownAlias("BUTTON_YES"),
|
||||
KnownAlias("CP"),
|
||||
KnownAlias("FONT_CAPITAL_I"),
|
||||
KnownAlias("FONT_NUMBER_ZERO"),
|
||||
KnownAlias("KEY_DOWN_ARROW"),
|
||||
KnownAlias("KEY_LEFT_ARROW"),
|
||||
KnownAlias("KEY_RIGHT_ARROW"),
|
||||
KnownAlias("KEY_UP_ARROW"),
|
||||
KnownAlias("MOUSE_WHEEL_DOWN"),
|
||||
KnownAlias("MOUSE_WHEEL_UP"),
|
||||
KnownAlias("Remote_LStick")};
|
||||
inline static const KnownAlias KNOWN_ALIASES[]{
|
||||
KnownAlias("BUTTON_ADS"),
|
||||
KnownAlias("BUTTON_CAC_NEXT"),
|
||||
KnownAlias("BUTTON_CAC_PREV"),
|
||||
KnownAlias("BUTTON_CANCEL"),
|
||||
KnownAlias("BUTTON_CAROUSEL_STICK"),
|
||||
KnownAlias("BUTTON_CREATE"),
|
||||
KnownAlias("BUTTON_CYCLE_LEFT"),
|
||||
KnownAlias("BUTTON_CYCLE_LEFT_ACTIVE"),
|
||||
KnownAlias("BUTTON_CYCLE_RIGHT"),
|
||||
KnownAlias("BUTTON_CYCLE_RIGHT_ACTIVE"),
|
||||
KnownAlias("BUTTON_DELETE"),
|
||||
KnownAlias("BUTTON_EDIT"),
|
||||
KnownAlias("BUTTON_EMBLEM_BACKWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_FLIP"),
|
||||
KnownAlias("BUTTON_EMBLEM_FORWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_FORWARD_BACKWARD"),
|
||||
KnownAlias("BUTTON_EMBLEM_MOVE"),
|
||||
KnownAlias("BUTTON_EMBLEM_OUTLINE"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_CYCLE"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_NEXT"),
|
||||
KnownAlias("BUTTON_EMBLEM_PALETTE_PREV"),
|
||||
KnownAlias("BUTTON_EMBLEM_RESET"),
|
||||
KnownAlias("BUTTON_EMBLEM_ROTATE_LEFT"),
|
||||
KnownAlias("BUTTON_EMBLEM_ROTATE_RIGHT"),
|
||||
KnownAlias("BUTTON_EMBLEM_SCALE"),
|
||||
KnownAlias("BUTTON_FIRE"),
|
||||
KnownAlias("BUTTON_FRIENDSLIST"),
|
||||
KnownAlias("BUTTON_INTERACT"),
|
||||
KnownAlias("BUTTON_LOOKSTICK"),
|
||||
KnownAlias("BUTTON_LOOK"),
|
||||
KnownAlias("BUTTON_LUI_ALT1"),
|
||||
KnownAlias("BUTTON_LUI_ALT2"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_ALL"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_D"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_L"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_RL"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_R"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_UD"),
|
||||
KnownAlias("BUTTON_LUI_DPAD_U"),
|
||||
KnownAlias("BUTTON_LUI_LEFT_STICK_UP"),
|
||||
KnownAlias("BUTTON_LUI_LEFT_TRIGGER"),
|
||||
KnownAlias("BUTTON_LUI_PRIMARY"),
|
||||
KnownAlias("BUTTON_LUI_RIGHT_STICK"),
|
||||
KnownAlias("BUTTON_LUI_RIGHT_TRIGGER"),
|
||||
KnownAlias("BUTTON_LUI_SECONDARY"),
|
||||
KnownAlias("BUTTON_LUI_SELECT"),
|
||||
KnownAlias("BUTTON_LUI_SHOULDERL"),
|
||||
KnownAlias("BUTTON_LUI_SHOULDERR"),
|
||||
KnownAlias("BUTTON_LUI_START"),
|
||||
KnownAlias("BUTTON_MOUSE_CLICK"),
|
||||
KnownAlias("BUTTON_MOUSE_CLICK_ACTIVE"),
|
||||
KnownAlias("BUTTON_MOUSE_EDIT"),
|
||||
KnownAlias("BUTTON_MOUSE_EDIT_ACTIVE"),
|
||||
KnownAlias("BUTTON_MOUSE_LEFT"),
|
||||
KnownAlias("BUTTON_MOUSE_MIDDLE"),
|
||||
KnownAlias("BUTTON_MOUSE_RIGHT"),
|
||||
KnownAlias("BUTTON_MOVESTICK"),
|
||||
KnownAlias("BUTTON_MOVE"),
|
||||
KnownAlias("BUTTON_MP_CANCELCOMMAND"),
|
||||
KnownAlias("BUTTON_MP_CHANGESETTINGS"),
|
||||
KnownAlias("BUTTON_MP_GAMERCARD"),
|
||||
KnownAlias("BUTTON_MP_GAMERREVIEW"),
|
||||
KnownAlias("BUTTON_MP_JOINGAME"),
|
||||
KnownAlias("BUTTON_MP_KICKPLAYER"),
|
||||
KnownAlias("BUTTON_MP_LEAVEGAME"),
|
||||
KnownAlias("BUTTON_MP_LOBBY_GAMERCARD"),
|
||||
KnownAlias("BUTTON_MP_NOTREADY"),
|
||||
KnownAlias("BUTTON_MP_PGDOWN"),
|
||||
KnownAlias("BUTTON_MP_PGUP"),
|
||||
KnownAlias("BUTTON_MP_READY"),
|
||||
KnownAlias("BUTTON_MP_REFRESH"),
|
||||
KnownAlias("BUTTON_MP_SCOREBOARD"),
|
||||
KnownAlias("BUTTON_MP_SIGNIN"),
|
||||
KnownAlias("BUTTON_MP_SPECNEXT"),
|
||||
KnownAlias("BUTTON_MP_SPECPREV"),
|
||||
KnownAlias("BUTTON_MP_STARTGAME"),
|
||||
KnownAlias("BUTTON_MP_TOGGLECHASECAM"),
|
||||
KnownAlias("BUTTON_MP_TOGGLEVIEW"),
|
||||
KnownAlias("BUTTON_NO"),
|
||||
KnownAlias("BUTTON_RECORD_VIEW_NEXT"),
|
||||
KnownAlias("BUTTON_RECORD_VIEW_PREV"),
|
||||
KnownAlias("BUTTON_SELECTCHOICE"),
|
||||
KnownAlias("BUTTON_SP_TOGGLEMENU"),
|
||||
KnownAlias("BUTTON_YES"),
|
||||
KnownAlias("CP"),
|
||||
KnownAlias("FONT_CAPITAL_I"),
|
||||
KnownAlias("FONT_NUMBER_ZERO"),
|
||||
KnownAlias("KEY_DOWN_ARROW"),
|
||||
KnownAlias("KEY_LEFT_ARROW"),
|
||||
KnownAlias("KEY_RIGHT_ARROW"),
|
||||
KnownAlias("KEY_UP_ARROW"),
|
||||
KnownAlias("MOUSE_WHEEL_DOWN"),
|
||||
KnownAlias("MOUSE_WHEEL_UP"),
|
||||
KnownAlias("Remote_LStick"),
|
||||
};
|
||||
|
||||
CsvOutputStream m_csv;
|
||||
|
||||
|
@ -85,7 +85,17 @@ namespace
|
||||
"devraw/",
|
||||
};
|
||||
|
||||
constexpr size_t FRAME_RATE_FOR_INDEX[]{8000, 12000, 16000, 24000, 32000, 44100, 48000, 96000, 192000};
|
||||
constexpr size_t FRAME_RATE_FOR_INDEX[]{
|
||||
8000,
|
||||
12000,
|
||||
16000,
|
||||
24000,
|
||||
32000,
|
||||
44100,
|
||||
48000,
|
||||
96000,
|
||||
192000,
|
||||
};
|
||||
} // namespace
|
||||
|
||||
class AssetDumperSndBank::Internal
|
||||
|
@ -129,9 +129,11 @@ class XModelExportWriter6 final : public XModelExportWriterBase
|
||||
stream << "NUMFACES " << m_faces.size() << "\n";
|
||||
for (const auto& face : m_faces)
|
||||
{
|
||||
const size_t distinctPositions[3]{m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[0]),
|
||||
m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[1]),
|
||||
m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[2])};
|
||||
const size_t distinctPositions[3]{
|
||||
m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[0]),
|
||||
m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[1]),
|
||||
m_vertex_merger.GetDistinctPositionByInputPosition(face.vertexIndex[2]),
|
||||
};
|
||||
|
||||
const XModelVertex& v0 = m_vertices[face.vertexIndex[0]];
|
||||
const XModelVertex& v1 = m_vertices[face.vertexIndex[1]];
|
||||
|
@ -82,18 +82,26 @@ public:
|
||||
|
||||
const IPakHeader header{ipak_consts::IPAK_MAGIC, ipak_consts::IPAK_VERSION, static_cast<uint32_t>(m_total_size), SECTION_COUNT};
|
||||
|
||||
const IPakSection dataSection{ipak_consts::IPAK_DATA_SECTION,
|
||||
static_cast<uint32_t>(m_data_section_offset),
|
||||
static_cast<uint32_t>(m_data_section_size),
|
||||
static_cast<uint32_t>(m_index_entries.size())};
|
||||
const IPakSection dataSection{
|
||||
ipak_consts::IPAK_DATA_SECTION,
|
||||
static_cast<uint32_t>(m_data_section_offset),
|
||||
static_cast<uint32_t>(m_data_section_size),
|
||||
static_cast<uint32_t>(m_index_entries.size()),
|
||||
};
|
||||
|
||||
const IPakSection indexSection{ipak_consts::IPAK_INDEX_SECTION,
|
||||
static_cast<uint32_t>(m_index_section_offset),
|
||||
static_cast<uint32_t>(sizeof(IPakIndexEntry) * m_index_entries.size()),
|
||||
static_cast<uint32_t>(m_index_entries.size())};
|
||||
const IPakSection indexSection{
|
||||
ipak_consts::IPAK_INDEX_SECTION,
|
||||
static_cast<uint32_t>(m_index_section_offset),
|
||||
static_cast<uint32_t>(sizeof(IPakIndexEntry) * m_index_entries.size()),
|
||||
static_cast<uint32_t>(m_index_entries.size()),
|
||||
};
|
||||
|
||||
const IPakSection brandingSection{
|
||||
ipak_consts::IPAK_BRANDING_SECTION, static_cast<uint32_t>(m_branding_section_offset), std::extent_v<decltype(BRANDING)>, 1};
|
||||
ipak_consts::IPAK_BRANDING_SECTION,
|
||||
static_cast<uint32_t>(m_branding_section_offset),
|
||||
std::extent_v<decltype(BRANDING)>,
|
||||
1,
|
||||
};
|
||||
|
||||
Write(&header, sizeof(header));
|
||||
Write(&dataSection, sizeof(dataSection));
|
||||
|
@ -9,7 +9,13 @@
|
||||
|
||||
ObjWriting::Configuration_t ObjWriting::Configuration;
|
||||
|
||||
const IZoneDumper* const ZONE_DUMPER[]{new IW3::ZoneDumper(), new IW4::ZoneDumper(), new IW5::ZoneDumper(), new T5::ZoneDumper(), new T6::ZoneDumper()};
|
||||
const IZoneDumper* const ZONE_DUMPER[]{
|
||||
new IW3::ZoneDumper(),
|
||||
new IW4::ZoneDumper(),
|
||||
new IW5::ZoneDumper(),
|
||||
new T5::ZoneDumper(),
|
||||
new T6::ZoneDumper(),
|
||||
};
|
||||
|
||||
bool ObjWriting::DumpZone(AssetDumpingContext& context)
|
||||
{
|
||||
|
@ -19,12 +19,14 @@ void WavWriter::WritePcmHeader(const WavMetaData& metaData, const size_t dataLen
|
||||
constexpr WavChunkHeader formatChunkHeader{WAV_CHUNK_ID_FMT, sizeof(WavFormatChunkPcm)};
|
||||
m_stream.write(reinterpret_cast<const char*>(&formatChunkHeader), sizeof(formatChunkHeader));
|
||||
|
||||
const WavFormatChunkPcm formatChunk{WavFormat::PCM,
|
||||
static_cast<uint16_t>(metaData.channelCount),
|
||||
metaData.samplesPerSec,
|
||||
metaData.samplesPerSec * metaData.channelCount * metaData.bitsPerSample / 8,
|
||||
static_cast<uint16_t>(metaData.channelCount * (metaData.bitsPerSample / 8)),
|
||||
static_cast<uint16_t>(metaData.bitsPerSample)};
|
||||
const WavFormatChunkPcm formatChunk{
|
||||
WavFormat::PCM,
|
||||
static_cast<uint16_t>(metaData.channelCount),
|
||||
metaData.samplesPerSec,
|
||||
metaData.samplesPerSec * metaData.channelCount * metaData.bitsPerSample / 8,
|
||||
static_cast<uint16_t>(metaData.channelCount * (metaData.bitsPerSample / 8)),
|
||||
static_cast<uint16_t>(metaData.bitsPerSample),
|
||||
};
|
||||
m_stream.write(reinterpret_cast<const char*>(&formatChunk), sizeof(formatChunk));
|
||||
|
||||
const WavChunkHeader dataChunkHeader{WAV_CHUNK_ID_DATA, dataLen};
|
||||
|
Reference in New Issue
Block a user