diff --git a/OpenRA.Game/GameRules/VoiceInfo.cs b/OpenRA.Game/GameRules/VoiceInfo.cs index e16f2a7802..17b85d87e7 100644 --- a/OpenRA.Game/GameRules/VoiceInfo.cs +++ b/OpenRA.Game/GameRules/VoiceInfo.cs @@ -23,6 +23,7 @@ namespace OpenRA.GameRules public readonly string DefaultVariant = ".aud" ; public readonly string DefaultPrefix = "" ; public readonly string[] DisableVariants = { }; + public readonly string[] DisablePrefixes = { }; static Dictionary Load( MiniYaml y, string name ) { diff --git a/OpenRA.Game/Sound.cs b/OpenRA.Game/Sound.cs index 546628c12b..022fb2a25c 100644 --- a/OpenRA.Game/Sound.cs +++ b/OpenRA.Game/Sound.cs @@ -259,7 +259,7 @@ namespace OpenRA var variantExt = (vi.Variants.ContainsKey(variant) && !vi.DisableVariants.Contains(phrase)) ? vi.Variants[variant][voicedUnit.ActorID % vi.Variants[variant].Length] : vi.DefaultVariant; - var prefix = (vi.Prefixes.ContainsKey(variant)) ? + var prefix = (vi.Prefixes.ContainsKey(variant) && !vi.DisablePrefixes.Contains(phrase)) ? vi.Prefixes[variant][voicedUnit.ActorID % vi.Prefixes[variant].Length] : vi.DefaultPrefix; Play(prefix + clip + variantExt); return true; diff --git a/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs b/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs index 15730fdde1..2f45eaef1d 100644 --- a/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs +++ b/OpenRA.Mods.D2k/Widgets/Logic/D2kExtractGameFilesLogic.cs @@ -61,10 +61,14 @@ namespace OpenRA.Mods.D2k.Widgets.Logic var ExtractGameFiles = new string[][] { new string[] {"--r8", PathToDataR8, PathToPalette, "0", "2", Path.Combine(PathToSHPs, "overlay")}, + new string[] {"--r8", PathToDataR8, PathToPalette, "3", "3", Path.Combine(PathToSHPs, "repairing")}, new string[] {"--r8", PathToDataR8, PathToPalette, "15", "16", Path.Combine(PathToSHPs, "dots")}, + new string[] {"--r8", PathToDataR8, PathToPalette, "17", "26", Path.Combine(PathToSHPs, "numbers")}, //new string[] {"--r8", PathToDataR8, PathToPalette, "40", "101", Path.Combine(PathToSHPs, "shadow")}, new string[] {"--r8", PathToDataR8, PathToPalette, "102", "105", Path.Combine(PathToSHPs, "crates")}, new string[] {"--r8", PathToDataR8, PathToPalette, "107", "109", Path.Combine(PathToSHPs, "spicebloom")}, + new string[] {"--r8", PathToDataR8, PathToPalette, "110", "111", Path.Combine(PathToSHPs, "stars")}, + new string[] {"--r8", PathToDataR8, PathToPalette, "112", "112", Path.Combine(PathToSHPs, "greenuparrow")}, new string[] {"--r8", PathToDataR8, PathToPalette, "114", "129", Path.Combine(PathToSHPs, "rockcrater1")}, new string[] {"--r8", PathToDataR8, PathToPalette, "130", "145", Path.Combine(PathToSHPs, "rockcrater2")}, new string[] {"--r8", PathToDataR8, PathToPalette, "146", "161", Path.Combine(PathToSHPs, "sandcrater1")}, @@ -272,10 +276,14 @@ namespace OpenRA.Mods.D2k.Widgets.Logic var SHPsToCreate = new string[][] { new string[] {"--shp", Path.Combine(PathToSHPs, "overlay.png"), "32"}, + new string[] {"--shp", Path.Combine(PathToSHPs, "repairing.png"), "24"}, + new string[] {"--shp", Path.Combine(PathToSHPs, "numbers.png"), "8"}, new string[] {"--shp", Path.Combine(PathToSHPs, "dots.png"), "4"}, new string[] {"--shp", Path.Combine(PathToSHPs, "crates.png"), "32"}, //new string[] {"--shp", Path.Combine(PathToSHPs, "shadow.png"), "32"}, new string[] {"--shp", Path.Combine(PathToSHPs, "spicebloom.png"), "32"}, + new string[] {"--shp", Path.Combine(PathToSHPs, "stars.png"), "16"}, + new string[] {"--shp", Path.Combine(PathToSHPs, "greenuparrow.png"), "16"}, new string[] {"--shp", Path.Combine(PathToSHPs, "rockcrater1.png"), "32"}, new string[] {"--shp", Path.Combine(PathToSHPs, "rockcrater2.png"), "32"}, new string[] {"--shp", Path.Combine(PathToSHPs, "sandcrater1.png"), "32"}, diff --git a/mods/d2k/TODO b/mods/d2k/TODO index b12c499bb9..07e33dff5f 100644 --- a/mods/d2k/TODO +++ b/mods/d2k/TODO @@ -1,6 +1,8 @@ # make structures appear earlier when errecting from ground # too few DATA.R8 frames? -# carryalls should automatically transport harvesters (needs complex logic) +# carryalls should pickup vehicles not land so that things can roll in +# carryalls should automatically transport harvesters +# carryalls should automatically transport vehicles to repair pad if player uses the repair cursor # windtrap animations missing # outpost animations missing # construction yard crane animations missing @@ -31,5 +33,4 @@ # gamefile extraction (setup/setup.z) from CD fails # support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new unit: grenade thrower # infantry-only areas (Rough) do not show the dark-green mouse cursor -# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI) -# replace RA sounds by Dune 2000 ones \ No newline at end of file +# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI) \ No newline at end of file diff --git a/mods/d2k/bits/KILLGUY0.aud b/mods/d2k/bits/KILLGUY0.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY0.aud rename to mods/d2k/bits/KILLGUY0.AUD diff --git a/mods/d2k/bits/KILLGUY1.aud b/mods/d2k/bits/KILLGUY1.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY1.aud rename to mods/d2k/bits/KILLGUY1.AUD diff --git a/mods/d2k/bits/KILLGUY2.aud b/mods/d2k/bits/KILLGUY2.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY2.aud rename to mods/d2k/bits/KILLGUY2.AUD diff --git a/mods/d2k/bits/KILLGUY3.aud b/mods/d2k/bits/KILLGUY3.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY3.aud rename to mods/d2k/bits/KILLGUY3.AUD diff --git a/mods/d2k/bits/KILLGUY4.aud b/mods/d2k/bits/KILLGUY4.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY4.aud rename to mods/d2k/bits/KILLGUY4.AUD diff --git a/mods/d2k/bits/KILLGUY5.aud b/mods/d2k/bits/KILLGUY5.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY5.aud rename to mods/d2k/bits/KILLGUY5.AUD diff --git a/mods/d2k/bits/KILLGUY6.aud b/mods/d2k/bits/KILLGUY6.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY6.aud rename to mods/d2k/bits/KILLGUY6.AUD diff --git a/mods/d2k/bits/KILLGUY7.aud b/mods/d2k/bits/KILLGUY7.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY7.aud rename to mods/d2k/bits/KILLGUY7.AUD diff --git a/mods/d2k/bits/KILLGUY8.aud b/mods/d2k/bits/KILLGUY8.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY8.aud rename to mods/d2k/bits/KILLGUY8.AUD diff --git a/mods/d2k/bits/KILLGUY9.aud b/mods/d2k/bits/KILLGUY9.AUD similarity index 100% rename from mods/d2k/bits/KILLGUY9.aud rename to mods/d2k/bits/KILLGUY9.AUD diff --git a/mods/d2k/rules/atreides.yaml b/mods/d2k/rules/atreides.yaml index f9c0c1c4b7..e1b3971657 100644 --- a/mods/d2k/rules/atreides.yaml +++ b/mods/d2k/rules/atreides.yaml @@ -208,5 +208,5 @@ FREMEN: Cloak: InitialDelay: 125 CloakDelay: 125 - CloakSound: - UncloakSound: \ No newline at end of file + CloakSound: STEALTH1.aud + UncloakSound: STEALTH2.aud \ No newline at end of file diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index 3e70e8db58..f1dfede62d 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -157,9 +157,6 @@ DebugAircraftAltitude: ProximityCaptor: Types:Plane - EjectOnDeath: - PilotActor: RIFLE - SuccessRate: 50 GivesBounty: ^Helicopter: @@ -176,14 +173,14 @@ Dimensions: 1,1 Footprint: x TerrainTypes: Rock, Concrete - BuildSounds: - SellSounds: + BuildSounds: BUILD1.aud + SellSounds: BUILD1.aud GivesBuildableArea: Capturable: CapturableBar: SoundOnDamageTransition: - DamagedSound: - DestroyedSound: + DamagedSound: EXPLSML1.aud + DestroyedSound: EXPLHG1.aud RenderBuilding: WithBuildingExplosion: RepairableBuilding: diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index 0530e2e633..e6cffea513 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -396,7 +396,8 @@ WALL: Building: Dimensions: 1,1 Footprint: x - BuildSounds: + BuildSounds: CHUNG.aud + SellSounds: CHUNG.aud Adjacent: 7 TerrainTypes: Rock Health: @@ -414,7 +415,6 @@ WALL: TargetTypes: Ground RenderBuildingWall: HasMakeAnimation: false - Palette: d2k GivesExperience: EditorAppearance: RelativeToTopLeft: yes @@ -453,6 +453,8 @@ GUNTOWER: AttackTurreted: PrimaryWeapon: TurretGun AutoTarget: + RequiresPower: + CanPowerDown: ^REPAIR: Inherits: ^Building diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml index a9acb5039f..8e75af8437 100644 --- a/mods/d2k/rules/system.yaml +++ b/mods/d2k/rules/system.yaml @@ -186,7 +186,7 @@ World: SilosNeeded: AI_SILOS.AUD PrimaryBuildingSelected: AI_PRMRY.AUD AbilityInsufficientPower: - LevelUp: + LevelUp: SCORTIK1.aud SpatialBins: BinSize: 4 Shroud: diff --git a/mods/d2k/sequences.yaml b/mods/d2k/sequences.yaml index 51fc19e849..58af0c6227 100644 --- a/mods/d2k/sequences.yaml +++ b/mods/d2k/sequences.yaml @@ -909,37 +909,41 @@ deviatortank: Start: 0 Facings: 32 -#TODO: add Dune 2000 SHPs +#ready/hold falls back to RA, but look ok pips: - groups: - Start: 8 + groups: numbers + Start: 0 Length: 10 ready: Start: 3 hold: Start: 4 - tag-primary: - Start: 2 + tag-primary: greenuparrow + Start: 0 pip-empty: dots Start: 0 pip-green: dots Start: 1 +#falls back to RA, but look ok clock: idle: Start: 0 Length: * +#falls back to RA, but look ok powerdown: disabled: speed Start: 3 +#TODO: falls back to RA, different palette poweroff: offline: Start: 0 Length: * Tick: 160 +#falls back to RA, but looks okay rank: rank: Start: 0 @@ -957,6 +961,7 @@ overlay: target-invalid: Start: 1 +#TODO: falls back to RA, different palette rallypoint: flag:flagfly Start: 0 @@ -965,11 +970,13 @@ rallypoint: Start: 0 Length: * +#TODO: falls back to RA dragon: idle: Start: 0 Facings: 32 +#TODO: falls back to RA explosion: piff: piff Start: 0 @@ -1011,11 +1018,13 @@ explosion: Start: 0 Length: * +#TODO: falls back to RA smokey: idle: Start: 0 Length: * +#TODO: falls back to RA smoke_m: idle: Start: 0 @@ -1027,10 +1036,12 @@ smoke_m: Start: 0 Length: 26 +#TODO: falls back to RA 120mm: idle: Start: 0 +#TODO: falls back to RA litning: bright: Start: 0 @@ -1045,6 +1056,7 @@ crate: land: crates Start: 0 +#TODO: falls back to RA crate-effects: speed: speed Start: 0 @@ -1100,19 +1112,11 @@ crate-effects: Tick: 200 allyrepair: - repair: + repair: repairing Start: 0 Length: * Tick: 160 -parach: - open: - Start: 0 - Length: 5 - idle: - Start: 5 - Length: 11 - missile: idle: Start: 0 diff --git a/mods/d2k/voices.yaml b/mods/d2k/voices.yaml index 3ef724a7d2..8f05dc2998 100644 --- a/mods/d2k/voices.yaml +++ b/mods/d2k/voices.yaml @@ -5,6 +5,7 @@ GenericVoice: Voices: Select: G_SSEL1,G_SSEL2,G_SSEL3 Move: G_SCONF1,G_SCONF2,G_SCONF3 + Die: KILLGUY1,KILLGUY2,KILLGUY3,KILLGUY4,KILLGUY5,KILLGUY6,KILLGUY7,KILLGUY8,KILLGUY9 VehicleVoice: DefaultVariant: .AUD @@ -25,6 +26,8 @@ InfantryVoice: Voices: Select: _ISEL1,_ISEL2,_ISEL3 Move: _ICONF1,_ICONF2,_ICONF3 + Die: KILLGUY1,KILLGUY2,KILLGUY3,KILLGUY4,KILLGUY5,KILLGUY6,KILLGUY7,KILLGUY8,KILLGUY9 + DisablePrefixes: Die EngineerVoice: DefaultVariant: .AUD @@ -35,15 +38,19 @@ EngineerVoice: Voices: Select: _ESEL1,_ESEL2,_ESEL3 Move: _ECONF1,_ECONF2,_ECONF3 + Die: KILLGUY1,KILLGUY2,KILLGUY3,KILLGUY4,KILLGUY5,KILLGUY6,KILLGUY7,KILLGUY8,KILLGUY9 + DisablePrefixes: Die FremenVoice: DefaultVariant: .AUD Voices: Select: A_FSEL1,A_FSEL2,A_FSEL3 Move: A_FCONF1,A_FCONF2,A_FCONF3 + Die: KILLGUY1,KILLGUY2,KILLGUY3,KILLGUY4,KILLGUY5,KILLGUY6,KILLGUY7,KILLGUY8,KILLGUY9 SaboteurVoice: DefaultVariant: .AUD Voices: Select: O_SSEL1,O_SSEL2,O_SSEL3 - Move: O_SCONF1,O_SCONF2,O_SCONF3 \ No newline at end of file + Move: O_SCONF1,O_SCONF2,O_SCONF3 + Die: KILLGUY1,KILLGUY2,KILLGUY3,KILLGUY4,KILLGUY5,KILLGUY6,KILLGUY7,KILLGUY8,KILLGUY9 \ No newline at end of file diff --git a/mods/d2k/weapons.yaml b/mods/d2k/weapons.yaml index e30d1ca663..3b80ad5936 100644 --- a/mods/d2k/weapons.yaml +++ b/mods/d2k/weapons.yaml @@ -1,7 +1,7 @@ M1Carbine: ROF: 20 Range: 5 - Report: GUN11 + Report: MGUN2 Projectile: Bullet Speed: 100 Warhead: @@ -18,7 +18,7 @@ M1Carbine: Dragon: ROF: 50 Range: 5 - Report: MISSILE6 + Report: BAZOOK1 ValidTargets: Ground Projectile: Missile Speed: 25 @@ -49,7 +49,7 @@ Dragon: QuadRockets: ROF: 60 Range: 7 - Report: MISSILE6 + Report: BAZOOK1 ValidTargets: Ground, Air Burst: 2 BurstDelay: 0 @@ -101,7 +101,7 @@ TurretGun: 25mm: ROF: 13 Range: 4 - Report: CANNON2 + Report: MEDTANK1 Projectile: Bullet Speed: 50 Image: 120MM @@ -121,7 +121,7 @@ TurretGun: 90mm: ROF: 50 Range: 4.75 - Report: CANNON1 + Report: MEDTANK1 Projectile: Bullet Speed: 40 Image: 120MM @@ -141,7 +141,7 @@ TurretGun: 105mm: ROF: 70 Range: 4.75 - Report: CANNON1 + Report: MEDTANK1 Burst: 2 BurstDelay: 4 Projectile: Bullet @@ -163,7 +163,7 @@ TurretGun: 120mm: ROF: 90 Range: 4.75 - Report: CANNON1 + Report: TANKHVY1 Burst: 2 Projectile: Bullet Speed: 40 @@ -187,7 +187,7 @@ TurretGun: MinRange: 2 Burst: 6 BurstDelay: 1 - Report: MISSILE6 + Report: MISSLE1 ValidTargets: Ground Projectile: Bullet Arm: 5 @@ -217,7 +217,7 @@ TurretGun: MammothTusk: ROF: 60 Range: 8 - Report: MISSILE6 + Report: MISSLE1 Burst: 2 ValidTargets: Ground, Air Projectile: Missile @@ -249,7 +249,7 @@ MammothTusk: ROF: 85 Range: 14 MinRange: 3 - Report: TANK5 + Report: MORTAR1 Projectile: Bullet Speed: 12 High: true @@ -274,7 +274,7 @@ MammothTusk: TTankZap: ROF: 120 Range: 7 - Report: TESLA1 + Report: SONIC1 Charges: yes Projectile: TeslaZap Warhead: @@ -286,7 +286,7 @@ ChainGun: ROF: 10 Range: 5 MinRange: 1 - Report: GUN13 + Report: 20MMGUN1 Projectile: Bullet Speed: 100 High: true @@ -305,7 +305,7 @@ ChainGun: M60mg: ROF: 30 Range: 4 - Report: PILLBOX1 + Report: 20MMGUN1 Burst: 5 Projectile: Bullet Speed: 100 @@ -328,7 +328,7 @@ Demolish: Crush: Warhead: - ImpactSound: squishy2 + ImpactSound: CRUSH1 Damage: 100 Atomic: @@ -342,9 +342,8 @@ Atomic: Heavy: 25% Concrete: 50% Explosion: nuke - WaterExplosion: nuke InfDeath: 4 - ImpactSound: kaboom1 + ImpactSound: EXPLSML2 Warhead@areanuke: DamageModel: PerCell Damage: 250 @@ -358,7 +357,7 @@ Atomic: Concrete: 50% Delay: 4 InfDeath: 4 - ImpactSound: kaboom22 + ImpactSound: EXPLLG2 CrateNuke: Warhead@impact: @@ -371,9 +370,8 @@ CrateNuke: Heavy: 25% Concrete: 50% Explosion: nuke - WaterExplosion: nuke InfDeath: 4 - ImpactSound: kaboom1 + ImpactSound: EXPLSML2 Warhead@areanuke: DamageModel: PerCell Damage: 250 @@ -387,7 +385,7 @@ CrateNuke: Concrete: 50% Delay: 4 InfDeath: 4 - ImpactSound: kaboom22 + ImpactSound: EXPLLG2 CrateExplosion: Warhead: @@ -401,7 +399,7 @@ CrateExplosion: Explosion: self_destruct WaterExplosion: self_destruct InfDeath: 3 - ImpactSound: kaboom15 + ImpactSound: EXPLSML4 UnitExplode: Warhead: @@ -415,7 +413,7 @@ UnitExplode: Explosion: self_destruct WaterExplosion: large_splash InfDeath: 3 - ImpactSound: kaboom22 + ImpactSound: EXPLMD1 UnitExplodeSmall: Warhead: @@ -428,12 +426,12 @@ UnitExplodeSmall: Heavy: 25% Explosion: large_explosion InfDeath: 3 - ImpactSound: kaboom15 + ImpactSound: EXPLSML2 WormJaw: ROF: 10 Range: 3 - Report: AI_WATTK + Report: WORM Warhead: Spread: 5 Versus: @@ -470,7 +468,7 @@ RedEye: Damage: 40 Sniper: - Report: GUN11 + Report: FREMODD1 ROF: 40 Range: 7 Projectile: Bullet @@ -488,7 +486,7 @@ Sniper: Vulcan: ROF: 30 Range: 6 - Report: GUN13 + Report: 20MMGUN1 Projectile: Bullet Speed: 100 ContrailLength: 1000