mirror of https://github.com/AxioDL/metaforce.git
50 lines
759 B
C++
50 lines
759 B
C++
#ifndef _DNACOMMON_CVAR_HPP_
|
|
#define _DNACOMMON_CVAR_HPP_
|
|
|
|
#include <Athena/Global.hpp>
|
|
#include <type_traits>
|
|
#include "DNACommon.hpp"
|
|
|
|
namespace Retro
|
|
{
|
|
namespace DNACVAR
|
|
{
|
|
enum class EType
|
|
{
|
|
Boolean,
|
|
Integer,
|
|
Float,
|
|
Literal,
|
|
Color,
|
|
Bind
|
|
};
|
|
|
|
enum EFlags
|
|
{
|
|
All = -1, // NOTE: is this really necessary? It seems rather overkill
|
|
System = (1 << 0),
|
|
Game = (1 << 1),
|
|
Gui = (1 << 2),
|
|
Cheat = (1 << 3),
|
|
Hidden = (1 << 4),
|
|
ReadOnly = (1 << 5),
|
|
Archive = (1 << 6),
|
|
Modified = (1 << 7)
|
|
};
|
|
ENABLE_BITWISE_ENUM(EFlags)
|
|
|
|
class CVar : BigYAML
|
|
{
|
|
public:
|
|
DECL_YAML
|
|
String<-1> m_name;
|
|
String<-1> m_value;
|
|
Value<EType> m_type;
|
|
Value<EFlags> m_flags;
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|