-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathchangelog.txt
249 lines (201 loc) · 10.1 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
Nov 11, 2023
- Added "abstraction" branch
- CNativeMenu::CurrentSubmenu, CurrentSubmenuID, and SelectionIndex are now all private members and have been renamed to have "m_" prefix
- Added CNativeMenu::GetCurrentSubmenu()
- Added CNativeMenu::GetSelectionIndex()
- Added CNativeMenu::SetSelectionIndex(int)
- CNativeMenu::g_SubmenusMap renamed to m_SubmenusMap
- CNativeMenu::DoesSubmenuExist() and CNativeMenu::IsOpen() are now inlined
- Option::bWasJustExecuted renamed to m_bWasJustExecuted
- Option::mFunc renamed to m_Function
- Removed unused variable Option::bInitialTextSet
- Submenu::mOption renamed to m_Options
- Submenu::GetNumberOfOptions() is now inlined
- VectorOption::mVectorContent renamed to m_VectorContent
- VectorOption::bWentLeft renamed to m_bWentLeft
- VectorOption::bWentRight renamed to m_bWentRight
- VectorOption::VectorIndex renamed to m_VectorIndex
- VectorOption::SetVector() and VectorOption::GetVectorIndex() are now inlined
- Removed special case Submenu::AddVectorOption() "const char*" overload, now handled in one function.
- Note: The only renamed variables were private members except the ones in CNativeMenu
---------------------------------------------- [Previous Updates] ----------------------------------------------
Aug 13, 2023
- Fixed the C2280 error that was described in CNativeMenu::AddSubmenu(). No heap allocations are happening anymore
Apr 22, 2023
- Added console.h which allows you to more easily print things to the debug console with some macros
- Added many debug prints in various functions ( only works if ALLOCATE_CONSOLE is 1 (TRUE) )
- Added function WaitAndDraw which has the same functionality as WAIT(), but now allows the menu to still function while yielding
- enum SubmenuID has been changed to eSubmenuID
- Removed Menu namespace
- Menu::Util:: renamed to UIUtil::
- Changed file names to be proper case
- Renamed solution from RDR2_NMB to NativeMenuBase
- Updated class Option:
- Abstract class
- This class is meant to be inherited from by other option types
- Added option classes all derived from Option:
- Class RegularOption
- Class BoolOption
- Class VectorOption
- Class SubmenuOption
- Class EmptyOption (PageBreak)
- All functions related to options types like VectorOption->SetVectorIndex(), etc, have been moved to their own respective class.
- m_LeftText renamed to Text, and made public
- m_RightText renamed to RightText, and has been moved to VectorOption, and made public
- m_Footer renamed to Footer, and made public
- Removed function GetText()
- Removed function SetText()
- Removed function GetFooter()
- Removed function SetFooter()
- Comes with As() function to convert between the base class Option and the other options
- Updated class Submenu:
- m_Options renamed to mOptions and is now std::vector<std::unique_ptr<Option>>. Accessibility is now protected
- m_Header renamed to Header
- m_SubHeader renamed to SubHeader
- m_ID renamed to ID and is now eSubmenuID
- m_NumVisibleOptions renamed to NumberOfVisibleOptions
- Removed m_NumOptions in favor of function GetNumberOfOptions()
- All Add...Option functions now return a pointer to the option it created
- Updated Drawing.cpp & Drawing.h:
- Removed some header functions in favor of Drawing::DrawMenu(), which draws everything
- Moved constants into their own static structs, and converted names to be proper case
- Converted constants to be constexpr instead of const
- Added some more constants
- Resized and repositioned some ui elements to be more aligned
- Fixed checkbox on all displays
- Changed some colors
- More support for other display sizes
- Updated Menu.hpp:
- Removed function RemoveSubmenusAtAndAfterThisID()
- Removed function ClearSubmenu()
- Removed bool param for GoToSubmenu, it is now handled internally
- Added function DeleteSubmenu()
Nov 8, 2022
- Renamed "g_NativeMenu" singleton variable to "g_Menu"
- Boolean options now draw a checkbox at all times
- Changed UI draw order to 0. Game UI will now take priority over the menu
- CNativeMenu::m_SelectionIndex --> SelectionIndex
- CNativeMenu::m_CurrentSubmenuID --> CurrentSubmenuID
- Removed duplicate fonts
- Fixed issue where opening the menu with a controller would prematurely enter a submenu
- Other misc changes
Oct 13, 2022
- Fixed more unaligned UI elements
- Improved font size calculation based on display size
- Added more UI constants
- Moved the drawing of the option counter to drawing.cpp
Oct 12, 2022
- Added Option::WasJustExecuted() and Option::WasJustPressed() (They do the same thing)
- Converted Option::GetVectorDirection() to use bool pointers instead of bool references
- Fixed radar display issues if bPlaySounds was false when calling CNativeMenu::SetEnabled()
- Fixed not being able to use menu properly if the prompts weren't active (Such as in a cutscene or near a pickup)
- Fixed many unaligned UI elements
- "Improved" text being unaligned at different font sizes
- Moved UI constants to drawing.cpp and drawing.h (from menu.hpp. drawing.cpp has most of them)
- Added more UI constants
- Updated natives file
- Optimizations
- Other minor fixes and changes
Jun 23, 2022
- Added CNativeMenu::m_CurrentSubmenuID
- Added CNativeMenu::RemoveSubmenu()
- Added CNativeMenu::ClearSubmenu()
- Added CNativeMenu::IsOpen()
- Added Option::GetVectorDirection()
- Added experimental font size adjuster based on display size
- Fixed Option::SetText() and added new parameter "bRight"
- Vector options now support multiple vector types
- Vector options now support unnamed scopes
- Updated example options to use different vector types
- Renamed CNativeMenu::ClearSubmenusAtAndAfterThisID to "RemoveSubmenusAtAnd..."
- Changed some variable names
- Lower footer font size to 18 (Was 19)
- Other misc changes
Jun 15, 2022
- Native Menu Base has been completely rewritten from scratch and is wayyyy easier to use and understand
- Rewritten to use classes
- Added class "Option". Each option is its own class
- "Menu" has been rewritten and now includes a new class "CNativeMenu"
- "CNativeMenu" class has some useful members and functions
- "Option" class has everything option related to it, including its index, vector, option type, text, etc
- Removed broken page indexing system, replaced by a new sub menu ID system
- Added scroller sprites
- "More fonts"
- And much more
------------------ [Obsolete Changes] ------------------
May 10, 2022
- String optimizations
- Moved macros to menu.h
- Added macro BUILD_1311_COMPATIBLE
- Overloaded function Menu::Util::SetOptionIndex
- Other misc changes
Apr 21, 2022
- Another update to core framework
- New Menu:: nested namespaces. Menu::New, Menu::Util, Menu::Header
- Menu:: namespace now has global variables you can access like m_pageIndex and m_selectionIndex instead of calling a function to get them
- Removed some Menu:: functions in favor of global variables
- MenuCreate:: namespace is now Menu::New
- Added new Menu::Util function, SetOptionIndex()
- Added new Menu:: function, SetMenuEnabled()
- Added enum eInputTypes, and VisibleOptionsInPage
- menu.cpp has been restructured
- You can now use Shift + Up & Down arrow keys to scroll 10 options at a time
- Renamed OnSelect() to ExecuteOptionFunc()
- Renamed OnVectorSwitch() to ExecuteVectorFunc()
- Renamed __DrawEntryPage__() to __EntryPage__()
- Changed controller keybind to RB + A (previously RB + B)
- Fixed horse whistling issue on controllers when pressing up on dpad
- Removed Menu::New::Separator() due to it not working properly
- Added macro PRINT_FUNC_NOT_FOUND in Core/menu.cpp
- Changed internal folder names
- Other misc changes
Feb 12, 2022
- Draw::DrawOption() has been replaced by a new MenuCreate namespace
- Option indexes are now automated (No more hard coded indexes! (mostly))
- footer.cpp & .h have been deleted in favor of new MenuCreate namespace functions
- Menu::SetFunction() has been deleted in favor of new MenuCreate namespace functions
- Toggle Option are now called Vector Options. Toggle Options are now literally on/off functions
- ShowSubtitle() has been renamed to PrintSubtitle
- Menu::DoesOptionHavePage() and DoesOptionHaveToggle() have been renamed to IsOptionAPage and IsOptionAToggle. Added function IsOptionAVector
- Menu::OnToggle() has been renamed to OnVectorSwitch
- Menu::SetToggleSelection() has been renamed to SetVectorSelection
- Menu::SetTextAtPos() has been renamed to SetTextForVectorAtPos
- Menu::AddOptionsToToggle() has been renamed and is no longer a public function
- Menu::SetFunction() is no longer a public function. Replaced by new MenuCreate namespace
- Added new parameter to Menu::GetTextAtCurrentSelection()
- Created "Core" folder. menu.cpp/.h and script.cpp/.h have been moved there
- You can now set the number of visible options in a page
- Other misc changes
Feb 6, 2022
- Added another function example
- Moved Font and Alignment enums to enums.h
Feb 5, 2022
- Rewrite of how menu options use and call functions
- Renamed menuitemfunctions.cpp and .h to functions.cpp and .h
- Changed default key to open menu on controller (RB + B)
Nov 16, 2021
- GetCurrentPageIndex() and GetCurrentSelectedIndex() are now pointers
- Added new function Menu::GetTextAtCurrentSelection()
Nov 10, 2021
- DrawListOption() and DrawToggleOption() have been replaced with DrawOption()
- AddSingleOption() and AddMultipleOptions() have been replaced with AddOptionsToToggle() (+1 overload)
- DoesOptionHavePage() and DoesOptionHaveToggle() are now automatic and have been moved to menu.cpp
- DrawSprite() has been moved to menu.h
- Most functions in menu.h are now in different namespaces for organization purposes (Draw, Header, Menu)
- New functions in menu.cpp (SetToggleSelection, SetTextAtPos, GetToggleSelection)
- Pages.cpp has been converted to specifically only to draw and create pages.
- Functions from there have either been moved to menu.cpp or deleted. By default, the only defined function is DrawPage()
- Improved examples of how to execute code when an option is pressed
- Updated natives.h
Nov 2, 2021
- Small fixes and changes
Oct 5, 2021
- Controller Support
Sep 20, 2021 [dont-att-me #3]
- Re-implemented DrawCSSText, Included DRAW_SPRITE wrapper
Sep 19, 2021
- Toggle Option Support
Sep 9, 2021 [iJamesss #1]
- Implemented Scrolling
Sep 6, 2021
- Release