381 procedure SDLNet_TCP_Close(sock: PTCPsocket); cdecl; external SDL_NetLibName; |
381 procedure SDLNet_TCP_Close(sock: PTCPsocket); cdecl; external SDL_NetLibName; |
382 procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName; |
382 procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName; |
383 function SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName; |
383 function SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName; |
384 function SDLNet_CheckSockets(_set: PSDLNet_SocketSet; timeout: LongInt): LongInt; cdecl; external SDL_NetLibName; |
384 function SDLNet_CheckSockets(_set: PSDLNet_SocketSet; timeout: LongInt): LongInt; cdecl; external SDL_NetLibName; |
385 |
385 |
386 procedure SDLNet_Write16(value: Word; buf: pointer); cdecl; external SDL_NetLibName; |
386 procedure SDLNet_Write16(value: Word; buf: pointer); |
387 procedure SDLNet_Write32(value: LongWord; buf: pointer); cdecl; external SDL_NetLibName; |
387 procedure SDLNet_Write32(value: LongWord; buf: pointer); |
388 function SDLNet_Read16(buf: pointer): Word; cdecl; external SDL_NetLibName; |
388 function SDLNet_Read16(buf: pointer): Word; |
389 function SDLNet_Read32(buf: pointer): LongWord; cdecl; external SDL_NetLibName; |
389 function SDLNet_Read32(buf: pointer): LongWord; |
390 |
390 |
391 implementation |
391 implementation |
392 |
392 |
393 function SDL_MustLock(Surface: PSDL_Surface): Boolean; |
393 function SDL_MustLock(Surface: PSDL_Surface): Boolean; |
394 begin |
394 begin |
395 SDL_MustLock:= ( surface^.offset <> 0 ) |
395 SDL_MustLock:= ( surface^.offset <> 0 ) |
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); |
|
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; |
|
406 PByteArray(buf)^[0]:= value shr 8 |
|
407 {$ENDIF} |
|
408 end; |
|
409 |
|
410 procedure SDLNet_Write32(value: LongWord; buf: pointer); |
|
411 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; |
|
419 PByteArray(buf)^[2]:= value shr 8; |
|
420 PByteArray(buf)^[1]:= value shr 16; |
|
421 PByteArray(buf)^[0]:= value shr 24 |
|
422 {$ENDIF} |
|
423 end; |
|
424 |
|
425 function SDLNet_Read16(buf: pointer): Word; |
|
426 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 |
|
432 (PByteArray(buf)^[0] shl 8) |
|
433 {$ENDIF} |
|
434 end; |
|
435 |
|
436 function SDLNet_Read32(buf: pointer): LongWord; |
|
437 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 |
|
445 (PByteArray(buf)^[2] shl 8) or |
|
446 (PByteArray(buf)^[1] shl 16) or |
|
447 (PByteArray(buf)^[0] shl 24) |
|
448 {$ENDIF} |
|
449 end; |
|
450 |
399 end. |
451 end. |