SDL 2.0.4 : quatrième mise à jour mineure de la bibliothèque de jeux


Cette version n'apporte aucune fonctionnalité, mais permet de stabiliser la bibliothèque et de la rendre plus performante. Certainement, la correction la plus attendue est le patch enlevant le bogue de compilation lié au fichier winapifamily.h (sous Windows).
Voici la liste des correctifs :

Général :

  • ajout du support pour les applications Web utilisant Emscripten ;
  • ajout du support pour les applications Web utilisant le Native Client (NaCl) ;
  • ajout de fonctions pour mettre en attente de lecture une musique (SDL_QueueAudio(), SDL_GetQueuedAudioSize(), SDL_ClearQueuedAudio()) ;
  • ajout des événements pour l'ajout à la volée de périphérique audio SDL_AUDIODEVICEADDED et SDL_AUDIODEVICEREMOVED ;
  • ajout des fonctions SDL_PointInRect(), SDL_HasAVX2(), SDL_SetWindowHitTest(), SDL_GetGrabbedWindow(), SDL_RenderIsClipEnabled(), SDL_CaptureMouse(), SDL_WarpMouseGlobal(), SDL_GetGlobalMouseState(), SDL_GetDisplayDPI(), SDL_JoystickCurrentPowerLevel(), SDL_JoystickFromInstanceID(), SDL_GameControllerFromInstanceID().
  • ajout de l'attribut OpenGL GL_CONTEXT_RELEASE_BEHAVIOR correspondant à l'extension ARB_context_flush_control ;
  • ajout du support de EGL_KHR_create_context ;
  • ajout du support des textures NV12 et NV21 YUV pour OpenGL et OpenGL ES 2.0 ;
  • ajout du pilote vidéo Vivante ;
  • ajout d'un événement SDL_RENDER_DEVICE_RESET envoyé lorsque le périphérique D3D est perdu ou lorsque le contexte GLES doit être recréé ;
  • ajout des indicateurs SDL_HINT_NO_SIGNAL_HANDLERS et SDL_HINT_THREAD_STACK_SIZE, SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN ;
  • ajout des fonctions SDL_sqrtf(), SDL_tan() et SDL_tanf() ;
  • amélioration du support des fichiers WAV et BMP ;
  • renommage de SDL_assert_data() en SDL_AssertData() et SDL_assert_state() en SDL_AssertState().


Windows :

  • ajout du support pour Windows Phone 8.1 et Windows 10/UWP ;
  • la résolution du timer est de 1  ms par défaut ;
  • SDLmain ne dépend plus des routines C et permet donc d'utiliser le même fichier .lib dans les compilations Debug et Release ;
  • ajout de SDL_SetWindowsMessageHook() pour rajouter un callback avant chaque appel à TranslateMessage() ;
  • ajout d'un indicateur SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP pour contrôler si la fonction SDL_PumpEvents() traite la boucle de message de Windows ;
  • il est possible de distinguer entre une souris réelle et des événements de toucher grâce au champ « which » de l'événement souris ;
  • SDL_SysWMinfo contient le HDC de la fenêtre ;
  • ajout du support de l'Unicode pour les options de la ligne de commande ;
  • masquage des beeps lors des combos avec la touche Alt ;
  • ajout d'un indicateur SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 pour éviter la génération d'un événement SDL_WINDOWEVENT_CLOSE lors de l'appui sur Alt+F4.


Mac OS X :

  • amélioration du support du glisser/déposer ;
  • amélioration de la détection du branchement à la volée d'un joystick ;
  • l'événement SDL_WINDOWSEVENT_EXPOSED est déclenché lorsqu'il le faut ;
  • correction du mode relatif de la souris lors des pertes de focus de la fenêtre ;
  • correction du taux de rafraîchissement sur les modes d'affichage.


Linux :

  • activation de la compilation avec le support de Mir et de Wayland par défaut ;
  • ajout d'un indicateur SDL_HINT_VIDEO_X11_NET_WM_PING pour désactiver la gestion du protocole _NET_WM_PING dans la fonction SDL_CreateWindow() ;
  • ajout du support de plusieurs périphériques audio lors de l'utilisation de PulseAudio ;
  • correction de la duplication des événements souris lors de l'utilisation du mode de déplacement relatif de la souris.


iOS :

  • ajout du support de iOS 8 ;
  • ajout du support de la résolution native pour l'iPhone 6 Plus ;
  • SDL_SysWMinfo contient maintenant le tampon d'image de OpenGL ES et son tampon de rendu des couleurs utilisées par la fenêtre active ;
  • corrections de fuites de mémoire ;
  • corrections de problème avec la rotation et l'orientation de l'appareil.


Android :

  • ajout des indicateurs SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH, SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION, SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION, SDL_HINT_VIDEO_ALLOW_SCREENSAVER ;
  • ajout des fonctions SDL_DisableScreenSaver(), SDL_EnableScreenSaver(), SDL_ShowMessageBox() et SDL_ShowSimpleMessageBox().


Raspberry Pi :

  • ajout du support du Raspberry Pi 2.



SDL_image 2.0.1

  • correction de problème d'espace de couleur sur iOS et Mac OS X ;
  • correction du support des fichiers XPM ayant de la transparence ;
  • correction de la compilation du support JPEG pour Android ;
  • ajout du support de la compilation pour Windows RT et Windows Phone ;
  • correction d'une fuite de mémoire lors du chargement d'une image WebP ;
  • correction du chargement de fichiers BMP avec les structures BITMAPINFOHEADER étendues ;
  • correction de la compilation avec libpng 1.4.



SDL_mixer 2.0.1

  • ajout du support du format de point de boucle « smpl » dans les fichiers WAV ;
  • correction d'une exception dans la fonction Mix_Volume() liée aux nombres à virgule flottante ;
  • ajout du support de la compilation pour Windows RT et Windows Phone ;
  • ajout du chargement de fichier MP3 en tant que morceaux sonores (sound chunks).



SDL_net 2.0.1

  • correction de la fonction SDLNet_GetLocalAddresses() sur Windows.



SDL_net 2.0.13

  • correction d'un bogue de rendu de texte commençant avec un glyphe ayant un décalage négatif ;
  • correction du chargement de polices non redimensionnables ;
  • la fonction TTF_GetFontKerningSize() récupère le kerning entre deux caractères et non entre deux indices de glyphes ;
  • ajout du support de la compilation pour Windows RT et Windows Phone.



Vous pouvez télécharger la nouvelle version de la bibliothèque sur le site officiel ou utiliser un template proposé par la rubrique 2D/3D/Jeux.



Votre opinion

Quelles sont les bonnes et mauvaises choses de cette nouvelle version ?
Avez-vous réalisé un projet avec la SDL 2 ? Montrez-le-nous !


Liens utiles

Les tutoriels SDL 2
Installation de la bibliothèque
Guide de migration SDL 1.2 -> SDL 2

Templates pour démarrer encore plus vite son projet avec la SDL 2 :



Source

Site officiel