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;
+}