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"