Awesome
Phobos
...is a community engine extension project providing a set of new features and fixes for Yuri's Revenge based on modified YRpp and Syringe to allow injecting code. It's meant to accompany Ares rather than replace it, thus it won't introduce incompatibilities.
While Phobos is independent of Ares and does NOT require Ares specifically to function, Phobos complements some of the features found in Ares and vice versa.
You can discuss the project at a dedicated channel on C&C Mod Haven.
Downloads
You can choose one of the following:
- Latest stable branch build (most bug-free release but very slow on new features)
- Latest development branch builds (a bit less bug-free releases, devbuilds get new features when they are finished)
- Latest development branch nightly (added unreleased features that will be in next devbuild)
- Individual new feature nightly builds for testing can be found in pull requests
Note on nightly builds
Last two listed versions are bleeding edge (don't redistribute them outside of testing!) and have build information (commit and branch/tag) in them which is displayed ingame and can't be turned off. You can get a build for development branch (link above) any up-to-date pull request via an automatic bot comment that would appear in it and would contain the most recent successfully compiled version of Phobos for that feature branch. Please note that the build is produced only if the PR has no merge conflicts. Alternatively, you can get an artifact manually from GitHub Actions runs. You can get an artifact for a specific commit which is built automatically with a GitHub Actions workflow, just press on a green tick, open the workflow, find and download the build artifact. This is limited to authorized users only.
Installation and Usage
- If you don't have Syringe installed into your mod already, you can download it together with the latest Ares package. To install simply drop
Syringe.exe
into your game folder (where yourgamemd.exe
is located). It's highly recommended to install Ares too to get full Phobos feature set, just drop all the files from the archive except documentation folder into your game folder. - Obtain a Phobos "package" (official builds can be found on releases page; read below to learn how to get nightly builds). You should end up with two files:
Phobos.dll
andPhobos.pdb
. - Place those files in the game folder (where your
gamemd.exe
is located). - To launch the game with Phobos (and all other installed Syringe-compatible engine extensions including Ares) you need to execute
Syringe.exe "gamemd.exe" [command line arguments for gamemd.exe]
in command line (omit arguments if you don't need any).RunAres.bat
from Ares package does the same so you may use that as well.
If you already use Ares in your mod, you just need to drop Phobos files mentioned above in your game folder, Syringe will load Phobos automatically. This also applies to mods using XNA client with Syringe; if your mod doesn't use Syringe and Ares (or you just haven't set up the client) yet we recommend to use CnCNet client mod base by Starkku which is compatible with Ares and Phobos out of the box.
Additional files and tools that you may need are located at Phobos supplementaries repo.
By default Phobos doesn't do any very noticeable changes except a few bugfixes. To learn how to use Phobos features head over to official documentation.
Documentation
- Official docs (also available in Chinese)
You can switch between versions (displays latest develop nightly version by default) in the bottom left corner, as well as download a PDF version.
The documentation is split by a few major categories, each represented with a page on the sidebar. Each page has its contents grouped into multiple subcategories, be it buildings, technotypes, infantries, superweapons or something else.
How to read code snippets
; which section the entries should be in
; can be a freeform name - in this case the comment would explain what it is
; if no comment to be found - then it's a precise name
[SOMENAME] ; BuildingType
; KeyName=DefaultValue ; accepted type with optional explanation
; if there's nothing to the right of equals sign - the default value is empty/absent
; if the default value is not static - it's written and explained in a comment
UIDescription=<none> ; CSF entry key
Building manually
- Install Visual Studio (2019 is recommended, 2017 is minimum) with the dependencies listed in
.vsconfig
(it will prompt you to install missing dependences when you open the project, or you can run VS installer and import the config). If you prefer to use Visual Studio Code you may install VS Build Tools with the dependencies from.vsconfig
instead. Not using a code editor or IDE and building via command line scripts included with the project is also an option. - Clone this repo recursively via your favorite git client (that will also clone YRpp).
- To build the extension:
- in Visual Studio: open the solution file in VS and build it (
Debug
build config is recommended); - in VSCode: open the project folder and hit
Run Build Task...
(Ctrl + Shift + B
); - barebones: run
scripts/build_debug.bat
.
- in Visual Studio: open the solution file in VS and build it (
- Upon build completion the resulting
Phobos.dll
andPhobos.pdb
would be placed in the subfolder identical to the name of the buildconfig executed.
Credits
Developers
- Belonit (Gluk-v48) - project author
- Kerbiter (Metadorius) - project co-author, current maintainer (Patreon)
- Starkku - co-maintainer, developer (Patreon)
- Uranusian (Thrifinesma) - developer, CN community ambassador (Patreon, AliPay)
- secsome (SEC-SOME) - developer
- Otamaa (Fahroni, BoredEXE) - developer (PayPal)
- FS-21 - developer
- Morton (MortonPL) - developer
- Trsdy (chaserli) - developer
For all contributions see full credits list.
Thanks to everyone who uses Phobos, tests changes and reports bugs! You can show your appreciation and help project by displaying the logo (monochrome version can be found here) in your client/launcher (make it open Phobos GitHub page for extra fanciness), linking to Phobos repository, contributing or donating to us via the links above.
Legal and License
The Phobos project is an unofficial open-source community collaboration project to extend the Red Alert 2 Yuri's Revenge engine for modding and compatibility purposes.
This project has no direct affiliation with Electronic Arts Inc. Command & Conquer, Command & Conquer Red Alert 2, Command & Conquer Yuri's Revenge are registered trademarks of Electronic Arts Inc. All Rights Reserved.