hedgewars/SDLh.pas
changeset 467 20d36f976b25
parent 459 95163c6efa69
child 500 d9b140e9d2c2
equal deleted inserted replaced
466:bc45a038d47a 467:20d36f976b25
   396        or(( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
   396        or(( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
   397 end;
   397 end;
   398 
   398 
   399 procedure SDLNet_Write16(value: Word; buf: pointer);
   399 procedure SDLNet_Write16(value: Word; buf: pointer);
   400 begin
   400 begin
   401 {$IFDEF LITTLE_ENDIAN}
       
   402   PByteArray(buf)^[0]:= value;
       
   403   PByteArray(buf)^[1]:= value shr 8
       
   404 {$ELSE}
       
   405   PByteArray(buf)^[1]:= value;
   401   PByteArray(buf)^[1]:= value;
   406   PByteArray(buf)^[0]:= value shr 8
   402   PByteArray(buf)^[0]:= value shr 8
   407 {$ENDIF}
       
   408 end;
   403 end;
   409 
   404 
   410 procedure SDLNet_Write32(value: LongWord; buf: pointer);
   405 procedure SDLNet_Write32(value: LongWord; buf: pointer);
   411 begin
   406 begin
   412 {$IFDEF LITTLE_ENDIAN}
       
   413   PByteArray(buf)^[0]:= value;
       
   414   PByteArray(buf)^[1]:= value shr  8;
       
   415   PByteArray(buf)^[2]:= value shr 16;
       
   416   PByteArray(buf)^[3]:= value shr 24
       
   417 {$ELSE}
       
   418   PByteArray(buf)^[3]:= value;
   407   PByteArray(buf)^[3]:= value;
   419   PByteArray(buf)^[2]:= value shr  8;
   408   PByteArray(buf)^[2]:= value shr  8;
   420   PByteArray(buf)^[1]:= value shr 16;
   409   PByteArray(buf)^[1]:= value shr 16;
   421   PByteArray(buf)^[0]:= value shr 24
   410   PByteArray(buf)^[0]:= value shr 24
   422 {$ENDIF}
       
   423 end;
   411 end;
   424 
   412 
   425 function SDLNet_Read16(buf: pointer): Word;
   413 function SDLNet_Read16(buf: pointer): Word;
   426 begin
   414 begin
   427 {$IFDEF LITTLE_ENDIAN}
       
   428   SDLNet_Read16:= PByteArray(buf)^[0] or
       
   429                  (PByteArray(buf)^[1] shl 8)
       
   430 {$ELSE}
       
   431   SDLNet_Read16:= PByteArray(buf)^[1] or
   415   SDLNet_Read16:= PByteArray(buf)^[1] or
   432                  (PByteArray(buf)^[0] shl 8)
   416                  (PByteArray(buf)^[0] shl 8)
   433 {$ENDIF}
       
   434 end;
   417 end;
   435 
   418 
   436 function SDLNet_Read32(buf: pointer): LongWord;
   419 function SDLNet_Read32(buf: pointer): LongWord;
   437 begin
   420 begin
   438 {$IFDEF LITTLE_ENDIAN}
       
   439   SDLNet_Read32:=  PByteArray(buf)^[0] or
       
   440                   (PByteArray(buf)^[1] shl  8) or
       
   441                   (PByteArray(buf)^[2] shl 16) or
       
   442                   (PByteArray(buf)^[3] shl 24)
       
   443 {$ELSE}
       
   444   SDLNet_Read32:=  PByteArray(buf)^[3] or
   421   SDLNet_Read32:=  PByteArray(buf)^[3] or
   445                   (PByteArray(buf)^[2] shl  8) or
   422                   (PByteArray(buf)^[2] shl  8) or
   446                   (PByteArray(buf)^[1] shl 16) or
   423                   (PByteArray(buf)^[1] shl 16) or
   447                   (PByteArray(buf)^[0] shl 24)
   424                   (PByteArray(buf)^[0] shl 24)
   448 {$ENDIF}
       
   449 end;
   425 end;
   450 
   426 
   451 end.
   427 end.