ref: 88ed2d6eabd4067037f9cd36fed7557f9b82a448
parent: fb9b545e2706ca8e4ec791b6ed50f9db53e5a149
author: Clownacy <Clownacy@users.noreply.github.com>
date: Thu Feb 21 15:20:13 EST 2019
Made Flags.cpp ASM-accurate
--- a/src/Flags.cpp
+++ b/src/Flags.cpp
@@ -1,11 +1,12 @@
#include "Flags.h"
-#include <stdint.h>
#include <string.h>
-uint8_t gFlagNPC[1000];
-uint8_t gSkipFlag[0x40];
+#include "WindowsWrapper.h"
+unsigned char gFlagNPC[1000];
+unsigned char gSkipFlag[0x40];
+
//Flag inits
void InitFlags()
{
@@ -18,33 +19,39 @@
}
//NPC flags
-void SetNPCFlag(int a)
+void SetNPCFlag(long a)
{
gFlagNPC[a / 8] |= 1 << a % 8;
}
-void CutNPCFlag(int a)
+void CutNPCFlag(long a)
{
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
-void SetSkipFlag(int a)
+void SetSkipFlag(long a)
{
gSkipFlag[a / 8] |= 1 << a % 8;
}
-void CutSkipFlag(int a)
+void CutSkipFlag(long a)
{
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;
}
--- a/src/Flags.h
+++ b/src/Flags.h
@@ -1,15 +1,15 @@
#pragma once
-#include <stdint.h>
+#include "WindowsWrapper.h"
-extern uint8_t gFlagNPC[1000];
-extern uint8_t gSkipFlag[0x40];
+extern unsigned char gFlagNPC[1000];
+extern unsigned char gSkipFlag[0x40];
void InitFlags();
void InitSkipFlags();
-void SetNPCFlag(int a);
-void CutNPCFlag(int a);
-bool GetNPCFlag(int a);
-void SetSkipFlag(int a);
-void CutSkipFlag(int a);
-bool GetSkipFlag(int a);
+void SetNPCFlag(long a);
+void CutNPCFlag(long a);
+BOOL GetNPCFlag(long a);
+void SetSkipFlag(long a);
+void CutSkipFlag(long a);
+BOOL GetSkipFlag(long a);