|
379 | 379 | { |
380 | 380 | "CBaseEntity::Precache": |
381 | 381 | { |
382 | | - "windows": 6, |
383 | | - "linux": 7 |
| 382 | + "windows": 7, |
| 383 | + "linux": 8 |
384 | 384 | }, |
385 | 385 | "CBaseEntity::SetOwner": |
386 | 386 | { |
387 | | - "windows": 52, |
388 | | - "linux": 51 |
| 387 | + "windows": 53, |
| 388 | + "linux": 52 |
389 | 389 | }, |
390 | 390 | // String: "%s<%i><%s><%s>" ChangeTeam() CTMDBG..." |
391 | 391 | "CCSPlayerController_ChangeTeam": |
392 | 392 | { |
393 | | - "windows": 102, |
394 | | - "linux": 101 |
| 393 | + "windows": 103, |
| 394 | + "linux": 102 |
395 | 395 | }, |
396 | 396 | "GetHammerUniqueId": |
397 | 397 | { |
398 | | - "windows": 111, |
399 | | - "linux": 110 |
| 398 | + "windows": 112, |
| 399 | + "linux": 111 |
400 | 400 | }, |
401 | 401 | "CBaseEntity::Use": |
402 | 402 | { |
403 | | - "windows": 144, |
404 | | - "linux": 143 |
| 403 | + "windows": 145, |
| 404 | + "linux": 144 |
405 | 405 | }, |
406 | 406 | "CBaseEntity::StartTouch": |
407 | | - { |
408 | | - "windows": 147, |
409 | | - "linux": 146 |
410 | | - }, |
411 | | - "CBaseEntity::Touch": |
412 | 407 | { |
413 | 408 | "windows": 148, |
414 | 409 | "linux": 147 |
415 | 410 | }, |
416 | | - "CBaseEntity::EndTouch": |
| 411 | + "CBaseEntity::Touch": |
417 | 412 | { |
418 | 413 | "windows": 149, |
419 | 414 | "linux": 148 |
420 | 415 | }, |
| 416 | + "CBaseEntity::EndTouch": |
| 417 | + { |
| 418 | + "windows": 150, |
| 419 | + "linux": 149 |
| 420 | + }, |
421 | 421 | "Teleport": |
422 | 422 | { |
423 | | - "windows": 162, |
424 | | - "linux": 161 |
| 423 | + "windows": 163, |
| 424 | + "linux": 162 |
425 | 425 | }, |
426 | 426 | // For these two, look for the names, you'll find vscript bindings |
427 | 427 | // Scroll down to where the var + 64 gets set to a function, that calls the offset we want |
428 | 428 | "IsPlayerPawn": |
429 | 429 | { |
430 | | - "windows": 168, |
431 | | - "linux": 167 |
| 430 | + "windows": 169, |
| 431 | + "linux": 168 |
432 | 432 | }, |
433 | 433 | "IsPlayerController": |
434 | 434 | { |
435 | | - "windows": 169, |
436 | | - "linux": 168 |
| 435 | + "windows": 170, |
| 436 | + "linux": 169 |
437 | 437 | }, |
438 | 438 | "CollisionRulesChanged": |
439 | 439 | { |
440 | | - "windows": 185, |
441 | | - "linux": 184 |
| 440 | + "windows": 186, |
| 441 | + "linux": 185 |
442 | 442 | }, |
443 | 443 | "CCSPlayerController_Respawn": |
444 | 444 | { |
445 | | - "windows": 272, |
446 | | - "linux": 274 |
| 445 | + "windows": 273, |
| 446 | + "linux": 275 |
447 | 447 | }, |
448 | 448 | // CBaseTrigger |
449 | 449 | "PassesTriggerFilters": |
450 | 450 | { |
451 | | - "windows": 266, |
452 | | - "linux": 267 |
| 451 | + "windows": 273, |
| 452 | + "linux": 274 |
453 | 453 | }, |
454 | 454 | // Actually a bit of a wrapper function now? Eventually calls a long function with "player_hurt" in the middle and then inserts userid, health, priority, attacker strings |
455 | 455 | "CCSPlayerPawn::OnTakeDamage_Alive": |
456 | 456 | { |
457 | | - "windows": 249, |
458 | | - "linux": 250 |
| 457 | + "windows": 256, |
| 458 | + "linux": 257 |
459 | 459 | }, |
460 | 460 | // Look for the kill command, go through its callback and you should a find call like this, with v9 being a pawn pointer: |
461 | 461 | // return (*(*v9 + 2976LL))(v9, v27, 0LL); |
462 | 462 | // 2976 (372 * 8) is the offset |
463 | 463 | "CBasePlayerPawn_CommitSuicide": |
464 | 464 | { |
465 | | - "windows": 400, |
466 | | - "linux": 400 |
| 465 | + "windows": 390, |
| 466 | + "linux": 390 |
467 | 467 | }, |
468 | 468 | "GameEntitySystem": |
469 | 469 | { |
|
473 | 473 | // In the function with "[%03d] Found: %s, firing\n", you'll find a call into a pointer offset just a bit higher, that's the offset * 8 |
474 | 474 | "CGameRules_FindPickerEntity": |
475 | 475 | { |
476 | | - "windows": 25, |
477 | | - "linux": 26 |
| 476 | + "windows": 26, |
| 477 | + "linux": 27 |
478 | 478 | }, |
479 | 479 | "CCSGameRules_GoToIntermission": |
480 | 480 | { |
481 | | - "windows": 128, |
482 | | - "linux": 129 |
| 481 | + "windows": 129, |
| 482 | + "linux": 130 |
483 | 483 | }, |
484 | 484 | "CheckTransmitPlayerSlot": |
485 | 485 | { |
|
502 | 502 | // There's no easy way to find this, but it's a function that checks entity flags (0x370) and ends by calling RemoveFlag with 0x800000 (FL_BASEVELOCITY) |
503 | 503 | "CCSPlayer_MovementServices::CheckMovingGround": |
504 | 504 | { |
505 | | - "windows": 40, |
506 | | - "linux": 41 |
| 505 | + "windows": 41, |
| 506 | + "linux": 42 |
507 | 507 | }, |
508 | 508 | "CCSPlayer_WeaponServices::DropWeapon": |
509 | 509 | { |
510 | | - "windows": 24, |
511 | | - "linux": 25 |
| 510 | + "windows": 25, |
| 511 | + "linux": 26 |
512 | 512 | }, |
513 | 513 | "CCSPlayer_WeaponServices::SelectItem": |
514 | 514 | { |
515 | | - "windows": 26, |
516 | | - "linux": 27 |
| 515 | + "windows": 27, |
| 516 | + "linux": 28 |
517 | 517 | }, |
518 | 518 | // server.dll -> xref 'sv_phys_stop_at_collision' first __fastcall |
519 | 519 | "CVPhys2World::GetTouchingList": |
|
0 commit comments