DEADSOFTWARE

fixed wadeditor; added nosound mode; fixed codepage problems; fixed pointers; cleanup
[d2df-editor.git] / src / shared / MAPREADER.pas
index 736123eb0a64fee25bf53ed07a04a2b7fff98f91..40a1fc0d42802275040c16b726ad481d853f3df1 100644 (file)
@@ -1,12 +1,12 @@
 unit MAPREADER;
 
-{$MODE Delphi}
+{$INCLUDE ../shared/a_modes.inc}
 
 {
 -----------------------------------
-MAPREADER.PAS ВЕРСИЯ ОТ 13.11.07
+MAPREADER.PAS ÂÅÐÑÈß ÎÒ 13.11.07
 
-Поддержка карт версии 1
+Ïîääåðæêà êàðò âåðñèè 1
 -----------------------------------
 }
 
@@ -72,9 +72,9 @@ uses
   SysUtils, BinEditor;
 
 var
-  NNF_PureName: String; // Имя текстуры без цифр в конце
-  NNF_FirstNum: Integer; // Число у начальной текстуры
-  NNF_CurrentNum: Integer; // Следующее число у текстуры
+  NNF_PureName: String; // Èìÿ òåêñòóðû áåç öèôð â êîíöå
+  NNF_FirstNum: Integer; // ×èñëî ó íà÷àëüíîé òåêñòóðû
+  NNF_CurrentNum: Integer; // Ñëåäóþùåå ÷èñëî ó òåêñòóðû
 
 function g_Texture_NumNameFindStart(name: String): Boolean;
 var
@@ -87,10 +87,10 @@ begin
   NNF_CurrentNum := -1;
 
   for i := Length(name) downto 1 do
-    if (name[i] = '_') then // "_" - символ начала номерного постфикса
+    if (name[i] = '_') then // "_" - ñèìâîë íà÷àëà íîìåðíîãî ïîñòôèêñà
     begin
       if i = Length(name) then
-        begin // Нет цифр в конце строки
+        begin // Íåò öèôð â êîíöå ñòðîêè
           Exit;
         end
       else
@@ -101,7 +101,7 @@ begin
         end;
     end;
 
-// Не перевести в число:
+// Íå ïåðåâåñòè â ÷èñëî:
   if not TryStrToInt(name, NNF_FirstNum) then
     Exit;
 
@@ -152,7 +152,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -176,7 +176,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -215,7 +215,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -239,7 +239,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -263,7 +263,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -287,7 +287,7 @@ begin
   for b := 0 to (TempDataBlocks[a].Block.BlockSize div size)-1 do
   begin
    SetLength(Result, Length(Result)+1);
-   CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size);
+   CopyMemory(@Result[High(Result)], Pointer(PtrUInt(TempDataBlocks[a].Data)+b*size), size);
   end;
 
  TempDataBlocks := nil;
@@ -365,7 +365,7 @@ begin
  end;
  adr := 3;
 
- CopyMemory(@Ver, Pointer(LongWord(Data)+adr), 1);
+ CopyMemory(@Ver, Pointer(PtrUInt(Data)+adr), 1);
  FVersion := Ver;
  if Ver > HandledVersion() then
  begin
@@ -378,12 +378,12 @@ begin
   SetLength(FDataBlocks, Length(FDataBlocks)+1);
   _id := High(FDataBlocks);
 
-  CopyMemory(@FDataBlocks[_id].Block, Pointer(LongWord(Data)+adr), SizeOf(TBlock));
+  CopyMemory(@FDataBlocks[_id].Block, Pointer(PtrUInt(Data)+adr), SizeOf(TBlock));
   adr := adr+SizeOf(TBlock);
 
   FDataBlocks[_id].Data := GetMemory(FDataBlocks[_id].Block.BlockSize);
 
-  CopyMemory(FDataBlocks[_id].Data, Pointer(LongWord(Data)+adr), FDataBlocks[_id].Block.BlockSize);
+  CopyMemory(FDataBlocks[_id].Data, Pointer(PtrUInt(Data)+adr), FDataBlocks[_id].Block.BlockSize);
 
   adr := adr+FDataBlocks[_id].Block.BlockSize;
  until FDataBlocks[_id].Block.BlockType = BLOCK_NONE;