comparison mm7_6.cpp @ 1102:79010db96ade

some spell fixes
author zipi
date Mon, 27 May 2013 15:57:58 +0100
parents b82375804b5d
children 5d5c78088274
comparison
equal deleted inserted replaced
1101:3e5d70cfe20e 1102:79010db96ade
2558 int v500; // eax@935 2558 int v500; // eax@935
2559 Player *v501; // edi@939 2559 Player *v501; // edi@939
2560 int v505; // eax@943 2560 int v505; // eax@943
2561 int v507; // edi@944 2561 int v507; // edi@944
2562 signed int v509; // eax@944 2562 signed int v509; // eax@944
2563 signed int v510; // edi@944 2563 //signed int v510; // edi@944
2564 Actor *v518; // edx@957 2564 Actor *v518; // edx@957
2565 __int16 v519; // cx@958 2565 __int16 v519; // cx@958
2566 int v531; // eax@982 2566 int v531; // eax@982
2567 int v533; // edi@983 2567 int v533; // edi@983
2568 signed int v535; // eax@983 2568 signed int v535; // eax@983
5625 break; 5625 break;
5626 5626
5627 pGame->GetStru6()->FadeScreen__like_Turn_Undead_and_mb_Armageddon(0xAFF0Au, 0xC0u); 5627 pGame->GetStru6()->FadeScreen__like_Turn_Undead_and_mb_Armageddon(0xAFF0Au, 0xC0u);
5628 v505 = sub_46A6AC((int)dword_50BF30, 100, 4096); 5628 v505 = sub_46A6AC((int)dword_50BF30, 100, 4096);
5629 ++pSpellSprite.uType; 5629 ++pSpellSprite.uType;
5630 signed int _v733 = v505; 5630 //signed int _v733 = v505;
5631 v688.x = 0; 5631 v688.x = 0;
5632 v688.y = 0; 5632 v688.y = 0;
5633 v688.z = 0; 5633 v688.z = 0;
5634 pSpellSprite.stru_24.Reset(); 5634 pSpellSprite.stru_24.Reset();
5635 pSpellSprite.spell_id = pCastSpell->spellnum; 5635 pSpellSprite.spell_id = pCastSpell->spellnum;
5642 pSpellSprite.field_60_distance_related_prolly_lod = 0; 5642 pSpellSprite.field_60_distance_related_prolly_lod = 0;
5643 pSpellSprite.uFacing = 0; 5643 pSpellSprite.uFacing = 0;
5644 pSpellSprite.spell_caster_pid = PID(OBJECT_Player, pCastSpell->uPlayerID); 5644 pSpellSprite.spell_caster_pid = PID(OBJECT_Player, pCastSpell->uPlayerID);
5645 pSpellSprite.uSoundID = LOWORD(pCastSpell->sound_id); 5645 pSpellSprite.uSoundID = LOWORD(pCastSpell->sound_id);
5646 a2 = 0; 5646 a2 = 0;
5647 if ( _v733 > 0 ) 5647 for ( a2 = 0; a2 < v505; ++a2 )
5648 { 5648 {
5649 do 5649 v507 = dword_50BF30[a2];
5650 { 5650 pSpellSprite.vPosition.x = pActors[v507].vPosition.x;
5651 v507 = dword_50BF30[a2]; 5651 pSpellSprite.vPosition.y = pActors[v507].vPosition.y;
5652 pSpellSprite.vPosition.x = pActors[v507].vPosition.x; 5652 pSpellSprite.vPosition.z = pActors[v507].vPosition.z - (unsigned int)(signed __int64)((double)pActors[v507].uActorHeight * unk_4D8548);
5653 pSpellSprite.vPosition.y = pActors[v507].vPosition.y; 5653 pSpellSprite.spell_target_pid = PID(OBJECT_Actor, dword_50BF30[a2]);
5654 pSpellSprite.vPosition.z = pActors[v507].vPosition.z - (unsigned int)(signed __int64)((double)pActors[v507].uActorHeight * unk_4D8548); 5654 v509 = pSpellSprite.Create(0, 0, 0, 0);
5655 pSpellSprite.spell_target_pid = PID(OBJECT_Actor, dword_50BF30[a2]); 5655 DamageMonsterFromParty(PID(OBJECT_Item, v509), dword_50BF30[a2], &v688);
5656 v509 = pSpellSprite.Create(0, 0, 0, 0); 5656 }
5657 v510 = a2; 5657 for ( a2 = 0; a2 < v505; ++a2 )
5658 DamageMonsterFromParty(PID(OBJECT_Item, v509), dword_50BF30[a2], &v688);
5659 a2 = v510 + 1;
5660 }
5661 while ( v510 + 1 < _v733 );
5662 }
5663 for ( a2 = 0; a2 < _v733; ++a2 )
5664 { 5658 {
5665 pActor = &pActors[dword_50BF30[a2]]; 5659 pActor = &pActors[dword_50BF30[a2]];
5666 pSpellSprite.vPosition.x = pActor->vPosition.x; 5660 pSpellSprite.vPosition.x = pActor->vPosition.x;
5667 pSpellSprite.vPosition.y = pActor->vPosition.y; 5661 pSpellSprite.vPosition.y = pActor->vPosition.y;
5668 pSpellSprite.vPosition.z = pActor->vPosition.z - (unsigned int)(signed __int64)((double)pActor->uActorHeight * unk_4D8548); 5662 pSpellSprite.vPosition.z = pActor->vPosition.z - (unsigned int)(signed __int64)((double)pActor->uActorHeight * unk_4D8548);