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];