@@ -17,12 +17,6 @@ extern char *NextArea;
17
17
18
18
namespace mod {
19
19
20
- void writeMap (uint32_t Source)
21
- {
22
- ttyd::string::strcpy (NextMap, reinterpret_cast <char *>(Source));
23
- ttyd::string::strncpy (NextArea, reinterpret_cast <char *>(Source), 3 );
24
- }
25
-
26
20
void Mod::warp ()
27
21
{
28
22
if ((ttyd::system::keyGetButton (0 ) & WarpCombo) == WarpCombo)
@@ -34,108 +28,52 @@ void Mod::warp()
34
28
{
35
29
// Currently in the pause menu, and Current Tab is Mario's stats
36
30
int16_t CoinCount = *reinterpret_cast <int16_t *>(ttyd::mario_pouch::pouchGetPtr () + 0x78 );
31
+ uint32_t WarpToMap = 0 ;
37
32
38
- if (CoinCount == 0 )
39
- {
40
- writeMap (gor_01);
41
- }
42
- else if (CoinCount == 1 )
43
- {
44
- writeMap (tik_00);
45
- }
46
- else if (CoinCount == 2 )
47
- {
48
- writeMap (hei_00);
49
- }
50
- else if (CoinCount == 3 )
51
- {
52
- writeMap (gon_00);
53
- }
54
- else if (CoinCount == 4 )
55
- {
56
- writeMap (win_06);
57
- }
58
- else if (CoinCount == 5 )
59
- {
60
- writeMap (mri_01);
61
- }
62
- else if (CoinCount == 6 )
63
- {
64
- writeMap (tou_02);
65
- }
66
- else if (CoinCount == 7 )
67
- {
68
- writeMap (tou_05);
69
- }
70
- else if (CoinCount == 8 )
71
- {
72
- writeMap (usu_00);
73
- }
74
- else if (CoinCount == 9 )
75
- {
76
- writeMap (jin_00);
77
- }
78
- else if (CoinCount == 10 )
79
- {
80
- writeMap (muj_01);
33
+ switch (CoinCount)
34
+ {
35
+ case 0 : WarpToMap = gor_01; break ;
36
+ case 1 : WarpToMap = tik_00; break ;
37
+ case 2 : WarpToMap = hei_00; break ;
38
+ case 3 : WarpToMap = gon_00; break ;
39
+ case 4 : WarpToMap = win_06; break ;
40
+ case 5 : WarpToMap = mri_01; break ;
41
+ case 6 : WarpToMap = tou_02; break ;
42
+ case 7 : WarpToMap = tou_05; break ;
43
+ case 8 : WarpToMap = usu_00; break ;
44
+ case 9 : WarpToMap = jin_00; break ;
45
+ case 10 : WarpToMap = muj_01; break ;
46
+ case 11 : WarpToMap = dou_00; break ;
47
+ case 12 : WarpToMap = rsh_02_a; break ;
48
+ case 13 : WarpToMap = eki_00; break ;
49
+ case 14 : WarpToMap = pik_00; break ;
50
+ case 15 : WarpToMap = bom_00; break ;
51
+ case 16 : WarpToMap = moo_00; break ;
52
+ case 17 : WarpToMap = aji_00; break ;
53
+ case 18 : WarpToMap = aji_13; break ;
54
+ case 19 : WarpToMap = las_00; break ;
55
+ case 20 : WarpToMap = las_09; break ;
56
+ case 21 : WarpToMap = las_27; break ;
57
+ case 22 :
58
+ #ifdef TTYD_US
59
+ uint32_t minnnanokoe = 0x802ECF74 ;
60
+ #elif defined TTYD_JP
61
+ uint32_t minnnanokoe = 0x802ECB70 ;
62
+ #elif defined TTYD_EU
63
+ uint32_t minnnanokoe = 0x802F8BD4 ;
64
+ #endif
65
+
66
+ ttyd::string::strcpy (NextBero, reinterpret_cast <char *>(minnnanokoe));
67
+ WarpToMap = las_29;
68
+ ttyd::swdrv::swByteSet (0 , 400 );
69
+ break ;
81
70
}
82
- else if (CoinCount == 11 )
83
- {
84
- writeMap (dou_00);
85
- }
86
- else if (CoinCount == 12 )
87
- {
88
- writeMap (rsh_02_a);
89
- }
90
- else if (CoinCount == 13 )
91
- {
92
- writeMap (eki_00);
93
- }
94
- else if (CoinCount == 14 )
95
- {
96
- writeMap (pik_00);
97
- }
98
- else if (CoinCount == 15 )
99
- {
100
- writeMap (bom_00);
101
- }
102
- else if (CoinCount == 16 )
103
- {
104
- writeMap (moo_00);
105
- }
106
- else if (CoinCount == 17 )
107
- {
108
- writeMap (aji_00);
109
- }
110
- else if (CoinCount == 18 )
111
- {
112
- writeMap (aji_13);
113
- }
114
- else if (CoinCount == 19 )
115
- {
116
- writeMap (las_00);
117
- }
118
- else if (CoinCount == 20 )
119
- {
120
- writeMap (las_09);
121
- }
122
- else if (CoinCount == 21 )
123
- {
124
- writeMap (las_27);
125
- }
126
- else if (CoinCount == 22 )
71
+
72
+ if (WarpToMap != 0 )
127
73
{
128
- #ifdef TTYD_US
129
- uint32_t minnnanokoe = 0x802ECF74 ;
130
- #elif defined TTYD_JP
131
- uint32_t minnnanokoe = 0x802ECB70 ;
132
- #elif defined TTYD_EU
133
- uint32_t minnnanokoe = 0x802F8BD4 ;
134
- #endif
135
-
136
- ttyd::string::strcpy (NextBero, reinterpret_cast <char *>(minnnanokoe));
137
- writeMap (las_29);
138
- ttyd::swdrv::swByteSet (0 , 400 );
74
+ // WarpToMap is set
75
+ ttyd::string::strcpy (NextMap, reinterpret_cast <char *>(WarpToMap));
76
+ ttyd::string::strncpy (NextArea, reinterpret_cast <char *>(WarpToMap), 3 );
139
77
}
140
78
}
141
79
}
0 commit comments