2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-05 08:17:25 +00:00

Add Tests for ZCG cpp

This commit is contained in:
Jan
2021-02-10 18:03:50 +01:00
parent 31497d804c
commit f9ef7cc35b
102 changed files with 502 additions and 21 deletions

View File

@@ -0,0 +1,13 @@
#include "MemberInformation.h"
MemberInformation::MemberInformation(StructureInformation* parent, StructureInformation* type, Variable* member)
: m_parent(parent),
m_type(type),
m_member(member),
m_is_string(false),
m_is_script_string(false),
m_is_reusable(false),
m_is_leaf(false),
m_fast_file_block(nullptr)
{
}

View File

@@ -0,0 +1,26 @@
#pragma once
#include <memory>
#include "Utils/ClassUtils.h"
#include "StructureInformation.h"
#include "Domain/Definition/Variable.h"
#include "Domain/FastFile/FastFileBlock.h"
#include "Domain/Evaluation/IEvaluation.h"
class StructureInformation;
class MemberInformation
{
public:
StructureInformation* m_parent;
StructureInformation* m_type;
Variable* m_member;
bool m_is_string;
bool m_is_script_string;
bool m_is_reusable;
bool m_is_leaf;
std::unique_ptr<IEvaluation> m_condition;
FastFileBlock* m_fast_file_block;
MemberInformation(StructureInformation* parent, StructureInformation* type, Variable* member);
};

View File

@@ -0,0 +1,17 @@
#include "StructureInformation.h"
StructureInformation::StructureInformation(DefinitionWithMembers* definition)
: m_has_non_default_fast_file_align(false),
m_custom_fast_file_align(0),
m_definition(definition),
m_asset_enum_entry(nullptr),
m_is_leaf(false),
m_non_embedded_reference_exists(false),
m_single_pointer_reference_exists(false),
m_array_pointer_reference_exists(false),
m_array_reference_exists(false),
m_reference_from_non_default_normal_block_exists(false),
m_post_load_action(nullptr),
m_block(nullptr)
{
}

View File

@@ -0,0 +1,36 @@
#pragma once
#include "Utils/ClassUtils.h"
#include "MemberInformation.h"
#include "Domain/Definition/DefinitionWithMembers.h"
#include "Domain/Definition/EnumMember.h"
#include "Domain/Extension/CustomAction.h"
#include "Domain/FastFile/FastFileBlock.h"
class MemberInformation;
class StructureInformation
{
public:
bool m_has_non_default_fast_file_align;
unsigned m_custom_fast_file_align;
DefinitionWithMembers* const m_definition;
EnumMember* m_asset_enum_entry;
std::vector<StructureInformation*> m_usages;
std::vector<std::unique_ptr<MemberInformation>> m_ordered_members;
bool m_is_leaf;
bool m_non_embedded_reference_exists;
bool m_single_pointer_reference_exists;
bool m_array_pointer_reference_exists;
bool m_array_reference_exists;
bool m_reference_from_non_default_normal_block_exists;
std::unique_ptr<CustomAction> m_post_load_action;
FastFileBlock* m_block;
std::vector<MemberInformation*> m_name_chain;
explicit StructureInformation(DefinitionWithMembers* definition);
};