diff --git a/OpenRA.Game/Traits/BodyOrientation.cs b/OpenRA.Game/Traits/BodyOrientation.cs index 4b5d4ad714..c043d164b6 100644 --- a/OpenRA.Game/Traits/BodyOrientation.cs +++ b/OpenRA.Game/Traits/BodyOrientation.cs @@ -20,8 +20,15 @@ namespace OpenRA.Traits [Desc("Camera pitch for rotation calculations")] public readonly WAngle CameraPitch = WAngle.FromDegrees(40); + [Desc("Fudge the coordinate system angles like the early games.")] + public readonly bool UseClassicPerspectiveFudge = true; + public WVec LocalToWorld(WVec vec) { + // Rotate by 90 degrees + if (!UseClassicPerspectiveFudge) + return new WVec(vec.Y, -vec.X, vec.Z); + // RA's 2d perspective doesn't correspond to an orthonormal 3D // coordinate system, so fudge the y axis to make things look good return new WVec(vec.Y, -CameraPitch.Sin() * vec.X / 1024, vec.Z); diff --git a/mods/ts/rules/civilian-vehicles.yaml b/mods/ts/rules/civilian-vehicles.yaml index 43ca543ed3..83a53888e4 100644 --- a/mods/ts/rules/civilian-vehicles.yaml +++ b/mods/ts/rules/civilian-vehicles.yaml @@ -18,11 +18,11 @@ ROT: 3 Armament@PRIMARY: Weapon: 120mmx - LocalOffset: 640,85,384, 640,-85,384 + LocalOffset: 500,60,360, 500,-85,360 MuzzleSequence: muzzle Armament@SECONDARY: Weapon: MammothTusk - LocalOffset: 0,256,426, 0,-256,426 + LocalOffset: 0,200,410, 0,-200,410 AttackTurreted: Voice: Attack AutoTarget: diff --git a/mods/ts/rules/defaults.yaml b/mods/ts/rules/defaults.yaml index 6704b917fd..b0bbd553cd 100644 --- a/mods/ts/rules/defaults.yaml +++ b/mods/ts/rules/defaults.yaml @@ -4,6 +4,7 @@ CombatDebugOverlay: GivesExperience: BodyOrientation: + UseClassicPerspectiveFudge: False ScriptTriggers: UpgradeManager: Huntable: @@ -171,6 +172,7 @@ SellSounds: cashturn.aud UpdatesPlayerStatistics: BodyOrientation: + UseClassicPerspectiveFudge: False Demolishable: ScriptTriggers: UpgradeManager: @@ -516,6 +518,7 @@ RadarColorFromTerrain: Terrain: Tiberium BodyOrientation: + UseClassicPerspectiveFudge: False FrozenUnderFog: StartsRevealed: true SeedsResource: @@ -534,6 +537,7 @@ Dimensions: 1, 1 AppearsOnRadar: BodyOrientation: + UseClassicPerspectiveFudge: False Tooltip: Name: Tree @@ -548,6 +552,7 @@ Dimensions: 1, 1 AppearsOnRadar: BodyOrientation: + UseClassicPerspectiveFudge: False Tooltip: Name: Rock diff --git a/mods/ts/rules/gdi-vehicles.yaml b/mods/ts/rules/gdi-vehicles.yaml index 61739e1364..29836bb85c 100644 --- a/mods/ts/rules/gdi-vehicles.yaml +++ b/mods/ts/rules/gdi-vehicles.yaml @@ -182,10 +182,10 @@ HMEC: AutoTarget: Armament@MISSILES: Weapon: MammothTusk - LocalOffset: -128,-384,980, -128,384,980 + LocalOffset: -172,-260,854, -172,260,854 Armament@RAILGUN: Weapon: MechRailgun - LocalOffset: 640,-384,980, 640,384,980 + LocalOffset: 260,-220,728, 260,220,728 -WithVoxelBody: WithVoxelWalkerBody: TickRate: 1