Commit Graph

62 Commits

Author SHA1 Message Date
nosoop
2130c60fd9
Implement raw entity handle accessors (#1830)
* Implement raw entity handle accessors

* Fix FromPseudoAddress calls on 64-bit

* fixup: Remove unnecessary ent deref

* fixup: Correct param index in thrown error
2022-12-29 03:57:47 +00:00
Nicholas Hastings
b77e8c50ac
Add support for Military Conflict: Vietnam (#1887) 2022-12-20 21:46:18 +00:00
Spirrwell
e34e9b9869
Split PVKII into its own engine branch (#1847)
* Initial PVKII branch support

* Change PVKII code to 23, DOTA uses 22 in MM

* Bunch more SE_PVKII preprocessor that was missed

* Add some missing SOURCE_ENGINE_PVKII cases

* Update PVKII FireOutput signature for Linux

* Update checkout-deps with 'pvkii'

* Fix FireOutput signature for PVKII, accidentally used one from newer build

* Change PVKII code to 10, and bump others by 1

* Only check against SE_SDK2013 here, like Metamod

* More SE_PVKII preprocessor cleanup
2022-10-24 19:27:32 +00:00
Asher Baker
2111e90540
Fix FindSendPropOffs with SendPropArray props (#1708)
FindSendPropOffs is deprecated and FindSendPropInfo behaves correctly
here, but there are still a lot of old plugins using FindSendPropOffs.
One of the SendPropArray props broken by the changes here is
m_hViewModel which there are known plugins in the wild accessing.
2022-02-06 15:56:52 +00:00
Vladimir
106f807b68
Fix crash in FindSendPropInfo() when the prop was DPT_DataTable (#1575) 2021-09-06 18:42:04 -07:00
Asher Baker
5ea096e61e
Support reading legacy sendprop arrays (#1550)
This rounds out the work started in #1548 to complete support for
reading the older SendPropArray type array netprops, along with bringing
SDKTools' GameRule netprop code in sync with core to add string array
support.

There aren't many SendPropArray type props around but this opens up a
few interesting opportunities for plugin developers, particularly in
L4D2 with manipulation of the EMS HUD.

Tested reading the `m_vCPPositions` array in TF2, and reading/writing
the `m_szScriptedHUDStringSet` EMS HUD netprop in L4D2. Closes #1386.
2021-08-23 21:21:11 +01:00
Asher Baker
296deb95e6
Return array type info with FindSendPropInfo (#1548) 2021-08-01 19:44:18 +01:00
Asher Baker
39aa75436e
Fix reading/writing string_t array netprops (#1538)
When a netprop is an array the name resolves to the outer DataTable
array, which we then need to recurse into to find the actual prop.

For string_t props we need their sendprop info to call the proxy
function to get their real storage address, but when accessing an array
we were trying to read the prop off the outer DataTable prop, rather
than the real string_t prop. Fix this by using the pProp variable that
FIND_PROP_SEND helpfully provides for us.

Tested by writing/reading the `m_szCrosshairCodes` array, which got
changed to a string_t prop sometime since #1372.

Fixes #1484
2021-07-18 02:01:46 +01:00
Asher Baker
86af9601bd
Fix reading/writing float variant-based props (#1536)
When variant support was added for props, the validation checks in the
float related functions weren't updated to allow them.

Tested with the plugin from the forum thread with a spawned
`math_counter`.

Fixes #1501
2021-07-17 20:53:43 +01:00
Nicholas Hastings
8e7d41ec02
Add NULL check to GetEntPropString return. (#1376)
This can be NULL for non-interned strings that don't have a value set.
2020-10-27 18:51:12 -04:00
Nicholas Hastings
18d93ff677
Sendprop string fixes (#1372)
* Fix reading SendProp non-interned strings.

* Make Get/SetEntPropString for SendProps use same macros as other funcs.
2020-10-23 11:26:54 +00:00
Nick Hastings
4c8103a4e1 Add string_t SetEntPropString support for ep1 (fixes #1287) 2020-06-25 21:20:56 -04:00
Asher Baker
6465bd83a4 Update for latest Blade Symphony SDK 2020-03-11 22:36:25 +00:00
Headline
28036966a6
Fix Miscellaneous Regressions and UBs (#1022) 2019-05-28 18:04:08 -07:00
Nicholas Hastings
9374620b8b
Add RemoveEntity native. (bug 5714) (#745) 2018-01-07 13:52:36 -05:00
Scott Ehlert
ce1a4dcac0
64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
peace-maker
0743b757f6 Fix regression with GetEntPropEnt always returning -1 (#584)
Regression in #583

The `CBaseHandle *` was compared to a `IHandleEntity **` always failing
instead of comparing the actual base handles.

Fixes a small typo in MatchTypeDescAsInteger too, where a FIELD_CUSTOM
could fall through badly.
2017-02-09 07:43:15 -05:00
Nicholas Hastings
af9852a68f Add support for getting and setting output variables with Get/SetEntProp*. 2017-02-07 07:52:00 -05:00
Nicholas Hastings
113a4a55c6 Fix incorrect bit size given for vectors with FindDataMapInfo. 2017-02-07 07:52:00 -05:00
Nicholas Hastings
e3d7a047bd Fixed varint sendprops being treated improperly in CS:GO. 2016-06-05 11:03:18 -04:00
Nicholas Hastings
40f2512317 Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
Nicholas Hastings
b65de29c92 Add initial version of safety checks for CS:GO to attempt to avoid user GSLT bans. 2016-03-02 15:25:01 -05:00
David Anderson
e08697ad54 Remove strncopy(). 2015-09-09 14:57:47 -07:00
Nicholas Hastings
1e1b23dc31 Add missing sanity checks on element param on SetEntPropString for data props. 2015-09-02 18:35:37 -04:00
Nicholas Hastings
5cdf35d687 Fix array detection/handling for GetEntPropString with string_t arrays (bug 6409). 2015-09-02 18:33:58 -04:00
Nicholas Hastings
8a726a8fbb Fix bIsStringIndex not being initialized in SetEntPropString for non-index SendProps. 2015-08-14 07:50:10 -04:00
Nicholas Hastings
f589298879 Fix maxlen in SetEntPropString not being initialized (bug 6391).
This var is only used when setting a direct string, rather than a string_t. Some flawed
logic was causing it to only be set if the sendprop didn't have a proxy function (although
all strings should; that's how we detect whether it's a string_t or not). The var only needs
to be set if it's not a string_t, but does not hurt anything if it is.
2015-07-25 10:46:41 -04:00
Nicholas Hastings
1a5714c3ca Fix build for ep1 and darkm. 2015-07-02 15:22:33 -04:00
Nicholas Hastings
e0a83ff7b2 Add support for setting string_t values with SetEntPropString.
Adds new AllowPooledString func to CHalfLife2 to allocate a string in the game's string pool.
Also fixes SetEntPropString using incorrect offset for nested sendprops.
2015-07-02 14:47:31 -04:00
Nicholas Hastings
93bec920cf Add support for GetEntPropString(Prop_Send) with netvars backed by string_t vars. 2015-07-02 14:00:47 -04:00
Nicholas Hastings
64f9aedebc Add basic support for Black Mesa.
(Basically a copy of SDK 2013's support, but against BMS SDK).
2015-05-06 21:12:13 -04:00
Nicholas Hastings
31a79231f8 Fix regression stopping -1 from being a valid value in SetEntPropEnt. 2014-07-09 22:23:20 -04:00
Nicholas Hastings
0b5e587db9 Remove unnecessary null check. 2014-07-09 20:33:38 -04:00
Nicholas Hastings
f7a64167fc Fix Dota 2 build. 2014-07-09 19:25:45 -04:00
Nicholas Hastings
3a94bd4fef Add support to Get/SetEntPropEnt for FIELD_CLASSPTR and FIELD_CLASSPTR datadesc fields. 2014-07-09 17:32:32 -04:00
Nicholas Hastings
a98d277cf3 Remove unused variables (nobug, r=askerin). 2014-02-28 20:45:03 -05:00
Nicholas Hastings
3e15966c3e Add support for Source SDK Base 2013 (bug 5917, r=asherkin). 2013-10-13 14:14:51 -04:00
Kyle Sanderson
b9cd424186 Add support for nested datatables. (bug 5446, r=asherkin) 2013-08-12 00:54:21 +01:00
Nicholas Hastings
a36c266e7d Split TF2, DoD:S, HL2:DM, and ND to separate binaries (bug 5813, r=asherkin). 2013-07-21 11:53:56 -04:00
Asher Baker
e814e65fcb Error on access to nested datamap props (bug 5446, r=psychonic). 2012-09-03 20:26:39 +01:00
Nicholas Hastings
c2ecb7363c Fixed VARINT & UNSIGNED flags being read from dt instead of member in SendProp arrays (bug 5591, r=prodigysim). 2013-02-04 07:38:30 -05:00
Nicholas Hastings
4a1dd5f519 Added support for new SPROP_VARINT sendprops. 2012-12-18 17:58:45 -05:00
Nicholas Hastings
80f7e3092b Fixed regressions in a988c42d4248:
* Fixed crash when prop/data ent is invalid.
* Restored GetEntPropEnt/GetEntDataEnt2 functionality when logical ent support is not available.
2012-12-17 14:33:57 -05:00
Nicholas Hastings
ab06cf4788 Validate entity in GetEntPropEnt, GetEntDataEnt2 (r=me). 2012-12-16 19:52:31 -05:00
Kyle Sanderson
e8058912b8 Fixed crash in EntProp natives (bug 5297, r=psychonic). 2012-08-28 16:20:15 -04:00
Nicholas Hastings
8362b8d226 Split CS:S support off to a separate engine/build (bug 5370, r=asherkin). 2012-08-20 21:53:59 -04:00
Michael Busby
a46dcd45d7 Added GetEntityAddress native (bug 5269, r=dvander). 2012-07-22 13:40:37 -04:00
Nicholas Hastings
5732e34f50 Added check for element in Get/SetEntProp funcs >= 0 (bug 5141, r=fyren). 2011-10-20 21:35:50 -04:00
Nicholas Hastings
14919c65d9 Fixed wrong values for unsigned, >= 16-bit props in GetEntProp (bug 5105, r=fyren). 2011-10-11 19:41:56 -04:00
Nicholas Hastings
243b7e25f8 Added array element selection with Get/SetEntProp* on arrays (bug 4160, r=fyren). 2011-06-05 21:52:36 -04:00