summaryrefslogtreecommitdiff
path: root/src/d/flag/storyflag_manager.inc
blob: b31b6864f59313f6fc4782526f6e3aeb3cec94e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "d/flag/storyflag_manager.h"

u16 StoryflagManager::sFlags[0x80];
StoryflagManager *StoryflagManager::sInstance = nullptr;

StoryflagManager::StoryflagManager() : mStoryFlags(sFlags, 0x80) {}

void StoryflagManager::copyFlagsFromSaveFirstTime() {
    setFlagSizes(0x80, 0x100);
    ItemStoryManagerBase::copyFromSave();
}

extern "C" FlagDefinition StoryflagManager__STORYFLAG_DEFINITIONS[];

void StoryflagManager::setupFlagIndex() {
    createFlagIndex(StoryflagManager__STORYFLAG_DEFINITIONS, STORYFLAG_MAX);
}

void StoryflagManager::onDirty() {}

bool StoryflagManager::commit() {
    if (mDirty) {
        doCommit_Priv();
        postCommit();
        return true;
    }
    return false;
}

void StoryflagManager::unsetFlag(u16 flag) {
    ItemStoryManagerBase::unsetFlag(flag);
}