comparison mm7_5.cpp @ 141:cca78efb377e

Constants -> enums
author Nomad
date Tue, 12 Feb 2013 03:02:13 +0200
parents 9b0d651821f1
children d92c78ab54fe
comparison
equal deleted inserted replaced
140:f4d7a9a8c363 141:cca78efb377e
5219 uDamageAmount = 0; 5219 uDamageAmount = 0;
5220 a4 = 0; 5220 a4 = 0;
5221 v61 = 0; 5221 v61 = 0;
5222 v59 = 0; 5222 v59 = 0;
5223 v62 = 0; 5223 v62 = 0;
5224 if ( (a1 & 7) == 2 ) 5224 if ( (a1 & 7) == OBJECT_Item)
5225 { 5225 {
5226 v4 = &pLayingItems[a1 >> 3]; 5226 v4 = &pLayingItems[a1 >> 3];
5227 uDamageAmount = (int)v4; 5227 uDamageAmount = (int)v4;
5228 v61 = v4->field_60_distance_related_prolly_lod; 5228 v61 = v4->field_60_distance_related_prolly_lod;
5229 v3 = v4->field_58; 5229 v3 = v4->field_58;
6291 uActorIDa = uActorID; 6291 uActorIDa = uActorID;
6292 pActor = &pActors[uActorID]; 6292 pActor = &pActors[uActorID];
6293 a2 = uObjID; 6293 a2 = uObjID;
6294 if ( !pActors[uActorID].IsAlive() ) 6294 if ( !pActors[uActorID].IsAlive() )
6295 { 6295 {
6296 if ( (a2 & 7) == 2 ) 6296 if ( (a2 & 7) == OBJECT_Item)
6297 { 6297 {
6298 v4 = &pLayingItems[(signed int)a2 >> 3]; 6298 v4 = &pLayingItems[(signed int)a2 >> 3];
6299 v5 = v4->field_48; 6299 v5 = v4->field_48;
6300 if ( v5 ) 6300 if ( v5 )
6301 { 6301 {
6350 int v18; // [sp+20h] [bp+Ch]@34 6350 int v18; // [sp+20h] [bp+Ch]@34
6351 6351
6352 v4 = 0; 6352 v4 = 0;
6353 uActorID = a2; 6353 uActorID = a2;
6354 v17 = a1; 6354 v17 = a1;
6355 if ( (a1 & 7) == 2 ) 6355 if ( (a1 & 7) == OBJECT_Item)
6356 { 6356 {
6357 v5 = &pLayingItems[a1 >> 3]; 6357 v5 = &pLayingItems[a1 >> 3];
6358 v4 = v5->field_60_distance_related_prolly_lod; 6358 v4 = v5->field_60_distance_related_prolly_lod;
6359 v17 = v5->field_58; 6359 v17 = v5->field_58;
6360 } 6360 }
9435 goto LABEL_11; 9435 goto LABEL_11;
9436 v16 = v1->pQueue; 9436 v16 = v1->pQueue;
9437 while ( 1 ) 9437 while ( 1 )
9438 { 9438 {
9439 v5 = v16->uPackedID; 9439 v5 = v16->uPackedID;
9440 if ( (v16->uPackedID & 7) == 4 ) 9440 if ( (v16->uPackedID & 7) == OBJECT_Player)
9441 break; 9441 break;
9442 LABEL_8: 9442 LABEL_8:
9443 ++v17; 9443 ++v17;
9444 ++v16; 9444 ++v16;
9445 if ( v17 >= v1->uActorQueueSize ) 9445 if ( v17 >= v1->uActorQueueSize )
9478 if ( v1->uActorQueueSize > v2 ) 9478 if ( v1->uActorQueueSize > v2 )
9479 { 9479 {
9480 v8 = v1->pQueue; 9480 v8 = v1->pQueue;
9481 do 9481 do
9482 { 9482 {
9483 if ( (v8->uPackedID & 7) == 3 && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 ) 9483 if ( (v8->uPackedID & 7) == OBJECT_Actor && ai_array_4F7DB0_actor_ids[v20] == v8->uPackedID >> 3 )
9484 break; 9484 break;
9485 ++v18; 9485 ++v18;
9486 ++v8; 9486 ++v8;
9487 } 9487 }
9488 while ( v18 < v1->uActorQueueSize ); 9488 while ( v18 < v1->uActorQueueSize );
9557 9557
9558 v1 = this; 9558 v1 = this;
9559 _404544(); 9559 _404544();
9560 v2 = v1->pQueue; 9560 v2 = v1->pQueue;
9561 v3 = 0; 9561 v3 = 0;
9562 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) 9562 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player)
9563 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1; 9563 uActiveCharacter = (v1->pQueue[0].uPackedID >> 3) + 1;
9564 else 9564 else
9565 uActiveCharacter = 0; 9565 uActiveCharacter = 0;
9566 viewparams->bRedrawGameUI = 1; 9566 viewparams->bRedrawGameUI = 1;
9567 if ( v1->field_1C ) 9567 if ( v1->field_1C )
9576 v13 = 0; 9576 v13 = 0;
9577 if ( v1->uActorQueueSize <= 0 ) 9577 if ( v1->uActorQueueSize <= 0 )
9578 goto LABEL_27; 9578 goto LABEL_27;
9579 do 9579 do
9580 { 9580 {
9581 if ( (v2->uPackedID & 7) != 4 ) 9581 if ( (v2->uPackedID & 7) != OBJECT_Player)
9582 { 9582 {
9583 v5 = &pActors[v2->uPackedID >> 3]; 9583 v5 = &pActors[v2->uPackedID >> 3];
9584 LOWORD(v6) = v5->uAIState; 9584 LOWORD(v6) = v5->uAIState;
9585 if ( (short)v6 == 4 9585 if ( (short)v6 == 4
9586 || (short)v6 == 8 9586 || (short)v6 == 8
9634 if ( v1->uActorQueueSize > v3 ) 9634 if ( v1->uActorQueueSize > v3 )
9635 { 9635 {
9636 v9 = v1->pQueue; 9636 v9 = v1->pQueue;
9637 do 9637 do
9638 { 9638 {
9639 if ( (v9->uPackedID & 7) != 4 ) 9639 if ( (v9->uPackedID & 7) != OBJECT_Player)
9640 { 9640 {
9641 v10 = v9->uPackedID >> 3; 9641 v10 = v9->uPackedID >> 3;
9642 v11 = pActors[v10].uAIState; 9642 v11 = pActors[v10].uAIState;
9643 if ( v11 != 5 ) 9643 if ( v11 != 5 )
9644 { 9644 {
9686 result = 1; 9686 result = 1;
9687 viewparams->bRedrawGameUI = 1; 9687 viewparams->bRedrawGameUI = 1;
9688 v4 = v1->pQueue[0].field_4; 9688 v4 = v1->pQueue[0].field_4;
9689 if ( v4 ) 9689 if ( v4 )
9690 { 9690 {
9691 if ( (v1->pQueue[0].uPackedID & 7) == 4 ) 9691 if ( (v1->pQueue[0].uPackedID & 7) == OBJECT_Player)
9692 { 9692 {
9693 v5 = v1->uActorQueueSize; 9693 v5 = v1->uActorQueueSize;
9694 while ( 1 ) 9694 while ( 1 )
9695 { 9695 {
9696 v6 = 0; 9696 v6 = 0;
9767 int v9; // ecx@14 9767 int v9; // ecx@14
9768 char v10; // zf@15 9768 char v10; // zf@15
9769 9769
9770 v2 = this; 9770 v2 = this;
9771 v3 = *(&this->field_0 + 4 * (a2 + 2)); 9771 v3 = *(&this->field_0 + 4 * (a2 + 2));
9772 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == 4 ) 9772 if ( (*((char *)&this->field_0 + 16 * (a2 + 2)) & 7) == OBJECT_Player)
9773 { 9773 {
9774 v4 = v3 >> 3; 9774 v4 = v3 >> 3;
9775 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3]; 9775 v5 = (char *)&pParty->pTurnBasedPlayerRecoveryTimes[v3 >> 3];
9776 v6 = *(int *)v5; 9776 v6 = *(int *)v5;
9777 if ( *(int *)v5 ) 9777 if ( *(int *)v5 )
9785 { 9785 {
9786 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime; 9786 v6 = pMonsterStats->pInfos[pActors[v3 >> 3].pMonsterInfo.uID].uRecoveryTime;
9787 } 9787 }
9788 v2->pQueue[a2].field_4 = v6; 9788 v2->pQueue[a2].field_4 = v6;
9789 v2->_404544(); 9789 v2->_404544();
9790 if ( (v2->pQueue[0].uPackedID & 7) == 4 ) 9790 if ( (v2->pQueue[0].uPackedID & 7) == OBJECT_Player)
9791 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1; 9791 uActiveCharacter = (v2->pQueue[0].uPackedID >> 3) + 1;
9792 else 9792 else
9793 uActiveCharacter = 0; 9793 uActiveCharacter = 0;
9794 result = (int)&v2->pQueue[0].field_4; 9794 result = (int)&v2->pQueue[0].field_4;
9795 viewparams->bRedrawGameUI = 1; 9795 viewparams->bRedrawGameUI = 1;
9833 v1 = (char *)&this->pQueue[0].field_4; 9833 v1 = (char *)&this->pQueue[0].field_4;
9834 do 9834 do
9835 { 9835 {
9836 if ( !*(int *)v1 ) 9836 if ( !*(int *)v1 )
9837 { 9837 {
9838 if ( (*(v1 - 4) & 7) == 4 ) 9838 if ( (*(v1 - 4) & 7) == OBJECT_Player)
9839 return; 9839 return;
9840 v2 = &pActors[*((int *)v1 - 1) >> 3]; 9840 v2 = &pActors[*((int *)v1 - 1) >> 3];
9841 v3 = v2->uAIState; 9841 v3 = v2->uAIState;
9842 if ( !v3 || v3 == 9 || v3 == 7 ) 9842 if (v3 == Standing || v3 == Fleeing || v3 == Fidgeting)
9843 { 9843 {
9844 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime; 9844 v4 = pMonsterStats->pInfos[v2->pMonsterInfo.uID].uRecoveryTime;
9845 *(int *)v1 = v4; 9845 *(int *)v1 = v4;
9846 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 ) 9846 if ( (signed __int64)v2->pActorBuffs[7].uExpireTime > 0 )
9847 *(int *)v1 = 2 * v4; 9847 *(int *)v1 = 2 * v4;
9864 unsigned int v5; // edi@14 9864 unsigned int v5; // edi@14
9865 9865
9866 v1 = this; 9866 v1 = this;
9867 LOWORD(v2) = _404544(); 9867 LOWORD(v2) = _404544();
9868 if ( v1->pQueue[0].field_4 <= 0 9868 if ( v1->pQueue[0].field_4 <= 0
9869 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != 4) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2), 9869 || ((_4063A1(), v2 = v1->pQueue[0].uPackedID, (v1->pQueue[0].uPackedID & 7) != OBJECT_Player) ? (uActiveCharacter = 0) : (v2 = (v2 >> 3) + 1, uActiveCharacter = v2),
9870 viewparams->bRedrawGameUI = 1, 9870 viewparams->bRedrawGameUI = 1,
9871 v1->pQueue[0].field_4 <= 0) ) 9871 v1->pQueue[0].field_4 <= 0) )
9872 { 9872 {
9873 v3 = 0; 9873 v3 = 0;
9874 if ( v1->uActorQueueSize > 0 ) 9874 if ( v1->uActorQueueSize > 0 )
9875 { 9875 {
9876 v4 = (int)v1->pQueue; 9876 v4 = (int)v1->pQueue;
9877 do 9877 do
9878 { 9878 {
9879 v2 = *(int *)v4; 9879 v2 = *(int *)v4;
9880 if ( (*(char *)v4 & 7) == 4 || *(int *)(v4 + 4) > 0 ) 9880 if ( (*(char *)v4 & 7) == OBJECT_Player || *(int *)(v4 + 4) > 0 )
9881 break; 9881 break;
9882 if ( *(int *)(v4 + 8) <= 0 ) 9882 if ( *(int *)(v4 + 8) <= 0 )
9883 { 9883 {
9884 LOWORD(v2) = v2 & 3; 9884 LOWORD(v2) = v2 & 3;
9885 if ( (char)v2 == 3 ) 9885 if ( (char)v2 == 3 )
9933 unsigned int a2a; // [sp+50h] [bp+8h]@2 9933 unsigned int a2a; // [sp+50h] [bp+8h]@2
9934 9934
9935 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2)); 9935 v1 = (TurnBased_QueueElem *)((char *)this + 16 * (a2 + 2));
9936 v28 = v1; 9936 v28 = v1;
9937 v3 = v1->uPackedID; 9937 v3 = v1->uPackedID;
9938 if ( (v1->uPackedID & 7) != 4 ) 9938 if ( (v1->uPackedID & 7) != OBJECT_Player)
9939 { 9939 {
9940 v4 = v3 >> 3; // turn based only stuff 9940 v4 = v3 >> 3; // turn based only stuff
9941 a2a = dword_4F6E08[v3 >> 3]; 9941 a2a = dword_4F6E08[v3 >> 3];
9942 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3)); 9942 memcpy(&a3, Actor::GetDirectionInfo(v1->uPackedID, dword_4F6E08[v3 >> 3], &a3, 0), sizeof(a3));
9943 memcpy(&a4, &a3, sizeof(a4)); 9943 memcpy(&a4, &a3, sizeof(a4));
10097 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 ) 10097 if ( ((a3.uDistance - v8) & 0x80000000u) != 0 )
10098 { 10098 {
10099 v9 = 0; 10099 v9 = 0;
10100 v20 = 0; 10100 v20 = 0;
10101 } 10101 }
10102 if ( (v22 & 7) == 3 ) 10102 if ( (v22 & 7) == OBJECT_Actor)
10103 v10 = (unsigned __int8)*(&byte_5C8D1A[89 10103 v10 = (unsigned __int8)*(&byte_5C8D1A[89
10104 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1) 10104 * (pMonsterStats->pInfos[pActors[v22 >> 3].pMonsterInfo.uID].uID - 1)
10105 / 3] 10105 / 3]
10106 + (v5->pMonsterInfo.uID - 1) / 3); 10106 + (v5->pMonsterInfo.uID - 1) / 3);
10107 else 10107 else
10230 { 10230 {
10231 v10 = this->pQueue; 10231 v10 = this->pQueue;
10232 while ( 1 ) 10232 while ( 1 )
10233 { 10233 {
10234 v5 = v10->uPackedID; 10234 v5 = v10->uPackedID;
10235 if ( (v10->uPackedID & 7) == 3 ) 10235 if ( (v10->uPackedID & 7) == OBJECT_Actor)
10236 { 10236 {
10237 v8 = dword_4F6E08[v5 >> 3]; 10237 v8 = dword_4F6E08[v5 >> 3];
10238 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7)); 10238 memcpy(&v7, Actor::GetDirectionInfo(v5, v8, &a3, v2), sizeof(v7));
10239 if ( !v1->_406D10(a2) ) 10239 if ( !v1->_406D10(a2) )
10240 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7); 10240 Actor::_403EB6(v10->uPackedID >> 3, v8, 0x20u, &v7);
10269 if ( this->uActorQueueSize > 0 ) 10269 if ( this->uActorQueueSize > 0 )
10270 { 10270 {
10271 v2 = this->pQueue; 10271 v2 = this->pQueue;
10272 do 10272 do
10273 { 10273 {
10274 if ( (v2->uPackedID & 7) == 3 ) 10274 if ( (v2->uPackedID & 7) == OBJECT_Actor)
10275 { 10275 {
10276 v3 = v2->uPackedID >> 3; 10276 v3 = v2->uPackedID >> 3;
10277 v8 = v3; 10277 v8 = v3;
10278 if ( pActors[v3].CanAct() ) 10278 if ( pActors[v3].CanAct() )
10279 { 10279 {
10324 v14 = this->pQueue; 10324 v14 = this->pQueue;
10325 while ( 1 ) 10325 while ( 1 )
10326 { 10326 {
10327 v4 = v14->uPackedID; 10327 v4 = v14->uPackedID;
10328 a1 = v14->uPackedID; 10328 a1 = v14->uPackedID;
10329 if ( (a1 & 7) != 4 ) 10329 if ( (a1 & 7) != OBJECT_Player)
10330 { 10330 {
10331 v5 = v4 >> 3; 10331 v5 = v4 >> 3;
10332 v12 = v5; 10332 v12 = v5;
10333 v6 = &pActors[v5]; 10333 v6 = &pActors[v5];
10334 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result 10334 if ( SHIDWORD(v6->pActorBuffs[5].uExpireTime) < result
10408 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7 10408 TurnBased_QueueElem *v29; // [sp+4Ch] [bp-8h]@7
10409 unsigned int uActorID; // [sp+50h] [bp-4h]@2 10409 unsigned int uActorID; // [sp+50h] [bp-4h]@2
10410 unsigned int a2a; // [sp+5Ch] [bp+8h]@7 10410 unsigned int a2a; // [sp+5Ch] [bp+8h]@7
10411 10411
10412 v2 = *(&this->field_0 + 4 * (a2 + 2)); 10412 v2 = *(&this->field_0 + 4 * (a2 + 2));
10413 if ( (v2 & 7) == 4 ) 10413 if ( (v2 & 7) == OBJECT_Player)
10414 return 0; 10414 return 0;
10415 v3 = v2 >> 3; 10415 v3 = v2 >> 3;
10416 uActorID = v3; 10416 uActorID = v3;
10417 v4 = &pActors[v3]; 10417 v4 = &pActors[v3];
10418 v5 = v4->uAIState; 10418 v5 = v4->uAIState;
10602 v3 = this->pQueue; 10602 v3 = this->pQueue;
10603 v18 = (char *)&pTurnEngine - (char *)this; 10603 v18 = (char *)&pTurnEngine - (char *)this;
10604 v14 = this->pQueue; 10604 v14 = this->pQueue;
10605 do 10605 do
10606 { 10606 {
10607 if ( (v3->uPackedID & 7) != 4 ) 10607 if ( (v3->uPackedID & 7) != OBJECT_Player)
10608 { 10608 {
10609 v4 = v3->uPackedID >> 3; 10609 v4 = v3->uPackedID >> 3;
10610 uActorID = v4; 10610 uActorID = v4;
10611 v5 = &pActors[v4]; 10611 v5 = &pActors[v4];
10612 v6 = v5->uAIState; 10612 v6 = v5->uAIState;
16350 if ( pRenderer->pRenderD3D ) 16350 if ( pRenderer->pRenderD3D )
16351 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); 16351 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val();
16352 else 16352 else
16353 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; 16353 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
16354 v6 = (unsigned __int16)v5; 16354 v6 = (unsigned __int16)v5;
16355 if ( (v6 & 7) != 2 ) 16355 if ( (v6 & 7) != OBJECT_Item)
16356 { 16356 {
16357 if ( (v6 & 7) == 3 ) 16357 if ( (v6 & 7) == OBJECT_Actor)
16358 { 16358 {
16359 if ( pRenderer->uNumSceneBegins ) 16359 if ( pRenderer->uNumSceneBegins )
16360 { 16360 {
16361 pWindow.DrawMessageBox(1); 16361 pWindow.DrawMessageBox(1);
16362 MonsterPopup_Draw(v6 >> 3, &pWindow); 16362 MonsterPopup_Draw(v6 >> 3, &pWindow);
16482 dword_507BF0_is_there_popup_onscreen = 1; 16482 dword_507BF0_is_there_popup_onscreen = 1;
16483 viewparams->bRedrawGameUI = 1; 16483 viewparams->bRedrawGameUI = 1;
16484 } 16484 }
16485 16485
16486 //----- (004175C0) -------------------------------------------------------- 16486 //----- (004175C0) --------------------------------------------------------
16487 void __thiscall UI_OnMouseLeftClick(int *pXY) 16487 void UI_OnMouseLeftClick(int *pXY)
16488 { 16488 {
16489 int *pXY_; // esi@1 16489 int *pXY_; // esi@1
16490 signed int y; // eax@7 16490 signed int y; // eax@7
16491 signed int x; // ecx@7 16491 signed int x; // ecx@7
16492 unsigned int v4; // eax@11 16492 unsigned int v4; // eax@11
16589 if ( pRenderer->pRenderD3D ) 16589 if ( pRenderer->pRenderD3D )
16590 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); 16590 v5 = pGame->pVisInstance->get_picked_object_zbuf_val();
16591 else 16591 else
16592 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; 16592 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
16593 v6 = (unsigned __int16)v5; 16593 v6 = (unsigned __int16)v5;
16594 if ( (v5 & 7) == 3 16594 if ( (v5 & 7) == OBJECT_Actor
16595 && uActiveCharacter 16595 && uActiveCharacter
16596 && v5 < 33554432 16596 && v5 < 33554432
16597 && pPlayers[uActiveCharacter]->CanAct() 16597 && pPlayers[uActiveCharacter]->CanAct()
16598 && pPlayers[uActiveCharacter]->CanSteal() ) 16598 && pPlayers[uActiveCharacter]->CanSteal() )
16599 { 16599 {