-
-
Notifications
You must be signed in to change notification settings - Fork 406
/
multiplayer_shotsync.h
69 lines (62 loc) · 3.04 KB
/
multiplayer_shotsync.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*****************************************************************************
*
* PROJECT: Multi Theft Auto v1.0
* LICENSE: See LICENSE in the top level directory
* FILE: multiplayer_sa/multiplayer_shotsync.h
* PURPOSE: Multiplayer module shooting sync methods
*
* Multi Theft Auto is available from http://www.multitheftauto.com/
*
*****************************************************************************/
#include "multiplayersa_init.h"
#include <multiplayer/CMultiplayer.h>
#pragma once
#include <game/CPlayerPed.h>
//#include "../game_sa/CPedIKSA.h"
#define HOOKPOS_CWeapon__Fire 0x742300
#define HOOKPOS_CWeapon__PostFire 0x742A02 // if the function returns true
#define HOOKPOS_CWeapon__PostFire2 0x742423 // if the function returns false
#define HOOKPOS_CPedIK__PointGunInDirection 0x5FDC00
#define HOOKPOS_CTaskSimpleGangDriveBy__PlayerTarget 0x621A57
#define HOOKPOS_CWeapon__Fire_Sniper 0x7424A6
#define HOOKRET_CWeapon__Fire_Sniper 0x7424D7
#define HOOKPOS_CEventDamage__AffectsPed 0x4B35A0
#define HOOKPOS_CEventVehicleExplosion__AffectsPed 0x4B0E58
#define HOOKPOS_CFireManager__StartFire 0x539F00
#define HOOKPOS_CFireManager__StartFire_ 0x53A050
#define HOOKPOS_CProjectileInfo__AddProjectile 0x737C80
#define HOOKPOS_CProjectile__CProjectile 0x5A4030
#define HOOKPOS_IKChainManager_PointArm 0x618B66
#define HOOKPOS_IKChainManager_LookAt 0x618970
#define HOOKPOS_IKChainManager_SkipAim 0x62AEE7
#define HOOKPOS_CTaskSimpleUsegun_ProcessPed 0x62A380
#define HOOKPOS_CWeapon_FireInstantHit 0x740B42
#define HOOKPOS_CWeapon_FireInstantHit_CameraMode 0x74036D
#define HOOKPOS_CWeapon_FireInstantHit_IsPlayer 0x74034C
#define HOOKPOS_CWeapon_DoBulletImpact 0x73B550
// our stuff
VOID InitShotsyncHooks();
CShotSyncData* GetLocalPedShotSyncData();
VOID WriteGunDirectionDataForPed(class CPedSAInterface* pPedInterface, float* fGunDirectionX, float* fGunDirectionY, eVehicleAimDirection* cGunDirection);
bool IsLocalPlayer(CPedSAInterface* pPedInterface);
// hooks
VOID HOOK_CWeapon__Fire();
VOID HOOK_CWeapon__PostFire();
VOID HOOK_CWeapon__PostFire2();
VOID HOOK_CPedIK__PointGunInDirection();
VOID HOOK_CTaskSimpleGangDriveBy__PlayerTarget();
VOID HOOK_CWeapon__Fire_Sniper();
VOID HOOK_CEventDamage__AffectsPed();
VOID HOOK_CEventVehicleExplosion__AffectsPed();
VOID HOOK_CFireManager__StartFire();
VOID HOOK_CFireManager__StartFire_();
VOID HOOK_CProjectileInfo__AddProjectile();
VOID HOOK_CProjectile__CProjectile();
VOID HOOK_IKChainManager_PointArm();
VOID HOOK_IKChainManager_LookAt();
VOID HOOK_SkipAim();
VOID HOOK_CTaskSimpleUsegun_ProcessPed();
VOID HOOK_CWeapon_FireInstantHit();
VOID HOOK_CWeapon_FireInstantHit_CameraMode();
VOID HOOK_CWeapon_FireInstantHit_IsPlayer();
VOID HOOK_CWeapon_DoBulletImpact();