MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Recruit_Render_Sidebar

Method Recruit_Render_Sidebar

Source/Recruits.cpp:1443–1512  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1441}
1442
1443void cFodder::Recruit_Render_Sidebar() {
1444 int16 SpriteType = 0xAD;
1445 int16 PosX = 0;
1446 int16 PosY = 0x18;
1447
1448 // Draw Heroes Heading
1449 mGraphics->Sidebar_Copy_Sprite_To_ScreenBufPtr(SpriteType, PosX, PosY);
1450
1451 int16 Data14 = 0x0E;
1452 SpriteType = 4;
1453
1454 for (auto& Hero : mGame_Data.Heroes_Get()) {
1455 if (Hero.mKills == 0)
1456 break;
1457
1458 Data14 += 0x0C;
1459 }
1460
1461 // Draw Empty Hero Slots
1462 PosY = 0x0E;
1463 do {
1464 SpriteType = 0xA9;
1465 if (PosY >= Data14)
1466 SpriteType = 0xAB;
1467
1468 PosX = 0;
1469 mGraphics->Sidebar_Copy_Sprite_To_ScreenBufPtr(SpriteType, PosX, PosY + 0x18);
1470 PosY += 0x0C;
1471
1472 } while (PosY < 0x4A);
1473
1474 //seg003:1E89
1475
1476 // Draw Squad Heading
1477 SpriteType = 0xAE;
1478 PosX = 0;
1479 PosY = 0x4A + 0x18;
1480 mGraphics->Sidebar_Copy_Sprite_To_ScreenBufPtr(SpriteType, PosX, PosY);
1481
1482 PosY = 0x58;
1483 Data14 = mGame_Data.mGamePhase_Data.mSoldiers_Required + mGame_Data.mGamePhase_Data.mSoldiers_Allocated_Count;
1484 Data14 *= 0x0C;
1485 Data14 += PosY;
1486
1487 int16 Final = PLATFORM_BASED(0xA0, 0xB8);
1488
1489 // Draw Used Slot
1490 do {
1491 SpriteType = 0xA9;
1492 if (PosY >= Data14)
1493 SpriteType = 0xAB;
1494
1495 PosX = 0;
1496 mGraphics->Sidebar_Copy_Sprite_To_ScreenBufPtr(SpriteType, PosX, PosY + 0x18);
1497 PosY += 0x0C;
1498
1499 } while (PosY < Final);
1500

Callers

nothing calls this directly

Calls 2

Heroes_GetMethod · 0.80

Tested by

no test coverage detected