Skip to content

Widescreen resolution patch for Star Trek™: Armada 2 (2001).

License

Notifications You must be signed in to change notification settings

Ligushka/STA2WidescreenPatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Star Trek™: Armada II (2001) Widescreen Resolution Patch

STA2WidescreenPatch

STA2WidescreenPatch is an .ASI patch for Star Trek™: Armada II (2001) which automatically expands resolution support to include your monitor's current resolution which is not supported by the original game. This patch works with all versions of the game, including the demo.

STA2WidescreenPatch automatically replaces the 1280x960 resolution option in the game's Graphic Settings menu with the current resolution of your Windows desktop. For example, if you are using a 1920x1080 resolution monitor, 1920x1080 will be listed as a selectable resolution in the Graphics Settings menu in place of 1280x960.

STA2WidescreenPatch was created with the intent to add support for modern widescreen resolutions, though a nice side effect is that any arbitrary resolution supported by your monitor will be available to the game. For example, 1152x864, which is not supported by the original game, is now available to use when STA2WidescreenPatch is installed.

This patch has been tested with about one hour of "Instant Action" gameplay and by completing the first Federation campaign mission "Invasion" at 1920x1080 (1080p) and 3840x2160 (4K) resolutions. Extensive testing (i.e. by playing through the entire single-player campaign) has not been done at the time of writing. It is unknown how this patch behaves with multiple-monitor configurations. If you encounter problems during gameplay, please report an issue on GitHub.

Screenshot at 1080p resolution:

sta2-1080p

Installation

More complex configurations

Windows XP users

  • Install the Microsoft Visual C++ Redistributable Package 2019 14.28.29914.0 (32-bit), if not already installed on your system.
    • This is the final version of the Microsoft Visual C++ Redistributable which supports Windows XP.
  • Download XP-STA2WidescreenPatch.zip.
  • Extract the ZIP file and copy all contents to the root of the Star Trek™: Armada II game directory.
  • Launch the game and go to the Graphics Options menu. Select your monitor's native resolution from the dropdown list.
  • Play the game!

Proper configuration of Patch Project 1.2.5 + STA2WidescreenPatch + dxwrapper or any other DirectX wrapper

Patch Project 1.2.5 uses madCodeHook to hook its DLLs into the game, and this prevents other DLL wrappers from functioning. To work around this issue, STA2WidescreenPatch utilizes ThirteenAG's Ultimate ASI Loader project for seamless operation when Patch Project 1.2.5 is installed. No action is necessary when utilizing Patch Project 1.2.5 with STA2WidescreenPatch.

To utilize Patch Project 1.2.5 and STA2WidescreenPatch along with any other DirectX wrapper such as dxwrapper by elishacloud, you must rename your DirectX wrapper's .DLL file to a .ASI file and delete the bundled stub (e.g. ddraw.dll). For example, when using dxwrapper, dxwrapper.dll must be renamed to dxwrapper.asi, and as a side effect, the bundled ddraw.dll stub becomes redundant and can be safely deleted, because the wrapper is now being loaded by the ASI loader. Use of a DirectX wrapper is optional and is not required for STA2WidescreenPatch to work.

Using version 1.0, 1.1, or GOG.com + STA2WidescreenPatch + dxwrapper or any other DirectX wrapper

Using any other non-1.2.5 version of Star Trek™: Armada II with STA2WidescreenPatch and any DirectX wrapper should work without any further action. Use ddraw.dll as the stub for the DirectX wrapper, because winmm.dll is being used by the Ultimate ASI Loader to load STA2WidescreenPatch.

Uninstallation

If you wish to undo this patch, simply delete the STA2WidescreenPatch.asi and winmm.dll files from your Star Trek™: Armada II game directory.

Game Version Compatibility

Game Version Compatible?
Demo Yes
Version 1.0 Yes
Version 1.1 Yes
GOG.com Yes
Patch Project 1.2.5 Yes
Any compatible version with a DirectX wrapper, e.g. dxwrapper or d3d8to9 Yes

Operating System Compatibility

STA2WidescreenPatch is compatible with Windows XP Service Pack 3 and later. Compatibility under Wine has not been tested by the developer.

Known Issues

A few minor user interface related issues have been noticed so far:

  • The loading screen image does not stretch to fill the screen, but this looks acceptable because a background image fills the rest of the screen.
  • There are thin transparent gaps seen in the background of the Mission Objectives screen.
  • When an in-game cutscene plays in the cinematic window at the bottom right, it does not properly fill the entire window.

It is expected that minor interface glitches will occur as a result of using this resolution patch. It is not within the scope of this project to correct such issues. It is possible that a modder may be able to correct these issues by adjusting certain interface elements in the game files.

If you experience an issue that seems to be caused by STA2WidescreenPatch, or discover an incompatibility, please report an issue on GitHub.

Please note that menu glitchiness (lack of animation, mostly-black screen) is a pre-existing issue, seemingly affecting the GOG.com version the worst, and is not caused by STA2WidescreenPatch. It may be possible to utilize the dxwrapper project by elishacloud to correct this issue, but as this issue does not occur with the developer's system, utilizing dxwrapper to try to resolve this issue has not been attempted.

Inspiration and Credits

This patch was inspired by and made possible thanks to jeFF0Falltrades's excellent video tutorial and Python script for patching the original Roller Coaster Tycoon (1999):

It is also extremely helpful that Armada2.pdb was shipped with Star Trek™: Armada II patch 1.1, enabling much more human-readable decompilation.

Compatibility across combinations of DirectX wrappers and all versions of Star Trek™: Armada II is possible thanks to ThirteenAG's Ultimate ASI Loader project. A compiled version of the x86 version of Ultimate ASI Loader is bundled with this patch, renamed as winmm.dll. Please see UltimateASILoader-license.txt for license information.

ChatGPT was used to generate the majority of the C++ code used in this patch, so if something's kinda kludgy, blame ChatGPT and not me. Other tools used include Ghidra and x64dbg.

Development

STA2WidescreenPatch.asi (which is just a renamed DLL) is written in C++ using Microsoft Visual Studio 2022 Community and requires the Windows 10 SDK. A Visual Studio 2022 solution is provided in the source folder in the GitHub repository, and the Windows XP compatible solution is in source-xp. The output file is appropriately named STA2WidescreenPatch.asi and requires ThirteenAG's Ultimate ASI Loader to function, unless you decide to use another method of loading the DLL. The Windows XP release of STA2WidescreenPatch uses xan1242's XP-compatible fork of Ultimate ASI Loader.

For the Windows XP solution, you must configure your Visual Studio installation according to Configuring Programs for Windows XP. Stack Overflow: How to compile C++ app for Windows XP in MSVS? may be of help as well.

Thanks for stopping by, and enjoy playing Star Trek™: Armada II in glorious modern resolutions! To quote General Martok, "I thirst for battle!"

About

Widescreen resolution patch for Star Trek™: Armada 2 (2001).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages