Add input style to match other, non-C&C, RTS games

Uses left-click for targeted orders (attack move, guard, selecting movement types from the command bar, etc.) and right-click for contextual ones. Works like basically all non-C&C games

Removed GameSettings.UseClassicMouseStyle, as it is replaced by MouseControlStyle


Changed Minelayer and Chronotank teleport to UnitOrderGenerator

Fixes bug with Modern controls issuing a move order cancelling a mine field order

Better organizes all unit orders into a single order generator base class, rather than having their logic spread across multiple base classes, which required some hacks to get the control logic to match
This commit is contained in:
Dominic Renaud
2025-11-10 22:12:48 -08:00
committed by Paul Chote
parent c47ebfbb52
commit f8eefe310c
22 changed files with 530 additions and 157 deletions

View File

@@ -71,49 +71,120 @@ Container@INPUT_PANEL:
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-commands
LabelWithHighlight@DESC_BUILDINGS:
LabelWithHighlight@DESC_ORDERS:
Y: 34
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-orders
LabelWithHighlight@DESC_BUILDINGS:
Y: 51
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-buildings
LabelWithHighlight@DESC_SUPPORT:
Y: 51
Y: 68
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-support
LabelWithHighlight@DESC_ZOOM:
Y: 68
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-zoom
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 68
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-zoom-modifier
LabelWithHighlight@DESC_SCROLL_RIGHT:
Y: 85
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-scroll-right
LabelWithHighlight@DESC_SCROLL_MIDDLE:
Y: 85
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-scroll-middle
Label@DESC_EDGESCROLL:
X: 9
Y: 102
Y: 118
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-classic-edgescroll
Container@MOUSE_CONTROL_DESC_OTHERRTS:
X: 10
Y: 55
Width: PARENT_WIDTH / 2 - 20
Children:
LabelWithHighlight@DESC_SELECTION:
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-selection
LabelWithHighlight@DESC_COMMANDS:
Y: 17
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-commands
LabelWithHighlight@DESC_ORDERS:
Y: 34
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-orders
LabelWithHighlight@DESC_BUILDINGS:
Y: 51
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-buildings
LabelWithHighlight@DESC_SUPPORT:
Y: 68
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-support
LabelWithHighlight@DESC_ZOOM:
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-zoom
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-zoom-modifier
LabelWithHighlight@DESC_SCROLL_RIGHT:
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-scroll-right
LabelWithHighlight@DESC_SCROLL_MIDDLE:
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-scroll-middle
Label@DESC_EDGESCROLL:
X: 9
Y: 118
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-otherrts-edgescroll
Container@MOUSE_CONTROL_DESC_MODERN:
X: 10
Y: 55
@@ -130,45 +201,51 @@ Container@INPUT_PANEL:
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-commands
LabelWithHighlight@DESC_BUILDINGS:
LabelWithHighlight@DESC_ORDERS:
Y: 34
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-orders
LabelWithHighlight@DESC_BUILDINGS:
Y: 51
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-buildings
LabelWithHighlight@DESC_SUPPORT:
Y: 51
Y: 68
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-support
LabelWithHighlight@DESC_ZOOM:
Y: 68
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-zoom
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 68
Y: 85
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-zoom-modifier
LabelWithHighlight@DESC_SCROLL_RIGHT:
Y: 85
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-scroll-right
LabelWithHighlight@DESC_SCROLL_MIDDLE:
Y: 85
Y: 102
Width: PARENT_WIDTH
Height: 16
Font: Small
Text: label-mouse-control-desc-modern-scroll-middle
Label@DESC_EDGESCROLL:
X: 9
Y: 102
Y: 118
Width: PARENT_WIDTH
Height: 16
Font: Small
@@ -213,7 +290,7 @@ Container@INPUT_PANEL:
Font: Regular
Text: checkbox-lockmouse-container
Container@SPACER:
Height: 30
Height: 46
Container@ROW:
Width: PARENT_WIDTH - 24
Height: 50