Skip to content

Commit 3763567

Browse files
committed
Merge branch 'patch-1'
2 parents b3132b7 + dc67691 commit 3763567

File tree

7 files changed

+84
-65519
lines changed

7 files changed

+84
-65519
lines changed

FRFuel.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public class FRFuel : BaseScript
6262

6363
protected bool initialized = false;
6464
public static Control engineToggleControl = Control.VehicleHorn;
65+
66+
private string fuelBarNormalHexColor = "FFB300"; // 255, 179, 0
67+
private string fuelBarWarningHexColor = "FFF5DC"; // 255, 179, 0
6568
#endregion
6669

6770
/// <summary>
@@ -150,6 +153,20 @@ protected void LoadConfig()
150153
{
151154
engineToggleControl = (Control)tmpControl;
152155
}
156+
157+
fuelBarNormalHexColor = Config.Get("FuelBarNormalColor", fuelBarNormalHexColor).Replace("\"", "").Replace("#", "");
158+
// normal color
159+
int r = MathUtil.Clamp(int.Parse(fuelBarNormalHexColor.Substring(0, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
160+
int g = MathUtil.Clamp(int.Parse(fuelBarNormalHexColor.Substring(2, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
161+
int b = MathUtil.Clamp(int.Parse(fuelBarNormalHexColor.Substring(4, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
162+
163+
fuelBarWarningHexColor = Config.Get("FuelBarWarningColor", fuelBarNormalHexColor).Replace("\"", "").Replace("#", "");
164+
// warning color
165+
int wR = MathUtil.Clamp(int.Parse(fuelBarWarningHexColor.Substring(0, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
166+
int wG = MathUtil.Clamp(int.Parse(fuelBarWarningHexColor.Substring(2, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
167+
int wB = MathUtil.Clamp(int.Parse(fuelBarWarningHexColor.Substring(4, 2), System.Globalization.NumberStyles.HexNumber), 0, 255);
168+
hud.UpdateBarColors(r, g, b, wR, wG, wB);
169+
153170
#if DEBUG
154171
Debug.WriteLine($"CreatePickups: {Config.Get("CreatePickups", "true")}");
155172
Debug.WriteLine($"ShowHud: {Config.Get("ShowHud", "true")}");
@@ -235,6 +252,7 @@ public async Task ManageNearbyJerryCanPickUps()
235252
}
236253
});
237254
}
255+
await Task.FromResult(0);
238256
}
239257
#endregion
240258

FRFuel.csproj

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,23 @@
2323
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
2424
</PropertyGroup>
2525
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
26-
<DebugType>pdbonly</DebugType>
26+
<DebugType>embedded</DebugType>
2727
<Optimize>true</Optimize>
2828
<OutputPath>bin\Release\</OutputPath>
2929
<DefineConstants>TRACE</DefineConstants>
3030
<ErrorReport>prompt</ErrorReport>
3131
<WarningLevel>4</WarningLevel>
3232
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
33+
<DebugSymbols>true</DebugSymbols>
3334
</PropertyGroup>
3435
<ItemGroup>
35-
<Reference Include="CitizenFX.Core">
36-
<HintPath>dist\CitizenFX.Core.dll</HintPath>
37-
<Private>False</Private>
38-
</Reference>
3936
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
4037
<SpecificVersion>False</SpecificVersion>
4138
<HintPath>dist\Newtonsoft.Json.dll</HintPath>
4239
</Reference>
4340
<Reference Include="System" />
4441
<Reference Include="System.Core" />
42+
<Reference Include="System.Drawing" />
4543
<Reference Include="System.Xml.Linq" />
4644
<Reference Include="System.Data.DataSetExtensions" />
4745
<Reference Include="Microsoft.CSharp" />
@@ -67,6 +65,12 @@
6765
<None Include="LICENSE.md" />
6866
<None Include="README.md" />
6967
</ItemGroup>
68+
<ItemGroup>
69+
<PackageReference Include="CitizenFX.Core.Client">
70+
<Version>1.0.1132</Version>
71+
<ExcludeAssets>runtime</ExcludeAssets>
72+
</PackageReference>
73+
</ItemGroup>
7074
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
7175
<PropertyGroup>
7276
<PostBuildEvent>

HUD.cs

Lines changed: 54 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,24 @@ public class HUD
1212
{
1313
protected Scaleform buttons = new Scaleform("instructional_buttons");
1414

15-
protected float fuelBarWidth = GetBarWidth();
15+
protected float fuelBarWidth() { return GetBarWidth(); }
1616
protected float fuelBarHeight = 6f;
1717

1818
protected Color fuelBarColourNormal;
1919
protected Color fuelBarColourWarning;
2020

21-
protected Rectangle fuelBarBackdrop;
22-
protected Rectangle fuelBarBack;
23-
protected Rectangle fuelBar;
21+
protected CitizenFX.Core.UI.Rectangle fuelBarBackdrop;
22+
protected CitizenFX.Core.UI.Rectangle fuelBarBack;
23+
protected CitizenFX.Core.UI.Rectangle fuelBar;
2424

2525
protected Tween<float> fuelBarColorTween = new FloatTween();
2626
protected bool fuelBarAnimationDir = true;
2727
protected PointF basePosition = new PointF(0f, 584f);
2828

29+
protected SizeF fuelBarBackdropSize;
30+
protected SizeF fuelBarBackSize;
31+
protected SizeF fuelBarSize;
32+
2933
public PointF Position
3034
{
3135
set
@@ -42,19 +46,35 @@ public HUD()
4246
PointF fuelBarBackPosition = new PointF(fuelBarBackdropPosition.X, fuelBarBackdropPosition.Y + 3f);
4347
PointF fuelBarPosition = fuelBarBackPosition;
4448

45-
SizeF fuelBarBackdropSize = new SizeF(fuelBarWidth, 12f);
46-
SizeF fuelBarBackSize = new SizeF(fuelBarWidth, fuelBarHeight);
47-
SizeF fuelBarSize = fuelBarBackSize;
49+
fuelBarBackdropSize = new SizeF(fuelBarWidth(), 12f);
50+
fuelBarBackSize = new SizeF(fuelBarWidth(), fuelBarHeight);
51+
fuelBarSize = fuelBarBackSize;
4852

4953
Color fuelBarBackdropColour = Color.FromArgb(100, 0, 0, 0);
5054
Color fuelBarBackColour = Color.FromArgb(50, 255, 179, 0);
5155

56+
/// Default colors will be changed in the <see cref="FRFuel.LoadConfig"/> function, by calling the <see cref="UpdateBarColors"/> function.
5257
fuelBarColourNormal = Color.FromArgb(150, 255, 179, 0);
5358
fuelBarColourWarning = Color.FromArgb(255, 255, 245, 220);
5459

55-
fuelBarBackdrop = new Rectangle(fuelBarBackdropPosition, fuelBarBackdropSize, fuelBarBackdropColour);
56-
fuelBarBack = new Rectangle(fuelBarBackPosition, fuelBarBackSize, fuelBarBackColour);
57-
fuelBar = new Rectangle(fuelBarPosition, fuelBarSize, fuelBarColourNormal);
60+
fuelBarBackdrop = new CitizenFX.Core.UI.Rectangle(fuelBarBackdropPosition, fuelBarBackdropSize, fuelBarBackdropColour);
61+
fuelBarBack = new CitizenFX.Core.UI.Rectangle(fuelBarBackPosition, fuelBarBackSize, fuelBarBackColour);
62+
fuelBar = new CitizenFX.Core.UI.Rectangle(fuelBarPosition, fuelBarSize, fuelBarColourNormal);
63+
}
64+
65+
/// <summary>
66+
/// Updates the <see cref="fuelBarColourNormal"/> and <see cref="fuelBarColourWarning"/> colors.
67+
/// </summary>
68+
/// <param name="red"></param>
69+
/// <param name="green"></param>
70+
/// <param name="blue"></param>
71+
/// <param name="warningRed"></param>
72+
/// <param name="warningGreen"></param>
73+
/// <param name="warningBlue"></param>
74+
public void UpdateBarColors(int red, int green, int blue, int warningRed, int warningGreen, int warningBlue)
75+
{
76+
fuelBarColourNormal = Color.FromArgb(150, red, green, blue);
77+
fuelBarColourWarning = Color.FromArgb(255, warningRed, warningGreen, warningBlue);
5878
}
5979

6080
/// <summary>
@@ -77,12 +97,24 @@ public void RenderBar(float currentFuelLevel, float maxFuelLevel)
7797
float fuelLevelPercentage = (100f / maxFuelLevel) * currentFuelLevel;
7898
PointF safeZone = GetSafezoneBounds();
7999

80-
Position = new PointF(basePosition.X + safeZone.X, basePosition.Y - safeZone.Y);
100+
if (IsBigmapActive())
101+
{
102+
Position = new PointF(basePosition.X + safeZone.X, basePosition.Y - safeZone.Y - 180f);
103+
}
104+
else
105+
{
106+
Position = new PointF(basePosition.X + safeZone.X, basePosition.Y - safeZone.Y);
107+
}
108+
109+
fuelBarBackdropSize = new SizeF(fuelBarWidth(), 12f);
110+
fuelBarSize = new SizeF((fuelBarWidth() / 100f) * fuelLevelPercentage, fuelBarHeight);
111+
fuelBarBackSize = fuelBarSize;
112+
113+
fuelBar.Size = fuelBarSize;
114+
fuelBarBackdrop.Size = fuelBarBackdropSize;
115+
fuelBarBack.Size = fuelBarBackSize;
116+
81117

82-
fuelBar.Size = new SizeF(
83-
(fuelBarWidth / 100f) * fuelLevelPercentage,
84-
fuelBarHeight
85-
);
86118

87119
if (maxFuelLevel > 0 && currentFuelLevel < 9f)
88120
{
@@ -155,26 +187,27 @@ public static float GetBarWidth()
155187
{
156188
float width;
157189
double aspect = Screen.AspectRatio;
190+
bool bigMap = IsBigmapActive();
158191

159192
switch (aspect)
160193
{
161194
case (float)1.5: // 3:2
162-
width = 212f;
195+
width = bigMap ? 336f : 212f;
163196
break;
164197
case (float)1.33333337306976: // 4:3
165-
width = 240f;
198+
width = bigMap ? 378f : 240f;
166199
break;
167200
case (float)1.66666662693024: // 5:3
168-
width = 191f;
201+
width = bigMap ? 302f : 191f;
169202
break;
170203
case (float)1.25: // 5:4
171-
width = 255f;
204+
width = bigMap ? 405f : 255f;
172205
break;
173206
case (float)1.60000002384186: // 16:10
174-
width = 200f;
207+
width = bigMap ? 316f : 200f;
175208
break;
176209
default:
177-
width = 180f; // 16:9
210+
width = bigMap ? 285f : 180f; // 16:9
178211
break;
179212
}
180213
return width;

dist/CitizenFX.Core.dll

-2.18 MB
Binary file not shown.

0 commit comments

Comments
 (0)