Browse Source

Reworked and cleaned up

master
Fincer 8 years ago
parent
commit
b4281fc762
17 changed files with 0 additions and 1518 deletions
  1. +0
    -71
      arch_linux/PKGBUILD
  2. +0
    -12
      arch_linux/makefile-mcs.patch
  3. +0
    -11
      arch_linux/openra-bleed-tibsunra2.install
  4. +0
    -110
      arch_linux/ra2-csproj.patch
  5. +0
    -134
      arch_linux/tibsun_ra2.patch
  6. +0
    -330
      ubuntu/install.sh
  7. BIN
      ubuntu/nuget-14.04-14.10/libnuget-core-cil_2.8.5+md59+dhx1-1~getdeb1_all.deb
  8. BIN
      ubuntu/nuget-14.04-14.10/nuget_2.8.5+md59+dhx1-1~getdeb1_all.deb
  9. +0
    -12
      ubuntu/patches/makefile-mcs.patch
  10. +0
    -110
      ubuntu/patches/ra2-csproj.patch
  11. +0
    -134
      ubuntu/patches/tibsun_ra2.patch
  12. +0
    -34
      windows/BEFORE-INSTALLATION.txt
  13. +0
    -206
      windows/data/install.ps1
  14. +0
    -257
      windows/data/openra-srcpatch.patch
  15. BIN
      windows/data/patch.exe
  16. +0
    -1
      windows/install.bat
  17. +0
    -96
      windows/windows-manual-installation.txt

+ 0
- 71
arch_linux/PKGBUILD View File

@ -1,71 +0,0 @@
# Maintainer: Fincer <fincer89 at hotmail dot com>
pkgname=openra-bleed-tibsunra2
pkgver=r20025.1df728a
pkgrel=1
pkgdesc="An open-source implementation of the Red Alert engine using .NET/mono and OpenGL (git version)"
arch=("any")
url="http://openra.net"
license=("GPL3")
depends=("mono" "ttf-dejavu" "openal" "libgl" "freetype2" "sdl2" "lua51" "hicolor-icon-theme" "desktop-file-utils" "xdg-utils")
makedepends=("git" "nuget")
provides=("openra" "openra-dedicated-bleed")
conflicts=("openra-bleed" "openra" "openra-dedicated-bleed" "openra-playtest")
install=openra-bleed-tibsunra2.install
source=("$pkgname-src::git+https://github.com/OpenRA/OpenRA.git#branch=bleed"
"git://github.com/OpenRA/ra2.git"
ra2-csproj.patch
makefile-mcs.patch
tibsun_ra2.patch)
sha1sums=('SKIP'
'SKIP'
'70a45c14874e4454bacb45b5d0c917d452cf4e84'
'ae7f0a7e0dd9617e8ea95f22d3fd8188067c6da2'
'e2ad63fa53f992a55f620c1c67d51e4b2593a921')
pkgver() {
cd "$srcdir/$pkgname-src"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd "$srcdir/$pkgname-src"
patch -Np1 -i "$srcdir/makefile-mcs.patch"
}
build() {
# Move Red Alert 2 Github files to the right place:
cd "$srcdir/ra2"
mv ./OpenRA.Mods.RA2 "$srcdir/$pkgname-src/"
mkdir -p "$srcdir/$pkgname-src/mods/ra2/"
mv ./* "$srcdir/$pkgname-src/mods/ra2/"
# Patch OpenRA core files for Tiberian Sun & Red Alert 2
cd "$srcdir/$pkgname-src"
patch -Np1 -i "$srcdir/tibsun_ra2.patch"
patch -Np1 -i "$srcdir/ra2-csproj.patch"
mkdir $srcdir/$pkgname-src/mods/ra2/bits/{vehicles,themes}
# Get Red Alert 2 GIT version number
ra2_version=git-$(git ls-remote https://github.com/OpenRA/ra2.git | head -1 | sed "s/HEAD//" | sed 's/^\(.\{7\}\).*/\1/')
sed -i "s/Version: {DEV_VERSION}/Version: $ra2_version/g" $srcdir/$pkgname-src/mods/ra2/mod.yaml
cd "$srcdir/$pkgname-src"
make version
make dependencies
make all [DEBUG=true]
}
package() {
cd "$srcdir/$pkgname-src"
make prefix=/usr DESTDIR="$pkgdir" install-all
make prefix=/usr DESTDIR="$pkgdir" install-linux-shortcuts
echo -e "\n***OpenRA compilation script completed.\nPlease see further instructions below.***"
sleep 2
echo -e "Install OpenRA by typing 'sudo pacman -U openra-bleed-tibsunra2-r*.tar.xz' in this terminal window\n"
sleep 4
echo -e "***TIBERIAN SUN & RED ALERT 2 - HOWTO***\n\nTO PLAY TIBERIAN SUN: Launch the game and download the required asset files from the web when the game asks you to do so.\n\nTO PLAY RED ALERT 2: You must install language.mix, multi.mix, ra2.mix and theme.mix into '$HOME/.openra/Content/ra2/' folder. You find these files from original RA2 installation media (CD's):\n\n-theme.mix, multi.mix = RA2 CD Root folder\n-ra2.mix, language.mix = RA2 CD Root/INSTALL/Game1.CAB (inside that archive file)\n\n***LAUNCHING OPENRA***\n\nTo launch OpenRA, simply type 'openra' (without quotations) in your terminal or use a desktop shortcut file.\n\n***UNINSTALLATION***\n\nIf you want to remove OpenRA, just type 'sudo pacman -Rs $pkgname'\n\n***MULTIPLAYER***\n\nIt's recommended to use exactly same compiled OpenRA version for multiplayer usage to minimize possible version differences/conflicts between players. If your friends compiles this package with another operating system, please make sure they use exactly same source files for their OpenRA compilation process.\n\nHave fun!\n"
}

+ 0
- 12
arch_linux/makefile-mcs.patch View File

@ -1,12 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@
############################## TOOLCHAIN ###############################
#
-CSC = mcs -sdk:4.0
+CSC = mcs
CSFLAGS = -nologo -warn:4 -codepage:utf8 -unsafe -warnaserror
DEFINE = TRACE
COMMON_LIBS = System.dll System.Core.dll System.Data.dll System.Data.DataSetExtensions.dll System.Drawing.dll System.Xml.dll thirdparty/download/ICSharpCode.SharpZipLib.dll thirdparty/download/FuzzyLogicLibrary.dll thirdparty/download/Mono.Nat.dll thirdparty/download/MaxMind.Db.dll thirdparty/download/MaxMind.GeoIP2.dll thirdparty/download/Eluant.dll thirdparty/download/SmarIrc4net.dll

+ 0
- 11
arch_linux/openra-bleed-tibsunra2.install View File

@ -1,11 +0,0 @@
post_install() {
xdg-icon-resource forceupdate --theme hicolor &> /dev/null
}
post_upgrade() {
post_install
}
post_remove() {
post_install
}

+ 0
- 110
arch_linux/ra2-csproj.patch View File

@ -1,110 +0,0 @@
--- a/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
+++ b/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
@@ -1,33 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.0</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>OpenRA.Mods.RA2</RootNamespace>
<AssemblyName>OpenRA.Mods.RA2</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <OutputPath>..</OutputPath>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
<PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <DebugType>full</DebugType>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>Full</DebugType>
- <Optimize>False</Optimize>
- <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
- <DebugSymbols>False</DebugSymbols>
- <DebugType>None</DebugType>
- <Optimize>True</Optimize>
- <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <Optimize>true</Optimize>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="Eluant">
+ <HintPath>..\thirdparty\download\Eluant.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ItemGroup>
+ <ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
+ <Project>{0DFB103F-2962-400F-8C6D-E2C28CCBA633}</Project>
+ <Name>OpenRA.Game</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\OpenRA.Mods.Common\OpenRA.Mods.Common.csproj">
+ <Project>{fe6c8cc0-2f07-442a-b29f-17617b3b7fc6}</Project>
+ <Name>OpenRA.Mods.Common</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Stub.cs" />
+ </ItemGroup>
+ <ItemGroup>
<Reference Include="Microsoft.CSharp">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
@@ -52,8 +93,9 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <Compile Include="Stub.cs" />
- </ItemGroup>
-</Project>
+ <PropertyGroup>
+ <PostBuildEvent>mkdir "$(SolutionDir)mods/ra2/"
+copy "$(TargetPath)" "$(SolutionDir)mods/ra2/"
+cd "$(SolutionDir)"</PostBuildEvent>
+ </PropertyGroup>
+</Project>
\ No newline at end of file

+ 0
- 134
arch_linux/tibsun_ra2.patch View File

@ -1,134 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -187,6 +187,15 @@
PROGRAMS += mod_ts
mod_ts: $(mod_ts_TARGET)
+# Red Alert 2
+mod_ra2_SRCS := $(shell find OpenRA.Mods.RA2/ -iname '*.cs')
+mod_ra2_TARGET = mods/ra2/OpenRA.Mods.RA2.dll
+mod_ra2_KIND = library
+mod_ra2_DEPS = $(STD_MOD_DEPS) $(mod_common_TARGET)
+mod_ra2_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_common_TARGET)
+PROGRAMS += mod_ra2
+mod_ra2: $(mod_ra2_TARGET)
+
check-scripts:
@echo
@echo "Checking for Lua syntax errors..."
@@ -222,6 +231,9 @@
@echo "Checking for code style violations in OpenRA.Mods.TS..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.TS
@echo
+ @echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ @mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.RA2
+ @echo
@echo "Checking for code style violations in OpenRA.Utility..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Utility
@echo
@@ -255,6 +267,9 @@
@echo "Testing Tiberian Sun mod MiniYAML..."
@mono --debug OpenRA.Utility.exe ts --check-yaml
@echo
+ @echo "Testing Red Alert 2 mod MiniYAML..."
+ @mono --debug OpenRA.Utility.exe ra2 --check-yaml
+ @echo
@echo "Testing Dune 2000 mod MiniYAML..."
@mono --debug OpenRA.Utility.exe d2k --check-yaml
@echo
@@ -320,7 +335,7 @@
package: all-dependencies core tools docs version
-mods: mod_common mod_ra mod_cnc mod_d2k mod_ts
+mods: mod_common mod_ra mod_cnc mod_d2k mod_ts mod_ra2
all: dependencies core tools
@@ -389,6 +404,10 @@
@$(CP_R) mods/d2k "$(DATA_INSTALL_DIR)/mods/"
@$(INSTALL_PROGRAM) $(mod_d2k_TARGET) "$(DATA_INSTALL_DIR)/mods/d2k"
@$(CP_R) mods/modchooser "$(DATA_INSTALL_DIR)/mods/"
+ @$(CP_R) mods/ts "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ts_TARGET) "$(DATA_INSTALL_DIR)/mods/ts"
+ @$(CP_R) mods/ra2 "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ra2_TARGET) "$(DATA_INSTALL_DIR)/mods/ra2"
@$(INSTALL_DATA) "global mix database.dat" "$(DATA_INSTALL_DIR)/global mix database.dat"
@$(INSTALL_DATA) "GeoLite2-Country.mmdb.gz" "$(DATA_INSTALL_DIR)/GeoLite2-Country.mmdb.gz"
--- a/make.ps1
+++ b/make.ps1
@@ -136,6 +136,8 @@
echo "Testing mods..."
echo "Testing Tiberian Sun mod MiniYAML..."
./OpenRA.Utility.exe ts --check-yaml
+ echo "Testing Red Alert 2 mod MiniYAML..."
+ ./OpenRA.Utility.exe ra2 --check-yaml
echo "Testing Dune 2000 mod MiniYAML..."
./OpenRA.Utility.exe d2k --check-yaml
echo "Testing Tiberian Dawn mod MiniYAML..."
@@ -170,6 +172,8 @@
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.D2k
echo "Checking for code style violations in OpenRA.Mods.TS..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.TS
+ echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ ./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.RA2
echo "Checking for code style violations in OpenRA.Utility..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Utility
echo "Checking for code style violations in OpenRA.Test..."
--- a/mods/all/mod.yaml
+++ b/mods/all/mod.yaml
@@ -20,6 +20,7 @@
d2k:OpenRA.Mods.D2k.dll
./mods/cnc/OpenRA.Mods.Cnc.dll
./mods/ts/OpenRA.Mods.TS.dll
+ ./mods/ts/OpenRA.Mods.RA2.dll
ChromeLayout:
--- a/mods/ra2/mod.yaml
+++ b/mods/ra2mod.yaml
@@ -5,7 +5,7 @@
Author: RA2 team
RequiresMods:
- modchooser: {DEV_VERSION}
+
Folders:
.
--- a/OpenRA.sln
+++ b/OpenRA.sln
@@ -17,6 +17,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.TS", "OpenRA.Mods.TS\OpenRA.Mods.TS.csproj", "{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.RA2", "OpenRA.Mods.RA2\OpenRA.Mods.RA2.csproj", "{7E1263D2-BA04-48D0-85DB-26C68B782608}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Platforms.Default", "OpenRA.Platforms.Default\OpenRA.Platforms.Default.csproj", "{33D03738-C154-4028-8EA8-63A3C488A651}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.Common", "OpenRA.Mods.Common\OpenRA.Mods.Common.csproj", "{FE6C8CC0-2F07-442A-B29F-17617B3B7FC6}"
@@ -139,6 +141,10 @@
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|x86.Build.0 = Debug|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.ActiveCfg = Release|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.Build.0 = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.ActiveCfg = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.Build.0 = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.ActiveCfg = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.Build.0 = Release|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.ActiveCfg = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.Build.0 = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Release|x86.ActiveCfg = Release|x86
--- a/utility.cmd
+++ b/utility.cmd
@@ -16,6 +16,7 @@
if /I "%mod%" EQU "ra" (goto help)
if /I "%mod%" EQU "cnc" (goto help)
if /I "%mod%" EQU "ts" (goto help)
+if /I "%mod%" EQU "ra2" (goto help)
if /I "%mod%" EQU "d2k" (goto help)
echo.
echo Unknown mod: %mod%

+ 0
- 330
ubuntu/install.sh View File

@ -1,330 +0,0 @@
#!/bin/bash
# Allow interruption of the script at any time (Ctrl + C)
trap "exit" INT
#*********************************************************************************************************
## VARIABLES USED IN THE SCRIPT
#
# Package name & version
PACKAGE_NAME=openra-bleed-tibsunra2
PACKAGE_VERSION=1
PACKAGE=$PACKAGE_NAME-$PACKAGE_VERSION
# Find out used Linux distribution
RELEASE=$(lsb_release -d | sed 's/Description:\t//g')
# Check if the used OS is Ubuntu 14.04 LTS/14.10 or Linux Mint
RELEASE_VERSION=$(lsb_release -r | sed 's/[^0-9]*//g')
RELEASE_MINT=$(lsb_release -i 2>/dev/null |grep -c "Mint")
# Check for critical build dependencies (especially for Ubuntu 14.04 LTS/14.10 & Linux Mint)
PKG1_CHECK=$(dpkg-query -W -f='${Status}' libnuget-core-cil 2>/dev/null | grep -c "ok installed")
PKG2_CHECK=$(dpkg-query -W -f='${Status}' mono-devel 2>/dev/null | grep -c "ok installed")
PKG3_CHECK=$(dpkg-query -W -f='${Status}' nuget 2>/dev/null | grep -c "ok installed")
# Do we have any OpenRA packages on the system?
PKG4_CHECK=$(dpkg-query -W -f='${Status}' openra 2>/dev/null | grep -c "ok installed")
PKG5_CHECK=$(dpkg-query -W -f='${Status}' openra-playtest 2>/dev/null | grep -c "ok installed")
PKG6_CHECK=$(dpkg-query -W -f='${Status}' openra-bleed 2>/dev/null | grep -c "ok installed")
# Check for missing RA2 directories.
RA2_MISSINGDIR1="$HOME/openra-master/$PACKAGE/mods/ra2/bits/vehicles"
RA2_MISSINGDIR2="$HOME/openra-master/$PACKAGE/mods/ra2/bits/themes"
# Check if we already have sudo password in memory (timeout/timestamp check)
SUDO_CHECK=$(sudo -n uptime 2>&1|grep "load"|wc -l)
BASH_CHECK=$(ps | grep `echo $$` | awk '{ print $4 }')
bold_in='\e[1m'
line_in='\e[4m'
dim_in='\e[2m'
green_in='\e[32m'
red_in='\e[91m'
out='\e[0m'
#*********************************************************************************************************
## PRE-CHECK
#
# Check if we're using bash or sh to run the script. If bash, OK. If sh, ask user to run the script with bash.
if [ ! $BASH_CHECK = "bash" ]; then
echo "\nPlease run this script using bash (/usr/bin/bash).\n"
exit 1
fi
# Check if we are root or not. If yes, then terminate the script.
if [[ $UID = 0 ]]; then
echo -e "\nPlease run this script as a regular user. Do not use root or sudo. Some commands used in the script require regular user permissions.\n"
exit 1
fi
#If package dir exists already, delete it.
if [ -d "$HOME/openra-master/" ]; then
rm -rf "$HOME/openra-master"
fi
#If deb package exists already, delete it.
if [ -f $HOME/$PACKAGE_NAME*.deb ]; then
rm -f $HOME/$PACKAGE_NAME*.deb
fi
# Stop execution if we encounter an error
set -e
#*********************************************************************************************************
## PART 1/7
#
## Installation of OpenRA compilation dependencies and user notification message
echo -e "\n$bold_in***Welcome Comrade*** $out\n"
echo -e "This script compiles and installs OpenRA from source with Tiberian Sun & Red Alert 2.\n
- The script is NOT made by the developers of OpenRA and may contain bugs.
- The script works only on Ubuntu, Linux Mint and similar Linux distributions. It creates a deb installation package using OpenRA source code and additional Red Alert 2 mod files from Github.\n\nNOTE: As the development of OpenRA & Red Alert 2 continues, this script will likely become unusable some day. Please, feel free to modify it if necessary."
echo -e "$line_in\nThe script has been tested on:\n\nDistribution\t\tStatus$out\nUbuntu 16.04 LTS$green_in\tOK$out\nUbuntu 15.10$green_in\t\tOK$out\nUbuntu 15.04 LTS$green_in\tOK$out\nUbuntu 14.10$green_in\t\tOK$out\nUbuntu 14.04 LTS$green_in\tOK$out\nLinux Mint 17.3$green_in\t\tOK$out\nLinux Mint 17.2$green_in\t\tOK$out\nLinux Mint 17.1$green_in\t\tOK$out\nLinux Mint 16$red_in\t\tFailure$out$dim_in (can't find required packages)$out\n"
echo -e "You are using $RELEASE.\n"
read -r -p "Do you want to continue? [y/N] " response
if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]; then
sleep 1
echo -e "\nAllright, let's continue. Do you want $bold_in\n\n1.$out manually check which OpenRA build dependencies (packages) will be installed on your system and manually install OpenRA after compilation? $dim_in(manual apt-get + deb packages installation)$bold_in\n2.$out automatically accept the installation of the OpenRA build dependencies during the script execution and automatically install OpenRA after compilation? $dim_in(apt-get with -y option + automatic .deb packages installation)$out\n"
read -r -p "Please type 1 or 2 (Default: 2): " number
sleep 1
if [[ $number -eq 1 ]]; then
METHOD=''
echo -e "\nSelected installation method:$bold_in Manual$out"
else
METHOD=-y
echo -e "\nSelected installation method:$bold_in Automatic$out"
fi
if [ $SUDO_CHECK -eq 0 ]; then
if [ -z $METHOD ]; then
echo -e "\nOpenRA compilation requires that you install some packages first. Your permission for installation is asked (yes/no) everytime it's needed. This script asks for a required root password now, so you don't have to type it multiple times later on while the script is running.\n\nPlease type sudo/root password now.\n"
else
echo -e "\nOpenRA compilation requires that you install some packages first. This script asks for a required root password now, so you don't have to type it multiple times later on while the script is running.\n\nPlease type sudo/root password now.\n"
fi
sudo echo -e "\nRoot password OK."
sleep 1
else
true
fi
## Check if the user is running Ubuntu 14.04 LTS/14.10 or Linux Mint and whether required nuget packages are installed if these Linux versions are being used.
if [ $RELEASE_VERSION == 1404 ] || [ $RELEASE_VERSION == 1410 ] || [ $RELEASE_MINT -eq 1 ] ; then
echo -e "\nYou are running Ubuntu 14.04 LTS/14.10 or Linux Mint. We need to check if you have required NuGet packages installed.\nThese packages are not (longer available) from the official repository but they are provided by this package.\n"
read -r -p "Press ENTER to proceed." enter
if [ ${#enter} -eq 0 ]; then
echo -e "$line_in\nChecking NuGet packages$out"
fi
#-----------------------------------------------------------------------------------------------------------------------------------------------------------
## Check existence of 'nuget', 'libnuget-core-lib' & 'mono-devel' packages on Ubuntu 14.04 LTS/14.10/Linux Mint based system.
if [ $PKG2_CHECK -eq 1 ]; then
echo -e "$green_in\nOK$out - 'mono-devel' found."
else
echo -e "$red_in\nWARNING$out - 'mono-devel' not found."
fi
if [ $PKG1_CHECK -eq 1 ]; then
echo -e "$green_in\nOK$out - 'libnuget-core-cil' found."
else
echo -e "$red_in\nWARNING$out - 'libnuget-core-cil' not found."
fi
if [ $PKG3_CHECK -eq 1 ]; then
echo -e "$green_in\nOK$out - 'nuget' found."
else
echo -e "$red_in\nWARNING$out - 'nuget' not found."
fi
if [ ! $PKG2_CHECK -eq 1 ]; then
echo -e "$red_in\nWARNING$out - NuGet requires 'mono-devel' package which was not found.\n\nInstalling 'mono-devel' now."
sleep 5
echo -e "\nUpdating package lists with APT.\n"
sleep 2
sudo apt-get update && \
sudo apt-get $METHOD install mono-devel
fi
if [ ! $PKG1_CHECK -eq 1 ]; then
if [ $number = 1 ]; then
echo
read -r -p "Install 'libnuget-core-cil' now? [y/N] " response2
if [[ $response2 =~ ^([yY][eE][sS]|[yY])$ ]]; then
sudo dpkg -i ./nuget-14.04-14.10/libnuget-core-cil_2.8.5+md59+dhx1-1~getdeb1_all.deb
else
echo -e "\nOpenRA installation can't continue. Aborting.\n"
exit 1
fi
else
sudo dpkg -i ./nuget-14.04-14.10/libnuget-core-cil_2.8.5+md59+dhx1-1~getdeb1_all.deb
fi
fi
PKG1_RECHECK=$(dpkg-query -W -f='${Status}' libnuget-core-cil 2>/dev/null | grep -c "ok installed")
if [ ! $PKG3_CHECK -eq 1 ]; then
if [ $number = 1 ]; then
echo
read -r -p "Install 'nuget' now? [y/N] " response3
if [[ $response3 =~ ^([yY][eE][sS]|[yY])$ ]]; then
sudo dpkg -i ./nuget-14.04-14.10/nuget_2.8.5+md59+dhx1-1~getdeb1_all.deb
else
echo -e "\nOpenRA installation can't continue. Aborting.\n"
exit 1
fi
else
sudo dpkg -i ./nuget-14.04-14.10/nuget_2.8.5+md59+dhx1-1~getdeb1_all.deb
fi
fi
PKG3_RECHECK=$(dpkg-query -W -f='${Status}' nuget 2>/dev/null | grep -c "ok installed")
if [ $PKG1_RECHECK -eq 1 ] && [ $PKG3_RECHECK -eq 1 ]; then
echo -e "$green_in\nOK$out - All required NuGet packages are installed."
else
echo -e "$red_in\nWARNING$out - Can't find all required NuGet packages. Aborting.\n"
exit 1
fi
else
true
fi
sleep 2
#-----------------------------------------------------------------------------------------------------------------------------------------------------------
echo -e "$bold_in\n1/7 ***OpenRA build dependencies***\n$out"
sleep 2
echo -e "Updating package lists with APT.\n"
sleep 2
sudo apt-get update
echo -e "\nInstalling required OpenRA build dependencies.\n"
sleep 4
sudo apt-get $METHOD install git dpkg-dev dh-make sed mono-devel libfreetype6-dev libopenal-data libopenal1 libsdl2-2.0-0 nuget curl liblua5.1-0-dev zenity xdg-utils build-essential gcc make libfile-fcntllock-perl
mozroots --import --sync && \
sudo apt-key update
#*********************************************************************************************************
## PART 2/7
#
## Download the latest OpenRA & Red Alert 2 source files from Github, create build directories to the user's home directory.
## Once Red Alert 2 source files have been downloaded, move them to the OpenRA parent source directory.
## Add several missing directories for Red Alert 2.
echo -e "$bold_in\n2/7 ***Downloading OpenRA source code & Red Alert 2 mod files from Github***\n$out"
sleep 2
echo -e "Part 1 (OpenRA source code):\n"
mkdir -p $HOME/openra-master/{$PACKAGE,ra2} && \
git clone -b bleed https://github.com/OpenRA/OpenRA.git $HOME/openra-master/$PACKAGE
echo -e "\nPart 2 (Red Alert 2 mod files):\n"
git clone -b master https://github.com/OpenRA/ra2.git $HOME/openra-master/ra2 && \
mv $HOME/openra-master/ra2/OpenRA.Mods.RA2 $HOME/openra-master/$PACKAGE && \
mv $HOME/openra-master/ra2 $HOME/openra-master/$PACKAGE/mods/
if [ ! -d "$RA2_MISSINGDIR1" ]; then
mkdir "$RA2_MISSINGDIR1"
fi
if [ ! -d "$RA2_MISSINGDIR2" ]; then
mkdir "$RA2_MISSINGDIR2"
fi
cp ./patches/{tibsun_ra2.patch,makefile-mcs.patch,ra2-csproj.patch} $HOME/openra-master/
#*********************************************************************************************************
## PART 3/7
#
## Patch several OpenRA source files (Makefile and such) for Tiberian Sun & Red Alert 2
echo -e "$bold_in\n3/7 ***Preparing OpenRA source files for Tiberian Sun & Red Alert 2***\n$out"
sleep 2
patch -d $HOME/openra-master/$PACKAGE -Np1 -i $HOME/openra-master/makefile-mcs.patch
patch -d $HOME/openra-master/$PACKAGE -Np1 -i $HOME/openra-master/tibsun_ra2.patch
patch -d $HOME/openra-master/$PACKAGE -Np1 -i $HOME/openra-master/ra2-csproj.patch
# Get version number for Red Alert 2 mod (Github)
RA2_VERSION=git-$(git ls-remote https://github.com/OpenRA/ra2.git | head -1 | sed "s/HEAD//" | sed 's/^\(.\{7\}\).*/\1/')
sed -i "s/Version: {DEV_VERSION}/Version: $RA2_VERSION/g" $HOME/openra-master/$PACKAGE/mods/ra2/mod.yaml
#*********************************************************************************************************
## PART 4/7
#
## Compile the game
echo -e "$bold_in\n4/7 ***Starting OpenRA compilation with Tiberian Sun & Red Alert 2***\n$out"
sleep 2
cd $HOME/openra-master/$PACKAGE && \
make version && \
make dependencies && \
make all [DEBUG=false]
echo -e "$bold_in\n5/7 ***Preparing OpenRA deb package. This takes a while. Please wait.***\n$out"
dh_make --createorig -s -y && \
echo -e "\noverride_dh_auto_install:\n\tmake install-all install-linux-shortcuts prefix='$HOME/openra-master/$PACKAGE/debian/$PACKAGE_NAME/usr'\n\tsed -i '2s%.*%cd /usr/lib/openra%' '$HOME/openra-master/$PACKAGE/debian/$PACKAGE_NAME/usr/bin/openra'\noverride_dh_usrlocal:\noverride_dh_auto_test:" >> $HOME/openra-master/$PACKAGE/debian/rules && \
sed -i 's/Depends: ${shlibs:Depends}, ${misc:Depends}/Depends: libopenal1, mono-runtime (>= 2.10), libmono-system-core4.0-cil, libmono-system-drawing4.0-cil, libmono-system-data4.0-cil, libmono-system-numerics4.0-cil, libmono-system-runtime-serialization4.0-cil, libmono-system-xml-linq4.0-cil, libfreetype6, libc6, libasound2, libgl1-mesa-glx, libgl1-mesa-dri, xdg-utils, zenity, libsdl2 | libsdl2-2.0-0, liblua5.1-0/g' $HOME/openra-master/$PACKAGE/debian/control && \
sed -i 's/<insert up to 60 chars description>/A multiplayer re-envisioning of early RTS games by Westwood Studios\nConflicts: openra, openra-playtest, openra-bleed/g' $HOME/openra-master/$PACKAGE/debian/control && \
sed -i 's/ <insert long description, indented with spaces>/ ./g' $HOME/openra-master/$PACKAGE/debian/control && \
dpkg-buildpackage -rfakeroot -b -nc -uc -us
#*********************************************************************************************************
## PART 6/7
#
## Remove temporary OpenRA build files & directories
echo -e "$bold_in\n6/7 ***Compilation process completed. Moving compiled deb package into '$HOME'***\n$out"
sleep 2
mv $HOME/openra-master/$PACKAGE_NAME*.deb $HOME
echo -e "Removing temporary files."
rm -rf $HOME/openra-master
#*********************************************************************************************************
## PART 7/7
#
## Install OpenRA
echo -e "$bold_in\n7/7 ***Starting OpenRA installation process***\n$out"
sleep 2
if [ $PKG4_CHECK -eq 1 ] || [ $PKG5_CHECK -eq 1 ] || [ $PKG6_CHECK -eq 1 ] ; then
echo -e "\nCan't install '$PACKAGE_NAME' because of conflicting packages.\nPlease remove previously installed openra package from your system and try again.\nBuilt $PACKAGE_NAME deb package can be found in '$HOME'.\n"
else
if [ $number = 1 ]; then
read -r -p "Install '$PACKAGE_NAME' now? [y/N] " response4
if [[ $response4 =~ ^([yY][eE][sS]|[yY])$ ]]; then
sudo dpkg -i $HOME/$PACKAGE_NAME*.deb
else
echo -e "\nPlease install '$PACKAGE_NAME' manually. You find the compiled package in '$HOME'."
sleep 2
fi
else
sudo dpkg -i $HOME/$PACKAGE_NAME*.deb
fi
fi
#*********************************************************************************************************
## ADDITIONAL INFORMATION
#
## Messages
echo -e "\n***OpenRA installation script completed.\nPlease see further instructions below.***"
sleep 4
echo -e "$bold_in\n***TIBERIAN SUN & RED ALERT 2 - HOWTO***$out\n\nTO PLAY TIBERIAN SUN: Launch the game and download the required asset files from the web when the game asks you to do so.\n\nTO PLAY RED ALERT 2: You must install language.mix, multi.mix, ra2.mix and theme.mix into '$HOME/.openra/Content/ra2/' folder. You find these files from original RA2 installation media (CD's):\n\n-theme.mix, multi.mix = RA2 CD Root folder\n-ra2.mix, language.mix = RA2 CD Root/INSTALL/Game1.CAB (inside that archive file)$bold_in\n\n***LAUNCHING OPENRA***$out\n\nTo launch OpenRA, simply type 'openra' (without quotations) in your terminal or use a desktop shortcut file.$bold_in\n\n***UNINSTALLATION***$out\n\nIf you want to remove OpenRA, just type 'sudo apt-get purge --remove $PACKAGE_NAME'\n\nYou can find deb package of $PACKAGE_NAME at '$HOME' for further usage.$bold_in\n\n***MULTIPLAYER***$out\n\nIt's recommended to use exactly same deb installation package for multiplayer usage to minimize possible version differences/conflicts between players. If your friends compiles this package with another operating system, please make sure they use exactly same source files for their OpenRA compilation process.\n\nHave fun!\n"
else
echo -e "\nAborted.\n"
fi

BIN
ubuntu/nuget-14.04-14.10/libnuget-core-cil_2.8.5+md59+dhx1-1~getdeb1_all.deb View File


BIN
ubuntu/nuget-14.04-14.10/nuget_2.8.5+md59+dhx1-1~getdeb1_all.deb View File


+ 0
- 12
ubuntu/patches/makefile-mcs.patch View File

@ -1,12 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@
############################## TOOLCHAIN ###############################
#
-CSC = mcs -sdk:4.0
+CSC = mcs
CSFLAGS = -nologo -warn:4 -codepage:utf8 -unsafe -warnaserror
DEFINE = TRACE
COMMON_LIBS = System.dll System.Core.dll System.Data.dll System.Data.DataSetExtensions.dll System.Drawing.dll System.Xml.dll thirdparty/download/ICSharpCode.SharpZipLib.dll thirdparty/download/FuzzyLogicLibrary.dll thirdparty/download/Mono.Nat.dll thirdparty/download/MaxMind.Db.dll thirdparty/download/MaxMind.GeoIP2.dll thirdparty/download/Eluant.dll thirdparty/download/SmarIrc4net.dll

+ 0
- 110
ubuntu/patches/ra2-csproj.patch View File

@ -1,110 +0,0 @@
--- a/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
+++ b/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
@@ -1,33 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.0</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>OpenRA.Mods.RA2</RootNamespace>
<AssemblyName>OpenRA.Mods.RA2</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <OutputPath>..</OutputPath>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
<PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <DebugType>full</DebugType>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>Full</DebugType>
- <Optimize>False</Optimize>
- <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
- <DebugSymbols>False</DebugSymbols>
- <DebugType>None</DebugType>
- <Optimize>True</Optimize>
- <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <Optimize>true</Optimize>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="Eluant">
+ <HintPath>..\thirdparty\download\Eluant.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ItemGroup>
+ <ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
+ <Project>{0DFB103F-2962-400F-8C6D-E2C28CCBA633}</Project>
+ <Name>OpenRA.Game</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\OpenRA.Mods.Common\OpenRA.Mods.Common.csproj">
+ <Project>{fe6c8cc0-2f07-442a-b29f-17617b3b7fc6}</Project>
+ <Name>OpenRA.Mods.Common</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Stub.cs" />
+ </ItemGroup>
+ <ItemGroup>
<Reference Include="Microsoft.CSharp">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
@@ -52,8 +93,9 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <Compile Include="Stub.cs" />
- </ItemGroup>
-</Project>
+ <PropertyGroup>
+ <PostBuildEvent>mkdir "$(SolutionDir)mods/ra2/"
+copy "$(TargetPath)" "$(SolutionDir)mods/ra2/"
+cd "$(SolutionDir)"</PostBuildEvent>
+ </PropertyGroup>
+</Project>
\ No newline at end of file

+ 0
- 134
ubuntu/patches/tibsun_ra2.patch View File

@ -1,134 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -187,6 +187,15 @@
PROGRAMS += mod_ts
mod_ts: $(mod_ts_TARGET)
+# Red Alert 2
+mod_ra2_SRCS := $(shell find OpenRA.Mods.RA2/ -iname '*.cs')
+mod_ra2_TARGET = mods/ra2/OpenRA.Mods.RA2.dll
+mod_ra2_KIND = library
+mod_ra2_DEPS = $(STD_MOD_DEPS) $(mod_common_TARGET)
+mod_ra2_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_common_TARGET)
+PROGRAMS += mod_ra2
+mod_ra2: $(mod_ra2_TARGET)
+
check-scripts:
@echo
@echo "Checking for Lua syntax errors..."
@@ -222,6 +231,9 @@
@echo "Checking for code style violations in OpenRA.Mods.TS..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.TS
@echo
+ @echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ @mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.RA2
+ @echo
@echo "Checking for code style violations in OpenRA.Utility..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Utility
@echo
@@ -255,6 +267,9 @@
@echo "Testing Tiberian Sun mod MiniYAML..."
@mono --debug OpenRA.Utility.exe ts --check-yaml
@echo
+ @echo "Testing Red Alert 2 mod MiniYAML..."
+ @mono --debug OpenRA.Utility.exe ra2 --check-yaml
+ @echo
@echo "Testing Dune 2000 mod MiniYAML..."
@mono --debug OpenRA.Utility.exe d2k --check-yaml
@echo
@@ -320,7 +335,7 @@
package: all-dependencies core tools docs version
-mods: mod_common mod_ra mod_cnc mod_d2k mod_ts
+mods: mod_common mod_ra mod_cnc mod_d2k mod_ts mod_ra2
all: dependencies core tools
@@ -389,6 +404,10 @@
@$(CP_R) mods/d2k "$(DATA_INSTALL_DIR)/mods/"
@$(INSTALL_PROGRAM) $(mod_d2k_TARGET) "$(DATA_INSTALL_DIR)/mods/d2k"
@$(CP_R) mods/modchooser "$(DATA_INSTALL_DIR)/mods/"
+ @$(CP_R) mods/ts "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ts_TARGET) "$(DATA_INSTALL_DIR)/mods/ts"
+ @$(CP_R) mods/ra2 "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ra2_TARGET) "$(DATA_INSTALL_DIR)/mods/ra2"
@$(INSTALL_DATA) "global mix database.dat" "$(DATA_INSTALL_DIR)/global mix database.dat"
@$(INSTALL_DATA) "GeoLite2-Country.mmdb.gz" "$(DATA_INSTALL_DIR)/GeoLite2-Country.mmdb.gz"
--- a/make.ps1
+++ b/make.ps1
@@ -136,6 +136,8 @@
echo "Testing mods..."
echo "Testing Tiberian Sun mod MiniYAML..."
./OpenRA.Utility.exe ts --check-yaml
+ echo "Testing Red Alert 2 mod MiniYAML..."
+ ./OpenRA.Utility.exe ra2 --check-yaml
echo "Testing Dune 2000 mod MiniYAML..."
./OpenRA.Utility.exe d2k --check-yaml
echo "Testing Tiberian Dawn mod MiniYAML..."
@@ -170,6 +172,8 @@
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.D2k
echo "Checking for code style violations in OpenRA.Mods.TS..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.TS
+ echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ ./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.RA2
echo "Checking for code style violations in OpenRA.Utility..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Utility
echo "Checking for code style violations in OpenRA.Test..."
--- a/mods/all/mod.yaml
+++ b/mods/all/mod.yaml
@@ -20,6 +20,7 @@
d2k:OpenRA.Mods.D2k.dll
./mods/cnc/OpenRA.Mods.Cnc.dll
./mods/ts/OpenRA.Mods.TS.dll
+ ./mods/ts/OpenRA.Mods.RA2.dll
ChromeLayout:
--- a/mods/ra2/mod.yaml
+++ b/mods/ra2mod.yaml
@@ -5,7 +5,7 @@
Author: RA2 team
RequiresMods:
- modchooser: {DEV_VERSION}
+
Folders:
.
--- a/OpenRA.sln
+++ b/OpenRA.sln
@@ -17,6 +17,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.TS", "OpenRA.Mods.TS\OpenRA.Mods.TS.csproj", "{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.RA2", "OpenRA.Mods.RA2\OpenRA.Mods.RA2.csproj", "{7E1263D2-BA04-48D0-85DB-26C68B782608}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Platforms.Default", "OpenRA.Platforms.Default\OpenRA.Platforms.Default.csproj", "{33D03738-C154-4028-8EA8-63A3C488A651}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.Common", "OpenRA.Mods.Common\OpenRA.Mods.Common.csproj", "{FE6C8CC0-2F07-442A-B29F-17617B3B7FC6}"
@@ -139,6 +141,10 @@
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|x86.Build.0 = Debug|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.ActiveCfg = Release|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.Build.0 = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.ActiveCfg = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.Build.0 = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.ActiveCfg = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.Build.0 = Release|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.ActiveCfg = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.Build.0 = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Release|x86.ActiveCfg = Release|x86
--- a/utility.cmd
+++ b/utility.cmd
@@ -16,6 +16,7 @@
if /I "%mod%" EQU "ra" (goto help)
if /I "%mod%" EQU "cnc" (goto help)
if /I "%mod%" EQU "ts" (goto help)
+if /I "%mod%" EQU "ra2" (goto help)
if /I "%mod%" EQU "d2k" (goto help)
echo.
echo Unknown mod: %mod%

+ 0
- 34
windows/BEFORE-INSTALLATION.txt View File

@ -1,34 +0,0 @@
DO THIS BEFORE RUNNING INSTALL.BAT
1) Download and install Microsoft .NET Framework 4.5.2. If you already have it, skip this step.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=42643
All .NET 4.X Framework versions:
https://msdn.microsoft.com/en-us/library/5a4x27ek%28v=vs.110%29.aspx
------------------------------------------------
ABOUT INSTALL.BAT
- Automatically compiles OpenRA with Tiberian Sun & Red Alert 2 from the source for you
- This is the file you need to execute if you're looking for installation of OpenRA with Tiberian Sun & Red Alert 2
- Double click to execute it
------------------------------------------------
- Once the install.bat script has compiled the game, there should be many warnings but not a single error
message as output. I got 52 errors if I had only .NET Framework 4.5 installed.
- I got only 13 warnings after I installed Microsoft Windows SDK for Windows 7 and .NET Framework 4
(https://www.microsoft.com/en-us/download/details.aspx?id=8279)
- However, the number of those warning messages didn't affect my gameplay in any way. That's why I'm not sure
if you need to worry about them. I can't really recommend to install 1.7GB of unneeded stuff on your PC
without a very good and valid reason.
- If you feel it important or your game crashes etc., please consider installing that SDK stuff and
re-running the install.bat the game.
------------------------------------------------

+ 0
- 206
windows/data/install.ps1 View File

@ -1,206 +0,0 @@
#------------------------------------------------------
## Prepare the script for possible Ctrl+C termination
while ($true)
{
#------------------------------------------------------
## Initial script messages
"***Welcome Comrade***"
Start-Sleep -s 3
"`nThis script will generate OpenRA with Tiberian Sun & Red Alert 2 for Windows."
Start-Sleep -s 4
"`n- Make sure you have Microsoft .NET Framework 4.5 installed on your computer."
Start-Sleep -s 3
"`n- This script is NOT made by the OpenRA developers and may contain bugs."
Start-Sleep -s 3
"`n- If you worry about what the script is doing, you can always check its code (\data\install.ps1)"
Start-Sleep -s 4
"`n- Press Ctrl+C if you want terminate script execution."
Start-Sleep -s 4
"`n***Starting execution sequence now***"
Start-Sleep -s 3
#------------------------------------------------------
## Remove all old source files if they exist
"`nRemoving all old source files that may exist in the data directory."
Remove-Item .\data\OpenRA-bleed -Force -Recurse -ErrorAction SilentlyContinue
Remove-Item .\data\ra2-master -Force -Recurse -ErrorAction SilentlyContinue
Remove-Item .\data\OpenRA-bleed.zip -Force -ErrorAction SilentlyContinue
Remove-Item .\data\ra2-master.zip -Force -ErrorAction SilentlyContinue
#------------------------------------------------------
## Prepare Github environment for downloading the source
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$client = New-Object System.Net.WebClient
$client.Headers.Add("Authorization","token 1234567890notarealtoken987654321")
$client.Headers.Add("Accept","application/vnd.github.v3.raw")
#------------------------------------------------------
## Download OpenRA-bleed source code
"`nDownloading OpenRA source files from Github. Please Stand By."
$client.DownloadFile("https://github.com/OpenRA/OpenRA/archive/bleed.zip?ref=bleed",".\data\OpenRA-bleed.zip”)
#------------------------------------------------------
## Download Red Alert 2 mod files
"`nDownloading Red Alert 2 mod files from Github. Please Stand By."
$client.DownloadFile("https://github.com/OpenRA/ra2/archive/master.zip?ref=master",".\data\ra2-master.zip”)
#------------------------------------------------------
## Unzip OpenRA-bleed source files
"`nUnzipping OpenRA source files into data folder."
$shell_app=new-object -com shell.application
$filename = "OpenRA-bleed.zip"
$zip_file = $shell_app.namespace((Get-Location).Path + "\data" + "\$filename")
$destination = $shell_app.namespace((Get-Location).Path + "\data")
$destination.Copyhere($zip_file.items())
#------------------------------------------------------
## Unzip Red Alert 2 mod files
"`nUnzipping Red Alert 2 mod files into data folder."
$shell_app=new-object -com shell.application
$filename2 = "ra2-master.zip"
$zip_file2 = $shell_app.namespace((Get-Location).Path + "\data" + "\$filename2")
$destination = $shell_app.namespace((Get-Location).Path + "\data")
$destination.Copyhere($zip_file2.items())
#------------------------------------------------------
## Merge OpenRA source files and Red Alert 2 mod files together
"`nMerging OpenRA source & Red Alert 2 mod files."
move-item ".\data\ra2-master\OpenRA.Mods.RA2" ".\data\OpenRA-bleed\OpenRA.Mods.RA2"
move-item ".\data\ra2-master" ".\data\OpenRA-bleed\mods\ra2"
#------------------------------------------------------
## Get OpenRA Git version number
"`nRetrieving OpenRA & Red Alert 2 Git version numbers."
$web = New-Object System.Net.WebClient
$web.DownloadFile("https://github.com/OpenRA/OpenRA",".\data\openra-github.html")
$flag=0
Get-Content .\data\openra-github.html |
foreach {
Switch -Wildcard ($_){
"*Latest commit*" {$flag=1}
"*time datetime*" {$flag=0}
}
if ($flag -eq 1){
Out-File .\data\openra-html-stripped.txt -InputObject $_ -Append
}
}
(Get-Content .\data\openra-html-stripped.txt)[2] -replace '\s','' | Foreach-Object{ 'git-' + $_ } > .\data\openra-latestcommit.txt
$openra_gitversion = [IO.File]::ReadAllText(".\data\openra-latestcommit.txt").trim("`r`n")
#------------------------------------------------------
## Get Red Alert 2 Git version number
$web = New-Object System.Net.WebClient
$web.DownloadFile("https://github.com/OpenRA/ra2",".\data\ra2-github.html")
$flag=0
Get-Content .\data\ra2-github.html |
foreach {
Switch -Wildcard ($_){
"*Latest commit*" {$flag=1}
"*time datetime*" {$flag=0}
}
if ($flag -eq 1){
Out-File .\data\ra2-html-stripped.txt -InputObject $_ -Append
}
}
(Get-Content .\data\ra2-html-stripped.txt)[2] -replace '\s','' | Foreach-Object{ 'git-' + $_ } > .\data\ra2-latestcommit.txt
$ra2_gitversion = [IO.File]::ReadAllText(".\data\ra2-latestcommit.txt").trim("`r`n")
#------------------------------------------------------
## Prepare OpenRA source code for Tiberian Sun & Red Alert 2
Start-Sleep -s 3
"`nPatching OpenRA source code for Tiberian Sun & Red Alert 2."
cd .\data
.\patch.exe -d OpenRA-bleed -Np1 -i ..\openra-srcpatch.patch
cd ..
#------------------------------------------------------
## Push version numbers to mod files
# Red Alert
(Get-Content .\data\Openra-bleed\mods\ra\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\ra\mod.yaml
# Tiberian Dawn
(Get-Content .\data\Openra-bleed\mods\cnc\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\cnc\mod.yaml
# Dune 2K
(Get-Content .\data\Openra-bleed\mods\d2k\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\d2k\mod.yaml
# Tiberian Sun
(Get-Content .\data\Openra-bleed\mods\ts\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\ts\mod.yaml
# Red Alert 2
(Get-Content .\data\Openra-bleed\mods\ra2\mod.yaml) -replace '{DEV_VERSION}',$ra2_gitversion | Set-Content .\data\Openra-bleed\mods\ra2\mod.yaml
# Mod Chooser
(Get-Content .\data\Openra-bleed\mods\modchooser\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\modchooser\mod.yaml
# All
(Get-Content .\data\Openra-bleed\mods\all\mod.yaml) -replace '{DEV_VERSION}',$openra_gitversion | Set-Content .\data\Openra-bleed\mods\all\mod.yaml
#------------------------------------------------------
## Remove temporary files
Remove-Item .\data\openra-github.html
Remove-Item .\data\openra-html-stripped.txt
Remove-Item .\data\ra2-github.html
Remove-Item .\data\ra2-html-stripped.txt
Remove-Item .\data\openra-latestcommit.txt
Remove-Item .\data\ra2-latestcommit.txt
#------------------------------------------------------
## Compile OpenRA with Tiberian Sun & Red Alert 2
"`nCompiling OpenRA with Tiberian Sun & Red Alert 2.`n"
cd .\data\OpenRA-bleed\
.\make.cmd dependencies
.\make.cmd all
cd ..
cd ..
move-item ".\data\OpenRA-bleed\" ".\OpenRA-bleed-tibsunra2"
#------------------------------------------------------
## Post-installation messages
"`nCompilation process completed. You find the game inside 'OpenRA-bleed-tibsunra2' folder"
Start-Sleep -s 4
"`nTO PLAY OPENRA: Click OpenRA.exe (maybe you should create a desktop shortcut for it?)"
"`nTO PLAY TIBERIAN SUN: Launch the game and download the required asset files from the web when the game asks you to do so."
"`nTO PLAY RED ALERT 2: you must install language.mix, multi.mix, ra2.mix and theme.mix into \My Documents\OpenRA\Content\ra2\ folder.`nYou find these files from original RA2 installation media (CD's):`n`ntheme.mix, multi.mix = RA2 CD Root folder`nra2.mix, language.mix = RA2 CD Root/INSTALL/Game1.CAB (inside that archive file)"
"`nMULTIPLAYER: It's recommended to use exactly same compiled EXE files (and other stuff) for multiplayer usage to minimize possible version differences/conflicts between players. If your friends compiles this package with another operating system, please make sure they use exactly same source files for their OpenRA compilation process."
"`nUNINSTALLATION: Since the game has been compiled from source and no additional setup programs are provided, all you need to do is to delete the contents of 'OpenRA-bleed-tibsunra2' folder and \My Documents\OpenRA\"
"`nHave fun!"
exit
#------------------------------------------------------
## Termination code for the script (Ctrl + C)
if ($Host.UI.RawUI.KeyAvailable -and (3 -eq [int]$Host.UI.RawUI.ReadKey("AllowCtrlC,IncludeKeyUp,NoEcho").Character))
{
write-host "Installation script terminated by user."
$key = $Host.UI.RawUI.ReadKey("NoEcho, IncludeKeyDown")
if ($key.Character -eq "N") { break; }
}
}

+ 0
- 257
windows/data/openra-srcpatch.patch View File

@ -1,257 +0,0 @@
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@
############################## TOOLCHAIN ###############################
#
-CSC = mcs -sdk:4.0
+CSC = mcs
CSFLAGS = -nologo -warn:4 -codepage:utf8 -unsafe -warnaserror
DEFINE = TRACE
COMMON_LIBS = System.dll System.Core.dll System.Data.dll System.Data.DataSetExtensions.dll System.Drawing.dll System.Xml.dll thirdparty/download/ICSharpCode.SharpZipLib.dll thirdparty/download/FuzzyLogicLibrary.dll thirdparty/download/Mono.Nat.dll thirdparty/download/MaxMind.Db.dll thirdparty/download/MaxMind.GeoIP2.dll thirdparty/download/Eluant.dll thirdparty/download/SmarIrc4net.dll
--- a/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
+++ b/OpenRA.Mods.RA2/OpenRA.Mods.RA2.csproj
@@ -1,33 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
- <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.0</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{7E1263D2-BA04-48D0-85DB-26C68B782608}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>OpenRA.Mods.RA2</RootNamespace>
<AssemblyName>OpenRA.Mods.RA2</AssemblyName>
- <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
- <OutputPath>..</OutputPath>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
<PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <DebugType>full</DebugType>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
- <DebugSymbols>True</DebugSymbols>
- <DebugType>Full</DebugType>
- <Optimize>False</Optimize>
- <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
- <DebugSymbols>False</DebugSymbols>
- <DebugType>None</DebugType>
- <Optimize>True</Optimize>
- <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <Optimize>true</Optimize>
+ <CustomCommands>
+ <CustomCommands>
+ <Command type="AfterBuild" command="cp ${TargetFile} ../mods/ra2" workingdir="${ProjectDir}" />
+ <Command type="AfterBuild" command="cp ${TargetFile}.mdb ../mods/ra2" workingdir="${ProjectDir}" />
+ </CustomCommands>
+ </CustomCommands>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="Eluant">
+ <HintPath>..\thirdparty\download\Eluant.dll</HintPath>
+ <Private>False</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <ItemGroup>
+ <ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
+ <Project>{0DFB103F-2962-400F-8C6D-E2C28CCBA633}</Project>
+ <Name>OpenRA.Game</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ <ProjectReference Include="..\OpenRA.Mods.Common\OpenRA.Mods.Common.csproj">
+ <Project>{fe6c8cc0-2f07-442a-b29f-17617b3b7fc6}</Project>
+ <Name>OpenRA.Mods.Common</Name>
+ <Private>False</Private>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Stub.cs" />
+ </ItemGroup>
+ <ItemGroup>
<Reference Include="Microsoft.CSharp">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
@@ -52,8 +93,9 @@
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <Compile Include="Stub.cs" />
- </ItemGroup>
-</Project>
+ <PropertyGroup>
+ <PostBuildEvent>mkdir "$(SolutionDir)mods/ra2/"
+copy "$(TargetPath)" "$(SolutionDir)mods/ra2/"
+cd "$(SolutionDir)"</PostBuildEvent>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
--- a/Makefile
+++ b/Makefile
@@ -187,6 +187,15 @@
PROGRAMS += mod_ts
mod_ts: $(mod_ts_TARGET)
+# Red Alert 2
+mod_ra2_SRCS := $(shell find OpenRA.Mods.RA2/ -iname '*.cs')
+mod_ra2_TARGET = mods/ra2/OpenRA.Mods.RA2.dll
+mod_ra2_KIND = library
+mod_ra2_DEPS = $(STD_MOD_DEPS) $(mod_common_TARGET)
+mod_ra2_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) $(mod_common_TARGET)
+PROGRAMS += mod_ra2
+mod_ra2: $(mod_ra2_TARGET)
+
check-scripts:
@echo
@echo "Checking for Lua syntax errors..."
@@ -222,6 +231,9 @@
@echo "Checking for code style violations in OpenRA.Mods.TS..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.TS
@echo
+ @echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ @mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Mods.RA2
+ @echo
@echo "Checking for code style violations in OpenRA.Utility..."
@mono --debug OpenRA.Utility.exe ra --check-code-style OpenRA.Utility
@echo
@@ -255,6 +267,9 @@
@echo "Testing Tiberian Sun mod MiniYAML..."
@mono --debug OpenRA.Utility.exe ts --check-yaml
@echo
+ @echo "Testing Red Alert 2 mod MiniYAML..."
+ @mono --debug OpenRA.Utility.exe ra2 --check-yaml
+ @echo
@echo "Testing Dune 2000 mod MiniYAML..."
@mono --debug OpenRA.Utility.exe d2k --check-yaml
@echo
@@ -320,7 +335,7 @@
package: all-dependencies core tools docs version
-mods: mod_common mod_ra mod_cnc mod_d2k mod_ts
+mods: mod_common mod_ra mod_cnc mod_d2k mod_ts mod_ra2
all: dependencies core tools
@@ -389,6 +404,10 @@
@$(CP_R) mods/d2k "$(DATA_INSTALL_DIR)/mods/"
@$(INSTALL_PROGRAM) $(mod_d2k_TARGET) "$(DATA_INSTALL_DIR)/mods/d2k"
@$(CP_R) mods/modchooser "$(DATA_INSTALL_DIR)/mods/"
+ @$(CP_R) mods/ts "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ts_TARGET) "$(DATA_INSTALL_DIR)/mods/ts"
+ @$(CP_R) mods/ra2 "$(DATA_INSTALL_DIR)/mods/"
+ @$(INSTALL_PROGRAM) $(mod_ra2_TARGET) "$(DATA_INSTALL_DIR)/mods/ra2"
@$(INSTALL_DATA) "global mix database.dat" "$(DATA_INSTALL_DIR)/global mix database.dat"
@$(INSTALL_DATA) "GeoLite2-Country.mmdb.gz" "$(DATA_INSTALL_DIR)/GeoLite2-Country.mmdb.gz"
--- a/make.ps1
+++ b/make.ps1
@@ -136,6 +136,8 @@
echo "Testing mods..."
echo "Testing Tiberian Sun mod MiniYAML..."
./OpenRA.Utility.exe ts --check-yaml
+ echo "Testing Red Alert 2 mod MiniYAML..."
+ ./OpenRA.Utility.exe ra2 --check-yaml
echo "Testing Dune 2000 mod MiniYAML..."
./OpenRA.Utility.exe d2k --check-yaml
echo "Testing Tiberian Dawn mod MiniYAML..."
@@ -170,6 +172,8 @@
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.D2k
echo "Checking for code style violations in OpenRA.Mods.TS..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.TS
+ echo "Checking for code style violations in OpenRA.Mods.RA2..."
+ ./OpenRA.Utility.exe cnc --check-code-style OpenRA.Mods.RA2
echo "Checking for code style violations in OpenRA.Utility..."
./OpenRA.Utility.exe cnc --check-code-style OpenRA.Utility
echo "Checking for code style violations in OpenRA.Test..."
--- a/mods/all/mod.yaml
+++ b/mods/all/mod.yaml
@@ -20,6 +20,7 @@
d2k:OpenRA.Mods.D2k.dll
./mods/cnc/OpenRA.Mods.Cnc.dll
./mods/ts/OpenRA.Mods.TS.dll
+ ./mods/ts/OpenRA.Mods.RA2.dll
ChromeLayout:
--- a/mods/ra2/mod.yaml
+++ b/mods/ra2mod.yaml
@@ -5,7 +5,7 @@
Author: RA2 team
RequiresMods:
- modchooser: {DEV_VERSION}
+
Folders:
.
--- a/OpenRA.sln
+++ b/OpenRA.sln
@@ -17,6 +17,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.TS", "OpenRA.Mods.TS\OpenRA.Mods.TS.csproj", "{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.RA2", "OpenRA.Mods.RA2\OpenRA.Mods.RA2.csproj", "{7E1263D2-BA04-48D0-85DB-26C68B782608}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Platforms.Default", "OpenRA.Platforms.Default\OpenRA.Platforms.Default.csproj", "{33D03738-C154-4028-8EA8-63A3C488A651}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRA.Mods.Common", "OpenRA.Mods.Common\OpenRA.Mods.Common.csproj", "{FE6C8CC0-2F07-442A-B29F-17617B3B7FC6}"
@@ -139,6 +141,10 @@
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Debug|x86.Build.0 = Debug|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.ActiveCfg = Release|x86
{5457CBF5-4CE4-421E-A8BF-9FD6C9732E1D}.Release|x86.Build.0 = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.ActiveCfg = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Debug|x86.Build.0 = Debug|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.ActiveCfg = Release|x86
+ {7E1263D2-BA04-48D0-85DB-26C68B782608}.Release|x86.Build.0 = Release|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.ActiveCfg = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Debug|x86.Build.0 = Debug|x86
{33D03738-C154-4028-8EA8-63A3C488A651}.Release|x86.ActiveCfg = Release|x86
--- a/utility.cmd
+++ b/utility.cmd
@@ -16,6 +16,7 @@
if /I "%mod%" EQU "ra" (goto help)
if /I "%mod%" EQU "cnc" (goto help)
if /I "%mod%" EQU "ts" (goto help)
+if /I "%mod%" EQU "ra2" (goto help)
if /I "%mod%" EQU "d2k" (goto help)
echo.
echo Unknown mod: %mod%

BIN
windows/data/patch.exe View File


+ 0
- 1
windows/install.bat View File

@ -1 +0,0 @@
start cmd.exe /k @powershell -NoProfile -ExecutionPolicy Unrestricted -File .\data\install.ps1 %*

+ 0
- 96
windows/windows-manual-installation.txt View File

@ -1,96 +0,0 @@
**************************************************************************
OpenRA + Tiberian Sun & Red Alert 2 installation instructions for Windows
**************************************************************************
------------------------------------------------
1) Extract contents of OpenRA-windows.zip
------------------------------------------------
2) Download OpenRA source code & Red Alert 2 mod files from Github:
https://github.com/OpenRA/OpenRA/archive/bleed.zip
https://github.com/OpenRA/ra2/archive/master.zip
------------------------------------------------
3) Extract both Github zip archives to a separate location. (E.G. create 'OpenRA-bleed' and 'ra2-master' parent folders)
------------------------------------------------
4) Go to 'ra2-master' folder. Cut OpenRA.Mods.RA2 directory and put it into OpenRA-bleed parent folder.
------------------------------------------------
5) Cut ra2-master folder into OpenRA-bleed\mods\ and rename it simply "ra2" (ra2-master ->> ra2)
------------------------------------------------
7) Download and install Microsoft .NET Framework 4.5.2. If you already have it, skip this step.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=42643
All .NET 4.X Framework versions:
https://msdn.microsoft.com/en-us/library/5a4x27ek%28v=vs.110%29.aspx
------------------------------------------------
8) You must patch OpenRA source files in order to run Tiberian Sun and Red Alert 2. Open patch.exe in Command Prompt.
In Command Prompt, navigate to the folder where you have patch.exe
(For example C:\Users\Fincer\Desktop\OpenRA-windows\)
Patch is a linux-based program we need to patch critical OpenRA source files.
------------------------------------------------
9) In Command Prompt, navigate to the folder where you have patch.exe.
(For example C:\Users\Fincer\Desktop\OpenRA-windows\)
------------------------------------------------
10) Run
patch.exe -d OpenRA-bleed -Np1 -i ..\patches\openra-srcpatch.patch
where
OpenRA-bleed = OpenRA-bleed parent folder
..\patches\openra-srcpatch.patch = openra-srcpatch.patch file location
------------------------------------------------
11) Once the files have been patched, navigate to OpenRA-bleed folder in Command Prompt
cd OpenRA-bleed
------------------------------------------------
12) In Command Prompt, run
make.cmd
------------------------------------------------
13) Type 'dependencies' at the prompt (without quotations). Select "Run once (R)"
------------------------------------------------
14) run make.cmd again. Now, instead of typing 'dependencies', type 'all' (without quotations, once again).
------------------------------------------------
15) Once the script has run, there should be many warnings but not a single error message.
I got 52 errors if I had only .NET Framework 4.5 installed.
After I installed Microsoft Windows SDK for Windows 7 and .NET Framework 4 (https://www.microsoft.com/en-us/download/details.aspx?id=8279)
I got only 13 warnings.
However, the number of those warning messages didn't affect my gameplay in any way.
That's why I'm not sure if you need to worry about those messages.
And I can't really recommend to install 1.7GB of unneeded stuff on your PC
without a very good and valid reason.
If you feel it important or your game crashes etc., please consider installing that SDK stuff and re-building the game.
------------------------------------------------
16) OpenRA exe files have been compiled now. You can run the game by double-clicking OpenRA.exe in your Openra-Bleed parent folder.
------------------------------------------------
17) To play Red Alert 2, insert theme.mix, language.mix, ra2.mix and multi.mix into \My Documents\OpenRA\Contents\ra2\ folder.
You can find these mix files inside of a Red Alert 2 original installation media (CD).
theme.mix, multi.mix = RA2 CD root folder
ra2.mix, language.mix = RA2 CD Root/INSTALL/Game1.CAB (inside that archive file)

Loading…
Cancel
Save