Mercurial > might-and-magic-trilogy
diff mm7_2.cpp @ 71:8453114181af
intermediate
author | Nomad |
---|---|
date | Sat, 27 Oct 2012 21:44:29 +0200 |
parents | fdacbc653945 |
children | 75994455e457 |
line wrap: on
line diff
--- a/mm7_2.cpp Sat Oct 27 20:48:36 2012 +0200 +++ b/mm7_2.cpp Sat Oct 27 21:44:29 2012 +0200 @@ -7546,7 +7546,7 @@ char *v45; // [sp-4h] [bp-ECh]@9 char Str; // [sp+Ch] [bp-DCh]@60 char Str2; // [sp+2Ch] [bp-BCh]@29 - char v48; // [sp+A4h] [bp-44h]@52 + unsigned int uFaceID; // [sp+A4h] [bp-44h]@52 void *Src; // [sp+A8h] [bp-40h]@50 int v50; // [sp+ACh] [bp-3Ch]@47 char Source; // [sp+B0h] [bp-38h]@20 @@ -7768,7 +7768,7 @@ v37 = pIndoor->GetSector(v55, a4, v36); if ( v37 == v54 ) { - v38 = _46CEC3_get_floor_level(v55, a4, a3, v37, (int *)&v48); + v38 = _46CEC3_get_floor_level(v55, a4, a3, v37, &uFaceID); v39 = v38; if ( v38 != -30000 ) { @@ -7813,7 +7813,7 @@ const char *v15; // [sp-4h] [bp-24h]@2 unsigned __int16 v16; // [sp+0h] [bp-20h]@1 int v17; // [sp+4h] [bp-1Ch]@1 - int v18; // [sp+8h] [bp-18h]@16 + unsigned int uFaceID; // [sp+8h] [bp-18h]@16 int v19; // [sp+Ch] [bp-14h]@16 size_t v20; // [sp+10h] [bp-10h]@6 int v21; // [sp+14h] [bp-Ch]@14 @@ -7873,10 +7873,10 @@ v6->uMovementSpeed = v9; v10 = rand() % 2048; v11 = ((unsigned __int64)(stru_5C6E00->SinCos(v10) * (signed __int64)v19) >> 16) + pParty->vPosition.x; - v18 = stru_5C6E00->SinCos(v10 - stru_5C6E00->uIntegerHalfPi); - v23 = (unsigned __int64)(v18 * (signed __int64)v19) >> 16; + uFaceID = stru_5C6E00->SinCos(v10 - stru_5C6E00->uIntegerHalfPi); + v23 = (unsigned __int64)(uFaceID * (signed __int64)v19) >> 16; v12 = pParty->vPosition.y; - v13 = (unsigned __int64)(v18 * (signed __int64)v19) >> 16; + v13 = (unsigned __int64)(uFaceID * (signed __int64)v19) >> 16; v6->vInitialPosition.x = v11; v14 = v13 + v12; LOWORD(v12) = v22; @@ -7900,7 +7900,7 @@ || (v22 = pParty->vPosition.z, result = pIndoor->GetSector(v11, v14, pParty->vPosition.z), result == v21) - && (result = _46CEC3_get_floor_level(v11, v14, v22, result, &v18), result != -30000) + && (result = _46CEC3_get_floor_level(v11, v14, v22, result, &uFaceID), result != -30000) && (result = abs(result - v22), result <= 1024) ) { if ( v20 == uNumActors ) @@ -8368,7 +8368,7 @@ int v22; // [sp+2Ch] [bp-18h]@3 int v23; // [sp+30h] [bp-14h]@11 int v24; // [sp+34h] [bp-10h]@1 - int v25; // [sp+38h] [bp-Ch]@10 + unsigned int uFaceID; // [sp+38h] [bp-Ch]@10 int v26; // [sp+3Ch] [bp-8h]@11 int v27; // [sp+40h] [bp-4h]@11 @@ -8395,10 +8395,10 @@ if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor ) { v22 = 0; - v25 = 0; + uFaceID = 0; while ( 1 ) { - ++v25; + ++uFaceID; v6 = rand() % 1024 + 512; v7 = rand() % (signed int)stru_5C6E00->uIntegerDoublePi; v20 = stru_5C6E00->SinCos(v7); @@ -8437,12 +8437,12 @@ v22 = 1; } LABEL_16: - v11 = v25 == 100; - if ( v25 >= 100 ) + v11 = uFaceID == 100; + if ( uFaceID >= 100 ) break; if ( v22 ) { - v11 = v25 == 100; + v11 = uFaceID == 100; break; } } @@ -8470,7 +8470,7 @@ v17 = pIndoor->GetSector(v19.vPosition.x, v23 + pParty->vPosition.y, pParty->vPosition.z); if ( v17 == v22 ) { - v18 = _46CEC3_get_floor_level(v19.vPosition.x, v19.vPosition.y, v19.vPosition.z, v17, &v25); + v18 = _46CEC3_get_floor_level(v19.vPosition.x, v19.vPosition.y, v19.vPosition.z, v17, &uFaceID); v19.vPosition.z = v18; if ( v18 != -30000 ) {