[ImenuDef_t] Add logging to menus and fix a bug in clearing the array pointer for float expression entries
This commit is contained in:
parent
ad5a58462f
commit
831291bdfe
@ -61,6 +61,10 @@ namespace Assets
|
|||||||
AssertSize(Game::ExpressionSupportingData, 24);
|
AssertSize(Game::ExpressionSupportingData, 24);
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("ExpressionSupportingData");
|
||||||
|
#endif
|
||||||
|
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
|
|
||||||
Game::ExpressionSupportingData *dest = buffer->dest<Game::ExpressionSupportingData>();
|
Game::ExpressionSupportingData *dest = buffer->dest<Game::ExpressionSupportingData>();
|
||||||
@ -131,13 +135,21 @@ namespace Assets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImenuDef_t::save_Statement_s(Game::Statement_s* asset, Components::ZoneBuilder::Zone* builder)
|
void ImenuDef_t::save_Statement_s(Game::Statement_s* asset, Components::ZoneBuilder::Zone* builder)
|
||||||
{
|
{
|
||||||
AssertSize(Game::Statement_s, 24);
|
AssertSize(Game::Statement_s, 24);
|
||||||
|
AssertSize(Game::expressionEntry, 12);
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("Statement_s");
|
||||||
|
#endif
|
||||||
|
|
||||||
// Write header data
|
// Write header data
|
||||||
Game::Statement_s *dest = buffer->dest<Game::Statement_s>();
|
Game::Statement_s *dest = buffer->dest<Game::Statement_s>();
|
||||||
buffer->save(asset);
|
buffer->save(asset);
|
||||||
@ -145,6 +157,9 @@ namespace Assets
|
|||||||
// Write statement entries
|
// Write statement entries
|
||||||
if (asset->entries)
|
if (asset->entries)
|
||||||
{
|
{
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("statement entries");
|
||||||
|
#endif
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
|
|
||||||
// Write entries
|
// Write entries
|
||||||
@ -154,6 +169,9 @@ namespace Assets
|
|||||||
// Loop through entries
|
// Loop through entries
|
||||||
for (int i = 0; i < asset->numEntries; ++i)
|
for (int i = 0; i < asset->numEntries; ++i)
|
||||||
{
|
{
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("entry");
|
||||||
|
#endif
|
||||||
if (asset->entries[i].type)
|
if (asset->entries[i].type)
|
||||||
{
|
{
|
||||||
switch (asset->entries[i].data.operand.dataType)
|
switch (asset->entries[i].data.operand.dataType)
|
||||||
@ -183,13 +201,23 @@ namespace Assets
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (asset->supportingData)
|
if (asset->supportingData)
|
||||||
{
|
{
|
||||||
this->save_ExpressionSupportingData(asset->supportingData, builder);
|
this->save_ExpressionSupportingData(asset->supportingData, builder);
|
||||||
Utils::Stream::ClearPointer(&dest->supportingData);
|
Utils::Stream::ClearPointer(&dest->supportingData);
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImenuDef_t::save_MenuEventHandlerSet(Game::MenuEventHandlerSet* asset, Components::ZoneBuilder::Zone* builder)
|
void ImenuDef_t::save_MenuEventHandlerSet(Game::MenuEventHandlerSet* asset, Components::ZoneBuilder::Zone* builder)
|
||||||
@ -197,6 +225,10 @@ namespace Assets
|
|||||||
AssertSize(Game::MenuEventHandlerSet, 8);
|
AssertSize(Game::MenuEventHandlerSet, 8);
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("MenuEventHandlerSet");
|
||||||
|
#endif
|
||||||
|
|
||||||
// Write header data
|
// Write header data
|
||||||
Game::MenuEventHandlerSet *destset = buffer->dest<Game::MenuEventHandlerSet>();
|
Game::MenuEventHandlerSet *destset = buffer->dest<Game::MenuEventHandlerSet>();
|
||||||
buffer->save(asset);
|
buffer->save(asset);
|
||||||
@ -215,6 +247,9 @@ namespace Assets
|
|||||||
if (asset->eventHandlers[i])
|
if (asset->eventHandlers[i])
|
||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("MenuEventHandler");
|
||||||
|
#endif
|
||||||
|
|
||||||
// Write menu event handler
|
// Write menu event handler
|
||||||
Game::MenuEventHandler *dest = buffer->dest<Game::MenuEventHandler>();
|
Game::MenuEventHandler *dest = buffer->dest<Game::MenuEventHandler>();
|
||||||
@ -302,11 +337,17 @@ namespace Assets
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::Stream::ClearPointer(&destset->eventHandlers);
|
Utils::Stream::ClearPointer(&destset->eventHandlers);
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImenuDef_t::save_ItemKeyHandler(Game::ItemKeyHandler* asset, Components::ZoneBuilder::Zone* builder)
|
void ImenuDef_t::save_ItemKeyHandler(Game::ItemKeyHandler* asset, Components::ZoneBuilder::Zone* builder)
|
||||||
@ -314,6 +355,10 @@ namespace Assets
|
|||||||
AssertSize(Game::ItemKeyHandler, 12);
|
AssertSize(Game::ItemKeyHandler, 12);
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("ItemKeyHandler");
|
||||||
|
#endif
|
||||||
|
|
||||||
while (asset)
|
while (asset)
|
||||||
{
|
{
|
||||||
// Write header
|
// Write header
|
||||||
@ -337,6 +382,9 @@ namespace Assets
|
|||||||
// Next key handler
|
// Next key handler
|
||||||
asset = asset->next;
|
asset = asset->next;
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#define EVENTHANDLERSET(__indice) \
|
#define EVENTHANDLERSET(__indice) \
|
||||||
@ -364,6 +412,10 @@ namespace Assets
|
|||||||
|
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("itemDefData_t");
|
||||||
|
#endif
|
||||||
|
|
||||||
// feeder
|
// feeder
|
||||||
if (type == 6)
|
if (type == 6)
|
||||||
{
|
{
|
||||||
@ -445,6 +497,10 @@ namespace Assets
|
|||||||
}
|
}
|
||||||
|
|
||||||
Utils::Stream::ClearPointer(&dest->typeData.data);
|
Utils::Stream::ClearPointer(&dest->typeData.data);
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImenuDef_t::save_itemDef_s(Game::itemDef_s *asset, Components::ZoneBuilder::Zone* builder)
|
void ImenuDef_t::save_itemDef_s(Game::itemDef_s *asset, Components::ZoneBuilder::Zone* builder)
|
||||||
@ -454,6 +510,15 @@ namespace Assets
|
|||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
Game::itemDef_s* dest = buffer->dest<Game::itemDef_s>();
|
Game::itemDef_s* dest = buffer->dest<Game::itemDef_s>();
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
if (asset->window.name)
|
||||||
|
buffer->enterStruct(Utils::String::VA("itemDef_s: name = '%s'", asset->window.name));
|
||||||
|
else if (asset->window.background)
|
||||||
|
buffer->enterStruct(Utils::String::VA("itemDef_s: bg = '%s'", asset->window.background->info.name));
|
||||||
|
else
|
||||||
|
buffer->enterStruct("itemDef_s");
|
||||||
|
#endif
|
||||||
|
|
||||||
buffer->save(asset);
|
buffer->save(asset);
|
||||||
|
|
||||||
// window data
|
// window data
|
||||||
@ -482,6 +547,7 @@ namespace Assets
|
|||||||
buffer->saveString(asset->dvar);
|
buffer->saveString(asset->dvar);
|
||||||
Utils::Stream::ClearPointer(&dest->dvar);
|
Utils::Stream::ClearPointer(&dest->dvar);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (asset->dvarTest)
|
if (asset->dvarTest)
|
||||||
{
|
{
|
||||||
buffer->saveString(asset->dvarTest);
|
buffer->saveString(asset->dvarTest);
|
||||||
@ -502,6 +568,7 @@ namespace Assets
|
|||||||
buffer->saveString(asset->enableDvar);
|
buffer->saveString(asset->enableDvar);
|
||||||
Utils::Stream::ClearPointer(&dest->enableDvar);
|
Utils::Stream::ClearPointer(&dest->enableDvar);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (asset->localVar)
|
if (asset->localVar)
|
||||||
{
|
{
|
||||||
buffer->saveString(asset->localVar);
|
buffer->saveString(asset->localVar);
|
||||||
@ -524,6 +591,9 @@ namespace Assets
|
|||||||
if (asset->floatExpressions)
|
if (asset->floatExpressions)
|
||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("floatExpressions");
|
||||||
|
#endif
|
||||||
|
|
||||||
Game::ItemFloatExpression* destExp = buffer->dest<Game::ItemFloatExpression>();
|
Game::ItemFloatExpression* destExp = buffer->dest<Game::ItemFloatExpression>();
|
||||||
buffer->saveArray(asset->floatExpressions, asset->floatExpressionCount);
|
buffer->saveArray(asset->floatExpressions, asset->floatExpressionCount);
|
||||||
@ -532,10 +602,14 @@ namespace Assets
|
|||||||
{
|
{
|
||||||
buffer->align(Utils::Stream::ALIGN_4);
|
buffer->align(Utils::Stream::ALIGN_4);
|
||||||
this->save_Statement_s(asset->floatExpressions[i].expression, builder);
|
this->save_Statement_s(asset->floatExpressions[i].expression, builder);
|
||||||
Utils::Stream::ClearPointer(&destExp->expression);
|
Utils::Stream::ClearPointer(&destExp[i].expression);
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::Stream::ClearPointer(&dest->floatExpressions);
|
Utils::Stream::ClearPointer(&dest->floatExpressions);
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Statements
|
// Statements
|
||||||
@ -543,16 +617,23 @@ namespace Assets
|
|||||||
STATEMENT(disabledExp);
|
STATEMENT(disabledExp);
|
||||||
STATEMENT(textExp);
|
STATEMENT(textExp);
|
||||||
STATEMENT(materialExp);
|
STATEMENT(materialExp);
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImenuDef_t::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
void ImenuDef_t::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder)
|
||||||
{
|
{
|
||||||
AssertSize(Game::menuDef_t, 400);
|
AssertSize(Game::menuDef_t, 400);
|
||||||
|
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->enterStruct("ImenuDef_t");
|
||||||
|
#endif
|
||||||
|
|
||||||
Utils::Stream* buffer = builder->getBuffer();
|
Utils::Stream* buffer = builder->getBuffer();
|
||||||
Game::menuDef_t* asset = header.menu;
|
Game::menuDef_t* asset = header.menu;
|
||||||
Game::menuDef_t* dest = buffer->dest<Game::menuDef_t>();
|
Game::menuDef_t* dest = buffer->dest<Game::menuDef_t>();
|
||||||
|
|
||||||
buffer->save(asset);
|
buffer->save(asset);
|
||||||
|
|
||||||
buffer->pushBlock(Game::XFILE_BLOCK_VIRTUAL);
|
buffer->pushBlock(Game::XFILE_BLOCK_VIRTUAL);
|
||||||
@ -627,6 +708,9 @@ namespace Assets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifdef WRITE_LOGS
|
||||||
|
buffer->leaveStruct();
|
||||||
|
#endif
|
||||||
|
|
||||||
buffer->popBlock();
|
buffer->popBlock();
|
||||||
}
|
}
|
||||||
|
@ -289,8 +289,8 @@ namespace Utils
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WRITE_LOGS
|
#ifdef WRITE_LOGS
|
||||||
std::string data = fmt::sprintf("%*s%d\n", this->structLevel, "", size);
|
std::string data = Utils::String::VA("%*s%d\n", this->structLevel, "", size);
|
||||||
if (stream == Game::XFILE_BLOCK_RUNTIME) data = fmt::sprintf("%*s(%d)\n", this->structLevel, "", size);
|
if (stream == Game::XFILE_BLOCK_RUNTIME) data = Utils::String::VA("%*s(%d)\n", this->structLevel, "", size);
|
||||||
Utils::IO::WriteFile("userraw/logs/zb_writes.log", data, true);
|
Utils::IO::WriteFile("userraw/logs/zb_writes.log", data, true);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -379,7 +379,7 @@ namespace Utils
|
|||||||
{
|
{
|
||||||
if (this->structLevel >= 0)
|
if (this->structLevel >= 0)
|
||||||
{
|
{
|
||||||
Utils::IO::WriteFile("userraw/logs/zb_writes.log", fmt::sprintf("%*s%s\n", this->structLevel++, "", structName), true);
|
Utils::IO::WriteFile("userraw/logs/zb_writes.log", Utils::String::VA("%*s%s\n", this->structLevel++, "", structName), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,7 +391,7 @@ namespace Utils
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Utils::IO::WriteFile("userraw/logs/zb_writes.log", fmt::sprintf("%*s-----\n", this->structLevel, ""), true);
|
Utils::IO::WriteFile("userraw/logs/zb_writes.log", Utils::String::VA("%*s-----\n", this->structLevel, ""), true);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user