SFML 2.5.0

@eXpl0it3r eXpl0it3r released this May 7, 2018 · 3 commits to master since this release

Changelog

SFML 2.5.0

Also available on the website: https://www.sfml-dev.org/changelog.php#sfml-2.5.0

General

  • Replaced FindSFML.cmake with SFMLConfig.cmake (#1335)
  • Markdown'd and updated readme, changelog, contributing and license files (#1196, #1368, #1317)
  • Improve packaging support (#1173)
  • Added Tagfile generation and search (#1327)
  • Added CMake variables to select the modules to be built (#798, #800)
  • Do not install extlibs if SFML_USE_SYSTEM_DEPS is true (#1236, #1237)
  • Fixed various type conversion/comparison warnings (#1325)
  • [Android] Increased minimum API version to 14 (#1362)
  • [Android] Removed custom toolchain and added support for the newest NDK version and Gradle (#1350, #1393)
  • [iOS] Updated the binary libs from exlibs/libs-ios (#1207, #1209)
  • [iOS] Use a CMake toolchain file for iOS build (#1268, #1269)
  • [iOS] Install extlibs if needed (#1348)
  • [iOS] Drop 32 bit support (#1374)
  • [iOS] Force correct iOS architecture for cmake (#1373, #1377)
  • [iOS] Added iOS example (#1378)
  • [macOS] Fixed launch of cocoa examples (#1334)
  • [macOS] Improved application signing process (#1020, #1036, #1194)
  • [macOS] Improved CMake script (#1215, #1371)
  • [macOS] Use -stdlib=libc++ (#1361)
  • [OpenBSD] Added support for OpenBSD (#1330)

System

Bugfixes

  • Added protected destructor to sf::NonCopyable to prevent possible resource leaks (#1125, #1161)
  • Fixed crash when sf::Clock is constructed in a global scope (#1258)

Window

Features

  • Implemented Cursor API (#269, #784, #827)
  • Implemented Clipboard API (#715, #1204, #1221)
  • Renamed a few key codes (#1395)
  • Added joystick example (#1363)
  • [Windows] Added support for interfacing with joysticks via DirectInput when it is available (#1251, #1326)
  • [Windows] Fix discrete GPU preference symbols being exported from the wrong place (#1192, #1406)

Bugfixes

  • [Android] Return correct key code for delete/backspace (#1309, #1362)
  • [iOS] Don't need to find vorbisfile or vorbisenc (#1347)
  • [Linux] Fixed sf::Window::getPosition() returning incorrect position because of differences in window managers (#1228, #1266)
  • [Linux] Fix X11 key repeat handling not filtering out events from other windows (#1223, #1230, #1291)
  • [Linux] Restore fullscreen of a non-visible window (#1339)
  • [macOS] Fixed window menu not working (#1091, #1180, #1193)
  • [macOS] Fixed crash with application messing hardware detection e.g. TeamViewer (#1323)
  • [macOS] Added support for (some) Hat/POV axis (#1248)
  • [Windows] Prevent uninitialized read by zeroing memory (#1264)
  • [Windows] Fixed modifier keys handling (#1357)

Graphics

Features

  • Implemented additional line spacing and letter spacing in sf::Text (#928, #1366)
  • Added sf::VertexBuffer class (#1308)
  • Added GPU local texture copying support, allowing performance optimizations and texture swapping (#1119, #1319, #1320)
  • Optimize performance by skipping glTexCoordPointer() call if not needed (#1015)
  • Generate shape outline vertices only if necessary (#925, #1356)
  • Removed dependency to libjpeg, stb_image_write now supports writing JPEG files (#1278, #1279)
  • Enable comparing sf::Transform and optimize resetting OpenGL back to the identity matrix (#1298)
  • Added missing setActive() virtual method to sf::RenderTarget (#1157)
  • Updated stb_image to v2.16 and stb_image_write to v1.07 (#1270)
  • Added sf::RenderTexture stencil and multisampling support (#1274, #1285)
  • Added example demonstrating sf::VertexBuffer, sf::Shader and sf::Thread usage (#1352)
  • Optimized sf::RenderTexture performance (#1379)

Bugfixes

  • Properly free memory in sf::Font::cleanup() (#1119)
  • Fixed memory leak in sf::Font (#1216)
  • Fix OpenGL texture coordinate pointer not being updated correctly under certain conditions (#1297)
  • Fix for broken text when the font is reloaded (#1345)
  • Fix memory leak in sf::Text (#1233, #1360)
  • Fixed strict aliasing punning warning when generating the key of a glyph in Font.cpp (#1187, #1396)
  • Fixed OpenGL version string being parsed incorrectly on some platforms (#1249, #1390)
  • [macOS] Worked around render target bug (#1132, #1342)
  • [Windows] Replaced time-based joystick poll with a hardware event handler (#1179, #1195, #1198, #1199, #1421)

Audio

Features

  • Added loop point support to sf::Music (#177, #629)
  • Added support for the extensible PCM wave file format (#1296)
  • [iOS] Enable audio module (#1338)

Bugfixes

  • Fixed inconsistent seek behavior in sf::SoundStream (#1118)
  • Fixed stack overflow in sf::SoundStream::fillAndPushBuffer() (#1154)
  • Fixed seeking quirks in the FLAC reader (#966, #1162)
  • Allow polymorphism with sf::SoundSource (#1185)
  • Fixed WAV file writer writing wrong header values (#1280, #1281)
  • Small bugfix to argument of alcCaptureOpenDevice() (#1304, #1305)
  • [iOS] Find OpenAL correctly (#1263, #1376)
  • [Windows] Updated OpenAL Soft to 1.18.1 fixing crashes (#1247, #1260)

Network

Features

  • Add append/overwrite parameter to Ftp::upload (#1072, #1399)

Bugfixes

  • Fixed wrong condition for building network support (#1253)
  • Changed TCP listen backlog from 0 to SOMAXCONN (#1369, #1407)
  • Fixed socket reuse not conforming to documentation (#1346, #1408)