X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fshared%2FMAPREADER.pas;h=a122bee5cb0b13d6f47ba5679edf30d3cdc0c31f;hp=6c9e86326551d7b0d24ba7e8151aed028e565c01;hb=a25182b0259235ece5d4a2cdceafd0b2cdfc582b;hpb=acb0517dd9d37fbde03c99d2bdb277d6787119b7 diff --git a/src/shared/MAPREADER.pas b/src/shared/MAPREADER.pas index 6c9e863..a122bee 100644 --- a/src/shared/MAPREADER.pas +++ b/src/shared/MAPREADER.pas @@ -152,7 +152,7 @@ function TMapReader_1.GetAreas(): TAreasRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b, Size: NativeInt; begin Result := nil; @@ -167,7 +167,7 @@ begin begin SetLength(Result, Length(Result)+1); //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); - mb_Read_TAreaRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + mb_Read_TAreaRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); end; TempDataBlocks := nil; @@ -177,7 +177,7 @@ function TMapReader_1.GetItems(): TItemsRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b, Size: NativeInt; begin Result := nil; @@ -192,7 +192,7 @@ begin begin SetLength(Result, Length(Result)+1); //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); - mb_Read_TItemRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + mb_Read_TItemRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); end; TempDataBlocks := nil; @@ -218,7 +218,7 @@ function TMapReader_1.GetMonsters(): TMonsterRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b, Size: NativeInt; begin Result := nil; @@ -233,7 +233,7 @@ begin begin SetLength(Result, Length(Result)+1); //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); - mb_Read_TMonsterRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + mb_Read_TMonsterRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); end; TempDataBlocks := nil; @@ -243,7 +243,7 @@ function TMapReader_1.GetPanels(): TPanelsRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b, Size: NativeInt; begin Result := nil; @@ -258,7 +258,7 @@ begin begin SetLength(Result, Length(Result)+1); //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); - mb_Read_TPanelRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + mb_Read_TPanelRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); end; TempDataBlocks := nil; @@ -268,7 +268,7 @@ function TMapReader_1.GetTextures(): TTexturesRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b, Size: NativeInt; begin Result := nil; @@ -282,8 +282,8 @@ 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); - mb_Read_TTextureRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); + mb_Read_TTextureRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); end; TempDataBlocks := nil; @@ -293,7 +293,8 @@ function TMapReader_1.GetTriggers(): TTriggersRec1Array; var TempDataBlocks: TDataBlocksArray; a: Integer; - b, Size: LongWord; + b: NativeInt; + Size: LongWord; trdata: TTriggerData; begin Result := nil; @@ -309,7 +310,7 @@ begin begin SetLength(Result, Length(Result)+1); //CopyMemory(@Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size), size); - mb_Read_TTriggerRec_1(Result[High(Result)], Pointer(LongWord(TempDataBlocks[a].Data)+b*size)^, size); + mb_Read_TTriggerRec_1(Result[High(Result)], Pointer(NativeInt(TempDataBlocks[a].Data)+b*size)^, size); if (Result[High(Result)].TriggerType <> 0) then begin // preprocess trigger data @@ -368,7 +369,7 @@ begin if FDataBlocks[a].Block.BlockType = BlocksType then begin SetLength(Result, Length(Result)+1); - Result[High(Result)] := FDataBlocks[a]; + Result[High(Result)] := FDataBlocks[a]; end; end; @@ -379,7 +380,7 @@ end; function TMapReader.LoadMap(Data: Pointer): Boolean; var - adr: LongWord; + adr: NativeInt; _id: Integer; Sign: array[0..2] of Char; Ver: Byte; @@ -394,7 +395,7 @@ begin end; adr := 3; - CopyMemory(@Ver, Pointer(LongWord(Data)+adr), 1); + CopyMemory(@Ver, Pointer(NativeInt(Data)+adr), 1); FVersion := Ver; if Ver > HandledVersion() then begin @@ -407,12 +408,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(NativeInt(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(NativeInt(Data)+adr), FDataBlocks[_id].Block.BlockSize); adr := adr+FDataBlocks[_id].Block.BlockSize; until FDataBlocks[_id].Block.BlockType = BLOCK_NONE;