Skip to content

Commit 7afd285

Browse files
Fixes end of track behavior for AI cars
1 parent 9b0b740 commit 7afd285

File tree

8 files changed

+12
-12
lines changed

8 files changed

+12
-12
lines changed

Engine/GameEngine.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,6 @@
6868
<SpecificVersion>False</SpecificVersion>
6969
<HintPath>..\lib\MonoGame.Framework.dll</HintPath>
7070
</Reference>
71-
<Reference Include="OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4, processorArchitecture=MSIL">
72-
<SpecificVersion>False</SpecificVersion>
73-
<HintPath>..\lib\OpenTK.dll</HintPath>
74-
</Reference>
7571
<Reference Include="System" />
7672
</ItemGroup>
7773
<ItemGroup>

OpenNFS1/Game1.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,11 @@ public Game1()
3434
}
3535
else
3636
{
37-
_graphics.PreferredBackBufferWidth = 640;
38-
_graphics.PreferredBackBufferHeight = 480;
37+
_graphics.PreferredBackBufferWidth = 800;
38+
_graphics.PreferredBackBufferHeight = 600;
3939
}
4040
_graphics.PreferredDepthStencilFormat = DepthFormat.Depth24;
41+
_graphics.PreferMultiSampling = true;
4142
_graphics.IsFullScreen = false;
4243
}
4344

OpenNFS1/GameConfig.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ static class GameConfig
2020
public const float TerrainScale = 0.000080f;
2121
public static readonly float FOV = MathHelper.ToRadians(65);
2222
public const float MaxSegmentRenderCount = 50;
23-
public static readonly SamplerState WrapSampler = SamplerState.LinearWrap;
23+
public static readonly SamplerState WrapSampler = SamplerState.AnisotropicWrap;
2424

2525
// Set while navigating through menus
2626
public static VehicleDescription SelectedVehicle;

OpenNFS1/Parsers/TriFile.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,6 @@ void ParseTrackNodesBlock(BinaryReader reader)
158158
node.XOrientation = reader.ReadInt16();
159159
node.unk2 = reader.ReadBytes(2);
160160

161-
if (node.Number == 365)
162-
{
163-
node.GetLeftBoundary();
164-
}
165-
166161
if (prevNode != null)
167162
{
168163
prevNode.Next = node;

OpenNFS1/Race/Race.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ public void Render(bool renderPlayerVehicle)
160160
{
161161
((DrivableVehicle)driver.Vehicle).RenderShadow(isPlayer);
162162
}
163+
if (driver is AIDriver && ((AIDriver)driver).AtEndOfTrack)
164+
continue;
165+
163166
driver.Vehicle.Render();
164167
}
165168
}

OpenNFS1/Vehicles/AI/AIDriver.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ abstract class AIDriver : IDriver
1616
{
1717
public int VirtualLane { get; set; }
1818
public Vehicle Vehicle { get; protected set; }
19+
public Boolean AtEndOfTrack { get; set; }
1920

2021
public const int MaxVirtualLanes = 4;
2122

@@ -54,6 +55,7 @@ class RacingAIDriver : AIDriver
5455
{
5556
private float _firstLaneChangeAllowed; //avoid all racers changing lanes immediately
5657
private DrivableVehicle _vehicle;
58+
public bool AtEndOfTrack;
5759

5860
public RacingAIDriver(VehicleDescription vehicleDescriptor)
5961
{
@@ -76,6 +78,7 @@ public override void Update(List<IDriver> otherDrivers)
7678
{
7779
_vehicle.ThrottlePedalInput = 0;
7880
_vehicle.BrakePedalInput = 1;
81+
AtEndOfTrack = true;
7982
return;
8083
}
8184

OpenNFS1/Vehicles/Traffic/TrafficController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public void Update()
6060
if (driver.Vehicle.CurrentNode.Next == null || driver.Vehicle.CurrentNode.Next.Next == null)
6161
{
6262
driver.Vehicle.Speed = 0;
63+
driver.AtEndOfTrack = true;
6364
}
6465

6566
// start of track just stop

OpenNFS1/Vehicles/Vehicle.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public virtual void Update()
8484

8585
UpdateSteering();
8686
UpdateTrackNode();
87+
if (CurrentNode.Next == null || CurrentNode.Prev == null) return;
8788
TrackNode node = null, nextNode = null;
8889

8990
if (Distance2d(Position, CurrentNode.Next.Position) < Distance2d(Position, CurrentNode.Prev.Position))

0 commit comments

Comments
 (0)