117 switch (imageIndex) {
119 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0, 0x400, 0x400);
122 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x200, 0x400, 0x400);
125 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x400, 0x400, 0x400);
128 pause_draw_rect(x * 4, y * 4, (x + size) * 4, (y + size) * 4, 0, 0, 0x600, 0x400, 0x400);
134 s32 cameraX = PauseMapCameraX;
135 s32 cameraY = PauseMapCameraY;
139 s32 x1a, y1a, x2a, y2a;
146 s32 offset, offsetLeft, offsetRight, offsetUp, offsetDown;
148 s32 bigPointX, bigPointY;
154 for (i = 0; i < 60; i++) {
155 if (4 * i + 4 < 111) {
158 tileHeight = 111 - 4 * i;
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);
168 if (4 * i + 4 >= 110) {
198 gDPSetScissor(
gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
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;
211 if (i != PauseMapCursorCurrentOption) {
212 gDPSetPrimColor(
gMainGfxPos++, 0, 0, 220, 80, 30, 255);
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);
226 path = mapSpace->
path;
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);
238 mapULX = baseX + 26 + cameraX;
239 mapULY = baseY + 22 + cameraY;
244 if (currentTab == 6) {
250 offsetRight = offset;
256 if (!(PauseMapCameraX < 0.0f)) {
261 if (!(PauseMapCameraX > -86.0f)) {
266 if (!(PauseMapCameraY < 0.0f)) {
271 if (!(PauseMapCameraY > -210.0f)) {
303 gDPSetScissor(
gMainGfxPos++, G_SC_NON_INTERLACE, x1, y1, x2, y2);
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);
381 f32 PauseMapTargetYPosTemp = PauseMapTargetY;
382 f32 PauseMapTargetXPosTemp = PauseMapTargetX;
386 if (xMovement == 0.0f && yMovement == 0.0f && PauseMapCursorCurrentOption != -1) {
387 PauseMapSpace* mapSpace = &PauseMapSpaces[PauseMapCursorCurrentOption];
389 xMovement = mapSpace->
pos.
x - PauseMapTargetXPosTemp;
390 yMovement = mapSpace->
pos.
y - PauseMapTargetYPosTemp;
396 PauseMapTargetX += xMovement;
397 PauseMapTargetY += yMovement;
399 if (PauseMapTargetX < 16.0f) {
400 PauseMapTargetX = 16.0f;
403 if (PauseMapTargetY < 8.0f) {
404 PauseMapTargetY = 8.0f;
407 if (PauseMapTargetX >= 316.0f) {
408 PauseMapTargetX = 315.0f;
411 if (PauseMapTargetY >= 308.0f) {
412 PauseMapTargetY = 307.0f;
415 xTemp = PauseMapTargetX + PauseMapCameraX - 117.0;
416 yTemp = PauseMapTargetY + PauseMapCameraY - 55.0;
419 PauseMapCameraX -= xTemp - 53.0;
422 if (xTemp <= -37.0) {
423 PauseMapCameraX -= xTemp + 37.0;
427 PauseMapCameraY -= yTemp - 15.0;
430 if (yTemp <= -15.0) {
431 PauseMapCameraY -= yTemp + 15.0;
434 if (PauseMapCameraX > 0.0f) {
435 PauseMapCameraX = 0.0f;
438 if (PauseMapCameraY > 0.0f) {
439 PauseMapCameraY = 0.0f;
442 if (PauseMapCameraX < -86.0f) {
443 PauseMapCameraX = -86.0f;
446 if (PauseMapCameraY < -210.0f) {
447 PauseMapCameraY = -210.0f;
457 if (PauseMapCursorCurrentOption == -1) {
472 f32 lowestSqSum = 10000.0f;
473 f32 cursorOption = -1.0f;
476 PauseMapCursorCurrentOption = -1;
477 PauseMapSpacesInSnapRange = 0;
479 for (i = 0; i <
ARRAY_COUNT(PauseMapSpaces); i++, mapSpace++) {
481 f32 deltaX = PauseMapTargetX - mapSpace->
pos.
x;
482 f32 deltaY = PauseMapTargetY - mapSpace->
pos.
y;
483 f32 sqSum =
SQ(deltaX) +
SQ(deltaY);
485 if (sqSum < 400.0f) {
486 PauseMapSpacesInSnapRange++;
489 if (sqSum < lowestSqSum && sqSum < 200.0f) {
496 PauseMapCursorCurrentOption = cursorOption;
497 PauseMapCursorCurrentOptionCopy = cursorOption;