MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / zSaveLoad_GameSelect

Function zSaveLoad_GameSelect

src/SB/Game/zSaveLoad.cpp:1458–1651  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1456}
1457
1458S32 zSaveLoad_GameSelect(S32 mode)
1459{
1460 S32 done = 0;
1461 S32 i;
1462 st_XSAVEGAME_DATA* svinst;
1463 S32 use_tgt;
1464
1465 badCard = 1;
1466 while (badCard != 0)
1467 {
1468 currentGame = -1;
1469 promptSel = -1;
1470 use_tgt = CardtoTgt(currentCard);
1471
1472 if (mode == 1)
1473 {
1474 zSaveLoad_UIEvent(0, eEventEnable);
1475 zSaveLoad_UIEvent(0, eEventUIFocusOn);
1476 zSaveLoad_UIEvent(0x33, eEventUIFocusOn);
1477 }
1478 else
1479 {
1480 zSaveLoad_UIEvent(0x34, eEventUIFocusOn);
1481 }
1482
1483 for (i = 0; i < 3; i++)
1484 {
1485 svinst = xSGInit(XSG_MODE_LOAD);
1486 xSGTgtSelect(svinst, use_tgt);
1487 if (xSGGameIsEmpty(svinst, i))
1488 {
1489 if (mode == 1)
1490 {
1491 zSaveLoad_UIEvent(i + 6, eEventDisable);
1492 }
1493 strcpy(zSaveLoadGameTable[i].label, "Empty");
1494 strcpy(zSaveLoadGameTable[i].date, "Empty");
1495 zSaveLoadGameTable[i].progress = 0;
1496 zSaveLoadGameTable[i].size = 0;
1497 zSaveLoadGameTable[i].thumbIconIndex = -1;
1498 }
1499 else
1500 {
1501 strcpy(zSaveLoadGameTable[i].label, xSGGameLabel(svinst, i));
1502 if (strcmpi(zSaveLoadGameTable[i].label, zSceneGetLevelName('MNU3')) == 0)
1503 {
1504 strcpy(zSaveLoadGameTable[i].label, zSceneGetLevelName('HB01'));
1505 }
1506 strcpy(zSaveLoadGameTable[i].date, xSGGameModDate(svinst, i));
1507 zSaveLoadGameTable[i].progress = xSGGameProgress(svinst, i);
1508 zSaveLoadGameTable[i].size = xSGGameSize(svinst, i);
1509 zSaveLoadGameTable[i].size = zSaveLoadGameTable[i].size + 0x1fff & 0xffffe000;
1510 zSaveLoadGameTable[i].size >>= 0xd;
1511 zSaveLoadGameTable[i].size += 3;
1512
1513 zSendEventToThumbIcon(3);
1514 zSaveLoadGameTable[i].thumbIconIndex = xSGGameThumbIndex(svinst, i);
1515 if (strcmpi(zSaveLoadGameTable[i].label, "") == 0)

Callers 2

zSaveLoad_LoadLoopFunction · 0.70
zSaveLoad_SaveLoopFunction · 0.70

Calls 15

zSaveLoad_UIEventFunction · 0.85
xSGGameIsEmptyFunction · 0.85
strcmpiFunction · 0.85
zSendEventToThumbIconFunction · 0.85
zSaveLoad_slotIsEmptyFunction · 0.85
zSaveLoad_pollFunction · 0.85
zSaveLoad_CardCheckValidFunction · 0.85
CardtoTgtFunction · 0.70
zSceneGetLevelNameFunction · 0.70

Tested by

no test coverage detected