comparison mm7_5.cpp @ 513:3ee1e351e710

Some CharacterUI_LoadPaperdollTextures overflows
author Nomad
date Fri, 01 Mar 2013 18:22:43 +0200
parents 0e27362ac1d9
children cb0ad52d6a26
comparison
equal deleted inserted replaced
511:a13d7b95424e 513:3ee1e351e710
6221 } 6221 }
6222 } 6222 }
6223 } 6223 }
6224 6224
6225 //----- (0043BCA7) -------------------------------------------------------- 6225 //----- (0043BCA7) --------------------------------------------------------
6226 int __cdecl CharacterUI_LoadPaperdollTextures() 6226 void CharacterUI_LoadPaperdollTextures()
6227 { 6227 {
6228 int v0; // edi@7 6228 int v0; // edi@7
6229 enum CHARACTER_RACE pRace; // ebx@7 6229 enum CHARACTER_RACE pRace; // ebx@7
6230 signed int pSex; // eax@7 6230 signed int pSex; // eax@7
6231 int v3; // ebx@10 6231 int v3; // ebx@10
6236 Player *pPlayer2; // ebx@16 6236 Player *pPlayer2; // ebx@16
6237 char *v9; // ebx@16 6237 char *v9; // ebx@16
6238 char v10; // al@16 6238 char v10; // al@16
6239 signed int v11; // edi@21 6239 signed int v11; // edi@21
6240 Player *pPlayer3; // ebx@23 6240 Player *pPlayer3; // ebx@23
6241 Player *pPlayer4; // edi@29 6241 //Player *pPlayer4; // edi@29
6242 int v14; // ebp@29 6242 //int v14; // ebp@29
6243 stru331 *v15; // edi@65 6243 //stru331 *v15; // edi@65
6244 signed int v16; // ebx@66 6244 //signed int v16; // ebx@66
6245 unsigned int v17; // eax@67 6245 //unsigned int v17; // eax@67
6246 unsigned int *v18; // ecx@67 6246 //unsigned int *v18; // ecx@67
6247 unsigned int *v19; // ebx@68 6247 //unsigned int *v19; // ebx@68
6248 int v20; // edi@73 6248 //int v20; // edi@73
6249 int v21; // ebp@73 6249 int v21; // ebp@73
6250 unsigned int v22; // eax@76 6250 unsigned int v22; // eax@76
6251 int v23; // ecx@76 6251 int v23; // ecx@76
6252 unsigned int v24; // eax@78 6252 unsigned int v24; // eax@78
6253 int v25; // ecx@78 6253 int v25; // ecx@78
6254 int v26; // ebx@79 6254 int v26; // ebx@79
6255 unsigned int v27; // eax@80 6255 unsigned int v27; // eax@80
6256 int v28; // ecx@80 6256 int v28; // ecx@80
6257 int result; // eax@83 6257 //int result; // eax@83
6258 int v30; // [sp+10h] [bp-28h]@5 6258 int v30; // [sp+10h] [bp-28h]@5
6259 signed int v31; // [sp+10h] [bp-28h]@68 6259 //signed int v31; // [sp+10h] [bp-28h]@68
6260 signed int v32; // [sp+10h] [bp-28h]@75 6260 signed int v32; // [sp+10h] [bp-28h]@75
6261 signed int v33; // [sp+10h] [bp-28h]@77 6261 signed int v33; // [sp+10h] [bp-28h]@77
6262 int v34; // [sp+10h] [bp-28h]@79 6262 int v34; // [sp+10h] [bp-28h]@79
6263 char *v35; // [sp+14h] [bp-24h]@65 6263 //char *v35; // [sp+14h] [bp-24h]@65
6264 int v36; // [sp+14h] [bp-24h]@75 6264 int v36; // [sp+14h] [bp-24h]@75
6265 int v37; // [sp+14h] [bp-24h]@77 6265 int v37; // [sp+14h] [bp-24h]@77
6266 signed int v38; // [sp+14h] [bp-24h]@79 6266 signed int v38; // [sp+14h] [bp-24h]@79
6267 unsigned int *v39; // [sp+18h] [bp-20h]@66 6267 //unsigned int *v39; // [sp+18h] [bp-20h]@66
6268 int *v40; // [sp+18h] [bp-20h]@73 6268 int *v40; // [sp+18h] [bp-20h]@73
6269 unsigned int *v41; // [sp+1Ch] [bp-1Ch]@73 6269 //unsigned int *v41; // [sp+1Ch] [bp-1Ch]@73
6270 int v42; // [sp+20h] [bp-18h]@6 6270 int v42; // [sp+20h] [bp-18h]@6
6271 int v43; // [sp+20h] [bp-18h]@73 6271 int v43; // [sp+20h] [bp-18h]@73
6272 char pContainer[128]; // [sp+24h] [bp-14h]@12 6272 char pContainer[128]; // [sp+24h] [bp-14h]@12
6273 6273
6274 uTextureID_MAGNIF_B = pIcons_LOD->LoadTexture("MAGNIF-B", TEXTURE_16BIT_PALETTE); 6274 uTextureID_MAGNIF_B = pIcons_LOD->LoadTexture("MAGNIF-B", TEXTURE_16BIT_PALETTE);
6361 byte_5111C0[v11] = 1; 6361 byte_5111C0[v11] = 1;
6362 LABEL_28: 6362 LABEL_28:
6363 ++v11; 6363 ++v11;
6364 } 6364 }
6365 while ( v11 < 54 ); 6365 while ( v11 < 54 );
6366 *(int *)byte_5111F6 = 0; 6366
6367 *(int *)&byte_5111F6[4] = 0; 6367 memset(byte_5111F6, 0, 16);
6368 *(int *)&byte_5111F6[8] = 0; 6368 for (uint i = 0; i < 4; ++i)
6369 *(int *)&byte_5111F6[12] = 0; 6369 {
6370 *(int *)&byte_5111F6[16] = 0; 6370 auto player = pParty->pPlayers + i;
6371 pPlayer4 = pParty->pPlayers; 6371
6372 v14 = 1; 6372 if (sub_43EE15_player_has_item(ITEM_ARTICACT_GOVERNONS_ARMOR, player, 1)) byte_5111F6[0] = 1;
6373 do 6373 if (sub_43EE15_player_has_item(ITEM_ARTIFACT_YORUBA, player, 1)) byte_5111F6[1] = 1;
6374 { 6374 if (sub_43EE15_player_has_item(ITEM_RELIC_HARECS_LEATHER, player, 1)) byte_5111F6[2] = 1;
6375 if ( sub_43EE15_player_has_item(0x204u, pPlayer4, 1) ) 6375 if (sub_43EE15_player_has_item(ITEM_ARTIFACT_LEAGUE_BOOTS, player, 1)) byte_5111F6[3] = 1;
6376 byte_5111F6[2] = 1; 6376 if (sub_43EE15_player_has_item(ITEM_RELIC_TALEDONS_HELM, player, 1)) byte_5111F6[4] = 1;
6377 if ( sub_43EE15_player_has_item(0x1F8u, pPlayer4, 1) ) 6377 if (sub_43EE15_player_has_item(ITEM_RELIC_SCHOLARS_CAP, player, 1)) byte_5111F6[5] = 1;
6378 byte_5111F6[0] = 1; 6378 if (sub_43EE15_player_has_item(ITEM_RELIC_PHYNAXIAN_CROWN, player, 1)) byte_5111F6[6] = 1;
6379 if ( sub_43EE15_player_has_item(0x1F9u, pPlayer4, 1) ) 6379 if (sub_43EE15_player_has_item(ITEM_ARTIFACT_MINDS_EYE, player, 1)) byte_5111F6[7] = 1;
6380 byte_5111F6[1] = 1; 6380 if (sub_43EE15_player_has_item(ITEM_RARE_SHADOWS_MASK, player, 1)) byte_5111F6[8] = 1;
6381 if ( sub_43EE15_player_has_item(0x215u, pPlayer4, 1) ) 6381 if (sub_43EE15_player_has_item(ITEM_RILIC_TITANS_BELT, player, 1)) byte_5111F6[9] = 1;
6382 byte_5111F6[16] = 1; 6382 if (sub_43EE15_player_has_item(ITEM_ARTIFAT_HEROS_BELT, player, 1)) byte_5111F6[10] = 1;
6383 if ( sub_43EE15_player_has_item(0x200u, pPlayer4, 1) ) 6383 if (sub_43EE15_player_has_item(ITEM_RELIC_TWILIGHT, player, 1)) byte_5111F6[11] = 1;
6384 byte_5111F6[3] = 1; 6384 if (sub_43EE15_player_has_item(ITEM_ARTIFACT_CLOAK_OF_THE_SHEEP, player, 1)) byte_5111F6[12] = 1;
6385 if ( sub_43EE15_player_has_item(0x209u, pPlayer4, 1) ) 6385 if (sub_43EE15_player_has_item(ITEM_RARE_SUN_CLOAK, player, 1)) byte_5111F6[13] = 1;
6386 byte_5111F6[4] = 1; 6386 if (sub_43EE15_player_has_item(ITEM_RARE_MOON_CLOAK, player, 1)) byte_5111F6[14] = 1;
6387 if ( sub_43EE15_player_has_item(0x20Au, pPlayer4, 1) ) 6387 if (sub_43EE15_player_has_item(ITEM_RARE_VAMPIRES_CAPE, player, 1)) byte_5111F6[15] = 1;
6388 byte_5111F6[5] = 1; 6388 if (sub_43EE15_player_has_item(ITEM_ELVEN_CHAINMAIL, player, 1)) byte_5111F6[16] = 1;
6389 if ( sub_43EE15_player_has_item(0x20Bu, pPlayer4, 1) ) 6389 }
6390 byte_5111F6[6] = 1; 6390
6391 if ( sub_43EE15_player_has_item(0x214u, pPlayer4, 1) ) 6391 //v14 = 1;
6392 byte_5111F6[7] = 1; 6392 //v15 = &stru_511698.field_2C;
6393 if ( sub_43EE15_player_has_item(0x220u, pPlayer4, 1) ) 6393 //v35 = (char *)&stru_511718.field_18;
6394 byte_5111F6[8] = 1; 6394 for (uint i = 0; i < 2; ++i)
6395 if ( sub_43EE15_player_has_item(0x20Cu, pPlayer4, 1) ) 6395 {
6396 byte_5111F6[9] = 1; 6396 //v16 = 0;
6397 if ( sub_43EE15_player_has_item(0x217u, pPlayer4, 1) ) 6397 //v39 = (unsigned int *)(v35 - 24);
6398 byte_5111F6[10] = 1; 6398 for (uint j = 0; j < 5; ++j)
6399 if ( sub_43EE15_player_has_item(0x20Du, pPlayer4, 1) ) 6399 {
6400 byte_5111F6[11] = 1; 6400 _43C91D_FormItemTextureFilename(pContainer, j + 100, i + 1, 0);
6401 if ( sub_43EE15_player_has_item(0x212u, pPlayer4, 1) ) 6401 //v17 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6402 byte_5111F6[12] = 1; 6402 //++v16;
6403 if ( sub_43EE15_player_has_item(0x223u, pPlayer4, 1) ) 6403 //v18 = v39;
6404 byte_5111F6[13] = 1; 6404 //++v39;
6405 if ( sub_43EE15_player_has_item(0x224u, pPlayer4, 1) ) 6405 //*v18 = v17;
6406 byte_5111F6[14] = 1; 6406 stru_511718[i].texids[j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6407 if ( sub_43EE15_player_has_item(0x226u, pPlayer4, 1) ) 6407 }
6408 byte_5111F6[15] = 1; 6408 //while ( v16 < 5 );
6409 ++pPlayer4; 6409
6410 } 6410 //*(int *)v35 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6411 while ( (signed int)pPlayer4 < (signed int)pParty->pHirelings ); 6411 _43C91D_FormItemTextureFilename(pContainer, 535, i + 1, 0);
6412 v15 = &stru_511698.field_2C; 6412 stru_511718[i].texid2 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6413 v35 = (char *)&stru_511718.field_18; 6413
6414 do 6414 //v31 = 0;
6415 { 6415 //v19 = (unsigned int *)((char *)v15 - 44);
6416 v16 = 0; 6416 for (uint j = 0; j < 11; ++j)
6417 v39 = (unsigned int *)(v35 - 24); 6417 {
6418 do 6418 _43C91D_FormItemTextureFilename(pContainer, j + 89, i + 1, 0);
6419 { 6419 //*v19 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6420 _43C91D_FormItemTextureFilename(pContainer, v16 + 100, v14, 0); 6420 //++v19;
6421 v17 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6421 stru_511698[i].texids[j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6422 ++v16; 6422 }
6423 v18 = v39; 6423 //while ( v31 < 11 );
6424 ++v39; 6424
6425 *v18 = v17; 6425 _43C91D_FormItemTextureFilename(pContainer, 521, i + 1, 0);
6426 } 6426 stru_511698[i].texid1 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6427 while ( v16 < 5 ); 6427 _43C91D_FormItemTextureFilename(pContainer, 522, i + 1, 0);
6428 _43C91D_FormItemTextureFilename(pContainer, 535, v14, 0); 6428 stru_511698[i].texid2 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6429 v31 = 0; 6429 _43C91D_FormItemTextureFilename(pContainer, 523, i + 1, 0);
6430 v19 = (unsigned int *)((char *)v15 - 44); 6430 stru_511698[i].texid3 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6431 *(int *)v35 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6431 _43C91D_FormItemTextureFilename(pContainer, 532, i + 1, 0);
6432 do 6432 stru_511698[i].texid4 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6433 { 6433 _43C91D_FormItemTextureFilename(pContainer, 544, i + 1, 0);
6434 _43C91D_FormItemTextureFilename(pContainer, v31++ + 89, v14, 0); 6434 stru_511698[i].texid5 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6435 *v19 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6436 ++v19;
6437 }
6438 while ( v31 < 11 );
6439 _43C91D_FormItemTextureFilename(pContainer, 521, v14, 0);
6440 v15->field_0 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6441 _43C91D_FormItemTextureFilename(pContainer, 522, v14, 0);
6442 v15->field_4 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6443 _43C91D_FormItemTextureFilename(pContainer, 523, v14, 0);
6444 v15->field_8 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6445 _43C91D_FormItemTextureFilename(pContainer, 532, v14, 0);
6446 v15->field_C = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6447 _43C91D_FormItemTextureFilename(pContainer, 544, v14, 0);
6448 v15->field_10 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6449 if ( _43ED6F_check_party_races(true) ) 6435 if ( _43ED6F_check_party_races(true) )
6450 papredoll_dbrds[11] = pIcons_LOD->LoadTexture("item092v3", TEXTURE_16BIT_PALETTE); 6436 papredoll_dbrds[11] = pIcons_LOD->LoadTexture("item092v3", TEXTURE_16BIT_PALETTE);
6451 v35 += 28; 6437 //v35 += 28;
6452 ++v14; 6438 //++v14;
6453 ++v15; 6439 //++v15;
6454 } 6440 }
6455 while ( v14 - 1 < 2 ); 6441 //while ( v14 - 1 < 2 );
6442
6456 v43 = 0; 6443 v43 = 0;
6457 v20 = 1; 6444 //v20 = 1;
6458 v40 = &dword_511638[0][5]; 6445 v40 = &dword_511638[0][5];
6459 v21 = (int)paperdoll_array_511290[0][13]; 6446 v21 = (int)paperdoll_array_511290[0][13];
6460 v41 = (unsigned int *)&stru_511718.texid1; 6447 //v41 = (unsigned int *)&stru_511718.texid1;
6461 do 6448 for (uint i = 0; i < 4; ++i)
6462 { 6449 {
6463 if ( sub_43EDB9_get_some_race_sex_relation_2(v20 - 1) ) 6450 if ( sub_43EDB9_get_some_race_sex_relation_2(i) )
6464 { 6451 {
6465 _43C91D_FormItemTextureFilename(pContainer, 524, v20, 0); 6452 _43C91D_FormItemTextureFilename(pContainer, 524, i + 1, 0);
6466 v32 = 66; 6453 v32 = 66;
6467 *v41 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6454 stru_511718[i].texid1 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6468 v36 = v21 - 152; 6455 v36 = v21 - 152;
6469 do 6456 do
6470 { 6457 {
6471 _43C91D_FormItemTextureFilename(pContainer, v32, v20, 0); 6458 _43C91D_FormItemTextureFilename(pContainer, v32, i + 1, 0);
6472 *(int *)(v36 - 4) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6459 *(int *)(v36 - 4) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6473 _43C91D_FormItemTextureFilename(pContainer, v32, v20, 1); 6460 _43C91D_FormItemTextureFilename(pContainer, v32, i + 1, 1);
6474 *(int *)v36 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6461 *(int *)v36 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6475 _43C91D_FormItemTextureFilename(pContainer, v32, v20, 2); 6462 _43C91D_FormItemTextureFilename(pContainer, v32, i + 1, 2);
6476 v22 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6463 v22 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6477 v23 = v36; 6464 v23 = v36;
6478 v36 += 12; 6465 v36 += 12;
6479 ++v32; 6466 ++v32;
6480 *(int *)(v23 + 4) = v22; 6467 *(int *)(v23 + 4) = v22;
6481 } 6468 }
6482 while ( v32 - 66 < 13 ); 6469 while ( v32 - 66 < 13 );
6483 _43C91D_FormItemTextureFilename(pContainer, 516, v20, 0); 6470 _43C91D_FormItemTextureFilename(pContainer, 516, i + 1, 0);
6484 *(int *)v21 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6471 *(int *)v21 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6485 _43C91D_FormItemTextureFilename(pContainer, 516, v20, 1); 6472 _43C91D_FormItemTextureFilename(pContainer, 516, i + 1, 1);
6486 *(int *)(v21 + 4) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6473 *(int *)(v21 + 4) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6487 _43C91D_FormItemTextureFilename(pContainer, 516, v20, 2); 6474 _43C91D_FormItemTextureFilename(pContainer, 516, i + 1, 2);
6488 *(int *)(v21 + 8) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6475 *(int *)(v21 + 8) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6489 _43C91D_FormItemTextureFilename(pContainer, 505, v20, 0); 6476 _43C91D_FormItemTextureFilename(pContainer, 505, i + 1, 0);
6490 *(int *)(v21 + 12) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6477 *(int *)(v21 + 12) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6491 _43C91D_FormItemTextureFilename(pContainer, 505, v20, 1); 6478 _43C91D_FormItemTextureFilename(pContainer, 505, i + 1, 1);
6492 *(int *)(v21 + 16) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6479 *(int *)(v21 + 16) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6493 _43C91D_FormItemTextureFilename(pContainer, 505, v20, 2); 6480 _43C91D_FormItemTextureFilename(pContainer, 505, i + 1, 2);
6494 *(int *)(v21 + 20) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6481 *(int *)(v21 + 20) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6495 _43C91D_FormItemTextureFilename(pContainer, 504, v20, 0); 6482 _43C91D_FormItemTextureFilename(pContainer, 504, i + 1, 0);
6496 *(int *)(v21 + 24) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6483 *(int *)(v21 + 24) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6497 _43C91D_FormItemTextureFilename(pContainer, 504, v20, 1); 6484 _43C91D_FormItemTextureFilename(pContainer, 504, i + 1, 1);
6498 *(int *)(v21 + 28) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6485 *(int *)(v21 + 28) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6499 _43C91D_FormItemTextureFilename(pContainer, 504, v20, 2); 6486 _43C91D_FormItemTextureFilename(pContainer, 504, i + 1, 2);
6500 *(int *)(v21 + 32) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6487 *(int *)(v21 + 32) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6501 _43C91D_FormItemTextureFilename(pContainer, 533, v20, 0); 6488 _43C91D_FormItemTextureFilename(pContainer, 533, i + 1, 0);
6502 *(int *)(v21 + 36) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6489 *(int *)(v21 + 36) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6503 _43C91D_FormItemTextureFilename(pContainer, 533, v20, 1); 6490 _43C91D_FormItemTextureFilename(pContainer, 533, i + 1, 1);
6504 *(int *)(v21 + 40) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6491 *(int *)(v21 + 40) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6505 _43C91D_FormItemTextureFilename(pContainer, 533, v20, 2); 6492 _43C91D_FormItemTextureFilename(pContainer, 533, i + 1, 2);
6506 *(int *)(v21 + 44) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6493 *(int *)(v21 + 44) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6507 v33 = 0; 6494 v33 = 0;
6508 v37 = (int)(v40 - 5); 6495 v37 = (int)(v40 - 5);
6509 do 6496 do
6510 { 6497 {
6511 _43C91D_FormItemTextureFilename(pContainer, v33 + 115, v20, 0); 6498 _43C91D_FormItemTextureFilename(pContainer, v33 + 115, i + 1, 0);
6512 v24 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6499 v24 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6513 ++v33; 6500 ++v33;
6514 v25 = v37; 6501 v25 = v37;
6515 v37 += 4; 6502 v37 += 4;
6516 *(int *)v25 = v24; 6503 *(int *)v25 = v24;
6517 } 6504 }
6518 while ( v33 < 5 ); 6505 while ( v33 < 5 );
6519 _43C91D_FormItemTextureFilename(pContainer, 512, v20, 0); 6506 _43C91D_FormItemTextureFilename(pContainer, 512, i + 1, 0);
6520 v26 = v43; 6507 v26 = v43;
6521 v38 = 105; 6508 v38 = 105;
6522 v34 = v43; 6509 v34 = v43;
6523 *v40 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6510 *v40 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6524 do 6511 do
6525 { 6512 {
6526 _43C91D_FormItemTextureFilename(pContainer, v38, v20, 0); 6513 _43C91D_FormItemTextureFilename(pContainer, v38, i + 1, 0);
6527 *(int *)((char *)paperdoll_array_511828 + v34) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6514 *(int *)((char *)paperdoll_array_511828 + v34) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6528 _43C91D_FormItemTextureFilename(pContainer, v38, v20, 1); 6515 _43C91D_FormItemTextureFilename(pContainer, v38, i + 1, 1);
6529 v27 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6516 v27 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6530 v28 = v34; 6517 v28 = v34;
6531 v34 += 4; 6518 v34 += 4;
6532 ++v38; 6519 ++v38;
6533 *(int *)((char *)dword_511788 + v28) = v27; 6520 *(int *)((char *)dword_511788 + v28) = v27;
6534 } 6521 }
6535 while ( v38 - 105 < 5 ); 6522 while ( v38 - 105 < 5 );
6536 _43C91D_FormItemTextureFilename(pContainer, 525, v20, 0); 6523 _43C91D_FormItemTextureFilename(pContainer, 525, i + 1, 0);
6537 *(int *)((char *)&paperdoll_array_511828[0][5] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6524 *(int *)((char *)&paperdoll_array_511828[0][5] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6538 _43C91D_FormItemTextureFilename(pContainer, 530, v20, 0); 6525 _43C91D_FormItemTextureFilename(pContainer, 530, i + 1, 0);
6539 *(int *)((char *)&paperdoll_array_511828[0][6] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6526 *(int *)((char *)&paperdoll_array_511828[0][6] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6540 _43C91D_FormItemTextureFilename(pContainer, 547, v20, 0); 6527 _43C91D_FormItemTextureFilename(pContainer, 547, i + 1, 0);
6541 *(int *)((char *)&paperdoll_array_511828[0][7] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6528 *(int *)((char *)&paperdoll_array_511828[0][7] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6542 _43C91D_FormItemTextureFilename(pContainer, 548, v20, 0); 6529 _43C91D_FormItemTextureFilename(pContainer, 548, i + 1, 0);
6543 *(int *)((char *)&paperdoll_array_511828[0][8] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6530 *(int *)((char *)&paperdoll_array_511828[0][8] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6544 _43C91D_FormItemTextureFilename(pContainer, 550, v20, 0); 6531 _43C91D_FormItemTextureFilename(pContainer, 550, i + 1, 0);
6545 *(int *)((char *)&paperdoll_array_511828[0][9] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6532 *(int *)((char *)&paperdoll_array_511828[0][9] + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6546 _43C91D_FormItemTextureFilename(pContainer, 525, v20, 1); 6533 _43C91D_FormItemTextureFilename(pContainer, 525, i + 1, 1);
6547 *(int *)((char *)&dword_51179C + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6534 *(int *)((char *)&dword_51179C + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6548 _43C91D_FormItemTextureFilename(pContainer, 530, v20, 1); 6535 _43C91D_FormItemTextureFilename(pContainer, 530, i + 1, 1);
6549 *(int *)((char *)&dword_5117A0 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6536 *(int *)((char *)&dword_5117A0 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6550 _43C91D_FormItemTextureFilename(pContainer, 547, v20, 1); 6537 _43C91D_FormItemTextureFilename(pContainer, 547, i + 1, 1);
6551 *(int *)((char *)&dword_5117A4 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6538 *(int *)((char *)&dword_5117A4 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6552 _43C91D_FormItemTextureFilename(pContainer, 548, v20, 1); 6539 _43C91D_FormItemTextureFilename(pContainer, 548, i + 1, 1);
6553 *(int *)((char *)&dword_5117A8 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6540 *(int *)((char *)&dword_5117A8 + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6554 _43C91D_FormItemTextureFilename(pContainer, 550, v20, 1); 6541 _43C91D_FormItemTextureFilename(pContainer, 550, i + 1, 1);
6555 *(int *)((char *)&dword_5117AC + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 6542 *(int *)((char *)&dword_5117AC + v43) = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
6556 } 6543 }
6557 else 6544 else
6558 { 6545 {
6559 v26 = v43; 6546 v26 = v43;
6560 } 6547 }
6561 v41 += 7; 6548 //v41 += 7;
6562 v40 += 6; 6549 v40 += 6;
6563 v21 += 204; 6550 v21 += 204;
6564 ++v20; 6551 //++v20;
6565 result = v20 - 1; 6552 //result = v20 - 1;
6566 v43 = v26 + 40; 6553 v43 = v26 + 40;
6567 } 6554 }
6568 while ( v20 - 1 < 4 ); 6555 //while ( v20 - 1 < 4 );
6569 return result; 6556 //return result;
6570 } 6557 }
6571 6558
6572 6559
6573 6560
6574 //----- (0043C91D) -------------------------------------------------------- 6561 //----- (0043C91D) --------------------------------------------------------
7290 LABEL_168: 7277 LABEL_168:
7291 v74 = 7 * pBodyComplection + v73; 7278 v74 = 7 * pBodyComplection + v73;
7292 a2f = pPaperdoll_BodyX + paperdoll_Belt[0][v74][0]; 7279 a2f = pPaperdoll_BodyX + paperdoll_Belt[0][v74][0];
7293 a3f = pPaperdoll_BodyY + paperdoll_Belt[0][v74][1]; 7280 a3f = pPaperdoll_BodyY + paperdoll_Belt[0][v74][1];
7294 if ( IsDwarf != 1 || v73 == 5 ) 7281 if ( IsDwarf != 1 || v73 == 5 )
7295 v75 = stru_511718.texids[v74]; 7282 v75 = stru_511718[pBodyComplection].texids[v73];
7296 else 7283 else
7297 v75 = stru_511718.texids[v73 + 7 * (pBodyComplection - 2)]; 7284 v75 = stru_511718[pBodyComplection - 2].texids[v73];
7298 v76 = *(int *)&pPlayer->field_1F5[36 * v71 + 15]; 7285 v76 = *(int *)&pPlayer->field_1F5[36 * v71 + 15];
7299 if ( !(*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) ) 7286 if ( !(*(int *)&pPlayer->field_1F5[36 * v71 + 15] & 0xF0) )
7300 { 7287 {
7301 v79 = v75 + 1; 7288 v79 = v75 + 1;
7302 v80 = (char *)&pIcons_LOD->pTextures[v75]; 7289 v80 = (char *)&pIcons_LOD->pTextures[v75];
7496 LABEL_312: 7483 LABEL_312:
7497 v126 = 2 * (v125 + 16 * pBodyComplection); 7484 v126 = 2 * (v125 + 16 * pBodyComplection);
7498 a2j = pPaperdoll_BodyX + dword_4E58D0[v126]; 7485 a2j = pPaperdoll_BodyX + dword_4E58D0[v126];
7499 a3i = pPaperdoll_BodyY + dword_4E58D4[v126]; 7486 a3i = pPaperdoll_BodyY + dword_4E58D4[v126];
7500 if ( IsDwarf != 1 || *(int *)v124 != 92 ) 7487 if ( IsDwarf != 1 || *(int *)v124 != 92 )
7501 v127 = stru_511698.texids[v125 + 16 * pSex]; 7488 v127 = stru_511698[0].texids[v125 + 16 * pSex];
7502 else 7489 else
7503 v127 = papredoll_dbrds[11]; 7490 v127 = papredoll_dbrds[11];
7504 v128 = *(int *)(v124 + 20); 7491 v128 = *(int *)(v124 + 20);
7505 if ( *(int *)(v124 + 20) & 0xF0 ) 7492 if ( *(int *)(v124 + 20) & 0xF0 )
7506 { 7493 {
9059 goto LABEL_11; 9046 goto LABEL_11;
9060 } 9047 }
9061 //LABEL_15: 9048 //LABEL_15:
9062 pSex = 1; 9049 pSex = 1;
9063 return pSex;*/ 9050 return pSex;*/
9064 for (int i = 1; i <= 4; &pPlayers[i]) 9051 for (uint i = 1; i <= 4; pPlayers[i])
9065 { 9052 {
9066 pRace = pPlayers[i]->GetRace(); 9053 pRace = pPlayers[i]->GetRace();
9067 pSex = pPlayers[i]->GetSexByVoice(); 9054 pSex = pPlayers[i]->GetSexByVoice();
9068 if (pRace == 0 || pRace == 1 || pRace == 2 || pSex == 0 ) 9055 if (pRace == 0 || pRace == 1 || pRace == 2 || pSex == 0 )
9069 return 1; 9056 return 1;