Skip to content

Conversation

SadPencil
Copy link
Member

@SadPencil SadPencil commented May 16, 2025

  • Unified duplicated codes in GameMode and Map. For example, MultiplayerOnly is a setting that can be either defined in GameMode and Map. Now, the duplicated codes are merged. Priority: Map > GameMode.
  • ForceRandomStartLocations setting can also be turned on with co-op missions (IsCoop)
  • Forced Random Teams has been renamed to Forced No Teams in UI and source codes, because the original meaning seems wrong.
  • Fix a bug where the team mapping (in player extra options panel) breaks the team setting with co-op missions (IsCoop)
  • Support specifying non sequential locations by specifying AllowedStartingLocations. For example, in a co-op mission based on a 4P map, the players might be positioned in 1 and 3 instead of 1 and 2, while MaxPlayers=2. The AIs are provided in co-op related settings instead of regular AI players.
  • Also contains and closes Randomized game mode feature #519, supporting randomized game mode

Note: I can't separate the features, refactors, and bug fixes as separate PRs, because: (a) they rely on one others, and (b) we don't merge PRs in time -- so it will be much painful maintaining many PRs that depend on one others.

@SadPencil SadPencil requested a review from Copilot May 16, 2025 13:59
Copilot

This comment was marked as outdated.

Copy link

github-actions bot commented May 16, 2025

Nightly build for this pull request:

  • artifacts.zip
    This comment is automatic and is meant to allow guests to get latest automatic builds without registering. It is updated on every successful build.

@MahBoiDeveloper
Copy link
Contributor

MahBoiDeveloper commented May 23, 2025

@SadPencil Please, resolve the conflict with develop.

image

@SadPencil
Copy link
Member Author

@SadPencil Please, resolve the conflict with develop.

image

Thanks for the remind. Updated.

@SadPencil SadPencil requested a review from Metadorius May 29, 2025 16:29
SadPencil and others added 15 commits June 27, 2025 22:53
* Improve `ChatListBox` link handling

* Update message box text

* Add trusted links feature

* Add `gamesurge.net` and `dronebl.org` to the trusted links regexp

* Update msgbox text

Co-authored-by: Metadorius <[email protected]>

* Remove link from class field

* Add `HardcodeTrustedLinksRegExp`

* Refactor naming

* Improve regexps

* Add mentioning in docs

* Rework user-defined allowed links

* Add `https://mapdb.cncnet.org` to the always trusted links

* Add suggested changes to the doc

* Remove MMB links handler

* Rework PR

* Fix typo in DroneBL domain

* Fix bug and improve performance

* Replace the regex with Uri.Host property

* Allow subdomains

* Correct subdomain determination

* Correct subdomain determination

* Apply suggestions from code review

Co-authored-by: Kerbiter <[email protected]>

* Update the indent

---------

Co-authored-by: Metadorius <[email protected]>
Co-authored-by: SadPencil <[email protected]>
…CnCNet#738)

* Fix UTF-8 BOM is introduced in the generated spawnmap.ini file

* Provide UTF-8 without BOM encoding into EncodingExt class
* Refactoring the ranks from private constants to enum

* Replace `enum` with `class` to reduce `(int)` calls

* Move ranks to `GameLobbyBase`

* Replace enum with struct to reduce `(int)` and `(Rank)` casts

* Replace struct with record

* Make `rank` field private
…s not working with multiple random selectors, favorite maps storage improvements) (CnCNet#744)

* Add DisallowJoiningIncompatibleGames to ClientConfiguration

* CnCNet#465 non host cannot select America/Cuba with random selectors and disallowed side settings.

* Move favorite maps to its own section

* CnCNet#502 - players cannot select Germany faction with "No Yuri/No France"

* Warn host and eventually close if inactive

* Event handler null checks

* Check for enabled on inactive host kick timer

* Check for "default" updateconfig.ini file to copy

* Proper onmousemove, stop timer after lobby leave

* Consolidate inactive timer check, move logic into containing class

* build on yr/** branches

* Skip inactive timer for password games

* Rewords privacy notice as per CnCNet#427 (CnCNet#459)

* post merge fixes

* Update version text

* Disable #cncnet channel from dropdowon

* Bump version

* Turn off development mode for yr/develop branch

* Update commit hash

* Bump xna version

* Bump version

* Change XNA client version info

* Add steam

* Update commit hash

* Update client version

* Update client version

* Update client version 2.12.0, develop/80d08c66

* Update client version 2.12.2, develop/0718826

* Add abscent fields

* Remove `yr/**` branches from build workflow

* Refactor title and text for inactive host warning message to be translatable

* Remove `yr/develop` code from `ClientCore/CnCNet5/GameCollections.cs`

* Refactor `CnCNetLobby.cs`

* Revert changes in `Directory.Build.targets`

* Remove `updateconfig.default.ini` feature that never used

* Refactor `GameHostInactiveCheck.cs`

* Refactor handling `gameHostInactiveCheck`

* Refactor `disallowedSides` code

* Refactor `UserINISettings.cs`

* Rename `dttmStart` to `startTime`

* Rename `GameHostInactiveCheck` to `GameHostInactiveChecker`

* Refactoring `IsGameFiltersApplied`

* Fix spacing

* Remove extra space

* Another spacing fix

* Move `random` lower

---------

Co-authored-by: devo1929 <[email protected]>
Co-authored-by: Grant Bartlett <[email protected]>
Co-authored-by: SadPencil <[email protected]>
* Add issue templates

* Adjust template

* Replace link to `#xna-client-chat`
SadPencil and others added 4 commits June 28, 2025 19:39
…le` class (CnCNet#749)

* Implement `GetListValue` and rework get list values from IniFile class

* Rename `GetListValue` to `GetStringListValue`

* Update ClientCore/Extensions/IniFileExtensions.cs

Co-authored-by: Kerbiter <[email protected]>

* Rework `GetStringListValue`

* Refactor `Updater.cs`

Co-authored-by: Kerbiter <[email protected]>

---------

Co-authored-by: Kerbiter <[email protected]>
@SadPencil SadPencil requested a review from Copilot June 28, 2025 11:57
Copilot

This comment was marked as outdated.

@SadPencil
Copy link
Member Author

Note that I can't separate Fix a bug where the team mapping (in player extra options panel) breaks the team setting with co-op missions (IsCoop) into a standalone PR. It requires a deep refactor (e.g., this PR) to fix this bug.

@SadPencil SadPencil requested a review from Starkku August 16, 2025 12:09
@SadPencil SadPencil added this to the long term milestone Aug 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants