diff mm7_3.cpp @ 1035:306ec23b37df

004C1EE5 & other stuff
author Nomad
date Wed, 22 May 2013 14:12:51 +0200
parents 3a5c8df8381d
children ff2d888f8033
line wrap: on
line diff
--- a/mm7_3.cpp	Tue May 21 23:45:26 2013 +0200
+++ b/mm7_3.cpp	Wed May 22 14:12:51 2013 +0200
@@ -13756,13 +13756,8 @@
     _5B65A8_npcdata_uflags_or_other = 0;
   }
 }
-// 5B65A8: using guessed type int _5B65A8_npcdata_uflags_or_other;
-// 5B65AC: using guessed type int _5B65AC_npcdata_fame_or_other;
-// 5B65B0: using guessed type int _5B65B0_npcdata_rep_or_other;
-// 5B65B4: using guessed type int _5B65B4_npcdata_loword_house_or_other;
-// 5B65B8: using guessed type int _5B65B8_npcdata_hiword_house_or_other;
-// 5B65BC: using guessed type int dword_5B65BC;
-// 5B65C0: using guessed type int dword_5B65C0;
+
+
 
 //----- (00449A49) --------------------------------------------------------
 __int16 __fastcall sub_449A49_door_switch_animation(unsigned int uDoorID, int a2)
@@ -13859,7 +13854,7 @@
 
 //----- (00449B57) --------------------------------------------------------
 bool _449B57_test_bit( unsigned __int8 *a1, __int16 a2 )
-    {
+{
   return a1[(a2 - 1) >> 3] & (0x80u >> (a2 - 1) % 8);
 }
 
@@ -13877,23 +13872,6 @@
     pArray[v3 / 8] &= ~set_bit;
 }
 
-//----- (0044A56A) --------------------------------------------------------
-void __cdecl Party__CountHirelings()
-{
-  pParty->field_70A = 0;
-
-  for (int i = 0; i < pNPCStats->uNumNewNPCs; ++i)
-  {
-    auto npc = pNPCStats->pNewNPCData + i;
-    if (npc->Hired() &&
-        (!pParty->pHirelings[0].pName || strcmp(npc->pName, pParty->pHirelings[0].pName)))
-    {
-      if (!pParty->pHirelings[1].pName || strcmp(npc->pName, pParty->pHirelings[1].pName))
-        ++pParty->field_70A;
-    }
-  }
-}
-
 //----- (0044C175) --------------------------------------------------------
 void __fastcall ShowStatusBarString(const char *pString, unsigned int uNumSeconds)
 {
@@ -13910,7 +13888,7 @@
 }
 
 //----- (0044C1D0) --------------------------------------------------------
-void __cdecl ShowNothingHereStatus()
+void ShowNothingHereStatus()
 {
   if ( !GameUI_Footer_TimeLeft )
     ShowStatusBarString(pGlobalTXT_LocalizationStrings[521], 2u);// Nothing here
@@ -13948,20 +13926,27 @@
 //----- (0044C2F4) --------------------------------------------------------
 int LevelDecoration::IsInteractive()
 {
-  signed int v1; // eax@1
-
-  v1 = this->uDecorationDescID;
-  if ( v1 > 34 )
-  {
-    if ( v1 == 184 || v1 == 187 || v1 == 190 || v1 > 205 && v1 <= 221 )
-      return 1;
-  }
-  else
-  {
-    if ( v1 == 34 || v1 >= 4 && (v1 <= 6 || v1 == 11 || v1 > 12 && (v1 <= 14 || v1 == 24)) )
-      return 1;
-  }
-  return 0;
+  switch (uDecorationDescID)
+  {
+    case 4:    // trash pile
+    case 5:    // campfire
+    case 6:    // cauldron
+    case 11:   // fruit plate
+    case 13:   // trash pile
+    case 14:   // dirt
+    case 24:   // keg
+    case 184:  // fire
+    case 187:  // fire
+    case 190:  // fire
+      return true;
+  }
+
+  if (uDecorationDescID >= 206 && uDecorationDescID <= 209) // lighthouse fire
+    return true;
+  if (uDecorationDescID >= 210 && uDecorationDescID <= 221) // magic pedistal
+    return true;
+
+  return false;
 }
 
 //----- (0044C362) --------------------------------------------------------
@@ -13982,6 +13967,7 @@
   float v13; // ST14_4@1
   double v14; // ST0C_8@1
 
+  assert(false);
   //v1 = this;
   v2 = (double)this->x * 0.000015258789;
   v3 = v2;