Update ExperimentFlags interface

This commit is contained in:
scawful
2023-11-12 09:53:51 -05:00
parent c1ad23284e
commit 97548fbe6f
7 changed files with 63 additions and 20 deletions

View File

@@ -7,6 +7,8 @@ namespace yaze {
namespace app {
namespace core {
std::shared_ptr<ExperimentFlags::Flags> ExperimentFlags::flags_;
uint32_t SnesToPc(uint32_t addr) {
if (addr >= 0x808000) {
addr -= 0x808000;

View File

@@ -10,15 +10,30 @@ namespace app {
namespace core {
class ExperimentFlags {
private:
public:
struct Flags {
bool kDrawOverworldSprites = false;
bool kUseBitmapManager = false;
};
Flags flags_;
public:
auto flags() const { return flags_; }
Flags *mutable_flags() { return &flags_; }
ExperimentFlags() = default;
virtual ~ExperimentFlags() = default;
auto flags() const {
if (!flags_) {
flags_ = std::make_shared<Flags>();
}
Flags *flags = flags_.get();
return flags;
}
Flags *mutable_flags() {
if (!flags_) {
flags_ = std::make_shared<Flags>();
}
return flags_.get();
}
private:
static std::shared_ptr<Flags> flags_;
};
uint32_t SnesToPc(uint32_t addr);