summaryrefslogtreecommitdiff
path: root/src/newer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newer.cpp')
-rw-r--r--src/newer.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/newer.cpp b/src/newer.cpp
index 6d672e2..2bad8a0 100644
--- a/src/newer.cpp
+++ b/src/newer.cpp
@@ -1,4 +1,5 @@
#include <newer.h>
+#include <game.h>
NWRWorld NewerWorldForLevelID(int w, int l) {
switch (w) {
@@ -75,3 +76,23 @@ const wchar_t *NewerWorldName(NWRWorld world) {
return L"Unknown World";
return NewerWorldNames[world];
}
+
+
+int getStarCoinCount() {
+ SaveBlock *save = GetSaveFile()->GetBlock(-1);
+ int coinsSpent = save->credits_hiscore;
+ int coinsEarned = 0;
+
+ for (int w = 0; w < 10; w++) {
+ for (int l = 0; l < 10; l++) {
+ u32 conds = save->GetLevelCondition(w, l);
+
+ if (conds & COND_COIN1) { coinsEarned++; }
+ if (conds & COND_COIN2) { coinsEarned++; }
+ if (conds & COND_COIN3) { coinsEarned++; }
+ }
+ }
+
+ int coinsLeft = coinsEarned - coinsSpent;
+ return coinsLeft;
+}