From 6ff0e416508197b5d1fbcb79c0e7f75422e1ad41 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Fri, 24 Dec 2010 12:01:39 +1300 Subject: [PATCH] Remove fp from Aircraft. --- OpenRA.Mods.RA/Air/Aircraft.cs | 268 ++++++++++++++++++++++++++++++++- 1 file changed, 261 insertions(+), 7 deletions(-) diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Air/Aircraft.cs index 42c5dd0c5d..ed717337f2 100755 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Air/Aircraft.cs @@ -95,13 +95,7 @@ namespace OpenRA.Mods.RA.Air public void TickMove( int speed, int facing ) { var rawspeed = speed * 7 / (32 * 1024); - SubPxPosition += rawspeed * -SubPxVector( facing ); - } - - int2 SubPxVector( int facing ) - { - var angle = facing * Math.PI / 128.0; - return new int2( (int)Math.Truncate( 1024 * Math.Sin( angle ) ), (int)Math.Truncate( 1024 * Math.Cos( angle ) ) ); + SubPxPosition += rawspeed * -SubPxVector[facing]; } public bool CanLand(int2 cell) @@ -115,5 +109,265 @@ namespace OpenRA.Mods.RA.Air var type = self.World.GetTerrainType(cell); return Info.LandableTerrainTypes.Contains(type); } + + static readonly int2[] SubPxVector = + { + new int2( 0, 1024 ), + new int2( 25, 1023 ), + new int2( 50, 1022 ), + new int2( 75, 1021 ), + new int2( 100, 1019 ), + new int2( 125, 1016 ), + new int2( 150, 1012 ), + new int2( 175, 1008 ), + new int2( 199, 1004 ), + new int2( 224, 999 ), + new int2( 248, 993 ), + new int2( 273, 986 ), + new int2( 297, 979 ), + new int2( 321, 972 ), + new int2( 344, 964 ), + new int2( 368, 955 ), + new int2( 391, 946 ), + new int2( 414, 936 ), + new int2( 437, 925 ), + new int2( 460, 914 ), + new int2( 482, 903 ), + new int2( 504, 890 ), + new int2( 526, 878 ), + new int2( 547, 865 ), + new int2( 568, 851 ), + new int2( 589, 837 ), + new int2( 609, 822 ), + new int2( 629, 807 ), + new int2( 649, 791 ), + new int2( 668, 775 ), + new int2( 687, 758 ), + new int2( 706, 741 ), + new int2( 724, 724 ), + new int2( 741, 706 ), + new int2( 758, 687 ), + new int2( 775, 668 ), + new int2( 791, 649 ), + new int2( 807, 629 ), + new int2( 822, 609 ), + new int2( 837, 589 ), + new int2( 851, 568 ), + new int2( 865, 547 ), + new int2( 878, 526 ), + new int2( 890, 504 ), + new int2( 903, 482 ), + new int2( 914, 460 ), + new int2( 925, 437 ), + new int2( 936, 414 ), + new int2( 946, 391 ), + new int2( 955, 368 ), + new int2( 964, 344 ), + new int2( 972, 321 ), + new int2( 979, 297 ), + new int2( 986, 273 ), + new int2( 993, 248 ), + new int2( 999, 224 ), + new int2( 1004, 199 ), + new int2( 1008, 175 ), + new int2( 1012, 150 ), + new int2( 1016, 125 ), + new int2( 1019, 100 ), + new int2( 1021, 75 ), + new int2( 1022, 50 ), + new int2( 1023, 25 ), + new int2( 1024, 0 ), + new int2( 1023, -25 ), + new int2( 1022, -50 ), + new int2( 1021, -75 ), + new int2( 1019, -100 ), + new int2( 1016, -125 ), + new int2( 1012, -150 ), + new int2( 1008, -175 ), + new int2( 1004, -199 ), + new int2( 999, -224 ), + new int2( 993, -248 ), + new int2( 986, -273 ), + new int2( 979, -297 ), + new int2( 972, -321 ), + new int2( 964, -344 ), + new int2( 955, -368 ), + new int2( 946, -391 ), + new int2( 936, -414 ), + new int2( 925, -437 ), + new int2( 914, -460 ), + new int2( 903, -482 ), + new int2( 890, -504 ), + new int2( 878, -526 ), + new int2( 865, -547 ), + new int2( 851, -568 ), + new int2( 837, -589 ), + new int2( 822, -609 ), + new int2( 807, -629 ), + new int2( 791, -649 ), + new int2( 775, -668 ), + new int2( 758, -687 ), + new int2( 741, -706 ), + new int2( 724, -724 ), + new int2( 706, -741 ), + new int2( 687, -758 ), + new int2( 668, -775 ), + new int2( 649, -791 ), + new int2( 629, -807 ), + new int2( 609, -822 ), + new int2( 589, -837 ), + new int2( 568, -851 ), + new int2( 547, -865 ), + new int2( 526, -878 ), + new int2( 504, -890 ), + new int2( 482, -903 ), + new int2( 460, -914 ), + new int2( 437, -925 ), + new int2( 414, -936 ), + new int2( 391, -946 ), + new int2( 368, -955 ), + new int2( 344, -964 ), + new int2( 321, -972 ), + new int2( 297, -979 ), + new int2( 273, -986 ), + new int2( 248, -993 ), + new int2( 224, -999 ), + new int2( 199, -1004 ), + new int2( 175, -1008 ), + new int2( 150, -1012 ), + new int2( 125, -1016 ), + new int2( 100, -1019 ), + new int2( 75, -1021 ), + new int2( 50, -1022 ), + new int2( 25, -1023 ), + new int2( 0, -1024 ), + new int2( -25, -1023 ), + new int2( -50, -1022 ), + new int2( -75, -1021 ), + new int2( -100, -1019 ), + new int2( -125, -1016 ), + new int2( -150, -1012 ), + new int2( -175, -1008 ), + new int2( -199, -1004 ), + new int2( -224, -999 ), + new int2( -248, -993 ), + new int2( -273, -986 ), + new int2( -297, -979 ), + new int2( -321, -972 ), + new int2( -344, -964 ), + new int2( -368, -955 ), + new int2( -391, -946 ), + new int2( -414, -936 ), + new int2( -437, -925 ), + new int2( -460, -914 ), + new int2( -482, -903 ), + new int2( -504, -890 ), + new int2( -526, -878 ), + new int2( -547, -865 ), + new int2( -568, -851 ), + new int2( -589, -837 ), + new int2( -609, -822 ), + new int2( -629, -807 ), + new int2( -649, -791 ), + new int2( -668, -775 ), + new int2( -687, -758 ), + new int2( -706, -741 ), + new int2( -724, -724 ), + new int2( -741, -706 ), + new int2( -758, -687 ), + new int2( -775, -668 ), + new int2( -791, -649 ), + new int2( -807, -629 ), + new int2( -822, -609 ), + new int2( -837, -589 ), + new int2( -851, -568 ), + new int2( -865, -547 ), + new int2( -878, -526 ), + new int2( -890, -504 ), + new int2( -903, -482 ), + new int2( -914, -460 ), + new int2( -925, -437 ), + new int2( -936, -414 ), + new int2( -946, -391 ), + new int2( -955, -368 ), + new int2( -964, -344 ), + new int2( -972, -321 ), + new int2( -979, -297 ), + new int2( -986, -273 ), + new int2( -993, -248 ), + new int2( -999, -224 ), + new int2( -1004, -199 ), + new int2( -1008, -175 ), + new int2( -1012, -150 ), + new int2( -1016, -125 ), + new int2( -1019, -100 ), + new int2( -1021, -75 ), + new int2( -1022, -50 ), + new int2( -1023, -25 ), + new int2( -1024, 0 ), + new int2( -1023, 25 ), + new int2( -1022, 50 ), + new int2( -1021, 75 ), + new int2( -1019, 100 ), + new int2( -1016, 125 ), + new int2( -1012, 150 ), + new int2( -1008, 175 ), + new int2( -1004, 199 ), + new int2( -999, 224 ), + new int2( -993, 248 ), + new int2( -986, 273 ), + new int2( -979, 297 ), + new int2( -972, 321 ), + new int2( -964, 344 ), + new int2( -955, 368 ), + new int2( -946, 391 ), + new int2( -936, 414 ), + new int2( -925, 437 ), + new int2( -914, 460 ), + new int2( -903, 482 ), + new int2( -890, 504 ), + new int2( -878, 526 ), + new int2( -865, 547 ), + new int2( -851, 568 ), + new int2( -837, 589 ), + new int2( -822, 609 ), + new int2( -807, 629 ), + new int2( -791, 649 ), + new int2( -775, 668 ), + new int2( -758, 687 ), + new int2( -741, 706 ), + new int2( -724, 724 ), + new int2( -706, 741 ), + new int2( -687, 758 ), + new int2( -668, 775 ), + new int2( -649, 791 ), + new int2( -629, 807 ), + new int2( -609, 822 ), + new int2( -589, 837 ), + new int2( -568, 851 ), + new int2( -547, 865 ), + new int2( -526, 878 ), + new int2( -504, 890 ), + new int2( -482, 903 ), + new int2( -460, 914 ), + new int2( -437, 925 ), + new int2( -414, 936 ), + new int2( -391, 946 ), + new int2( -368, 955 ), + new int2( -344, 964 ), + new int2( -321, 972 ), + new int2( -297, 979 ), + new int2( -273, 986 ), + new int2( -248, 993 ), + new int2( -224, 999 ), + new int2( -199, 1004 ), + new int2( -175, 1008 ), + new int2( -150, 1012 ), + new int2( -125, 1016 ), + new int2( -100, 1019 ), + new int2( -75, 1021 ), + new int2( -50, 1022 ), + new int2( -25, 1023 ) + }; } }