summaryrefslogtreecommitdiff
path: root/src/newer.cpp
diff options
context:
space:
mode:
authorTreeki <treeki@gmail.com>2012-10-10 03:02:02 +0200
committerTreeki <treeki@gmail.com>2012-10-10 03:02:02 +0200
commitc1c7f656efdecd6da7923de46eb113699f256ff6 (patch)
tree40669ad810c1e347d504712b379e7ea6809e036c /src/newer.cpp
parent22189497b8711cb7766e4329096be8f47bcf4851 (diff)
downloadkamek-c1c7f656efdecd6da7923de46eb113699f256ff6.tar.gz
kamek-c1c7f656efdecd6da7923de46eb113699f256ff6.zip
bit of refactoring, and added PreGame
Diffstat (limited to '')
-rw-r--r--src/newer.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/newer.cpp b/src/newer.cpp
index 0b53fa6..d1894ba 100644
--- a/src/newer.cpp
+++ b/src/newer.cpp
@@ -1,6 +1,50 @@
#include <newer.h>
#include <game.h>
+void getNewerLevelNumberString(int world, int level, wchar_t *dest) {
+ static const wchar_t *numberKinds[] = {
+ // 0-19 are handled by code
+ // To insert a picturefont character:
+ // \x0B\x01YY\xZZZZ
+ // YY is the character code, ZZZZ is ignored
+ L"A", // 20, alternate
+ L"\x0B\x0148\xBEEF", // 21, tower
+ L"\x0B\x0148\xBEEF" L"2", // 22, tower 2
+ L"\x0B\x012E\xBEEF", // 23, castle
+ L"\x0B\x012F\xBEEF", // 24, fortress
+ L"\x0B\x013D\xBEEF", // 25, final castle
+ L"\x0B\x014D\xBEEF", // 26, train
+ L"\x0B\x0132\xBEEF", // 27, airship
+ L"Palace", // 28, switch palace
+ L"\x0B\x0147\xBEEF", // 29, yoshi's house
+ L"\x0B\x014E\xBEEF" L"1", // 30, key 1
+ L"\x0B\x014E\xBEEF" L"2", // 31, key 2
+ L"\x0B\x014E\xBEEF" L"3", // 32, key 3
+ L"\x0B\x014E\xBEEF" L"4", // 33, key 4
+ L"\x0B\x014E\xBEEF" L"5", // 34, key 5
+ L"\x0B\x014E\xBEEF" L"6", // 35, key 6
+ L"\x0B\x0138\xBEEF", // 36, music house
+ L"\x0B\x0133\xBEEF", // 37, shop
+ L"\x0B\x0139\xBEEF", // 38, challenge house
+ L"\x0B\x0151\xBEEF", // 39, red switch palace
+ L"\x0B\x0152\xBEEF", // 40, blue switch palace
+ L"\x0B\x0153\xBEEF", // 41, yellow switch palace
+ L"\x0B\x0154\xBEEF", // 42, green switch palace
+ };
+
+ dest[0] = (world >= 10) ? (world-10+'A') : (world+'0');
+ dest[1] = '-';
+ if (level >= 20) {
+ wcscpy(&dest[2], numberKinds[level-20]);
+ } else if (level >= 10) {
+ dest[2] = '1';
+ dest[3] = ('0' - 10) + level;
+ dest[4] = 0;
+ } else {
+ dest[2] = '0' + level;
+ dest[3] = 0;
+ }
+}
int getStarCoinCount() {
SaveBlock *save = GetSaveFile()->GetBlock(-1);