X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-editor.git;a=blobdiff_plain;f=src%2Fshared%2FMAPREADER.pas;h=40a1fc0d42802275040c16b726ad481d853f3df1;hp=736123eb0a64fee25bf53ed07a04a2b7fff98f91;hb=3dc2fe6b3d29cd54425db8f590e922f2dce50e99;hpb=212386359ea0af4e0a861f9bf92c45a1516ac87c diff --git a/src/shared/MAPREADER.pas b/src/shared/MAPREADER.pas index 736123e..40a1fc0 100644 --- a/src/shared/MAPREADER.pas +++ b/src/shared/MAPREADER.pas @@ -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;