Mercurial > mm7
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); }