cave-story-solaris/src/Flags.cpp
2019-02-01 13:50:33 +00:00

50 lines
679 B
C++

#include "Flags.h"
#include <cstring>
#include <stdint.h>
uint8_t gFlagNPC[1000];
uint8_t gSkipFlag[0x40];
//Flag inits
void InitFlags()
{
memset(gFlagNPC, 0, sizeof(gFlagNPC));
}
void InitSkipFlags()
{
memset(gSkipFlag, 0, sizeof(gSkipFlag));
}
//NPC flags
void SetNPCFlag(int a)
{
gFlagNPC[a / 8] |= 1 << a % 8;
}
void CutNPCFlag(int a)
{
gFlagNPC[a / 8] &= ~(1 << a % 8);
}
bool GetNPCFlag(int a)
{
return ((gFlagNPC[a / 8] >> a % 8) & 1) != 0;
}
//Skip flags
void SetSkipFlag(int a)
{
gSkipFlag[a / 8] |= 1 << a % 8;
}
void CutSkipFlag(int a)
{
gSkipFlag[a / 8] &= ~(1 << a % 8);
}
bool GetSkipFlag(int a)
{
return ((gSkipFlag[a / 8] >> a % 8) & 1) != 0;
}