annotate GUI/GUIButton.cpp @ 2541:a902abdfc7f2

1. Renamed class Game to class Engine. 2. Separated game logic as state of FSM from game logic as engine. 3. Found out that many UI screen initializers were optimized away, intially they all returned newly created window as separate object like it is done in CharacterUI_Initialize.
author a.parshin
date Sun, 10 May 2015 01:29:11 +0200
parents a77c34acdbc9
children c674d547cc7c
rev   line source
2502
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
1 #define _CRTDBG_MAP_ALLOC
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
2 #include <stdlib.h>
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
3 #include <crtdbg.h>
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
4
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
5 #define _CRT_SECURE_NO_WARNINGS
2541
a902abdfc7f2 1. Renamed class Game to class Engine.
a.parshin
parents: 2502
diff changeset
6
a902abdfc7f2 1. Renamed class Game to class Engine.
a.parshin
parents: 2502
diff changeset
7 #include "Engine/Engine.h"
a902abdfc7f2 1. Renamed class Game to class Engine.
a.parshin
parents: 2502
diff changeset
8
2502
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
9 #include "GUIButton.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
10 #include "GUIWindow.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
11 #include "GUIFont.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
12
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
13 #include "Engine/LOD.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
14 #include "Engine/Texts.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
15 #include "OSWindow.h"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
16
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
17
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
18
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
19 struct GUIButton *pBtn_CloseBook;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
20 struct GUIButton *pBtn_InstallRemoveSpell;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
21 struct GUIButton *pBtn_Autonotes_Instructors;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
22 struct GUIButton *pBtn_Autonotes_Misc;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
23 struct GUIButton *pBtn_Book_6;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
24 struct GUIButton *pBtn_Book_5;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
25 struct GUIButton *pBtn_Book_4;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
26 struct GUIButton *pBtn_Book_3;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
27 struct GUIButton *pBtn_Book_2;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
28 struct GUIButton *pBtn_Book_1;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
29
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
30
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
31 struct GUIButton *pPlayerCreationUI_BtnReset;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
32 struct GUIButton *pPlayerCreationUI_BtnOK;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
33 struct GUIButton *pBtn_ExitCancel;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
34 struct GUIButton *pBtn_YES;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
35 struct GUIButton *pPlayerCreationUI_BtnPlus;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
36 struct GUIButton *pPlayerCreationUI_BtnMinus;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
37
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
38
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
39 struct GUIButton *pButton_RestUI_Main;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
40 struct GUIButton *pButton_RestUI_Exit;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
41 struct GUIButton *pButton_RestUI_Wait5Minutes;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
42 struct GUIButton *pButton_RestUI_WaitUntilDawn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
43 struct GUIButton *pButton_RestUI_Wait1Hour;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
44
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
45
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
46 struct GUIButton *pCharacterScreen_ExitBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
47 struct GUIButton *pCharacterScreen_AwardsBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
48 struct GUIButton *pCharacterScreen_InventoryBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
49 struct GUIButton *pCharacterScreen_SkillsBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
50 struct GUIButton *pCharacterScreen_StatsBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
51 struct GUIButton *pCharacterScreen_DollBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
52 struct GUIButton *pCharacterScreen_DetalizBtn;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
53
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
54
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
55 struct GUIButton *pBtn_NPCRight;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
56 struct GUIButton *pBtn_NPCLeft;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
57 struct GUIButton *pBtn_GameSettings;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
58 struct GUIButton *pBtn_QuickReference;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
59 struct GUIButton *pBtn_CastSpell;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
60 struct GUIButton *pBtn_Rest;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
61 struct GUIButton *pBtn_History;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
62 struct GUIButton *pBtn_Calendar;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
63 struct GUIButton *pBtn_Maps;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
64 struct GUIButton *pBtn_Autonotes;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
65 struct GUIButton *pBtn_Quests;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
66
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
67
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
68 struct GUIButton *pMMT_MainMenu_BtnMM6;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
69 struct GUIButton *pMMT_MainMenu_BtnMM7;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
70 struct GUIButton *pMMT_MainMenu_BtnMM8;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
71 struct GUIButton *pMMT_MainMenu_BtnContinue;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
72 struct GUIButton *pMMT_MainMenu_BtnExit;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
73
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
74
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
75 struct GUIButton *pMainMenu_BtnExit;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
76 struct GUIButton *pMainMenu_BtnCredits;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
77 struct GUIButton *pMainMenu_BtnLoad;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
78 struct GUIButton *pMainMenu_BtnNew;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
79
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
80
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
81 struct GUIButton *pBtn_Up;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
82 struct GUIButton *pBtn_Down;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
83 struct GUIButton *ptr_507BA4;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
84
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
85
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
86 struct GUIWindow *pPrimaryWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
87 struct GUIWindow *pChestWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
88 struct GUIWindow *pDialogueWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
89 struct GUIWindow *window_SpeakInHouse;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
90 struct GUIWindow *pGUIWindow_ScrollWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
91 struct GUIWindow *ptr_507BC8;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
92 struct GUIWindow *pGUIWindow_CurrentMenu;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
93 struct GUIWindow *ptr_507BD0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
94 struct GUIWindow *pGUIWindow_Settings;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
95 struct GUIWindow *pModalWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
96 struct GUIWindow *pGUIWindow_EscMessageWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
97 struct GUIWindow *pBooksWindow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
98 struct GUIWindow *pGUIWindow2;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
99
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
100
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
101 struct GUIButton *pBtn_Resume;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
102 struct GUIButton *pBtn_QuitGame;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
103 struct GUIButton *pBtn_GameControls;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
104 struct GUIButton *pBtn_LoadGame;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
105 struct GUIButton *pBtn_SaveGame;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
106 struct GUIButton *pBtn_NewGame;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
107
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
108 struct GUIButton *pBtn_SliderRight;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
109 struct GUIButton *pBtn_SliderLeft;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
110
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
111
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
112 struct GUIButton *pBtnDownArrow;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
113 struct GUIButton *pBtnArrowUp;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
114 struct GUIButton *pBtnCancel;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
115 struct GUIButton *pBtnLoadSlot;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
116
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
117
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
118 std::array<GUIButton*, 4> pCreationUI_BtnPressRight2;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
119 std::array<GUIButton*, 4> pCreationUI_BtnPressLeft2;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
120 std::array<GUIButton*, 4> pCreationUI_BtnPressLeft;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
121 std::array<GUIButton*, 4> pCreationUI_BtnPressRight;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
122
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
123
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
124
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
125
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
126
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
127
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
128 //----- (0041D0D8) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
129 void GUIButton::Release()
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
130 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
131 if ( this )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
132 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
133 if ( this == this->pParent->pControlsHead )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
134 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
135 if ( this->pNext )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
136 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
137 this->pParent->pControlsHead = this->pNext;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
138 this->pNext->pPrev = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
139 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
140 else
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
141 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
142 this->pParent->pControlsHead = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
143 this->pParent->pControlsTail = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
144 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
145 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
146 else
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
147 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
148 if ( this->pNext )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
149 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
150 this->pPrev->pNext = this->pNext;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
151 this->pNext->pPrev = this->pPrev;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
152 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
153 else
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
154 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
155 this->pPrev->pNext = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
156 this->pParent->pControlsTail = this->pPrev;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
157 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
158 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
159 --this->pParent->uNumControls;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
160 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
161 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
162
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
163 //----- (00415180) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
164 void GUIButton::DrawLabel( const char *label_text, struct GUIFont *pFont, int a5, int uFontShadowColor )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
165 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
166 //strlen(edx0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
167 return pParent->DrawText(pFont,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
168 this->uX + (signed int)(this->uWidth - pFont->GetLineWidth(label_text)) / 2,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
169 this->uY + (signed int)(this->uHeight - pFont->uFontHeight) / 2,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
170 a5, label_text, 0, 0, uFontShadowColor);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
171 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
172 //----- (004B36CC) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
173 void CreateButtonInColumn( int column_pos, unsigned int control_id )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
174 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
175 pDialogueWindow->CreateButton( 480, 30 * column_pos + 146, 140, 30, 1, 0, UIMSG_SelectShopDialogueOption, control_id, 0, "", 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
176 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
177 //----- (00419379) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
178 void ReleaseAwardsScrollBar()
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
179 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
180 GUIButton *pButton; // esi@2
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
181
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
182 if ( awards_scroll_bar_created )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
183 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
184 awards_scroll_bar_created = false;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
185 ptr_507BA4->Release();
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
186 pBtn_Up->Release();
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
187 pBtn_Down->Release();
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
188 pBtn_Down = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
189 pBtn_Up = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
190 for ( pButton = pGUIWindow_CurrentMenu->pControlsHead; pButton; pButton = pButton->pNext )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
191 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
192 if ( pButton->msg == UIMSG_InventoryLeftClick )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
193 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
194 pButton->uX = dword_50698C_uX;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
195 pButton->uY = dword_506988_uY;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
196 pButton->uZ = dword_506984_uZ;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
197 pButton->uW = dword_506980_uW;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
198 pGUIWindow_CurrentMenu->_41D08F_set_keyboard_control_group(1, 0, 0, 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
199 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
200 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
201 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
202 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
203 //----- (00419220) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
204 void CreateAwardsScrollBar()
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
205 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
206 GUIButton *pButton; // eax@2
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
207
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
208 if ( !awards_scroll_bar_created )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
209 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
210 awards_scroll_bar_created = 1;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
211 for ( pButton = pGUIWindow_CurrentMenu->pControlsHead; pButton; pButton = pButton->pNext )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
212 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
213 if ( pButton->msg == UIMSG_InventoryLeftClick )
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
214 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
215 dword_50698C_uX = pButton->uX;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
216 dword_506988_uY = pButton->uY;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
217 dword_506984_uZ = pButton->uZ;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
218 dword_506980_uW = pButton->uW;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
219 pButton->uW = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
220 pButton->uZ = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
221 pButton->uY = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
222 pButton->uX = 0;
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
223 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
224 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
225 pBtn_Up = pGUIWindow_CurrentMenu->CreateButton(438, 46,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
226 pIcons_LOD->GetTexture(uTextureID_ar_up_up)->uTextureWidth,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
227 pIcons_LOD->GetTexture(uTextureID_ar_up_up)->uTextureHeight,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
228 1, 0, UIMSG_ClickAwardsUpBtn, 0, 0, "",
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
229 pIcons_LOD->GetTexture(uTextureID_ar_up_up),
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
230 pIcons_LOD->GetTexture(uTextureID_ar_up_dn), 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
231 pBtn_Down = pGUIWindow_CurrentMenu->CreateButton(438, 292,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
232 pIcons_LOD->GetTexture(uTextureID_ar_dn_up)->uTextureWidth,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
233 pIcons_LOD->GetTexture(uTextureID_ar_dn_up)->uTextureHeight,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
234 1, 0, UIMSG_ClickAwardsDownBtn, 0, 0, "",
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
235 pIcons_LOD->GetTexture(uTextureID_ar_dn_up),
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
236 pIcons_LOD->GetTexture(uTextureID_ar_dn_dn), 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
237 ptr_507BA4 = pGUIWindow_CurrentMenu->CreateButton(440, 62, 16, 232, 1, 0, UIMSG_ClickAwardScrollBar, 0, 0, "", 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
238 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
239 }
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
240 //----- (004BCA33) --------------------------------------------------------
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
241 void UI_CreateEndConversationButton()
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
242 {
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
243 pDialogueWindow->Release();
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
244 pDialogueWindow = GUIWindow::Create(0, 0, window->GetWidth(), 345, WINDOW_MainMenu, 0, 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
245 pBtn_ExitCancel = pDialogueWindow->CreateButton( 471, 445, 169, 35, 1, 0, UIMSG_Escape, 0, 0,
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
246 pGlobalTXT_LocalizationStrings[74], //"End Conversation"
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
247 pIcons_LOD->GetTexture(uExitCancelTextureId), 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
248 pDialogueWindow->CreateButton(8, 8, 450, 320, 1, 0, UIMSG_BuyInShop_Identify_Repair, 0, 0, "", 0);
a77c34acdbc9 Media folder
Ritor1
parents:
diff changeset
249 }