Commit Graph

5483 Commits

Author SHA1 Message Date
hacker
7e801c6fd7 Updated version
Some checks failed
Continuous Integration / Linux (.NET 8.0) (push) Has been cancelled
Continuous Integration / Windows (.NET 8.0) (push) Has been cancelled
2026-07-20 20:27:09 +01:00
Gustas
0a9b493c14 Moved game save notification to StartGameNotification 2026-02-22 17:17:59 +00:00
Matthias Mailänder
f827421b37 Deduplicate ingame player strings. 2026-01-26 20:54:37 +02:00
Matthias Mailänder
ac162936ca These strings are already shared. 2026-01-26 20:54:37 +02:00
Gustas
a0a0d832f9 Rerendered UI 2026-01-25 13:08:24 +01:00
xan2622
78873b8e00 Replace labels on Map Editor (copy, paste, undo, redo) buttons by glyphs
Icons are from https://github.com/twbs/icons
2026-01-19 15:14:42 +02:00
Matthias Mailänder
95e698f44e Deduplicate observer stats translation strings. 2026-01-19 14:47:35 +02:00
Matthias Mailänder
a542767720 Deduplicate replay translation strings. 2026-01-19 14:47:35 +02:00
Ashley Newson
df20709158 Rename "Experimental" map generator to "Classic"
Renames the "Experimental" map generator to "Classic" in internal
code, configuration, and user-facing text.

Additionally, replace the user-facing names for the Experimental and
D2K map generators (as seen in the map editor tools dropdown) with
"Map Generator".
2026-01-12 22:23:50 +02:00
Matthias Mailänder
2c0a4f5873 Extract briefings for localisation. 2026-01-03 11:31:48 +02:00
Ashley Newson
b2f32f8907 Add "Plots" terrain type for RA and CnC map generation
Some common feedback about preview generated maps is that they are too
chokey. This change aims to add a new terrain type called "Plots" that
retains the variety of terrain features present in the Gardens
terrain, but opens up the play area a bit more. In essence, it strikes
a balance between the densely packed Gardens terrain type and the
loosely packed Plains and Parks terrain types.

This new terrain type notably uses a smaller noise feature size to
provide smaller but more regular map structure, and expands the
pathway cutouts and contour spacings for forests and cliffs.

The new Plots terrain type is made available for both RA and CNC and
becomes the new default.

This is an additive configuration-only change. Replay and multiplayer
map generation retains forward/backward compatibility.
2025-12-30 09:21:09 +02:00
Paul Chote
81fec36fbb Resolve lobby option notifications client-side. 2025-12-22 23:05:07 +00:00
Gustas
7e8f4a3479 Truncate less of the player name, adda tooltip 2025-11-24 17:43:12 +02:00
Ashley Newson
56e6a9e6dc Improve MultiBrush collection shorthands
This expands upon the limited FromTemplates MultiBrush collection
shorthand:

- Adds a corresponding FromActors shorthand.
- Allows FromTemplates and FromActors to mix in additional properties,
  such as weights and backing tiles.
- Updates the MultiBrush collections used across the official mods to
  make use of these shorthands.

Note that this reorders some MultiBrush definitions for
conciseness. This partially (cosmetically) re-randomizes map generator
output.
2025-11-16 21:01:29 +02:00
Gustas
7004b552c9 Add ActorMapOverlay 2025-11-07 13:04:12 +02:00
Gustas
d26b9a10ed Add WithDamageOverlayPropertyRename update rule
Also make trees, ships and vehicles burn a random duration
2025-10-16 21:50:44 +03:00
JovialFeline
3dcbdaa56e Add grace period & polish to Situation Critical 2025-10-16 11:45:39 +03:00
JovialFeline
de78f4130b Add Proving Grounds (RA) 2025-10-15 10:27:08 +03:00
dnqbob
961702d818 Bot mcv expansion: 1. Add ResourceMapBotModule. 2. Add McvExpansionManagerBotModule. 3. Give BaseBuilderBotModule better control over refinery. -- allow bot sell refinery too close. -- allow bot sell refinery far away from resource. (requires ResourceMapBotModule) -- allow bot recieve refinery construct requirement. 4. Give BaseBuilderBotModule control of expansion timing. (requires McvExpansionManagerBotModule) 5. Remove unused VehiclesFactoryTypes and useless BarracksTypes (now all use ProductionTypes). 6. Give HarvesterBotModule ability of order harvesters in low resource area to high resource area. 2025-10-12 17:10:01 +03:00
Gustas
48a5b5b9bc Code style 2025-09-27 19:58:06 +02:00
Gustas
2804d103ae Add smooth shellmap movement 2025-09-27 19:58:06 +02:00
dnqbob
619c5a13a1 Add PowerDownBotModule to RA 2025-09-15 13:09:01 +03:00
Gustas
a8b13d012b Remove AlwaysVisible 2025-09-11 06:17:04 +01:00
Ashley Newson
4c9ae3678b Add watercliff support to ExperimentalMapGenerator
This commit adds watercliffs to generated maps in the RA mod, based on
the path partitioning logic added for the D2K map generator.

Watercliffs are not available in CnC and unofficial mods, so their use
in the ExperimentalMapGenerator configuration is optional.
2025-08-23 17:10:02 +03:00
Ashley Newson
7cd7b32042 Adjust point sequences for RA beach segments
The TEMPERAT and SNOW tilesets' MultiBrush segment definitions used
inconsistent conventions for vertical and horizontal beaches. This
meant that:

- Tiling was biased to produce horizontally wider bodies of water.
- Vertical beaches did not line up with watercliffs when connecting.

This change redefines the point sequences to fix these issues.
2025-08-22 19:28:23 +03:00
Ashley Newson
c3b22c9102 Remove Inner types from various MultiBrush segments
Inner types in MultiBrush segment definitions can usually be derived
automatically from the start and end types. This is especially
important for segments with different starts and ends, where the Inner
type could be either one (e.g. beach to watercliff changers). Inner
types are now only needed in two cases:

- The Inner type doesn't match either the start or end. For example,
  road diagonals.
- The Inner type should only match one of the start or the end. For
  example, cliffs which end into clear tiles.

This commit cleans up the unneeded or unwanted Inner type definitions
in the base mods.
2025-08-22 19:20:22 +03:00
JovialFeline
c2c56c6374 allies-08ab: Remove tech center as bomber target 2025-07-28 20:10:40 +02:00
Gustas
f0ec8105b3 Players and world don't need to be visible 2025-07-27 21:06:25 +02:00
darkademic
77baa7a35f Implement ScrollableLineGraphWidget. 2025-07-17 10:34:35 +03:00
Ashley Newson
25571df2b6 Refactor ExperimentalMapGenerator into reusable methods
This change lifts large portions of ExperimentalMapGenerator's logic
into a new "Terraformer" class with highly documented methods that can
theoretically be used by alternative map generator classes. Some
additional refactoring may occur in future, subject to the practical
needs of additional map generators. ClearMapGenerator is also
simplified.

This is not a pure refactor and contains some algorithmic and
behavioral changes, as well as few minor bug fixes. Notably:

- The logic for obstructing unreachable water has been somewhat
  replaced.

- In CnC, where water is already unplayable, EMG no longer obstructs
  water. (RA still does, as water is playable there.)

- Mountain (cliff) generation is now somewhat more effective. This
  increases the number of cliffs seen on many presets. Settings should
  no longer use "Mountains: 1000".

- PlayableSpace logic has been consolidated into Terraformer.

- PlayableSpace.Playability no longer exists as PartiallyPlayable
  became redundant. Its uses have been replaced with a simple
  boolean. Consequently, some defunct code and configuration has been
  removed.

- Adjust MultiBrush replaceability contract painting behavior to be
  more intuitive.

- Fix off-by-one error in map bounds computation.

- Fix some usages of mixed up MersenneTwisters.
2025-07-14 20:09:10 +03:00
Gustas
03c24da611 Give XP to minelayer 2025-06-14 13:22:49 +02:00
Bryan Quigley
aae2ec109b Add 2 obstacles to europe to help AI
AI likes to make a naval building in the top right tiny water area.
This PR adds 2 rocks to that area blocking any building so the AI
is not going to waste time on it.
2025-06-08 15:58:18 +03:00
Ashley Newson
2a0e787ae7 Check for and fix non-unit MultiBrush segment steps
TilingPath's algorithms are designed on the assumption that MultiBrush
segments use unit steps in their point sequences. Non-unit
sequences can result in incorrect or suboptimal tilings.

This change ensures point sequences are validated for unit steps, and
fixes a non-compliant cliff tile across all tilesets.
2025-05-30 15:22:53 +03:00
JovialFeline
99253702c5 Add IsDead checks to Fall of Greece 1 2025-05-20 22:25:52 +03:00
Ashley Newson
daf36769d6 Add additional MultiBrush segments for RA and CnC
Adds MultiBrush definitions for River (RA and CnC) and WaterCliff (RA
only), allowing them to be tiled with the Path Tiling tool.

A small enhancement to the MultiBrush and TilingPathTool code is added
to allow the inner type to be derived from start and end types. This
allows segments that interface between types (such as WaterCliff to
Beach) to be usable when tiling either WaterCliffs or Beach. Whilst
this makes the inner types of many of the existing MultiBrushes
redundant, no simplification is performed as part of this change.
2025-05-19 22:01:25 +03:00
Paul Chote
5292919917 Move Boundary Shape option before Players. 2025-05-15 23:08:13 +03:00
Ashley Newson
ad08045e5f Add path auto-tiling tool to map editor
Exposes the TilingPath code used by the map generator as a map editor
tool to help automate the process of tiling sequences of templates
together.

No additional template stitching definitions are added as part of this
commit. As such, the tool currently only supports the same auto tiling
as the map generator does. This includes:

- RA and CnC support.
- Beaches, land cliffs, and roads.

Support for additional mods and templates can be added in follow-ups
by adding the necessary MultiBrush definitions.

Related changes included in this commit to support this work include:

- Add support for sparse EditorBlits.
- Add support for MultiBrush to EditorBlitSource conversion.
- Add support for EditorBlitSource previewing.
- Adjust the "Road" types used in segmented MultiBrush definitions.
2025-05-15 22:41:43 +03:00
Михаил Васильев
8f3ca30840 Fix typo in soviet 04b mission description 2025-05-11 21:59:23 +03:00
JovialFeline
894d08adf0 Add missing campaign bots 2025-05-10 16:31:19 +03:00
Paul Chote
9ffa7be606 Remove mod-specific keys from common fluent. 2025-05-09 16:28:04 +03:00
Paul Chote
0313d04970 Polish map generator settings. 2025-05-05 20:50:55 +03:00
atlimit8
0b110a0423 ping when non-structures are attacked 2025-04-30 22:22:53 +03:00
atlimit8
e27aa0d379 replace use of BaseAttackNotifier trait w/ DamageNotifier 2025-04-30 22:22:53 +03:00
Ashley Newson
4a4217c3b3 Fix resource calculation in map generator
The editor's resource value calculation logic was fixed in #21820 to
match actual gameplay. The map generator logic originally copied the
editor logic from EditorResourceLayer rather than ResourceLayer and
associated game logic. As such, it inherited incorrect calculations.

This change updates the map generator logic to match the now
consistent logic in both ResourceLayer classes. Map generator resource
settings are also adjusted -25% to continue roughly matching the
previous resource output.
2025-04-30 12:51:14 +03:00
Paul Chote
90013bc6d3 Migrate tileset names to Fluent. 2025-04-28 15:41:54 +03:00
Paul Chote
e5ffed2a4f Require map generators to specify valid tilesets. 2025-04-28 12:54:08 +03:00
Gustas
bad58b5821 Don't fade in shellmaps 2025-04-26 20:45:42 +01:00
Gustas
4c551cef00 Add more customization to fade, shorten fade in 2025-04-26 20:45:42 +01:00
Paul Chote
9c78c45faf Split IMapGeneratorInfo into core backend and editor frontend. 2025-04-25 20:51:33 +03:00
Gustas
87cff1f6f1 Localise DummyBot 2025-04-19 11:11:53 +01:00