diff Indoor.cpp @ 2490:0a0c6d75aabe

two_handed_left_fist
author Ritor1
date Fri, 12 Sep 2014 18:05:26 +0600
parents 273279353509
children de8c5c223e9c
line wrap: on
line diff
--- a/Indoor.cpp	Thu Sep 11 17:30:59 2014 +0600
+++ b/Indoor.cpp	Fri Sep 12 18:05:26 2014 +0600
@@ -140,21 +140,6 @@
 void BLVRenderParams::Reset()
 {
   int v7; // eax@1
-//  int v8; // ST08_4@2
-//  int v9; // ST04_4@2
-//  int v10; // ST00_4@2
-//  double v17; // st7@5
-//  int v18; // eax@5
-//  double v19; // st7@5
-//  int v20; // eax@5
-//  double v21; // st7@5
-//  int v22; // eax@5
-//  unsigned int v23; // edx@5
-//  unsigned int v24; // ecx@5
-//  int v25; // eax@5
-//  int v26; // eax@5
-//  signed int v27; // eax@6
-//  int v29; // [sp+24h] [bp+8h]@5
 
   this->field_0_timer_ = pEventTimer->uTotalGameTimeElapsed;
 
@@ -418,39 +403,10 @@
 //----- (004B0A25) --------------------------------------------------------
 void IndoorLocation::ExecDraw_d3d(unsigned int uFaceID, IndoorCameraD3D_Vec4 *pVertices, unsigned int uNumVertices, RenderVertexSoft *pPortalBounding)
 {
-  //unsigned int v4; // esi@1
-//  char *v5; // eax@4
-//  signed int v6; // ecx@4
-//  char *v7; // eax@8
-//  signed int v8; // ecx@8
-  //BLVFace *v9; // esi@13
-  //IndoorCameraD3D *v10; // edi@16
-  //int v11; // ebx@17
-  //Vec3_short_ *v12; // ecx@18
-  //char *v13; // edx@18
-  //int v14; // eax@19
-  //unsigned __int8 v15; // sf@19
-  //unsigned __int8 v16; // of@19
   int v17; // ebx@25
-  //double v18; // st7@27
-  //double v19; // st6@27
-  //double v20; // st5@27
-  //char v21; // dl@27
-  //unsigned int v22; // eax@44
-//  unsigned int v23; // eax@35
-  //DWORD v24; // eax@37
-  //int v25; // eax@38
-  //char *v26; // edi@38
   IDirect3DTexture2 *v27; // eax@42
-  //Texture *v28; // [sp+Ch] [bp-1Ch]@15
-  //int i; // [sp+10h] [bp-18h]@38
-  //LightmapBuilder *pStru4; // [sp+14h] [bp-14h]@16
-  //IndoorCameraD3D *v31; // [sp+18h] [bp-10h]@16
-  //IndoorCameraD3D_Vec4 *a7; // [sp+1Ch] [bp-Ch]@1
-  //unsigned int uFaceID_; // [sp+20h] [bp-8h]@1
   unsigned int uNumVerticesa; // [sp+24h] [bp-4h]@17
   int a4a; // [sp+34h] [bp+Ch]@25
-  //unsigned int a4b; // [sp+34h] [bp+Ch]@38
 
   if (uFaceID >= pIndoor->uNumFaces)
     return;
@@ -468,7 +424,7 @@
     return;
   
   ++pBLVRenderParams->uNumFacesRenderedThisFrame;
-  pFace->uAttributes |= 0x80;
+  pFace->uAttributes |= FACE_UNKNOW4;
 
   if (!pFace->GetTexture())
     return;
@@ -559,14 +515,14 @@
   stru_F8AD28.pDeltaUV[0] = pIndoor->pFaceExtras[pIndoor->pFaces[uFaceID].uFaceExtraID].sTextureDeltaU;
   stru_F8AD28.pDeltaUV[1] = pIndoor->pFaceExtras[pIndoor->pFaces[uFaceID].uFaceExtraID].sTextureDeltaV;
   result = GetTickCount() >> 3;
-  if ( pIndoor->pFaces[uFaceID].uAttributes & 4 )
+  if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_FLOW_DIAGONAL )
     stru_F8AD28.pDeltaUV[1] -= result & pBitmaps_LOD->GetTexture(pIndoor->pFaces[uFaceID].uBitmapID)->uHeightMinus1;
   else
   {
-    if ( pIndoor->pFaces[uFaceID].uAttributes & 0x20 )
+    if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_FLOW_VERTICAL )
       stru_F8AD28.pDeltaUV[1] += result & pBitmaps_LOD->GetTexture(pIndoor->pFaces[uFaceID].uBitmapID)->uHeightMinus1;
   }
-  if ( pIndoor->pFaces[uFaceID].uAttributes & 0x800 )
+  if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_FLOW_HORIZONTAL )
     stru_F8AD28.pDeltaUV[0] -= result & pBitmaps_LOD->GetTexture(pIndoor->pFaces[uFaceID].uBitmapID)->uWidthMinus1;
   else
   {
@@ -579,47 +535,10 @@
 //----- (004B0EA8) --------------------------------------------------------
 void BspRenderer::AddFaceToRenderList_d3d(unsigned int node_id, unsigned int uFaceID)
 {
-  //unsigned int v3; // edx@1
-  //stru170 *v4; // ebx@1
-  //BLVFace *v5; // eax@1
-  //int v6; // ecx@2
   unsigned __int16 pTransitionSector; // ax@11
-//  Vec3_short_ *v8; // esi@15
   int v9; // edx@15
-  //signed int v10; // eax@18
-  //signed int v11; // edi@19
-  //signed int v12; // ecx@19
-  //signed int v13; // esi@19
-//  signed int v14; // edx@20
-//  int v15; // edx@24
-  //int v16; // esi@29
-  //BLVFace *v17; // edi@34
-  //unsigned __int16 v18; // ax@34
-//  char *v19; // eax@38
-//  signed int v20; // ecx@38
-//  char *v21; // eax@42
-//  signed int v22; // ecx@42
-  //signed int v23; // edx@45
-  //char *v24; // ecx@46
-  //int v25; // eax@47
-  //Vec3_short_ *v26; // eax@47
-  //double v27; // st7@47
-  //signed int v28; // ST28_4@47
   char v29; // al@48
-  //signed int v30; // eax@51
-  //int v31; // eax@52
-  //unsigned int v32; // eax@55
-  //__int16 v33; // cx@56
-  //signed int v34; // [sp+Ch] [bp-14h]@18
-  //int a0; // [sp+14h] [bp-Ch]@2
-  //IndoorCameraD3D *a0a; // [sp+14h] [bp-Ch]@36
-  //signed int v37; // [sp+18h] [bp-8h]@19
-  //stru10 *v38; // [sp+18h] [bp-8h]@36
-  //BLVFace *v39; // [sp+1Ch] [bp-4h]@1
-
-  //v3 = uFaceID;
-  //v4 = this;
-  //v5 = &pIndoor->pFaces[uFaceID];
+
   nodes[num_nodes].viewing_portal_id = -1;
   //v39 = &pIndoor->pFaces[uFaceID];
 
@@ -712,9 +631,9 @@
     nodes[num_nodes].uViewportY = pBLVRenderParams->uViewportY;
     nodes[num_nodes].uViewportW = pBLVRenderParams->uViewportW;
     v29 = false;
-    if (nodes[node_id].viewing_portal_id == -1)//первый портал на который я смотрю
+    if (nodes[node_id].viewing_portal_id == -1)//for first portal
       v29 = pGame->pStru10Instance->CalcPortalShape(pFace, nodes[num_nodes].std__vector_0007AC, nodes[num_nodes].pPortalBounding);
-    else//следующие порталы в портале
+    else//for next portals
     {
       static RenderVertexSoft static_subAddFaceToRenderList_d3d_stru_F7AA08[64];
       static RenderVertexSoft static_subAddFaceToRenderList_d3d_stru_F79E08[64];
@@ -762,45 +681,52 @@
 //----- (00498B15) --------------------------------------------------------
 void IndoorLocation::Release()
 {
-  //IndoorLocation *v1; // esi@1
-  //char *v2; // ebp@1
-  //void *v3; // ST00_4@1
-
-  //v1 = this;
-  //v2 = (char *)&this->ptr_0002B4_doors_ddata;
   free(this->ptr_0002B4_doors_ddata);
-  this->ptr_0002B4_doors_ddata = 0;
+  this->ptr_0002B4_doors_ddata = NULL;
+
   free(this->ptr_0002B0_sector_rdata);
-  this->ptr_0002B0_sector_rdata = 0;
+  this->ptr_0002B0_sector_rdata = NULL;
+
   free(this->ptr_0002B8_sector_lrdata);
-  this->ptr_0002B8_sector_lrdata = 0;
+  this->ptr_0002B8_sector_lrdata = NULL;
+
   free(this->pLFaces);
-  this->pLFaces = 0;
+  this->pLFaces = NULL;
+
   free(this->pSpawnPoints);
-  //v3 = this->pVertices;
-  this->pSpawnPoints = 0;
+  this->pSpawnPoints = NULL;
+
   this->uNumSectors = 0;
   this->uNumFaces = 0;
   this->uNumVertices = 0;
   this->uNumNodes = 0;
   this->uNumDoors = 0;
   this->uNumLights = 0;
+
   free(this->pVertices);
+  this->pVertices = NULL;
+
   free(this->pFaces);
+  this->pFaces = NULL;
+
   free(this->pFaceExtras);
+  this->pFaceExtras = NULL;
+
   free(this->pSectors);
+  this->pSectors = NULL;
+
   free(this->pLights);
+  this->pLights = NULL;
+
   free(this->pDoors);
+  this->pDoors = NULL;
+
   free(this->pNodes);
+  this->pNodes = NULL;
+
   free(this->pMapOutlines);
-  this->pVertices = 0;
-  this->pFaces = 0;
-  this->pFaceExtras = 0;
-  this->pSectors = 0;
-  this->pLights = 0;
-  this->pDoors = 0;
-  this->pNodes = 0;
-  this->pMapOutlines = 0;
+  this->pMapOutlines = NULL;
+
   this->bLoaded = 0;
 }
 
@@ -834,9 +760,6 @@
 //----- (00444810) --------------------------------------------------------
 unsigned int IndoorLocation::GetLocationIndex(const char *Str1)
 {
-//  const char *v1; // edi@1
-//  signed int v2; // esi@1
-
   for (uint i = 0; i < 11; ++i)
     if (!_stricmp(Str1, _4E6BDC_loc_names[i]))
       return i + 1;
@@ -849,7 +772,7 @@
   if ( uCurrentlyLoadedLevelType == LEVEL_Indoor && (sLightID <= pIndoor->uNumLights - 1) && (sLightID >= 0) )
   {
     if ( bToggle )
-      pIndoor->pLights[sLightID].uAtributes &= 0xFFFFFFF7u;
+      pIndoor->pLights[sLightID].uAtributes &= 0xFFFFFFF7;
     else
       pIndoor->pLights[sLightID].uAtributes |= 8;
     pParty->uFlags |= 2;
@@ -1675,9 +1598,9 @@
     if (pFaceExtra->uEventID)
     {
       if (pFaceExtra->HasEventint())
-        pFace->uAttributes |= 0x100000;
+        pFace->uAttributes |= FACE_UNKNOW;
       else
-        pFace->uAttributes &= ~0x100000;
+        pFace->uAttributes &= ~FACE_UNKNOW;
     }
   }
 
@@ -1840,7 +1763,7 @@
   void *pRawDLV = nullptr;
   strcpy(&pFilename[strlen(pFilename) - 4], ".dlv");
   File = pNew_LOD->FindContainer(pFilename, 1);//error on D28.dlv
-  fread(&header, 0x10u, 1, File);//(FILE *)v245);
+  fread(&header, 0x10, 1, File);//(FILE *)v245);
   bool _v244 = false;
   if (header.uVersion != 91969 ||
       header.pMagic[0] != 'm'  ||
@@ -1973,9 +1896,9 @@
     if (pFaceExtra->uEventID)
     {
       if (pFaceExtra->HasEventint())
-        pFace->uAttributes |= 0x100000;
+        pFace->uAttributes |= FACE_UNKNOW;
       else
-        pFace->uAttributes &= ~0x100000;
+        pFace->uAttributes &= ~FACE_UNKNOW;
     }
   }
 
@@ -2169,59 +2092,17 @@
 int IndoorLocation::GetSector(int sX, int sY, int sZ)
 {
   int v4; // esi@1
-  //unsigned __int8 v5; // zf@1
-  //unsigned __int8 v6; // sf@1
-  //unsigned __int8 v7; // of@1
-  //BLVSector *v8; // eax@3
-  //int v9; // edi@9
-  //int v10; // eax@9
-  //int v11; // edx@9
-  //int v12; // eax@10
-  //unsigned __int16 v13; // ax@12
-  //int v14; // edi@14
-  //BLVFace *v15; // eax@14
-  //BLVFace *v16; // edi@14
-  //PolygonType v17; // al@14
-  //unsigned __int16 *pVertexIDs; // esi@16
-  //Vec3_short_ *v19; // eax@16
-  //int v20; // edx@16
-  //unsigned __int16 *v21; // esi@17
-  //int v22; // edi@19
-  //int v23; // edi@20
-  //Vec3_short_ *v24; // edx@20
   signed int v25; // edx@21
   int v26; // ebx@23
-  //int v27; // edx@26
-  //signed __int64 v28; // qtt@26
-  ///Vec3_short_ *v29; // eax@26
-  //Vec3_short_ *v30; // edx@26
-  //int v31; // edx@26
-  //signed int v32; // edi@27
-//  signed __int64 v33; // qtt@27
-  //Vec3_short_ *v34; // edx@27
-  //int v35; // edx@32
   int v37; // edi@38
   int pSectorID; // ebx@40
   int v39; // eax@41
-//  BLVFace *pFace; // esi@42
-//  PolygonType pPolygonType; // dl@42
-//  int v42; // edx@43
   int v43[50]; // [sp+Ch] [bp-108h]@1
-  //int v44; // [sp+D4h] [bp-40h]@9
-  //int v45; // [sp+D8h] [bp-3Ch]@14
-  //int v46; // [sp+DCh] [bp-38h]@14
-  //int v47; // [sp+E0h] [bp-34h]@19
-  //int v48; // [sp+E4h] [bp-30h]@9
-  //Vec3_short_ *v49; // [sp+E8h] [bp-2Ch]@19
   bool v50; // [sp+ECh] [bp-28h]@19
   int v51; // [sp+F0h] [bp-24h]@9
-  //unsigned int v52; // [sp+F4h] [bp-20h]@2
   int v53; // [sp+F8h] [bp-1Ch]@10
   int v54; // [sp+FCh] [bp-18h]@16
   int v55; // [sp+100h] [bp-14h]@1
-//  int v56; // [sp+104h] [bp-10h]@1
-//  int v57; // [sp+108h] [bp-Ch]@16
-  //Vec3_short_ *v58; // [sp+10Ch] [bp-8h]@20
   int v59; // [sp+110h] [bp-4h]@16
 
   v4 = 0;
@@ -2424,13 +2305,13 @@
 
   }
 //LABEL_12:
-  if ( this->uAttributes & 0x800000 )
+  if ( this->uAttributes & FACE_UNKNOW3 )
   {
     a2->x = -a2->x;
     a2->y = -a2->y;
     a2->z = -a2->z;
   }
-  if ( this->uAttributes & 0x1000000 )
+  if ( this->uAttributes & FACE_UNKNOW4 )
   {
     a3->x = -a3->x;
     a3->y = -a3->y;
@@ -2475,9 +2356,6 @@
   int v25; // eax@25
   signed __int64 v27; // qtt@27
   BLVFaceExtra *v28; // esi@32
-//  int v29; // ecx@34
-//  int v30; // edx@34
-//  unsigned __int64 v31; // qax@34
   int v32; // eax@34
   Vec3_short_ *v34; // eax@35
   int v35; // ecx@35
@@ -2487,11 +2365,6 @@
   int v39; // eax@35
   int v40; // edx@35
   Vec3_short_ *v43; // edi@36
-//  unsigned int v49; // ecx@46
-//  unsigned __int16 v50; // ax@48
-//  unsigned int v51; // eax@51
-//  unsigned __int16 v52; // ax@54
-//  int v56; // ecx@58
   int v57; // eax@58
   Vec3_int_ v67;
   Vec3_int_ v70;
@@ -2502,7 +2375,6 @@
   int v82; // [sp+44h] [bp-20h]@35
   int v83; // [sp+48h] [bp-1Ch]@34
   int v84; // [sp+4Ch] [bp-18h]@34
-//  int v85; // [sp+50h] [bp-14h]@19
   SoundID eDoorSoundID; // [sp+54h] [bp-10h]@1
   int v88; // [sp+5Ch] [bp-8h]@18
   int v89; // [sp+60h] [bp-4h]@6
@@ -2524,11 +2396,11 @@
       {
         v89 = door->uMoveLength;
         door->uState = BLVDoor::Open;
-        if ( !(door->uAttributes & 6) && door->uNumVertices != 0)
+        if ( !(door->uAttributes & FACE_UNKNOW5) && door->uNumVertices != 0)
           pAudioPlayer->PlaySound((SoundID)((int)eDoorSoundID + 1), PID(OBJECT_BLVDoor,i), 0, -1, 0, 0, 0, 0);
         //goto LABEL_18;
       }
-	  else if (!(door->uAttributes & 6) && door->uNumVertices)
+	  else if (!(door->uAttributes & FACE_UNKNOW5) && door->uNumVertices)
 		  pAudioPlayer->PlaySound(eDoorSoundID, PID(OBJECT_BLVDoor, i), 1, -1, 0, 0, 0, 0);
     }
     else
@@ -2538,14 +2410,14 @@
       {
         v89 = 0;
         door->uState = BLVDoor::Closed;
-        if ( !(door->uAttributes & 6) && door->uNumVertices != 0)
+        if ( !(door->uAttributes & FACE_UNKNOW5) && door->uNumVertices != 0)
           pAudioPlayer->PlaySound((SoundID)((int)eDoorSoundID + 1), PID(OBJECT_BLVDoor,i), 0, -1, 0, 0, 0, 0);
         //goto LABEL_18;
       }
 	  else
 	  {
 		  v89 = door->uMoveLength - v5;
-		  if (!(door->uAttributes & 6) && door->uNumVertices)
+		  if (!(door->uAttributes & FACE_UNKNOW5) && door->uNumVertices)
 			  pAudioPlayer->PlaySound(eDoorSoundID, PID(OBJECT_BLVDoor, i), 1, -1, 0, 0, 0, 0);
 	  }
     }
@@ -2633,7 +2505,7 @@
         face->pVertexUIDs[j] = v76;
         face->pVertexVIDs[j] = v77;
       }
-      if ( face->uAttributes & FACE_UNKNOW3 )
+      if ( face->uAttributes & FACE_HAS_EVENT )
         v28->sTextureDeltaU -= v39;
       else
       {
@@ -2643,11 +2515,11 @@
             v28->sTextureDeltaU -= v84 + pBitmaps_LOD->pTextures[face->uBitmapID].uTextureWidth;
         }
       }
-      if ( face->uAttributes & 8 )
+      if ( face->uAttributes & FACE_UNKNOW6 )
         v28->sTextureDeltaV -= v40;
       else
       {
-        if ( face->uAttributes & FACE_UNKNOW7 )
+        if ( face->uAttributes & FACE_INDOOR_DOOR )
         {
           if ( face->uBitmapID != -1 )
             v28->sTextureDeltaV -= v82 + pBitmaps_LOD->GetTexture(face->uBitmapID)->uTextureHeight;
@@ -2684,21 +2556,9 @@
   int v4; // eax@8
   __int16 v5; // ax@11
   signed int v6; // ebx@14
-//  signed __int16 v9; // ax@17
   signed __int64 v10; // qax@18
-//  int v12; // eax@29
-//  unsigned __int64 v13; // qax@29
-//  int v14; // eax@30
-//  unsigned __int64 v15; // qax@30
-//  BLVFace *v17; // edx@33
-//  int v18; // ecx@33
-//  BLVFace *v19; // eax@34
-//  int v20; // ecx@46
   int v22; // edi@46
-//  int v23; // eax@48
   unsigned int v24; // eax@51
-//  int v25; // eax@52
-//  int v26; // ebx@54
   int v27; // ST08_4@54
   int v28; // edi@54
   int v29; // eax@54
@@ -2706,21 +2566,11 @@
   int v31; // ebx@62
   int v32; // eax@62
   int v33; // eax@64
-//  unsigned int v34; // ecx@64
-//  int v35; // ecx@64
   signed int v37; // ebx@85
-//  int v39; // ecx@90
-//  int v40; // ebx@90
-//  PolygonType v41; // al@94
-//  int v42; // eax@96
-//  __int16 v43; // dx@96
   int v44; // ecx@96
   int v45; // edi@101
-//  unsigned __int8 v49; // zf@103
-//  unsigned __int8 v50; // sf@103
   AIDirection v52; // [sp+0h] [bp-60h]@75
   AIDirection v53; // [sp+1Ch] [bp-44h]@116
-//  int v54; // [sp+38h] [bp-28h]@53
   unsigned int uSectorID; // [sp+3Ch] [bp-24h]@6
   int v56; // [sp+40h] [bp-20h]@6
   unsigned int _this; // [sp+44h] [bp-1Ch]@51
@@ -3022,7 +2872,7 @@
 							  pActors[actor_id].uYawAngle = stru_5C6E00->Atan2(pActors[actor_id].vVelocity.x, pActors[actor_id].vVelocity.y);
 						  }
 					  }
-					  if (pIndoor->pFaces[v37].uAttributes & 0x8000000)
+					  if (pIndoor->pFaces[v37].uAttributes & FACE_UNKNOW1)
 						  EventProcessor(pIndoor->pFaceExtras[pIndoor->pFaces[v37].uFaceExtraID].uEventID, 0, 1);
 				  }
 				  pActors[actor_id].vVelocity.x = fixpoint_mul(58500, pActors[actor_id].vVelocity.x);
@@ -3084,11 +2934,8 @@
   unsigned int map_id; // eax@8
   MapInfo *map_info; // edi@9
   int v4; // eax@11
-//  char *v14; // esi@49
   DecorationDesc *decoration; // eax@54
-//  char v22; // cl@64
   char v28; // zf@81
-//  __int16 v29; // ax@85
   signed int v30; // edi@94
   int v34[4]; // [sp+3E8h] [bp-2Ch]@96
   int v35; // [sp+3F8h] [bp-1Ch]@1
@@ -3335,23 +3182,10 @@
   int v13; // ecx@13
   signed int v14; // ebx@14
   int v15; // eax@16
-  //int v16; // edx@19
-  //int v17; // ST18_4@19
-  //signed int v18; // edx@19
-  //signed __int64 v19; // qtt@19
   int v21; // eax@27
-  //int v22; // ecx@29
   signed int v28; // eax@45
   int v29; // ebx@47
-//  int v30; // edx@49
-  //int v31; // ST10_4@49
-  //signed int v32; // edx@49
-//  signed __int64 v33; // qtt@49
-  //signed int v34; // eax@54
-  //signed int v35; // esi@56
-  //int result; // eax@57
   int v38; // edx@62
-  //int v44; // [sp+20h] [bp-20h]@10
   bool v47; // [sp+24h] [bp-1Ch]@43
   bool current_vertices_Y; // [sp+28h] [bp-18h]@10
   bool v49; // [sp+28h] [bp-18h]@41
@@ -3557,26 +3391,15 @@
 //----- (0043FDED) --------------------------------------------------------
 void PrepareActorRenderList_BLV()
 {
-//  unsigned __int16 v3; // ax@3
   unsigned int v4; // eax@5
   int v6; // esi@5
-//  unsigned int v7; // eax@7
   int v8; // eax@10
   SpriteFrame *v9; // eax@16
   int v12; // ecx@28
   signed __int64 v18; // qtt@36
-//  int v19; // ST5C_4@36
-//  signed __int64 v20; // qtt@37
-//  int v21; // ST5C_4@37
-//  signed __int16 v22; // cx@39
-//  int v23; // ST50_4@40
-//  signed int v24; // ecx@40
   int v25; // edx@44
   __int16 v26; // ax@44
-//  unsigned __int8 v30; // sf@44
-//  int a3; // [sp+20h] [bp-34h]@5
   int a5a; // [sp+2Ch] [bp-28h]@36
-//  int a5b; // [sp+2Ch] [bp-28h]@40
   __int16 v41; // [sp+3Ch] [bp-18h]@18
   int a6; // [sp+40h] [bp-14h]@34
   int v43; // [sp+44h] [bp-10h]@34
@@ -3702,12 +3525,7 @@
   unsigned int v6; // eax@12
   int v7; // ecx@12
   int v9; // ecx@12
-//  unsigned __int16 v10; // ax@12
-  //int *v11; // eax@20
   __int64 v18; // ST5C_4@27
-//  signed __int64 v19; // qtt@28
-//  int v20; // ST5C_4@28
-//  __int16 v22; // ax@29
   int a6; // [sp+2Ch] [bp-30h]@12
   int v31; // [sp+38h] [bp-24h]@27
   signed __int16 v34; // [sp+44h] [bp-18h]@14
@@ -3848,8 +3666,6 @@
   int v7; // ebp@10
   int v8; // ebx@10
   __int16 v9; // di@18
-  //int v10; // [sp+10h] [bp-Ch]@1
-  //bool v11; // [sp+14h] [bp-8h]@5
   BspRenderer_stru0 *node; // [sp+18h] [bp-4h]@1
 
   //Log::Warning(L"sub_4406BC(%u, %u)", a1, uFirstNode);
@@ -3902,9 +3718,7 @@
   int v9; // edi@5
   int v10; // eax@7
   SpriteFrame *v11; // eax@7
-//  char v16; // zf@18
   signed __int64 v20; // qtt@19
-//  signed __int64 v21; // qtt@20
   Particle_sw particle; // [sp+Ch] [bp-A0h]@3
   int v30; // [sp+8Ch] [bp-20h]@7
   int a5; // [sp+94h] [bp-18h]@17
@@ -4057,31 +3871,14 @@
 //----- (0048653D) --------------------------------------------------------
 void stru149::_48653D_frustum_blv(int a2, int a3, int a4, int a5, int a6, int a7)//portal frustum culling
 {
-  //stru149 *v7; // esi@1
   int v8; // edi@1
   int v9; // eax@1
-  //int v10; // edx@1
-  //int v11; // ecx@1
-  //int v12; // eax@1
-  //int v13; // ebx@2
-  //int v14; // ecx@2
-  //int v15; // eax@2
   int v16; // ST14_4@3
   int v17; // ST10_4@3
-  //int v18; // eax@5
   int v19; // ST10_4@6
-  //int v20; // eax@8
   int v21; // ST10_4@9
-  //int v22; // eax@10
-  //int v23; // ecx@10
-  //int v24; // eax@10
-  //int result; // eax@10
-  //int v26; // [sp+14h] [bp-14h]@1
-  //int v27; // [sp+18h] [bp-10h]@1
   int v28; // [sp+1Ch] [bp-Ch]@1
   int v29; // [sp+24h] [bp-4h]@1
-  //int v30; // [sp+30h] [bp+8h]@10
-  //int v31; // [sp+3Ch] [bp+14h]@10
 
   v8 = stru_5C6E00->Cos(pGame->pIndoorCameraD3D->sRotationY);
   v29 = stru_5C6E00->Sin(pGame->pIndoorCameraD3D->sRotationY);
@@ -4251,7 +4048,6 @@
   int v_4a; // [sp+8Ch] [bp+10h]@65
   int v_4b; // [sp+8Ch] [bp+10h]@136
   int v_4c; // [sp+8Ch] [bp+10h]@141
-//  int v_8; // [sp+90h] [bp+14h]@53
 
   //__debugbreak();срабатывает при стрельбе огненным шаром
 
@@ -4292,13 +4088,9 @@
     for ( a5b = 0; a5b < 2; a5b++ )
     {
       if ( a5b )
-      {
 		v59 = pIndoor->GetSector(sX, sY, sZ);
-      }
       else
-      {
 		v59 = pIndoor->GetSector(outx, outy, outz);
-      }
       //v60 = pIndoor->pSectors;
       //v61 = 116 * v59;
       //i = 116 * v59;
@@ -4776,14 +4568,9 @@
   int v22; // edi@46
   int v24; // edx@48
   int v26; // eax@55
-//  signed int v27; // edi@55
   int v29; // edx@57
   int v31; // eax@64
-//  signed int v32; // edi@64
-//  int v34; // eax@66
-//  int v35; // dx@66
   __int16 v36; // dx@67
-  //__int16 v37; // di@67
   __int16 v38; // dx@67
   int v46; // edx@87
   int v49; // esi@93
@@ -5045,16 +4832,10 @@
   signed int right_num_vertices; // ebx@41
   signed int top_num_vertices; // edi@51
   int bottom_num_vertices; // ebx@61
-//  signed int v62; // edx@75
-//  int v63; // ecx@76
-//  int v64; // esi@76
-//  int v65; // ecx@83
-//  signed int v71; // [sp+14h] [bp-14h]@75
   bool current_vertices_flag; // [sp+18h] [bp-10h]@9
-//  int thisf; // [sp+18h] [bp-10h]@74
   signed int depth_num_vertices; // [sp+1Ch] [bp-Ch]@9
-//  int v80; // [sp+1Ch] [bp-Ch]@76
   bool next_vertices_flag; // [sp+20h] [bp-8h]@10
+
   //Доп инфо "Программирование трёхмерных игр для windows" Ламот стр 910
 
   pFace = &pIndoor->pFaces[uFaceID];
@@ -5506,20 +5287,6 @@
   int v1; // ebx@1
   int v2; // edi@1
   double v10; // st7@27
-//  unsigned int v12; // eax@49
-//  double v13; // st7@50
-//  int v17; // eax@62
-//  double v18; // st7@62
-//  int v19; // ST40_4@62
-//  int v20; // eax@65
-//  double v21; // st7@65
-//  int v22; // ST40_4@65
-//  int v23; // eax@66
-//  double v24; // st7@66
-//  int v25; // ST40_4@66
-//  int v26; // eax@67
-//  double v27; // st7@67
-//  int v28; // ST40_4@67
   int new_party_z; // esi@96
   int v38; // eax@96
   int v39; // ecx@106
@@ -5529,8 +5296,6 @@
   int v46; // ecx@133
   int v52; // eax@140
   int v54; // ebx@146
-//  int v63; // [sp-8h] [bp-68h]@75
-//  int v65; // [sp-4h] [bp-64h]@75
   unsigned int uFaceEvent; // [sp+14h] [bp-4Ch]@1
   bool party_running_flag; // [sp+1Ch] [bp-44h]@1
   bool bFeatherFall; // [sp+24h] [bp-3Ch]@15
@@ -5994,7 +5759,7 @@
       {
         if ( on_water )
           pAudioPlayer->PlaySound(SOUND_RunAlongWater, 804, 1, -1, 0, 0, 0, 0);
-        else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_UNKNOW6 )//по ковру
+        else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_INDOOR_CARPET )//по ковру
           pAudioPlayer->PlaySound((SoundID)50, 804, 1, -1, 0, 0, 0, 0);
         else
           pAudioPlayer->PlaySound(SOUND_RunAlong3DModel, 804, 1, -1, 0, 0, 0, 0);
@@ -6007,7 +5772,7 @@
       {
         if ( on_water )
           pAudioPlayer->PlaySound(SOUND_WalkAlongWater, 804, 1, -1, 0, 0, 0, 0);
-        else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_UNKNOW6 )//по ковру
+        else if ( pIndoor->pFaces[uFaceID].uAttributes & FACE_INDOOR_CARPET )//по ковру
           pAudioPlayer->PlaySound((SoundID)89, 804, 1, -1, 0, 0, 0, 0);
         else
           pAudioPlayer->PlaySound(SOUND_WalkAlong3DModel, 804, 1, -1, 0, 0, 0, 0);
@@ -6022,13 +5787,13 @@
     pParty->uFlags &= ~PARTY_FLAGS_1_FALLING;
   else
     pParty->uFlags |= PARTY_FLAGS_1_FALLING;
-  pParty->uFlags &= ~0x200;
+  pParty->uFlags &= ~PARTY_FLAGS_1_BURNING;
   pParty->vPosition.x = new_party_x;
   pParty->vPosition.z = new_party_z;
   pParty->vPosition.y = new_party_y;
   //pParty->uFallSpeed = v89;
-  if ( !hovering && pIndoor->pFaces[uFaceID].uAttributes & FACE_UNKNOW5 )
-    pParty->uFlags |= 0x200;
+  if ( !hovering && pIndoor->pFaces[uFaceID].uAttributes & FACE_INDOOR_LAVA )
+    pParty->uFlags |= PARTY_FLAGS_1_BURNING;//0x200
   if (uFaceEvent)
     EventProcessor(uFaceEvent, 0, 1);
 }