From 5eec7687be53a82de552d8c50b999a7d1e532189 Mon Sep 17 00:00:00 2001 From: Edo Date: Fri, 2 Dec 2022 19:18:04 +0000 Subject: [PATCH] [Zone:b:uilder]: Delete 'uncompressed' file (#620) --- src/Components/Modules/AssetInterfaces/IGameWorldSp.cpp | 6 +++--- src/Components/Modules/AssetInterfaces/ImenuDef_t.cpp | 3 ++- src/Components/Modules/Menus.cpp | 3 ++- src/Components/Modules/ZoneBuilder.cpp | 4 ++++ src/Game/Structs.hpp | 6 +++++- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Components/Modules/AssetInterfaces/IGameWorldSp.cpp b/src/Components/Modules/AssetInterfaces/IGameWorldSp.cpp index 56205bce..64904c86 100644 --- a/src/Components/Modules/AssetInterfaces/IGameWorldSp.cpp +++ b/src/Components/Modules/AssetInterfaces/IGameWorldSp.cpp @@ -151,11 +151,11 @@ namespace Assets void IGameWorldSp::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) { - AssertSize(Game::GameWorldMp, 8); + AssertSize(Game::GameWorldSp, 0x38); Utils::Stream* buffer = builder->getBuffer(); - Game::GameWorldSp* asset = header.gameWorldSp; - Game::GameWorldSp* dest = buffer->dest(); + auto* asset = header.gameWorldSp; + auto* dest = buffer->dest(); buffer->save(asset); buffer->pushBlock(Game::XFILE_BLOCK_VIRTUAL); diff --git a/src/Components/Modules/AssetInterfaces/ImenuDef_t.cpp b/src/Components/Modules/AssetInterfaces/ImenuDef_t.cpp index ec3c18be..ada64262 100644 --- a/src/Components/Modules/AssetInterfaces/ImenuDef_t.cpp +++ b/src/Components/Modules/AssetInterfaces/ImenuDef_t.cpp @@ -487,7 +487,7 @@ namespace Assets void ImenuDef_t::save_itemDef_s(Game::itemDef_s *asset, Components::ZoneBuilder::Zone* builder) { - AssertSize(Game::itemDef_s, 380); + AssertSize(Game::itemDef_s, 0x17C); Utils::Stream* buffer = builder->getBuffer(); auto* dest = buffer->dest(); @@ -608,6 +608,7 @@ namespace Assets void ImenuDef_t::save(Game::XAssetHeader header, Components::ZoneBuilder::Zone* builder) { AssertSize(Game::menuDef_t, 400); + AssertSize(Game::windowDef_t, 0xA4); #ifdef WRITE_LOGS buffer->enterStruct("ImenuDef_t"); diff --git a/src/Components/Modules/Menus.cpp b/src/Components/Modules/Menus.cpp index 122a35d6..c601b8a7 100644 --- a/src/Components/Modules/Menus.cpp +++ b/src/Components/Modules/Menus.cpp @@ -205,7 +205,8 @@ namespace Components { Game::PC_ReadTokenHandle(handle, &token); - Utils::Merge(&menus, Menus::LoadMenu(Utils::String::VA("ui_mp\\%s.menu", token.string))); + auto* filename = Utils::String::VA("ui_mp\\%s.menu", token.string); + Utils::Merge(&menus, Menus::LoadMenu(filename)); } if (!_stricmp(token.string, "menudef")) diff --git a/src/Components/Modules/ZoneBuilder.cpp b/src/Components/Modules/ZoneBuilder.cpp index 2fe44b5a..2ac3d780 100644 --- a/src/Components/Modules/ZoneBuilder.cpp +++ b/src/Components/Modules/ZoneBuilder.cpp @@ -419,6 +419,10 @@ namespace Components #endif Utils::IO::WriteFile("uncompressed", zoneBuffer); + const auto _0 = gsl::finally([] + { + Utils::IO::RemoveFile("uncompressed"); + }); zoneBuffer = Utils::Compression::ZLib::Compress(zoneBuffer); outBuffer.append(zoneBuffer); diff --git a/src/Game/Structs.hpp b/src/Game/Structs.hpp index 9450e942..949e4f9f 100644 --- a/src/Game/Structs.hpp +++ b/src/Game/Structs.hpp @@ -3534,7 +3534,7 @@ namespace Game Glyph* glyphs; }; - struct __declspec(align(4)) rectDef_s + struct rectDef_s { float x; float y; @@ -3544,6 +3544,8 @@ namespace Game char vertAlign; }; + static_assert(sizeof(rectDef_s) == 0x14); + struct windowDef_t { const char* name; @@ -3566,6 +3568,8 @@ namespace Game Material* background; }; + static_assert(sizeof(windowDef_t) == 0xA4); + enum expDataType { VAL_INT = 0x0,