Skip to content

Commit fcd721c

Browse files
committed
fix: FixVectorLeak submodule
fix: ProcessMovement hook removed
1 parent 569283c commit fcd721c

File tree

20 files changed

+114
-341
lines changed

20 files changed

+114
-341
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@ jobs:
2626
- name: Create Directories
2727
run: |
2828
mkdir -p plugin/plugins/${{ github.event.repository.name }}
29-
mkdir -p plugin/gamedata
3029
3130
- name: Move Files
3231
run: |
3332
mv ./src/bin/Release/net8.0/* ./plugin/plugins/${{ github.event.repository.name }}
34-
mv ./gamedata/* ./plugin/gamedata
3533
3634
- name: Zip
3735
run: |

.github/workflows/release.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,10 @@ jobs:
5151
- name: Create Directories
5252
run: |
5353
mkdir -p plugin/plugins/${{ github.event.repository.name }}
54-
mkdir -p plugin/gamedata
5554
5655
- name: Move Files
5756
run: |
5857
mv ./src/bin/Release/net8.0/* ./plugin/plugins/${{ github.event.repository.name }}
59-
mv ./gamedata/* ./plugin/gamedata
6058
6159
- name: Zip
6260
run: |

AntiRush.sln

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Menu", "Menu\src\Menu.cspro
99
EndProject
1010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSSharpUtils", "CSSharpUtils\CSSharpUtils\CSSharpUtils.csproj", "{794D24A4-83A3-4F67-94DE-09087FC9554E}"
1111
EndProject
12-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FixVectorLeak", "FixVectorLeak\FixVectorLeak.csproj", "{819E87B2-A320-E7BB-96D6-D3592826755C}"
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FixVectorLeak", "FixVectorLeak\src\FixVectorLeak.csproj", "{6A138DCE-DAAF-6D45-750E-24C967185836}"
1313
EndProject
1414
Global
1515
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -29,10 +29,10 @@ Global
2929
{794D24A4-83A3-4F67-94DE-09087FC9554E}.Debug|Any CPU.Build.0 = Debug|Any CPU
3030
{794D24A4-83A3-4F67-94DE-09087FC9554E}.Release|Any CPU.ActiveCfg = Release|Any CPU
3131
{794D24A4-83A3-4F67-94DE-09087FC9554E}.Release|Any CPU.Build.0 = Release|Any CPU
32-
{819E87B2-A320-E7BB-96D6-D3592826755C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33-
{819E87B2-A320-E7BB-96D6-D3592826755C}.Debug|Any CPU.Build.0 = Debug|Any CPU
34-
{819E87B2-A320-E7BB-96D6-D3592826755C}.Release|Any CPU.ActiveCfg = Release|Any CPU
35-
{819E87B2-A320-E7BB-96D6-D3592826755C}.Release|Any CPU.Build.0 = Release|Any CPU
32+
{6A138DCE-DAAF-6D45-750E-24C967185836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33+
{6A138DCE-DAAF-6D45-750E-24C967185836}.Debug|Any CPU.Build.0 = Debug|Any CPU
34+
{6A138DCE-DAAF-6D45-750E-24C967185836}.Release|Any CPU.ActiveCfg = Release|Any CPU
35+
{6A138DCE-DAAF-6D45-750E-24C967185836}.Release|Any CPU.Build.0 = Release|Any CPU
3636
EndGlobalSection
3737
GlobalSection(SolutionProperties) = preSolution
3838
HideSolutionNode = FALSE

gamedata/AntiRush.json

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/AntiRush.cs

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
using Microsoft.Extensions.Logging;
2-
using System.Runtime.InteropServices;
1+
using AntiRush.Classes;
2+
using AntiRush.Enums;
3+
using AntiRush.Extensions;
34
using CounterStrikeSharp.API;
45
using CounterStrikeSharp.API.Core;
56
using CounterStrikeSharp.API.Modules.Utils;
6-
using AntiRush.Classes;
7-
using AntiRush.Enums;
8-
using AntiRush.Extensions;
97
using CSSharpUtils.Extensions;
108
using CSSharpUtils.Utils;
11-
using FixVectorLeak.src;
12-
using FixVectorLeak.src.Structs;
9+
using FixVectorLeak.Extensions;
10+
using FixVectorLeak.Structs;
11+
using Microsoft.Extensions.Logging;
1312

1413
namespace AntiRush;
1514

@@ -49,24 +48,22 @@ public override void Load(bool isReload)
4948
Server.ExecuteCommand("mp_restartgame 1");
5049
});
5150

52-
_isLinux = RuntimeInformation.IsOSPlatform(OSPlatform.Linux);
53-
5451
Logger.LogInformation("{ModuleName} loaded successfully!", ModuleName);
55-
_ProcessMovement = new(GameData.GetSignature("RunCommand"));
56-
_ProcessMovement!.Hook(OnProcessMovement, HookMode.Pre);
5752
}
5853

5954
public override void Unload(bool isReload)
6055
{
6156
Logger.LogInformation("{ModuleName} unloaded successfully!", ModuleName);
62-
_ProcessMovement!.Unhook(OnProcessMovement, HookMode.Pre);
6357
}
6458

6559
private void SaveZone(CCSPlayerController player)
6660
{
67-
var menu = _playerData[player].AddZoneMenu;
68-
_playerData[player].AddZone?.Clear();
69-
61+
if (!_playerData.TryGetValue(player, out var playerData))
62+
return;
63+
64+
var menu = playerData.AddZoneMenu;
65+
playerData.AddZone?.Clear();
66+
7067
CsTeam[] teams = menu!.Items[1].Option switch
7168
{
7269
0 => [CsTeam.Terrorist, CsTeam.CounterTerrorist],
@@ -76,8 +73,8 @@ private void SaveZone(CCSPlayerController player)
7673
};
7774

7875
var zoneType = (ZoneType)menu.Items[0].Option;
79-
float[] minPoint = [Math.Min(menu.Points[0]!.Value.X, menu.Points[1]!.Value.X), Math.Min(menu.Points[0]!.Value.Y, menu.Points[1]!.Value.Y), Math.Min(menu.Points[0]!.Value.Z, menu.Points[1]!.Value.Z)];
80-
float[] maxPoint = [Math.Max(menu.Points[0]!.Value.X, menu.Points[1]!.Value.X), Math.Max(menu.Points[0]!.Value.Y, menu.Points[1]!.Value.Y), Math.Max(menu.Points[0]!.Value.Z, menu.Points[1]!.Value.Z)];
76+
var minPoint = new Vector_t(Math.Min(menu.Points[0]!.Value.X, menu.Points[1]!.Value.X), Math.Min(menu.Points[0]!.Value.Y, menu.Points[1]!.Value.Y), Math.Min(menu.Points[0]!.Value.Z, menu.Points[1]!.Value.Z));
77+
var maxPoint = new Vector_t(Math.Max(menu.Points[0]!.Value.X, menu.Points[1]!.Value.X), Math.Max(menu.Points[0]!.Value.Y, menu.Points[1]!.Value.Y), Math.Max(menu.Points[0]!.Value.Z, menu.Points[1]!.Value.Z));
8178
var delay = zoneType != ZoneType.Bounce && float.TryParse(menu.Items[3].DataString, out var valueDelay) ? (float)Math.Floor(valueDelay * 10) / 10 : 0;
8279
var damage = zoneType == ZoneType.Hurt && int.TryParse(menu.Items[4].DataString, out var valueDamage) ? valueDamage : 0;
8380
var name = menu.Items[2].DataString;
@@ -106,9 +103,6 @@ private void SaveZone(CCSPlayerController player)
106103

107104
if (Config.DrawZones)
108105
zone.Draw();
109-
110-
if (_playerData.TryGetValue(player, out var playerData))
111-
playerData.AddZone?.Clear();
112106
}
113107

114108
private bool PrintAction(CCSPlayerController player, Zone zone)
@@ -153,16 +147,17 @@ private void DoAction(CCSPlayerController player, Zone zone)
153147
if (player.PlayerPawn.Value?.MovementServices is null)
154148
return;
155149

156-
if (PrintAction(player, zone))
157-
_playerData[player].LastMessage = Server.CurrentTime;
150+
if (!_playerData.TryGetValue(player, out var playerData))
151+
return;
158152

159-
if (zone.Type is (ZoneType.Bounce or ZoneType.Wall))
160-
_playerData[player].BlockButtons = Server.TickedTime + 0.3;
153+
if (PrintAction(player, zone))
154+
playerData.LastMessage = Server.CurrentTime;
161155

162156
switch (zone.Type)
163157
{
164158
case ZoneType.Bounce:
165-
player.Bounce(_playerData[player].LastPos, _playerData[player].LastVel);
159+
if (playerData.LastPos is not null && playerData.LastVel is not null)
160+
player.Bounce((Vector_t)playerData.LastPos, (Vector_t)playerData.LastVel);
166161

167162
return;
168163

@@ -177,13 +172,15 @@ private void DoAction(CCSPlayerController player, Zone zone)
177172
return;
178173

179174
case ZoneType.Teleport:
180-
if (_playerData[player].SpawnPos is not null)
181-
player.PlayerPawn.Value.Teleport(_playerData[player].SpawnPos, velocity: new Vector_t());
175+
if (playerData.SpawnPos is not null)
176+
player.PlayerPawn.Value.Teleport(playerData.SpawnPos, velocity: new Vector_t());
182177

183178
return;
184179

185180
case ZoneType.Wall:
186-
player.PlayerPawn.Value.Teleport(new Vector_t(_playerData[player].LastPos[0], _playerData[player].LastPos[1], _playerData[player].LastPos[2]), velocity: new Vector_t());
181+
if (playerData.LastPos is not null)
182+
player.PlayerPawn.Value.Teleport(playerData.LastPos, velocity: new Vector_t());
183+
187184
return;
188185
}
189186
}

src/AntiRush.csproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,18 @@
44
<TargetFramework>net8.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
7-
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
87
</PropertyGroup>
98

109
<ItemGroup>
1110
<PackageReference Include="CounterStrikeSharp.API" Version="*" ExcludeAssets="runtime" />
1211
<ProjectReference Include="..\CSSharpUtils\CSSharpUtils\CSSharpUtils.csproj" />
13-
<ProjectReference Include="..\FixVectorLeak\FixVectorLeak.csproj" />
12+
<ProjectReference Include="..\FixVectorLeak\src\FixVectorLeak.csproj" />
1413
<ProjectReference Include="..\Menu\src\Menu.csproj" />
1514
</ItemGroup>
1615

1716
<ItemGroup>
18-
<Content Include="..\lang\**\*.*">
17+
<Content Include="..\lang\**\*.*" CopyToOutputDirectory="PreserveNewest" >
1918
<Link>%(RecursiveDir)\lang\%(Filename)%(Extension)</Link>
20-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2119
</Content>
2220
</ItemGroup>
2321

src/Classes/PlayerData.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using AntiRush.Enums;
2-
using FixVectorLeak.src.Structs;
2+
using FixVectorLeak.Structs;
33

44
namespace AntiRush.Classes;
55

@@ -11,7 +11,6 @@ public class PlayerData
1111
public bool Debug { get; set; }
1212
public bool[] DebugOptions { get; set; } = new bool[Enum.GetValues(typeof(ZoneType)).Length];
1313
public Vector_t? SpawnPos { get; set; } = null;
14-
public float[] LastPos { get; set; } = [];
15-
public float[] LastVel { get; set; } = [];
16-
public double BlockButtons { get; set; } = 0;
14+
public Vector_t? LastPos { get; set; } = null;
15+
public Vector_t? LastVel { get; set; } = null;
1716
}

src/Classes/ZoneData.cs

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/Commands.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using CounterStrikeSharp.API.Core;
2-
using CounterStrikeSharp.API.Modules.Commands;
3-
using AntiRush.Enums;
1+
using AntiRush.Enums;
42
using AntiRush.Extensions;
3+
using CounterStrikeSharp.API.Core;
4+
using CounterStrikeSharp.API.Modules.Commands;
55
using CSSharpUtils.Extensions;
66

77
namespace AntiRush;

0 commit comments

Comments
 (0)