Made Flags.cpp ASM-accurate

This commit is contained in:
Clownacy 2019-02-21 20:20:13 +00:00
parent fb9b545e27
commit 88ed2d6eab
2 changed files with 27 additions and 20 deletions

View file

@ -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;
} }

View file

@ -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);