Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
ec55436
Update item_airbox.cpp
StevenKal Oct 27, 2021
5991f00
Update wpn_c4.cpp
StevenKal Oct 27, 2021
44ee1f3
Update wpn_flashbang.cpp
StevenKal Oct 27, 2021
d47071b
Update wpn_hegrenade.cpp
StevenKal Oct 27, 2021
52b32ff
Update wpn_knife.cpp
StevenKal Oct 27, 2021
ee50cf6
Update wpn_smokegrenade.cpp
StevenKal Oct 27, 2021
bd8c02b
Update client.cpp
StevenKal Oct 27, 2021
be40000
Update func_tank.cpp
StevenKal Oct 27, 2021
31262fe
Update func_tank.h
StevenKal Oct 27, 2021
f4618ea
Update game.cpp
StevenKal Oct 27, 2021
5f9a4e1
Update game.h
StevenKal Oct 27, 2021
0c74f58
Update player.cpp
StevenKal Oct 27, 2021
fad8a24
Update player.h
StevenKal Oct 27, 2021
b633bdf
Update weapons.cpp
StevenKal Oct 27, 2021
dbefd54
Update item_airbox.cpp
StevenKal Oct 27, 2021
1c00063
Update item_airbox.cpp
StevenKal Oct 27, 2021
55ce6f5
Update weapons.cpp
StevenKal Oct 27, 2021
a553433
Update weapons.cpp
StevenKal Oct 27, 2021
e72832e
Update weapons.cpp
StevenKal Oct 27, 2021
d9c8bd1
Update game.cpp
StevenKal Oct 27, 2021
9b8626b
Update game.cpp
StevenKal Oct 27, 2021
812a320
Update item_airbox.cpp
StevenKal Oct 27, 2021
191adb8
Merge branch 's1lentq:master' into personnal_v1
StevenKal Oct 28, 2021
a47f2ee
Update weapons.cpp
StevenKal Nov 3, 2021
9feb8e8
Update weapons.cpp
StevenKal Nov 3, 2021
8e758b3
Update func_tank.cpp
StevenKal Nov 3, 2021
72868ec
Update func_tank.cpp
StevenKal Nov 3, 2021
1b27292
Update player.cpp
StevenKal Nov 3, 2021
277301e
Update CAPI_Impl.cpp
StevenKal Nov 3, 2021
165ec3c
Update CAPI_Impl.h
StevenKal Nov 3, 2021
63abc42
Update func_tank.cpp
StevenKal Nov 4, 2021
4ec7e6c
Update game.cpp
StevenKal Nov 4, 2021
b2480ed
Update weapons.cpp
StevenKal Nov 4, 2021
18c328d
Update CSPlayer.cpp
StevenKal Nov 4, 2021
6caeb16
Update CSPlayer.h
StevenKal Nov 4, 2021
b3c4a72
Update regamedll_api.h
StevenKal Nov 4, 2021
a1e9788
Update version.h
StevenKal Nov 4, 2021
d257928
Update func_tank.cpp
StevenKal Nov 4, 2021
250722b
Merge branch 's1lentq:master' into personnal_v1
StevenKal Nov 4, 2021
ee2979f
Update CSPlayer.cpp
StevenKal Nov 4, 2021
587a5da
Update func_tank.cpp
StevenKal Nov 4, 2021
37a469d
Update func_tank.cpp
StevenKal Nov 4, 2021
f85d0b4
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
a58e8d6
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
0ed8eba
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
506f167
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
3a5e6db
Update wpn_c4.cpp
StevenKal Nov 4, 2021
cae784e
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
f3b9d7b
Update wpn_smokegrenade.cpp
StevenKal Nov 4, 2021
d951498
Update wpn_c4.cpp
StevenKal Nov 4, 2021
ddf2f79
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
b48eb6a
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
327973d
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
c8e0361
Update func_tank.cpp
StevenKal Nov 4, 2021
426e9ee
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
b39ddd2
Update wpn_c4.cpp
StevenKal Nov 4, 2021
6d8c8ab
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
eea3f83
Update wpn_smokegrenade.cpp
StevenKal Nov 4, 2021
a5042f9
Update weapons.h
StevenKal Nov 4, 2021
89b27e6
Update wpn_c4.cpp
StevenKal Nov 4, 2021
76a63ae
Update wpn_flashbang.cpp
StevenKal Nov 4, 2021
406982a
Update wpn_hegrenade.cpp
StevenKal Nov 4, 2021
c84f926
Update wpn_smokegrenade.cpp
StevenKal Nov 4, 2021
ecc713c
Update wpn_c4.cpp
StevenKal Nov 4, 2021
7f81172
Update weapons.cpp
StevenKal Nov 9, 2021
c1a3a7d
Update func_tank.cpp
StevenKal Nov 18, 2021
a878445
Update func_tank.cpp
StevenKal Nov 18, 2021
e2ed8e1
Merge branch 's1lentq:master' into personnal_v1
StevenKal Feb 11, 2022
1853520
Merge branch 's1lentq:master' into personnal_v1
StevenKal Feb 12, 2022
4003001
Update build.yml
StevenKal Feb 17, 2022
1a997f4
Update player.cpp
StevenKal Feb 17, 2022
e1eb7b9
Update util.h
StevenKal Feb 18, 2022
04c306d
Update util.cpp
StevenKal Feb 18, 2022
4fb5108
Update player.cpp
StevenKal Feb 18, 2022
bafaedc
Update game.cpp
StevenKal Feb 18, 2022
2e5f32a
Merge branch 's1lentq:master' into personnal_v1
StevenKal Feb 19, 2022
8fe97b3
Update game.h
StevenKal Feb 19, 2022
1a42207
Update game.cpp
StevenKal Feb 19, 2022
f6892ab
Update player.cpp
StevenKal Feb 19, 2022
9bf551b
Merge branch 's1lentq:master' into personnal_v1
StevenKal Feb 21, 2022
1667481
Merge branch 's1lentq:master' into personnal_v1
StevenKal Mar 18, 2022
0884732
Merge branch 's1lentq:master' into personnal_v1
StevenKal Apr 12, 2022
e6019b5
Update weapons.cpp
StevenKal Apr 13, 2022
4b6776f
Update healthkit.cpp
StevenKal Apr 13, 2022
f2f3760
Update h_battery.cpp
StevenKal Apr 13, 2022
c61aa4d
Update items.cpp
StevenKal Apr 13, 2022
76d3cb1
Update items.h
StevenKal Apr 13, 2022
a27feb4
Update items.cpp
StevenKal Apr 13, 2022
8a976c6
Update game.cpp
StevenKal Apr 13, 2022
302f62b
Update weapons.cpp
StevenKal Apr 13, 2022
f3d5d6c
Merge branch 's1lentq:master' into personnal_v1
StevenKal Apr 21, 2022
44703a9
Remove stupid changes of vaqtincha's arrogant dumb shithead & stupid …
StevenKal Apr 21, 2022
95da7c0
No sound spam emitted around new round...
StevenKal Apr 21, 2022
aece586
No sound spam emitted around new round...
StevenKal Apr 21, 2022
190c03b
No sound spam emitted around new round...
StevenKal Apr 21, 2022
6d4db8d
Remove test demos not succeed for "I do not know why!".
StevenKal Apr 21, 2022
2d69ff7
Healthkit: Allow to set a custom model before call of "pfnSpawn".
StevenKal Apr 23, 2022
946c2a0
Items: Allow to set a custom model before call of "pfnSpawn".
StevenKal Apr 23, 2022
f6295d2
Update items.cpp
StevenKal Apr 23, 2022
33a3bc4
Update player.cpp
StevenKal May 1, 2022
d0eada9
Update skill.h
StevenKal May 1, 2022
adf793e
Update gamerules.cpp
StevenKal May 1, 2022
6f73d3b
Merge branch 's1lentq:master' into personnal_v1
StevenKal Oct 11, 2022
017a237
[Personal v1] Merge last changes till commit #577. (#8)
StevenKal Mar 18, 2023
87c1ead
Update multiplay_gamerules.cpp
StevenKal Mar 19, 2023
8d97a79
Update game.cfg
StevenKal Mar 19, 2023
5c869c1
Update README.md
StevenKal Mar 19, 2023
0058f70
[Personal v1] Merge last changes till commit #582. (#9)
StevenKal Apr 3, 2023
41267e9
[Personal v1] Merge last changes till commit #593. (#10)
StevenKal Jul 11, 2023
cc15c9a
[Personal v1] Merge last changes till commit #600. (#11)
StevenKal Jul 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 10 additions & 77 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

Expand All @@ -38,7 +38,7 @@ jobs:
- run: nuget restore '${{ env.solution }}'

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2
uses: microsoft/setup-msbuild@v1.1.3
with:
vs-version: '16.8'

Expand Down Expand Up @@ -66,86 +66,19 @@ jobs:
move msvc\${{ env.buildRelease }}\mp.pdb publish\debug\mp.pdb

- name: Deploy artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3.1.1
with:
name: win32
path: publish/*

testdemos:
name: 'Test demos'
runs-on: ubuntu-latest
container: s1lentq/testdemos:latest
needs: [windows]

env:
WINEDEBUG: -all
WINEDLLOVERRIDES: mshtml=

defaults:
run:
shell: bash
working-directory: ../../../opt/HLDS

steps:
- name: Deploying windows artifacts
uses: actions/download-artifact@v2
with:
name: win32

- name: Play demos
run: |
chown root ~
rsync -a deps/regamedll/* .
mv $GITHUB_WORKSPACE/tests/mp.dll cstrike/dlls/mp.dll

descs=(
"CS: Testing jumping, scenarios, shooting etc"
)

demos=(
"cstrike-basic-1"
)

retVal=0
for i in "${!demos[@]}"; do
params=$(cat "testdemos/${demos[i]}.params")

echo -e "\e[1m[$((i + 1))/${#demos[@]}] \e[1;36m${descs[i]} testing...\e[0m"
echo -e " - \e[0;33mParameters $params\e[0m"

wine hlds.exe --rehlds-enable-all-hooks --rehlds-test-play "testdemos/${demos[i]}.bin" $params &> result.log || retVal=$?

if [ $retVal -ne 777 ] && [ $retVal -ne 9 ]; then
# Print with catchy messages
while read line; do
echo -e " \e[0;33m$line"
done <<< $(cat result.log | sed '0,/demo failed/I!d;/wine:/d;/./,$!d')

echo " 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸"
while read line; do
echo -e " \e[1;31m$line";
done < rehlds_demo_error.txt
echo -e " \e[30;41mExit code: $retVal\e[0m"
echo -e "\e[1m[$((i + 1))/${#demos[@]}] \e[1;36m${descs[i]} testing...\e[1;31m Failed ❌"
exit 6 # Test demo failed
else
# Print result HLDS console
while read line; do
echo -e " \e[0;33m$line"
done <<< $(cat result.log | sed '/wine:/d;/./,$!d')
echo -e " \e[30;43mExit code: $retVal\e[0m"
echo -e "\e[1m[$((i + 1))/${#demos[@]}] \e[1;36m${descs[i]} testing...\e[1;32m Succeed ✔"
fi
done

linux:
name: 'Linux'
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
container: s1lentq/linux86buildtools:latest

steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
Expand Down Expand Up @@ -207,7 +140,7 @@ jobs:
shell: bash

- name: Deploy artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
id: upload-job
with:
name: linux32
Expand All @@ -221,17 +154,17 @@ jobs:

publish:
name: 'Publish'
runs-on: ubuntu-latest
needs: [windows, testdemos, linux]
runs-on: ubuntu-20.04
needs: [windows, linux]

steps:
- name: Deploying linux artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: linux32

- name: Deploying windows artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: win32

Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ This means that plugins that do binary code analysis (Orpheu for example) probab
| mp_round_restart_delay | 5 | - | - | Number of seconds to delay before restarting a round after a win. |
| mp_hegrenade_penetration | 0 | 0 | 1 | Disable grenade damage through walls.<br/>`0` disabled<br/>`1` enabled |
| mp_nadedrops | 0 | 0 | 2 | Drop a grenade after player death.<br/>`0` disabled<br/>`1` drop first available grenade<br/>`2` drop all grenades |
| mp_weapondrop | 1 | 0 | 3 | Drop player weapon after death.<br/>`0` do not drop weapons after death<br/>`1` drop best/heaviest weapon after death<br/>`2` drop active weapon after death<br/>`3` drop all weapons after death (primary and secondary) |
| mp_ammodrop | 1 | 0 | 2 | Drop ammo on weapon boxes on death or manual drop.<br/>`0` always keep ammo on player<br/>`1` drop all ammo only after death<br/>`2` drop all ammo whenever player drops a weapon |
| mp_roundrespawn_time | 20 | 0 | - | Player cannot respawn until next round if more than N seconds has elapsed since the beginning round.<br />`-1` means no time limit<br /> |
| mp_auto_reload_weapons | 0 | 0 | 1 | Automatically reload each weapon on player spawn.<br/>`0` disabled<br/>`1` enabled |
| mp_refill_bpammo_weapons | 0 | 0 | 2 | Refill amount of backpack ammo up to the max.<br/>`0` disabled<br/>`1` refill backpack ammo on player spawn<br/>`2` refill backpack ammo on player spawn and on the purchase of the item |
Expand All @@ -62,7 +64,7 @@ This means that plugins that do binary code analysis (Orpheu for example) probab
| mp_show_scenarioicon | 0 | 0 | 1 | Show scenario icon in HUD such as count of alive hostages or ticking bomb.<br/>`0` disabled<br/>`1` enabled |
| mp_old_bomb_defused_sound | 1 | 0 | 1 | Play "Bomb has been defused" sound instead of "Counter-Terrorists win" when bomb was defused<br/>`0` disabled<br/>`1` enabled |
| showtriggers | 0 | 0 | 1 | Debug cvar shows triggers. |
| sv_alltalk | 0 | 0 | 5 | When players can hear each other ([further explanation](../../wiki/sv_alltalk)).<br/>`0` dead don't hear alive<br/>`1` no restrictions<br/>`2` teammates hear each other<br/>`3` Same as 2, but spectators hear everybody<br/>`4` alive hear alive, dead hear dead and alive.<br/>`5` alive hear alive teammates, dead hear dead and alive.
| sv_alltalk | 0 | 0 | 5 | When players can hear each other ([further explanation](../../wiki/sv_alltalk)).<br/>`0` dead don't hear alive<br/>`1` no restrictions<br/>`2` teammates hear each other<br/>`3` Same as 2, but spectators hear everybody<br/>`4` alive hear alive, dead hear dead and alive.<br/>`5` alive hear alive teammates, dead hear dead and alive.<br/>`6` alive hear alive teammates, dead hear dead.
| bot_deathmatch | 0 | 0 | 1 | Sets the mode for the zBot.<br/>`0` disabled<br/>`1` enable mode Deathmatch and not allow to do the scenario |
| bot_quota_mode | normal | - | - | Determines the type of quota.<br/>`normal` default behaviour<br/>`fill` the server will adjust bots to keep `N` players in the game, where `N` is bot_quota<br/>`match` the server will maintain a `1:N` ratio of humans to bots, where `N` is bot_quota |
| bot_join_delay | 0 | - | - | Prevents bots from joining the server for this many seconds after a map change. |
Expand Down Expand Up @@ -105,6 +107,9 @@ This means that plugins that do binary code analysis (Orpheu for example) probab
| sv_enablebunnyhopping | 0 | 0 | 1 | Allow player speed to exceed maximum running speed.<br/>`0` disabled <br/>`1` enabled |
| mp_plant_c4_anywhere | 0 | 0 | 1 | When set, players can plant anywhere, not only in bombsites.<br/>`0` disabled <br/>`1` enabled |
| mp_give_c4_frags | 3 | - | - | How many bonuses (frags) will get the player who defused or exploded the bomb. |
| mp_hostages_rescued_ratio | 1.0 | 0.0 | 1.0 | Ratio of hostages rescued to win the round. |
| mp_legacy_vehicle_block | 1 | 0 | 1 | Legacy func_vehicle behavior when blocked by another entity.<br/>`0` New behavior <br/>`1` Legacy behavior |
| mp_dying_time | 3.0 | 0.0 | - | Time for switch to free observing after death.<br/>`0` - disable spectating around death.<br/>`>0.00001` - time delay to start spectate.<br/>`NOTE`: The countdown starts when the player’s death animation is finished.|
</details>

## How to install zBot for CS 1.6?
Expand Down
40 changes: 40 additions & 0 deletions dist/game.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,23 @@ mp_hegrenade_penetration 0
// Default value: "0"
mp_nadedrops 0

// Drop player weapon after death
// 0 - do not drop weapons after death
// 1 - drop best/heaviest weapon after death (default behaviour)
// 2 - drop active weapon after death
// 3 - drop all weapons after death (primary and secondary)
// NOTE: Grenades are dropped separately depending on mp_nadedrops value
//
// Default value: "1"
mp_weapondrop "1"
// Drop ammo on weapon boxes on death or manual drop
// 0 - always keep ammo on player
// 1 - drop all ammo only after death (default behaviour)
// 2 - drop all ammo whenever player drops a weapon (NOTE: Other weapons may remain without ammo due to same ammo sharing)
//
// Default value: "1"
mp_ammodrop "1"

// Player cannot respawn until next round
// if more than N seconds has elapsed since the beginning round
// -1 - means no time limit
Expand Down Expand Up @@ -222,6 +239,7 @@ showtriggers 0
// 3 - same as 2, but spectators hear everybody
// 4 - alive hear alive, dead hear dead and alive.
// 5 - alive hear alive teammates, dead hear dead and alive.
// 6 - alive hear alive teammates, dead hear dead.
//
// Default value: "0"
sv_alltalk 0
Expand Down Expand Up @@ -489,3 +507,25 @@ mp_plant_c4_anywhere 0
//
// Default value: "3"
mp_give_c4_frags 3

// Ratio of hostages rescued to win the round.
//
// Default value: "1.0"
mp_hostages_rescued_ratio "1.0"

// Legacy func_vehicle behavior when blocked by another entity.
// New one is more useful for playing multiplayer.
//
// 0 - New behavior
// 1 - Legacy behavior
//
// Default value: "1"
mp_legacy_vehicle_block "1"

// Time for switch to free observing after death.
// NOTE: The countdown starts when the player’s death animation is finished.
// 0 - disable spectating around death
// >0.00001 - time delay to start spectate
//
// Default value: "3.0"
mp_dying_time "3.0"
6 changes: 6 additions & 0 deletions regamedll/common/const.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@
// Goes into globalvars_t.trace_flags
#define FTRACE_SIMPLEBOX BIT(0) // Traceline with a simple box

// Custom flags that we can retrive in pfnShouldCollide
// Starting from BIT(16) to reserve space for more flags for Engine
#define FTRACE_BULLET BIT(16)
#define FTRACE_FLASH BIT(17)
#define FTRACE_KNIFE BIT(18)

// walkmove modes
#define WALKMOVE_NORMAL 0 // normal walkmove
#define WALKMOVE_WORLDONLY 1 // doesn't hit ANY entities, no matter what the solid type
Expand Down
75 changes: 27 additions & 48 deletions regamedll/dlls/API/CAPI_Impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,15 @@

CReGameHookchains g_ReGameHookchains;

int EXT_FUNC Cmd_Argc_api() {
return CMD_ARGC_();
}
void Regamedll_ChangeString_api(char *&dest, const char *source)
{
size_t len = Q_strlen(source);
if (dest == nullptr || Q_strlen(dest) != len) {
delete [] dest;
dest = new char [len + 1];
}

const char *EXT_FUNC Cmd_Argv_api(int i) {
return CMD_ARGV_(i);
Q_strcpy(dest, source);
}

CGrenade *PlantBomb_api(entvars_t *pevOwner, Vector &vecStart, Vector &vecVelocity) {
Expand All @@ -51,27 +54,31 @@ void SpawnRandomGibs_api(entvars_t *pevVictim, int cGibs, int human) {
}

ReGameFuncs_t g_ReGameApiFuncs = {
&CREATE_NAMED_ENTITY,
CREATE_NAMED_ENTITY,

&Regamedll_ChangeString_api,
Regamedll_ChangeString_api,

&RadiusDamage_api,
&ClearMultiDamage_api,
&ApplyMultiDamage_api,
&AddMultiDamage_api,
RadiusDamage,
ClearMultiDamage,
ApplyMultiDamage,
AddMultiDamage,

&UTIL_FindEntityByString,
UTIL_FindEntityByString,

&AddEntityHashValue,
&RemoveEntityHashValue,
AddEntityHashValue,
RemoveEntityHashValue,

Cmd_Argc_api,
Cmd_Argv_api,
CMD_ARGC_,
CMD_ARGV_,

PlantBomb_api,

SpawnHeadGib_api,
SpawnRandomGibs_api
SpawnRandomGibs_api,

UTIL_RestartOther,
UTIL_ResetEntities,
UTIL_RemoveOther,
};

GAMEHOOK_REGISTRY(CBasePlayer_Spawn);
Expand Down Expand Up @@ -204,6 +211,9 @@ GAMEHOOK_REGISTRY(CBasePlayer_Pain);
GAMEHOOK_REGISTRY(CBasePlayer_DeathSound);
GAMEHOOK_REGISTRY(CBasePlayer_JoiningThink);

GAMEHOOK_REGISTRY(FreeGameRules);
GAMEHOOK_REGISTRY(PM_LadderMove);

int CReGameApi::GetMajorVersion() {
return REGAMEDLL_API_VERSION_MAJOR;
}
Expand Down Expand Up @@ -265,35 +275,4 @@ bool CReGameApi::BGetIGameRules(const char *pchVersion) const
return false;
}

EXT_FUNC void Regamedll_ChangeString_api(char *&dest, const char *source)
{
size_t len = Q_strlen(source);
if (dest == nullptr || Q_strlen(dest) != len) {
delete [] dest;
dest = new char [len + 1];
}

Q_strcpy(dest, source);
}

EXT_FUNC void RadiusDamage_api(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, float flRadius, int iClassIgnore, int bitsDamageType)
{
RadiusDamage(vecSrc, pevInflictor, pevAttacker, flDamage, flRadius, iClassIgnore, bitsDamageType);
}

EXT_FUNC void ClearMultiDamage_api()
{
ClearMultiDamage();
}

EXT_FUNC void ApplyMultiDamage_api(entvars_t *pevInflictor, entvars_t *pevAttacker)
{
ApplyMultiDamage(pevInflictor, pevAttacker);
}

EXT_FUNC void AddMultiDamage_api(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType)
{
AddMultiDamage(pevInflictor, pEntity, flDamage, bitsDamageType);
}

EXPOSE_SINGLE_INTERFACE(CReGameApi, IReGameApi, VRE_GAMEDLL_API_VERSION);
Loading