+ Res().capsulebg->Render(screen, Vector<int>(), Vector<int>(screen->w, screen->h));
+}
+
+void CapsuleMenu::RenderCapsule(SDL_Surface *screen, const Vector<int> &offset) const {
+ GetCapsule().BattleSprite()->DrawCenterBottom(screen, offset);
+}
+
+void CapsuleMenu::RenderInfo(SDL_Surface *screen, const Vector<int> &offset) const {
+ const Capsule &capsule(GetCapsule());
+ const Font &font(*Res().statusFont);
+ const Vector<int> delimiterOffset(5 * font.CharWidth(), 0);
+ const Vector<int> valueOffset(6 * font.CharWidth(), 0);
+ const Vector<int> lineBreak(0, font.CharHeight() + font.CharHeight() / 2);
+ Vector<int> lineHead(offset);
+
+ font.DrawString(Res().capsuleNameLabel, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ font.DrawString(capsule.Name(), screen, lineHead + valueOffset);
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleClassLabel, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ font.DrawString(capsule.ClassName(), screen, lineHead + valueOffset);
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleAlignmentLabel, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ font.DrawString(capsule.Alignment(), screen, lineHead + valueOffset);
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleTribeLabel, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ font.DrawString(capsule.Tribe(), screen, lineHead + valueOffset);
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleAttack1Label, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ if (capsule.Attack1()) {
+ font.DrawString(capsule.Attack1()->Name(), screen, lineHead + valueOffset);
+ } else {
+ font.DrawString(Res().capsuleNoAttackText, screen, lineHead + valueOffset);
+ }
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleAttack1Label, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ if (capsule.Attack2()) {
+ font.DrawString(capsule.Attack2()->Name(), screen, lineHead + valueOffset);
+ } else {
+ font.DrawString(Res().capsuleNoAttackText, screen, lineHead + valueOffset);
+ }
+
+ lineHead += lineBreak;
+ font.DrawString(Res().capsuleAttack1Label, screen, lineHead, 5);
+ font.DrawChar(':', screen, lineHead + delimiterOffset);
+ if (capsule.Attack3()) {
+ font.DrawString(capsule.Attack3()->Name(), screen, lineHead + valueOffset);
+ } else {
+ font.DrawString(Res().capsuleNoAttackText, screen, lineHead + valueOffset);
+ }
+}
+
+void CapsuleMenu::RenderWheel(SDL_Surface *screen, const Vector<int> &offset) const {
+ // later