Ares Documentation

Table of Contents

Introduction

Ares is the new tool to extend the capabilities of Yuri’s Revenge. It was conceived by pd near the end of 2007, and is currently in an early development and testing cycle.

This documentation is aimed primarily at Ares testers, as Ares is a work in progress and subject to many further changes. However, the documentation is also aimed at mod authors wishing to make use of the new functionality that Ares offers.

Ares is incorporated into Yuri’s Revenge via the use of Syringe, a program developed by pd to ‘inject’ DLL code into a running executable without modifying the executable itself. In this case, the Ares DLL is injected into the Yuri’s Revenge 1.001 main executable, gamemd.exe.

Syringe can be run directly via a command line prompt, or automatically using Launch Base. See the respective documentations of those programs for further details.

Compatibility Notes

RockPatch/NPatch

Ares is not intended to be used in conjunction with any third party patch that modifies the executable of the game. Ares works by having its code injected into Yuri’s Revenge at very specific points, and modifications to the executable change the locations of these points. This would lead to Ares‘s code being injected in the wrong places, leading to unforeseeable, bad consequences.

Comodo Internet Security

Commendably, Comodo Internet Security actually complains when one program tries to modify another at runtime, unlike other anti-virus products, which happily let it happen. Unfortunately, this is exactly the way Syringe/Ares works, making it a so-called “false positive”.

In order for Syringe/Ares to work with Comodo Internet Security, you have to make the following changes to Comodo’s settings (courtesy of eva-251):

  1. gamemd.exe and Syringe.exe need to be in the “Trusted Files” list.
  2. Under “Computer Security Policy” -> “Defense+ Rules”, gamemd.exe and Syringe.exe need to be marked as “Installer or Updater”.
  3. “Defense+ Settings” -> “Execution Control Settings” -> “Detect shellcode injections” should be checked.
  4. Under “Defense+ Settings” -> “Execution Control Settings” -> “Exclusions:” add Syringe.exe, Ares.dll, Ares.dll.inj, gamemd.exe.

This should allow Syringe/Ares to work properly.

Warning

For your own safety, do not ever run a Windows-computer without active anti-virus protection. Computer worms actively scan the Internet for vulnerable machines, so even if you don’t do anything, you could be infected within minutes.

ZoneAlarm

ZoneAlarm is known to prevent Syringe/Ares from starting. In case Yuri’s Revenge does not start (Syringe closes immediately), add gamemd.exe and Syringe.exe to the exceptions list.

If this does not help, try to stop the service called ZoneAlarm ForceField Service (ISWSVC.exe). This is not recommended and you should re-enable the service as quickly as possible. Thanks to FS-21.

Known Major Issues

Save Games

Ares does not support loading save games or scripted IPB videos that were created with any other version of the game than the very same version of Ares (not even the original Yuri’s Revenge save games are supported).

Note

Even adding load/save functionality for the exact same Ares version is a huge and complex undertaking, so while the developers would like to add loading and saving one day, it will not happen in the foreseeable future.

Required Changes For Mods Using Ares

Unfortunately, Ares will not simply “work” without changes to the original game files. The reason for this is that maintaining compatibility with the original game files whilst still offering the enhancements that are Ares‘ raison d’être would make implementing Ares features (both for us, the developers, and you, the mod author) considerably more complex, ultimately wasting time that would be better spent on other tasks.

This section details the modifications you’ll most likely need to make to ensure your mod does not receive any unexpected changes from simply being run whilst Ares is active.

In future these changes will be provided as extensions to the standard files that are included with the YR Unofficial 1.002 Mini-Patch Developer’s Pack.

rulesmd.ini

Add APOCEXP to the end of the Animations list. Because Ares doesn’t automatically add types into the list when parsing tags, the game no longer knows about this Apocalypse Tank weapon animation.

artmd.ini

[TELE]►SecondaryFireFLH=85,0,130
See RadBeams And Waves Using The Wrong FLH.

bombcurs.shp

The bombcurs.shp animation needs to have its last frame removed if you don’t want to see the previously unused skull image. See IvanBomb.FlickerRate.

ares.mix

Mods should not include their own version of ares.mix. This new MIX file is bundled with Ares to provide any new/modified files that Ares changes/additions rely on. This MIX file presently includes:

ares.csf includes a few new strings:

  • GUI:SelectCampaign=Select your Campaign
  • GUI:PlayMission=Play
  • GUI:UrbanAreas=Create Urban Areas
  • Name:Desert=Desert
  • STT:RMGUrbanAreas=Choose whether urban areas will be present on the map.
  • STT:MultiEngineer=Engineers can capture damaged buildings only.
  • STT:PlayerColorLilac=Choose this to be lilac.
  • STT:PlayerColorLightBlue=Choose this to be light blue.
  • STT:PlayerColorLime=Choose this to be lime.
  • STT:PlayerColorTeal=Choose this to be teal.
  • STT:PlayerColorBrown=Choose this to be brown.
  • STT:PlayerColorCharcoal=Choose this to be dark grey.
  • TXT_COMMAND_DISABLED=The %s command is not available.
  • TXT_RELEASE_NOTE= (empty text)
  • TXT_SCRNCAP_DESC=Take a snapshot of the game screen. (Saved as ‘SCRN.date-time.BMP’ file in Red Alert 2 run directory.)
  • TXT_RELEASE=Launch
  • TXT_FAKE=Fake