133 {
134 s32 cameraX = PauseMapCameraX;
135 s32 cameraY = PauseMapCameraY;
136 s32 i, j;
137 s32 tileHeight;
138 s32 x1, y1, x2, y2;
139 s32 x1a, y1a, x2a, y2a;
140 s32 posX, posY;
141 s32 ult;
143 s32 camX, camY;
144 s32 pathX, pathY;
145 s32 currentTab;
146 s32 offset, offsetLeft, offsetRight, offsetUp, offsetDown;
147 s32 mapULX, mapULY;
148 s32 bigPointX, bigPointY;
150 s32 pathLength;
151
153 ult = -cameraX * 32;
154 for (i = 0; i < 60; i++) {
155 if (4 * i + 4 < 111) {
156 tileHeight = 4;
157 } else {
158 tileHeight = 111 - 4 * i;
159 }
160
162 0, i * 4 - cameraY, 319, i * 4 + tileHeight - 1 - cameraY, 0,
163 G_TX_CLAMP, G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
164 pause_draw_rect((baseX + 26) * 4, (baseY + 22 + 4 * i) * 4, (baseX + 260) * 4,
165 (baseY + 22 + i * 4 + tileHeight) * 4, 0, ult, (-cameraY + i * 4) * 32, 0x400, 0x400);
167
168 if (4 * i + 4 >= 110) {
169 break;
170 }
171 }
172
174
175 x1 = baseX + 26;
176 y1 = baseY + 22;
177 x2 = baseX + 260;
178 y2 = baseY + 132;
179
180 if (x1 <= 0) {
181 x1 = 1;
182 }
183 if (y1 <= 0) {
184 y1 = 1;
185 }
186
188 return;
189 }
190
193 }
196 }
197
198 gDPSetScissor(
gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
199
200 mapSpace = PauseMapSpaces;
201 camX = cameraX + baseX;
202 camY = cameraY + baseY;
203 for (i = 0; i <
ARRAY_COUNT(PauseMapSpaces); i++, mapSpace++) {
204 posX = mapSpace->
pos.
x;
205 posY = mapSpace->
pos.
y;
206
208 continue;
209 }
210
211 if (i != PauseMapCursorCurrentOption) {
212 gDPSetPrimColor(
gMainGfxPos++, 0, 0, 220, 80, 30, 255);
213 } else {
217 }
218
219 bigPointX = camX + 26 + posX;
220 bigPointY = camY + 22 + posY;
221 pause_draw_rect((bigPointX - 8) * 4, (bigPointY - 8) * 4, (bigPointX + 8) * 4, (bigPointY + 8) * 4, 0, 0, 0, 0x400, 0x400);
223 gDPSetPrimColor(
gMainGfxPos++, 0, 0, 230, 190, 180, 255);
224
226 path = mapSpace->
path;
227 if (path) {
228 pathX = 0;
229 pathY = 0;
230 for (j = 0; j < pathLength; j++, path++) {
233 pause_draw_rect((camX + 26 + posX + pathX - 8) * 4, (camY + 22 + posY + pathY - 8) * 4, (camX + 26 + posX + pathX + 8) * 4, (camY + 22 + posY + pathY + 8) * 4, 1, 0, 0, 0x400, 0x400);
234 }
235 }
236 }
237
238 mapULX = baseX + 26 + cameraX;
239 mapULY = baseY + 22 + cameraY;
242
244 if (currentTab == 6) {
246
249 offsetLeft = offset;
250 offsetRight = offset;
251 offsetUp = offset;
252 offsetDown = offset;
253
255
256 if (!(PauseMapCameraX < 0.0f)) {
257 offsetLeft = 0;
258 }
260
261 if (!(PauseMapCameraX > -86.0f)) {
262 offsetRight = 0;
263 }
265
266 if (!(PauseMapCameraY < 0.0f)) {
267 offsetUp = 0;
268 }
270
271 if (!(PauseMapCameraY > -210.0f)) {
272 offsetDown = 0;
273 }
275 }
276 }
277 {
278 s32 x1, y1, x2, y2;
279
280 x1 = baseX + 18;
281 y1 = baseY + 14;
282 x2 = baseX + 268;
283 y2 = baseY + 140;
284
285 if (x1 <= 0) {
286 x1 = 1;
287 }
288 if (y1 <= 0) {
289 y1 = 1;
290 }
291
293 return;
294 }
295
298 }
301 }
302
303 gDPSetScissor(
gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
304 }
305 draw_box(0, &
gPauseWS_27, baseX + 18, baseY + 14, 0, 250, 126, opacity, darkening, 1.0f, 1.0f, 0, 0, 0, 0, 0, 0, width, height, 0);
306}
s32 evt_get_variable(Evt *script, Bytecode var)
void hud_element_draw_without_clipping(s32 id)
void hud_element_set_render_pos(s32 id, s32 x, s32 y)
WindowStyleCustom gPauseWS_27
void pause_set_cursor_pos(s32 windowID, s32 posX, s32 posY)
void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileIdx, s32 uls, s32 ult, s32 dsdx, s32 dtdy)
void pause_map_draw_border_arrows(s32 imageIndex, s32 x, s32 y)
s32 PauseMapArrowWobble[]
GameStatus * gGameStatusPtr