Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __int64 __usercall CM2Model::AssignBoneMasterData@<rax>(CM2Model *a1@<rcx>)
- {
- CM2Model *m2Model; // rbx
- __int64 v2; // rax
- __int64 result; // rax
- __int64 m_skeleton; // rdi
- __int64 v5; // rax
- _QWORD *v6; // rdx
- __int64 a7; // [rsp+30h] [rbp-128h]
- char v8; // [rsp+40h] [rbp-118h]
- m2Model = a1;
- if ( !a1->m_boneMasterData )
- {
- v2 = (*(__int64 (__fastcall **)(CM2Model *, char *, signed __int64))(a1->modelBase.qword0 + 408i64))(
- a1,
- &v8,
- 260i64);
- if ( sub_1401F0470(
- (__int64)"d:\\buildserver\\wow\\4\\work\\shared-checkout\\branches\\wow-patch-8_1_0-branch\\engine\\source\\mo"
- "del2\\m2model.cpp",
- 15049,
- (__int64)"(m_boneMasterData)",
- (__int64)"Model: %s",
- (__int64)"\"Model\" \": %s\"",
- v2) )
- {
- __debugbreak();
- }
- }
- m2Model->m_boneMasterData->m_bones = &m2Model->m_cm2Shared->m_m2Data->bones;
- m2Model->m_boneMasterData->m_sequences = &m2Model->m_cm2Shared->m_m2Data->sequences;
- m2Model->m_boneMasterData->m_key_bone_lookup = &m2Model->m_cm2Shared->m_m2Data->key_bone_lookup;
- m2Model->m_boneMasterData->m_sequence_lookups = &m2Model->m_cm2Shared->m_m2Data->sequence_lookups;
- m2Model->m_boneMasterData->m_attachments = &m2Model->m_cm2Shared->m_m2Data->attachments;
- m2Model->m_boneMasterData->m_attachment_lookup_table = &m2Model->m_cm2Shared->m_m2Data->attachment_lookup_table;
- m2Model->m_boneMasterData->qword30 = (M2Array *)m2Model->qword520;
- m2Model->m_boneMasterData->qword38 = *(M2Array *)&m2Model->field_4C8;
- m2Model->m_boneMasterData->qword40 = m2Model->qword4B8;
- m2Model->m_boneMasterData->qword50 = m2Model->qword528;
- result = (__int64)m2Model->m_boneMasterData;
- *(_QWORD *)(result + 72) = (char *)m2Model + 1172;
- m_skeleton = *(_QWORD *)&m2Model->m_skeleton;
- if ( m_skeleton )
- {
- if ( !(*(_BYTE *)(m_skeleton + 56) & 1) )
- {
- LODWORD(a7) = 0;
- if ( SErrDisplayAssert(
- 0x85100000,
- (__int64)"d:\\buildserver\\wow\\4\\work\\shared-checkout\\branches\\wow-patch-8_1_0-branch\\engine\\source\\"
- "model2\\m2skeleton.inl",
- 70,
- (__int64)"m_loaded",
- 0,
- 1,
- a7) )
- {
- __debugbreak();
- }
- }
- v5 = *(_QWORD *)(m_skeleton + 88);
- if ( !v5 )
- v5 = *(_QWORD *)(m_skeleton + 72);
- v6 = *(_QWORD **)(v5 + 424);
- m2Model->m_boneMasterData->m_bones = (M2Array *)v6[2];
- m2Model->m_boneMasterData->m_sequences = (M2Array *)(v6[1] + 8i64);
- m2Model->m_boneMasterData->m_key_bone_lookup = (M2Array *)(v6[2] + 8i64);
- m2Model->m_boneMasterData->m_sequence_lookups = (M2Array *)(v6[1] + 16i64);
- m2Model->m_boneMasterData->m_attachments = (M2Array *)v6[3];
- m2Model->m_boneMasterData->m_attachment_lookup_table = (M2Array *)(v6[3] + 8i64);
- m2Model->m_boneMasterData->qword30 = *(M2Array **)(*(_QWORD *)&m2Model->m_skeleton + 152i64);
- m2Model->m_boneMasterData->qword38 = *(M2Array *)(*(_QWORD *)&m2Model->m_skeleton + 120i64);
- m2Model->m_boneMasterData->qword48 = *(_QWORD *)&m2Model->m_skeleton + 60i64;
- m2Model->m_boneMasterData->qword40 = *(_QWORD *)(*(_QWORD *)&m2Model->m_skeleton + 104i64);
- m2Model->m_boneMasterData->qword50 = *(_QWORD *)(*(_QWORD *)&m2Model->m_skeleton + 160i64);
- sub_1401661E0(*(_QWORD *)&m2Model->m_skeleton, &m2Model->m_boneMasterData->m_bones);
- result = (__int64)m2Model->m_boneMasterData;
- if ( *(_QWORD *)(result + 104) )
- *(_DWORD *)(result + 144) |= 1u;
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement