Browse Source

[touch] Indicate level up in a touch friendly way

pull/3282/head
Anders Jenbo 4 years ago
parent
commit
609414fd69
  1. BIN
      Packaging/resources/assets/ui_art/menu-levelup.png
  2. 6
      Source/controls/touch/renderers.cpp
  3. 1
      Source/controls/touch/renderers.h
  4. 2
      Source/scrollrt.cpp

BIN
Packaging/resources/assets/ui_art/menu-levelup.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

6
Source/controls/touch/renderers.cpp

@ -199,10 +199,13 @@ void VirtualGamepadRenderer::LoadArt(SDL_Renderer *renderer)
void VirtualMenuPanelRenderer::LoadArt(SDL_Renderer *renderer)
{
menuArt.surface.reset(LoadPNG("ui_art\\menu.png"));
menuArtLevelUp.surface.reset(LoadPNG("ui_art\\menu-levelup.png"));
if (renderer != nullptr) {
menuArt.texture.reset(SDL_CreateTextureFromSurface(renderer, menuArt.surface.get()));
menuArt.surface = nullptr;
menuArtLevelUp.texture.reset(SDL_CreateTextureFromSurface(renderer, menuArtLevelUp.surface.get()));
menuArtLevelUp.surface = nullptr;
}
}
@ -246,7 +249,7 @@ void VirtualMenuPanelRenderer::Render(RenderFunction renderFunction)
int width = virtualMenuPanel->area.size.width;
int height = virtualMenuPanel->area.size.height;
SDL_Rect rect { x, y, width, height };
renderFunction(menuArt, nullptr, &rect);
renderFunction(MyPlayer->_pStatPts == 0 ? menuArt : menuArtLevelUp, nullptr, &rect);
}
void VirtualDirectionPadRenderer::Render(RenderFunction renderFunction)
@ -481,6 +484,7 @@ void VirtualGamepadRenderer::UnloadArt()
void VirtualMenuPanelRenderer::UnloadArt()
{
menuArt.Unload();
menuArtLevelUp.Unload();
}
void VirtualDirectionPadRenderer::UnloadArt()

1
Source/controls/touch/renderers.h

@ -65,6 +65,7 @@ public:
private:
VirtualMenuPanel *virtualMenuPanel;
Art menuArt;
Art menuArtLevelUp;
};
class VirtualDirectionPadRenderer {

2
Source/scrollrt.cpp

@ -1264,10 +1264,12 @@ void DrawView(const Surface &out, Point startPosition)
} else if (QuestLogIsOpen) {
DrawQuestLog(out);
}
#ifndef VIRTUAL_GAMEPAD
if (!chrflag && Players[MyPlayerId]._pStatPts != 0 && !spselflag
&& (!QuestLogIsOpen || !LeftPanel.Contains(MainPanel.position + Displacement { 0, -74 }))) {
DrawLevelUpIcon(out);
}
#endif
if (ShowUniqueItemInfoBox) {
DrawUniqueInfo(out);
}

Loading…
Cancel
Save