mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-10-20 18:42:02 +00:00
move parts to new common component to avoid circular dependency of zonecommon and objcommon
This commit is contained in:
1 parent
d616738be4
commit
12461d27e7
38 files changed
+70
-22
No files matched your search
@@ -82,6 +82,7 @@ group ""
|
|||||||
-- ========================
|
-- ========================
|
||||||
-- Projects
|
-- Projects
|
||||||
-- ========================
|
-- ========================
|
||||||
|
include "src/Common.lua"
|
||||||
include "src/Crypto.lua"
|
include "src/Crypto.lua"
|
||||||
include "src/Linker.lua"
|
include "src/Linker.lua"
|
||||||
include "src/Unlinker.lua"
|
include "src/Unlinker.lua"
|
||||||
@@ -99,6 +100,7 @@ include "src/ObjWriting.lua"
|
|||||||
|
|
||||||
-- Components group: All projects assist or are part of a tool
|
-- Components group: All projects assist or are part of a tool
|
||||||
group "Components"
|
group "Components"
|
||||||
|
Common:project()
|
||||||
Crypto:project()
|
Crypto:project()
|
||||||
Utils:project()
|
Utils:project()
|
||||||
ZoneCode:project()
|
ZoneCode:project()
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
Common = {}
|
||||||
|
|
||||||
|
function Common:include(includes)
|
||||||
|
if includes:handle(self:name()) then
|
||||||
|
Utils:include(includes)
|
||||||
|
includedirs {
|
||||||
|
path.join(ProjectFolder(), "Common")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Common:link(links)
|
||||||
|
links:add(self:name())
|
||||||
|
links:linkto(Utils)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Common:use()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function Common:name()
|
||||||
|
return "Common"
|
||||||
|
end
|
||||||
|
|
||||||
|
function Common:project()
|
||||||
|
local folder = ProjectFolder()
|
||||||
|
local includes = Includes:create()
|
||||||
|
|
||||||
|
project(self:name())
|
||||||
|
targetdir(TargetDirectoryLib)
|
||||||
|
location "%{wks.location}/src/%{prj.name}"
|
||||||
|
kind "StaticLib"
|
||||||
|
language "C++"
|
||||||
|
|
||||||
|
files {
|
||||||
|
path.join(folder, "Common/**.h"),
|
||||||
|
path.join(folder, "Common/**.cpp")
|
||||||
|
}
|
||||||
|
|
||||||
|
self:include(includes)
|
||||||
|
end
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2
-2
@@ -2,7 +2,7 @@ ObjCommon = {}
|
|||||||
|
|
||||||
function ObjCommon:include(includes)
|
function ObjCommon:include(includes)
|
||||||
if includes:handle(self:name()) then
|
if includes:handle(self:name()) then
|
||||||
ZoneCommon:include(includes)
|
Common:include(includes)
|
||||||
minizip:include(includes)
|
minizip:include(includes)
|
||||||
includedirs {
|
includedirs {
|
||||||
path.join(ProjectFolder(), "ObjCommon")
|
path.join(ProjectFolder(), "ObjCommon")
|
||||||
@@ -13,7 +13,7 @@ end
|
|||||||
function ObjCommon:link(links)
|
function ObjCommon:link(links)
|
||||||
links:add(self:name())
|
links:add(self:name())
|
||||||
links:linkto(Utils)
|
links:linkto(Utils)
|
||||||
links:linkto(ZoneCommon)
|
links:linkto(Common)
|
||||||
links:linkto(minizip)
|
links:linkto(minizip)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#include "ObjContainerReferenceable.h"
|
#include "ObjContainerReferenceable.h"
|
||||||
|
|
||||||
void ObjContainerReferenceable::AddReference(Zone* referencer)
|
void ObjContainerReferenceable::AddReference(void* referencer)
|
||||||
{
|
{
|
||||||
m_references.insert(referencer);
|
m_references.insert(referencer);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ObjContainerReferenceable::RemoveReference(Zone* zone)
|
bool ObjContainerReferenceable::RemoveReference(void* referencer)
|
||||||
{
|
{
|
||||||
return m_references.erase(zone) > 0;
|
return m_references.erase(referencer) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ObjContainerReferenceable::IsReferenced() const
|
bool ObjContainerReferenceable::IsReferenced() const
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "IObjContainer.h"
|
#include "IObjContainer.h"
|
||||||
#include "Zone/Zone.h"
|
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
class ObjContainerReferenceable : public IObjContainer
|
class ObjContainerReferenceable : public IObjContainer
|
||||||
{
|
{
|
||||||
std::set<Zone*> m_references;
|
std::set<void*> m_references;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void AddReference(Zone* referencer);
|
void AddReference(void* referencer);
|
||||||
bool RemoveReference(Zone* zone);
|
bool RemoveReference(void* referencer);
|
||||||
bool IsReferenced() const;
|
bool IsReferenced() const;
|
||||||
};
|
};
|
||||||
+1
-1
@@ -202,7 +202,7 @@ function ZoneCode:project()
|
|||||||
buildinputs {
|
buildinputs {
|
||||||
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}.h"),
|
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}.h"),
|
||||||
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}_Commands.txt"),
|
path.join(ProjectFolder(), "ZoneCode/Game/%{file.basename}/%{file.basename}_Commands.txt"),
|
||||||
path.join(ProjectFolder(), "ZoneCommon/Game/%{file.basename}/%{file.basename}_Assets.h"),
|
path.join(ProjectFolder(), "Common/Game/%{file.basename}/%{file.basename}_Assets.h"),
|
||||||
TargetDirectoryBin .. "/" .. ExecutableByOs('ZoneCodeGenerator')
|
TargetDirectoryBin .. "/" .. ExecutableByOs('ZoneCodeGenerator')
|
||||||
}
|
}
|
||||||
filter {}
|
filter {}
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
// Entry point for IW4 code generation
|
// Entry point for IW4 code generation
|
||||||
|
|
||||||
#include "../Common.h"
|
#include "../Common.h"
|
||||||
#include "../../../ZoneCommon/Game/IW4/IW4_Assets.h"
|
#include "../../../Common/Game/IW4/IW4_Assets.h"
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
@@ -3,6 +3,6 @@
|
|||||||
// Entry point for T6 code generation
|
// Entry point for T6 code generation
|
||||||
|
|
||||||
#include "../Common.h"
|
#include "../Common.h"
|
||||||
#include "../../../ZoneCommon/Game/T6/T6_Assets.h"
|
#include "../../../Common/Game/T6/T6_Assets.h"
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
+4
-2
@@ -2,17 +2,19 @@ ZoneCommon = {}
|
|||||||
|
|
||||||
function ZoneCommon:include(includes)
|
function ZoneCommon:include(includes)
|
||||||
if includes:handle(self:name()) then
|
if includes:handle(self:name()) then
|
||||||
Utils:include(includes)
|
|
||||||
ObjCommon:include(includes)
|
|
||||||
includedirs {
|
includedirs {
|
||||||
path.join(ProjectFolder(), "ZoneCommon")
|
path.join(ProjectFolder(), "ZoneCommon")
|
||||||
}
|
}
|
||||||
|
Utils:include(includes)
|
||||||
|
Common:include(includes)
|
||||||
|
ObjCommon:include(includes)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function ZoneCommon:link(links)
|
function ZoneCommon:link(links)
|
||||||
links:add(self:name())
|
links:add(self:name())
|
||||||
links:linkto(Utils)
|
links:linkto(Utils)
|
||||||
|
links:linkto(Common)
|
||||||
links:linkto(ObjCommon)
|
links:linkto(ObjCommon)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
#include "Pool/ZoneAssetPools.h"
|
#include "Pool/ZoneAssetPools.h"
|
||||||
#include "Pool/AssetPool.h"
|
#include "Pool/AssetPool.h"
|
||||||
#include "IW4.h"
|
#include "Game/IW4/IW4.h"
|
||||||
|
|
||||||
class GameAssetPoolIW4 final : public ZoneAssetPools
|
class GameAssetPoolIW4 final : public ZoneAssetPools
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "Pool/ZoneAssetPools.h"
|
#include "Pool/ZoneAssetPools.h"
|
||||||
#include "Pool/AssetPool.h"
|
#include "Pool/AssetPool.h"
|
||||||
#include "T6.h"
|
#include "Game/T6/T6.h"
|
||||||
|
|
||||||
class GameAssetPoolT6 final : public ZoneAssetPools
|
class GameAssetPoolT6 final : public ZoneAssetPools
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include "ZoneTypes.h"
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "Pool/ZoneAssetPools.h"
|
#include "Pool/ZoneAssetPools.h"
|
||||||
#include "Game/IGame.h"
|
#include "Game/IGame.h"
|
||||||
#include "Game/GameLanguage.h"
|
#include "Game/GameLanguage.h"
|
||||||
#include "Zone/XBlock.h"
|
#include "Zone/XBlock.h"
|
||||||
#include "ZoneMemory.h"
|
#include "ZoneMemory.h"
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
class IGame;
|
class IGame;
|
||||||
class ZoneAssetPools;
|
class ZoneAssetPools;
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ end
|
|||||||
|
|
||||||
function ZoneLoading:link(links)
|
function ZoneLoading:link(links)
|
||||||
links:add(self:name())
|
links:add(self:name())
|
||||||
|
links:add("pthread")
|
||||||
links:linkto(Crypto)
|
links:linkto(Crypto)
|
||||||
links:linkto(Utils)
|
links:linkto(Utils)
|
||||||
links:linkto(ZoneCommon)
|
links:linkto(ZoneCommon)
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
#include <catch2/catch.hpp>
|
#include <catch2/catch.hpp>
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
#include "Image/ImageFormat.h"
|
#include "Image/ImageFormat.h"
|
||||||
|
|
||||||
namespace image::image_format
|
namespace image::image_format
|
||||||
{
|
{
|
||||||
TEST_CASE("ImageFormat: EnsureAllFormatsArrayIndicesAreIds", "[image]")
|
TEST_CASE("ImageFormat: EnsureAllFormatsArrayIndicesAreIds", "[image]")
|
||||||
{
|
{
|
||||||
REQUIRE(static_cast<unsigned int>(ImageFormatId::MAX) == _countof(ImageFormat::ALL_FORMATS));
|
REQUIRE(static_cast<unsigned int>(ImageFormatId::MAX) == std::extent<decltype(ImageFormat::ALL_FORMATS)>::value);
|
||||||
|
|
||||||
for(unsigned i = 0; i < _countof(ImageFormat::ALL_FORMATS); i++)
|
for(unsigned i = 0; i < std::extent<decltype(ImageFormat::ALL_FORMATS)>::value; i++)
|
||||||
{
|
{
|
||||||
REQUIRE(ImageFormat::ALL_FORMATS[i] != nullptr);
|
REQUIRE(ImageFormat::ALL_FORMATS[i] != nullptr);
|
||||||
REQUIRE(i == static_cast<unsigned>(ImageFormat::ALL_FORMATS[i]->GetId()));
|
REQUIRE(i == static_cast<unsigned>(ImageFormat::ALL_FORMATS[i]->GetId()));
|
||||||
|
|||||||
Reference in new issue
Block a user