Mercurial > mm7
diff Items.cpp @ 1297:5450af4f57ef
moving files mm7_x ending
author | Ritor1 |
---|---|
date | Wed, 19 Jun 2013 17:06:58 +0600 |
parents | 182b910c528d |
children | 61010a655c94 |
line wrap: on
line diff
--- a/Items.cpp Tue Jun 18 17:28:11 2013 +0600 +++ b/Items.cpp Wed Jun 19 17:06:58 2013 +0600 @@ -2348,5 +2348,178 @@ return a4; } } +//----- (0043C91D) -------------------------------------------------------- +int __fastcall GetItemTextureFilename(char *pOut, signed int item_id, int index, int shoulder) +{ + int result; // eax@2 + char v5; // zf@3 + const char *v6; // [sp-Ch] [bp-18h]@88 + signed int v7; // [sp-8h] [bp-14h]@61 + int v8; // [sp-4h] [bp-10h]@61 + signed int v9; // [sp-4h] [bp-10h]@69 + result = 0; //BUG fn is void + if ( item_id <= 500 ) + { + //v5 = *((char *)&pBloodsplatContainer->std__vector_pBloodsplats[62].field_20 + a2 + 2) == 0; + v5 = party_has_equipment[(item_id - 100) + 32 + 2] == 0; + switch ( item_id ) + { + case 516: + v5 = byte_5111F6[2] == 0; + break; + case 505: + v5 = byte_5111F6[1] == 0; + break; + case 504: + v5 = byte_5111F6[0] == 0; + break; + case 533: + v5 = byte_5111F6[16] == 0; + break; + case 512: + v5 = byte_5111F6[3] == 0; + break; + case 521: + v5 = byte_5111F6[4] == 0; + break; + case 522: + v5 = byte_5111F6[5] == 0; + break; + case 523: + v5 = byte_5111F6[6] == 0; + break; + case 532: + v5 = byte_5111F6[7] == 0; + break; + case 544: + v5 = byte_5111F6[8] == 0; + break; + case 524: + v5 = byte_5111F6[9] == 0; + break; + case 535: + v5 = byte_5111F6[10] == 0; + break; + case 525: + v5 = byte_5111F6[11] == 0; + break; + case 530: + v5 = byte_5111F6[12] == 0; + break; + case 547: + v5 = byte_5111F6[13] == 0; + break; + case 548: + v5 = byte_5111F6[14] == 0; + break; + case 550: + v5 = byte_5111F6[15] == 0; + break; + default: + break; + } + if ( v5 ) + return result; + result = 516; + if ( item_id < 66 || item_id > 78 ) + { + if ( item_id == 516 ) + { + if ( !shoulder ) + return sprintf(pOut, "item%3.3dv%d", 234, index); + if ( shoulder == 1 ) + return sprintf(pOut, "item%3.3dv%da1", 234, index); + if ( shoulder == 2 ) + return sprintf(pOut, "item%3.3dv%da2", 234, index); + } + if ( item_id != 504 && item_id != 505 && item_id != 533 ) + { + if ( (item_id < 100 || item_id > 104) && item_id != 524 && item_id != 535 ) + { + if ( item_id >= 115 && item_id <= 119 || item_id == 512 ) + { + if ( item_id == 512 ) + item_id = 312; + return sprintf(pOut, "item%3.3dv%d", item_id, index); + } + if ( (item_id < 89 || item_id > 99) && item_id != 521 && item_id != 522 && item_id != 523 && item_id != 532 && item_id != 544 ) + { + result = 525; + if ( (item_id < 105 || item_id > 109) && item_id != 525 && item_id != 530 && item_id != 547 && item_id != 548 && item_id != 550 ) + return result; + switch ( item_id ) + { + case 525: + item_id = 325; + break; + case 530: + item_id = 330; + break; + case 547: + item_id = 347; + break; + case 548: + item_id = 348; + break; + case 550: + item_id = 350; + break; + } + if ( !shoulder ) + return sprintf(pOut, "item%3.3dv%d", item_id, index); + return sprintf(pOut, "item%3.3dv%da1", item_id, index); + } + if ( item_id == 521 ) + return sprintf(pOut, "item%3.3dv%d", 239, index); + if ( item_id == 522 ) + return sprintf(pOut, "item%3.3dv%d", 240, index); + if ( item_id == 523 ) + return sprintf(pOut, "item%3.3dv%d", 241, index); + if ( item_id != 532 ) + { + if ( item_id == 544 ) + item_id = 344; + return sprintf(pOut, "item%3.3dv%d", item_id, index); + } + return sprintf(pOut, "item%3.3dv%d", 93, index); + } + if ( item_id == 524 ) + return sprintf(pOut, "item%3.3dv%d", 324, index); + if ( item_id == 535 ) + item_id = 104; + return sprintf(pOut, "item%3.3dv%d", item_id, index); + } + } + if ( item_id != 516 ) + { + switch ( item_id ) + { + case 504: + item_id = 235; + break; + case 505: + item_id = 236; + break; + case 533: + item_id = 73; + break; + } + if ( !shoulder ) + return sprintf(pOut, "item%3.3dv%d", item_id, index); + if ( shoulder == 1 ) + return sprintf(pOut, "item%3.3dv%da1", item_id, index); + if ( shoulder == 2 ) + return sprintf(pOut, "item%3.3dv%da2", item_id, index); + } + if ( !shoulder ) + return sprintf(pOut, "item%3.3dv%d", 234, index); + if ( shoulder == 1 ) + return sprintf(pOut, "item%3.3dv%da1", 234, index); + if ( shoulder == 2 ) + return sprintf(pOut, "item%3.3dv%da2", 234, index); + } + result = item_id - 504; + return result; +}