Commit Graph

2682 Commits

Author SHA1 Message Date
JovialFeline
459bbf0025 Annotate campaign.lua 2025-02-16 12:48:23 +01:00
Gustas
ebf90970b2 Re-add a mini lobby options menu to missionbrowser 2025-02-16 12:39:23 +01:00
Gustas
747f41a8c3 Tooltips should not have punctuation 2025-02-16 12:39:23 +01:00
JovialFeline
ddfdfcfee3 D2k shellmap: Hide pickup indicators 2025-01-28 19:04:04 +02:00
JovialFeline
49fd39b4b6 Fix some campaign Fluent keys 2025-01-28 18:57:39 +02:00
JovialFeline
6a8e5c7c83 Hide owner row for D2k special mission Outposts 2025-01-28 16:11:35 +02:00
Dan Stoian
e903baf680 Implement auto-save 2025-01-17 18:01:20 +02:00
JovialFeline
94f2ce4f56 Fix ordos-04 to use internal bot names 2025-01-16 13:09:21 +02:00
Gustas
8b4478260e Raname GrantConditionOnDeployWithCharge to GrantChargedConditionOnToggle
Also allow deploying without cancelling current activity, and make saboteurs use it
2024-12-27 16:37:49 +02:00
test1232156
2c221fdc68 Fix translation key
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-12-21 19:30:22 +02:00
Pavel Penev
955bf96a84 Added descriptions to ContentInstallerFileSystemLoader 2024-12-21 16:01:21 +02:00
Pavel Penev
f210b39bbc Just some package definition reordering
Mostly superficial, but in case of file name collisions we want the mod-specific files to override the common ones.
2024-12-21 16:01:21 +02:00
Pavel Penev
59c0c908cc Added missing D2k packages 2024-12-21 16:01:21 +02:00
Pavel Penev
640aa6545b Fixed whitespace issues in mod.yaml files
An oversight from PR 21598.
2024-12-21 16:01:21 +02:00
Gustas
81875a1f3f Fixup new lines in encyclopedias 2024-12-20 22:00:21 +02:00
Gustas
0bd139b061 Fix unit descriptions having incorrect indentation 2024-12-20 22:00:21 +02:00
test1232156
9719c1a3b0 Encyclopedia fixup 2024-12-20 22:00:21 +02:00
Gustas
2a1eeae7ca Reduce the size of battlefield news when messages are short 2024-12-19 18:16:07 +02:00
test1232156
1af1ebd9e3 Translation key fixes
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-12-04 22:07:13 +02:00
Paul Chote
147cb566f2 Remove "en" from fluent file paths. 2024-11-03 16:52:47 +02:00
Paul Chote
8452f71481 Rename Lua UserInterface.Translate to .GetFluentMessage. 2024-11-03 16:52:47 +02:00
Paul Chote
8b11b499ed Rename Translations yaml keys to FluentMessages. 2024-11-03 16:52:47 +02:00
test1232156
63e8835fa0 Miscellaneous lua translation fixups
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-10-23 19:08:12 +03:00
test1232156
70f62dba4b Fix spelling errors and add naming consistency in en.ftl files
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-10-23 19:08:12 +03:00
Paul Chote
b57be1cc08 Rework mod content installation. 2024-10-20 15:04:25 +03:00
test1232156
631cf4ba74 Fix spelling errors and add naming consistency to campaign
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-10-18 18:48:37 +03:00
test1232156
02e1c7444b Mission briefing rewording and fact checking
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-10-18 18:48:37 +03:00
RoosterDragon
6bd64677ec Use short context names in hotkey yaml, generate translation key at runtime. 2024-10-17 15:10:59 +03:00
RoosterDragon
559a76be8d Lowercase all hotkey-description- translation keys. 2024-10-17 15:10:59 +03:00
RoosterDragon
6f6fb5b393 Expose hotkeys to localisation.
Allows the Settings > Hotkeys screen to be localised, including hotkey decriptions, groups and contexts.

The hotkey names are exposed to localisation via KeycodeExts. Hotkey modifiers are similarly exposed via ModifersExts.

The Settings > Input screen has a Zoom Modifier dropdown, which shows the localised modifier name.

The --check-yaml utility command is taught to recognise all hotkey translation, so it can validate their usage.
2024-10-17 15:10:59 +03:00
Ivaylo Draganov
791595e3ae Extract player profile loading chrome logic to a dedicated class 2024-10-15 10:14:32 +03:00
Ivaylo Draganov
79ae71a517 Rename *_RIGHT to *_WIDTH and *_BOTTOM to *_HEIGHT in integer expressions for widgets
The terms "width" and "height" are clearer and they match what the values actually represent (window or parent width/height). The YAML changes are generated with the update rule.
2024-10-07 12:59:25 +03:00
RoosterDragon
bb17cfa179 Expose mod.yaml content to localisation.
Mod metadata, load screens and mod content is all now sourced from ftl files, allowing these items to be translated.

Translations are now initialized as part of ModData creation, as currently they are made available too late for the usage we need here.

The "modcontent" mod learns a new parameter for "Content.TranslationFile" - this allows a mod to provide the path of a translation file to the mod which it can load. This allows mods such as ra, cnc, d2k, ts to own the translations for their ModContent, yet still make them accessible to the modcontent mod.

CheckFluentReference learns to validate all these new fields to ensure translations have been set.
2024-10-07 12:38:40 +03:00
Ivaylo Draganov
c0839d4521 Extract version label chrome logic to a dedicated class 2024-10-03 13:26:30 +03:00
Paul Chote
720b925fd5 Move file system mounting into mod code. 2024-10-02 18:37:46 +03:00
Paul Chote
014cbc0cbd Remove FileSystem.ResolveAssemblyPath 2024-10-02 18:37:46 +03:00
Ivaylo Draganov
4e9ef7a334 Adjust width of command bar widget so it matches the artwork and the mouse cursor cannot click through it 2024-10-02 11:44:03 +03:00
Gustas
0e438dd508 Automated fixup 2024-09-19 17:53:43 +02:00
Gustas
b0899d0ee4 Added RenameOnDeath update rule 2024-09-19 17:53:43 +02:00
Gustas
87850378c7 Make brush rendering self-contained 2024-09-16 12:00:41 +01:00
test1232156
a79b449fb2 Fixup D2K Encyclopedia
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-08-30 19:24:43 +02:00
Gustas
56fabb4561 Deduplicate the back button 2024-08-30 19:24:43 +02:00
test1232156
536ffb3f31 Fix spelling errors and add naming consistency to translation keys
Co-Authored-By: Gustas <37534529+punkpun@users.noreply.github.com>
2024-08-20 17:34:09 +02:00
David Wilson
77eba309b2 Fix sizing of exported ts/ra/d2k glyphs-3x.png and cnc chrome-3x.png from ArtSrc 2024-08-15 19:44:15 +03:00
Matthias Mailänder
fc8c533129 Fix click through for disabled command bar buttons. 2024-08-11 12:33:20 +03:00
Matthias Mailänder
c24913ea24 Add a UI indicator for bot players. 2024-08-05 12:55:59 +03:00
Matthias Mailänder
4e5556dccc Expose player names to localization. 2024-08-05 12:55:59 +03:00
RoosterDragon
ab28e6a75a Improve Lua type documentation and bindings.
The ExtractEmmyLuaAPI utility command, invoked with `--emmy-lua-api`, produces a documentation file that is used by the [OpenRA Lua Language Extension](https://marketplace.visualstudio.com/items?itemName=openra.vscode-openra-lua) to provide documentation and type information is VSCode and VSCode compatible editors when editing the Lua scripts.

We improve the documentation and types produced by this utility in a few ways:
- Require descriptions to be provided for all items.
- Fix the type definitions of the base engine types (cpos, wpos, wangle, wdist, wvec, cvec) to match with the actual bindings on the C# side. Add some extra bindings for these types to increase their utility.
- Introduce ScriptEmmyTypeOverrideAttribute to allow the C# side of the bindings to provide a more specific type. The utility command now requires this to be used to avoid accidentally exporting poor type information.
- Fix a handful of scripts where the new type information revealed warnings.

The ability to ScriptEmmyTypeOverrideAttribute allows parameters and return types to provide a more specific type compared to the previous, weak, type definition. For example LuaValue mapped to `any`, LuaTable mapped to `table`, and LuaFunction mapped to `function`. These types are all non-specific. `any` can be anything, `table` is a table without known types for its keys or values, `function` is a function with an unknown signature.

Now, we can provide specific types. , e.g. instead of `table`, ReinforcementsGlobal.ReinforceWithTransport is able to specify `{ [1]: actor, [2]: actor[] }` - a table with keys 1 and 2, whose values are an actor, and a table of actors respectively. The callback functions in MapGlobal now have signatures, e.g. instead of `function` we have `fun(a: actor):boolean`. In UtilsGlobal, we also make use of generic types. These work in a similar fashion to generics in C#. These methods operate on collections, we can introduce a generic parameter named `T` for the type of the items in those collections. Now the return type and callback parameters can also use that generic type. This means the return type or callback functions operate on the same type as whatever type is in the collection you pass in. e.g. Utils.Do accepts a collection typed as `T[]` with a callback function invoked on each item typed as `fun(item: T)`. If you pass in actors, the callback operates on an actor. If you pass in strings, the callback operates on a string, etc.

Overall, these changes should result in an improved user experience for those editing OpenRA Lua scripts in a compatible IDE.
2024-08-03 19:12:51 +03:00
RoosterDragon
578a9fe457 Fix mod content installers.
In 4312a4d3f4 MiniYaml merging was adjusted. One effect of this change was that duplicate keys in files that did not previously require merging was previously allowed, but was now an error. (Test case `TestMergeConflictsNoMerge`)

The installer files were relying on the previous behaviour to allow multiple `ContentPackage` keys. The above change caused a regression where attempting to manage mod content would crash due to now erroring on the duplicate keys.

We fix the issue by applying a unique ID suffix, as is a common pattern elsewhere in our yaml files, and teach InstallFromSourceLogic to recognise and strip it.
2024-08-03 12:10:08 +03:00
JovialFeline
5164a11c15 Fix typo in HarvesterAttackNotifier 2024-07-30 12:48:57 +02:00