Compare commits

...

79 Commits

Author SHA1 Message Date
Hedel Nasser
363871a860
Fixed value check in json_object_set_value (#1023)
Same fix as #1015, but for 1.9
2021-12-03 15:53:29 -08:00
pizzahut2
8e8dfa33ed
Update stats.sma (#1002)
Triggered the "Invalid weapon id" at another location in the source code, so patched all cases where the argument could be 0.
2021-10-07 17:12:29 -07:00
pizzahut2
f442b3d84f
Update stats.sma (#998)
Fix runtime error when a player "killed self with teledeath". Happens when a map hasn't enough spawn points.
2021-09-28 09:56:17 -07:00
Smilex_Gamer
8817f3e541
European Portuguese Language translation fixes (#902)
* European Portuguese translation fix: admin.txt

* European Portuguese translation fix: admincmd.txt

* Added European Portuguese translation: adminslots.txt

Added new translations

* European Portuguese translation fix: common.txt

* European Portuguese translation fix: menufront.txt

* European Portuguese translation fix: miscstats.txt

* European Portuguese translation fix: pausecfg.txt

* European Portuguese translation fix: restmenu.txt

* European Portuguese translation fix: statscfg.txt
2021-09-17 13:22:03 +02:00
OciXCrom
81e4aa29a6
Add missing kRenderFx constant (#928)
* Add missing kRenderFx constant

* Change constant name to match SDK
2021-09-17 13:21:52 +02:00
Daniele386
1754c0b959
Minor German Language Update (#926)
* Update admincmd.txt

* Update statsx.txt

* Update miscstats.txt

* Update menufront.txt

* Update menufront.txt

* Update admincmd.txt

* Update adminvote.txt

* Update restmenu.txt

* Update mapsmenu.txt

* Update nextmap.txt

* Update stats_dod.txt

* Update statscfg.txt

* Update stats_dod.txt

* Update adminvote.txt
2021-09-17 13:11:58 +02:00
Franco Romaniello
bb4b818250
Update parson and fix json_object_set_value (#983)
* Remove parson folder

* add submodule parson

* FIX amxx_json_object_set_value generate a crash if invalid value is passed

* restore parson folder status
2021-09-17 13:08:08 +02:00
Franco Romaniello
f5fea6ab7b
Fix typo in message_const.inc TE_FIZZ comment (#990) 2021-09-17 13:07:43 +02:00
Harsha Raghu
f031b97e91
[TFCX] Fix Medic infection Crash on Linux (#991)
* [TFCX] Fix Medic infection Crash on Linux

Issue: #988

* [TFCX] Removed redundant code

- Added `_DEBUG_TFCX` preprocessor directive
- Deleted redundant code (which fetches pdata)
2021-09-17 13:01:40 +02:00
pizzahut2
beaa8c436b
Revert "Update CMisc.h (#985)" (#987)
Turned out both test servers still had an old "tfc_i386.so" file which took precedence over the newer "tfc.so" library, so both servers were misconfigured and that's why the offsets didn't work.
2021-09-02 11:51:55 -07:00
pizzahut2
f3d21a3fb1
Update CMisc.h (#985)
LINUXOFFSET is back at 3 since HLDS Linux build 8308 (dated July 24, 2019).
2021-08-26 22:28:11 -07:00
Franco Romaniello
3340884edb
fix alpha2 order in set_hudmessage (#982) 2021-08-16 14:23:52 -07:00
Franco Romaniello
d1fc99fc28
[FEATURE REQUEST] set_hudmessage add missing parameters (#981) 2021-08-16 13:27:50 -07:00
David Anderson
5e7e1775bd Another macOS build fix. 2021-07-11 22:21:37 -07:00
David Anderson
9d4c9c5ce9 Fix mac build. 2021-07-11 22:04:48 -07:00
David Anderson
2064e224d1 Quell warning on macOS. 2021-07-11 21:04:23 -07:00
David Anderson
73f52fd53a Fix Windows build. 2021-07-11 21:01:06 -07:00
David Anderson
6c8c605fa3 Update minimum macOS to 10.7. 2021-07-11 21:00:26 -07:00
David Anderson
d67510b841 Switch to libc++ on mac. 2021-07-11 20:50:54 -07:00
David Anderson
00b769e3f2 Use python3 in bootstrap. 2021-07-11 17:36:06 -07:00
Fysiks
f92e60a8ac
Add ignore for amxx binaries (#960) 2021-07-02 04:09:02 +02:00
Fysiks
8e902cb63b
Fix for loop index out of bounds error (#966)
Fixes an index out of bounds error when refreshMenus() and subsequently findAdminsWithMenu() is called when there is 32 players in the server. Indexing the playersList array in the for loop condition causes it to try to index with a value of 32 on the very last condition check which is not valid for this array.
2021-06-19 20:34:51 +02:00
FEDERICOMB
8fdc6540ca
Fix stock "SQL_QueryAndIgnore" documentation (#965) 2021-06-19 20:34:43 +02:00
Vincent Herbet
5eea3e5b42
Revert "Do not allow admins to change cvars with FCVAR_SPONLY flag when not in singleplayer via amx_cvar"
adbc3e0c53

Behavior change. For now reverting it to give time and decide how it should be handled properly.
2020-06-24 22:51:56 +02:00
regener
1bfec70029 Yet another Hungarian langugage revise (#816)
Revised by Norbee. @ ebateam.eu

He was just lazy to do a PR :P
# Conflicts:
#	plugins/lang/admincmd.txt
#	plugins/lang/adminhelp.txt
#	plugins/lang/menufront.txt
2020-06-04 00:24:24 +02:00
Juice
bdeb2a133f admincmd.sma exploits fix (#822)
* [admincmd.sma] Fix typo in isCommandArgSafe

'

* [admincmd.sma] Update amx_cvar command handler

- Fix exploiting of "mapchangecfgfile" cvar to execute potentially dangerous console commands
- Add newline delimiter check and restrict for ****cfgfile cvars values

* Restrict having ".." character sequence in amx_map command argument

Fixes exploit on Windows servers that allows executing potentially dangerous console commands

* Do not allow admins to change cvars with FCVAR_SPONLY flag when not in singleplayer via amx_cvar

1. Make amx_cvar command obey FCVAR_SPONLY flag.
2. Fix exploiting of amx_nextmap cvar value which is used in nextmap plugin.
2020-06-04 00:18:22 +02:00
Juice
936c9477be adminvote.sma exploit fix (#823)
* Restrict having ".." character sequence in amx_votemap command arguments

Fixes exploit on Windows servers that allows executing potentially dangerous console commands

* Fix typo

containi -> contain
2020-06-04 00:16:18 +02:00
diamond-optic
4b335adfe8 Fix broken DoD Fun module natives (#851)
* Update hardcorded offsets

* Fixed using incorrect parameter for setting string
2020-06-04 00:10:59 +02:00
Eren Kaya
e463e06480 Turkish Translation Fixes/Addings (#862)
* Update admin.txt

Fixed translation [tr]

* Update adminchat.txt

* Update admincmd.txt

* Update adminhelp.txt

* Update adminslots.txt

* Update adminvote.txt

* Update antiflood.txt

* Update cmdmenu.txt

* Update common.txt

* Update imessage.txt

* Update mapchooser.txt

* Update menufront.txt

* Update mapsmenu.txt

* Update miscstats.txt

* Update multilingual.txt

* Update nextmap.txt

* Update pausecfg.txt

* Update plmenu.txt

* Update restmenu.txt

* Update scrollmsg.txt

* Update stats_dod.txt

* Update statscfg.txt

* Update telemenu.txt

* Update time.txt

* Update timeleft.txt

* Update statsx.txt

* Update adminhelp.txt

* Update admincmd.txt
2020-06-04 00:08:44 +02:00
Vincent Herbet
d0c8084ac9 Fix MySQL connector link (#844) 2020-06-04 00:08:08 +02:00
Cleverson
32a29f5a78 Close cmdaccess.ini file if fopen found the file... (#815)
Close file if fopen found the file...
2020-06-04 00:04:03 +02:00
Vincent Herbet
15a14a0a43 Fix new lines with TextMsg and SayText (side-effect of #763) (#778)
* Fix newlines for TextMsg

* Fix newlines for SayText

* Adjust comments

* Replace hardcoded detination value with HUD_* constants

* Make sure only official mods can use format string

* Fix typos

* Split condition for readability

* CS only: Fix newlines in TextMsg and with print_center
2019-10-28 00:22:05 +01:00
Arkshine
be3f2f540b Adjust TextMsg/SayText maximum buffer length from 190 to 187 due to "%s" parameter added in #763 2019-10-23 16:25:50 +02:00
Juice
4a2aecfe85 Fix issues with amxclient_cmd and read_args/read_argv* natives (#761)
* Fixes to read_args and read_argv* natives

* Fixed crash with read_argv* natives and commands sent with amxclient_cmd native
* Fixed read_args returning argv[0] instead of empty string when both amxclient_cmd's arguments were not specified

* Fix spaces
2019-10-22 10:30:13 +02:00
Vincent Herbet
9ca3a685ed Update gamedata for all supported mods (#771)
* Update CS gamedata

* Update TFC gamedata

* Update DoD gamedata

* Update Valve gamedata

* Update Gearbox gamedata
2019-10-21 11:51:18 +02:00
Vincent Herbet
78ecb35e3c Fix behavior change about endianness check in maxmind/libmaxminddb#123 (#770) 2019-10-20 23:25:11 +02:00
twisterniq
dafabc73c0 Add new plugin defines regarding the AMX Mod X version (#723)
* Add AMXX_VERSION_LOCAL define

* Add new defines regarding version of AMX Mod X

Added new defines: AMXX_VERSION_MAJOR_NUM and AMXX_VERSION_MINOR_NUM

* Rename AMXX_VERSION_LOCAL define

Define AMXX_VERSION_LOCAL was renamed to AMXX_VERSION_LOCAL_REV_NUM
2019-10-17 18:57:40 +02:00
Smilex_Gamer
163afa041e European Portuguese Language translation support (#750)
* Added European Portuguese translation: admin.txt

* Added European Portuguese translation: adminchat.txt

* Added European Portuguese translation: admincmd.txt

* Added European Portuguese translation: adminhelp.txt

* Added European Portuguese translation: adminslots.txt

* Added European Portuguese translation: adminvote.txt

* Added European Portuguese translation: antiflood.txt

* Added European Portuguese translation: cmdmenu.txt

* Added European Portuguese translation: common.txt

* Added European Portuguese translation: imessage.txt

* Added European Portuguese translation: languages.txt

* Added European Portuguese translation: mapchooser.txt

* Added European Portuguese translation: mapsmenu.txt

* Added European Portuguese translation: menufront.txt

* Added European Portuguese translation: miscstats.txt

* Added European Portuguese translation: multilingual.txt

* Added European Portuguese translation: nextmap.txt

* Added European Portuguese translation: pausecfg.txt

* Added European Portuguese translation: plmenu.txt

* Added European Portuguese translation: restmenu.txt

* Added European Portuguese translation: scrollmsg.txt

* Added European Portuguese translation: stats_dod.txt

* Added European Portuguese translation: statscfg.txt

* Added European Portuguese translation: statsx.txt

* Added European Portuguese translation: telemenu.txt

* Added European Portuguese translation: time.txt

* Added European Portuguese translation: timeleft.txt
2019-10-17 16:38:16 +02:00
Arkshine
c064459b67 Add Albanian language support 2019-10-17 16:37:48 +02:00
Vincent Herbet
4410d219f7 Send pre-formatted string in SayText and TextMSg as a parameter instead of as the format string (#763) 2019-10-17 15:54:04 +02:00
Vincent Herbet
6fb27a03a7 Fix GeoIP2 database file extraction (#764) 2019-10-17 15:53:43 +02:00
Dmitry Novikov
5e48c9b6db CSPForward::execute: Fix uninitialized retVal (#747) 2019-10-17 15:53:29 +02:00
Vincent Herbet
9e962ce097 Bump ReHLDS API version to 3.6 (#721) 2019-10-17 15:52:49 +02:00
regener
78d1c0f1cd String changes for missing path exception messages (#718)
Resolves #652
2019-10-17 15:52:49 +02:00
Juice
691ae9f8d4 Compiler: Fix undefined symbol: pow10 (#615) (#759)
* Compiler: Fix undefined symbol: pow10

* Add version check

* Remove deprecated pow10

(cherry picked from commit 77eb33d5f2)
2019-10-17 15:43:26 +02:00
Adam Richard
6cecb34e29 Fix typo on engine.inc documentation (#730)
`register_think` first parameter is `Classname[]`, but, it's written `Touched` on its description.
2019-06-19 22:30:43 +02:00
Vincent Herbet
4ef0a78abd Fix MPROP_SHOWPAGE option not working as expected
Typo from #473.
2019-06-19 22:30:43 +02:00
regener
1f09bd53f6 Hungarian language update (#719)
Thanks for the help to Norbee. @ ebateam
2019-05-16 15:12:21 +02:00
Adam Richard
c8bd4bb169 Fix string incorrectly formatted in CS Misc Stats plugin (#704)
Recently, I got those below errors on logs:
```
String formatted incorrectly - parameter 12 (total 12)
L 04/29/2019 - 23:24:40: [AMXX] Displaying debug trace (plugin "miscstats.amxx", version "1.8.3-dev+5154")
L 04/29/2019 - 23:24:40: [AMXX] Run time error 25: parameter error 
L 04/29/2019 - 23:24:40: [AMXX]    [0] miscstats.sma::checkKills (line 922)
```

It just looks like `"RAMPAGE!!! %s^n%L %d %L (%d hs)"` misses last format rule, which should be `"%L"` pointing to `HS` lang key.
2019-05-16 15:06:45 +02:00
CrazY
2dd36300bf Fix TE_DLIGHT documentation (#685)
There's no "brightness" parameter in TE_DLIGHT. Probably will cause server crash if it be passed.
2019-05-16 15:06:30 +02:00
Cleverson
c867d9a7cb Updated Portuguese Brazilian translation in miscstats.txt with latest additions (#674)
Updated Portuguese Brazilian translation in miscstats.txt with latest additions
2019-05-16 15:06:27 +02:00
voed
b3980d2e5d Improve documentation in engine_const.inc (#665) 2019-05-16 15:06:07 +02:00
Cleverson
2bc04236db Fix documentation (#678)
* Lack register_event() on event_enable/disable

Lack register_event() on enable_event and disable_event descriptions

* It shoud be m_iJoiningState not m_iJointState

It shoud be m_iJoiningState not m_iJointState
2019-05-16 15:05:56 +02:00
regener
211003750c Fix back/next/exit buttons not translated in plugin's cvar/command menus (#667)
* Menu buttons stayed english in Plugin's cvar/command menus

That worked, but if there is any better solution to get it working feel free to edit :D

* Changed language parsing to %L
2019-01-30 16:08:27 +01:00
voed
6dba7c4f17 Add player validation for menu_display (#671)
Invalid player triggered crash because get/set_pdata is unsafe
2019-01-30 16:08:08 +01:00
voed
7515038e07 Removed garbage generated by VS (#658) 2019-01-30 16:07:48 +01:00
regener
2bb5e92d93 Updated Hungarian translation in miscstats.txt with latest additions (#661) 2019-01-30 16:07:30 +01:00
Adam Richard
77bbdbb59c Fix typo in json_parse documentation (#663)
Just a small fix on json_parse return description. I'm sure it was supposed to be `Invalid_JSON` instead of `Invalid_JSONValue`.
Thank you, guys, that's one of my favorites features.
2019-01-30 16:07:08 +01:00
PartialCloning
70d822e17f Revert RETURN_META(MRES_HANDLED); (#662)
#554 (Revert "Fun: Make TraceLine a post forward") did not fully revert back TraceLine. RETURN_META(MRES_HANDLED); was added by #421 (Update Fun module) but still remains there.
2019-01-24 21:11:24 +01:00
Vincent Herbet
6c53524d86 Bump ReHLDS version to 3.5 (#647) 2018-12-18 10:17:50 +01:00
Vincent Herbet
9eb1f427df Fix again a menu regression (behavior change) due to typos in #471 (#636) 2018-11-03 22:54:15 +01:00
Vincent Herbet
5c5fbd83d1 Fix a navigation bug in Plugin Cvars menu (#637) 2018-11-03 22:52:52 +01:00
Vincent Herbet
be526418bf Make UTF-8 safe others strings natives (#610) 2018-10-14 17:46:28 +02:00
Daniele386
f63bc38f5c Major Update to german translation (#620)
* Update miscstats.txt

#618

* Update statsx.txt

#618

* Update and rename mapchooser.txt to admincmd

* Rename admincmd to mapchooser.txt

* Update admincmd.txt

* Update common.txt

* Update multilingual.txt

* Update multilingual.txt

* Update scrollmsg.txt

* Update statscfg.txt

* Update adminchat.txt

* Update adminhelp.txt

* Update adminvote.txt

* Update cmdmenu.txt

* Update common.txt

* Update mapchooser.txt

* Update mapsmenu.txt

* Update menufront.txt

* Update miscstats.txt

* Update multilingual.txt

* Update nextmap.txt

* Update pausecfg.txt

* Update plmenu.txt

plmenu.txt adresses only the behaviour in the "Menü", not the text in the chat!

* Update restmenu.txt

* Update scrollmsg.txt

* Update stats_dod.txt

* Update statscfg.txt

* Update statsx.txt

* Update telemenu.txt

* Update timeleft.txt

* Update admincmd.txt

* Update plmenu.txt

* Update adminchat.txt

* Update admincmd.txt

* Update mapsmenu.txt

* Update miscstats.txt

added changes due to PR #611 !

* Update miscstats.txt

* Update pausecfg.txt

* Update admincmd.txt

* Update statscfg.txt
2018-10-13 15:05:53 +02:00
Vincent Herbet
09b95aa6ab CS Miscstats: Fix enemy remaining option displaying the message to the wrong team (#611) 2018-10-11 13:49:16 +02:00
OciXCrom
a0ea98da35 Add a bunch of constants to define max lengths (#566)
* Add constants for max IP and SteamID length

* Change max authid length to 64

* Fix port typo

* Add more defines

* Remove max query length
2018-09-28 17:20:29 +02:00
Vincent Herbet
d867a95fd6 Fix a crash with set_tr/2 when -1 is passed in TR_pHit + allow worldspawn (0) in set_tr/2 (#601)
* Fix a crash with set_ptr2 when -1 is passed in TR_pHit

* Allow wordspawn in set_tr|2(TR_pHit, ...)
2018-09-28 17:20:29 +02:00
justgo97
05bd01cd5e Fixed a typo in get_user_flags description (#605)
* Fixed a typo in get_user_flags description

* Remove
2018-09-28 17:20:29 +02:00
justgo97
d93ee596bb Add constants for get_user_origin() (#604) 2018-09-28 17:20:29 +02:00
Arkshine
523bb334d5 Put back <time.h> from previous commit 2018-09-28 17:20:29 +02:00
Duko
a635b383fc GeoIP: Add "reload" command (#588)
* Add reload option

* Adjust logic

* Modernize the code a little
2018-09-28 17:20:06 +02:00
PartialCloning
3238b25495 Additions to hlsdk_const and cstrike_const (#573)
* Additions to hlsdk_const

Added values to hlsdk_const using regamedll_cs and reapi as reference.

* Update cstrike_const.inc

* Prefix constants with CS_ to avoid name collision and for consistency
2018-09-28 17:19:23 +02:00
Juice
e993cdccae Update Russian ML translations (#598)
* Updated Russian ML translations

* Remove [bs] TRANSF_SILENT translation

Since it's totally not related to pull request and it was translated wrong because I looked for Makedonian translation for some reason.

* Updated Russian ML translations
2018-09-28 09:01:43 +02:00
Vincent Herbet
e059c1f5ab Fix invalid handle passed in the SMC/INI parser callbacks (#592) 2018-09-21 00:04:51 +02:00
IgnacioFDM
ddf0cc69dd Compiler: Fix broken UTF8 support (#329) 2018-09-20 21:12:08 +02:00
Vincent Herbet
9f00bf4f55 Fix typo in json_object_get_value_at documentation (#587) 2018-09-16 20:05:18 +02:00
Vincent Herbet
ac64ef041b Upload amxmodx-latest-<package>-<os> text file when packaging. (#585) 2018-09-14 20:31:17 +02:00
OciXCrom
7e23047c53 Fix admin chat displaying the wrong language (#559)
* Fix admin chat displaying the wrong language

* Switch %L to %l

* Improve loop

* %L to %l again

* Change git add . to != 0
2018-09-13 14:46:36 +02:00
Arkshine
91f36f2308 Promote git revision number to 4th version string component 2018-09-11 00:51:05 +02:00
298 changed files with 8926 additions and 6519 deletions

2
.gitignore vendored
View File

@ -84,5 +84,7 @@ Thumbs.db
# AMXX plugin build related files
plugins/compile.dat
plugins/compiled/
*.amx
*.amxx
build_deps/

View File

@ -71,7 +71,7 @@ class AMXXConfig(object):
if len(hlsdk_path):
self.hlsdk_path = os.path.join(builder.originalCwd, hlsdk_path)
if not os.path.exists(self.hlsdk_path):
raise Exception('Metamod path does not exist: {0}'.format(hlsdk_path))
raise Exception('HLSDK path does not exist: {0}'.format(hlsdk_path))
else:
try_paths = [
os.path.join(builder.sourcePath, '..', 'hlsdk'),
@ -94,7 +94,7 @@ class AMXXConfig(object):
if len(mysql_path):
self.mysql_path = os.path.join(builder.originalCwd, mysql_path)
if not os.path.exists(self.mysql_path):
raise Exception('Metamod path does not exist: {0}'.format(mysql_path))
raise Exception('MySQL path does not exist: {0}'.format(mysql_path))
else:
try_paths = [
os.path.join(builder.sourcePath, '..', 'mysql-5.5'),
@ -227,6 +227,11 @@ class AMXXConfig(object):
cxx.cflags += ['-Wno-unused-result', '-Wno-error=sign-compare']
if have_clang:
cxx.cxxflags += ['-Wno-implicit-exception-spec-mismatch']
if cxx.version >= 'apple-clang-10.0':
cxx.cxxflags += [
'-Wno-inconsistent-missing-override',
'-Wno-varargs',
]
if cxx.version >= 'apple-clang-5.1' or cxx.version >= 'clang-3.4':
cxx.cxxflags += ['-Wno-deprecated-register']
else:
@ -317,15 +322,18 @@ class AMXXConfig(object):
def configure_mac(self, cxx):
cxx.defines += ['OSX', '_OSX', 'POSIX']
cxx.cflags += ['-mmacosx-version-min=10.5']
cxx.cflags += [
'-mmacosx-version-min=10.7',
'-Wno-address-of-packed-member',
]
cxx.linkflags += [
'-mmacosx-version-min=10.5',
'-mmacosx-version-min=10.7',
'-arch', 'i386',
'-lstdc++',
'-stdlib=libstdc++',
'-stdlib=libc++',
'-framework', 'CoreServices',
]
cxx.cxxflags += ['-stdlib=libstdc++']
cxx.cxxflags += ['-stdlib=libc++']
def configure_windows(self, cxx):
cxx.defines += ['WIN32', '_WINDOWS']

View File

@ -143,6 +143,10 @@ private:
fclose(fp);
};
}
else
{
fclose(fp);
}
};
/**
* Returns 1 if the timestamp for the file is different than the one we have loaded

View File

@ -323,7 +323,7 @@ cell CSPForward::execute(cell *params, ForwardPreparedArray *preparedArrays)
amx_Push(m_Amx, realParams[i]);
// exec
cell retVal;
cell retVal = 0;
#if defined BINLOG_ENABLED
g_BinLog.WriteOp(BinLog_CallPubFunc, pPlugin->getId(), m_Func);
#endif

View File

@ -197,7 +197,7 @@ static cell AMX_NATIVE_CALL console_print(AMX *amx, cell *params) /* 2 param */
if (index < 1 || index > gpGlobals->maxClients) // Server console
{
if (len > 254)
if (len > 254) // Server console truncates after byte 255. (254 + \n = 255)
{
len = 254;
if ((message[len - 1] & 1 << 7))
@ -216,18 +216,26 @@ static cell AMX_NATIVE_CALL console_print(AMX *amx, cell *params) /* 2 param */
if (pPlayer->ingame && !pPlayer->IsBot())
{
if (len > 126) // Client console truncates after byte 127. (126 + \n = 127)
if (len > 125) // Client console truncates after byte 127. (125 + \n\n = 127)
{
len = 126;
len = 125;
if ((message[len - 1] & 1 << 7))
{
len -= UTIL_CheckValidChar(message + len - 1); // Don't truncate a multi-byte character
}
}
message[len++] = '\n'; // Client expects newline from the server
message[len++] = '\n';
const auto canUseFormatString = g_official_mod && !g_bmod_dod; // Temporary exclusion for DoD until officially supported
if (canUseFormatString)
{
message[len++] = '\n'; // Double newline is required when pre-formatted string in TextMsg is passed as argument.
}
message[len] = 0;
UTIL_ClientPrint(pPlayer->pEdict, 2, message);
UTIL_ClientPrint(pPlayer->pEdict, HUD_PRINTCONSOLE, message);
}
}
@ -241,6 +249,8 @@ static cell AMX_NATIVE_CALL client_print(AMX *amx, cell *params) /* 3 param */
int len = 0;
char *msg;
const auto canUseFormatString = g_official_mod && !g_bmod_dod; // Temporary exclusion for DoD until officially supported
if (params[1] == 0) // 0 = All players
{
for (int i = 1; i <= gpGlobals->maxClients; ++i)
@ -252,16 +262,38 @@ static cell AMX_NATIVE_CALL client_print(AMX *amx, cell *params) /* 3 param */
g_langMngr.SetDefLang(i);
msg = format_amxstring(amx, params, 3, len);
// params[2]: print_notify = 1, print_console = 2, print_chat = 3, print_center = 4
if (((params[2] == 1) || (params[2] == 2)) && (len > 126)) // Client console truncates after byte 127. (126 + \n = 127)
// Client console truncates after byte 127.
// If format string is used, limit includes double new lines (125 + \n\n), otherwise one new line (126 + \n).
const auto bytesLimit = canUseFormatString ? 125 : 126;
if (g_bmod_cstrike && params[2] == HUD_PRINTCENTER) // Likely a temporary fix.
{
len = 126;
for (int j = 0; j < len; ++j)
{
if (msg[j] == '\n')
{
msg[j] = '\r';
}
}
}
else if (((params[2] == HUD_PRINTNOTIFY) || (params[2] == HUD_PRINTCONSOLE)) && (len > bytesLimit))
{
len = bytesLimit;
if ((msg[len - 1] & 1 << 7))
{
len -= UTIL_CheckValidChar(msg + len - 1); // Don't truncate a multi-byte character
}
}
msg[len++] = '\n'; // Client expects newline from the server
msg[len++] = '\n';
if (canUseFormatString)
{
if (!g_bmod_cstrike || params[2] == HUD_PRINTNOTIFY || params[2] == HUD_PRINTCONSOLE)
{
msg[len++] = '\n'; // Double newline is required when pre-formatted string in TextMsg is passed as argument.
}
}
msg[len] = 0;
UTIL_ClientPrint(pPlayer->pEdict, params[2], msg);
@ -286,16 +318,38 @@ static cell AMX_NATIVE_CALL client_print(AMX *amx, cell *params) /* 3 param */
msg = format_amxstring(amx, params, 3, len);
// params[2]: print_notify = 1, print_console = 2, print_chat = 3, print_center = 4
if (((params[2] == 1) || (params[2] == 2)) && (len > 126)) // Client console truncates after byte 127. (126 + \n = 127)
// Client console truncates after byte 127.
// If format string is used, limit includes double new lines (125 + \n\n), otherwise one new line (126 + \n).
const auto bytesLimit = canUseFormatString ? 125 : 126;
if (g_bmod_cstrike && params[2] == HUD_PRINTCENTER) // Likely a temporary fix.
{
len = 126;
for (int j = 0; j < len; ++j)
{
if (msg[j] == '\n')
{
msg[j] = '\r';
}
}
}
else if (((params[2] == HUD_PRINTNOTIFY) || (params[2] == HUD_PRINTCONSOLE)) && (len > bytesLimit)) // Client console truncates after byte 127. (125 + \n\n = 127)
{
len = bytesLimit;
if ((msg[len - 1] & 1 << 7))
{
len -= UTIL_CheckValidChar(msg + len - 1); // Don't truncate a multi-byte character
}
}
msg[len++] = '\n'; // Client expects newline from the server
msg[len++] = '\n';
if (canUseFormatString)
{
if (!g_bmod_cstrike || params[2] == HUD_PRINTNOTIFY || params[2] == HUD_PRINTCONSOLE)
{
msg[len++] = '\n'; // Double newline is required when pre-formatted string in TextMsg is passed as argument.
}
}
msg[len] = 0;
UTIL_ClientPrint(pPlayer->pEdict, params[2], msg);
@ -344,16 +398,15 @@ static cell AMX_NATIVE_CALL client_print_color(AMX *amx, cell *params) /* 3 para
*msg = 1;
}
if (len > 190) // Server crashes after byte 190. (190 + \n = 191)
if (len > 187) // Max available bytes: 188
{
len = 190;
len = 187;
if ((msg[len - 1] & 1 << 7))
{
len -= UTIL_CheckValidChar(msg + len - 1); // Don't truncate a multi-byte character
}
}
msg[len++] = '\n';
msg[len] = 0;
UTIL_ClientSayText(pPlayer->pEdict, sender ? sender : i, msg);
@ -382,16 +435,15 @@ static cell AMX_NATIVE_CALL client_print_color(AMX *amx, cell *params) /* 3 para
*msg = 1;
}
if (len > 190) // Server crashes after byte 190. (190 + \n = 191)
if (len > 187) // Max available bytes: 188
{
len = 190;
len = 187;
if ((msg[len - 1] & 1 << 7))
{
len -= UTIL_CheckValidChar(msg + len - 1); // Don't truncate a multi-byte character
}
}
msg[len++] = '\n';
msg[len] = 0;
UTIL_ClientSayText(pPlayer->pEdict, sender ? sender : index, msg);
@ -473,13 +525,27 @@ static cell AMX_NATIVE_CALL next_hudchannel(AMX *amx, cell *params)
return pPlayer->NextHUDChannel();
}
static cell AMX_NATIVE_CALL set_hudmessage(AMX *amx, cell *params) /* 11 param */
static cell AMX_NATIVE_CALL set_hudmessage(AMX *amx, cell *params) /* 13 param */
{
g_hudset.a1 = 0;
g_hudset.a2 = 0;
g_hudset.r2 = 255;
g_hudset.g2 = 255;
g_hudset.b2 = 250;
cell num_params = params[0] / sizeof(cell);
if(num_params >= 13) {
cell *color2 = get_amxaddr(amx, params[13]);
g_hudset.a1 = params[12];
g_hudset.a2 = color2[3];
g_hudset.r2 = color2[0];
g_hudset.g2 = color2[1];
g_hudset.b2 = color2[2];
}
else {
g_hudset.a1 = 0;
g_hudset.a2 = 0;
g_hudset.r2 = 255;
g_hudset.g2 = 255;
g_hudset.b2 = 250;
}
g_hudset.r1 = static_cast<byte>(params[1]);
g_hudset.g1 = static_cast<byte>(params[2]);
g_hudset.b1 = static_cast<byte>(params[3]);
@ -1272,7 +1338,6 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */
// Fire newmenu callback so closing it can be handled by the plugin
if (!CloseNewMenus(pPlayer))
{
LogError(amx, AMX_ERR_NATIVE, "Plugin called menu_display when item=MENU_EXIT");
return 2;
}
@ -1318,7 +1383,7 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */
return 0;
}
if (closeMenu(index))
if (closeMenu(index) == 2)
{
return 0;
}
@ -2532,7 +2597,7 @@ static cell AMX_NATIVE_CALL read_argv(AMX *amx, cell *params) /* 3 param */
{
int argc = params[1];
const char *value = g_fakecmd.notify ? (argc >= 0 && argc < 3 ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
const char *value = g_fakecmd.notify ? ((argc >= 0 && argc < 3 && g_fakecmd.argv[argc] != nullptr) ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
return set_amxstring_utf8(amx, params[2], value, strlen(value), params[3]);
}
@ -2545,7 +2610,7 @@ static cell AMX_NATIVE_CALL read_argv_int(AMX *amx, cell *params) /* 1 param */
return 0;
}
const char *value = g_fakecmd.notify ? (argc >= 1 && argc < 3 ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
const char *value = g_fakecmd.notify ? ((argc >= 1 && argc < 3 && g_fakecmd.argv[argc] != nullptr) ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
return atoi(value);
}
@ -2559,7 +2624,7 @@ static cell AMX_NATIVE_CALL read_argv_float(AMX *amx, cell *params) /* 1 param *
return 0;
}
const char *value = g_fakecmd.notify ? (argc >= 1 && argc < 3 ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
const char *value = g_fakecmd.notify ? ((argc >= 1 && argc < 3 && g_fakecmd.argv[argc] != nullptr) ? g_fakecmd.argv[argc] : "") : CMD_ARGV(argc);
float flValue = atof(value);
return amx_ftoc(flValue);
@ -2567,7 +2632,7 @@ static cell AMX_NATIVE_CALL read_argv_float(AMX *amx, cell *params) /* 1 param *
static cell AMX_NATIVE_CALL read_args(AMX *amx, cell *params) /* 2 param */
{
const char* sValue = g_fakecmd.notify ? (g_fakecmd.argc > 1 ? g_fakecmd.args : g_fakecmd.argv[0]) : CMD_ARGS();
const char* sValue = g_fakecmd.notify ? (g_fakecmd.argc > 1 ? g_fakecmd.args : "") : CMD_ARGS();
return set_amxstring_utf8(amx, params[1], sValue ? sValue : "", sValue ? strlen(sValue) : 0, params[2]);
}

View File

@ -188,6 +188,11 @@ extern WeaponsVault g_weaponsData[MAX_WEAPONS];
extern XVars g_xvars;
extern bool g_bmod_cstrike;
extern bool g_bmod_dod;
extern bool g_bmod_dmc;
extern bool g_bmod_ricochet;
extern bool g_bmod_valve;
extern bool g_bmod_gearbox;
extern bool g_official_mod;
extern bool g_dontprecache;
extern int g_srvindex;
extern cvar_t* amxmodx_version;

View File

@ -88,6 +88,11 @@ XVars g_xvars;
bool g_bmod_tfc;
bool g_bmod_cstrike;
bool g_bmod_dod;
bool g_bmod_dmc;
bool g_bmod_ricochet;
bool g_bmod_valve;
bool g_bmod_gearbox;
bool g_official_mod;
bool g_dontprecache;
bool g_forcedmodules;
bool g_forcedsounds;
@ -1800,6 +1805,7 @@ C_DLLEXPORT int GetEntityAPI2_Post(DLL_FUNCTIONS *pFunctionTable, int *interface
}
enginefuncs_t meta_engfuncs;
C_DLLEXPORT int GetEngineFunctions(enginefuncs_t *pengfuncsFromEngine, int *interfaceVersion)
{
memset(&meta_engfuncs, 0, sizeof(enginefuncs_t));
@ -1809,11 +1815,17 @@ C_DLLEXPORT int GetEngineFunctions(enginefuncs_t *pengfuncsFromEngine, int *inte
meta_engfuncs.pfnSetModel = C_SetModel;
g_bmod_cstrike = true;
} else {
g_bmod_cstrike = false;
g_bmod_dod = !stricmp(g_mod_name.chars(), "dod");
g_bmod_tfc = !stricmp(g_mod_name.chars(), "tfc");
g_bmod_cstrike = false;
g_bmod_dod = !stricmp(g_mod_name.chars(), "dod");
g_bmod_dmc = !stricmp(g_mod_name.chars(), "dmc");
g_bmod_tfc = !stricmp(g_mod_name.chars(), "tfc");
g_bmod_ricochet = !stricmp(g_mod_name.chars(), "ricochet");
g_bmod_valve = !stricmp(g_mod_name.chars(), "valve");
g_bmod_gearbox = !stricmp(g_mod_name.chars(), "gearbox");
}
g_official_mod = g_bmod_cstrike || g_bmod_dod || g_bmod_dmc || g_bmod_ricochet || g_bmod_tfc || g_bmod_valve || g_bmod_gearbox;
meta_engfuncs.pfnCmd_Argc = C_Cmd_Argc;
meta_engfuncs.pfnCmd_Argv = C_Cmd_Argv;
meta_engfuncs.pfnCmd_Args = C_Cmd_Args;

View File

@ -809,7 +809,20 @@ static cell AMX_NATIVE_CALL menu_display(AMX *amx, cell *params)
int player = params[1];
int page = params[3];
if (player < 1 || player > gpGlobals->maxClients)
{
LogError(amx, AMX_ERR_NATIVE, "Invalid player id %d.", player);
return 0;
}
CPlayer* pPlayer = GET_PLAYER_POINTER_I(player);
if (!pPlayer->ingame)
{
LogError(amx, AMX_ERR_NATIVE, "Player %d is not in game.", player);
return 0;
}
if (!CloseNewMenus(pPlayer))
{
@ -995,7 +1008,7 @@ static cell AMX_NATIVE_CALL menu_setprop(AMX *amx, cell *params)
}
case MPROP_SHOWPAGE:
{
pMenu->showPageNumber = (get_amxaddr(amx, params[3]) != 0);
pMenu->showPageNumber = *get_amxaddr(amx, params[3]) != 0;
break;
}
case MPROP_SET_NUMBER_COLOR:

View File

@ -1,4 +1,4 @@
// vim: set ts=4 sw=4 tw=99 noet:
// vim: set ts=4 sw=4 tw=99 noet:
//
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
// Copyright (C) The AMX Mod X Development Team.
@ -210,6 +210,16 @@ void copy_amxmemory(cell* dest, cell* src, int len)
*dest++=*src++;
}
bool utf8isspace(const char* string)
{
return utf8iscategory(string, 1, UTF8_CATEGORY_ISSPACE) != 0;
}
size_t utf8getspaces(const char* string)
{
return utf8iscategory(string, SIZE_MAX, UTF8_CATEGORY_ISSPACE);
}
char* parse_arg(char** line, int& state)
{
static char arg[3072];
@ -218,7 +228,7 @@ char* parse_arg(char** line, int& state)
while (**line)
{
if (isspace(**line))
if (utf8isspace(*line))
{
if (state == 1)
break;
@ -919,6 +929,7 @@ static cell AMX_NATIVE_CALL amx_strtok(AMX *amx, cell *params)
int right_pos = 0;
unsigned int i = 0;
bool done_flag = false;
size_t spaces;
int len = 0;
//string[]
@ -938,9 +949,9 @@ static cell AMX_NATIVE_CALL amx_strtok(AMX *amx, cell *params)
{
if (trim && !done_flag)
{
if (isspace(string[i]))
if ((spaces = utf8getspaces(string + i) > 0))
{
while (isspace(string[++i]));
i += spaces;
done_flag = true;
}
}
@ -974,6 +985,7 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params)
{
int left_pos = 0, right_pos = 0, len, pos = -1;
unsigned int i = 0;
size_t spaces;
char *string = get_amxstring(amx, params[1], 0, len);
char *left = new char[len + 1], *right = new char[len + 1];
@ -989,9 +1001,9 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params)
int trim = params[7];
// ltrim left
if (trim & 1 && isspace(string[i]))
if (trim & 1 && (spaces = utf8getspaces(string)) > 0)
{
while (isspace(string[++i]));
i += spaces;
}
for (; i < (unsigned int) len; ++i)
@ -1007,17 +1019,17 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params)
}
// rtrim left
if (trim & 2 && left_pos && isspace(left[left_pos - 1]))
if (trim & 2 && left_pos && utf8isspace(&left[left_pos - 1]))
{
while (--left_pos >= 0 && isspace(left[left_pos]));
while (--left_pos >= 0 && utf8isspace(&left[left_pos]));
++left_pos;
}
// ltrim right
if (trim & 4 && isspace(string[i]))
if (trim & 4 && (spaces = utf8getspaces(string + i)) > 0)
{
while (isspace(string[++i]));
i += spaces;
}
for (; i < (unsigned int) len; ++i)
@ -1026,9 +1038,9 @@ static cell AMX_NATIVE_CALL amx_strtok2(AMX *amx, cell *params)
}
// rtrim right
if (trim & 8 && right_pos && isspace(right[right_pos - 1]))
if (trim & 8 && right_pos && utf8isspace(&right[right_pos - 1]))
{
while (--right_pos >= 0 && isspace(right[right_pos]));
while (--right_pos >= 0 && utf8isspace(&right[right_pos]));
++right_pos;
}
@ -1058,8 +1070,12 @@ static cell AMX_NATIVE_CALL argparse(AMX *amx, cell *params)
// Strip all left-hand whitespace.
size_t i = start_pos;
while (i < input_len && isspace(input[i]))
i++;
size_t spaces;
if ((spaces = utf8getspaces(input + i)) > 0)
{
i += spaces;
}
if (i >= input_len) {
*buffer = '\0';
@ -1078,7 +1094,7 @@ static cell AMX_NATIVE_CALL argparse(AMX *amx, cell *params)
}
// If not in quotes, and we see a space, stop.
if (isspace(input[i]) && !in_quote)
if (utf8isspace(input + i) && !in_quote)
break;
if (size_t(bufpos - buffer) < buflen)
@ -1106,9 +1122,13 @@ static cell AMX_NATIVE_CALL strbreak(AMX *amx, cell *params) /* 5 param */
int RightMax = params[5];
size_t len = (size_t)_len;
size_t spaces;
if ((spaces = utf8getspaces(string)) > 0)
{
i += spaces;
}
while (isspace(string[i]) && i<len)
i++;
beg = i;
for (; i<len; i++)
{
@ -1120,12 +1140,12 @@ static cell AMX_NATIVE_CALL strbreak(AMX *amx, cell *params) /* 5 param */
if (i == len-1)
goto do_copy;
} else {
if (isspace(string[i]) && !in_quote)
if (!in_quote && (spaces = utf8getspaces(string + i)) > 0)
{
do_copy:
size_t pos = i;
while (isspace(string[i]))
i++;
i += spaces;
const char *start = had_quotes ? &(string[beg+1]) : &(string[beg]);
size_t _end = had_quotes ? (i==len-1 ? 1 : 2) : 0;
size_t end = (pos - _end > (size_t)LeftMax) ? (size_t)LeftMax : pos - _end;
@ -1367,18 +1387,27 @@ static cell AMX_NATIVE_CALL amx_strlen(AMX *amx, cell *params)
static cell AMX_NATIVE_CALL amx_trim(AMX *amx, cell *params)
{
int len, newlen;
char *str = get_amxstring(amx, params[1], 0, len);
int length;
auto string = get_amxstring(amx, params[1], 0, length);
UTIL_TrimLeft(str);
UTIL_TrimRight(str);
auto leftSpaces = utf8getspaces(string);
auto rightSpaces = 0u;
newlen = strlen(str);
len -= newlen;
auto originalLength = length;
set_amxstring(amx, params[1], str, newlen);
if (leftSpaces < size_t(length))
{
while (--length >= 0 && utf8isspace(string + length))
{
++rightSpaces;
}
}
return len;
auto totalSpaces = leftSpaces + rightSpaces;
set_amxstring(amx, params[1], string + leftSpaces, originalLength - totalSpaces);
return totalSpaces;
}
static cell AMX_NATIVE_CALL n_strcat(AMX *amx, cell *params)

View File

@ -44,7 +44,12 @@ cell destroyParser(cell *handle)
// native SMCParser:SMC_CreateParser();
static cell AMX_NATIVE_CALL SMC_CreateParser(AMX *amx, cell *params)
{
return createParser();
const auto handle = createParser();
const auto parseInfo = TextParsersHandles.lookup(handle);
parseInfo->handle = handle;
return handle;
}
// native SMC_SetParseStart(SMCParser:handle, const func[]);
@ -224,7 +229,12 @@ static cell AMX_NATIVE_CALL SMC_DestroyParser(AMX *amx, cell *params)
// native INIParser:INI_CreateParser();
static cell AMX_NATIVE_CALL INI_CreateParser(AMX *amx, cell *params)
{
return createParser();
const auto handle = createParser();
const auto parseInfo = TextParsersHandles.lookup(handle);
parseInfo->handle = handle;
return handle;
}
// native bool:INI_ParseFile(INIParser:handle, const file[], &line = 0, &col = 0, any:data = 0);

View File

@ -221,11 +221,11 @@ void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, const ch
WRITE_BYTE(textparms.r1);
WRITE_BYTE(textparms.g1);
WRITE_BYTE(textparms.b1);
WRITE_BYTE(0);
WRITE_BYTE(255);
WRITE_BYTE(255);
WRITE_BYTE(250);
WRITE_BYTE(0);
WRITE_BYTE(textparms.a1);
WRITE_BYTE(textparms.r2);
WRITE_BYTE(textparms.g2);
WRITE_BYTE(textparms.b2);
WRITE_BYTE(textparms.a2);
WRITE_SHORT(FixedUnsigned16(textparms.fadeinTime, (1<<8)));
WRITE_SHORT(FixedUnsigned16(textparms.fadeoutTime, (1<<8)));
WRITE_SHORT(FixedUnsigned16(textparms.holdTime, (1<<8)));
@ -260,40 +260,54 @@ void UTIL_DHudMessage(edict_t *pEntity, const hudtextparms_t &textparms, const c
MESSAGE_END();
}
/* warning - buffer of msg must be longer than 190 chars!
(here in AMX it is always longer) */
/**
* User message size limit: 192 bytes
* Actual available size: 188 bytes (with EOS)
*/
void UTIL_ClientPrint(edict_t *pEntity, int msg_dest, char *msg)
{
if (!gmsgTextMsg)
return; // :TODO: Maybe output a warning log?
char c = msg[190];
msg[190] = 0; // truncate without checking with strlen()
const auto canUseFormatString = g_official_mod && !g_bmod_dod; // Temporary exclusion for DoD until officially supported
const auto index = canUseFormatString ? 187 : 190;
char c = msg[index];
msg[index] = 0; // truncate without checking with strlen()
if (pEntity)
MESSAGE_BEGIN(MSG_ONE, gmsgTextMsg, NULL, pEntity);
else
MESSAGE_BEGIN(MSG_BROADCAST, gmsgTextMsg);
WRITE_BYTE(msg_dest);
WRITE_STRING(msg);
MESSAGE_END();
msg[190] = c;
WRITE_BYTE(msg_dest); // 1 byte
if (canUseFormatString)
WRITE_STRING("%s"); // 3 bytes (2 + EOS)
WRITE_STRING(msg); // max 188 bytes (187 + EOS)
MESSAGE_END(); // max 192 bytes
msg[index] = c;
}
/**
* User message size limit: 192 bytes
* Actual available size: 188 bytes (with EOS)
*/
void UTIL_ClientSayText(edict_t *pEntity, int sender, char *msg)
{
if (!gmsgSayText)
return; // :TODO: Maybe output a warning log?
char c = msg[190];
msg[190] = 0; // truncate without checking with strlen()
const auto canUseFormatString = g_official_mod && !g_bmod_dod; // Temporary exclusion for DoD until officially supported
const auto index = canUseFormatString ? 187 : 190;
char c = msg[index];
msg[index] = 0; // truncate without checking with strlen()
MESSAGE_BEGIN(MSG_ONE, gmsgSayText, NULL, pEntity);
WRITE_BYTE(sender);
WRITE_STRING(msg);
MESSAGE_END();
msg[190] = c;
WRITE_BYTE(sender); // 1 byte
if (canUseFormatString)
WRITE_STRING("%s"); // 3 bytes (2 + EOS)
WRITE_STRING(msg); // max 188 bytes (187 + EOS)
MESSAGE_END(); // max 192 bytes
msg[index] = c;
}
void UTIL_TeamInfo(edict_t *pEntity, int playerIndex, const char *pszTeamName)

View File

@ -12,7 +12,7 @@ install:
- git clone https://github.com/alliedmodders/ambuild
- git clone https://github.com/alliedmodders/metamod-hl1
- git clone https://github.com/alliedmodders/hlsdk
- ps: Start-FileDownload 'https://downloads.mysql.com/archives/get/file/mysql-connector-c-6.1.1-win32.zip'
- ps: Start-FileDownload 'https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.1-win32.zip'
- 7z x mysql-connector-c-6.1.1-win32.zip -o"mysql"
- cd mysql
- dir

View File

@ -726,8 +726,6 @@ int mfputs(MEMFILE *mf,char *string);
SC_FUNC int cp_path(const char *root,const char *directory);
SC_FUNC int cp_set(const char *name);
SC_FUNC cell cp_translate(const unsigned char *string,const unsigned char **endptr);
SC_FUNC cell get_utf8_char(const unsigned char *string,const unsigned char **endptr);
SC_FUNC int scan_utf8(FILE *fp,const char *filename);
/* function prototypes in SCSTATE.C */
SC_FUNC constvalue *automaton_add(const char *name);
@ -803,7 +801,6 @@ SC_VDECL int sc_status; /* read/write status */
SC_VDECL int sc_rationaltag; /* tag for rational numbers */
SC_VDECL int rational_digits; /* number of fractional digits */
SC_VDECL int sc_allowproccall;/* allow/detect tagnames in lex() */
SC_VDECL short sc_is_utf8; /* is this source file in UTF-8 encoding */
SC_VDECL char *pc_deprecate; /* if non-NULL, mark next declaration as deprecated */
SC_VDECL int sc_warnings_are_errors;

View File

@ -152,7 +152,6 @@ static char *extensions[] = { ".inc", ".p", ".pawn" };
PUSHSTK_I(iflevel);
assert(!SKIPPING);
assert(skiplevel==iflevel); /* these two are always the same when "parsing" */
PUSHSTK_I(sc_is_utf8);
PUSHSTK_I(icomment);
PUSHSTK_I(fcurrent);
PUSHSTK_I(fline);
@ -169,7 +168,6 @@ static char *extensions[] = { ".inc", ".p", ".pawn" };
assert(sc_status == statFIRST || strcmp(get_inputfile(fcurrent), inpfname) == 0);
setfiledirect(inpfname); /* (optionally) set in the list file */
listline=-1; /* force a #line directive when changing the file */
sc_is_utf8=(short)scan_utf8(inpf,name);
return TRUE;
}
@ -319,7 +317,6 @@ static void readline(unsigned char *line)
fline=i;
fcurrent=(short)POPSTK_I();
icomment=(short)POPSTK_I();
sc_is_utf8=(short)POPSTK_I();
iflevel=(short)POPSTK_I();
skiplevel=iflevel; /* this condition held before including the file */
assert(!SKIPPING); /* idem ditto */
@ -603,13 +600,6 @@ static int htoi(cell *val,const unsigned char *curptr)
return (int)(ptr-curptr);
}
#if defined __APPLE__
static double pow10(double d)
{
return pow(10, d);
}
#endif
/* ftoi
*
* Attempts to interpret a numeric symbol as a rational number, either as
@ -685,11 +675,7 @@ static int ftoi(cell *val,const unsigned char *curptr)
exp=(exp*10)+(*ptr-'0');
ptr++;
} /* while */
#if defined __GNUC__
fmult=pow10(exp*sign);
#else
fmult=pow(10,exp*sign);
#endif
fmult=pow(10,exp*sign);
fnum *= fmult;
dnum *= (unsigned long)(fmult+0.5);
} /* if */
@ -2395,21 +2381,12 @@ static cell litchar(const unsigned char **lptr,int flags)
cptr=*lptr;
if ((flags & RAWMODE)!=0 || *cptr!=sc_ctrlchar) { /* no escape character */
#if !defined NO_UTF8
if (sc_is_utf8 && (flags & UTF8MODE)!=0) {
c=get_utf8_char(cptr,&cptr);
assert(c>=0); /* file was already scanned for conformance to UTF-8 */
} else {
#endif
#if !defined NO_CODEPAGE
c=cp_translate(cptr,&cptr);
#else
c=*cptr;
cptr+=1;
#endif
#if !defined NO_UTF8
} /* if */
#endif
} else {
cptr+=1;
if (*cptr==sc_ctrlchar) {

View File

@ -309,120 +309,3 @@ SC_FUNC cell cp_translate(const unsigned char *string,const unsigned char **endp
}
#endif /* NO_CODEPAGE */
#if !defined NO_UTF8
SC_FUNC cell get_utf8_char(const unsigned char *string,const unsigned char **endptr)
{
int follow=0;
long lowmark=0;
unsigned char ch;
cell result=0;
if (endptr!=NULL)
*endptr=string;
for ( ;; ) {
ch=*string++;
if (follow>0 && (ch & 0xc0)==0x80) {
/* leader code is active, combine with earlier code */
result=(result << 6) | (ch & 0x3f);
if (--follow==0) {
/* encoding a character in more bytes than is strictly needed,
* is not really valid UTF-8; we are strict here to increase
* the chance of heuristic dectection of non-UTF-8 text
* (JAVA writes zero bytes as a 2-byte code UTF-8, which is invalid)
*/
if (result<lowmark)
return -1;
/* the code positions 0xd800--0xdfff and 0xfffe & 0xffff do not
* exist in UCS-4 (and hence, they do not exist in Unicode)
*/
if ((result>=0xd800 && result<=0xdfff) || result==0xfffe || result==0xffff)
return -1;
} /* if */
break;
} else if (follow==0 && (ch & 0x80)==0x80) {
/* UTF-8 leader code */
if ((ch & 0xe0)==0xc0) {
/* 110xxxxx 10xxxxxx */
follow=1;
lowmark=0x80L;
result=ch & 0x1f;
} else if ((ch & 0xf0)==0xe0) {
/* 1110xxxx 10xxxxxx 10xxxxxx (16 bits, BMP plane) */
follow=2;
lowmark=0x800L;
result=ch & 0x0f;
} else if ((ch & 0xf8)==0xf0) {
/* 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */
follow=3;
lowmark=0x10000L;
result=ch & 0x07;
} else if ((ch & 0xfc)==0xf8) {
/* 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx */
follow=4;
lowmark=0x200000L;
result=ch & 0x03;
} else if ((ch & 0xfe)==0xfc) {
/* 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx (32 bits) */
follow=5;
lowmark=0x4000000L;
result=ch & 0x01;
} else {
/* this is invalid UTF-8 */
return -1;
} /* if */
} else if (follow==0 && (ch & 0x80)==0x00) {
/* 0xxxxxxx (US-ASCII) */
result=ch;
break;
} else {
/* this is invalid UTF-8 */
return -1;
} /* if */
} /* for */
if (endptr!=NULL)
*endptr=string;
return result;
}
#endif
SC_FUNC int scan_utf8(FILE *fp,const char *filename)
{
#if defined NO_UTF8
return 0;
#else
static void *resetpos=NULL;
int utf8=TRUE;
int firstchar=TRUE,bom_found=FALSE;
const unsigned char *ptr;
resetpos=pc_getpossrc(fp);
while (utf8 && pc_readsrc(fp,pline,sLINEMAX)!=NULL) {
ptr=pline;
if (firstchar) {
/* check whether the very first character on the very first line
* starts with a BYTE order mark
*/
cell c=get_utf8_char(ptr,&ptr);
bom_found= (c==0xfeff);
utf8= (c>=0);
firstchar=FALSE;
} /* if */
while (utf8 && *ptr!='\0')
utf8= (get_utf8_char(ptr,&ptr)>=0);
} /* while */
pc_resetsrc(fp,resetpos);
if (bom_found) {
unsigned char bom[3];
if (!utf8)
error(77,filename); /* malformed UTF-8 encoding */
pc_readsrc(fp,bom,3);
assert(bom[0]==0xef && bom[1]==0xbb && bom[2]==0xbf);
} /* if */
return utf8;
#endif /* NO_UTF8 */
}

View File

@ -84,7 +84,6 @@ SC_VDEFINE int sc_status; /* read/write status */
SC_VDEFINE int sc_rationaltag=0; /* tag for rational numbers */
SC_VDEFINE int rational_digits=0; /* number of fractional digits */
SC_VDEFINE int sc_allowproccall=0; /* allow/detect tagnames in lex() */
SC_VDEFINE short sc_is_utf8=FALSE; /* is this source file in UTF-8 encoding */
SC_VDEFINE char *pc_deprecate = NULL;/* if non-null, mark next declaration as deprecated */
SC_VDEFINE int sc_showincludes=0; /* show include files */
SC_VDEFINE int sc_warnings_are_errors=0;

View File

@ -1729,6 +1729,33 @@
"linux" "2468"
"mac" "2468"
}
"m_iLastAccount" // int
{
"type" "integer"
"windows" "2480"
"linux" "2500"
"mac" "2500"
}
"m_iLastClientHealth" // int
{
"type" "integer"
"windows" "2484"
"linux" "2504"
"mac" "2504"
}
"m_tmNextAccountHealthUpdate" // float
{
"type" "float"
"windows" "2488"
"linux" "2508"
"mac" "2508"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "pointer"
"windows" "2480"
"linux" "2500"
"mac" "2500"
"windows" "2492"
"linux" "2512"
"mac" "2512"
}
"m_id" // unsigned int
@ -33,57 +33,21 @@
"type" "integer"
"unsigned" "1"
"windows" "2484"
"linux" "2504"
"mac" "2504"
"windows" "2496"
"linux" "2516"
"mac" "2516"
}
"m_flNextBotThink" // float
{
"type" "float"
"windows" "2488"
"linux" "2508"
"mac" "2508"
}
"m_flNextFullBotThink" // float
{
"type" "float"
"windows" "2492"
"linux" "2512"
"mac" "2512"
}
"m_flPreviousCommandTime" // float
{
"type" "float"
"windows" "2496"
"linux" "2516"
"mac" "2516"
}
"m_isRunning" // bool
{
"type" "boolean"
"windows" "2500"
"linux" "2520"
"mac" "2520"
}
"m_isCrouching" // bool
{
"type" "boolean"
"windows" "2501"
"linux" "2521"
"mac" "2521"
}
"m_forwardSpeed" // float
"m_flNextFullBotThink" // float
{
"type" "float"
@ -92,7 +56,7 @@
"mac" "2524"
}
"m_strafeSpeed" // float
"m_flPreviousCommandTime" // float
{
"type" "float"
@ -101,26 +65,34 @@
"mac" "2528"
}
"m_verticalSpeed" // float
"m_isRunning" // bool
{
"type" "float"
"type" "boolean"
"windows" "2512"
"linux" "2532"
"mac" "2532"
}
"m_buttonFlags" // short unsigned int
"m_isCrouching" // bool
{
"type" "short"
"unsigned" "1"
"type" "boolean"
"windows" "2513"
"linux" "2533"
"mac" "2533"
}
"m_forwardSpeed" // float
{
"type" "float"
"windows" "2516"
"linux" "2536"
"mac" "2536"
}
"m_jumpTimestamp" // float
"m_strafeSpeed" // float
{
"type" "float"
@ -129,23 +101,51 @@
"mac" "2540"
}
"m_postureStack" // struct PostureContext[8]
"m_verticalSpeed" // float
{
"type" "structure"
"size" "8"
"type" "float"
"windows" "2524"
"linux" "2544"
"mac" "2544"
}
"m_buttonFlags" // short unsigned int
{
"type" "short"
"unsigned" "1"
"windows" "2528"
"linux" "2548"
"mac" "2548"
}
"m_jumpTimestamp" // float
{
"type" "float"
"windows" "2532"
"linux" "2552"
"mac" "2552"
}
"m_postureStack" // struct PostureContext[8]
{
"type" "structure"
"size" "8"
"windows" "2536"
"linux" "2556"
"mac" "2556"
}
"m_postureStackIndex" // int
{
"type" "integer"
"windows" "2540"
"linux" "2560"
"mac" "2560"
"windows" "2552"
"linux" "2572"
"mac" "2572"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "1040"
"linux" "1060"
"mac" "1060"
}
"m_painTime" // float
{
"type" "float"
"windows" "1044"
"linux" "1064"
"mac" "1064"
}
"m_checkAttackTime" // float
"m_painTime" // float
{
"type" "float"
@ -46,40 +37,49 @@
"mac" "1068"
}
"m_lastAttackCheck" // BOOL
"m_checkAttackTime" // float
{
"type" "integer"
"type" "float"
"windows" "1052"
"linux" "1072"
"mac" "1072"
}
"m_angles" // Vector
"m_lastAttackCheck" // BOOL
{
"type" "vector"
"type" "integer"
"windows" "1056"
"linux" "1076"
"mac" "1076"
}
"m_angles" // Vector
{
"type" "vector"
"windows" "1060"
"linux" "1080"
"mac" "1080"
}
"m_origin" // Vector
{
"type" "vector"
"windows" "1068"
"linux" "1088"
"mac" "1088"
"windows" "1072"
"linux" "1092"
"mac" "1092"
}
"m_flPlayerDamage" // float
{
"type" "float"
"windows" "1080"
"linux" "1100"
"mac" "1100"
"windows" "1084"
"linux" "1104"
"mac" "1104"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "972"
"linux" "992"
"mac" "992"
}
"m_flNextPainTime" // float
{
"type" "float"
"windows" "976"
"linux" "996"
"mac" "996"
}
"m_flLastEnemySightTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -46,25 +37,25 @@
"mac" "1000"
}
"m_vecTossVelocity" // Vector
"m_flLastEnemySightTime" // float
{
"type" "vector"
"type" "float"
"windows" "984"
"linux" "1004"
"mac" "1004"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "996"
"linux" "1016"
"mac" "1016"
"windows" "988"
"linux" "1008"
"mac" "1008"
}
"m_fStanding" // BOOL
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "1020"
}
"m_fFirstEncounter" // BOOL
"m_fStanding" // BOOL
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "1024"
}
"m_cClipSize" // int
"m_fFirstEncounter" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "1028"
}
"m_voicePitch" // int
"m_cClipSize" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "1032"
}
"m_iBrassShell" // int
"m_voicePitch" // int
{
"type" "integer"
@ -109,7 +100,7 @@
"mac" "1036"
}
"m_iSentence" // int
"m_iBrassShell" // int
{
"type" "integer"
@ -117,6 +108,15 @@
"linux" "1040"
"mac" "1040"
}
"m_iSentence" // int
{
"type" "integer"
"windows" "1024"
"linux" "1044"
"mac" "1044"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "972"
"linux" "992"
"mac" "992"
}
"m_flNextPainTime" // float
{
"type" "float"
"windows" "976"
"linux" "996"
"mac" "996"
}
"m_flLastEnemySightTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -46,25 +37,25 @@
"mac" "1000"
}
"m_vecTossVelocity" // Vector
"m_flLastEnemySightTime" // float
{
"type" "vector"
"type" "float"
"windows" "984"
"linux" "1004"
"mac" "1004"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "996"
"linux" "1016"
"mac" "1016"
"windows" "988"
"linux" "1008"
"mac" "1008"
}
"m_fStanding" // BOOL
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "1020"
}
"m_fFirstEncounter" // BOOL
"m_fStanding" // BOOL
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "1024"
}
"m_cClipSize" // int
"m_fFirstEncounter" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "1028"
}
"m_voicePitch" // int
"m_cClipSize" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "1032"
}
"m_iBrassShell" // int
"m_voicePitch" // int
{
"type" "integer"
@ -109,7 +100,7 @@
"mac" "1036"
}
"m_iSentence" // int
"m_iBrassShell" // int
{
"type" "integer"
@ -117,6 +108,15 @@
"linux" "1040"
"mac" "1040"
}
"m_iSentence" // int
{
"type" "integer"
"windows" "1024"
"linux" "1044"
"mac" "1044"
}
}
}
}

View File

@ -429,14 +429,23 @@
"mac" "928"
}
"m_iClass" // int
"m_flLastYawTime" // float
{
"type" "integer"
"type" "float"
"windows" "912"
"linux" "932"
"mac" "932"
}
"m_iClass" // int
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
}
}
}
}

View File

@ -23,39 +23,30 @@
{
"type" "float"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_iSpin" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
"windows" "924"
"linux" "944"
"mac" "944"
}
"m_pEyeGlow" // CSprite*
{
"type" "classptr"
"windows" "924"
"linux" "944"
"mac" "944"
}
"m_eyeBrightness" // int
{
"type" "integer"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_iDeployHeight" // int
"m_eyeBrightness" // int
{
"type" "integer"
@ -64,7 +55,7 @@
"mac" "952"
}
"m_iRetractHeight" // int
"m_iDeployHeight" // int
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "956"
}
"m_iMinPitch" // int
"m_iRetractHeight" // int
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "960"
}
"m_iBaseTurnRate" // int
"m_iMinPitch" // int
{
"type" "integer"
@ -91,25 +82,25 @@
"mac" "964"
}
"m_fTurnRate" // float
"m_iBaseTurnRate" // int
{
"type" "float"
"type" "integer"
"windows" "948"
"linux" "968"
"mac" "968"
}
"m_iOrientation" // int
"m_fTurnRate" // float
{
"type" "integer"
"type" "float"
"windows" "952"
"linux" "972"
"mac" "972"
}
"m_iOn" // int
"m_iOrientation" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "976"
}
"m_fBeserk" // int
"m_iOn" // int
{
"type" "integer"
@ -127,7 +118,7 @@
"mac" "980"
}
"m_iAutoStart" // int
"m_fBeserk" // int
{
"type" "integer"
@ -136,25 +127,25 @@
"mac" "984"
}
"m_vecLastSight" // Vector
"m_iAutoStart" // int
{
"type" "vector"
"type" "integer"
"windows" "968"
"linux" "988"
"mac" "988"
}
"m_flLastSight" // float
"m_vecLastSight" // Vector
{
"type" "float"
"type" "vector"
"windows" "980"
"linux" "1000"
"mac" "1000"
"windows" "972"
"linux" "992"
"mac" "992"
}
"m_flMaxWait" // float
"m_flLastSight" // float
{
"type" "float"
@ -163,58 +154,67 @@
"mac" "1004"
}
"m_iSearchSpeed" // int
"m_flMaxWait" // float
{
"type" "integer"
"type" "float"
"windows" "988"
"linux" "1008"
"mac" "1008"
}
"m_flStartYaw" // float
"m_iSearchSpeed" // int
{
"type" "float"
"type" "integer"
"windows" "992"
"linux" "1012"
"mac" "1012"
}
"m_vecCurAngles" // Vector
"m_flStartYaw" // float
{
"type" "vector"
"type" "float"
"windows" "996"
"linux" "1016"
"mac" "1016"
}
"m_vecCurAngles" // Vector
{
"type" "vector"
"windows" "1000"
"linux" "1020"
"mac" "1020"
}
"m_vecGoalAngles" // Vector
{
"type" "vector"
"windows" "1008"
"linux" "1028"
"mac" "1028"
"windows" "1012"
"linux" "1032"
"mac" "1032"
}
"m_flPingTime" // float
{
"type" "float"
"windows" "1020"
"linux" "1040"
"mac" "1040"
"windows" "1024"
"linux" "1044"
"mac" "1044"
}
"m_flSpinUpTime" // float
{
"type" "float"
"windows" "1024"
"linux" "1044"
"mac" "1044"
"windows" "1028"
"linux" "1048"
"mac" "1048"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
}
"m_iszIdle" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_iszPlay" // int
"m_iszIdle" // int
{
"type" "integer"
@ -46,7 +37,7 @@
"mac" "944"
}
"m_iszEntity" // int
"m_iszPlay" // int
{
"type" "integer"
@ -55,7 +46,7 @@
"mac" "948"
}
"m_iszAttack" // int
"m_iszEntity" // int
{
"type" "integer"
@ -64,7 +55,7 @@
"mac" "952"
}
"m_iszFireOnBegin" // int
"m_iszAttack" // int
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "956"
}
"m_fMoveTo" // int
"m_iszFireOnBegin" // int
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "960"
}
"m_fTurnType" // int
"m_fMoveTo" // int
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "964"
}
"m_fAction" // int
"m_fTurnType" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "968"
}
"m_iFinishSchedule" // int
"m_fAction" // int
{
"type" "integer"
@ -109,52 +100,52 @@
"mac" "972"
}
"m_flRadius" // float
"m_iFinishSchedule" // int
{
"type" "float"
"type" "integer"
"windows" "956"
"linux" "976"
"mac" "976"
}
"m_iDelay" // int
"m_flRadius" // float
{
"type" "integer"
"type" "float"
"windows" "960"
"linux" "980"
"mac" "980"
}
"m_startTime" // float
"m_iDelay" // int
{
"type" "float"
"type" "integer"
"windows" "964"
"linux" "984"
"mac" "984"
}
"m_saved_m_hTargetEnt" // EHANDLE
"m_startTime" // float
{
"type" "ehandle"
"type" "float"
"windows" "968"
"linux" "988"
"mac" "988"
}
"m_saved_m_pGoalEnt" // int
"m_saved_m_hTargetEnt" // EHANDLE
{
"type" "integer"
"type" "ehandle"
"windows" "976"
"linux" "996"
"mac" "996"
"windows" "972"
"linux" "992"
"mac" "992"
}
"m_saved_movetype" // int
"m_saved_m_pGoalEnt" // int
{
"type" "integer"
@ -163,7 +154,7 @@
"mac" "1000"
}
"m_saved_solid" // int
"m_saved_movetype" // int
{
"type" "integer"
@ -172,7 +163,7 @@
"mac" "1004"
}
"m_saved_effects" // int
"m_saved_solid" // int
{
"type" "integer"
@ -181,7 +172,7 @@
"mac" "1008"
}
"m_interruptable" // BOOL
"m_saved_effects" // int
{
"type" "integer"
@ -189,6 +180,15 @@
"linux" "1012"
"mac" "1012"
}
"m_interruptable" // BOOL
{
"type" "integer"
"windows" "996"
"linux" "1016"
"mac" "1016"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "972"
"linux" "992"
"mac" "992"
}
"m_flShootTime" // float
{
"type" "float"
"windows" "976"
"linux" "996"
"mac" "996"
}
"m_flShootEnd" // float
"m_flShootTime" // float
{
"type" "float"
@ -46,14 +37,23 @@
"mac" "1000"
}
"m_flShootEnd" // float
{
"type" "float"
"windows" "984"
"linux" "1004"
"mac" "1004"
}
"m_pBall" // CSprite*[2]
{
"type" "classptr"
"size" "2"
"windows" "984"
"linux" "1004"
"mac" "1004"
"windows" "988"
"linux" "1008"
"mac" "1008"
}
"m_iBall" // int[2]
@ -61,9 +61,9 @@
"type" "integer"
"size" "2"
"windows" "992"
"linux" "1012"
"mac" "1012"
"windows" "996"
"linux" "1016"
"mac" "1016"
}
"m_iBallTime" // float[2]
@ -71,9 +71,9 @@
"type" "float"
"size" "2"
"windows" "1000"
"linux" "1020"
"mac" "1020"
"windows" "1004"
"linux" "1024"
"mac" "1024"
}
"m_iBallCurrent" // int[2]
@ -81,36 +81,36 @@
"type" "integer"
"size" "2"
"windows" "1008"
"linux" "1028"
"mac" "1028"
"windows" "1012"
"linux" "1032"
"mac" "1032"
}
"m_vecEstVelocity" // Vector
{
"type" "vector"
"windows" "1016"
"linux" "1036"
"mac" "1036"
"windows" "1020"
"linux" "1040"
"mac" "1040"
}
"m_velocity" // Vector
{
"type" "vector"
"windows" "1028"
"linux" "1048"
"mac" "1048"
"windows" "1032"
"linux" "1052"
"mac" "1052"
}
"m_fInCombat" // int
{
"type" "integer"
"windows" "1040"
"linux" "1060"
"mac" "1060"
"windows" "1044"
"linux" "1064"
"mac" "1064"
}
}
}

View File

@ -23,36 +23,36 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_flNextAttack" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
"windows" "924"
"linux" "944"
"mac" "944"
}
"m_vecIdeal" // Vector
{
"type" "vector"
"windows" "924"
"linux" "944"
"mac" "944"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_hOwner" // EHANDLE
{
"type" "ehandle"
"windows" "936"
"linux" "956"
"mac" "956"
"windows" "940"
"linux" "960"
"mac" "960"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "ehandle"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_spriteScale" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
"windows" "924"
"linux" "944"
"mac" "944"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
}
"m_flClipTime" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_iOldMoveType" // int
"m_flClipTime" // int
{
"type" "integer"
@ -46,7 +37,7 @@
"mac" "944"
}
"m_iBodyGibs" // int
"m_iOldMoveType" // int
{
"type" "integer"
@ -55,7 +46,7 @@
"mac" "948"
}
"m_fRegisteredSound" // BOOL
"m_iBodyGibs" // int
{
"type" "integer"
@ -63,6 +54,15 @@
"linux" "952"
"mac" "952"
}
"m_fRegisteredSound" // BOOL
{
"type" "integer"
"windows" "936"
"linux" "956"
"mac" "956"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "936"
"linux" "956"
"mac" "956"
"windows" "940"
"linux" "960"
"mac" "960"
}
}
}

View File

@ -23,36 +23,36 @@
{
"type" "float"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_flNextSmellTime" // float
{
"type" "float"
"windows" "920"
"linux" "940"
"mac" "940"
"windows" "924"
"linux" "944"
"mac" "944"
}
"m_fLightHacked" // BOOL
{
"type" "integer"
"windows" "924"
"linux" "944"
"mac" "944"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_iMode" // int
{
"type" "integer"
"windows" "928"
"linux" "948"
"mac" "948"
"windows" "932"
"linux" "952"
"mac" "952"
}
}
}

View File

@ -23,36 +23,36 @@
{
"type" "float"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_flNextSmellTime" // float
{
"type" "float"
"windows" "920"
"linux" "940"
"mac" "940"
"windows" "924"
"linux" "944"
"mac" "944"
}
"m_fLightHacked" // BOOL
{
"type" "integer"
"windows" "924"
"linux" "944"
"mac" "944"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_iMode" // int
{
"type" "integer"
"windows" "928"
"linux" "948"
"mac" "948"
"windows" "932"
"linux" "952"
"mac" "952"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "1040"
"linux" "1060"
"mac" "1060"
}
"m_painTime" // float
{
"type" "float"
"windows" "1044"
"linux" "1064"
"mac" "1064"
}
"m_checkAttackTime" // float
"m_painTime" // float
{
"type" "float"
@ -46,14 +37,23 @@
"mac" "1068"
}
"m_lastAttackCheck" // BOOL
"m_checkAttackTime" // float
{
"type" "integer"
"type" "float"
"windows" "1052"
"linux" "1072"
"mac" "1072"
}
"m_lastAttackCheck" // BOOL
{
"type" "integer"
"windows" "1056"
"linux" "1076"
"mac" "1076"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "ehandle"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_hSquadMember" // EHANDLE[4]
@ -33,45 +33,45 @@
"type" "ehandle"
"size" "4"
"windows" "924"
"linux" "944"
"mac" "944"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_afSquadSlots" // int
{
"type" "integer"
"windows" "956"
"linux" "976"
"mac" "976"
"windows" "960"
"linux" "980"
"mac" "980"
}
"m_flLastEnemySightTime" // float
{
"type" "float"
"windows" "960"
"linux" "980"
"mac" "980"
"windows" "964"
"linux" "984"
"mac" "984"
}
"m_fEnemyEluded" // BOOL
{
"type" "integer"
"windows" "964"
"linux" "984"
"mac" "984"
"windows" "968"
"linux" "988"
"mac" "988"
}
"m_iMySlot" // int
{
"type" "integer"
"windows" "968"
"linux" "988"
"mac" "988"
"windows" "972"
"linux" "992"
"mac" "992"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
}
"m_nSpeak" // int
{
"type" "integer"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_voicePitch" // int
"m_nSpeak" // int
{
"type" "integer"
@ -46,35 +37,35 @@
"mac" "944"
}
"m_szGrp" // const char*[19]
"m_voicePitch" // int
{
"type" "stringptr"
"size" "19"
"type" "integer"
"windows" "928"
"linux" "948"
"mac" "948"
}
"m_szGrp" // const char*[19]
{
"type" "stringptr"
"size" "19"
"windows" "932"
"linux" "952"
"mac" "952"
}
"m_useTime" // float
{
"type" "float"
"windows" "1004"
"linux" "1024"
"mac" "1024"
}
"m_iszUse" // int
{
"type" "integer"
"windows" "1008"
"linux" "1028"
"mac" "1028"
}
"m_iszUnUse" // int
"m_iszUse" // int
{
"type" "integer"
@ -83,7 +74,7 @@
"mac" "1032"
}
"m_iszDecline" // int
"m_iszUnUse" // int
{
"type" "integer"
@ -92,7 +83,7 @@
"mac" "1036"
}
"m_iszSpeakAs" // int
"m_iszDecline" // int
{
"type" "integer"
@ -101,16 +92,16 @@
"mac" "1040"
}
"m_flLastSaidSmelled" // float
"m_iszSpeakAs" // int
{
"type" "float"
"type" "integer"
"windows" "1024"
"linux" "1044"
"mac" "1044"
}
"m_flStopTalkTime" // float
"m_flLastSaidSmelled" // float
{
"type" "float"
@ -119,14 +110,23 @@
"mac" "1048"
}
"m_hTalkTarget" // EHANDLE
"m_flStopTalkTime" // float
{
"type" "ehandle"
"type" "float"
"windows" "1032"
"linux" "1052"
"mac" "1052"
}
"m_hTalkTarget" // EHANDLE
{
"type" "ehandle"
"windows" "1036"
"linux" "1056"
"mac" "1056"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "vector"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "1028"
"linux" "1048"
"mac" "1048"
"windows" "1032"
"linux" "1052"
"mac" "1052"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "916"
"linux" "936"
"mac" "936"
"windows" "920"
"linux" "940"
"mac" "940"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_flNextHornetAttackCheck" // float
{
"type" "float"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_flNextPainTime" // float
"m_flNextHornetAttackCheck" // float
{
"type" "float"
@ -46,7 +37,7 @@
"mac" "792"
}
"m_flNextSpeakTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -55,7 +46,7 @@
"mac" "796"
}
"m_flNextWordTime" // float
"m_flNextSpeakTime" // float
{
"type" "float"
@ -64,14 +55,23 @@
"mac" "800"
}
"m_iLastWord" // int
"m_flNextWordTime" // float
{
"type" "integer"
"type" "float"
"windows" "784"
"linux" "804"
"mac" "804"
}
"m_iLastWord" // int
{
"type" "integer"
"windows" "788"
"linux" "808"
"mac" "808"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
}
"m_flForce" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flNextRocket" // float
"m_flForce" // float
{
"type" "float"
@ -46,88 +37,88 @@
"mac" "736"
}
"m_vecTarget" // Vector
"m_flNextRocket" // float
{
"type" "vector"
"type" "float"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_vecTarget" // Vector
{
"type" "vector"
"windows" "724"
"linux" "744"
"mac" "744"
}
"m_posTarget" // Vector
{
"type" "vector"
"windows" "732"
"linux" "752"
"mac" "752"
"windows" "736"
"linux" "756"
"mac" "756"
}
"m_vecDesired" // Vector
{
"type" "vector"
"windows" "744"
"linux" "764"
"mac" "764"
"windows" "748"
"linux" "768"
"mac" "768"
}
"m_posDesired" // Vector
{
"type" "vector"
"windows" "756"
"linux" "776"
"mac" "776"
"windows" "760"
"linux" "780"
"mac" "780"
}
"m_vecGoal" // Vector
{
"type" "vector"
"windows" "768"
"linux" "788"
"mac" "788"
"windows" "772"
"linux" "792"
"mac" "792"
}
"m_angGun" // Vector
{
"type" "vector"
"windows" "780"
"linux" "800"
"mac" "800"
"windows" "784"
"linux" "804"
"mac" "804"
}
"m_flLastSeen" // float
{
"type" "float"
"windows" "792"
"linux" "812"
"mac" "812"
}
"m_flPrevSeen" // float
{
"type" "float"
"windows" "796"
"linux" "816"
"mac" "816"
}
"m_iSoundState" // int
"m_flPrevSeen" // float
{
"type" "integer"
"type" "float"
"windows" "800"
"linux" "820"
"mac" "820"
}
"m_iSpriteTexture" // int
"m_iSoundState" // int
{
"type" "integer"
@ -136,7 +127,7 @@
"mac" "824"
}
"m_iExplode" // int
"m_iSpriteTexture" // int
{
"type" "integer"
@ -145,7 +136,7 @@
"mac" "828"
}
"m_iBodyGibs" // int
"m_iExplode" // int
{
"type" "integer"
@ -154,32 +145,41 @@
"mac" "832"
}
"m_flGoalSpeed" // float
"m_iBodyGibs" // int
{
"type" "float"
"type" "integer"
"windows" "816"
"linux" "836"
"mac" "836"
}
"m_iDoSmokePuff" // int
"m_flGoalSpeed" // float
{
"type" "integer"
"type" "float"
"windows" "820"
"linux" "840"
"mac" "840"
}
"m_pBeam" // CBeam*
"m_iDoSmokePuff" // int
{
"type" "classptr"
"type" "integer"
"windows" "824"
"linux" "844"
"mac" "844"
}
"m_pBeam" // CBeam*
{
"type" "classptr"
"windows" "828"
"linux" "848"
"mac" "848"
}
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_vecForward" // Vector
{
"type" "vector"
"windows" "716"
"linux" "736"
"mac" "736"
"windows" "720"
"linux" "740"
"mac" "740"
}
}
}

View File

@ -23,30 +23,21 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flKillVictimTime" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_cGibs" // int
{
"type" "integer"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_fTongueExtended" // BOOL
"m_cGibs" // int
{
"type" "integer"
@ -55,7 +46,7 @@
"mac" "740"
}
"m_fLiftingPrey" // BOOL
"m_fTongueExtended" // BOOL
{
"type" "integer"
@ -64,14 +55,23 @@
"mac" "744"
}
"m_flTongueAdj" // float
"m_fLiftingPrey" // BOOL
{
"type" "float"
"type" "integer"
"windows" "728"
"linux" "748"
"mac" "748"
}
"m_flTongueAdj" // float
{
"type" "float"
"windows" "732"
"linux" "752"
"mac" "752"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "824"
"linux" "844"
"mac" "844"
}
"m_painTime" // float
{
"type" "float"
"windows" "828"
"linux" "848"
"mac" "848"
}
"m_checkAttackTime" // float
"m_painTime" // float
{
"type" "float"
@ -46,23 +37,32 @@
"mac" "852"
}
"m_lastAttackCheck" // BOOL
"m_checkAttackTime" // float
{
"type" "integer"
"type" "float"
"windows" "836"
"linux" "856"
"mac" "856"
}
"m_flPlayerDamage" // float
"m_lastAttackCheck" // BOOL
{
"type" "float"
"type" "integer"
"windows" "840"
"linux" "860"
"mac" "860"
}
"m_flPlayerDamage" // float
{
"type" "float"
"windows" "844"
"linux" "864"
"mac" "864"
}
}
}
}

View File

@ -55,11 +55,47 @@
"mac" "16"
}
"m_pfnThink" // (*__pfn)(CBaseEntity*)
{
"type" "function"
"windows" "20"
"linux" "20"
"mac" "20"
}
"m_pfnTouch" // (*__pfn)(CBaseEntity*, CBaseEntity*)
{
"type" "function"
"windows" "24"
"linux" "28"
"mac" "28"
}
"m_pfnUse" // (*__pfn)(CBaseEntity*, CBaseEntity*, CBaseEntity*, USE_TYPE, float)
{
"type" "function"
"windows" "28"
"linux" "36"
"mac" "36"
}
"m_pfnBlocked" // (*__pfn)(CBaseEntity*, CBaseEntity*)
{
"type" "function"
"windows" "32"
"linux" "44"
"mac" "44"
}
"ammo_9mm" // int
{
"type" "integer"
"windows" "52"
"windows" "36"
"linux" "52"
"mac" "52"
}
@ -68,7 +104,7 @@
{
"type" "integer"
"windows" "56"
"windows" "40"
"linux" "56"
"mac" "56"
}
@ -77,7 +113,7 @@
{
"type" "integer"
"windows" "60"
"windows" "44"
"linux" "60"
"mac" "60"
}
@ -86,7 +122,7 @@
{
"type" "integer"
"windows" "64"
"windows" "48"
"linux" "64"
"mac" "64"
}
@ -95,7 +131,7 @@
{
"type" "integer"
"windows" "68"
"windows" "52"
"linux" "68"
"mac" "68"
}
@ -104,7 +140,7 @@
{
"type" "integer"
"windows" "72"
"windows" "56"
"linux" "72"
"mac" "72"
}
@ -113,7 +149,7 @@
{
"type" "integer"
"windows" "76"
"windows" "60"
"linux" "76"
"mac" "76"
}
@ -122,7 +158,7 @@
{
"type" "integer"
"windows" "80"
"windows" "64"
"linux" "80"
"mac" "80"
}
@ -131,7 +167,7 @@
{
"type" "integer"
"windows" "84"
"windows" "68"
"linux" "84"
"mac" "84"
}
@ -140,7 +176,7 @@
{
"type" "integer"
"windows" "88"
"windows" "72"
"linux" "88"
"mac" "88"
}
@ -149,7 +185,7 @@
{
"type" "float"
"windows" "92"
"windows" "76"
"linux" "92"
"mac" "92"
}
@ -158,7 +194,7 @@
{
"type" "float"
"windows" "96"
"windows" "80"
"linux" "96"
"mac" "96"
}
@ -167,7 +203,7 @@
{
"type" "integer"
"windows" "100"
"windows" "84"
"linux" "100"
"mac" "100"
}
@ -176,7 +212,7 @@
{
"type" "integer"
"windows" "104"
"windows" "88"
"linux" "104"
"mac" "104"
}
@ -185,7 +221,7 @@
{
"type" "integer"
"windows" "108"
"windows" "92"
"linux" "108"
"mac" "108"
}

View File

@ -491,6 +491,15 @@
"linux" "724"
"mac" "724"
}
"m_flLastYawTime" // float
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
}
}
}
}

View File

@ -145,11 +145,20 @@
"mac" "224"
}
"m_pfnCallWhenMoveDone" // (*__pfn)(CBaseToggle*)
{
"type" "function"
"windows" "216"
"linux" "232"
"mac" "232"
}
"m_vecFinalDest" // Vector
{
"type" "vector"
"windows" "224"
"windows" "220"
"linux" "240"
"mac" "240"
}
@ -158,7 +167,7 @@
{
"type" "vector"
"windows" "236"
"windows" "232"
"linux" "252"
"mac" "252"
}
@ -167,7 +176,7 @@
{
"type" "integer"
"windows" "248"
"windows" "244"
"linux" "264"
"mac" "264"
}
@ -176,7 +185,7 @@
{
"type" "stringint"
"windows" "252"
"windows" "248"
"linux" "268"
"mac" "268"
}

View File

@ -23,39 +23,30 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iSpin" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_pEyeGlow" // CSprite*
{
"type" "classptr"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_eyeBrightness" // int
{
"type" "integer"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_iDeployHeight" // int
"m_eyeBrightness" // int
{
"type" "integer"
@ -64,7 +55,7 @@
"mac" "744"
}
"m_iRetractHeight" // int
"m_iDeployHeight" // int
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "748"
}
"m_iMinPitch" // int
"m_iRetractHeight" // int
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "752"
}
"m_iBaseTurnRate" // int
"m_iMinPitch" // int
{
"type" "integer"
@ -91,25 +82,25 @@
"mac" "756"
}
"m_fTurnRate" // float
"m_iBaseTurnRate" // int
{
"type" "float"
"type" "integer"
"windows" "740"
"linux" "760"
"mac" "760"
}
"m_iOrientation" // int
"m_fTurnRate" // float
{
"type" "integer"
"type" "float"
"windows" "744"
"linux" "764"
"mac" "764"
}
"m_iOn" // int
"m_iOrientation" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "768"
}
"m_fBeserk" // int
"m_iOn" // int
{
"type" "integer"
@ -127,7 +118,7 @@
"mac" "772"
}
"m_iAutoStart" // int
"m_fBeserk" // int
{
"type" "integer"
@ -136,25 +127,25 @@
"mac" "776"
}
"m_vecLastSight" // Vector
"m_iAutoStart" // int
{
"type" "vector"
"type" "integer"
"windows" "760"
"linux" "780"
"mac" "780"
}
"m_flLastSight" // float
"m_vecLastSight" // Vector
{
"type" "float"
"type" "vector"
"windows" "772"
"linux" "792"
"mac" "792"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_flMaxWait" // float
"m_flLastSight" // float
{
"type" "float"
@ -163,58 +154,67 @@
"mac" "796"
}
"m_iSearchSpeed" // int
"m_flMaxWait" // float
{
"type" "integer"
"type" "float"
"windows" "780"
"linux" "800"
"mac" "800"
}
"m_flStartYaw" // float
"m_iSearchSpeed" // int
{
"type" "float"
"type" "integer"
"windows" "784"
"linux" "804"
"mac" "804"
}
"m_vecCurAngles" // Vector
"m_flStartYaw" // float
{
"type" "vector"
"type" "float"
"windows" "788"
"linux" "808"
"mac" "808"
}
"m_vecCurAngles" // Vector
{
"type" "vector"
"windows" "792"
"linux" "812"
"mac" "812"
}
"m_vecGoalAngles" // Vector
{
"type" "vector"
"windows" "800"
"linux" "820"
"mac" "820"
"windows" "804"
"linux" "824"
"mac" "824"
}
"m_flPingTime" // float
{
"type" "float"
"windows" "812"
"linux" "832"
"mac" "832"
"windows" "816"
"linux" "836"
"mac" "836"
}
"m_flSpinUpTime" // float
{
"type" "float"
"windows" "816"
"linux" "836"
"mac" "836"
"windows" "820"
"linux" "840"
"mac" "840"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
}
"m_crabTime" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_mortarTime" // float
"m_crabTime" // float
{
"type" "float"
@ -46,7 +37,7 @@
"mac" "736"
}
"m_painSoundTime" // float
"m_mortarTime" // float
{
"type" "float"
@ -55,14 +46,23 @@
"mac" "740"
}
"m_crabCount" // int
"m_painSoundTime" // float
{
"type" "integer"
"type" "float"
"windows" "724"
"linux" "744"
"mac" "744"
}
"m_crabCount" // int
{
"type" "integer"
"windows" "728"
"linux" "748"
"mac" "748"
}
}
}
}

View File

@ -23,27 +23,27 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flLastHurtTime" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_flNextSpitTime" // float
{
"type" "float"
"windows" "716"
"linux" "736"
"mac" "736"
"windows" "720"
"linux" "740"
"mac" "740"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
}
"m_iszPlay" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iszEntity" // int
"m_iszPlay" // int
{
"type" "integer"
@ -46,7 +37,7 @@
"mac" "736"
}
"m_fMoveTo" // int
"m_iszEntity" // int
{
"type" "integer"
@ -55,7 +46,7 @@
"mac" "740"
}
"m_iFinishSchedule" // int
"m_fMoveTo" // int
{
"type" "integer"
@ -64,16 +55,16 @@
"mac" "744"
}
"m_flRadius" // float
"m_iFinishSchedule" // int
{
"type" "float"
"type" "integer"
"windows" "728"
"linux" "748"
"mac" "748"
}
"m_flRepeat" // float
"m_flRadius" // float
{
"type" "float"
@ -82,34 +73,34 @@
"mac" "752"
}
"m_iDelay" // int
"m_flRepeat" // float
{
"type" "integer"
"type" "float"
"windows" "736"
"linux" "756"
"mac" "756"
}
"m_startTime" // float
"m_iDelay" // int
{
"type" "float"
"type" "integer"
"windows" "740"
"linux" "760"
"mac" "760"
}
"m_saved_movetype" // int
"m_startTime" // float
{
"type" "integer"
"type" "float"
"windows" "744"
"linux" "764"
"mac" "764"
}
"m_saved_solid" // int
"m_saved_movetype" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "768"
}
"m_saved_effects" // int
"m_saved_solid" // int
{
"type" "integer"
@ -127,7 +118,7 @@
"mac" "772"
}
"m_interruptable" // BOOL
"m_saved_effects" // int
{
"type" "integer"
@ -135,6 +126,15 @@
"linux" "776"
"mac" "776"
}
"m_interruptable" // BOOL
{
"type" "integer"
"windows" "760"
"linux" "780"
"mac" "780"
}
}
}
}

View File

@ -23,27 +23,27 @@
{
"type" "float"
"windows" "824"
"linux" "844"
"mac" "844"
"windows" "828"
"linux" "848"
"mac" "848"
}
"m_healTime" // float
{
"type" "float"
"windows" "828"
"linux" "848"
"mac" "848"
"windows" "832"
"linux" "852"
"mac" "852"
}
"m_fearTime" // float
{
"type" "float"
"windows" "832"
"linux" "852"
"mac" "852"
"windows" "836"
"linux" "856"
"mac" "856"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_flShootTime" // float
{
"type" "float"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_flShootEnd" // float
"m_flShootTime" // float
{
"type" "float"
@ -46,14 +37,23 @@
"mac" "792"
}
"m_flShootEnd" // float
{
"type" "float"
"windows" "776"
"linux" "796"
"mac" "796"
}
"m_pBall" // CSprite*[2]
{
"type" "classptr"
"size" "2"
"windows" "776"
"linux" "796"
"mac" "796"
"windows" "780"
"linux" "800"
"mac" "800"
}
"m_iBall" // int[2]
@ -61,9 +61,9 @@
"type" "integer"
"size" "2"
"windows" "784"
"linux" "804"
"mac" "804"
"windows" "788"
"linux" "808"
"mac" "808"
}
"m_iBallTime" // float[2]
@ -71,9 +71,9 @@
"type" "float"
"size" "2"
"windows" "792"
"linux" "812"
"mac" "812"
"windows" "796"
"linux" "816"
"mac" "816"
}
"m_iBallCurrent" // int[2]
@ -81,36 +81,36 @@
"type" "integer"
"size" "2"
"windows" "800"
"linux" "820"
"mac" "820"
"windows" "804"
"linux" "824"
"mac" "824"
}
"m_vecEstVelocity" // Vector
{
"type" "vector"
"windows" "808"
"linux" "828"
"mac" "828"
"windows" "812"
"linux" "832"
"mac" "832"
}
"m_velocity" // Vector
{
"type" "vector"
"windows" "820"
"linux" "840"
"mac" "840"
"windows" "824"
"linux" "844"
"mac" "844"
}
"m_fInCombat" // int
{
"type" "integer"
"windows" "832"
"linux" "852"
"mac" "852"
"windows" "836"
"linux" "856"
"mac" "856"
}
}
}

View File

@ -23,36 +23,36 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flNextAttack" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_vecIdeal" // Vector
{
"type" "vector"
"windows" "716"
"linux" "736"
"mac" "736"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_hOwner" // EHANDLE
{
"type" "ehandle"
"windows" "728"
"linux" "748"
"mac" "748"
"windows" "732"
"linux" "752"
"mac" "752"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "ehandle"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iCyclerBody" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iGruntHead" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "824"
"linux" "844"
"mac" "844"
}
"m_painTime" // float
{
"type" "float"
"windows" "828"
"linux" "848"
"mac" "848"
}
"m_checkAttackTime" // float
"m_painTime" // float
{
"type" "float"
@ -46,23 +37,32 @@
"mac" "852"
}
"m_lastAttackCheck" // BOOL
"m_checkAttackTime" // float
{
"type" "integer"
"type" "float"
"windows" "836"
"linux" "856"
"mac" "856"
}
"m_flPlayerDamage" // float
"m_lastAttackCheck" // BOOL
{
"type" "float"
"type" "integer"
"windows" "840"
"linux" "860"
"mac" "860"
}
"m_flPlayerDamage" // float
{
"type" "float"
"windows" "844"
"linux" "864"
"mac" "864"
}
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_spriteScale" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
}
}

View File

@ -23,30 +23,21 @@
{
"type" "classptr"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_pSquadNext" // CFlockingFlyer*
{
"type" "classptr"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_fTurning" // BOOL
{
"type" "integer"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_fCourseAdjust" // BOOL
"m_fTurning" // BOOL
{
"type" "integer"
@ -55,7 +46,7 @@
"mac" "740"
}
"m_fPathBlocked" // BOOL
"m_fCourseAdjust" // BOOL
{
"type" "integer"
@ -64,43 +55,43 @@
"mac" "744"
}
"m_vecReferencePoint" // Vector
"m_fPathBlocked" // BOOL
{
"type" "vector"
"type" "integer"
"windows" "728"
"linux" "748"
"mac" "748"
}
"m_vecReferencePoint" // Vector
{
"type" "vector"
"windows" "732"
"linux" "752"
"mac" "752"
}
"m_vecAdjustedVelocity" // Vector
{
"type" "vector"
"windows" "740"
"linux" "760"
"mac" "760"
"windows" "744"
"linux" "764"
"mac" "764"
}
"m_flGoalSpeed" // float
{
"type" "float"
"windows" "752"
"linux" "772"
"mac" "772"
}
"m_flLastBlockedTime" // float
{
"type" "float"
"windows" "756"
"linux" "776"
"mac" "776"
}
"m_flFakeBlockedTime" // float
"m_flLastBlockedTime" // float
{
"type" "float"
@ -109,7 +100,7 @@
"mac" "780"
}
"m_flAlertTime" // float
"m_flFakeBlockedTime" // float
{
"type" "float"
@ -118,7 +109,7 @@
"mac" "784"
}
"m_flFlockNextSoundTime" // float
"m_flAlertTime" // float
{
"type" "float"
@ -126,6 +117,15 @@
"linux" "788"
"mac" "788"
}
"m_flFlockNextSoundTime" // float
{
"type" "float"
"windows" "772"
"linux" "792"
"mac" "792"
}
}
}
}

View File

@ -23,18 +23,18 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flFlockRadius" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
}
}

View File

@ -23,30 +23,21 @@
{
"type" "vector"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flightSpeed" // float
{
"type" "float"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_stopTime" // float
{
"type" "float"
"windows" "724"
"linux" "744"
"mac" "744"
}
"m_momentum" // float
"m_stopTime" // float
{
"type" "float"
@ -55,14 +46,32 @@
"mac" "748"
}
"m_pFlapSound" // const char*
"m_momentum" // float
{
"type" "stringptr"
"type" "float"
"windows" "732"
"linux" "752"
"mac" "752"
}
"m_pFlapSound" // const char*
{
"type" "stringptr"
"windows" "736"
"linux" "756"
"mac" "756"
}
"m_flLastZYawTime" // float
{
"type" "float"
"windows" "740"
"linux" "760"
"mac" "760"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "classptr"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_pFlame" // CBeam*[4]
@ -33,30 +33,21 @@
"type" "classptr"
"size" "4"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_eyeBrightness" // int
{
"type" "integer"
"windows" "728"
"linux" "748"
"mac" "748"
}
"m_seeTime" // float
{
"type" "float"
"windows" "732"
"linux" "752"
"mac" "752"
}
"m_flameTime" // float
"m_seeTime" // float
{
"type" "float"
@ -65,7 +56,7 @@
"mac" "756"
}
"m_painSoundTime" // float
"m_flameTime" // float
{
"type" "float"
@ -74,7 +65,7 @@
"mac" "760"
}
"m_streakTime" // float
"m_painSoundTime" // float
{
"type" "float"
@ -83,7 +74,7 @@
"mac" "764"
}
"m_flameX" // float
"m_streakTime" // float
{
"type" "float"
@ -92,7 +83,7 @@
"mac" "768"
}
"m_flameY" // float
"m_flameX" // float
{
"type" "float"
@ -100,6 +91,15 @@
"linux" "772"
"mac" "772"
}
"m_flameY" // float
{
"type" "float"
"windows" "756"
"linux" "776"
"mac" "776"
}
}
}
}

View File

@ -23,36 +23,36 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_hTalkTarget" // EHANDLE
{
"type" "ehandle"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_flIdealYaw" // float
{
"type" "float"
"windows" "720"
"linux" "740"
"mac" "740"
"windows" "724"
"linux" "744"
"mac" "744"
}
"m_flCurrentYaw" // float
{
"type" "float"
"windows" "724"
"linux" "744"
"mac" "744"
"windows" "728"
"linux" "748"
"mac" "748"
}
}
}

View File

@ -23,27 +23,27 @@
{
"type" "ehandle"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_hTalkTarget" // EHANDLE
{
"type" "ehandle"
"windows" "716"
"linux" "736"
"mac" "736"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_flTalkTime" // float
{
"type" "float"
"windows" "724"
"linux" "744"
"mac" "744"
"windows" "728"
"linux" "748"
"mac" "748"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
}
"m_flDiviation" // float
{
"type" "float"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_flNextJump" // float
"m_flDiviation" // float
{
"type" "float"
@ -46,43 +37,43 @@
"mac" "736"
}
"m_vecJumpVelocity" // Vector
"m_flNextJump" // float
{
"type" "vector"
"type" "float"
"windows" "720"
"linux" "740"
"mac" "740"
}
"m_vecJumpVelocity" // Vector
{
"type" "vector"
"windows" "724"
"linux" "744"
"mac" "744"
}
"m_flNextGrenadeCheck" // float
{
"type" "float"
"windows" "732"
"linux" "752"
"mac" "752"
}
"m_vecTossVelocity" // Vector
{
"type" "vector"
"windows" "736"
"linux" "756"
"mac" "756"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "748"
"linux" "768"
"mac" "768"
"windows" "740"
"linux" "760"
"mac" "760"
}
"m_iTargetRanderamt" // int
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "772"
}
"m_iFrustration" // int
"m_iTargetRanderamt" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "776"
}
"m_iShell" // int
"m_iFrustration" // int
{
"type" "integer"
@ -108,6 +99,15 @@
"linux" "780"
"mac" "780"
}
"m_iShell" // int
{
"type" "integer"
"windows" "764"
"linux" "784"
"mac" "784"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_flNextPainTime" // float
{
"type" "float"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_flLastEnemySightTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -46,25 +37,25 @@
"mac" "792"
}
"m_vecTossVelocity" // Vector
"m_flLastEnemySightTime" // float
{
"type" "vector"
"type" "float"
"windows" "776"
"linux" "796"
"mac" "796"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "788"
"linux" "808"
"mac" "808"
"windows" "780"
"linux" "800"
"mac" "800"
}
"m_fStanding" // BOOL
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "812"
}
"m_fFirstEncounter" // BOOL
"m_fStanding" // BOOL
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "816"
}
"m_cClipSize" // int
"m_fFirstEncounter" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "820"
}
"m_voicePitch" // int
"m_cClipSize" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "824"
}
"m_iBrassShell" // int
"m_voicePitch" // int
{
"type" "integer"
@ -109,7 +100,7 @@
"mac" "828"
}
"m_iShotgunShell" // int
"m_iBrassShell" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "832"
}
"m_iSentence" // int
"m_iShotgunShell" // int
{
"type" "integer"
@ -126,6 +117,15 @@
"linux" "836"
"mac" "836"
}
"m_iSentence" // int
{
"type" "integer"
"windows" "820"
"linux" "840"
"mac" "840"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "float"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_flNextPainTime" // float
{
"type" "float"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_flLastEnemySightTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -46,25 +37,25 @@
"mac" "792"
}
"m_vecTossVelocity" // Vector
"m_flLastEnemySightTime" // float
{
"type" "vector"
"type" "float"
"windows" "776"
"linux" "796"
"mac" "796"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "788"
"linux" "808"
"mac" "808"
"windows" "780"
"linux" "800"
"mac" "800"
}
"m_fStanding" // BOOL
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -73,7 +64,7 @@
"mac" "812"
}
"m_fFirstEncounter" // BOOL
"m_fStanding" // BOOL
{
"type" "integer"
@ -82,7 +73,7 @@
"mac" "816"
}
"m_cClipSize" // int
"m_fFirstEncounter" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "820"
}
"m_voicePitch" // int
"m_cClipSize" // int
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "824"
}
"m_iBrassShell" // int
"m_voicePitch" // int
{
"type" "integer"
@ -109,7 +100,7 @@
"mac" "828"
}
"m_iShotgunShell" // int
"m_iBrassShell" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "832"
}
"m_iSentence" // int
"m_iShotgunShell" // int
{
"type" "integer"
@ -126,6 +117,15 @@
"linux" "836"
"mac" "836"
}
"m_iSentence" // int
{
"type" "integer"
"windows" "820"
"linux" "840"
"mac" "840"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "896"
"linux" "916"
"mac" "916"
}
"m_flPlayerDamage" // float
{
"type" "float"
"windows" "900"
"linux" "920"
"mac" "920"
}
"m_flNextGrenadeCheck" // float
"m_flPlayerDamage" // float
{
"type" "float"
@ -46,7 +37,7 @@
"mac" "924"
}
"m_flNextPainTime" // float
"m_flNextGrenadeCheck" // float
{
"type" "float"
@ -55,7 +46,7 @@
"mac" "928"
}
"m_flLastEnemySightTime" // float
"m_flNextPainTime" // float
{
"type" "float"
@ -64,25 +55,25 @@
"mac" "932"
}
"m_vecTossVelocity" // Vector
"m_flLastEnemySightTime" // float
{
"type" "vector"
"type" "float"
"windows" "916"
"linux" "936"
"mac" "936"
}
"m_fThrowGrenade" // BOOL
"m_vecTossVelocity" // Vector
{
"type" "integer"
"type" "vector"
"windows" "928"
"linux" "948"
"mac" "948"
"windows" "920"
"linux" "940"
"mac" "940"
}
"m_fStanding" // BOOL
"m_fThrowGrenade" // BOOL
{
"type" "integer"
@ -91,7 +82,7 @@
"mac" "952"
}
"m_fFirstEncounter" // BOOL
"m_fStanding" // BOOL
{
"type" "integer"
@ -100,7 +91,7 @@
"mac" "956"
}
"m_cClipSize" // int
"m_fFirstEncounter" // BOOL
{
"type" "integer"
@ -109,7 +100,7 @@
"mac" "960"
}
"m_iBrassShell" // int
"m_cClipSize" // int
{
"type" "integer"
@ -118,7 +109,7 @@
"mac" "964"
}
"m_iShotgunShell" // int
"m_iBrassShell" // int
{
"type" "integer"
@ -127,7 +118,7 @@
"mac" "968"
}
"m_iSawShell" // int
"m_iShotgunShell" // int
{
"type" "integer"
@ -136,7 +127,7 @@
"mac" "972"
}
"m_iSawLink" // int
"m_iSawShell" // int
{
"type" "integer"
@ -145,7 +136,7 @@
"mac" "976"
}
"m_iSentence" // int
"m_iSawLink" // int
{
"type" "integer"
@ -154,7 +145,7 @@
"mac" "980"
}
"m_iWeaponIdx" // int
"m_iSentence" // int
{
"type" "integer"
@ -163,7 +154,7 @@
"mac" "984"
}
"m_iGruntHead" // int
"m_iWeaponIdx" // int
{
"type" "integer"
@ -172,7 +163,7 @@
"mac" "988"
}
"m_iGruntTorso" // int
"m_iGruntHead" // int
{
"type" "integer"
@ -180,6 +171,15 @@
"linux" "992"
"mac" "992"
}
"m_iGruntTorso" // int
{
"type" "integer"
"windows" "976"
"linux" "996"
"mac" "996"
}
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
}
"m_iGruntHead" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iszUse" // int
"m_iGruntHead" // int
{
"type" "integer"
@ -46,7 +37,7 @@
"mac" "736"
}
"m_iszUnUse" // int
"m_iszUse" // int
{
"type" "integer"
@ -54,6 +45,15 @@
"linux" "740"
"mac" "740"
}
"m_iszUnUse" // int
{
"type" "integer"
"windows" "724"
"linux" "744"
"mac" "744"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
}
}

View File

@ -23,27 +23,27 @@
{
"type" "float"
"windows" "708"
"linux" "728"
"mac" "728"
"windows" "712"
"linux" "732"
"mac" "732"
}
"m_iHornetType" // int
{
"type" "integer"
"windows" "712"
"linux" "732"
"mac" "732"
"windows" "716"
"linux" "736"
"mac" "736"
}
"m_flFlySpeed" // float
{
"type" "float"
"windows" "716"
"linux" "736"
"mac" "736"
"windows" "720"
"linux" "740"
"mac" "740"
}
}
}

View File

@ -23,21 +23,12 @@
{
"type" "integer"
"windows" "764"
"linux" "784"
"mac" "784"
}
"m_fAsleep" // BOOL
{
"type" "integer"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_fDontBlink" // BOOL
"m_fAsleep" // BOOL
{
"type" "integer"
@ -46,14 +37,23 @@
"mac" "792"
}
"m_vecPackCenter" // Vector
"m_fDontBlink" // BOOL
{
"type" "vector"
"type" "integer"
"windows" "776"
"linux" "796"
"mac" "796"
}
"m_vecPackCenter" // Vector
{
"type" "vector"
"windows" "780"
"linux" "800"
"mac" "800"
}
}
}
}

View File

@ -23,48 +23,30 @@
{
"type" "vector"
"windows" "736"
"linux" "756"
"mac" "756"
"windows" "744"
"linux" "764"
"mac" "764"
}
"m_idealDist" // float
{
"type" "float"
"windows" "748"
"linux" "768"
"mac" "768"
}
"m_flBlink" // float
{
"type" "float"
"windows" "752"
"linux" "772"
"mac" "772"
}
"m_flEnemyTouched" // float
{
"type" "float"
"windows" "756"
"linux" "776"
"mac" "776"
}
"m_bOnAttack" // BOOL
"m_flBlink" // float
{
"type" "integer"
"type" "float"
"windows" "760"
"linux" "780"
"mac" "780"
}
"m_flMaxSpeed" // float
"m_flEnemyTouched" // float
{
"type" "float"
@ -73,16 +55,16 @@
"mac" "784"
}
"m_flMinSpeed" // float
"m_bOnAttack" // BOOL
{
"type" "float"
"type" "integer"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_flMaxDist" // float
"m_flMaxSpeed" // float
{
"type" "float"
@ -91,16 +73,16 @@
"mac" "792"
}
"m_pBeam" // CBeam*
"m_flMinSpeed" // float
{
"type" "classptr"
"type" "float"
"windows" "776"
"linux" "796"
"mac" "796"
}
"m_flNextAlert" // float
"m_flMaxDist" // float
{
"type" "float"
@ -108,6 +90,42 @@
"linux" "800"
"mac" "800"
}
"m_pBeam" // CBeam*
{
"type" "classptr"
"windows" "784"
"linux" "804"
"mac" "804"
}
"m_flNextAlert" // float
{
"type" "float"
"windows" "788"
"linux" "808"
"mac" "808"
}
"m_flLastPitchTime" // float
{
"type" "float"
"windows" "792"
"linux" "812"
"mac" "812"
}
"m_flLastZYawTime" // float
{
"type" "float"
"windows" "796"
"linux" "816"
"mac" "816"
}
}
}
}

View File

@ -23,9 +23,9 @@
{
"type" "integer"
"windows" "764"
"linux" "784"
"mac" "784"
"windows" "768"
"linux" "788"
"mac" "788"
}
"m_pBeam" // CBeam*[8]
@ -33,45 +33,45 @@
"type" "classptr"
"size" "8"
"windows" "768"
"linux" "788"
"mac" "788"
"windows" "772"
"linux" "792"
"mac" "792"
}
"m_iBeams" // int
{
"type" "integer"
"windows" "800"
"linux" "820"
"mac" "820"
"windows" "804"
"linux" "824"
"mac" "824"
}
"m_flNextAttack" // float
{
"type" "float"
"windows" "804"
"linux" "824"
"mac" "824"
"windows" "808"
"linux" "828"
"mac" "828"
}
"m_voicePitch" // int
{
"type" "integer"
"windows" "808"
"linux" "828"
"mac" "828"
"windows" "812"
"linux" "832"
"mac" "832"
}
"m_hDead" // EHANDLE
{
"type" "ehandle"
"windows" "812"
"linux" "832"
"mac" "832"
"windows" "816"
"linux" "836"
"mac" "836"
}
}
}

Some files were not shown because too many files have changed in this diff Show More