summaryrefslogtreecommitdiff
path: root/arm9/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-13 08:24:20 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-13 08:24:20 -0400
commitdd47776b7c311afdbfbb123485ecf2bf695a3c04 (patch)
tree3adad4e488d4e34a69f10f8fa2a4c04111c9b3aa /arm9/src
parent692b76fd27bf0b74a3fe871864c5d77387c05618 (diff)
Decompile coins.s
Diffstat (limited to 'arm9/src')
-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;
+}