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