mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-12 07:48:16 -05:00
Add supplemental data for iw4 statemap layout
This commit is contained in:
@ -680,7 +680,7 @@ namespace IW4
|
||||
float literal[4];
|
||||
};
|
||||
|
||||
enum GfxBlend
|
||||
enum GfxBlend : unsigned int
|
||||
{
|
||||
GFXS_BLEND_DISABLED = 0x0,
|
||||
GFXS_BLEND_ZERO = 0x1,
|
||||
@ -696,7 +696,7 @@ namespace IW4
|
||||
GFXS_BLEND_MASK = 0xF,
|
||||
};
|
||||
|
||||
enum GfxBlendOp
|
||||
enum GfxBlendOp : unsigned int
|
||||
{
|
||||
GFXS_BLENDOP_DISABLED = 0x0,
|
||||
GFXS_BLENDOP_ADD = 0x1,
|
||||
@ -707,7 +707,7 @@ namespace IW4
|
||||
GFXS_BLENDOP_MASK = 0x7,
|
||||
};
|
||||
|
||||
enum GfxStencilFunc
|
||||
enum GfxStencilFunc : unsigned int
|
||||
{
|
||||
GFXS_STENCILFUNC_NEVER = 0x0,
|
||||
GFXS_STENCILFUNC_LESS = 0x1,
|
||||
@ -722,7 +722,7 @@ namespace IW4
|
||||
GFXS_STENCILFUNC_MASK = 0x7
|
||||
};
|
||||
|
||||
enum GfxStencilOp
|
||||
enum GfxStencilOp : unsigned int
|
||||
{
|
||||
GFXS_STENCILOP_KEEP = 0x0,
|
||||
GFXS_STENCILOP_ZERO = 0x1,
|
||||
|
@ -2,13 +2,41 @@
|
||||
|
||||
using namespace state_map;
|
||||
|
||||
StateMapLayoutEntry::StateMapLayoutEntry(std::string name, const size_t resultCount)
|
||||
|
||||
StateMapLayoutEntry::StateMapLayoutEntry(std::string name, const size_t stateBitsIndex, const size_t stateBitsMask, std::vector<std::string> resultVars)
|
||||
: m_name(std::move(name)),
|
||||
m_result_count(resultCount)
|
||||
m_state_bits_index(stateBitsIndex),
|
||||
m_state_bits_mask(stateBitsMask),
|
||||
m_result_vars(std::move(resultVars))
|
||||
{
|
||||
}
|
||||
|
||||
StateMapLayout::StateMapLayout(std::vector<StateMapLayoutEntry> layoutEntries)
|
||||
: m_layout_entries(std::move(layoutEntries))
|
||||
StateMapLayoutEntries::StateMapLayoutEntries(std::vector<StateMapLayoutEntry> entryList)
|
||||
: m_entries(std::move(entryList))
|
||||
{
|
||||
}
|
||||
|
||||
StateMapLayoutVarValue::StateMapLayoutVarValue(std::string name, const size_t stateBitsMask)
|
||||
: m_name(std::move(name)),
|
||||
m_state_bits_mask(stateBitsMask)
|
||||
{
|
||||
}
|
||||
|
||||
StateMapLayoutVar::StateMapLayoutVar(std::string name, const size_t stateBitsIndex, std::vector<StateMapLayoutVarValue> values)
|
||||
: m_name(std::move(name)),
|
||||
m_state_bits_index(stateBitsIndex),
|
||||
m_values(std::move(values))
|
||||
{
|
||||
}
|
||||
|
||||
StateMapLayoutVars::StateMapLayoutVars(std::vector<StateMapLayoutVar> varList)
|
||||
: m_vars(std::move(varList))
|
||||
{
|
||||
}
|
||||
|
||||
StateMapLayout::StateMapLayout(const size_t stateBitsCount, const StateMapLayoutEntries& entryLayout, const StateMapLayoutVars& varLayout)
|
||||
: m_state_bits_count(stateBitsCount),
|
||||
m_entry_layout(entryLayout),
|
||||
m_var_layout(varLayout)
|
||||
{
|
||||
}
|
||||
|
@ -8,17 +8,56 @@ namespace state_map
|
||||
class StateMapLayoutEntry
|
||||
{
|
||||
public:
|
||||
StateMapLayoutEntry(std::string name, size_t resultCount);
|
||||
StateMapLayoutEntry(std::string name, size_t stateBitsIndex, size_t stateBitsMask, std::vector<std::string> resultVars);
|
||||
|
||||
std::string m_name;
|
||||
size_t m_result_count;
|
||||
size_t m_state_bits_index;
|
||||
size_t m_state_bits_mask;
|
||||
std::vector<std::string> m_result_vars;
|
||||
};
|
||||
|
||||
class StateMapLayoutEntries
|
||||
{
|
||||
public:
|
||||
explicit StateMapLayoutEntries(std::vector<StateMapLayoutEntry> entryList);
|
||||
|
||||
std::vector<StateMapLayoutEntry> m_entries;
|
||||
};
|
||||
|
||||
class StateMapLayoutVarValue
|
||||
{
|
||||
public:
|
||||
StateMapLayoutVarValue(std::string name, size_t stateBitsMask);
|
||||
|
||||
std::string m_name;
|
||||
size_t m_state_bits_mask;
|
||||
};
|
||||
|
||||
class StateMapLayoutVar
|
||||
{
|
||||
public:
|
||||
StateMapLayoutVar(std::string name, size_t stateBitsIndex, std::vector<StateMapLayoutVarValue> values);
|
||||
|
||||
std::string m_name;
|
||||
size_t m_state_bits_index;
|
||||
std::vector<StateMapLayoutVarValue> m_values;
|
||||
};
|
||||
|
||||
class StateMapLayoutVars
|
||||
{
|
||||
public:
|
||||
explicit StateMapLayoutVars(std::vector<StateMapLayoutVar> varList);
|
||||
|
||||
std::vector<StateMapLayoutVar> m_vars;
|
||||
};
|
||||
|
||||
class StateMapLayout
|
||||
{
|
||||
public:
|
||||
explicit StateMapLayout(std::vector<StateMapLayoutEntry> layoutEntries);
|
||||
StateMapLayout(size_t stateBitsCount, const StateMapLayoutEntries& entryLayout, const StateMapLayoutVars& varLayout);
|
||||
|
||||
std::vector<StateMapLayoutEntry> m_layout_entries;
|
||||
size_t m_state_bits_count;
|
||||
const StateMapLayoutEntries& m_entry_layout;
|
||||
const StateMapLayoutVars& m_var_layout;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user