MGL 1.1.16 (2026-02-15)#

追加・変更#

動的配列クラス#

値を安全に書き換えるSet()およびWrite()を追加

ポインタを取得せずに値を書き換えを行えるよう、以下の関数を追加しました。

MGL::Array2D::Newの引数の方を変更

座標の範囲指定をsize_tからIndexTypeへと変更しました。

MGL::Range#

範囲ゼロの状態を新たに追加

コンストラクタで範囲を指定せずに生成した場合、範囲ゼロの状態を持つようになりました。この状態はMGL::Range::IsZeroにて判別可能です。

ファイルアクセス用の例外クラスの導入#

MGL::File名前空間が送出する専用の例外クラスとしてMGL::File::Exceptionを追加しました。これに伴い、MGL::File::ThrowingHandleおよびMGL::File::ThrowingUtilityが送出する例外もMGL::File::Exceptionへ統一されます。

注意

この変更は既存のコードに対する大きな破壊的変更となります。

macOSにおけるゲームパッド認識の変更#

macOSにおけるIOKitデリゲートのゲームパッドの認識プライオリティをLowへと下げました。これに伴い、GameControllerフレームワークがゲームパッドとして認識するデバイスが接続されている場合、その他の未対応のゲームパッドは認識できなくなります。

この問題はSDK側のAPIの挙動の変更により、GameControllerフレームワークとIOKitによる情報取得が干渉するようになった事に起因する変更となります。この問題はSDK側の不具合の可能性もあるため、本バージョンにおける暫定的な対応となります。

MGLの初期化に関する調整#

アプリケーションをNullプラットフォームで実行できるよう、MGL::NullInitialize()を追加しました。これに伴い、MGL::Initialize()に直接MGL::ApplicationDelegateを指定することでもエラーとはならず、Nullプラットフォームとして初期化するよう調整しました。

CMakeビルド環境の整理#

テスト用に導入していたCMakeLists.txtの設定を見直し、CMakeによるビルドに正式に対応しました。これに伴い、SConsによるビルドおよびテスト環境は一旦廃止となりました。

不具合修正#

動的配列クラス#

コピー不可能な要素に関する不具合の修正

要素の型にコピー不可能なクラスを指定した際、MGL::Array::NewおよびMGL::Array2D::Newが不適格となる不具合を修正しました。