Made Flags.cpp ASM-accurate
This commit is contained in:
parent
fb9b545e27
commit
88ed2d6eab
2 changed files with 27 additions and 20 deletions
|
@ -1,10 +1,11 @@
|
||||||
#include "Flags.h"
|
#include "Flags.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
uint8_t gFlagNPC[1000];
|
#include "WindowsWrapper.h"
|
||||||
uint8_t gSkipFlag[0x40];
|
|
||||||
|
unsigned char gFlagNPC[1000];
|
||||||
|
unsigned char gSkipFlag[0x40];
|
||||||
|
|
||||||
//Flag inits
|
//Flag inits
|
||||||
void InitFlags()
|
void InitFlags()
|
||||||
|
@ -18,33 +19,39 @@ void InitSkipFlags()
|
||||||
}
|
}
|
||||||
|
|
||||||
//NPC flags
|
//NPC flags
|
||||||
void SetNPCFlag(int a)
|
void SetNPCFlag(long a)
|
||||||
{
|
{
|
||||||
gFlagNPC[a / 8] |= 1 << a % 8;
|
gFlagNPC[a / 8] |= 1 << a % 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CutNPCFlag(int a)
|
void CutNPCFlag(long a)
|
||||||
{
|
{
|
||||||
gFlagNPC[a / 8] &= ~(1 << a % 8);
|
gFlagNPC[a / 8] &= ~(1 << a % 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetNPCFlag(int a)
|
BOOL GetNPCFlag(long a)
|
||||||
{
|
{
|
||||||
return ((gFlagNPC[a / 8] >> a % 8) & 1) != 0;
|
if (gFlagNPC[a / 8] & (1 << a % 8))
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Skip flags
|
//Skip flags
|
||||||
void SetSkipFlag(int a)
|
void SetSkipFlag(long a)
|
||||||
{
|
{
|
||||||
gSkipFlag[a / 8] |= 1 << a % 8;
|
gSkipFlag[a / 8] |= 1 << a % 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CutSkipFlag(int a)
|
void CutSkipFlag(long a)
|
||||||
{
|
{
|
||||||
gSkipFlag[a / 8] &= ~(1 << a % 8);
|
gSkipFlag[a / 8] &= ~(1 << a % 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetSkipFlag(int a)
|
BOOL GetSkipFlag(long a)
|
||||||
{
|
{
|
||||||
return ((gSkipFlag[a / 8] >> a % 8) & 1) != 0;
|
if (gSkipFlag[a / 8] & (1 << a % 8))
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
18
src/Flags.h
18
src/Flags.h
|
@ -1,15 +1,15 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdint.h>
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
extern uint8_t gFlagNPC[1000];
|
extern unsigned char gFlagNPC[1000];
|
||||||
extern uint8_t gSkipFlag[0x40];
|
extern unsigned char gSkipFlag[0x40];
|
||||||
|
|
||||||
void InitFlags();
|
void InitFlags();
|
||||||
void InitSkipFlags();
|
void InitSkipFlags();
|
||||||
void SetNPCFlag(int a);
|
void SetNPCFlag(long a);
|
||||||
void CutNPCFlag(int a);
|
void CutNPCFlag(long a);
|
||||||
bool GetNPCFlag(int a);
|
BOOL GetNPCFlag(long a);
|
||||||
void SetSkipFlag(int a);
|
void SetSkipFlag(long a);
|
||||||
void CutSkipFlag(int a);
|
void CutSkipFlag(long a);
|
||||||
bool GetSkipFlag(int a);
|
BOOL GetSkipFlag(long a);
|
||||||
|
|
Loading…
Add table
Reference in a new issue