SHOW:
|
|
- or go back to the newest paste.
1 | void __thiscall CPed__initWeaponClump(CPed *ped, int modelID) | |
2 | { | |
3 | CPed *_ped; | |
4 | CBaseModelInfo *weaponModel; | |
5 | int weapClump; | |
6 | int pedtype; | |
7 | int weapSlotOffset; | |
8 | CWeaponSlot *weapSlot; | |
9 | int hAnimHier; | |
10 | int boneIndex; | |
11 | int pMatrices; | |
12 | int molotovParticle; | |
13 | RwV3D pos; | |
14 | ||
15 | _ped = ped; | |
16 | if ( modelID != -1 ) | |
17 | { | |
18 | if ( !ped->weaponSlots[ped->m_bActiveWeapon].field_15 ) | |
19 | { | |
20 | weaponModel = modelPtrs[modelID]; | |
21 | if ( ped->WeaponClump ) | |
22 | CPed__removeWeaponModel(ped, -1); | |
23 | weapClump = (*(weaponModel->__vmt + 0x2C))(weaponModel); // CModelBase::createInstance | |
24 | _ped->WeaponClump = weapClump; | |
25 | if ( weapClump ) | |
26 | _ped->WeaponGunflashClump = findObjectByNodeName(weapClump, "gunflash"); | |
27 | else | |
28 | _ped->WeaponGunflashClump = 0; | |
29 | CModelBase__addRef(weaponModel); | |
30 | pedtype = _ped->pedType; | |
31 | _ped->field_740 = modelID; | |
32 | if ( !pedtype || pedtype == 1 ) | |
33 | { | |
34 | weapSlotOffset = 28 * _ped->m_bActiveWeapon; | |
35 | weapSlot = (_ped->weaponSlots + weapSlotOffset); | |
36 | if ( weapSlot->type == WEAPON_MOLOTOV ) | |
37 | { | |
38 | if ( modelID == MODEL_MOLOTOV ) | |
39 | { | |
40 | if ( !*(&_ped->weaponSlots[0].particle + weapSlotOffset) ) | |
41 | { | |
42 | hAnimHier = clumpGetFirstSkinAtomicHAnimHierarchy(_ped->__parent.__parent.m_pRWObject); | |
43 | boneIndex = RpHAnimIDGetIndex(hAnimHier, BONE_RIGHTWRIST); | |
44 | pMatrices = RpHAnimHierarchyGetMatrixArray(hAnimHier); | |
45 | LODWORD(pos.x) = 0; | |
46 | LODWORD(pos.y) = 0; | |
47 | LODWORD(pos.z) = 0; | |
48 | - | molotovParticle = createParticle("molotov_flame", &pos, ((boneIndex * 64) + pMatrices), 0); |
48 | + | molotovPrt = createParticle("molotov_flame", &pos, ((boneIndex * 64) + pMatrices), 0); |
49 | - | weapSlot->particle = molotovParticle; |
49 | + | weapSlot->particle = molotovPrt; |
50 | - | if ( molotovParticle ) |
50 | + | if ( molotovPrt ) |
51 | { | |
52 | sub_4AA910(1); | |
53 | dummy_4AA890(weapSlot->particle); | |
54 | CParticle__init(weapSlot->particle); | |
55 | } | |
56 | } | |
57 | } | |
58 | } | |
59 | } | |
60 | } | |
61 | } | |
62 | } |