diff --git a/AUTHORS b/AUTHORS
index 2b8f0e1bc5..1cc92b954c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -12,6 +12,7 @@ The OpenRA developers are:
Also thanks to:
* Akseli Virtanen (RAGEQUIT)
* Andrew Riedi
+ * Barnaby Smith (mvi)
* Bellator
* Christer Ulfsparre (Holloweye)
* Erasmus Schroder (rasco)
@@ -22,6 +23,7 @@ Also thanks to:
* Lawrence Wang
* Mark Olson (markolson)
* Matthew Gatland (mgatland)
+ * Matthias Mailänder (Mailaender)
* Max Ugrumov (katzsmile)
* Max621
* Nukem
diff --git a/OpenRA.FileFormats/OpenRA.FileFormats.csproj b/OpenRA.FileFormats/OpenRA.FileFormats.csproj
index 0b4c08eacf..f97116332b 100644
--- a/OpenRA.FileFormats/OpenRA.FileFormats.csproj
+++ b/OpenRA.FileFormats/OpenRA.FileFormats.csproj
@@ -81,7 +81,6 @@
-
diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
index 47617a3870..42540d4f24 100644
--- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
+++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj
@@ -82,7 +82,9 @@
-
-
-
+
+ mkdir "$(SolutionDir)mods/d2k/"
+copy "$(TargetPath)" "$(SolutionDir)mods/d2k/"
+cd "$(SolutionDir)"
+
\ No newline at end of file
diff --git a/OpenRA.Utility/OpenRA.Utility.csproj b/OpenRA.Utility/OpenRA.Utility.csproj
index 0c4ed1da40..0beb4c89d7 100644
--- a/OpenRA.Utility/OpenRA.Utility.csproj
+++ b/OpenRA.Utility/OpenRA.Utility.csproj
@@ -54,6 +54,7 @@
+
diff --git a/OpenRA.FileFormats/Graphics/R8Reader.cs b/OpenRA.Utility/R8Reader.cs
similarity index 94%
rename from OpenRA.FileFormats/Graphics/R8Reader.cs
rename to OpenRA.Utility/R8Reader.cs
index d7a9be4b47..4901d9cc5e 100644
--- a/OpenRA.FileFormats/Graphics/R8Reader.cs
+++ b/OpenRA.Utility/R8Reader.cs
@@ -1,10 +1,12 @@
#region Copyright & License Information
/*
- * Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
+ * Copyright 2007-2012 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information,
- * see LICENSE.
+ * see COPYING.
+ * It also incorporates parts of http://code.google.com/p/dune2000plusone
+ * which is licensed under the BSD 2-Clause License.
*/
#endregion
@@ -14,7 +16,7 @@ using System.Drawing;
using System.IO;
using System;
-namespace OpenRA.FileFormats
+namespace OpenRA.Utility
{
public class R8Image
{
diff --git a/mods/d2k/bits/d2k.pal b/mods/d2k/bits/d2k.pal
new file mode 100644
index 0000000000..be445309b5
Binary files /dev/null and b/mods/d2k/bits/d2k.pal differ
diff --git a/mods/d2k/maps/blank.oramap b/mods/d2k/maps/blank.oramap
deleted file mode 100644
index c826e5a14e..0000000000
Binary files a/mods/d2k/maps/blank.oramap and /dev/null differ
diff --git a/mods/d2k/maps/test.oramap b/mods/d2k/maps/test.oramap
index 59873cda66..d97a361db9 100644
Binary files a/mods/d2k/maps/test.oramap and b/mods/d2k/maps/test.oramap differ
diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml
index 3407dccbcc..9bc28d10eb 100644
--- a/mods/d2k/mod.yaml
+++ b/mods/d2k/mod.yaml
@@ -3,6 +3,7 @@ Metadata:
Description: Converting the OpenRA Red Alert Mod one by one to Dune 2000
Version: {DEV_VERSION}
Author: The OpenD2k Developers
+ Requires: ra
Folders:
.
@@ -10,84 +11,38 @@ Folders:
./mods/d2k/bits
./mods/d2k/uibits
~^/Content/d2k
- ./mods/ra
- ./mods/ra/bits
- ./mods/ra/uibits
- ~^/Content/ra
Packages:
- ~main.mix
- redalert.mix
- conquer.mix
- hires.mix
- local.mix
- sounds.mix
- speech.mix
- allies.mix
- russian.mix
- temperat.mix
- snow.mix
- interior.mix
- ~scores.mix
- ~movies1.mix
- ~movies2.mix
- mods/d2k/bits/arrakis.mix
+ arrakis.mix
Rules:
mods/d2k/rules/system.yaml
mods/d2k/rules/vehicles.yaml
mods/d2k/rules/structures.yaml
mods/d2k/rules/aircraft.yaml
- mods/ra/rules/defaults.yaml
- mods/ra/rules/system.yaml
- mods/ra/rules/vehicles.yaml
- mods/ra/rules/structures.yaml
- mods/ra/rules/infantry.yaml
- mods/ra/rules/civilian.yaml
- mods/ra/rules/trees.yaml
- mods/ra/rules/aircraft.yaml
- mods/ra/rules/ships.yaml
Sequences:
mods/d2k/sequences.yaml
- mods/ra/sequences.yaml
Cursors:
- mods/ra/cursors.yaml
Chrome:
mods/d2k/chrome.yaml
- mods/ra/chrome.yaml
Assemblies:
mods/d2k/OpenRA.Mods.D2k.dll
mods/ra/OpenRA.Mods.RA.dll
+ mods/cnc/OpenRA.Mods.Cnc.dll
ChromeLayout:
- mods/ra/chrome/gameinit.yaml
- mods/ra/chrome/ingame.yaml
- mods/ra/chrome/mainmenu.yaml
- mods/ra/chrome/settings.yaml
- mods/ra/chrome/lobby.yaml
- mods/ra/chrome/map-chooser.yaml
- mods/ra/chrome/create-server.yaml
- mods/ra/chrome/serverbrowser.yaml
- mods/ra/chrome/replaybrowser.yaml
- mods/ra/chrome/dropdowns.yaml
- mods/ra/chrome/modchooser.yaml
Weapons:
- mods/ra/weapons.yaml
Voices:
mods/d2k/voices.yaml
- mods/ra/voices.yaml
TileSets:
mods/d2k/tilesets/arrakis.yaml
- mods/ra/tilesets/snow.yaml
- mods/ra/tilesets/interior.yaml
- mods/ra/tilesets/temperat.yaml
Music:
@@ -100,7 +55,6 @@ ServerTraits:
MasterServerPinger
ChromeMetrics:
- mods/ra/metrics.yaml
Fonts:
Regular:
diff --git a/mods/d2k/rules/aircraft.yaml b/mods/d2k/rules/aircraft.yaml
index 555526edc1..d77c297bb8 100644
--- a/mods/d2k/rules/aircraft.yaml
+++ b/mods/d2k/rules/aircraft.yaml
@@ -21,11 +21,11 @@ CARRYALL:
RearmBuildings: hightecha
InitialFacing: 0
ROT: 5
- Speed: 12
+ Speed: 15
LandableTerrainTypes: Clear,Rough,Road,Ore,Beach
RenderUnit:
PlayerPalette: d2kplayer
-# RenderCargo:
+ RenderCargo:
WithShadow:
Cargo:
Types: Vehicle
diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml
index 81cb4935a3..5483a3b75f 100644
--- a/mods/d2k/rules/structures.yaml
+++ b/mods/d2k/rules/structures.yaml
@@ -163,7 +163,7 @@ REFA:
CustomSellValue:
Value: 600
FreeActor:
- Actor: HARV
+ Actor: HARVESTER
InitialActivity: FindResources
SpawnOffset: 1,2
Facing: 64
diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml
index 56001f83fe..3e1ebdfb21 100644
--- a/mods/d2k/rules/system.yaml
+++ b/mods/d2k/rules/system.yaml
@@ -1,9 +1,111 @@
Player:
+ TechTree:
+ ClassicProductionQueue@Building:
+ Type: Building
+ BuildSpeed: .4
+ LowPowerSlowdown: 3
+ QueuedAudio: abldgin1.aud
+ ReadyAudio: conscmp1.aud
+ ClassicProductionQueue@Defense:
+ Type: Defense
+ BuildSpeed: .4
+ LowPowerSlowdown: 3
+ QueuedAudio: abldgin1.aud
+ ReadyAudio: conscmp1.aud
+ ClassicProductionQueue@Vehicle:
+ Type: Vehicle
+ BuildSpeed: .4
+ LowPowerSlowdown: 3
+ ClassicProductionQueue@Infantry:
+ Type: Infantry
+ BuildSpeed: .4
+ LowPowerSlowdown: 3
+ ClassicProductionQueue@Plane:
+ Type: Plane
+ BuildSpeed: .4
+ LowPowerSlowdown: 3
+ PlaceBuilding:
+ SupportPowerManager:
+ ConquestVictoryConditions:
+ WinNotification:misnwon1.aud
+ LoseNotification:misnlst1.aud
+ PowerManager:
+ AllyRepair:
+ PlayerResources:
+ InitialCash: 5000
+ ActorGroupProxy:
+ DeveloperMode:
PlayerColorPalette@d2kplayer:
BasePalette: d2k
BaseName: d2kplayer
PaletteFormat: d2k
+ DebugResourceCash:
+ DebugResourceOre:
+ DebugResourceOreCapacity:
+ GpsWatcher:
+ BaseAttackNotifier:
+
World:
+ OpenWidgetAtGameStart:
+ Widget: INGAME_ROOT
+ ObserverWidget: OBSERVER_ROOT
+ ScreenShaker:
+ WaterPaletteRotation:
+ NukePaletteEffect:
+ LightPaletteRotator:
+ BuildingInfluence:
+ ChooseBuildTabOnSelect:
+ CrateDrop:
+ Minimum: 1
+ Maximum: 3
+ SpawnInterval: 120
+ WaterChance: .2
+ PaletteFromCurrentTileset:
+ Name: terrain
+ PaletteFromFile@d2k:
+ Name: d2k
+ Filename: d2k.pal
+ PaletteFromFile@chrome:
+ Name: chrome
+ Filename: d2k.pal
+ PaletteFromFile@effect:
+ Name: effect
+ Filename: temperat.pal
+ PaletteFromRGBA@shadow:
+ Name: shadow
+ R: 0
+ G: 0
+ B: 0
+ A: 140
+ PaletteFromRGBA@cloak:
+ Name: cloak
+ R: 0
+ G: 0
+ B: 0
+ A: 140
+ PaletteFromRGBA@highlight:
+ Name: highlight
+ R: 255
+ G: 255
+ B: 255
+ A: 128
+ PaletteFromRGBA@invuln:
+ Name: invuln
+ R: 128
+ G: 0
+ B: 0
+ A: 128
+ PaletteFromRGBA@disabled:
+ Name: disabled
+ R: 0
+ G: 0
+ B: 0
+ A: 180
+ ColorPickerPaletteModifier:
+ ShroudPalette@shroud:
+ ShroudPalette@fog:
+ IsFog: yes
+ Name: fog
Country@2:
Name: Atreides
Race: atreides
@@ -13,12 +115,8 @@ World:
# Country@4:
# Name: Ordos
# Race: ordos
- PaletteFromFile@d2k:
- Name: d2k
- Filename: d2k.pal
- PaletteFromFile@chrome:
- Name: chrome
- Filename: d2k.pal
+ BibLayer:
+ ResourceLayer:
# ResourceType@spice:
# ResourceType: 1
# Palette: d2k
@@ -27,4 +125,76 @@ World:
# Name: Spice
# PipColor: Yellow
# AllowedTerrainTypes: Sand
-# AllowUnderActors: false
\ No newline at end of file
+# AllowUnderActors: false
+ SmudgeLayer@SCORCH:
+ Type:Scorch
+ SmokePercentage:50
+ Types:sc1,sc2,sc3,sc4,sc5,sc6
+ Depths:1,1,1,1,1,1
+ SmudgeLayer@CRATER:
+ Type:Crater
+ Types:cr1,cr2,cr3,cr4,cr5,cr6
+ Depths:5,5,5,5,5,5
+ SpawnMapActors:
+ CreateMPPlayers:
+ MPStartLocations:
+ SpawnMPUnits:
+ EvaAlerts:
+ SpatialBins:
+ BinSize: 4
+ Shroud:
+ PathFinder:
+ ValidateOrder:
+CRATE:
+ Tooltip:
+ Name: Crate
+ Crate:
+ Lifetime: 120
+ TerrainTypes: Clear, Rough, Road, Water, Ore, Beach
+ GiveCashCrateAction:
+ Amount: 1000
+ SelectionShares: 50
+ UseCashTick: yes
+ LevelUpCrateAction:
+ SelectionShares: 40
+ ExplodeCrateAction@fire:
+ Weapon: CrateNapalm
+ SelectionShares: 5
+ ExplodeCrateAction@boom:
+ Weapon: CrateExplosion
+ SelectionShares: 5
+ ExplodeCrateAction@nuke:
+ Weapon: CrateNuke
+ SelectionShares: 5
+ HideMapCrateAction:
+ SelectionShares: 5
+ Effect: hide-map
+ RevealMapCrateAction:
+ SelectionShares: 1
+ Effect: reveal-map
+ SupportPowerCrateAction@parabombs:
+ SelectionShares: 5
+ Proxy: powerproxy.parabombs
+ GiveMcvCrateAction:
+ SelectionShares: 2
+ NoBaseSelectionShares: 9001
+ Unit: mcv
+ GiveUnitCrateAction@trike:
+ SelectionShares: 7
+ Unit: trike
+ GiveUnitCrateAction@quad:
+ SelectionShares: 6
+ Unit: quad
+ RenderSimple:
+ BelowUnits:
+ ProximityCaptor:
+ Types:Crate
+ Passenger:
+
+mpspawn:
+ Waypoint:
+ RenderEditorOnly:
+
+waypoint:
+ Waypoint:
+ RenderEditorOnly:
\ No newline at end of file
diff --git a/mods/d2k/rules/vehicles.yaml b/mods/d2k/rules/vehicles.yaml
index 11d38b8416..9e6d90569b 100644
--- a/mods/d2k/rules/vehicles.yaml
+++ b/mods/d2k/rules/vehicles.yaml
@@ -5,65 +5,95 @@ MCV:
Image: MCV
PlayerPalette: d2kplayer
+HARVESTER:
+ Inherits: ^Vehicle
+ Buildable:
+ Queue: Vehicle
+ BuildPaletteOrder: 10
+ Prerequisites: refa
+ Owner: atreides
+ Valued:
+ Cost: 1100
+ Tooltip:
+ Name: Spice Harvester
+ Description: Collects Spice for processing.\n Unarmed
+ Selectable:
+ Priority: 7
+ Bounds: 42,42
+ Harvester:
+ Capacity: 20
+ Resources: Ore,Gems
+ UnloadTicksPerBale: 1
+ Health:
+ HP: 600
+ Armor:
+ Type: Heavy
+ Mobile:
+ Speed: 6
+ Crushes: wall, atmine, crate, infantry
+ RevealsShroud:
+ Range: 4
+ RenderUnit::
+ PlayerPalette: d2kplayer
+ -AttackMove:
+ GpsDot:
+ String:Harvester
+
TRIKE:
Inherits: ^Vehicle
+ Buildable:
+ Queue: Vehicle
+ BuildPaletteOrder: 15
+ Prerequisites: lighta
+ Owner: atreides
Valued:
Cost: 200
Tooltip:
Name: Scout Trike
- Icon: trikeicon
Description: Weak Scout.\n Decent vs. Infantry
- Buildable:
- BuildPaletteOrder: 15
- Prerequisites: lighta
- Owner: atreides
Selectable:
Bounds: 24,24
- Mobile:
- ROT: 15
- Speed: 20
Health:
HP: 75
Armor:
Type: Light
+ Mobile:
+ ROT: 15
+ Speed: 20
RevealsShroud:
Range: 8
+ RenderUnit:
+ PlayerPalette: d2kplayer
AttackFrontal:
PrimaryWeapon: M60mg
PrimaryOffset: 0,0,0,-4
- RenderUnit:
- PlayerPalette: d2kplayer
- WithMuzzleFlash:
- PrimaryOffset: 0,3,0,0
AutoTarget:
QUAD:
Inherits: ^Vehicle
+ Buildable:
+ Queue: Vehicle
+ BuildPaletteOrder: 30
+ Prerequisites: lighta
+ Owner: atreides
Valued:
Cost: 400
Tooltip:
Name: Quad
- Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles, Aircraft\n Weak vs Infantry
- Buildable:
- BuildPaletteOrder: 30
- Prerequisites: lighta
- Owner: atreides
- Mobile:
- ROT: 10
- Speed: 13
+ Description: Fast scout vehicle, armed with \nrockets.\n Strong vs Vehicles\n Weak vs Infantry
Health:
HP: 120
Armor:
Type: Light
+ Mobile:
+ ROT: 10
+ Speed: 13
RevealsShroud:
Range: 7
- AttackFrontal:
- PrimaryWeapon: RedEye
- SecondaryWeapon: Dragon
- PrimaryOffset: 0,0,0,-2
- PrimaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25
- SecondaryOffset: 0,0,0,-2
- SecondaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25
RenderUnit:
PlayerPalette: d2kplayer
+ AttackFrontal:
+ PrimaryWeapon: RedEye
+ PrimaryOffset: 0,0,0,-2
+ PrimaryLocalOffset: -4,0,0,0,25, 4,0,0,0,-25
AutoTarget:
\ No newline at end of file
diff --git a/mods/d2k/sequences.yaml b/mods/d2k/sequences.yaml
index 5aee160dda..4c9340310f 100644
--- a/mods/d2k/sequences.yaml
+++ b/mods/d2k/sequences.yaml
@@ -3,6 +3,21 @@ mcv:
Start: 0
Facings: 32
+harvester:
+ idle:
+ Start: 0
+ Facings: 32
+ harvest:
+ Start: 0
+ Length: 0
+ Facings: 8
+ dock:
+ Start: 0
+ Length: 1
+ dock-loop:
+ Start: 0
+ Length: 1
+
conyarda:
idle:
Start: 0
diff --git a/ripD2kGameFiles.sh b/ripD2kGameFiles.sh
index d8980e2425..5e599aa582 100755
--- a/ripD2kGameFiles.sh
+++ b/ripD2kGameFiles.sh
@@ -118,8 +118,8 @@ mono OpenRA.Utility.exe --r8 $R8 $PAL 4017 4017 "raidericon"
mono OpenRA.Utility.exe --shp raidericon.png 60
mono OpenRA.Utility.exe --r8 $R8 $PAL 4018 4018 "quadicon"
mono OpenRA.Utility.exe --shp quadicon.png 60
-mono OpenRA.Utility.exe --r8 $R8 $PAL 4019 4019 "harvicon" # = 4044
-mono OpenRA.Utility.exe --shp harvicon.png 60
+mono OpenRA.Utility.exe --r8 $R8 $PAL 4019 4019 "harestervicon" # = 4044
+mono OpenRA.Utility.exe --shp harestervicon.png 60
mono OpenRA.Utility.exe --r8 $R8 $PAL 4020 4020 "combataicon"
mono OpenRA.Utility.exe --shp combataicon.png 60
mono OpenRA.Utility.exe --r8 $R8 $PAL 4021 4021 "combathicon"