Skip to content

Commit 5c136bd

Browse files
committed
Add plugin l4d_fix_prop_los
1 parent 1e50d27 commit 5c136bd

2 files changed

Lines changed: 75 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"Games"
2+
{
3+
"#default"
4+
{
5+
"Functions"
6+
{
7+
"l4d_fix_prop_los::CBaseProp::CalculateBlockLOS"
8+
{
9+
"signature" "CBaseProp::CalculateBlockLOS"
10+
"callconv" "thiscall"
11+
"return" "void"
12+
"this" "entity"
13+
}
14+
}
15+
}
16+
17+
"left4dead"
18+
{
19+
"Signatures"
20+
{
21+
"CBaseProp::CalculateBlockLOS"
22+
{
23+
"library" "server"
24+
"linux" "@_ZN9CBaseProp17CalculateBlockLOSEv"
25+
"windows" "\x83\xEC\x0C\x53\x55\x8B\xE9\x8B\x85\x2A\x2A\x2A\x2A\x8B"
26+
// 83 EC 0C 53 55 8B E9 8B 85 ? ? ? ? 8B
27+
}
28+
}
29+
}
30+
31+
"left4dead2"
32+
{
33+
"Signatures"
34+
{
35+
"CBaseProp::CalculateBlockLOS"
36+
{
37+
"library" "server"
38+
"linux" "@_ZN9CBaseProp17CalculateBlockLOSEv"
39+
"windows" "\x55\x8B\xEC\x83\xEC\x10\x53\x8B\xD9\x8B\x83\x2A\x2A\x2A\x2A\x8B"
40+
// 55 8B EC 83 EC 10 53 8B D9 8B 83 ? ? ? ? 8B
41+
// Search string "ai_addon_thrownprojectile"
42+
// Called inside
43+
}
44+
}
45+
}
46+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#pragma semicolon 1
2+
#pragma newdecls required
3+
4+
#include <sourcemod>
5+
#include <dhooks>
6+
#include <@Forgetest/gamedatawrapper>
7+
8+
#define PLUGIN_VERSION "1.0"
9+
10+
public Plugin myinfo =
11+
{
12+
name = "[L4D & 2] Fix Prop LOS",
13+
author = "Forgetest",
14+
description = "Fix thin/small 'prop_*' entity not blocking LOS.",
15+
version = PLUGIN_VERSION,
16+
url = "https://github.com/Target5150/MoYu_Server_Stupid_Plugins",
17+
}
18+
19+
public void OnPluginStart()
20+
{
21+
GameDataWrapper gd = new GameDataWrapper("l4d_fix_prop_los");
22+
delete gd.CreateDetourOrFail("l4d_fix_prop_los::CBaseProp::CalculateBlockLOS", DTR_CalculateBlockLOS);
23+
delete gd;
24+
}
25+
26+
MRESReturn DTR_CalculateBlockLOS(int entity)
27+
{
28+
return MRES_Supercede;
29+
}

0 commit comments

Comments
 (0)