Factor out the game toolbars into a class.

This includes the following related or incidental changes:
* Remove the win_from_rects global variable. With one minor exception, they were all equal to the relevant render texture's size anyway.
* Split out time advancement from the handle_action function into a separate function
* Split out each individual button action into its own function
* Thanks to the above two, button actions triggered from the keyboard (and menu spells) no longer pass thru handle_action
* Side-effect: keyboard shortcuts and menu spells no longer trigger the button press animation
* Button presses now behave like proper buttons
* Button clicks are now grouped by effect in the handling code, rather than by index
* Removed a variable that mysteriously caused dialogue to become blank
This commit is contained in:
2020-01-30 00:00:40 -05:00
parent 1d61d48ec3
commit 4859fa70bc
12 changed files with 466 additions and 296 deletions

View File

@@ -117,6 +117,7 @@
<ClInclude Include="..\..\..\src\game\boe.text.hpp" />
<ClInclude Include="..\..\..\src\game\boe.town.hpp" />
<ClInclude Include="..\..\..\src\game\boe.townspec.hpp" />
<ClInclude Include="..\..\..\src\game\boe.ui.hpp" />
<ClInclude Include="..\..\..\rsrc\menus\boeresource.h" />
</ItemGroup>
<ItemGroup>
@@ -142,6 +143,7 @@
<ClCompile Include="..\..\..\src\game\boe.text.cpp" />
<ClCompile Include="..\..\..\src\game\boe.town.cpp" />
<ClCompile Include="..\..\..\src\game\boe.townspec.cpp" />
<ClCompile Include="..\..\..\src\game\boe.ui.cpp" />
<ClCompile Include="..\..\..\src\pcedit\pc.editors.cpp" />
</ItemGroup>
<ItemGroup>

View File

@@ -81,6 +81,9 @@
<ClInclude Include="..\..\..\src\game\boe.actions.hpp">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\game\boe.ui.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\game\boe.actions.cpp">
@@ -140,6 +143,9 @@
<ClCompile Include="..\..\..\src\game\boe.townspec.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\game\boe.ui.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\pcedit\pc.editors.cpp">
<Filter>Source Files</Filter>
</ClCompile>