diff mm7_3.cpp @ 81:377535d6e366

structure boundaries fixed in many places. fixed quests, notes, awards, calendar.
author zipi
date Sun, 03 Feb 2013 15:36:54 +0000
parents 6ad816231528
children 1faa29fd4c2d
line wrap: on
line diff
--- a/mm7_3.cpp	Sat Feb 02 16:56:01 2013 +0000
+++ b/mm7_3.cpp	Sun Feb 03 15:36:54 2013 +0000
@@ -5031,12 +5031,12 @@
 //----- (00476750) --------------------------------------------------------
 void __cdecl InitializeAutonotes()
 {
-  char *v0; // ebp@3
+  Autonote *v0; // ebp@3
   int v1; // ebx@4
   char *v2; // esi@4
   char v3; // cl@5
   int v4; // eax@5
-  int v5; // edi@9
+  char *v5; // edi@9
   signed int v6; // [sp+0h] [bp-4h]@4
 
   if ( pAutonoteTXT_Raw )
@@ -5044,7 +5044,7 @@
   pAutonoteTXT_Raw = 0;
   pAutonoteTXT_Raw = (char *)pEvents_LOD->LoadRaw("autonote.txt", 0);
   strtok(pAutonoteTXT_Raw, "\r");
-  v0 = (char *)&pAutonoteTxt[0].eType;
+  v0 = pAutonoteTxt;
   for (uint i = 0; i < 195; ++i)
   {
     v1 = 0;
@@ -5059,15 +5059,15 @@
         ++v4;
         v3 = v2[v4];
       }
-      v5 = (int)&v2[v4];
+      v5 = &v2[v4];
       if ( !v2[v4] )
         v6 = 1;
-      *(char *)v5 = 0;
+      *v5 = 0;
       if ( v4 )
       {
         if ( v1 == 1 )
         {
-          *((int *)v0 - 1) = (int)RemoveQuotes(v2);
+			v0->pText = RemoveQuotes(v2);
         }
         else
         {
@@ -5080,23 +5080,23 @@
                 if ( _strcmpi(v2, "seer") )
                 {
                   if ( _strcmpi(v2, "obelisk") )
-                    *(int *)v0 = 5 - (_strcmpi(v2, "teacher") != 0);
+					  v0->eType = (AUTONOTE_TYPE)(5 - (_strcmpi(v2, "teacher") != 0));
                   else
-                    *(int *)v0 = 2;
+					  v0->eType = (AUTONOTE_TYPE)2;
                 }
                 else
                 {
-                  *(int *)v0 = 3;
+                  v0->eType = (AUTONOTE_TYPE)3;
                 }
               }
               else
               {
-                *(int *)v0 = 1;
+                v0->eType = (AUTONOTE_TYPE)1;
               }
             }
             else
             {
-              *(int *)v0 = 0;
+              v0->eType = (AUTONOTE_TYPE)0;
             }
           }
         }
@@ -5106,10 +5106,10 @@
         v6 = 1;
       }
       ++v1;
-      v2 = (char *)(v5 + 1);
+      v2 = v5 + 1;
     }
     while ( v1 - 1 <= 2 && !v6 );
-    v0 += 8;
+    ++v0;
   }
   //while ( (signed int)v0 < (signed int)&pScrolls[1] );
 }
@@ -16244,7 +16244,7 @@
       {
         v23 = v0->evtf;
 LABEL_63:
-        v24 = (&dword_721660)[8 * v23];
+		v24 = pNPCTopics[v23-1].pTopic;//(&dword_721660)[8 * v23];
         if ( !v24 )
         {
           v24 = "";
@@ -17807,12 +17807,12 @@
             {
               if ( _5C3420_pDecoration == (LevelDecoration *)1 )
               {
-                ptr_F8B1E8 = (&dword_721664)[8 * v90];
+				  ptr_F8B1E8 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90];
                 goto LABEL_291;
               }
               if ( a3 == 1 )
               {
-                v91 = (&dword_721664)[8 * v90];
+                v91 = pNPCTopics[v90-1].pText;//(&dword_721664)[8 * v90];
 LABEL_248:
                 ShowStatusBarString(v91, 2u);
                 goto LABEL_291;
@@ -17831,7 +17831,7 @@
             v92 = _evt->v5 + ((_evt->v6 + ((_evt->v7 + ((uint)_evt->v8 << 8)) << 8)) << 8);
             if ( _5C3420_pDecoration )
             {
-              v93 = (&dword_721664)[8 * v92];
+              v93 = (char *)pNPCTopics[v92-1].pText;//(&dword_721664)[8 * v92];
               byte_5B0938[0] = 0;
               ptr_F8B1E8 = v93;
             }