summaryrefslogtreecommitdiff
path: root/arm9/src/coins.c
diff options
context:
space:
mode:
authorCleverking2003 <30466983+Cleverking2003@users.noreply.github.com>2020-08-13 19:12:12 +0300
committerGitHub <noreply@github.com>2020-08-13 19:12:12 +0300
commita82d0d55a67b12757b185fd149d6a14dcc7cad02 (patch)
tree829d21a866de69dc92e1b8e5bb1857a21104027c /arm9/src/coins.c
parentc259e6ed18294c001033fed62d924d379276021a (diff)
parentddd20f2c76a34b4fc46503c8bf88d53a755453a8 (diff)
Merge pull request #261 from PikalaxALT/pikalax_work
Name some scrcmds; save block 2 struct resolution
Diffstat (limited to 'arm9/src/coins.c')
-rw-r--r--arm9/src/coins.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/arm9/src/coins.c b/arm9/src/coins.c
new file mode 100644
index 00000000..80efb768
--- /dev/null
+++ b/arm9/src/coins.c
@@ -0,0 +1,44 @@
+#include "global.h"
+#include "coins.h"
+
+#pragma thumb on
+
+void InitCoins(u16 * coins)
+{
+ *coins = 0;
+}
+
+void SetCoins(u16 * coins, u16 value)
+{
+ GF_ASSERT(value <= MAX_COINS);
+ *coins = value;
+}
+
+u16 CheckCoins(u16 * coins)
+{
+ return *coins;
+}
+
+BOOL GiveCoins(u16 * coins, u16 amount)
+{
+ if (*coins >= MAX_COINS)
+ return FALSE;
+ *coins += amount;
+ if (*coins > MAX_COINS)
+ *coins = MAX_COINS;
+ return TRUE;
+}
+
+BOOL CanGiveCoins(u16 * coins, u16 amount)
+{
+
+ return (u32)(amount + *coins) <= MAX_COINS;
+}
+
+BOOL TakeCoins(u16 * coins, u16 amount)
+{
+ if (*coins < amount)
+ return FALSE;
+ *coins -= amount;
+ return TRUE;
+}