Skip to content

Commit c40a53b

Browse files
committed
Update left4dhooks to 1.166
1 parent 4ac482f commit c40a53b

10 files changed

Lines changed: 1316 additions & 257 deletions

File tree

addons/sourcemod/gamedata/left4dhooks.l4d2.txt

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,21 @@
901901
}
902902
}
903903

904+
"L4DD::CDirector::AddSurvivorBot"
905+
{
906+
"signature" "CDirector::AddSurvivorBot"
907+
"callconv" "thiscall"
908+
"return" "void"
909+
"this" "ignore"
910+
"arguments"
911+
{
912+
"a1"
913+
{
914+
"type" "int"
915+
}
916+
}
917+
}
918+
904919
"L4DD::CThrow::ActivateAbililty"
905920
{
906921
"signature" "CThrow::ActivateAbililty"
@@ -2013,6 +2028,20 @@
20132028
"read" "0"
20142029
}
20152030

2031+
"gEntList"
2032+
{
2033+
"windows"
2034+
{
2035+
"signature" "gEntList"
2036+
"read" "116"
2037+
}
2038+
"linux"
2039+
{
2040+
"signature" "gEntList"
2041+
}
2042+
"read" "0"
2043+
}
2044+
20162045
"L4DD::ScriptVM"
20172046
{
20182047
"windows"
@@ -3350,6 +3379,15 @@
33503379
/* Search: "unsticking %s from %.1f %.1f %.1f to %.1f %.1f %.1f\n" */
33513380
}
33523381

3382+
"CDirector::IsLocationFoggedToSurvivors"
3383+
{
3384+
"library" "server"
3385+
"linux" "@_ZNK9CDirector27IsLocationFoggedToSurvivorsERK6Vector"
3386+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x83\x2A\x2A\x33\x2A\x85\x2A\x0F\x2A\x2A\x52\x68\x2A\x2A\x2A\x2A\xE8"
3387+
/* ? ? ? ? ? ? ? ? 8B ? ? 83 ? ? 33 ? 85 ? 0F ? ? 52 68 ? ? ? ? E8 */
3388+
/* Search: "ZombieSpawnInFog" */
3389+
}
3390+
33533391
/**
33543392
* CTerrorPlayer::GetSpecialInfectedDominatingMe(CTerrorPlayer *this)
33553393
*
@@ -3404,6 +3442,24 @@
34043442
// /* ? ? ? ? ? ? 8B ? ? 85 ? 74 ? 8B ? 8B ? ? FF ? 8B ? 89 ? ? EB ? C7 45 ? ? ? ? ? 8D ? ? 51 8D 8E ? ? ? ? E8 ? ? ? ? 33 */
34053443
}
34063444

3445+
"CGlobalEntityList::FindEntityByClassnameNearest"
3446+
{
3447+
"library" "server"
3448+
"linux" "@_ZN17CGlobalEntityList28FindEntityByClassnameNearestEPKcRK6Vectorf"
3449+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x53\x33\x2A\xF3\x2A\x2A\x2A\x0F\x2E\x2A\x2A\x2A\x2A\x2A\x9F"
3450+
/* ? ? ? ? ? ? ? ? ? 53 33 ? F3 ? ? ? 0F 2E ? ? ? ? ? 9F */
3451+
/* Search: "CheckpointDoorClosed". Target is sub call with "info_changelevel" as param. */
3452+
}
3453+
3454+
"CGlobalEntityList::FindEntityByClassnameWithin"
3455+
{
3456+
"library" "server"
3457+
"linux" "@_ZN17CGlobalEntityList27FindEntityByClassnameWithinEP11CBaseEntityPKcRK6Vectorf"
3458+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x83\x2A\x2A\xF3\x2A\x2A\x2A\x0F\x2E\x2A\x2A\x2A\x2A\x2A\x9F\xF6\x2A\x2A\x7A\x2A\x8B"
3459+
/* ? ? ? ? ? ? ? ? 83 ? ? F3 ? ? ? 0F 2E ? ? ? ? ? 9F F6 ? ? 7A ? 8B */
3460+
/* Search: "info_ladder_dismount" and target calls twice with this param. */
3461+
}
3462+
34073463
/*
34083464
* CDirector::HasAnySurvivorLeftSafeArea(CDirector *this)
34093465
*/
@@ -4252,6 +4308,20 @@
42524308
/* 55 8B EC 51 83 7D 08 00 56 8B F1 89 */
42534309
}
42544310

4311+
/*
4312+
* CDirector::AddSurvivorBot(SurvivorCharacterType) const
4313+
*
4314+
* Windows: find string "sb_add" → xref to ConCommand registration →
4315+
* handler calls AddSurvivorBot(char*) wrapper → wrapper tail-calls this function
4316+
*/
4317+
"CDirector::AddSurvivorBot"
4318+
{
4319+
"library" "server"
4320+
"linux" "@_ZNK9CDirector14AddSurvivorBotE21SurvivorCharacterType"
4321+
"windows" "\x55\x8B\xEC\x8B\x89\x2A\x2A\x2A\x2A\x83\xEC\x2A\x56\x8D\x45\xFF"
4322+
/* 55 8B EC 8B 89 ? ? ? ? 83 EC ? 56 8D 45 FF */
4323+
}
4324+
42554325
/*
42564326
* CThrow::ActivateAbililty()
42574327
* Start a tank rock throw
@@ -4779,6 +4849,18 @@
47794849
/* Search: "Created new fencetop area %d(%x) between %d(%x) and %d(%x)\n" - target call is within the if statement below */
47804850
}
47814851

4852+
/*
4853+
* CNavArea::IsBlocked(CNavArea *this, int, bool)
4854+
*/
4855+
"CNavArea::IsBlocked"
4856+
{
4857+
"library" "server"
4858+
"linux" "@_ZNK8CNavArea9IsBlockedEib"
4859+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x74\x2A\x8B\x2A\x2A\x85\x2A\x79\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x83"
4860+
/* ? ? ? ? ? ? ? 74 ? 8B ? ? 85 ? 79 ? 8B ? ? ? ? ? 83 */
4861+
/* Search: "Flow Error: Goal area is blocked!\n", target function is call above with "-1" */
4862+
}
4863+
47824864
/*
47834865
* CTerrorPlayer::GetFlowDistance(TerrorNavArea::FlowType)
47844866
*/
@@ -5710,6 +5792,17 @@
57105792
"linux" "@g_pGameRules"
57115793
}
57125794

5795+
/* Used on Windows to resolve the "gEntList" pointer */
5796+
/* ResolveFollowupTargetToEntity(char *) */
5797+
"gEntList"
5798+
{
5799+
"library" "server"
5800+
"linux" "@gEntList"
5801+
"windows" "\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x57\x8B\x2A\x68\x2A\x2A\x2A\x2A\x57\xE8\x2A\x2A\x2A\x2A\x83"
5802+
/* ? ? ? ? ? 8B ? ? 57 8B ? 68 ? ? ? ? 57 E8 ? ? ? ? 83 */
5803+
/* Search: "Couldn't resolve response target %s\n". Call with "0, v3, 0, 0, 0, 0" as params has target ptr. */
5804+
}
5805+
57135806
/* This signature sometimes has multiple matches, but this
57145807
* does not matter as g_pGameRules is involved in all of them.
57155808
* The same g_pGameRules offset applies to each match.
@@ -5767,6 +5860,36 @@
57675860
/* 55 8B EC 81 EC ? ? ? ? A1 ? ? ? ? 33 C5 89 45 FC 8B 45 14 53 8B 5D 08 */
57685861
}
57695862

5863+
/* Search: "Frame %8d/tick %8d: frame out of budget (%.2fms > %.2fms)\n" - xref to this function is our target
5864+
*/
5865+
"TheNextBots"
5866+
{
5867+
"library" "server"
5868+
"linux" "@_Z11TheNextBotsv"
5869+
"windows" "\x2A\x2A\x2A\x2A\x2A\x84\x05\x2A\x2A\x2A\x2A\x0F\x85\x2A\x2A\x2A\x2A\x09\x2A\x2A\x2A\x2A\x2A\x33\x2A\xB9\x2A\x2A\x2A\x2A\x33"
5870+
/* ? ? ? ? ? 84 05 ? ? ? ? 0F 85 ? ? ? ? 09 ? ? ? ? ? 33 ? B9 ? ? ? ? 33 */
5871+
}
5872+
5873+
/* Search: "Chainsaw.Die" - You will see "TheNextBots" above the call, and below is a sub call with "1.0" as param
5874+
*/
5875+
"NextBotManager::RushVictim"
5876+
{
5877+
"library" "server"
5878+
"linux" "@_ZN14NextBotManager10RushVictimEP13CTerrorPlayerf"
5879+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x83\x2A\x2A\x0F\x2E\x2A\x2A\x2A\x2A\x2A\x9F\xF6\x2A\x2A\x7A\x2A\xA1\x2A\x2A\x2A\x2A\xF3"
5880+
/* ? ? ? ? ? ? ? ? 83 ? ? 0F 2E ? ? ? ? ? 9F F6 ? ? 7A ? A1 ? ? ? ? F3 */
5881+
}
5882+
5883+
/* Search: "Going into Old ClearNWait" - Below is a call, click into that and into the function it calls, this is the target
5884+
*/
5885+
"NextBotManager::StartAssault"
5886+
{
5887+
"library" "server"
5888+
"linux" "@_ZN14NextBotManager12StartAssaultEv"
5889+
"windows" "\x2A\x2A\x2A\x2A\x2A\x2A\x2A\x3D\x2A\x2A\x2A\x2A\x74\x2A\x56\x57\x0F\x2A\x2A\x8B\x2A\x2A\x03\x2A\x03\x2A\x03\x2A\x8B\x2A\x2A\x8B\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x2A\xFF\x2A\x8B\x2A\xE8\x2A\x2A\x2A\x2A\x83"
5890+
/* ? ? ? ? ? ? ? 3D ? ? ? ? 74 ? 56 57 0F ? ? 8B ? ? 03 ? 03 ? 03 ? 8B ? ? 8B ? 8B ? ? ? ? ? 8B ? FF ? 8B ? E8 ? ? ? ? 83 */
5891+
}
5892+
57705893
"nav_update_lighting"
57715894
{
57725895
"library" "server"
2.64 KB
Binary file not shown.

0 commit comments

Comments
 (0)