Index: oup/current/Global/DatLinks.pas
===================================================================
--- oup/current/Global/DatLinks.pas	(revision 226)
+++ oup/current/Global/DatLinks.pas	(revision 241)
@@ -359,5 +359,5 @@
 const
   types: array[0..0] of String[4] =
-      ('*');
+      ('Impt');
 var
   i: Integer;
@@ -426,11 +426,11 @@
 function M3GM(Connection: TDataAccess; FileID: Integer): TDatLinkList;
 const
-  types: array[0..7] of String[4] =
-      ('PNTA', 'VCRA', 'VCRA', 'TXCA', 'IDXA', 'IDXA', 'TXMP', '*');
+  types: array[0..6] of String[4] =
+      ('PNTA', 'VCRA', 'VCRA', 'TXCA', 'IDXA', 'IDXA', 'TXMP');
 var
   i: Integer;
 begin
   SetLength(Result, 8);
-  for i := 0 to 7 do
+  for i := 0 to 6 do
   begin
     Result[i].SrcOffset := $0C + i*4;
@@ -444,5 +444,5 @@
 const
   types: array[0..0] of String[4] =
-      ('*');
+      ('Mtrl');
 var
   i: Integer;
@@ -587,5 +587,5 @@
   Result[0].SrcOffset := $8;
   Result[0].DestID := -1;
-  Result[0].PosDestExts := '*';
+  Result[0].PosDestExts := 'ONCV';
 end;
 
@@ -730,5 +730,5 @@
   Result[0].SrcOffset := $50;
   Result[0].DestID := -1;
-  Result[0].PosDestExts := '*';
+  Result[0].PosDestExts := 'TXMP';
 end;
 
@@ -748,5 +748,5 @@
       Result[i].SrcOffset := $20 + i*8 + 4;
       Result[i].DestID := -1;
-      Result[i].PosDestExts := '*';
+      Result[i].PosDestExts := 'PSpc';
     end;
   end;
@@ -1104,5 +1104,5 @@
   Result[0].SrcOffset := $94;
   Result[0].DestID := -1;
-  Result[0].PosDestExts := '*';
+  Result[0].PosDestExts := 'TXAN';
   Result[1].SrcOffset := $98;
   Result[1].DestID := -1;
@@ -1134,5 +1134,5 @@
       Result[i].SrcOffset := $20 + i*8 + 4;
       Result[i].DestID := -1;
-      Result[i].PosDestExts := '*';
+      Result[i].PosDestExts := 'PSpc';
     end;
   end;
Index: oup/current/Global/Data.pas
===================================================================
--- oup/current/Global/Data.pas	(revision 226)
+++ oup/current/Global/Data.pas	(revision 241)
@@ -5,5 +5,5 @@
 const
   Version:   String    = 'v0.35a';
-  DBVersion: String    = '0.4';
+  DBVersion: String    = '0.5';
   CrLf:      String[2] = #13 + #10;
 
Index: oup/current/Global/RawList.pas
===================================================================
--- oup/current/Global/RawList.pas	(revision 226)
+++ oup/current/Global/RawList.pas	(revision 241)
@@ -44,5 +44,5 @@
   for i := 0 to links - 1 do
   begin
-    Result[i].Name := '<TBD>';
+    Result[i].Name    := '<TBD>';
     Result[i].SrcOffset := $20 + i * 4;
     ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $20 + i * 4, 4, @link);
@@ -50,4 +50,5 @@
     Result[i].RawSize := 32;
     Result[i].LocSep  := False;
+    Result[i].RawType := 'AGDB' + IntToStr(i mod 2);
   end;
 end;
@@ -66,5 +67,5 @@
   for i := 0 to links - 1 do
   begin
-    Result[i].Name := '<TBD>';
+    Result[i].Name    := '<TBD>';
     Result[i].SrcOffset := $20 + i * $74 + $24;
     ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $20 + i * $74 + $24, 4, @link);
@@ -73,4 +74,5 @@
     Result[i].RawSize := link;
     Result[i].LocSep  := False;
+    Result[i].RawType := 'AKVA';
   end;
 end;
@@ -87,9 +89,10 @@
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $08, 4, @datasize);
   SetLength(Result, 1);
-  Result[0].Name := 'BinaryData';
+  Result[0].Name      := 'Binary data';
   Result[0].SrcOffset := $0C;
   Result[0].RawAddr   := link;
   Result[0].RawSize   := datasize;
   Result[0].LocSep    := not (ConManager.Connection[ConnectionID].DataOS = DOS_WIN);
+  Result[0].RawType   := 'BINA';
 end;
 
@@ -105,9 +108,10 @@
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $0C, 4, @link);
   SetLength(Result, 1);
-  Result[0].Name := 'SoundBinaryData';
+  Result[0].Name      := 'Sound Binary Data';
   Result[0].SrcOffset := $0C;
   Result[0].RawAddr   := link;
   Result[0].RawSize   := datasize;
-  Result[0].LocSep     := not (ConManager.Connection[ConnectionID].DataOS = DOS_WIN);
+  Result[0].LocSep    := not (ConManager.Connection[ConnectionID].DataOS = DOS_WIN);
+  Result[0].RawType   := 'OSBD';
 end;
 
@@ -133,8 +137,9 @@
     Result[0].SrcOffset := $44;
   end;
-  Result[0].Name := 'SoundData';
+  Result[0].Name    := 'Sound data';
   Result[0].RawAddr := link;
   Result[0].RawSize := datasize;
   Result[0].LocSep  := False;
+  Result[0].RawType := 'SNDD';
 end;
 
@@ -181,4 +186,5 @@
       Result[0].RawSize   := Data.Position;
       Result[0].LocSep    := False;
+      Result[0].RawType   := 'SUBT';
     end;
   end;
@@ -208,4 +214,5 @@
   Result[0].RawAddr   := link;
   Result[0].RawSize   := frames * 4;
+  Result[0].RawType   := 'TRAM0';
   {x-z-pos}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $10, 4, @link);
@@ -214,4 +221,5 @@
   Result[1].RawAddr   := link;
   Result[1].RawSize   := frames * 8;
+  Result[1].RawType   := 'TRAM1';
   {attacks}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $182, 1, @tempb);
@@ -221,4 +229,5 @@
   Result[2].RawAddr   := link;
   Result[2].RawSize   := tempb * 32;
+  Result[2].RawType   := 'TRAM2';
   {damage}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $183, 1, @tempb);
@@ -228,4 +237,5 @@
   Result[3].RawAddr   := link;
   Result[3].RawSize   := tempb * 8;
+  Result[3].RawType   := 'TRAM3';
   {motionblur}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $184, 1, @tempb);
@@ -235,4 +245,5 @@
   Result[4].RawAddr   := link;
   Result[4].RawSize   := tempb * 12;
+  Result[4].RawType   := 'TRAM4';
   {shortcut}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $185, 1, @tempb);
@@ -242,4 +253,5 @@
   Result[5].RawAddr   := link;
   Result[5].RawSize   := tempb * 8;
+  Result[5].RawType   := 'TRAM5';
   {throw}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $24, 4, @link);
@@ -248,4 +260,5 @@
   Result[6].RawAddr   := link;
   Result[6].RawSize := 24;
+  Result[6].RawType   := 'TRAM6';
   {footstep}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $186, 1, @tempb);
@@ -255,4 +268,5 @@
   Result[7].RawAddr   := link;
   Result[7].RawSize   := tempb * 4;
+  Result[7].RawType   := 'TRAM7';
   {particle}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $187, 1, @tempb);
@@ -262,4 +276,5 @@
   Result[8].RawAddr   := link;
   Result[8].RawSize   := tempb * 24;
+  Result[8].RawType   := 'TRAM8';
   {position}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $30, 4, @link);
@@ -268,4 +283,5 @@
   Result[9].RawAddr   := link;
   Result[9].RawSize   := frames * 8;
+  Result[9].RawType   := 'TRAM9';
   {sound}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $154, 2, @tempw);
@@ -275,4 +291,5 @@
   Result[11].RawAddr   := link;
   Result[11].RawSize   := tempw * 34;
+  Result[11].RawType   := 'TRAM11';
   {extent}
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $138, 4, @templ);
@@ -282,4 +299,5 @@
   Result[12].RawAddr   := link;
   Result[12].RawSize   := templ * 12;
+  Result[12].RawType   := 'TRAM12';
 
   ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $34, 4, @link);
@@ -312,4 +330,5 @@
   Result[10].SrcOffset := $34;
   Result[10].RawAddr   := link;
+  Result[10].RawType   := 'TRAM10';
 end;
 
@@ -373,4 +392,5 @@
   Result[0].RawSize := datasize;
   Result[0].LocSep  := not (ConManager.Connection[ConnectionID].DataOS = DOS_WIN);
+  Result[0].RawType   := 'TXMP';
 end;
 
@@ -390,4 +410,5 @@
   Result.RawAddr   := -1;
   Result.RawSize   := -1;
+  Result.RawType   := '';
   if Length(RawList) > 0 then
   begin
@@ -402,4 +423,5 @@
         Result.RawSize   := RawList[i].RawSize;
         Result.LocSep    := RawList[i].LocSep;
+        Result.RawType   := RawList[i].RawType;
         Break;
       end;
Index: oup/current/Global/TypeDefs.pas
===================================================================
--- oup/current/Global/TypeDefs.pas	(revision 226)
+++ oup/current/Global/TypeDefs.pas	(revision 241)
@@ -82,4 +82,5 @@
       RawSize:       Integer;
       LocSep:        Boolean;
+      RawType:       String;
   end;
   TRawDataList = array of TRawDataInfo;
