| 54d2d583 |
sago007 |
2018-04-05 17:52 |
1 |
/* |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
2 |
=========================================================================== |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
3 |
blockattack - Block Attack - Rise of the Blocks |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
4 |
Copyright (C) 2005-2018 Poul Sander |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
5 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
6 |
This program is free software: you can redistribute it and/or modify |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
7 |
it under the terms of the GNU General Public License as published by |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
8 |
the Free Software Foundation, either version 2 of the License, or |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
9 |
(at your option) any later version. |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
10 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
11 |
This program is distributed in the hope that it will be useful, |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
14 |
GNU General Public License for more details. |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
15 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
16 |
You should have received a copy of the GNU General Public License |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
17 |
along with this program. If not, see http://www.gnu.org/licenses/ |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
18 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
19 |
Source information and contacts persons can be found at |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
20 |
https://blockattack.net |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
21 |
=========================================================================== |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
22 |
*/ |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
23 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
24 |
#include "HelpGamepadState.hpp" |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
25 |
#include "global.hpp" |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
26 |
#include "common.h" |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
27 |
#include "MenuSystem.h" |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
28 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
29 |
HelpGamepadState::HelpGamepadState() { |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
30 |
moveLabel.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
31 |
moveLabel.SetFontSize(30); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
32 |
moveLabel.SetOutline(1, {128,128,128,255}); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
33 |
moveLabel.SetText(_("Move cursor")); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
34 |
pushLabel.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
35 |
pushLabel.SetFontSize(30); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
36 |
pushLabel.SetOutline(1, {128,128,128,255}); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
37 |
pushLabel.SetText(_("Push line")); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
38 |
backLabel.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
39 |
backLabel.SetFontSize(30); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
40 |
backLabel.SetOutline(1, {128,128,128,255}); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
41 |
backLabel.SetText(_("Back (Menu)")); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
42 |
switchLabel.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
43 |
switchLabel.SetFontSize(30); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
44 |
switchLabel.SetOutline(1, {128,128,128,255}); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
45 |
switchLabel.SetText(_("Switch")); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
46 |
confirmLabel.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
47 |
confirmLabel.SetFontSize(30); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
48 |
confirmLabel.SetOutline(1, {128,128,128,255}); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
49 |
confirmLabel.SetText(_("Confirm")); |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
50 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
51 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
52 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
53 |
HelpGamepadState::~HelpGamepadState() { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
54 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
55 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
56 |
bool HelpGamepadState::IsActive() { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
57 |
return isActive; |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
58 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
59 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
60 |
void HelpGamepadState::ProcessInput(const SDL_Event& event, bool& processed) { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
61 |
UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
62 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
63 |
if (isConfirmEvent(event) || isEscapeEvent(event)) { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
64 |
isActive = false; |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
65 |
processed = true; |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
66 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
67 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
68 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
69 |
void HelpGamepadState::Draw(SDL_Renderer* target) { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
70 |
DrawBackground(target); |
| a5421912 |
sago007 |
2018-04-07 14:13 |
71 |
const sago::SagoSprite& gamepad = globalData.spriteHolder->GetSprite("help_controller"); |
| a5421912 |
sago007 |
2018-04-07 14:13 |
72 |
gamepad.Draw(target, SDL_GetTicks(), globalData.xsize/2-480/2, 100); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
73 |
SDL_RenderDrawLine(target, 100, 210, globalData.xsize/2-480/2+130, 210); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
74 |
SDL_RenderDrawLine(target, 100, 298, globalData.xsize/2-480/2+158, 298); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
75 |
SDL_RenderDrawLine(target, 100, 210, 100, 400); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
76 |
moveLabel.Draw(target, 100, 404, sago::SagoTextField::Alignment::center); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
77 |
SDL_RenderDrawLine(target, globalData.xsize/2-480/2+140, 90, globalData.xsize/2-480/2+140, 105); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
78 |
SDL_RenderDrawLine(target, globalData.xsize/2+480/2-140, 90, globalData.xsize/2+480/2-140, 105); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
79 |
SDL_RenderDrawLine(target, globalData.xsize/2-480/2+140, 90, globalData.xsize/2+480/2-140, 90); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
80 |
SDL_RenderDrawLine(target, globalData.xsize/2, 80, globalData.xsize/2, 90); |
| 492b2753 |
sago007 |
2018-04-07 14:37 |
81 |
pushLabel.Draw(target, globalData.xsize/2, 80, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::bottom); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
82 |
SDL_RenderDrawLine(target, 625, 168, 800, 168); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
83 |
SDL_RenderDrawLine(target, 800, 158, 800, 168); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
84 |
backLabel.Draw(target, 800, 156, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::bottom); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
85 |
SDL_RenderDrawLine(target, 625, 241, 900, 241); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
86 |
SDL_RenderDrawLine(target, 663, 207, 900, 207); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
87 |
SDL_RenderDrawLine(target, 900, 207, 900, 400); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
88 |
switchLabel.Draw(target, 900, 404, sago::SagoTextField::Alignment::center); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
89 |
confirmLabel.Draw(target, 900, 404+30, sago::SagoTextField::Alignment::center); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
90 |
#if 1 |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
91 |
static sago::SagoTextField mousePos; |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
92 |
mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder()); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
93 |
mousePos.SetFontSize(16); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
94 |
mousePos.SetOutline(1, {128,128,128,255}); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
95 |
mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey)); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
96 |
mousePos.Draw(target, 0,0); |
| 79d765a2 |
sago007 |
2018-04-07 17:35 |
97 |
#endif |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
98 |
} |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
99 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
100 |
void HelpGamepadState::Update() { |
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
101 |
|
| 54d2d583 |
sago007 |
2018-04-05 17:52 |
102 |
} |