Mercurial > mm7
diff SaveLoad.cpp @ 105:56e11be29db1
Слияние
author | Ritor1 |
---|---|
date | Tue, 05 Feb 2013 19:08:52 +0600 |
parents | 6ad816231528 |
children | 9abdd40a107b |
line wrap: on
line diff
--- a/SaveLoad.cpp Tue Feb 05 19:08:22 2013 +0600 +++ b/SaveLoad.cpp Tue Feb 05 19:08:52 2013 +0600 @@ -247,7 +247,7 @@ int v17; // esi@37 unsigned int v18; // ecx@38 unsigned int v19; // esi@39 - char *v20; // edx@39 + BSPModel *v20; // edx@39 void *v21; // esi@41 void *v22; // esi@41 BSPModel *v23; // eax@42 @@ -265,16 +265,16 @@ //std::string v35; // [sp-18h] [bp-288h]@8 const char *v36; // [sp-10h] [bp-280h]@6 const char *v37; // [sp-Ch] [bp-27Ch]@6 - const char *v38; // [sp-8h] [bp-278h]@8 + unsigned int *v38; // [sp-8h] [bp-278h]@8 CHAR Buffer; // [sp+Ch] [bp-264h]@59 - char Dir; // [sp+8Ch] [bp-1E4h]@51 - char Drive; // [sp+ACh] [bp-1C4h]@51 + char Dir[255]; // [sp+8Ch] [bp-1E4h]@51 + char Drive[255]; // [sp+ACh] [bp-1C4h]@51 SavegameHeader header; // [sp+CCh] [bp-1A4h]@10 //int v43; // [sp+CCh] [bp-1A4h]@10 //char Dest[20]; // [sp+E0h] [bp-190h]@10 //unsigned __int64 pTimePlayed; // [sp+F4h] [bp-17Ch]@10 - char Filename; // [sp+130h] [bp-140h]@51 - char Ext; // [sp+150h] [bp-120h]@51 + char Filename[255]; // [sp+130h] [bp-140h]@51 + char Ext[255]; // [sp+150h] [bp-120h]@51 char v48; // [sp+151h] [bp-11Fh]@51 char Source[32]; // [sp+170h] [bp-100h]@51 char Str[120]; // [sp+190h] [bp-E0h]@8 @@ -419,7 +419,7 @@ } if ( !a2 ) { - __debugbreak(); + //__debugbreak(); sub_42FA22_mess_with_laying_item_list(); v9 = (int)malloc(0xF4240); v71 = (std::string *)v9; @@ -446,7 +446,7 @@ v68 = 0; for (int i = 0; i <= (signed int)pIndoor->uNumFaces; ++i) { - v38 = (char *)v68 + (unsigned int)pIndoor->pFaces + 44; + v38 = &pIndoor->pFaces[i].uAttributes;//(char *)v68 + (unsigned int)pIndoor->pFaces + 44; memcpy(v11, v38, 4); v68 += 48; v11 = (char *)v11 + 4; @@ -489,11 +489,11 @@ if ( (signed int)pOutdoor->uNumBModels > 0 ) { v19 = pOutdoor->uNumBModels; - v20 = (char *)&pOutdoor->pBModels->uNumFaces; + v20 = &pOutdoor->pBModels[0]; do { - v18 += *(int *)v20; - v20 += 188; + v18 += v20->uNumFaces; + ++v20; --v19; pOutdoor->ddm.uNumFacesInBModels = v18; } @@ -512,16 +512,16 @@ { v23 = pOutdoor->pBModels; v24 = 76; - for (int i = 0; i <= (signed int)pOutdoor->uNumBModels ; ++i) + for (int i = 0; i < (signed int)pOutdoor->uNumBModels ; ++i) { - v25 = *(int *)&v23->pModelName[v24] == 0; - v26 = *(int *)&v23->pModelName[v24] < 0; + v25 = v23[i].uNumFaces == 0;//*(int *)&v23->pModelName[v24] == 0; + v26 = v23[i].uNumFaces < 0;//*(int *)&v23->pModelName[v24] < 0; if ( !(v26 | v25) ) { v68 = 0; - for (int j = 0; j <= *(int *)&pOutdoor->pBModels->pModelName[v24]; ++j) + for (int j = 0; j < pOutdoor->pBModels[i].uNumFaces;++j)//*(int *)&pOutdoor->pBModels->pModelName[v24]; ++j) { - v38 = (char *)v68 + *(int *)&v23->pModelName[v24 + 8] + 28; + v38 = &(v23[i].pFaces[j].uAttributes); //(char *)v68 + *(int *)&v23->pModelName[v24 + 8] + 28; memcpy(v22, v38, 4); v23 = pOutdoor->pBModels; v68 += 154; @@ -560,7 +560,7 @@ } v32 = v17 + 56; strcpy(Source, pCurrentMapName); - _splitpath(Source, &Drive, &Dir, &Filename, &Ext); + _splitpath(Source, Drive, Dir, Filename, Ext); v48 = 100; Size = v32 - (int)DstBuf; v69 = 999984;