Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tdstEngineObject *__cdecl fn_vUpdateCurrentActivationForCharacter(HIE_tdstSuperObject *superObject)
- {
- tdstEngineObject *result; // eax@1
- struct_CollSet *collset; // edi@1
- tdst3dData_ *p3dData; // eax@2
- __int16 animCount; // si@2
- tdstState_ *animState; // ecx@2
- tdstState_ *i; // eax@2
- struct_CollSet *activationListZDD; // eax@5
- int activationListEntryZDD; // eax@6
- int animIterZDD; // ecx@7
- struct_CollSet *activationListZDE; // eax@11
- int activationListEntryZDE; // eax@12
- int animIterZDE; // ecx@13
- struct_CollSet *activationListZDR; // eax@17
- int activationListEntryZDR; // eax@18
- int animIterZDR; // ecx@19
- struct_CollSet *activationListZDM; // eax@23
- int activationListEntryZDM; // eax@24
- int animIterZDM; // ecx@25
- result = superObject->engineObject;
- collset = result->collset;
- if ( collset )
- {
- p3dData = result->p3dData;
- animCount = 0;
- animState = p3dData->animState;
- for ( i = *(tdstState_ **)(p3dData->dword14 + 16); i != animState; ++animCount )
- {
- if ( !i )
- {
- break;
- }
- i = (tdstState_ *)i->anim3dData;
- }
- activationListZDD = CS_fn_hGetActivationList(0, superObject);
- if ( activationListZDD )
- {
- activationListEntryZDD = activationListZDD->field_0;
- if ( animCount > 0 )
- {
- animIterZDD = animCount;
- do
- {
- activationListEntryZDD = *(_DWORD *)activationListEntryZDD;
- --animIterZDD;
- }
- while ( animIterZDD );
- }
- updateActivation(0, collset, *(_DWORD *)(activationListEntryZDD + 4));
- }
- else
- {
- updateActivation(0, collset, 0);
- }
- activationListZDE = CS_fn_hGetActivationList(2, superObject);
- if ( activationListZDE )
- {
- activationListEntryZDE = activationListZDE->field_0;
- if ( animCount > 0 )
- {
- animIterZDE = animCount;
- do
- {
- activationListEntryZDE = *(_DWORD *)activationListEntryZDE;
- --animIterZDE;
- }
- while ( animIterZDE );
- }
- updateActivation(2u, collset, *(_DWORD *)(activationListEntryZDE + 4));
- }
- else
- {
- updateActivation(2u, collset, 0);
- }
- activationListZDR = CS_fn_hGetActivationList(3, superObject);
- if ( activationListZDR )
- {
- activationListEntryZDR = activationListZDR->field_0;
- if ( animCount > 0 )
- {
- animIterZDR = animCount;
- do
- {
- activationListEntryZDR = *(_DWORD *)activationListEntryZDR;
- --animIterZDR;
- }
- while ( animIterZDR );
- }
- updateActivation(3u, collset, *(_DWORD *)(activationListEntryZDR + 4));
- }
- else
- {
- updateActivation(3u, collset, 0);
- }
- activationListZDM = CS_fn_hGetActivationList(1, superObject);
- if ( activationListZDM )
- {
- activationListEntryZDM = activationListZDM->field_0;
- if ( animCount > 0 )
- {
- animIterZDM = animCount;
- do
- {
- activationListEntryZDM = *(_DWORD *)activationListEntryZDM;
- --animIterZDM;
- }
- while ( animIterZDM );
- }
- result = (tdstEngineObject *)updateActivation(1u, collset, *(_DWORD *)(activationListEntryZDM + 4));
- }
- else
- {
- result = (tdstEngineObject *)updateActivation(1u, collset, 0);
- }
- }
- return result;
- }
Add Comment
Please, Sign In to add comment