cave-story-solaris/src/Flags.cpp
2019-04-08 14:43:04 +01:00

57 lines
758 B
C++

#include "Flags.h"
#include <string.h>
#include "WindowsWrapper.h"
unsigned char gFlagNPC[1000];
unsigned char gSkipFlag[8];
//Flag inits
void InitFlags()
{
memset(gFlagNPC, 0, sizeof(gFlagNPC));
}
void InitSkipFlags()
{
memset(gSkipFlag, 0, sizeof(gSkipFlag));
}
//NPC flags
void SetNPCFlag(long a)
{
gFlagNPC[a / 8] |= 1 << a % 8;
}
void CutNPCFlag(long a)
{
gFlagNPC[a / 8] &= ~(1 << a % 8);
}
BOOL GetNPCFlag(long a)
{
if (gFlagNPC[a / 8] & (1 << a % 8))
return TRUE;
else
return FALSE;
}
//Skip flags
void SetSkipFlag(long a)
{
gSkipFlag[a / 8] |= 1 << a % 8;
}
void CutSkipFlag(long a)
{
gSkipFlag[a / 8] &= ~(1 << a % 8);
}
BOOL GetSkipFlag(long a)
{
if (gSkipFlag[a / 8] & (1 << a % 8))
return TRUE;
else
return FALSE;
}