Skip to content

MHLoppy/CBP-Launcher

Repository files navigation

CBP Launcher

A launcher/installer for the Rise of Nations Community Balance/Bugfix Patch.

  • CBP Setup GUI is a small installer/updater (has separate language files to allow for translations). Unless mentioned otherwise, "CBP Setup" refers to CBP Setup GUI.
  • CBP Launcher is the main program and contains the vast majority of overall logic. It's a launcher for CBP (patch/unpatch RoN:EE), an updater for CBP Setup GUI, and essentially provides its own mod manager via a basic plugin system, separate from RoN's mod manager.

Both are C# WPF apps using .NET Framework. As of v0.5, CBP Launcher haphazardly implements elements of MVVM architecture.

Unused/Legacy (likely to be removed but spun out to their own project pages for posterity):

  • CBP Setup (note no GUI) is the predecessor to CBP Setup GUI and is a console application that ran without user interaction. Some anti-virus programs found this behaviour deeply suspicious, so it was converted into CBP Setup GUI (and development after that point continued on CBP Setup GUI, not CBP Setup non-GUI).
  • CBP patriots was briefly trialled as a replacement for RoN's own launcher (patriots.exe) that would just launch CBPS/CBPL as needed. This responsibility was instead integrated directly into CBP Setup GUI to avoid having to use three separate programs.

The Rules.xml Editor plugin bundled with CBP as of Alpha 8 can be found here.

The Sound.xml Editor plugin bundled with CBP as of Alpha 8 can be found here.

CBP Launcher v0.5 classic plus CBP Launcher v0.5 spartan v1 CBP Setup GUI v0.5

screenshots show v0.5

TODO

  • Able to function even if source of update checks becomes unavailable (target v0.7 - clunky implementation present in 0.6.6.1)
  • Integrate all first-time-run prompts into single window (target v0.7-v0.8)
  • Improved offline functionality (target v0.8)
  • Move CBPLauncher.exe location away from CBPSetupGUI.exe to reduce user error from misreading instructions (target v0.8-v0.9)
  • Option to load archived versions of CBP (target v0.8-v0.9)
  • Minimal translations of essential portions only of CBP Setup GUI and CBP Launcher (target v0.8-v0.9)
  • Select loading of secondary CBP files individually, rather than as group (target v0.8-v0.9)
  • Complete translations of all text in CBP Setup GUI and CBP Launcher (target: when the multi-lingual multi-national RoN community gets off its collectively lazy ass and contributes)
  • Option to configure max number of logs in UI (wishlist)
  • Load / unload Workshop mod alongside local mod files (wishlist)
  • Hide hotfix versioning on primary version display (wishlist)
  • Secondary fallback command-line load/unload scripts using .NET Core for crossplatform usage (wishlist) - (see here for some advice on making this); could also consider using MAUI for it (no official Linux support though).

License

  • Code and documentation are licensed under the European Union Public License v. 1.2 (EUPL-1.2) or later.
  • Most images and logos are -- or are based on -- assets owned by Microsoft and are not covered under the aforementioned EUPL license. These images are not licensed for further re-use outside of RoN mods and similar RoN-related works.

Credits