Mercurial > mm7
diff mm7_5.cpp @ 90:d61f6bc04bf2
more pointer fixes
author | zipi |
---|---|
date | Wed, 06 Feb 2013 22:32:43 +0000 |
parents | 98cd93e14777 |
children | 471b1354cc73 |
line wrap: on
line diff
--- a/mm7_5.cpp Wed Feb 06 21:19:42 2013 +0000 +++ b/mm7_5.cpp Wed Feb 06 22:32:43 2013 +0000 @@ -4948,7 +4948,7 @@ Vec3_int_ v25; // ST04_12@19 unsigned int v26; // ebx@20 Player *v27; // edi@20 - char *v28; // edi@27 + Actor *v28; // edi@27 int v29; // ebx@29 int v30; // eax@29 int v31; // edx@29 @@ -5087,25 +5087,25 @@ uActorID = 0; if ( (signed int)uNumActors > 0 ) { - v28 = (char *)&pActors[0].vPosition.z; + v28 = pActors;//[0].vPosition.z; do { if ( ((Actor *)(v28 - 146))->CanAct() ) { v29 = *(short *)v1; - v30 = *((short *)v28 - 1) - *((short *)v1 - 100); - a1 = *((short *)v28 - 2) - *((short *)v1 - 200); - v31 = *(short *)v28; + v30 = *(&v28->vPosition.y - *((short *)v1 - 100); + a1 = *(&v28->vPosition.x - *((short *)v1 - 200); + v31 = v28->vPosition.z; v48 = v30; v44 = v31; - v32 = ((signed int)*((short *)v28 - 4) >> 1) - v29; - v33 = *((short *)v28 - 5) + *((short *)v1 + 100); + v32 = (v28->uActorHeight >> 1) - v29; + v33 = *(&v28->uActorRadius + *((short *)v1 + 100); if ( a1 * a1 + v48 * v48 + (v31 + v32) * (v31 + v32) < (unsigned int)(v33 * v33) ) { v34.z = *(short *)v1; v34.y = *((short *)v1 - 100); v34.x = *((short *)v1 - 200); - if ( sub_407A1C(*((short *)v28 - 2), *((short *)v28 - 1), *(short *)v28 + 50, v34) ) + if ( sub_407A1C(v28->vPosition.x, v28->vPosition.y, v28->vPosition.z + 50, v34) ) { Vec3_int_::Normalize(&a1, &v48, &v44); v35 = pVelocity; @@ -5118,7 +5118,7 @@ DamageMonsterFromParty(*((short *)v1 - 300), uActorID, v35); break; case 3: - if ( v36 && pActors[v37].GetActorsRelation((Actor *)(v28 - 146)) ) + if ( v36 && pActors[v37].GetActorsRelation(v28) ) sub_43B1B0(*((short *)v1 - 300), uActorID, pVelocity, v36->field_61); break; case 2: @@ -5129,7 +5129,7 @@ } } ++uActorID; - v28 += 836; + ++v28; } while ( (signed int)uActorID < (signed int)uNumActors ); }