Mercurial > mm7
diff mm7_4.cpp @ 791:346f7069676a
Indoor::GetSector and various stuff
author | Nomad |
---|---|
date | Mon, 25 Mar 2013 05:27:18 +0200 |
parents | f004c7ceb7bd |
children | 41b4e9769863 |
line wrap: on
line diff
--- a/mm7_4.cpp Sun Mar 24 23:45:50 2013 +0200 +++ b/mm7_4.cpp Mon Mar 25 05:27:18 2013 +0200 @@ -439,7 +439,7 @@ } //----- (0046D49E) -------------------------------------------------------- -int __fastcall ODM_GetFloorLevel(int X, signed int Y, int Z, int a4, int *a5, int *a6, int a7) +int __fastcall ODM_GetFloorLevel(int X, signed int Y, int Z, int __unused, int *pIsOnWater, int *a6, int bWaterWalk) { BSPModel *pBModel; // esi@4 ODMFace *pFace; // ecx@11 @@ -474,7 +474,7 @@ v46 = 1; dword_721160[0] = -1; dword_721110[0] = -1; - odm_floor_level[0] = GetTerrainHeightsAroundParty2(X, Y, a5, a7); + odm_floor_level[0] = GetTerrainHeightsAroundParty2(X, Y, pIsOnWater, bWaterWalk); if ( (signed int)pOutdoor->uNumBModels <= 0 ) { *a6 = 0; @@ -605,9 +605,9 @@ if ( v27 ) { v32 = &pOutdoor->pBModels[dword_721160[v27]].pFaces[dword_721110[v27]]; - *a5 = 0; - if ( v32->uAttributes & 0x10 ) - *a5 = 1; + *pIsOnWater = false; + if ( v32->Fluid()) + *pIsOnWater = true; } if ( odm_floor_level[v27] >= odm_floor_level[0] ) odm_floor_level[0] = odm_floor_level[v27];