Initial commit: OpenRA game engine
Some checks failed
Continuous Integration / Linux (.NET 8.0) (push) Has been cancelled
Continuous Integration / Windows (.NET 8.0) (push) Has been cancelled

Fork from OpenRA/OpenRA with one-click launch script (start-ra.cmd)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
let5sne.win10
2026-01-10 21:46:54 +08:00
commit 9cf6ebb986
4065 changed files with 635973 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,134 @@
^Chrome:
Image: chrome.png
Image2x: chrome-2x.png
Image3x: chrome-3x.png
panel-header:
Inherits: ^Chrome
PanelRegion: 0, 512, 4, 4, 56, 56, 4, 4
panel-bg:
Inherits: ^Chrome
PanelRegion: 65, 512, 4, 4, 56, 56, 4, 4
panel-thinborder:
Inherits: ^Chrome
PanelRegion: 1, 513, 3, 3, 56, 56, 3, 3
panel-thinborder-light:
Inherits: ^Chrome
PanelRegion: 643, 513, 3, 3, 56, 56, 3, 3
button:
Inherits: ^Chrome
PanelRegion: 130, 512, 10, 10, 44, 44, 10, 10
button-hover:
Inherits: ^Chrome
PanelRegion: 195, 512, 10, 10, 44, 44, 10, 10
button-disabled:
Inherits: button
button-pressed:
Inherits: ^Chrome
PanelRegion: 325, 512, 10, 10, 44, 44, 10, 10
button-highlighted:
Inherits: ^Chrome
PanelRegion: 260, 512, 10, 10, 44, 44, 10, 10
button-highlighted-hover:
Inherits: button-pressed
button-highlighted-pressed:
Inherits: button-pressed
button-highlighted-disabled:
Inherits: button-highlighted
button-highlighted-thin:
Inherits: ^Chrome
PanelRegion: 513, 512, 10, 10, 44, 44, 10, 10
button-highlighted-thin-hover:
Inherits: button-highlighted-thin-pressed
button-highlighted-thin-pressed:
Inherits: ^Chrome
PanelRegion: 576, 512, 10, 10, 44, 44, 10, 10
button-highlighted-thin-disabled:
Inherits: button-highlighted-thin
progressbar-bg:
Inherits: ^Chrome
PanelRegion: 447, 560, 6, 6, 52, 4, 6, 6
progressbar-thumb:
Inherits: ^Chrome
PanelRegion: 447, 543, 6, 6, 52, 4, 6, 6
panel-rule:
Inherits: ^Chrome
Regions:
border-t: 66, 512, 62, 2
background:
Inherits: ^Chrome
PanelRegion: 0, 0, 0, 0, 1024, 480, 0, 0
PanelSides: Center
modcontent:
Inherits: ^Chrome
Regions:
logo: 0, 577, 280, 128
leftarrow: 390, 512, 20, 64
rightarrow: 411, 512, 20, 64
cdicon: 432, 512, 20, 20
scrollpanel-bg:
Inherits: panel-thinborder
scrollpanel-button:
Inherits: panel-thinborder
scrollpanel-button-hover:
Inherits: panel-thinborder-light
scrollpanel-button-disabled:
Inherits: panel-thinborder
scrollpanel-button-pressed:
Inherits: panel-thinborder-light
scrollpanel-decorations:
Inherits: ^Chrome
Regions:
down: 453, 512, 16, 16
down-pressed: 453, 512, 16, 16
up: 470, 512, 16, 16
up-pressed: 470, 512, 16, 16
# Checkbox-related definitions:
checkbox:
Inherits: ^Chrome
PanelRegion: 512, 512, 10, 10, 44, 44, 10, 10
checkbox-hover:
Inherits: checkbox
checkbox-pressed:
Inherits: checkbox
checkbox-disabled:
Inherits: checkbox
checkmark-tick:
Inherits: ^Chrome
Regions:
checked: 455, 526, 16, 16
checked-disabled: 474, 526, 16, 16
unchecked: 0, 0, 0, 0 # Empty placeholder to appease the missing-sprite-exception gods.

View File

@@ -0,0 +1,400 @@
Background@MODCONTENT_BACKGROUND:
Logic: ModContentLogic
Background: background
Width: WINDOW_WIDTH
Height: WINDOW_HEIGHT
Background@CONTENT_PANEL:
Logic: ModContentInstallerLogic
X: (WINDOW_WIDTH - WIDTH) / 2
Y: (WINDOW_HEIGHT - HEIGHT) / 2
Width: 500
Height: 290
Background: panel-bg
Children:
Background@RULE:
X: 30
Y: 50
Width: 440
Height: 150
Background: panel-rule
Label@TITLE:
X: 0
Y: 14
Width: PARENT_WIDTH
Height: 25
Text: label-content-panel-title
Align: Center
Font: MediumBold
Label@HEADER_LABEL:
X: 30
Y: 66
Width: PARENT_WIDTH - 60
Height: 16
Text: modcontent-header
Align: Center
WordWrap: true
ScrollPanel@PACKAGES:
X: 30
Y: 84
Width: PARENT_WIDTH - 60
Height: 137
TopBottomSpacing: 4
ItemSpacing: 2
BorderWidth: 2
Children:
Container@PACKAGE_TEMPLATE:
X: 6
Width: PARENT_WIDTH - 16
Height: 23
Children:
Label@TITLE:
Width: 275
Height: 23
Label@REQUIRED:
X: 185
Width: 90
Height: 23
Align: Center
Font: Bold
TextColor: CC0000
Text: label-package-template-required
Image@SOURCE:
X: 275
Y: 2
Width: 20
Height: 20
ImageCollection: modcontent
ImageName: cdicon
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: SOURCE_TOOLTIP
Button@DOWNLOAD:
X: 304
Y: 0
Width: 100
Height: 23
Background: button-highlighted-thin
Text: button-package-template-download
Label@INSTALLED:
X: 304
Width: 100
Height: 23
Align: Center
Font: Bold
TextColor: 00CC00
Text: label-package-template-installed
Label@REQUIRES_SOURCE:
X: 304
Width: 100
Height: 23
Align: Center
Font: Bold
TextColor: DDDDDD
Text: label-package-template-requires-source
Button@CHECK_SOURCE_BUTTON:
X: 30
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 200
Height: 32
Text: button-content-panel-check-source
Font: Bold
Button@BACK_BUTTON:
X: PARENT_WIDTH - 140
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Text: button-back
Font: Bold
Key: escape
TooltipContainer@TOOLTIP_CONTAINER:
Background@SOURCE_TOOLTIP:
Logic: ModContentSourceTooltipLogic
Background: panel-thinborder
Height: 25
Children:
Label@DESCRIPTION:
X: 5
Height: 23
Font: Bold
Text: label-source-tooltip-description
Container@SOURCES:
Y: 15
Width: PARENT_WIDTH - 10
Height: 7 # used as bottom margin
Children:
Label@SOURCE_TEMPLATE:
X: 20
Height: 14
Font: TinyBold
Background@INFO_TOOLTIP:
Logic: SimpleTooltipLogic
Background: panel-thinborder
Height: 25
Children:
Container@LINE_HEIGHT:
Y: 2
Height: 19
Label@LABEL:
X: 5
Height: 23
Font: Bold
Container@PACKAGE_DOWNLOAD_PANEL:
Logic: DownloadPackageLogic
X: (WINDOW_WIDTH - WIDTH) / 2
Y: (WINDOW_HEIGHT - HEIGHT) / 2
Width: 500
Height: 177
Children:
Background:
Width: PARENT_WIDTH
Height: PARENT_HEIGHT
Background: panel-bg
Background@RULE:
X: 30
Y: 50
Width: 440
Height: 150
Background: panel-rule
Label@TITLE:
X: 0
Y: 12
Width: PARENT_WIDTH
Height: 25
Align: Center
Font: MediumBold
ProgressBar@PROGRESS_BAR:
X: 30
Y: 64
Width: PARENT_WIDTH - 60
Height: 16
BarMargin: 0, 0
Label@STATUS_LABEL:
X: 30
Y: 85
Width: PARENT_WIDTH - 60
Height: 25
Align: Left
Button@RETRY_BUTTON:
X: 30
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 120
Height: 32
Visible: false
Text: button-retry
Font: Bold
Key: return
Button@CANCEL_BUTTON:
X: PARENT_WIDTH - 30 - WIDTH
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Text: button-cancel
Font: Bold
Key: escape
Background@SOURCE_INSTALL_PANEL:
Logic: InstallFromSourceLogic
X: (WINDOW_WIDTH - WIDTH) / 2
Y: (WINDOW_HEIGHT - HEIGHT) / 2
Width: 500
Height: 177
Background: panel-bg
Children:
Background@RULE:
X: 30
Y: 50
Width: 440
Height: 150
Background: panel-rule
Label@TITLE:
Y: 12
Width: PARENT_WIDTH
Height: 25
Align: Center
Font: MediumBold
Container@PROGRESS:
Width: PARENT_WIDTH
Height: PARENT_HEIGHT
Visible: false
Children:
ProgressBar@PROGRESS_BAR:
X: 30
Y: 60
Width: PARENT_WIDTH - 60
Height: 16
BarMargin: 0, 0
Label@PROGRESS_MESSAGE:
X: 30
Y: 80
Width: PARENT_WIDTH - 60
Height: 25
Align: Left
Container@MESSAGE:
Width: PARENT_WIDTH
Height: PARENT_HEIGHT
Height: 157
Visible: false
Children:
Label@MESSAGE_MESSAGE:
Y: 65
Width: PARENT_WIDTH
Height: 25
Align: Center
Container@LIST:
Width: PARENT_WIDTH
Height: 338
Visible: false
Children:
Label@LIST_MESSAGE:
Y: 65
Width: PARENT_WIDTH
Height: 16
Align: Center
ScrollPanel@LIST_PANEL:
X: 30
Y: 99
Width: PARENT_WIDTH - 60
Height: 170
TopBottomSpacing: 4
ItemSpacing: 2
BorderWidth: 2
Children:
Container@LIST_HEADER_TEMPLATE:
X: 6
Width: PARENT_WIDTH - 12 - 24
Height: 14
Children:
Background@TOP_RULE:
Width: PARENT_WIDTH
Height: 1
Background: panel-rule
Label@LABEL:
Y: 3
Width: PARENT_WIDTH
Height: 10
Font: TinyBold
Align: Center
Background@BOTTOM_RULE:
Y: 16
Width: PARENT_WIDTH
Height: 1
Background: panel-rule
Label@LABEL_LIST_TEMPLATE:
X: 6
Width: PARENT_WIDTH - 16
Height: 23
Container@CHECKBOX_LIST_TEMPLATE:
X: 6
Width: PARENT_WIDTH - 16
Height: 23
Children:
Checkbox@PACKAGE_CHECKBOX:
X: 6
Width: PARENT_WIDTH - 16
Height: 23
Children:
Image@PACKAGE_INFO:
X: 275
Y: 2
Width: 20
Height: 20
Visible: false
ImageCollection: modcontent
ImageName: cdicon
TooltipContainer: TOOLTIP_CONTAINER
TooltipTemplate: INFO_TOOLTIP
Button@PRIMARY_BUTTON:
X: 30
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Font: Bold
Key: return
Button@SECONDARY_BUTTON:
X: PARENT_WIDTH - 140
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Font: Bold
Key: escape
TooltipContainer@TOOLTIP_CONTAINER:
Background@CONTENT_PROMPT_PANEL:
Logic: ModContentPromptLogic
X: (WINDOW_WIDTH - WIDTH) / 2
Y: (WINDOW_HEIGHT - HEIGHT) / 2
Width: 500
Height: 140
Background: panel-bg
Children:
Background@RULE:
X: 30
Y: 50
Width: 440
Height: 150
Background: panel-rule
Label@TITLE:
X: 0
Y: 12
Width: PARENT_WIDTH
Height: 25
Text: label-content-prompt-panel-title
Align: Center
Font: MediumBold
Label@HEADER_LABEL:
X: 30
Y: 65
Width: PARENT_WIDTH - 60
Height: 16
Text: modcontent-installprompt
Align: Center
WordWrap: true
Button@ADVANCED_BUTTON:
X: 30
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 140
Height: 32
Text: button-content-prompt-panel-advanced
Font: Bold
Button@QUICK_BUTTON:
X: 185
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Text: button-content-prompt-panel-quick
Font: Bold
Button@QUIT_BUTTON:
X: PARENT_WIDTH - WIDTH - 30
Y: PARENT_HEIGHT - 52
Background: button-highlighted
Width: 110
Height: 32
Text: button-quit
Font: Bold
Key: escape
Background@BUTTON_TOOLTIP:
Logic: ButtonTooltipLogic
Background: panel-thinborder
Height: 25
Children:
Label@LABEL:
X: 5
Height: 23
Font: Bold
Label@HOTKEY:
TextColor: FFFF00
Height: 23
Font: Bold

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 B

View File

@@ -0,0 +1,6 @@
Cursors:
cursor.png:
default:
Start: 0
X: -5
Y: -8

View File

@@ -0,0 +1,46 @@
## modcontent|content.yaml
label-content-panel-title = Manage Content
label-package-template-required = Required
button-package-template-download = Download
label-package-template-installed = Installed
label-package-template-requires-source = Requires Disc
button-content-panel-check-source = Detect Disc or Installation
label-source-tooltip-description = Content available from:
button-package-download-panel-retry = Retry
label-content-prompt-panel-title = Install Content
button-content-prompt-panel-advanced = Advanced Install
button-content-prompt-panel-quick = Quick Install
## DownloadPackageLogic
label-downloading = Downloading { $title }
label-fetching-mirror-list = Fetching list of mirrors...
label-downloading-from = Downloading from { $host } { $received } { $suffix }
label-downloading-from-progress = Downloading from { $host } { $received } / { $total } { $suffix } ({ $progress }%)
label-unknown-host = unknown host
label-download-failed = Download failed
label-verifying-archive = Verifying archive...
label-archive-validation-failed = Archive validation failed
label-extracting-archive = Extracting...
label-extracting-archive-entry = Extracting { $entry }
label-archive-extraction-failed = Archive extraction failed
label-mirror-selection-failed = Online mirror is not available. Please install from an original disc.
## InstallFromSourceLogic
label-detecting-sources = Detecting drives
label-checking-sources = Checking Sources
label-searching-source-for = Searching for { $title }
label-content-package-installation = Select which content packages you want to install:
label-game-sources = Game Sources
label-digital-installs = Digital Installs
label-game-content-not-found = Game Content Not Found
label-alternative-content-sources = Please insert or install one of the following content sources:
label-installing-content = Installing Content
label-copying-filename = Copying { $filename }
label-copying-filename-progress = Copying { $filename } ({ $progress }%)
label-installation-failed = Installation Failed
label-check-install-log = Refer to install.log in the logs directory for details.
label-extracting-filename = Extracting { $filename }
label-extracting-filename-progress = Extracting { $filename } ({ $progress }%)
## ModContentLogic
button-manual-install = Manual Install

View File

@@ -0,0 +1,2 @@
## Metadata
mod-title = Mod Content Manager

View File

@@ -0,0 +1,8 @@
# General dumping-ground for UI element sizes, etc.
Metrics:
ButtonDepth: 0
ButtonFont: Bold
ChatLineSound: ChatLine
ClickDisabledSound: ClickDisabledSound
ClickSound: ClickSound

View File

@@ -0,0 +1,4 @@
Sounds:
Notifications:
ClickSound:
ClickDisabledSound: