目次 - SDL 2.0の履歴
SDL 2.0の履歴
2.0.9の変更点
全般
- 新しいセンサーAPIの追加. SDL_Init()でSDL_INIT_SENSORを使って初期化され, SDL_sensor.hで宣言されている
- センサーが更新されたとき送られるSDL_SENSORUPDATEイベントの追加
- 現在のディスプレイの向きを戻すSDL_GetDisplayOrientation()の追加
- ディスプレイの向きが変わったとき送られるSDL_DISPLAYEVENTイベントの追加
- Xbox, PS4, Nintendo Switch Proコントローラの環境を越えた一貫性のある対応のためのHIDAPIジョイスティックドライバの追加 (PS4とNintendo Switch Proコントローラへの対応に貢献したValveに感謝します)
- その他多数のゲームコントローラへの対応を追加
- ゲームコントローラのプレイヤー番号を得るSDL_JoystickGetDevicePlayerIndex(), SDL_JoystickGetPlayerIndex(), SDL_GameControllerGetPlayerIndex()の追加. XInputコントローラの場合はXInput indexを戻す.
- ハプティックAPIを使わずに単純な振動を起こせるSDL_GameControllerRumble(), SDL_JoystickRumble()の追加
- 開く前にゲームコントローラのマッピングを得られるSDL_GameControllerMappingForDeviceIndex()の追加
- マウスのダブルクリックの時間を制御するSDL_HINT_MOUSE_DOUBLE_CLICK_TIMEヒントの追加
- マウスのダブルクリックの半径をピクセル単位で制御するSDL_HINT_MOUSE_DOUBLE_CLICK_RADIUSヒントの追加
- サーフェイスが有効なカラーキーを持っているか否かを戻すSDL_HasColorKey()の追加
- CPUにAVX-512F仕様があるか否かを戻すSDL_HasAVX512F()の追加
- アプリケーションがタブレット上で実行されているか否かを戻すSDL_IsTablet()の追加
- スレッドを最高位の優先度にするSDL_THREAD_PRIORITY_TIME_CRITICALの追加
Mac OS X
- Mac OS X Mojaveで黒い画面から始まる問題の修正
Linux
- RealtimeKitを使って可能ならネイディブスレッドの優先度の設定を許可するSDL_LinuxSetThreadPriority()の追加
iOS
Android
- Googleの新しいApp Storeの要求に適合させるため, Android SDKでAPI 26が必要となった
- 有線USBのXbox, PS4, Nintendo Switch Pro ゲームコントローラへの対応の追加
- Android 7.0以降(Chromebook, Samsung Experience 9.0のDeXモードを除く)でマウスの相対モードへの対応を追加
- Android 7.0以降でカスタムマウスカーソルへの対応を追加
- 戻るボタンを押したときアプリ外に戻る(デフォルト)かSDL_SCANCODE_AC_BACKイベントを送るかを決めるSDL_HINT_ANDROID_TRAP_BACK_BUTTONヒントの追加
- Androidシステムの戻るボタンの振る舞いを引き起こすSDL_AndroidBackButton()の追加
- Chromebook Androidランタイムで実行されているか否かを戻すSDL_IsChromebook()の追加
- Samsung DeXに接続して実行しているか否かを戻すSDL_IsDeXMode()の追加
2.0.8の変更点
全般
- SDL_fmod()とSDL_log10()の追加
- SDL数学関数はそれぞれfloat版が利用可能になる
- YUV色空間に/から変換するとき使用される計算式を制御するSDL_SetYUVConversionMode()とSDL_GetYUVConversionMode()の追加. オプションはJPEG, BT.601, BT.709
Windows
- Windows UWPでWASAPIへの対応を実装. 非推奨のXAudio2実装を削除
- Windows 7以降でWASAPIによるリサンプリングを追加
Windows UWP
- アプリケーションが実行されているデバイスの種類を得るSDL_WinRTGetDeviceFamily()の追加
Mac OS X
- MacにおけるVulkan SDKの対応を追加:
- 可能なときANGLEを使ったOpenGL ESへの対応を追加
Mac OS X / iOS / tvOS
- Metal 2Dレンダーを追加
- Metalを使ってSDLレンダリングするとき, アプリケーションの描画を挿入するSDL_RenderGetMetalLayer()とSDL_RenderGetMetalCommandEncoder()の追加
iOS
- iPhone Xでホームインジケーターバーを隠すか否かを制御するSDL_HINT_IOS_HIDE_HOME_INDICATORヒントの追加. デフォルトはフルスクリーンアプリケーションでは暗くして, ウィンドウアプリケーションでは表示する
iOS / Android
- ソフトウェアキーボードのリターンキーはキーボードを隠すか, キーイベントを送るか(デフォルト)を制御するSDL_HINT_RETURN_KEY_HIDES_IMEヒントの追加
Android
- SDLはAndroid StudioとGradleでのビルドにデフォルトで対応する
- SDLはビルドにはAPI 19 SDKが必要になる. しかし依然 API 14 (Android 4.0.1)をターゲットとする
- アプリケーションがAndroid TVで実行されているかを得るSDL_IsAndroidTV()の追加
Android / tvOS
- TVリモコンはジョイスティックとしてリストに上げられるか(デフォルト), キーボードイベントを送るか制御するSDL_HINT_TV_REMOTE_AS_JOYSTICKヒントの追加
Linux
- XサーバはSDLアプリケーションのコンポーザーをスキップするか否かを制御するSDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITORヒントの追加. デフォルトは"1"
- Raspberry PiとKMSDRMビデオドライバで, ダブルバッファリングまたはトリプルバッファリング(デフォルト)のどちらを使うかを制御するSDL_HINT_VIDEO_DOUBLE_BUFFERヒントの追加
2.0.7の変更点
全般
- オーディオストリーム変換関数の追加:
-
- SDL_NewAudioStream()
- SDL_AudioStreamPut()
- SDL_AudioStreamGet()
- SDL_AudioStreamAvailable()
- SDL_AudioStreamFlush()
- SDL_AudioStreamClear()
- SDL_FreeAudioStream()
- SDLメモリ確保機能の問い合わせと設定を行う関数の追加:
- SDL_GetMemoryFunctions()
- SDL_SetMemoryFunctions()
- SDL_GetNumAllocations()
- ジョイスティックとゲームコントローラーAPIへのマルチスレッドアクセスのためのロック関数の追加:
- SDL_LockJoysticks()
- SDL_UnlockJoysticks()
- 以下の関数がスレッドセーフになった:
- SDL_SetEventFilter()
- SDL_GetEventFilter()
- SDL_AddEventWatch()
- SDL_DelEventWatch()
2.0.6の変更点
全般
- SDL_vulkan.hによる多環境対応Vulkanグラフィックの追加:
これにより全ての環境依存コードをSDL環境のVulkanへ移行する必要が生じる.
test/testvulkan.cにサンプルがある.
- 2Dレンダリングのカスタムブレンドモードを生成するSDL_ComposeCustomBlendMode()の追加
- NEON命令に対応しているか否かを戻すSDL_HasNEON()の追加
- Nintendo Switch Proコントローラーを含む多くのゲームコントローラーへの対応を追加
- ゲームコントローラーで逆転やバラバラの方向のマッピングの追加
- 開く前にジョイスティックの情報を戻す関数の追加:
- SDL_JoystickGetDeviceVendor()
- SDL_JoystickGetDeviceProduct()
- SDL_JoystickGetDeviceProductVersion()
- SDL_JoystickGetDeviceType()
- SDL_JoystickGetDeviceInstanceID()
- 開かれたジョイスティックの情報を戻す関数の追加:
- SDL_JoystickGetVendor()
- SDL_JoystickGetProduct()
- SDL_JoystickGetProductVersion()
- SDL_JoystickGetType()
- SDL_JoystickGetAxisInitialState()
- 開かれたゲームコントローラーの情報を戻る関数の追加:
- SDL_GameControllerGetVendor()
- SDL_GameControllerGetProduct()
- SDL_GameControllerGetProductVersion()
- 組み込まれたゲームコントローラーマッピングの一覧を得られるSDL_GameControllerNumMappings()とSDL_GameControllerMappingForIndex()の追加
- ファイルからメモリにロードするSDL_LoadFile()とSDL_LoadFile_RW()の追加
- サーフェイスのコピーを生成するSDL_DuplicateSurface()の追加
- JACKオーディオドライバの試作を追加
- 2のベキ乗でない再サンプリングの実装. libsamplerateの使用を選択できる
- 再サンプリングの質を決めるSDL_HINT_AUDIO_RESAMPLING_MODEヒントの追加
- SDL_RenderSetLogicalSize()の拡大方法を決めるSDL_HINT_RENDER_LOGICAL_SIZE_MODEヒントの追加
- "0" または "letterbox" - 上下/左右を黒帯にして画面に合わせる (デフォルト)
- "1" または "overscan" - 拡大して画面に合わせる. 画面からはみ出すことを認める
- マウスの速さの倍率を設定するSDL_HINT_MOUSE_NORMAL_SPEED_SCALEヒントとSDL_HINT_MOUSE_RELATIVE_SPEED_SCALEヒントの追加
- マウスイベントとタッチイベントを統合するか否かをを決めるSDL_HINT_TOUCH_MOUSE_EVENTSヒントの追加
Windows
- Windowsのオーディオドライバのデフォルトを新たにWASAPIとした. ホットプラグインとデフォルトオーディオデバイスの変更に対応
- 古いXAudio2オーディオドライバは非推奨となった. 次のリリースで廃止される予定である
- SDL windowsでユーザのアイコンを指定するSDL_HINT_WINDOWS_INTRESOURCE_ICONヒントとSDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALLヒントの追加
- .NET言語と様々なWindowsデバッガに対応するためSDL_HINT_WINDOWS_DISABLE_THREAD_NAMINGヒントをデフォルトとした
- ゲームコントローラーマッピングのGUID形式の更新. 古いマッピングは読み込み時に自動的に変換される
- WindowsのSDL_WINDOW_ALWAYS_ON_TOPフラグを実装
Linux
- 組み込み用のKMS/DRMビデオドライバの試作を追加
iOS
- SDL_HINT_AUDIO_CATEGORYヒントによるオーディオカテゴリの操作を追加. サイレントスイッチが音声に影響を与えるか否かを決めるため
2.0.5の変更点
全般
Windows
- スレッドに名前を付けたときデバッガ例外が発生することを防ぐSDL_HINT_WINDOWS_DISABLE_THREAD_NAMINGヒントの追加. この例外はデバッガ下で.NETアプリケーションを実行するとき問題を引き起こす
- WindowsもSDL_HINT_THREAD_STACK_SIZEヒントに対応
- XBoxのコントローラのトリガが開始時に自動的に引かれる問題の修正
- 実行ファイルの最初のアイコンをウィンドウのアイコンのデフォルトとする
- SDLがCライブラリ対応でビルドされたとき, SDLログメッセージが重複して表示される問題の修正
- SDLウィンドウがフォーカスを失ったときデッドキーをリセットする. よって, SDLアプリケーションで押されたデッドキーは他のアプリケーションの文字入力に影響しない
Mac OS X
- ダミービデオドライバの選択の問題の修正
- Caps Lockキーイベントは, 押したときに押した/離したイベントがペアで発生するのではなく, 押したときに押したイベント, 離したときに離したイベントが発生するようになった
- Mac OS X 10.12でのマウスホイールイベントの問題の修正
- 音声ドライバは, 新しいバージョンのMac OS Xでより高い互換性のあるAVFoundationを使うように更新した
Linux
- Fcitx IMEに対応
- SDLウィンドウがフォーカスを求めているかをウィンドウマネージャが尋ねたとき発生するSDL_WINDOWEVENT_TAKE_FOCUSイベントの追加
- 更新周期は切捨てではなく四捨五入となった. 例えば59.94Hzは, 59Hzではなく, 四捨五入され60Hzとなる
- Raspberry Piのスクリーンタッチに初期対応
OpenBSD
iOS
tvOS
Android
- Androidスクリーンの解像度が変わったときウィンドウのサイズが変わらない問題の修正
- 加速度で伝えられたジョイスティックのZ軸を正しくなるように修正
Emscripten (webブラウザ上で動作)
2.0.4の変更点
全般
Windows
Mac OS X
Linux
iOS
Android
Raspberry Pi
原文へのリンク
Mercurial > SDL / file revision