DXライブラリの更新履歴


(2024/1/3)
3.24d  正式公開のためにバージョン番号を変更。

3.24c <機能追加・改良等の項目>

 関数 GetDisplayInfo に画面のリフレッシュレートを取得するための引数 DesktopRefreshRate を追加。

 フルスクリーンモードで起動した場合の使用しているディスプレイモードの情報を取得するための関数 GetFullScreenUseDisplayMode を追加。( 仮想フルスクリーンモードの場合は取得できない )

 関数 GetClipboardText にバッファのサイズを指定するための引数 DestBufferBytes を追加。

 関数 DrawString などの文字列描画関係の関数で \n を無視するかどうかを設定するための関数 SetFontIgnoreLFFlag を追加。

 関数 GraphFilter の DX_GRAPH_FILTER_DOWN_SCALE を縮小をしない等倍( DivNum = 1 )に対応。

 動画ファイルの更新処理を明示的に行うための関数 UpdateMovieToGraph を追加。

 C++ Builder用のライブラリファイルのビルドに使用する C++ Builder のバージョンを 11.3 に変更。

 C++ Builderの Win64用のライブラリファイルを追加。

 描画ブレンドモード DX_BLENDMODE_INVDESTCOLOR のアルファチャンネルのみ書き換えるバージョンとなる DX_BLENDMODE_INVDESTCOLOR_A を追加。

 描画ブレンドモード DX_BLENDMODE_MUL のアルファチャンネルのみ書き換えるバージョンとなる DX_BLENDMODE_MUL_A を追加。

 描画ブレンドモード DX_BLENDMODE_INVDESTCOLOR_A と DX_BLENDMODE_MUL_A の乗算済みα用となる DX_BLENDMODE_PMA_INVDESTCOLOR_A と DX_BLENDMODE_PMA_MUL_A を追加。

 関数 GraphBlend で指定できるブレンドタイプに DX_GRAPH_BLEND_MASK と DX_GRAPH_BLEND_PMA_MASK を追加。

 関数 PlayMovieToGraph で再生した動画の音量を取得するための関数 GetMovieVolumeToGraph と GetMovieVolumeToGraph2 を追加。

 関数 DrawCircleAA に引数 Angle を追加。

 関数 SetUseBackCulling( DX_CULLING_LEFT ); 等でカリングを有効にしていると関数 DrawCircleGauge で正常な描画結果を得られないバグを修正。

 関数 Live2D_Model_StartMotion にループ時にフェードを行うかどうかを指定するための引数 isLoopFadeIn を追加。

 関数 Live2D_Model_StartMotion にフェードイン・フェードアウトの時間を指定するための引数 fadeInSeconds と fadeOutSeconds を追加。

 関数 DrawObtainsString, DrawObtainsString_CharClip に、描画した文字列の行数を取得するための引数 LineCount を追加。

 単語単位でクリップする関数 DrawObtainsString_WordClip を追加。

 Windows版:Direct3D 11 を使用して起動した上で関数 SetUsePixelLighting( TRUE ); を実行してピクセル単位のライティングを行う設定にした場合、レンダーターゲット0 に通常の描画結果、レンダーターゲット1 に法線( ビュー空間 )、レンダーターゲット2 に R:カメラからの距離 G:スペキュラマップ×スペキュラカラーを出力するように処理を追加。( 尚、法線の出力は以前のバージョンから行われています )

 Windows版:Direct3D 11 を使用した場合に、頂点シェーダーとジオメトリシェーダーでもテクスチャを読み込む事ができるように処理を追加。

 Windows版:MinGW 13.1.0 x86_64_w64 用のライブラリファイルを追加。

 Windows版:Direct3D 11 が使用する IDXGIAdapter の LUID を指定するための関数 SetUseDirect3D11AdapterLUID を追加。

 Windows版:『Windows10 以降で短時間に連続して同じ文字の WM_CHAR が発生した場合は2回目以降の WM_CHAR を無視する』処理を使用するかどうかを設定するための関数 SetUseWindows10_WM_CHAR_CancelTime を追加。

<仕様変更等の項目>

 非同期読み込み中のハンドルに対して関数 SetUseASyncLoadFlag( TRUE ); を実行して非同期読み込みの設定の状態で DeleteGraph や DeleteSoundMem などのハンドル削除関数を実行した場合は、関数からはすぐ処理が戻り、ハンドルは非同期読み込みが終わった後に自動的に削除されるように処理を変更。

 Windows版:Direct3D 11 を使用して起動した上で関数 SetUsePixelLighting( TRUE ); を実行してピクセル単位のライティングを行う設定にしても、ディレクショナルライトのみの場合はピクセル単位のライティングを行っていなかった仕様を、ディレクショナルライトのみの場合でもピクセル単位のライティングを行うように変更。

<バグ修正等の項目>

 関数 SetUseASyncLoadFlag( TRUE ); を実行して非同期読み込み中に、読み込み完了後にのみ使用できる関数に非同期読み込み中のハンドルを渡して呼び出すとメモリの不正なアクセスが発生することがあるバグを修正。

 非同期読み込みを有効にした状態で関数 DXArchiveCheckFile を使用すると、DXアーカイブ内に存在するファイルのパスを指定しても戻り値が 0 になる事があるバグを修正。

 関数 DrawModiStringHardware で描画される文字列の下側が途中で切れてしまう事があるバグを修正。

 コードページ 936( 簡体字 ), 949( ハングル文字 ), 950( 繁体字 ) の文字コードと Unicode との変換が正常に行えないことがあるバグを修正。

 関数 GraphBlendRectBlt や GraphBlendRectBlt2 で DX_GRAPH_BLEND_RGBA_SELECT_MIX を使用すると正しく処理が行われない事があるバグを修正。

 関数 GraphBlendRectBlt2 で SrcX2 や SrcY2 が SrcGrHandle の画像の右端・下端からはみ出ていた場合に正常なブレンド結果が得られないバグを修正。

 関数 SetUseTextureToShader で動画ファイルのグラフィックハンドルを設定した場合、関数 DrawPolygon2DToShader などで描画を行った際に描画される動画の画像が更新されないバグを修正。

 関数 SetDrawAddColor が乗算済みαのブレンドモードを使用した際に正常に機能しないバグを修正。

 Android版・iOS版:Android と iOS の環境で関数 SetDrawAddColor が正常に動作しないバグを修正。

 Windows版:MakeKeyInput で半角文字のみ入力できるようにして入力ハンドルを作成した場合、直前に全角入力をしていると、何も文字が入力できなくなることがあるバグを修正。

 Windows版:IME で文字列入力中に、文字列変換候補リストが正常に描画されないことがあるバグを修正。

 Windows版:IMEによる文字列入力中に半角スペースが入力できないバグを修正。

 Windows版:ディスプレイの縦横比と SetGraphMode で指定した縦横比が一致しない場合、Direct3D 9 を使用してフルスクリーンモードで起動した際は余白部分が SetBackgroundColor で指定した色で塗りつぶされなかったバグを修正。

 Windows版:SetFullSceneAntiAliasingMode でフルシーンアンチエイリアスを設定しても Direct3D 9 で起動した場合は設定が適用されないことがあるバグを修正。

 Windows版:DrawPolygon2DToShader 等のシェーダーを使用した2Dの描画でピクセルシェーダーに VERTEX2DSHADER 構造体の spc の値が渡されていなかったバグを修正。

(2023/2/26)
3.24b  正式公開のためにバージョン番号を変更。

3.24a <機能追加・改良等の項目>

 MV1LoadTexture を非同期読み込みに対応。

 DrawPolygonIndexed3D などの頂点インデックス付きポリゴン描画関数の頂点インデックスの型が unsigned int となっている DrawPolygon32bitIndexed3D などを追加。

 右手座標系用のクリッピング処理を行うかどうかを設定するための関数 SetUseRightHandClippingProcess を追加。

 関数 LoadDivGraph 等の分割読み込み系の関数で引数から算出される合計サイズが分割元画像のサイズよりも大きい場合に関数をエラー終了させるかどうかを設定するための関数 SetUseLoadDivGraphSizeCheckFlag を追加。

 LoadGraph などで作成するグラフィックハンドルに割り当てるグラフィックハンドル値を設定するための関数 SetCreateGraphHandle を追加。( LoadDivGraph などの分割画像用として SetCreateDivGraphHandle も追加 )

 SetUsePremulAlphaConvertLoad と SetUseConvertNormalFormatLoad の設定されている値を取得するための関数 GetUsePremulAlphaConvertLoad と GetUseConvertNormalFormatLoad を追加。

 文字列の描画で縁のみ、又は本体のみ描画を行うかどうかを設定するための関数 SetFontOnlyDrawType を追加。

 一部のタイプのハンドルの情報を Log.txt にダンプ出力する関数 DumpHandleInfo を追加。

 DXライブラリ内部のログ出力を行うかどうかを設定するための関数 SetOutApplicationSystemLogValidFlag を追加。

 ゲームパッドのデフォルトのデッドゾーンを設定するための関数 SetJoypadDefaultDeadZoneAll を追加。

 指定のファイルハンドルのファイルのサイズを取得する為の関数 FileRead_size_handle を追加。

 Windows版:Direct3D 11 Device の作成時に D3D11_CREATE_DEVICE_BGRA_SUPPORT を指定するかを設定するための関数 SetUseDirect3D11BGRASupport を追加。

 Windows版:WIC( Windows Imaging Component ) による画像の読み込み処理を追加。

 Windows版:指定のウィンドウの画像を取得するための関数 GetOtherWindowGraph を追加。

 Windows版:SetUseUpdateLayerdWindowFlag( TRUE ); や SetUseBackBufferTransColorFlag( TRUE ); を使用して透過ウィンドウで実行している際にマウスのイベントが後ろのウィンドウに透過するかを設定するための関数 SetUseMouseEventTransparentWindowFlag を追加。

 Windows版:マウスポインターの表示状態についてメニューの表示状態の影響を受けるかを設定するための関数 SetMouseDispIgnoreMenuFlag を追加。

 Windows版:MinGW 12.2.0 x86_64_release_win32_seh_ucrt_rt_v10_rev2 用のライブラリファイルを追加。

 Android版:AndroidStudio用のライブラリファイルを追加。

<仕様変更等の項目>

 DxLibModelViewer.exe の実行時に Log.txt が作成されるように仕様を変更。

 フォントが使用するグラフィックハンドルは InitGraph では削除されないように処理を変更。

 DXArchivePreLoad で事前に読み込んだ DXAファイルを DXArchiveRelease で明示的に解放しなくても DxLib_End 実行時に自動的に解放されるように処理を変更。

 Windows版:SetEnableASIOFlag( TRUE ) ; を実行して ASIO の使用を指定した場合で ASIO の初期化に失敗した場合は次に WASAPI の使用を試みるように処理を変更。

 Windows版:DxDataTypeWin.h から ULONG_PTR の定義を削除。

<バグ修正等の項目>

 DrawModiString で正常な描画が行われないことがあるバグを修正。

 パレット付きの pngファイルを読み込むとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 ConvertStringCharCodeFormat で、変換元の文字列に変換先の文字コードフォーマットに存在しない文字が含まれていた場合、変換後の文字列が『存在しない文字』の箇所で終わってしまうバグを修正。

 KeyInputString などで入力中の文字列に使用中の文字コードに存在しない文字が含まれていた場合、GetIMEInputData で取得できる文節情報が正常な値ではなくなるバグを修正。

 strchrDx, strrchrDx が正常に動作しないことがあるバグを修正。

 printfDx で \n で改行を行いスクロールすると、文字が指定以外の色になる( 主に黒になる )バグを修正。

 Windows版:接続されているモニターのログ出力で、出力される解像度が正しくないことがあるバグを修正。

(2022/10/13)
3.24 <機能追加・改良等の項目>

 DxLibModelViewer.exe で fbx読み込みエラーが発生した際のログ出力内容を追加。

 Windows版:サウンド再生に使用する ASIOドライバーの番号を設定するための関数 SetUseASIODriverIndex を追加。


<仕様変更等の項目>

 Windows版:DxLib_Init 実行後でも SetFullScreenResolutionMode によるフルスクリーン解像度モードの変更ができるように仕様を変更。


<バグ修正等の項目>

 関数 DrawRectGraph を実行すると描画範囲が変更されてしまう事があるバグを修正。

 Windows版:DxLib_Init の呼び出し前に SetGraphMode で画面解像度を設定しなかった場合、DxLib_Init の中で0除算エラーが発生してしまうバグを修正。


(2022/10/9)
3.23f  正式公開のためにバージョン番号を変更。

3.23e <機能追加・改良等の項目>

 ブレンドパラメータを詳細に設定できる関数 SetDrawCustomBlendMode を追加。

 フォントハンドルの最大数を 40 から 256 に変更。

 フレーム単位のアニメーション再生時間を設定するための関数 MV1SetAttachAnimTimeToFrame を追加。

 Live2Dモデルの最後に再生したモーションの番号を取得するための関数 Live2D_Model_GetLastPlayMotionNo を追加。

 Live2Dモデルの再生中のモーションの再生時間を取得するための関数 Live2D_Model_GetMotionPlayTime を追加。

 DxLibModelViewer のマテリアル調整機能にアルファテストの項目を追加。

 Windows版:SetFullScreenResolutionMode で指定できるフルスクリーン解像度モードに仮想フルスクリーンモードである DX_FSRESOLUTIONMODE_BORDERLESS_WINDOW を追加。

 Windows版:MinGW 8.1.0 x86_64_posix_sjis_rt_v6_rev0 用のライブラリファイルを追加。

 Android版:アプリの ANativeWindow を取得するための関数 GetNativeWindow を追加。

 Android版:アプリの入力イベントが発生した際に呼ばれるコールバック関数を登録するための関数 SetAndroidInputEventFookFunction を追加。


<仕様変更等の項目>

 Windows版:SetAlwaysRunFlag( TRUE ) ; を実行してウィンドウが非アクティブでも動作する設定になっていた場合は、StartJoypadVibration で開始したゲームパッドの振動もウィンドウが非アクティブになっても止まらないように仕様を変更。( XInput による振動のみ )

 Windows版:デフォルトのフルスクリーン解像度モードを DX_FSRESOLUTIONMODE_DESKTOP から DX_FSRESOLUTIONMODE_BORDERLESS_WINDOW に変更。


<バグ修正等の項目>

 DrawChipMap2 が正常に動作しないバグを修正。

 DxCompileConfig.h の DX_LIB_LITEVER を有効にするとコンパイルエラーが発生するバグを修正。

 Windows版:SetUseDirectInputFlag( FALSE ) ; を実行した場合 DirectInput だけではなく XInput も無効になっていたバグを修正。

 Windows版:SetFullScreenResolutionMode で DX_FSRESOLUTIONMODE_MAXIMUM を指定した場合正常に動作しなかったバグを修正。


(2022/8/17)
3.23d  正式公開のためにバージョン番号を変更。

3.23c <機能追加・改良等の項目>

 pngファイルの読み込みを高速化。

 MME の waveOut を使用してサウンド出力を行うかどうかを設定する為の関数 SetEnableMMEwaveOutFlag を追加。

 画像読み込み時に DXT圧縮されている画像ファイルをRGBA等の非圧縮画像形式に変換するかどうかを設定するための関数 SetUseConvertNormalFormatLoad を追加。

 DrawFormatString 等の書式指定文字列描画に縁の色を指定する引数 EdgeColor を追加した DrawFormatString2 等の関数を追加。

 DrawString や DrawExtendString などのフォントハンドルの引数が無い文字列描画系の関数で使用されるフォントハンドルを設定するための関数 ChangeFontFromHandle を追加。

 DrawKeyInputString の拡大率を指定する引数を追加した DrawKeyInputExtendString を追加。

 Live2Dモデル描画の際に自動センタリング処理を行うかを設定するための関数 Live2D_SetUseAutoCentering を追加。

 Live2Dモデル描画の際に自動スケーリング処理を行うかを設定するための関数 Live2D_SetUseAutoScaling を追加。

 Live2D_Model_SetTranslate で指定する y の移動方向を反転するかを設定するための関数 Live2D_SetUseReverseYAxis を追加。

 Live2Dモデルのキャンバスサイズを取得するための関数 Live2D_Model_GetCanvasWidth と Live2D_Model_GetCanvasHeight を追加。

 Live2Dモデルの描画の前に呼ばれるコールバック関数を設定するための関数 Live2D_DrawCallback を追加。

 PMD, PMX ファイル読み込み時にIKを無効化するかを設定するための関数 MV1SetLoadModelIgnoreIK を追加。

 Windows版:Live2Dモデル描画で使用するシェーダーハンドルを設定するための関数 Live2D_SetUserShader を追加。

 Windows版:GetJoypadType で取得できるパッドタイプに DX_PADTYPE_DUAL_SHOCK_3 を追加。

 Windows版:入力システムを再初期化する関数 ReSetupInputSystem を追加。

 Windows版:MinGW 12.1.0 i686_release_posix_dwarf_rt_v10_rev3 用のライブラリファイルを追加。

 Windows版:VRAMの容量を 64bitの値で取得するための関数 GetVideoMemorySizeEx を追加。

<仕様変更等の項目>

 LoadDivGraph 等の分割読み込み系の関数の引数 XNum と YNum を乗算した値が AllNum 未満の場合はエラーになるように処理を変更。

<バグ修正等の項目>

 4の倍数ではないサイズの DXT圧縮ファイルが正常に読み込まれない事があるバグを修正。

 LoadSoftImage 等のCPUで扱うイメージの読み込み関数を SetUseASyncLoad( TRUE ) ; を実行した状態で非同期読み込みを行った際に、SetUsePremulAlphaConvertLoad などの関数で行った設定が反映されない事があるバグを修正。

 CreateMaskScreen でマスクを有効にしていると DrawString で文字を描画した際に文字の下側が描画されないことがあるバグを修正。

 Windows版:Direct3D 9 を使用している場合、Live2Dモデルの描画を行った後に GraphFilter が正常に動作しないことがあるバグを修正。

 Windows版:出力先のオーディオデバイスが 1チャンネルだった場合にメモリの不正なアクセスエラーが発生してしまうバグを修正。

 Windows版:WASAPI のサウンドシステム終了処理の際にメモリの不正なアクセスが発生していたバグを修正。

 Windows版:Direct3D 11 を使用してウィンドウモードで起動した際に初期化でエラーが発生して Direct3D 9 の使用に切り替わってしまう事がある不具合を修正。

 iOS版:iOS版で内部関数 MemoryProcess が呼ばれていなかったバグを修正。

 iOS版:DrawBoxSet の iOS版用の処理に存在したバグを修正。

(2022/6/25)
3.23b  正式公開のためにバージョン番号を変更。

3.23a <機能追加・改良等の項目>

 CreateFontToHandle で縁に大きなサイズを指定した場合の縁の形を丸みを帯びたものになるように改善。

 矩形を大量に描画するための関数 DrawBoxSet を追加。

 StopSoundMem に『次にループ範囲の終端まで再生したら音を止めるかどうか』を指定するための引数 IsNextLoopEnd を追加。

 指定のタイプのハンドルの数を取得するための関数 GetHandleNum を追加。

 指定のタイプのハンドルの作成可能最大数を取得するための関数 GetMaxHandleNum を追加。

 GraphBlendRectBlt にブレンド画像の右下座標も指定する為の引数を追加した GraphBlendRectBlt2 を追加。

 GraphBlend で GrHandle と BlendGrHandle のサイズが異なる場合に適用される拡大フィルターモードを設定する為の関数 SetGraphBlendScalingFilterMode を追加。

 ライティング計算でライトや法線の方向を元にした角度減衰を行うかを設定するための関数 SetUseLightAngleAttenuation を追加。

 MV1LoadModel で読み込むモデルで使用するテクスチャファイルを読み込むかどうかを設定する関数 MV1SetLoadModelTextureLoad を追加。

 メルセンヌ・ツイスターアルゴリズムの乱数の生の値を取得するための関数 GetMersenneTwisterRand と GetMersenneTwisterRandHandle を追加。

 使用する zlib のバージョンを 1.2.12 に更新。

 使用する libpng のバージョンを 1.6.37 に更新。

 DxUseCLib.cpp で jinclude.h をインクルードしなくても済むようにコードを変更。( 変更コード提供:draさん )

 Windows版:MinGW 10.3.0 用のライブラリファイルを追加。

 Windows版:MinGW 12.1.0 用のライブラリファイルを追加。

 Windows版:入力中のIME文字列を変更するための関数 SetIMEInputString を追加。

 Windows版:GetJoypadType で取得できるパッドタイプに DX_PADTYPE_SWITCH_HORI_PAD を追加。

 Android版:ペンタブレットの入力を取得するために TOUCHINPUTPOINT構造体にメンバー変数 Pressure や ToolType 等を追加。

 Android版:ディスプレイカットアウト情報を取得するための関数 GetDisplayCutoutRectCount と GetDisplayCutoutRect を追加。

<仕様変更等の項目>

 Windows版:Log.txt の文字コード形式を UTF-8 に固定。

<バグ修正等の項目>

 GetDrawStringSizeToHandle が引数 StrLen で指定した半角文字数より多くの文字の描画幅が取得できてしまっていたバグを修正。

 SetCreateSoundIgnoreLoopAreaInfo( TRUE ) ; を実行していてもループ範囲情報テキストファイルが適用されてしまっていたバグを修正。

 サウンドの再生中に SetSoundCurrentTime などで再生位置を変更すると音の再生が正常に行われなくなる事があるバグを修正。

 BC7フォーマットのDDSファイルを SetUsePremulAlphaConvertLoad( TRUE ); の設定で読み込んだ場合にエラーになっていなかったバグを修正。

 GetTouchInputDownLogNum と GetTouchInputUpLogNum が正常に動作していなかったバグを修正。

 fbxファイルのバンプマップ付きのマテリアルが正常に読み込めなかったバグを修正。

 DxHandle.h 内の #endif に不要な識別子の記述があったのを修正。( 修正コード提供:draさん )

 Windows版:タグに画像が含まれる mp3 ファイルを再生すると再生開始位置がズレてしまうバグを修正。

 Windows版:ソフトウェアレンダリングモード時にウィンドウを最大化してゲーム画面よりもウィンドウのクライアント領域が大きくなった際に、クライアント領域の左上側にゲーム画面が寄ってしまうバグを修正。

 Windows版:Direct3D 9 を使用した場合、乗算済みαの描画処理が正常に行われないバグを修正。

 Windows版:GetDragFilePath で取得できるファイルパスの順番がドラッグ&ドロップしたファイルの順番と逆になっていたバグを修正。

 Windows版:SetWindowVisibleFlag( FALSE ); を実行してウィンドウを非表示にしていても SetGraphMode を使用するとウィンドウが表示されてしまうバグを修正。

 Windows版:EDGE で出力したAVIファイルをフルスクリーンモードで再生しようとするとエラーになるバグを修正。

 Android版:ファイルをフルパス指定した場合に読み込みに失敗するバグを修正。

 Android版:Android Studio のブレーク機能などで一時停止したあと再開すると音の再生が止まってしまう事がある不具合を修正。

 Android版:GraphBlend や GraphFilter を使用した後の描画が、強制的にバイリニアフィルタリングになってしまう事があるバグを修正。

 Android版:ペンタブレットとマウスを接続すると、マウスのボタン入力が取得できないことがあるバグを修正。

 iOS版:ストリームサウンド処理用スレッドとサウンドバッファ再生処理用スレッドが使用するスレッド終了指示確認用変数が誤っていたバグを修正。( 修正コード提供:draさん )

 iOS版:ALリソース解放処理の毎フレーム行う処理を行う関数内で関数終了時にクリティカルセクションが解放されない事があるバグを修正。( 修正コード提供:draさん )

(2021/11/27)
3.23  正式公開のためにバージョン番号を変更。

3.22f <機能追加・改良等の項目>

 乱数ハンドルを扱うための関数 CreateRandHandle などを追加。

 CPUで扱う画像を乗算済みアルファの画像に変換する ConvertPremulAlphaSoftImage と乗算済みアルファの画像を通常の画像に変換する ConvertInterpAlphaSoftImage を追加。

 GetStockDataLengthSoftSoundPlayer にサウンドバッファ中の未再生のサンプル数を取得するための第二引数 int *SoundBufferStockSamples を追加。

 SetIgnoreDrawGraphColor の設定状態を取得するための関数 GetIgnoreDrawGraphColor を追加。

 MakeColorDataSoftImage, MakeRGBA8ColorSoftImage, MakeBGRA8ColorSoftImage, MakeABGR8ColorSoftImage を追加。

 Windows版:WindowsOS のバージョンを取得するための関数 GetWindowOSVersion を追加。

 Windows版:OSのバージョン判定を Windows11 に対応。

 Windows版:ボーダーレスウィンドウにするかどうかを設定する関数 SetUseBorderlessWindowFlag を追加。

<仕様変更等の項目>

 MakeSoftSoundPlayer 等で作成されるサウンドプレイヤーがサウンドバッファに再生タイミングより先行してサウンドデータをセットしておく時間を20分の1秒から30分の1秒に変更。

 Windows版:DirectInput のジョイパッド初期化処理に関する詳細なログを出力するように処理を変更。

 Windows版:Direct3D 11 を使用している場合で RefreshDxLibDirect3DSetting を呼んだ際に、レンダーターゲットの再設定も行うように処理を追加。

 Windows版:SetupToolBar を実行しても、ウィンドウスタイルが 6 ~ 10 の場合はウィンドウスタイルを変更しないように処理を変更。

 Windows版:DxLib_Init の呼び出し前に SetDragFileValidFlag を使用できるように仕様を変更。

<バグ修正等の項目>

 動画ファイルを LoadGraph で読み込むと1ファイル読み込む毎に 192byte メモリリークしてしまうバグを修正。

 一部の関数を除いて GetHandleASyncLoadResult で正常に関数の非同期読み込みの結果を取得できなかったバグを修正。

 DrawStringFToHandle 等の座標を浮動小数点で指定する文字列描画関数で DX_FONTTYPE_EDGE 等の縁付きフォントを使用すると、縁が描画されないバグを修正。

 DrawModiString を使用するとメモリの不正なアクセスエラーが発生してしまうバグを修正。

 Unicode版で printfDx などの書式指定文字列の指定子 %S が正常に動作しないバグを修正。

 Windows版:Windows7 で XInput 対応の Xboxコントローラー以外のコントローラーを使用するとメモリの不正なアクセスが発生してしまうバグを修正。

 Windows版:Zバッファー付き画像を MakeScreen で作成した場合、DeleteGraph でグラフィックハンドルを削除しても Zバッファーの ShaderResourceView が解放されないバグを修正。

 Windows版:SetScreenFlipTargetWindow( NULL ); を実行しても描画先のウィンドウ設定が解除できなくなっていたバグを修正。

 Windows版:KeyInputString 絵文字などを使用して入力するとメモリの不正なアクセスが発生することがあるバグを修正。

 Windows版:WASAPI を使用してサウンド出力をしている場合に、プログラム実行中にPCの設定でサウンドの再生デバイスを変更するとDXライブラリからのサウンド出力が変更後のサウンドデバイスから行われず、引き続き変更前のサウンドデバイスから出力されてしまう問題を修正。

 Windows版:SetJoypadDeadZone を使用しても右スティックの無効ゾーンが変化しない場合があるバグを修正。

 Windows版:SetupToolBar を実行してツールバーを有効にしてもツールバーが表示されないことが有るバグを修正。( Direct3D 9 使用時のみ )

 Windows版:『ALT + キー』による メニューのショートカットキーが効かないバグを修正。

 Windows版:MakeScreen を実行すると _com_error 例外がスローされる不具合を修正。

 Windows版:Direct3D 9 を使用した場合、SetDrawAddColor による加算色の効果が正常に反映されないことがあるバグを修正。

 Windows版:DxLib_Init の呼び出し前に LoadPauseGraph を使用するとメモリリークが発生するバグを修正。

 Windows版:プログラムの実行途中で SetCurrentDirectory でカレントディレクトリが変更された場合、Log.txt が保存されるディレクトリも途中で変化してしまっていたバグを修正。

(2021/10/3)
3.22e  正式公開のためにバージョン番号を変更。

3.22d <機能追加・改良等の項目>

 画像ファイルの読み込み処理を高速化。

 printfDx で表示する文字列の色を指定するための関数 setPrintColorDx を追加。

 描画元画像の座標も float で指定する DrawRectGraphF2 と DrawRectExtendGraphF2 を追加。

 LoadDivGraph に1つ辺りの画像サイズとは別に、1区切り辺りのサイズを指定するための引数 XStride と YStride を追加。

 InitGraph を呼んでも削除されないグラフィックハンドルを作成するかを設定するための関数 SetCreateGraphInitGraphDelete を追加。

 描画ブレンドモードに Spine用の DX_BLENDMODE_SPINE_NORMAL 等を追加。

 描画色に加算する色を設定するための関数 SetDrawAddColor を追加。

 float型カラーテクスチャのカラー値のスケーリングを行うためのフィルター DX_GRAPH_FILTER_FLOAT_COLOR_SCALE を追加。

 フォントタイプに DX_FONTTYPE_ANTIALIASING_16X16 と DX_FONTTYPE_ANTIALIASING_EDGE_16X16 を追加。

 DXアーカイブ内のファイルを非同期読み込みした際に一部非効率な処理を行っていた箇所を改善。

 mqoファイルの Format Text Ver 1.1 に仮対応。

 3Dモデルの物理演算をアニメーションより優先するかどうかを設定するための関数 MV1SetPrioritizePhysicsOverAnimFlag を追加。

 ジョイパッドのタイプを取得するための関数 GetJoypadType を追加。

 非同期読み込みが完了したら呼ばれるコールバック関数を設定する ための関数 SetASyncLoadFinishCallback を追加。

 指定のハンドルの非同期読み込みが終わるまで待つ関数 WaitHandleASyncLoad を追加。

 全てのハンドルの非同期読み込みが終わるまで待つ関数 WaitHandleASyncLoadAll を追加。

 指定時間スレッドをスリープさせるための関数 SleepThread を追加。

 Windows版:SSAOを行うためのフィルター DX_GRAPH_FILTER_SSAO を追加。

 Windows版:プログラム起動中に DirectInput 対応のジョイパッドが接続された場合に自動的に ReSetupJoypad が呼ばれるように処理を変更。

 Windows版:Log.txt に検出されたジョイパッドの Product GUID を出力する処理を追加。

<仕様変更等の項目>

 ウィンドウモード時の SetGraphMode で指定できるウィンドウの最大サイズをこれまでプライマリモニタのサイズだった所を全てのモニタで一番大きいサイズまで許容するように処理を変更。

 非同期読み込み指定で読み込んでいるハンドルを読み込み終了前に使用した場合は、その場で読み込みが完了するまで待つように処理を変更。

 SetUseLighting( FALSE ); を実行してライティングがOFFになっている場合は、DrawPolygon3D 等のポリゴン描画で頂点のスペキュラカラーが最終出力の色に加算されるように処理を変更。

 C言語用ライブラリとしてもコンパイルできるようにコードを変更。

 DxLibModelViewer で使用する FbxSdk のバージョンを 2020 に変更。

 Windows版:セキュリティソフトでウィルスと誤判定される確率を下げるため、インラインアセンブラのコードを無効化。

 Windows版:SetScreenFlipTargetWindow に渡されたウィンドウハンドルが有効かどうかを確認する処理を追加。

 iOS版:サウンドの再生方式を自前ミキシングに変更。

<バグ修正等の項目>

 文字コードBIG5などの文字の一部が正常に表示されないバグを修正。

 自作フォント等で画像情報が無い文字のスペースが正常に処理されていなかったバグを修正。

 アンチエイリアスタイプを指定した場合フォントの一部の文字が正常に描画されないバグを修正。

 CreateDXFontData.exe で作成されるフォントファイルの一部の文字のデータが正常に生成されないバグを修正。

 65535文字以上の文字数のテキストファイルを CreateDXFontData.exe の /A オプションで指定すると不正なメモリアクセスが発生してしまうバグを修正。

 SetMovieColorA8R8G8B8Flag( TRUE ); を実行している状態で mp4 ファイルを LoadGraph で読み込むとメモリの不正なアクセスが発生するバグを修正。

 SetUseShadowMap を呼んだ際にメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 PMD, PMX の物理演算の処理を有効にした際に一部ポリゴンが伸びるバグを修正。

 Ogg Vorbis や Opus など圧縮されたサウンドデータのサウンドハンドルに対して SetLoopStartSamplePosSoundMem などでループ開始位置をサウンドデータの末端以外にした場合、正常にループされないバグを修正。

 SetKeyInputCursorPosition で文字列の長さ未満の位置を指定しても指定した位置よりも手前の位置を指定したことになってしまう事があるバグを修正。

 Windows版:PlayMovieToGraph で mp4ファイルを再生した際にファイルによっては色ずれが発生してしまうことがあるバグを修正。

 Windows版:aviファイルでは TellMovieToGraphToFrame や GetMovieTotalFrameToGraph 等のフレームタイプの関数が正常に動作しなかったバグを修正。

 Windows版:DirectX 9 を使用して起動している場合に GraphFilter で DX_GRAPH_FILTER_PMA_HSB を使用すると正常な結果が得られないバグを修正。

 Windows版:SetUseASyncLoad( TRUE ) ; を実行して非同期読み込みが有効な状態で mp3 ファイルを LoadSoundMem で読み込もうとするとエラーが発生して読み込めないことがあるバグを修正。

 Windows版:SetChangeScreenModeGraphicsSystemResetFlag( FALSE ); を実行した状態で SetGraphMode で画面サイズを変更して表画面に描画すると、変更前の画面サイズの描画範囲になってしまっているバグを修正。

 Windows版:SetEmulation320x240( TRUE ); を実行して起動した際にデスクトップの表示倍率が100%以上の場合、ウィンドウ全体に画面が表示されないバグを修正。

 Windows版:C++版で size_t の型の戻り値や引数がある関数を C#版で呼ぶとエラーが発生するバグを修正。

 Windows版:SetFullSceneAntiAliasingMode でフルシーンアンチエイリアスを行う設定にしていて、且つ Direct3D 11 を使用して起動すると、一部の GPU で正常な描画結果が得られない不具合を修正。

 iOS版:DrawRectExtendGraph で大きく拡大した際に指定した領域の隣のドットがはみ出てくるバグを修正。

 iOS版:画面の左端のタッチが0.5秒程反応が遅れる不具合を修正。

 Android版, iOS版:MV1DrawModel で3Dモデルを描画した直後に GraphFilter 系の関数を使用すると正常にフィルターが適用されないバグを修正。

(2021/1/31)
3.22c  正式公開のためにバージョン番号を変更。

3.22b <機能追加・改良等の項目>

 C#版:DrawFormatString 等の可変長引数の関数を追加。

<仕様変更等の項目>

 int で表現できない値の文字列を atoiDx に渡した際の挙動を atoi と同様になるように処理を変更。

 PlayMovieToGraph で動画を再生中に SeekMovieToGraph を使用しても動画の再生が停止状態にならないように仕様を変更。

 DXアーカイブの拡張子判定はアルファベットの大文字・小文字を区別しないように仕様を変更。

<バグ修正等の項目>

 FileRead_gets を実行した際に行われるテキストファイルの文字コード判別処理が正常に行われない事があるバグを修正。

 3Dモデルのアニメーションの回転キーの値によっては MV1DrawModel で描画される3Dモデルが大きく歪むバグを修正。

 HitCheck_Line_Triangle で同一平面上の線分と三角形の当たり判定を行うと、当たっているにも関わらず当たっていないという判定が返ってくることがあるバグを修正。

 HitCheck_Triangle_Triangle で同一平面上の二つの三角形の当たり判定を行うと、当たっているにも関わらず当たっていないという判定が返ってくるバグを修正。

 DxLibModelViewer.exe で fbxを読み込んだ場合に、アニメーションの時間が正しく読み込まれないことがあるバグを修正。

 DxLibModelViewer.exe で fbxを読み込んだ場合に、アニメーションの回転情報が正しく読み込まれないことがあるバグを修正。

 3チャンネル以上のサウンドデータが正常に再生できないバグを修正。( 2チャンネルのみ再生 )

 Windows版:SetWindowPosition でマイナスの値を指定すると GetMousePoint で正しい座標が取得できなくなるバグを修正。

 Windows版:SeekMovieToGraph で、mp4ファイルの再生時間以上の値を指定した場合、SeekMovieToGraph から処理が戻ってこなくなるバグを修正。

 Windows版:GetOneFrameTimeMovieToGraph で mp4ファイルの1フレーム当たりの時間を取得した場合、単位がマイクロ秒ではなく、100ナノ秒単位の値が返ってしまっていたバグを修正。

 Windows版:PlayMovieToGraph で再生中の mp4ファイルに対して SeekMovieToGraph で再生位置を変更すると、音だけが再生位置が変更されないバグを修正。

 Windows版:mp4ファイルによっては TellMovieToGraph で正常な再生時間が取得できない場合があるバグを修正。

 Windows版:LoadGraph で読み込めない動画ファイルを読み込んだ際にメモリの不正なアクセスが発生してしまうバグを修正。

 Windows版:WebM を LoadGraph で読み込んだ場合、読み込みに成功しても動画の画像が正常に描画できない事があるバグを修正。

 Windows版:SeekMovieToGraph を使用すると、動画の音声が最初から再生されてしまうことがあるバグを修正。

 Windows版:PlayMovieToGraph で mp4ファイルを再生すると音倍速で再生されることがあるバグを修正。

 Windows版:SeekMovieToGraph で mp4ファイルの再生位置を変更すると、無音になることがあるバグを修正。

 Windows版:mp3 ファイルを LoadSoundMem で読み込み、GetSoundTotalTime で総再生時間を取得すると、実際の総再生時間の2倍の値が返ってきてしまうことがあるバグを修正。

 Windows版:1時間を越えるような長い mp4ファイルを再生すると再生時間が1時間を越える前後でフリーズしてしまうバグを修正。

 Windows版:Direct3D 11 で SetUsePixelLighting( TRUE ); を実行してピクセル単位のライティングを行う設定にしていて、且つポイントライトかスポットライトを有効にしていると DrawCube3D などの単純3D図形描画関数を実行しても何も描画されないバグを修正。

(2020/8/23)
3.22a  正式公開のためにバージョン番号を変更。

3.22 <機能追加・改良等の項目>

 グラフィックハンドルの最大数を 32768 から 262144 に増量。

 GraphFilter に色の置換を行うためのフィルター DX_GRAPH_FILTER_REPLACEMENT を追加。

 GraphFilterBlt や GraphBlendBlt の結果を転送先に転送する際のブレンドモードを設定する為の関数 SetGraphFilterBltBlendMode を追加。

 GraphFilterBlt と GraphBlendBlt で引数 DestGrHandle に DX_SCREEN_BACK を指定すると裏画面に結果を出力できる仕様を追加。

 GraphBlend の DX_GRAPH_BLEND_RGBA_SELECT_MIX で指定できる色成分に DX_RGBA_SELECT_SRC_INV_R などの反転要素を追加。

 指定のマテリアルのサブディフューズマップテクスチャを設定、取得する為の関数 MV1SetMaterialSubDifMapTexture と MV1GetMaterialSubDifMapTexture を追加。

 ReadSoftSoundData, WriteSoftSoundData を量子化ビット深度 24bitのサウンドデータに対応。

 Ogg Vorbis ファイルのコメントの数を取得する為の関数 GetOggCommentNum と、コメントの内容を取得する為の関数 GetOggComment を追加。

 Windows版:Direct3D 11 で使用するアダプター( GPU )を指定するための関数 SetUseDirect3D11AdapterIndex を追加。

 Windows版:メインウィンドウの最大化ボタンを押した時の挙動を設定する関数 SetWindowMaximizeButtonBehavior と、SetWindowMaximizeButtonBehavior( 1 ); の設定の際に最大化ボタンが押されたかどうかを判定するための関数 CheckWindowMaximizeButtonInput を追加。

<仕様変更等の項目>

 シャドウマップへの描画の場合はトゥーンレンダリングの輪郭線を描画しないように処理を変更。

<バグ修正等の項目>

 BMP形式の一部のピクセルフォーマットの画像が正常に読み込めないバグを修正。

 DrawCubeSet3D で引数 FillFlag を FALSE にするとメモリの不正なアクセスが発生してしまうバグを修正。

 DrawCube3D と DrawCubeSet3D で FillFlag を FALSE にするとライティングが有効になっている場合、DifColor の色の指定に関わらず真っ黒な線が描画されてしまうバグを修正。

 CreateMaskScreen を呼び出したあと、DrawString で描画される文字の下端が描画されない場合があったり、DrawRoundRectAA で正常な描画が行われなかったりするバグを修正。

 Live2D_Model_Draw による Live2Dモデルの描画の後、MV1DrawModel を実行しても3Dモデルが描画されないバグを修正。

 3Dモデルのマテリアルにサブテクスチャが設定されていた場合、サブではないテクスチャの透明な部分はサブテクスチャの透明度と関係なく透明になってしまっていたバグを修正。

 GetDrawExtendStringSize の ExRateX や ExRateY に 1.0 以外の値を渡すと SizeY で取得できる縦サイズが正しい値ではなくなるバグを修正。

 DxLibModelViewer.exe で fbxファイルを読み込んだ際に従法線( Binormal )と接線( Tangent )が正常に読み込めない事があるバグを修正。

 SetCurrentPositionSoundMem 等で新しい再生位置としてサウンドデータのサイズ以上の位置を指定した場合メモリの不正なアクセスが発生してしまう事があるバグを修正。

 Windows版:InputString 等の文字列入力関数が Windows10 環境で全角文字を入力すると、半角文字も一緒に入力されてしまう不具合を修正。

 Windows版:IME入力を有効な状態では Escキー、BackSpaceキー、Enterキーが効かなくなっていたバグを修正。

 Windows版:プログラム実行途中で ChangeWindowMode を使用してフルスクリーンモードからウィンドウモードに変更をするとウィンドウの位置やサイズが正常ではなくなってしまうバグを修正。

 Windows版:画面のDPI設定を100%より大きな値にしている場合にフルスクリーンモードで起動した後、ウィンドウモードに変更すると小さいウィンドウで表示されてしまう不具合を修正。

(2020/5/16)
3.21f  正式公開のためにバージョン番号を変更。

3.21e <機能追加・改良等の項目>

 立方体を一度に複数描画するための関数 DrawCubeSet3D を追加。

 DrawCircleGauge の引数 CenterX, CenterY の型が float になった関数 DrawCircleGaugeF を追加。

 GetDesktopScreenGraph などのデスクトップの画像を取得する関数を高速化。

 GetSoundCurrentTime などの再生時間取得関数を使用した場合に取得できる再生時間のタイプを設定するための関数 SetSoundCurrentTimeType を追加。

 最大異方性値を取得するための関数 GetMaxAnisotropy を追加。

 テキストファイルを FileRead_gets や FileRead_scanf で読み込んだ際のテキストファイルの文字コード形式の自動判別処理を追加。

 Live2D の読み込み処理にエラー出力処理を追加。

 Live2D の Cubism Sdk For Native 4-r.1 の変更内容を反映。

 Windows版:Windows10 以降で行っている『短時間に連続して同じ文字がキー入力された場合には無視する』処理の判定に使用する時間を設定するための関数 SetWindows10_WM_CHAR_CancelTime を追加。

 Windows版:SetUseDirectInputFlag( TRUE ); を実行した場合にウィンドウが非アクティブな状態でもマウスの入力に DirectInput を使用するかどうかを設定するための関数 SetDirectInputMouseMode を追加。

 Windows版:モニタのDPIを取得する為の関数 GetMonitorDpi を追加。

<仕様変更等の項目>

 定数バッファハンドルの最大作成可能数を 8192個から 32768個に変更。

 Windows版:モニタが高DPI設定になっていた場合も従来の DPI 96 を前提としたサイズでウィンドウが表示されるように処理を変更。

<バグ修正等の項目>

 3Dモデルにアタッチしているアニメーションが1つだけの場合は MV1SetAttachAnimBlendRate でブレンド率を 0.5f など 1.0f 以外にしても 1.0f を指定した場合と同じ描画結果になってしまうバグを修正。

 符号付き24bitの WAVファイルが正常に再生できないバグを修正。

 SetCreate3DSoundFlag などを使用した3Dサウンドの効果が無くなってしまっていたバグを修正。

 PlaySoundMem で再生中のサウンドハンドルに対して SetFrequencySoundMem で再生周波数を変更すると、GetSoundCurrentTime等で取得できる再生時間が正しくなくなることがあるバグを修正。

 同じサウンドハンドルを連続して PlaySoundMem を呼び続けると PlaySoundMem を呼んでいるにも関わらず音が再生されないバグを修正。

 自前ミキシングによるサウンド再生の場合、StopSoundMem を実行して音の再生を止めても GetCurrentPositionSoundMem などの再生位置取得関数で取得できる値が変化し続けるバグを修正。

 関数 GetFPS が、起動直後は0に近い値が返るバグを修正。

 Live2D_LoadModel で必要なファイルが存在しなかった場合にメモリの不正なアクセスが発生するバグを修正。

 Live2D のモデル描画で異方性フィルタリングが有効になっていなかったバグを修正。

 Live2D 用の Live2D_Model_GetExpressionName などの文字列を取得する関数で、取得できる文字列に全角文字が含まれていると取得する文字列が文字化けしてしまうバグを修正。

 SetUseASyncLoadFlag( TRUE ); を実行して非同期読み込みを有効にした状態で Live2D_LoadModel で Live2D モデルを複数同時に読み込むとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 SetUseASyncLoadFlag( TRUE ); を実行した非同期読み込みを有効にした状態で LoadGraph などの読み込み関数で大量のファイルを同時に非同期読み込みすると、偶に読み込みが途中で止まってしまい、どれだけ待っても読み込みが終了しないことがあるバグを修正。

 HitCheck_Line_Triangle で三角形と同一平面上にある線分との当たり判定が正常に行われないバグを修正。

 Segment_Triangle_Analyse で三角形と線分が接触していないのに線分と三角形の距離が 0 という結果が出力されることがあるバグを修正。

 Windows版:DXライブラリ内のサウンド処理で GetRand を呼んでしまっていたバグを修正。

 Windows版:GetPcInfo でグラフィックスデバイス名と使用している DirectX の名前が取得できるようにプログラムを修正。

 Windows版:KeyInputString などの文字列入力機能で、IME入力の ON/OFF を切り替えると2秒間アプリが応答無しになるバグを修正。

 Windows版:サウンドの出力に WASAPI や ASIO を使用した場合、ChangeVolumeSoundMem などの音量変更機能が正常に動作しないことがあるバグを修正。

 Windows版:有効ビット深度24bitの WASAPI 対応のサウンドデバイスで排他モードで音を再生すると、音量が異様に小さくなってしまうバグを修正。

 Windows版:DxLib_Init の呼び出し後に SetWindowSizeExtendRate を使用すると正常に動作しないバグを修正。

 Windows版:SetGraphMode や SetWindowSizeExtendRate などの関数でウィンドウのサイズの変更が正常に行われないことがあるバグを修正。

 Windows版:タスクバーが隠れている状態でウィンドウモードで起動するとウィンドウがデスクトップ画面の左上端に表示されてしまうバグを修正。

 Windows版:FileRead_open の第二引数を TRUE にすると FileRead_close を実行しても確保したメモリが解放されないバグを修正。

 Windows版:Graphics_Hardware_D3D11_GetUseDirect3D11BackBufferTexture2D を使用した際に、取得できる Texture2D に直前に行った描画結果が反映されないバグを修正。

 Windows版:Direct3D 11 を使用する場合、Live2D のマスク処理が正常に行われないことがあるバグを修正。

 Windows版:CubismSdkForNative-4-r.1 に含まれる 32bit版 Live2DCubismCore.dll を使用するとクラッシュするバグを修正。

 Android版:oggファイルを読み込もうとするとクラッシュすることがある不具合を修正。

(2020/1/12)
3.21d  正式公開のためにバージョン番号を変更。

3.21c <機能追加・改良等の項目>

 MV1SetupReferenceMesh や MV1CollCheck_Line などの3Dモデルのポリゴンの情報を取得したり当たり判定を行ったりする関数にメッシュ番号を指定するための引数 MeshIndex を追加。

 MV1Collision_Line と MV1Collision_LineDim を高速化。

 フォントハンドルがキャッシュできる文字の数を取得するための関数 GetFontMaxCacheCharNumToHandle を追加。

 OSの高精度カウンタの値を取得する為の関数 GetNowSysPerformanceCount や、高精度カウンタの周波数を取得する為の関数 GetSysPerformanceFrequency、高精度カウンタの値をμ秒の値に変換する為の関数 ConvSysPerformanceCountToMicroSeconds、μ秒の値を高精度カウンタの値にする為の関数 ConvMicroSecondsToSysPerformanceCount 等を追加。

 4GBを超えるサイズの wavファイル( RF64形式 )の読み込みに対応。

 Windows版:Direct3D 11 を使用する場合は BC7 圧縮された DDSファイルの読み込みに対応。

 Windows版:DrawString などの文字列描画関数を異体字の描画に対応。

 Windows版:ウィンドウモードの場合、ウィンドウをデスクトップ画面の中心( タスクバーを除いた領域の中心 )に正確に配置するように処理を改良。

 Windows版:GetDesktopScreenGraphMemImage にカラービット深度を指定するための引数 ColorBitDepth を追加。

 Windows版:WASAPIを使用するかどうかを設定するための関数 SetEnableWASAPIFlag を追加。

 Windows版:ASIOを使用するかどうかを設定するための関数 SetEnableASIOFlag を追加。

 Windows版:ゲームパッドのボタンの数を取得する為の関数 GetJoypadButtonNum を追加。

 Android版:同時に16音以上再生できるように処理を変更。

 Android版:プログラム終了時に強制的にプロセスを完全終了するかどうかを設定するための関数 SetAndroidAppKillProcessFlag を追加。

 Android版:SetFrequencySoundMem による再生周波数の変更に対応。

 Android版, iOS版:メーラーを起動する為の関数 MailApp_Send を追加。

<仕様変更等の項目>

 SetCurrentPositionSoundMem や GetCurrentPositionSoundMem 等のサウンドの再生位置の設定や取得の関数のビット深度を 64bit に変更。

 Windows版:デフォルトで使用するサウンドAPI を WASAPI に変更。

 Windows版:WaitVSync の引数に 1 が渡された場合は内部で ProcessMessage を呼ばないように処理を変更。

 Windows版:SetUseDirect3DVersion( DX_DIRECT3D_NONE ); を実行した場合は SetUse3DFlag( FALSE ); を実行した場合と同じ効果が得られるように処理を変更。

 Windows版:セキュリティソフトによる誤検出の確率を下げるため、ソース埋め込みのバイナリデータの形式を独自形式から Base64 に変更。

 Android版:サウンドの再生方式を変更。

<バグ修正等の項目>

 MV1CollCheck_LineDim を実行するとメモリの不正なアクセスが発生してしまうバグを修正。

 DrawBoxAA で x1 が x2 より値が大きいか、y1 が y2 より値が大きいと描画されないバグを修正。

 複数のアニメーションをブレンドすると3Dモデルが巨大化してしまうバグを修正。

 DrawString で改行文字( \n )を使用して改行した場合、一部のフォントで1行毎のスペースが異常に広くなってしまうバグを修正。

 Windows版:一部のフォントで使用するとメモリの不正なアクセスが発生してしまうバグを修正。

 Windows版:MinGW 版で書式文字列の %c を使用するとソフトが強制終了してしまう不具合を修正。

 Windows版:SetAlwaysRunFlag( TRUE ) ; で非アクティブでも動作するように設定している場合、Direct3D 11 を使用していて且つウィンドウが最小化されていると ScreenFlip が一瞬で終了し、高速にメインループが実行されてしまう不具合を修正。

 Windows版:SetKeyInputCursorPosition 等の文字列入力関係の文字位置指定や文字位置取得で扱う位置の値が、文字列を wchar_t の文字列として扱った場合と char の文字列として扱った場合とが混在していたバグを修正。

 Windows版:GetInputChar で取得できるキー入力の文字のストックが1文字だけになっていたバグを修正。

 Windows版:GetDesktopScreenGraph, GetDesktopScreenGraphMemImage を使用して取得できるデスクトップの画像がプライマリモニタの領域だけになっていたバグを修正。

 Windows版:GetDesktopScreenGraphMemImage の引数 ColorBitDepth を 24 にした場合、取得する画像の幅が 4 の倍数以外の場合引数 Stride で取得できる1ライン辺りのバイト数の数値が正しくなくなるバグを修正。

 Android版, iOS版:DrawLine3D などの基本3D図形描画関数と DrawString や DrawGraph などの2D描画関数を混在して使用すると、どちらか片方しか描画されない状態になるバグを修正。

 Android版:ESCキーやBackSpaceキーなど、押しても CheckHitKey で検出できないキーがあったバグを修正。

(2019/10/6)
3.21b  正式公開のためにバージョン番号を変更。

3.21a <機能追加・改良等の項目>

 Live2D Cubism 4 に対応。

 Live2D モデルのパラメータを設定するための関数 Live2D_Model_SetParameterValue などの、パラメータ関係の関数を追加。

 点と円錐の当たり判定を行うための関数 HitCheck_Point_Cone を追加。

 ボーンの拡大率が 1.0 以外の3Dモデルでは姿勢が大きく異なるアニメーションをブレンドすると造形が大きく歪んでしまう仕様を、歪まないように改良。

 Windows版:Live2D Cubism 4 の Core DLL のパスを設定するための関数 Live2D_SetCubism4CoreDLLPath を追加。

 Windows版:デスクトップ画面のメモリイメージを取得するための関数 GetDesktopScreenGraphMemImage を追加。

 Windows版:Gnu C++用 DXライブラリに MinGW 8.2.0 用のライブラリファイルを追加。

<仕様変更等の項目>

 LoadDivGraph などでエラーが発生した場合は、渡したグラフィックハンドル配列には -1 を代入するように処理を変更。

 LoadDivMask などでエラーが発生した場合は、渡したマスクハンドル配列には -1 を代入するように処理を変更。

 Windows版:KeyInputString などの文字列入力で描画範囲からはみ出した際に文字単位で改行するように処理を変更。

<バグ修正等の項目>

 文字列要素が "" の文字列がある xファイルを読み込もうとするとメモリの不正なアクセスが発生してしまうバグを修正。

 mqo, mqozファイルが正常に読み込めないことがあるバグを修正。

 GraphBlendRectBlt の引数 BlendGraph に DerivationGraph で派生させたグラフィックハンドルや LoadDivGraph で分割したグラフィックハンドルを渡すと、正しい合成結果が得られないバグを修正。

 DrawQuadrangleAA で反時計回りの座標が指定された場合に1ピクセルずれた座標に四角形が描画されていたバグを修正。

 非同期読み込み機能を使用した読み込みで同時にログファイル Log.txt に対する出力が発生した場合、一部のログが出力されなかったバグを修正。

 DxCompileConfig.h の DX_NON_TGA を有効にしてコンパイルすると一部の3D図形描画関数を実行しても何も描画されないバグを修正。

 Windows版:Live2D_SetCubism3CoreDLLPath で設定された Live2D のDLLが正常に読み込めていない状態で Live2D_RenderBegin を実行するとメモリの不正なアクセスが発生してしまうバグを修正。

 Windows版:DXアーカイブ内の gifファイルが正常に読み込めないバグを修正。

 Windows版:PlayMovie の再生タイプを DX_MOVIEPLAYTYPE_BCANCEL にした場合、キーの押下状態の取得に対応していないキーボード端末のキー入力では動画の再生が終了しないバグを修正。

 iOS版:DrawString で ' が描画されない、y や j の下端が描画されない、全角文字が半角文字に比べて若干上にズレている等の問題を修正。

(2019/8/26)
3.21 <機能追加・改良等の項目>

 Live2D 関連の関数を追加。

 mqoz形式の3Dモデルファイルの読み込みに対応。

 LoadGeometryShader や SetUseGeometryShader 等のジオメトリシェーダー関連の関数を追加。

 関数 DrawCircleGauge の引数に拡大率を指定するための引数 Scale と左右反転・上下反転を行うかを指定する為の引数 ReverseX, ReverseY を追加。

 CreateDivGraphFromSoftImage の再読み込み版となる ReCreateDivGraphFromSoftImage を追加。

 ソフトウェアレンダリングモードで ScreenFlip で転送される画面イメージを直接指定するための関数 SetUserScreenImage を追加。

 関数 SetBackgroundColor に引数 Alpha を追加。

 マスクハンドルの画像情報をBASEIMAGE構造体の形で取得するための関数 GetMaskBaseImageInfo を追加。

 確保するメモリアドレスのアライメントを指定するための引数を追加した DxAllocAligned、DxCallocAligned、DxReallocAligned を追加。

 Android版:ソフトウェアレンダリングモードに対応。

 iOS版:ソフトウェアレンダリングモードに対応。

<仕様変更等の項目>

 MakeKeyInput 等の文字列入力で半角文字のみの設定にした場合は全角文字入力ができないように( IMEを無効にするように )処理を変更。

 Windows版:フルスクリーンモードはデフォルトではプライマリディスプレイに表示されるように処理を変更。

 Windows版:Direct3D 11 を使用している場合はフルスクリーンモードでアクティブなアプリが変更されてデスクトップ画面に戻った際も Direct3D 11 Device などの再作成を行わないように処理を変更。

 Windows版:Direct3D 11 を使用していて、且つ SetChangeScreenModeGraphicsSystemResetFlag( FALSE ) ; を実行している場合は SetGraphMode や ChangeWindowMode を使用しても Direct3D 11 Device などの再作成を行わないように処理を変更。

<バグ修正等の項目>

 動画を LoadGraph で読み込んだ場合、DerivationGraph で派生したグラフィックハンドルでは動画の更新が行われないバグを修正。

 DXT2~DXT5フォーマットを正しくA8R8G8B8フォーマットに変換できないバグを修正。

 printfDx で ? の文字が出力できないバグを修正。

 1文字4byteの文字コードフォーマットでは CL_strncmp が正常に動作しないバグを修正。

 SetKeyInputCursorPosition と GetKeyInputCursorPosition で指定・取得する文字位置が Unicode 文字単位に固定されてしまっていたバグを修正。

 Windows版:ソフトウェアレンダリングモードで 16bitカラーのフルスクリーンモードが正常に動作しないバグを修正。

 Windows版:サウンドデバイスが使用できない環境で実行するとメモリリーク( メモリの解放忘れ )が発生してしまうバグを修正。

 iOS版:Log.txt が生成されないバグを修正。

 iOS版:関数 SRand を実行しないと GetRand が必ず 0 を返してしまうバグを修正。

(2019/5/6)
3.20f <機能追加・改良等の項目>

 描画先のアルファチャンネルを書き換えるかどうかを設定するための関数 SetWriteAlphaChannelFlag を追加。

 SetWriteAlphaChannelFlag で『アルファチャンネルを書き換えない』設定にすることができるかどうかを取得するための関数 CheckSeparateAlphaBlendEnable を追加。

 Windows版:文字コードの変換に文字コード変換用数値配列を使用しない方式に変更。( 数値配列がセキュリティソフトに不正なソフトウェアと判定される原因となっていた可能性があるため )

 Windows版:シェーダーのリアルタイムコンパイルを行うようにするためのコンパイルオプション DX_NON_SHADERCODE_BINARY を追加。

<バグ修正等の項目>

 Windows版:ReSetupJoypad を実行すると振動機能に対応したゲームパッドの振動が正常に行われなくなることがあるバグを修正。

(2019/4/14)
3.20e  正式公開のためにバージョン番号を変更。

3.20d <機能追加・改良等の項目>

 文字列描画をカーニングを考慮した処理に改良。

 二つの文字のカーニング情報を取得するための関数 GetDrawStringKerningPairInfo などを追加。

 文字列の引数の文字コード形式を取得するための関数 GetUseCharCodeFomart を追加。

 Windows版:Xbox360コントローラや Xbox Oneコントローラを DirectInputコントローラとしても検出するかどうかを設定する関数 SetUseXboxControllerDirectInputFlag を追加。

<仕様変更等の項目>

 iOS版:端末が対応している場合はデフォルトの深度バッファのビット数を 16bitから 24bitに変更。

<バグ修正等の項目>

 DrawStringF などの座標を float型で指定する文字列描画関数で一部のフォントの描画が崩れてしまうバグを修正。

 3Dサウンドハンドルに対して SetLoopPosSoundMem を使用すると2Dサウンドハンドルになってしまうバグを修正。

 Windows版:ネットワーク機能を使用した場合 DxLib_End を実行しても 240バイトメモリが確保されたままになってしまうバグを修正。

 iOS版:Retinaディスプレイでの表示解像度が半分、又は3分の1になってしまっていたバグを修正。

 iOS版:文字列を描画すると文字の端にゴミが描画されるバグを修正。

 iOS版:MV1DrawModel で3Dモデルを描画した後、DrawGraph で画像が描画できなくなることがあるバグを修正。

(2019/3/11)
3.20c <機能追加・改良等の項目>

 iOS 用DXライブラリを追加。

3.20b <機能追加・改良等の項目>

 MP3ファイルのタグ情報を取得するための関数 GetMP3TagInfo を追加。

 MV1SetShapeRate に影響率の加算か上書きかを指定するための引数 Type を追加。

 3Dモデルのシェイプの有効率を取得するための関数 MV1GetShapeApplyRate を追加。

 Windows版:自分の IPv6アドレスを取得するための関数 GetMyIPAddress_IPv6 を追加。

 Windows版:Xbox One コントローラも Xbox 360 コントローラと同じように XInput で検出されていたら DirectInput では検出されないように処理を追加。

<バグ修正等の項目>

 無圧縮wavファイルが正常に読み込めないことがあるバグを修正。

 Windows版:GetDisplayMode で解像度やリフレッシュレートなどが全く同じディスプレイモードが複数取得されてしまうバグを修正。

 Windows版:AddMenuItem等のメニュー項目を追加する関数を使用すると強制的にウィンドウがアクティブになるバグを修正。

(2019/2/3)
3.20a <機能追加・改良等の項目>

 ディスプレイの情報を取得するための関数 GetDisplayInfo を追加。

<バグ修正等の項目>

 DxCompileConfig.h の DX_NON_OGGVORBIS と DX_NON_MOVIE を同時に有効にするとコンパイルに失敗するバグを修正。

 Windows版:Direct3D 11 に対応していない環境で Direct3D 9 を使用せずにソフトウェアレンダリングになってしまうバグを修正。

 Android版:GetMouseInputLog と GetMouseInputLog2 が Windows版でしか使用できない状態だったので、Android版でも使用できるように処理を追加。

(2019/1/3)
3.20 <機能追加・改良等の項目>

 GetDrawStringToWidth などの関数に文字列長指定用の引数を追加した GetDrawNStringToWidth などの関数を追加。

 gcc 8.1.0 i686-posix-dwarf-rev0, Built by MinGW-W64 project用の aファイルを追加。

<仕様変更等の項目>

 DXアーカイブファイルの仕様を変更。( 本バージョンより前のバージョンで作成したDXアーカイブファイルが使用できませんので、旧バージョンのDXアーカイブファイルを使用される場合は、旧バージョンの DxaDecode.exe で解凍したあと、本バージョンの DxaEncode.exe でDXアーカイブファイルを再作成してください )

<バグ修正等の項目>

 PMD,PMX ファイルを読み込むと物理演算が行われる箇所が正常に描画されないことがあるバグを修正。

(2018/12/14)
3.19f  正式公開のためにバージョン番号を変更。

3.18e <機能追加・改良等の項目>

 VMDファイルの物理演算のオン・オフキーに対応。( ただし、物理演算処理を読み込み時に行う DX_LOADMODEL_PHYSICS_LOADCALC モードの場合のみ有効 )

 描画対象にできるグラフィックハンドルかどうかを取得するための関数 CheckDrawValidGraph を追加。

 グラフィックハンドルの指定領域を塗りつぶすための関数 FillRectGraph を追加。

 MV1CollCheck_Line 等の当たり判定の戻り値用構造体 MV1_COLL_RESULT_POLY のメンバー変数に当たったポリゴンの各頂点に最も影響を与えているフレーム番号が代入される PosMaxWeightFrameIndex 配列を追加。

 MV1GetReferenceMesh で取得できる参照用メッシュの頂点情報用構造体 MV1_REF_VERTEX に、最も影響を与えているフレーム番号が代入されるメンバー変数 MaxWeightFrameIndex を追加。

 GetFFTVibrationSoftSound の、計算結果の実数部と虚数部を別々に取得できるようにしたバージョンである GetFFTVibrationSoftSoundBase を追加。

 非同期読み込みを行う設定になっているかどうかを取得するための関数 GetUseASyncLoadFlag を追加。

 DrawLineAA などのアンチエイリアス付き図形描画を高速に行うための関数 BeginAADraw と EndAADraw を追加。

 DxLibModelViewer.exe にアニメーション再生位置のコマ送り機能やフレームレート固定機能を追加。

 DxLibModelViewer.exe のマテリアルの拡散光パラメータの編集項目にアルファ値を追加。

 DxLibModelViewer.exe にPMD/PMXファイル読み込み時の物理演算に適用する重力パラメータを設定する機能を追加。

 LoadDivGraph や DerivationGraph で一つのテクスチャを複数のグラフィックハンドルが共有している場合の、指定のグラフィックハンドルが使用しているテクスチャの領域を取得するための関数 GetGraphUseBaseGraphArea を追加。

 指定のデータから CRC32 の値を取得するための関数 HashCRC32 を追加。

 Windows版:漢字変換候補の表示に TSF を使用するかどうかを設定するための関数 SetUseTSFFlag を追加。

 Android版:ディスプレイを本体設定に従って時間経過でスリープ状態になることを許可するかどうかを設定するための関数 SetKeepScreenOnFlag を追加。

 Android版:メモリの総量と空きメモリの容量とアプリが使用しているメモリ容量を取得するための関数 GetAndroidMemoryInfo を追加。


<仕様変更等の項目>

 フォントのキャッシュ用のテクスチャの最大サイズを 8192x8192 に制限する処理を追加。

 Windows版:SetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 ); を実行した状態で DxLib_Init を呼ぶと Log.txt に出力される文字コード型が UTF-8 になるように処理を変更。

 Windows版:SetUseJoypadVibrationFlag( FALSE ) ; でジョイパッドの振動機能を無効化している場合は DirectInput によるゲームパッドの情報取得処理は協調モード( DISCL_NONEXCLUSIVE モード )で行うように処理を変更。


<バグ修正等の項目>

 MV1DrawModel でスキニングメッシュの9ボーン以上の影響を受けている部分が正常に描画されないバグを修正。

 DxLibModelViewer.exe でスキニングメッシュの fbxファイルを読み込むとモデルの一部が正常に表示されないことがあるバグを修正。

 LogFileAdd や LogFileFmtAdd の戻り値が常に -1 だったバグを修正。

 SetUsePremulAlphaConvertLoad( TRUE ); を実行して乗算済みアルファ画像への変換を設定していた場合、SetUseTransColor の設定が無視されていたバグを修正。

 DerivationGraph や LoadDivGraph で作成したグラフィックハンドルに対して FillGraph が正常に動作しなかったバグを修正。

 VMDファイルに付ける重力番号が 2桁以上の場合正しく処理されなかったバグを修正。

 DxAlloc で巨大なサイズのメモリを確保しようとするとメモリの不正なアクセスが発生してしまうバグを修正。

 DrawLine の引数 Thickness を 2 以上にすると何も描画されないことがあるバグを修正。

 GetFFTVibrationSoftSound の引数 SamplePosition に引数 SampleNum を足した値がサウンドデータの終端付近を超える場合にメモリの不正なアクセスが発生してしまうバグを修正。

 Windows版:Unicode文字セットを使用する設定にするとビルドエラーが発生するバグを修正。

 Windows版:SetWindowSize を使用すると SetMouseDispFlag の設定が無視され、必ずマウスカーソルが表示状態になってしまっていたバグを修正。

 Windows版:マルチメディアAPI を使用した場合 GetJoypadInputState で POV の情報を取得できなかったバグを修正。

 Windows版:SetUseCharCodeFormat( DX_CHARCODEFORMAT_UTF8 ); を実行した状態で DxLib_Init を呼ぶと Log.txt に出力されるログの一部が正常ではなくなるバグを修正。

 Windows版:Unicode版で SetUseCharCodeFormat( DX_CHARCODEFORMAT_SHIFTJIS ); 以外を設定した状態で MV1LoadModel を実行すると3Dモデルが正常に読み込めないことがあるバグを修正。

(2018/8/19)
3.19d  正式公開のためにバージョン番号を変更。

3.18c <機能追加・改良等の項目>

 DXアーカイブの暗号化の方式を変更。( DxaEncode.exe に -K オプションを使用してパスワード付きのDXアーカイブを作成した場合のセキュリティ強度を向上 )

 ジョイパッドの無効ゾーンを取得するための関数 GetJoypadDeadZone を追加。

 3Dモデルのトライアングルリストが使用しているマテリアルのインデックスを取得するための関数 MV1GetTriangleListUseMaterial を追加。

 Windows版:多重起動しているかどうかを取得するための関数 CheckDoubleStart を追加。

 Windows版:Direct3D 11 を使用している場合に描画対象にできるグラフィックハンドルで使用している深度ステンシルビューを取得するための関数 GetGraphID3D11DepthStencilView を追加。

 Windows版:関数 SetDrawScreen_ID3D11RenderTargetView に ID3D11DepthStencilView を指定するための引数を追加。

 Android版:外部データ保存用のディレクトリパスの数を取得するための関数 GetExternalDataPathNum を追加。

 Android版:GetExternalDataPath にディレクトリパス番号を指定するための引数 PathIndex と、取り外し可能なデバイスかどうかを取得するための引数 IsRemovableFlag を追加。

 Android版:Vibrator_vibrate などの振動関係の関数を追加。

 Android版:Android の API レベルを取得するための関数 GetAndroidAPILevel を追加。

 Android版:AndroidManifest.xml の <application> </application> の括りの内側に <meta-data android:name="fullscreen" android:value="off" /> を書き加えるとナビゲーションバーとステータスバーが表示されたままになる機能を追加。

 Android版:GetMouseWheelRotVol に対応。

 Android版:Wifiの電波強度を取得するための関数 GetWifiSignalLevel を追加。

 Android版:SetUseEqualizer などのイコライザー機能を追加。

 Android版:DXライブラリが行った OpenGL ES の設定を再度行うための関数 RefreshDxLibOpenGLESSetting を追加。( Live2D などを使用する際に使用 )

 Android版:グラフィックハンドルの OpenGL ES のテクスチャオブジェクトのIDを取得するための関数 GetGraphOpenGLESTextureObject を追加。

 Android版:対応プラットフォームに 64bit環境( ARM64, x64 ) を追加。


<仕様変更等の項目>

 タッチスクリーンにタップした場合もマウスの入力と見立てて GetMousePoint でタップの位置を取得できるようにしていた仕様を廃止。

 デフォルトの深度バッファのビット数を 16 から 24 に変更。

 Windows版:SetMouseDispFlag( FALSE ) ; を指定してマウスカーソルを非表示に設定している場合でも、ウィンドウモードで、且つマウスカーソルがクライアント領域外にある場合はマウスカーソルを表示するように処理を変更。

 Android版:ソフトのフォーカスが失われた際に再生中のサウンドを自動で一時停止していた処理を、ソフトの動作を止める指定があった際にサウンドを自動で一時停止する処理に変更。


<バグ修正等の項目>

 DrawTriangleAA や DrawQuadrangleAA で鋭角な三角形や四角形が描画すると正常な描画結果が得られなかったバグを修正。( 但し、代わりに DrawTriangle や DrawQuadrangle を使用する暫定対応 )

 SetScreenMemToVramFlag( FALSE ); などを実行してソフトウェアレンダリングモードで起動した場合、DrawPixel で SetDrawArea で指定した範囲の 1ピクセル右側又は下側のの範囲外に描画できてしまい、メモリの不正なアクセスが発生してしまうことがあるバグを修正。

 SetIgnoreDrawGraphColor が正常に動作しないバグを修正。

 EnumFontName が正常に動作しない( フォント名が取得できない )ことがあるバグを修正。

 DXアーカイブ内のファイルにアクセスしようとするとメモリの不正なアクセスが発生することがあるバグを修正。

 SetTransformTo2D を使用すると DrawGraph や DrawBox などの一部の関数の描画領域( SetDrawArea で設定する範囲 )の設定通りにクリッピングされないバグを修正。

 透過色情報があるグレースケール形式の png ファイルを正常に読み込めないバグを修正。

 SetUsePixelLighting( TRUE ) ; を実行してピクセル単位のライティングを行った場合、ポイントライトやスポットライトのライティングが正常に行われなかったバグを修正。

 Windows版:WaitTimer で処理を停止中にウィンドウを閉じても、WaitTimer で指定した時間が経過するまでプロセスが終了しないバグを修正。

 Windows版:SetAlwaysRunFlag( TRUE ); を実行している状態でウィンドウを最小化すると使用メモリが増加するバグを修正。

 Windows版:ソフトのウィンドウ外でマウスのボタンを離した場合、GetMouseInputLog2 で『ボタンを離した』情報が取得できないバグを修正。

 Windows版:Direct3D 11 環境でスポットライトの OutAngle と InAngle を同じ値にするとスポットライトのライティングが正常に行われないバグを修正。

 Windows版:MP3ファイルを読み込むとメモリリークが発生することがあるバグを修正。

 Windows版:DxLib_End の際に呼ぶべき CoUninitialize が呼ばれていなかったバグを修正。

 Windows版:フルスクリーンモードで Alt+Tab などで一度デスクトップ画面に戻り、その後ソフトを再度アクティブにしてフルスクリーンモードに戻った際に3D描画のライティング設定が必ず『ライティングをしない』になってしまうバグを修正。

 Windows版:KeyInputString などの文字列入力の際に Windows10 のスクリーンキーボードを使用すると1回の入力で同じ文字が2文字入力されてしまう不具合を修正。

 Android版:タッチスクリーンを2箇所以上タッチした状態で1箇所だけ離すと、離しているにも関わらずタッチした状態のままになることがあるバグを修正。

 Android版:Android 4.4 以前のバージョンではアプリ起動後の最初のタップが反応しないバグを修正。

 Android版:上側や左側の画面外の黒くなっている箇所にタッチした際に GetTouchInput 等で得られる座標値がマイナスの値ではなく 4772106 のような大きなプラスの値になっていたバグを修正。

 Android版:デジタイザペンを使用した場合、スクリーンにペンを近づけただけでタッチしている判定となってしまっていたバグを修正。

(2018/3/26)
3.19b  正式公開のためにバージョン番号を変更。

3.18a <機能追加・改良等の項目>

 DrawRotaGraph などの関数に上下反転用の ReverseYFlag を追加。

 DxLib_Init の呼び出し前でも FileRead_fullyLoad が使用できるように処理を変更。

 動画ファイルの解像度を取得するための関数 GetMovieImageSize_File と GetMovieImageSize_Mem を追加。( GetImageSize_File と GetImageSize_Mem を使用するより若干高速 )

 GetImageSize_File と GetImageSize_Mem を動画ファイルの解像度取得に対応。

 GraphFilter の内部で作成される作業用画像のサイズを最適化。

 バッテリー残量を取得するための関数 GetBatteryLifePercent を追加。

 ドローコールの回数を取得するための関数 GetDrawCallCount を追加。

 FPSを取得するための関数 GetFPS を追加。

 画像ファイルをソフトウェアイメージとして読み込み、ARGB8 形式ではなかったら ARGB8 形式に変換する処理も行う関数 LoadARGB8ColorSoftImage などを追加。

 DrawString などで引数に渡す文字列の長さを引数で渡すタイプの DrawNString や LoadGraphWithStrLen などの関数を追加。

 Windows版:C#版で使用できる関数に MV1GetAnimName などの const char * が戻り値の関数を追加。

 Windows版:Media Foundation を使用するかどうかを設定するための関数 SetUseMediaFoundationFlag を追加。

 Windows版:WinSock で最後に発生したエラーを取得するための関数 GetWinSockLastError を追加。

 Windows版:SetUseIMEFlag の設定状態を取得するための関数 GetUseIMEFlag を追加。

 Android版:各センサーが有効かどうかを取得するための関数 CheckAndroidSensor を追加。

 Android版:res/values/strings.xml の string リソースを取得するための関数 GetAndroidResource_Strings_String を追加。

<仕様変更等の項目>

 SetMovieUseYUVFormatSurfaceFlag( FALSE ); を実行した状態で Ogg Theora動画を再生した場合は、YUVの画像を RGBの画像に変換する際にシェーダーを使用しないように処理を変更。

 DrawRotaGraph などの関数の左右反転用の TurnFlag を ReverseXFlag に引数名を変更。

 Windows版:NetWorkSendUDP, NetWorkSendUDP_IPv6 で WinSock 関連のエラーが発生した場合は -2以下の値を返すように処理を変更。

 Windows版:SetUseDisplayIndex にマイナスの値を渡すとマウスカーソルのあるディスプレイを指定したことにするように処理を追加。

 Android版:LoadGraph などのファイル読み込み関数に渡されるファイルパスの先頭の文字が / の場合はファイルの読み込みに標準入出力関数を使用するように処理を変更。

<バグ修正等の項目>

 DrawLineAA で2ピクセル以下の長さの線を描画できないバグを修正。

 DXT圧縮形式の DDSファイルを LoadDivGraph などで分割読み込みしていた場合、デバイスロストや SetChangeScreenModeGraphicsSystemResetFlag( FALSE ) ; を実行した上での画面モード切り替えの際に正常に画像が復帰しないバグを修正。

 GetDrawStringWidth などの文字列の描画幅を取得する関数の引数 StrLen の値を wchar_t 換算での文字列長として扱ってしまっていたバグを修正。

 pngファイルを読み込んだ際にメモリが足りないとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 SetUsePremulAlphaConvertLoad( TRUE ) ; を実行した状態で GetImageSize_File を使用するとメモリの不正なアクセスが発生するバグを修正。

 DrawLineAA で描かれるラインが角度によっては描かれる座標が±1ピクセルずれてしまうバグを修正。

 MakeScreen でグラフィックスデバイスが対応していないサイズが指定された場合もグラフィックハンドルの作成が成功してしまっていたバグを修正。

 DrawPolygon2DToShader などのオリジナルシェーダーを使用する2D描画関数では SetUseBackCulling でどのようなカリング設定をしていてもカリングが無効になっていたバグを修正。

 FileRead_findFirst でDXアーカイブ内のフォルダに対して検索する際に、ファイルパスに『*』を使用すると普通のフォルダを対象とした場合とは検索結果が異なってしまうことがあるバグを修正。

 FileRead_findFirst でDXアーカイブ内のファイルの検索に失敗するとその後のDXアーカイブ内のファイルのアクセスが正常に行えなくなるバグを修正。

 DrawBoxAA などのアンチエイリアス付き図形描画にマスク機能が正常に動作しないバグを修正。

 DrawQuadrangle が DrawBox などに比べて不自然に処理負荷が高くなっていたバグを修正。

 GetDrawStringWidthToHandle で無効なフォントハンドルを渡すとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 ソフトウエアレンダリングモードで AddFontImageToHandle で登録した文字を DrawString などで描画しようとするとメモリの不正なアクセスが発生してしまうバグを修正。

 AddDataSoftSoundPlayer で指定する追加波形データの範囲の終端を、追加するソフトサウンドの終端以外にするとエラーになってしまうバグを修正。

 DrawRotaString などの文字列の回転描画で描画される文字が縦横1ピクセルづつ小さくなってしまっていたバグを修正。

 Windows版:フルスクリーンモードの場合やウィンドウモードで SetWindowSizeExtendRate などでウインドウを拡大又は縮小している場合に GetMouseInputLog と GetMouseInputLog2 で取得できる『クリックされた座標』が実際にクリックした座標と異なってしまうバグを修正。

 Windows版:プログラムを実行すると環境によってはノイズが鳴ってしまうことがあるバグを修正。

 Windows版:一部の MP3 ファイルが正常に読み込めなかったバグを修正。

 Windows版:動画の再生中にウィンドウの×ボタンや ALT + F4 でソフトを終了するとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 Windows版:マルチモニタ環境でフルスクリーンモードで起動した場合、GetMousePoint で取得できる座標が本来のカーソルの位置からずれてしまうことがあるバグを修正。

 Windows版:Direct3D 9 を使用した場合に DrawRotaGraph3 と DrawModiGraph の描画結果が1ドット分歪むことがあるバグを修正。

 Android版:DxLib_Init 呼び出しの後に SetGraphMode で画面モードを変更すると以降の描画処理が正常に行われなくなるバグを修正。

 Android版:SetUseDateNameLogFile( TRUE ) ; を実行していてもログファイルの名前が Log.txt のままだったバグを修正。

 Android版:DrawTriangle3D で引数 FillFlag を FALSE にした場合、正常に三角形が描画されないバグを修正。

 Android版:TGAファイルを読み込むと強制終了してしまうことがあるバグを修正。

 Android版:FileRead_findFirst でファイルがひとつも見つからないとメモリリークしてしまうバグを修正。

 Android版:端末の角度を変更した際の画面解像度の変化が正常に反映されないことがあるバグを修正。

 Android版:MakeScreen を近いタイミングで連続して使用した場合、その前後で行った描画処理が正常に行われないことがあるバグを修正。

 Android版:同時に発音できる音の最大数が16に制限されてしまっていたバグを修正。

 Android版:Android版では SetWaitVSyncFlag の効果が無かったバグを修正。

(2017/11/3)
3.19  正式公開のためにバージョン番号を変更。

3.18f <機能追加・改良等の項目>

 CreateFontToHandle を実行した際に内部で行っているフォントサイズの補正処理を行うかの設定を変更するための関数 SetFontUseAdjustSizeFlag を追加。

 入力中の文字列を描画する関数 DrawKeyInputString で漢字の変換候補を表示するかを指定するための引数 DrawCandidateList を追加。

 サウンドハンドルの音量を 0~255 の値で取得するための関数 GetVolumeSoundMem2 を追加。

 読み込むサウンドファイルに含まれるループ情報を無視するかどうかを設定するための関数 SetCreateSoundIgnoreLoopAreaInfo を追加。

 シェーダーコードのサイズを削減。

 Windows版:C#版で使用できなかった MV1GetReferenceMesh を使用できるように処理を追加。

<仕様変更等の項目>

 KeyInputString などでIME入力の変換をした際の文節の下に描画される下線について選択中の文節の下線は太くなるように処理を変更。

 Windows版:MakeKeyInput の引数 MaxStrLength が 0 だった場合はエラーになるように処理を変更。

<バグ修正等の項目>

 mqoファイルのマテリアルの凸凹マップ用ファイルとして法線マップ画像が設定されていた場合もバンプマップ( 高さマップ )画像として処理してしまっていたバグを修正。

 法線マップを適用した3Dモデルを MV1SetScale などで拡大すると、法線マップを適用した箇所の見た目が正常ではなくなってしまうバグを修正。

 SetKeyInputDrawArea に引数として ( 0, 0, 0, 0 ) ; のような、面積が 0 になる矩形を渡した状態で DrawKeyInputString を呼ぶと、以降 SetDrawArea で適切な描画範囲が設定されるまで何も描画されなくなってしまうバグを修正。

 CreateFontToHandle の引数 EdgeSize に 2 以上の値を指定すると FontType に縁無しのフォントタイプを指定しても縁付きのフォントになってしまっていたバグを修正。

 LoadSoundMem で wavファイルを読み込むと、必ずストリーミング再生タイプの音として扱われてしまうバグを修正。

 DxLibModelViewer.exe で『法線再計算』を有効にした状態で読み込んだ3Dモデルファイルを mv1ファイルとして保存すると法線情報が不正になることがあるバグを修正。

 CreateDXFontData.exe で /C オプションで HANGEUL, BIG5, GB2312 を指定した際に正しくフォントファイルが作成できなかったバグを修正。

 Windows版:mp3ファイルを LoadSoundMem で読み込もうとすると何時まで経ってもLoadSoundMem 処理が戻らないことがあるバグを修正。

 Windows版:MinGW版で『GUID_NULL が無い』としてリンクエラーになってしまうバグを修正。

 Windows版:DxCompileConfig.h の設定の組み合わせによってはコンパイルが失敗する幾つかのバグを修正。

 Windows版:DxLib_Init の前に SetUseCharCodeFormat で文字コード形式を指定しても存在しないフォント名を CreateFontToHandle の FontName に指定してフォントハンドルを作成した場合フルスクリーンモードで Alt+Tab などで一度デスクトップ画面に戻り、その後ソフトを再度アクティブにしてフルスクリーンモードに戻った際に作成したフォントハンドルに SetUseCharCodeFormat で指定した文字コード形式が適用されず文字コード形式 DX_CHARCODEFORMAT_SHIFTJIS を指定した状態になってしまうバグを修正。

 Windows版:WindowsVista 以降では KeyInputString などの文字列入力の際にIMEを有効にすると表示される『全角ひらがな』等の入力モード表示が、ひとつの文字列の入力を完了すると消えてしまい、新たな文字列の入力を開始するまで表示されないバグを修正。

 Windows版:mp4ファイルを SetUseASyncLoadFlag( TRUE ); を実行して非同期読み込み設定で読み込んだ場合にプログラムがクラッシュしてしまうことがあるバグを修正。

 Windows版:DxLib_Init を呼び出す前に SetWindowVisibleFlag( FALSE ) ; を実行し、DxLib_Init の後に SetWindowPosition や SetWindowSize を呼んだ後 SetWindowVisibleFlag( TRUE ) ; を実行するとウインドウは表示されるものの、タスクバーにウインドウのボタンが表示されないバグを修正。

 Android版:GetFrequencySoundMem を使用しても再生周波数が変数に代入されないバグを修正。

(2017/8/11)
3.18e  正式公開のためにバージョン番号を変更。

3.18d <機能追加・改良等の項目>

 wavファイルの smplチャンクのループ情報に対応。

 PMD, PMX ファイルを読み込む際のアニメーションの FPS を設定する為の関数 MV1SetLoadModel_PMD_PMX_AnimationFPSMode を追加。( DX_LOADMODEL_PMD_PMX_ANIMATION_FPSMODE_60 を使用すると IK の精度が向上( その代わりにデータサイズは倍増 ) )

 DxLibModelViewer.exe に PMD, PMX ファイルを読み込む際のアニメーションの FPS を設定する項目を追加。

 作成するログファイルのファイル名を設定する為の関数 SetApplicationLogFileName を追加。

 行列の中の回転成分を取得するための関数 MGetRotElem と、平行移動成分を取得するための関数 MGetTranslateElem を追加。

 シャドウマップの作成や適用の際に使用するビュー行列と射影行列を乗算した行列を取得する為の関数 GetShadowMapViewProjectionMatrix を追加。

 wchar_t の文字コード形式を取得するための関数 Get_wchar_t_CharCodeFormat を追加。

 Windows版:Windows7 以降の環境で MP4ファイルの再生に対応。

 Windows版:Windows Advanced Rasterization Platform ( WARP ) ドライバを使用して Direct3D 11 を使用するかどうかを設定する為の関数 SetUseDirect3D11WARPDriver を追加。

 Windows版:オリジナルシェーダーを使用した際の頂点テクスチャフェッチに対応。( Direct3D 9 のみ )

 Windows版:ウインドウの上下左右の縁の幅を取得する為の関数 GetWindowEdgeWidth を追加。

 Android版:GetInternalDataPath と GetExternalDataPath で取得できるフォルダに入ったファイルも LoadGraph などのファイル読み込み関数で読み込めるように処理を改良。

 Android版:端末に設定されている言語を取得する為の関数 GetLanguage と、端末に設定されている国を取得する為の関数 GetCountry を追加。

<仕様変更等の項目>

 Windows版:ウインドウモードのウインドウの枠を細いスタイルに変更。

 Windows版:SetWindowZOrder にウィンドウをアクティブにするかどうかを指定するための引数 WindowActivateFlag を追加。

<バグ修正等の項目>

 MV1SetLoadModelPhysicsCalcPrecision を使用して 60FPS より大きい FPS に設定した状態で PMD, PMX ファイルを読み込むと、IK で動いている箇所が不自然な動きをすることがあるバグを修正。

 DxLibModelViewer.exe で『名前を付けてアニメーションのみ保存』を行った際にシェイプの情報が保存されていなかったバグを修正。

 DrawOval で縦長の楕円を描画すると、指定した縦半径幅以上に縦に長い楕円が描かれてしまうバグを修正。

 GetFontCharInfo で得られる DrawY の値が正しくないことがあるバグを修正。

 DxLib_Init の前に SetUseCharCodeFormat で文字コード形式を指定しても DrawStringToHandle では指定した文字コード形式が適用されないバグを修正。

 Windows版:IME入力中にメモリの不正なアクセスでエラー終了してしまうことがあるバグを修正。

 Windows版:BEEP音用のサウンドバッファを大量に作成しようとしてしまうバグを修正。

 Windows版:Direct3D 9 を使用して、SetUsePlatformTextureFormat を使用したテクスチャフォーマット指定の場合 GraphFilter や GraphBlend 内部での浮動小数点型テクスチャかどうかの判定が正しく行えていなかったバグを修正。

 Windows版:Direct3D 11 環境で剛体モデルに対して MV1SetLoadModelUsePackDraw( TRUE ) ; を使用すると正常に描画できないバグを修正。

 Android版:PlaySoundMem で音を再生した際に低確率でプログラムが強制終了してしまうバグを修正。

 Android版:アプリが一度非アクティブになった後、再度アクティブになった際に画像用メモリを多く消費してしまうことがあるバグを修正。

 Android版:SetUseDXArchiveFlag などのDXアーカイブ関係の設定関数が未定義の関数として使用できなかったバグを修正。

 Android版:SetFullScreenScalingMode の第二引数を TRUE にするとGetTouchInput や GetMousePoint 正しいタッチ位置を取得できなくなるバグを修正。

 Android版:画面をタッチした状態で電源ボタンを押し画面を消灯した後再度電源ボタンを押し画面を復帰させると、画面に触れていなくても消灯する前にタッチしていた状態のままになるバグを修正。

 Android版:SetAndroidLostFocusCallbackCallbackFunction と SetAndroidGainedFocusCallbackCallbackFunction の関数名を SetAndroidLostFocusCallbackFunction と SetAndroidGainedFocusCallbackFunction に修正。

(2017/5/27)
3.18c  正式公開のためにバージョン番号を変更。

3.18b <機能追加・改良等の項目>

 mqoファイルのマテリアルの『両面表示』設定に対応。

 MV1_COLL_RESULT_POLY 構造体にメンバー変数 PositionWeight を追加。

 ソフトウエアレンダリングモードでも DrawRotaString と DrawModiString で文字列が描画されるように処理を追加。

 Windows版:ウインドウの枠の矩形を取得するための関数 GetWindowFrameRect を追加。

 Android版:PlaySoundMem によるサウンドの再生処理のCPU負荷を軽減。

 Android版:通知を行うための関数 AndroidNotification や、通知を解除するための関数 AndroidNotificationCancel, AndroidNotificationCancelAll を追加。

 Android版:指定の URL をブラウザで開くための関数 AndroidJumpURL を追加。

 Android版:加速度センサーの値を取得するための関数 GetAccelerometerVector を追加。

 Android版:端末の向いている方角を取得するための関数 GetOrientationVector を追加。

 Android版:Android端末に搭載されているセンサーの値を取得するための関数 GetAndroidSensorVector を追加。

<仕様変更等の項目>

 Ogg Vorbis ファイルに LOOPSTART か LOOPLENGTH の片方しか無くてもパラメータを適用するように処理を変更。

 Windows版:Ver3.18a でマウスのボタン押下状態の取得に DirectInput を使用するようにした変更を、SetUseDirectInputFlag( TRUE ) ; を実行した場合のみ DirectInput を使用するように処理を変更。

<バグ修正等の項目>

 SetMovieColorA8R8G8B8Flag( TRUE ); を事前に実行してある状態で ogvファイルを読み込み再生しようとするとメモリの不正なアクセスが発生するバグを修正。

 Ver3.18a で頂点数の多い pmxファイルを読み込むとメモリの不正なアクセスが発生するバグを修正。

 Windows版:Direct3D 11 を使用した場合にオリジナルシェーダーを使用すると GraphFilter や GraphBlend が正常に動作しなくなることがあるバグを修正。

 Windows版:Direct3D 11 を使用した場合に SetGraphMode を呼んだ後 MV1DrawModel で描画する3Dモデルにライトが当たらない状態になることがあるバグを修正。

 Windows版:Windows10 でIMEの文字列変換候補が正常に表示されないバグを修正。

 Windows版:Ver3.18a からソフトのウインドウが非アクティブでも GetMouseInput でボタンの押下状態が取得できてしまっていたバグを修正。

 Android版:GetJoypadInputState( DX_INPUT_KEY ) ; で取得できる値のキーボードのキーの割り当てが Windows版と異なっていたバグを修正。

 Android版:ゲームパッドの入力が取得できないバグを修正。

 Android版:LoadFontDataToHandle で読み込んだDXフォントファイルが一度アプリのフォーカスが外れた後に再度アプリにフォーカスを移して画面が復帰した際に文字が正常に描画されなくなるバグを修正。

 Android版:android_main の最初で SetOutApplicationLogValidFlag( FALSE ) ; を実行しても Log.txt が作成されてしまうバグを修正。

(2017/4/16)
3.18a <機能追加・改良等の項目>

 マテリアルのスペキュラ色やスペキュラの強さを描画するためのマテリアルタイプ DX_MATERIAL_TYPE_MAT_SPEC_LUMINANCE_UNORM などの追加と、特殊マテリアル用のパラメータを設定するための関数 MV1SetMaterialTypeParam と MV1SetMaterialTypeParamAll を追加。

 最後に発生したエラーのエラーコードを取得するための関数 GetLastErrorCode と、エラーメッセージを取得するための関数GetLastErrorMessage を追加。( 但し、現時点では Windows版の DxLib_Init のみ対応 )

<仕様変更等の項目>

 ErrorLogAdd などの関数名を LogFileAdd に変更。( 初期の頃はエラーログファイルへの出力関数だったが、現在は様々な情報をログファイルへ出力しているため )

<バグ修正等の項目>

 DrawPolygon3D の引数 TransFlag を FALSE にしても、透過色処理が行われてしまっていたバグを修正。

 Windows版:キューブマップの画像に対して SaveDrawValidGraphToDDS を使用すると正しくキューブマップが保存されないバグを修正。

 Windows版:フルスクリーンモードで実行中に ALT+TAB などでデスクトップ画面に戻り、再度ソフトをアクティブにしてフルスクリーンモードに戻った際の復帰処理が異様に時間がかかることがあるバグを修正。

 Windows版:GetMouseInput を使用してもボタンが4つ以上あるマウスの4ボタン目以降の押下状態が取得できなくなっていたバグを修正。

 Android版:SetCameraScreenCenter で指定するY座標が Android版では画面下端を原点とする処理になってしまっていたバグを修正。

 Android版:PMXファイルや PMDファイルを読み込むとクラッシュしたり、VMDファイルが読み込まれないバグを修正。

(2017/4/2)
3.18 <機能追加・改良等の項目>

 一部の 16bitフォーマット画像の転送処理を高速化。

 2Dの三角形同士の当たり判定を行うための関数 HitCheck_Triangle_Triangle_2D を追加。

 ソフトウェアで扱う画像を作成する関数として MakeA1R5G5B5ColorSoftImage, MakeX1R5G5B5ColorSoftImage, MakeR5G5B5A1ColorSoftImage, MakeR5G6B5ColorSoftImage の4つを追加。

 Android版:アプリが非アクティブになったときとアクティブになったときにそれぞれ呼ばれるコールバック関数を登録するための関数 SetAndroidLostFocusCallbackCallbackFunction、SetAndroidGainedFocusCallbackCallbackFunction を追加。

<バグ修正等の項目>

 複数の非同期読み込みを行っている途中で SetASyncLoadFinishDeleteFlag を使用するとデッドロックが発生してしまうバグを修正。

 DrawString でハングル文字などが描画されなくなっていたバグを修正。

 32bitカラーの Bmp ファイルが正常に読み込めないことがあるバグを修正。

 Android版:PlaySoundMem を使用するとタイミングによってはデッドロックが発生してしまうバグを修正。

 Android版:コンパイラが原因の可能性のあるクラッシュ現象が発生したため、使用するコンパイラを clang 3.8 から GCC 4.9 に変更。

 Android版:jpegファイルを読み込むとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 Android版:ChangeVolumeSoundMem などの音量設定関数で音量を変更しても再生される音の音量が変化しなくなっていたバグを修正。

 Android版:横幅のサイズが奇数値の 16bitカラーの画像が正常に読み込めなかったバグを修正。

 Android版:SRand を呼ばないで GetRand を使用した場合、引数に何を指定しても1回目から624回目まで 0 が返って来るバグを修正。

 Android版:LoadFontDataToHandle を使用するとプログラムがエラー終了することがあるバグを修正。

(2017/3/13)
3.17f <バグ修正等の項目>

 Android版:PlaySoundMem を大量に実行するとプログラムの動作が停止してしまったり、音が鳴らなくなったりするバグを修正。

 Android版:16bitカラーの Bmp ファイルが読み込めなかったバグを修正。

(2017/3/12)
3.17e  正式公開のためにバージョン番号を変更。

3.17d <機能追加・改良等の項目>

 代替フォントを登録・解除するための関数 AddSubstitutionFontToHandle、SubSubstitutionFontToHandle を追加。

 SetFullScreenScalingMode にディスプレイの解像度とゲーム画面の解像度が異なった場合にアスペクト比を保たせずにディスプレイ一杯にゲーム画面を拡大して表示するかどうかを指定するための引数を追加。( Androidのみ対応 )

 マウスのボタンを押した情報と離した情報を取得できる関数 GetMouseInputLog2 を追加。

 Android版:Androidのディスプレイの解像度を取得する関数 GetAndroidDisplayResolution を追加。

<バグ修正等の項目>

 Windows版:ソフトウエアレンダリングモードで DrawTriangle を呼び出すと不正なメモリのアクセスエラーが発生してしまうバグを修正。

 Windows版:SetWindowMinSize で 128 以下のサイズを指定してもウインドウのクライアント領域を 128 x 128 以下のサイズに変更できないバグを修正。

 Android版:OpenGL ES 2.0 に対応している環境にも関わらず正常に動作しないことがあったバグを修正。

 Android版:6つ目以降に作成されたサウンドハンドルでのサウンドの再生が正常に行われないバグを修正。

 Android版:アプリが非アクティブ状態からアクティブ状態に戻った際にDrawString を実行しているとメモリの不正なアクセスエラーが発生してしまうことがあるバグを修正。

 Android版:サウンドを再生した状態で操作を行わずに一定時間過ぎ、Android端末が待機モードになった後、再操作で画面を表示させると再生していたサウンドが停止してしまうバグを修正。

(2017/2/25)
3.17c  正式公開のためにバージョン番号を変更。

3.17b <機能追加・改良等の項目>

 Android 用DXライブラリを追加。

 NetWorkSendUDP 関数で送信先の IPアドレスが 255.255.255.255 だった場合、ブロードキャストパケットとして送信するように処理を追加。

 押され始めたタッチのログと離されたタッチのログを取得するための関数 GetTouchInputDownLog や GetTouchInputUpLog を追加。

 SetScreenFlipTargetWindow に拡大率を指定するための引数を追加。

 _ITERATOR_DEBUG_LEVEL=0 の定義付きでコンパイルした VisualStudio 2012 用と VisualStudio 2013 用の lib ファイルを追加。

<仕様変更等の項目>

 LoadSoundMemByMemImage 関数に重複再生数を指定する引数を追加。

 フォントに存在しない文字を描画しようとしたときに代替文字を描画しないように処理を変更。( Windows2000 以降の場合のみ )

<バグ修正等の項目>

 DrawLine3D や DrawTriangle3D などの基本図形の3D描画関数で何も描画されないことがあるバグを修正。

 縦横のサイズが 4 の倍数ではない DXT圧縮形式の DDSファイルの読み込みに失敗するバグを修正。

 SetUseMaskScreenFlag( TRUE ) ; を実行してマスクスクリーンがある状態にすると、それ以降はシャドウマップが正常に動作しなくなるバグを修正。

 透過色指定があるPNG画像を読み込んでも透過色指定が反映されないバグを修正。

 ソフトウエアレンダリングの場合、LoadGraph の前に SetUseTransColor( FALSE ) ; を実行していても効果が無いことがあったバグを修正。

 DrawCircleAA や DrawOvalAA の引数 posnum に 256 以上を指定するとメモリの不正なアクセスが発生してしまうバグを修正。

 MakeKeyInput の引数 EnableNewLineFlag を TRUE にして改行可能な文字列入力にした場合、行の先頭で方向キーの上を押すと正常にカーソルが上の行に移動しないことがあるバグを修正。

 最初のDXライブラリの文字列処理の前に SetUseCharCodeFormat を使用して使用文字コードを変更しても、その後の文字列処理の際に設定がリセットされてしまうバグを修正。

(2017/1/8)
3.17a  正式公開のためにバージョン番号を変更。

3.17 <機能追加・改良等の項目>

 2D描画の座標に対して掛け合わせる行列を設定するための関数 SetTransformTo2D と、設定をリセットするための関数 ResetTransformTo2D を追加。

 描画対象にできるグラフィックハンドルを画像ファイルとして保存するための関数 SaveDrawValidGraph を追加。

 ゲームパッドのハットスイッチの入力を GetJoypadInputState の戻り値の方向ボタン入力として扱うように処理を追加。

 DrawModiString や DrawModiFormatString などの変形文字列描画関数を追加。

 GraphFilter や GraphBlend に DX_GRAPH_FILTER_PMA_HSB や DX_GRAPH_BLEND_PMA_NORMAL などの乗算済みアルファ用のフィルタータイプ、ブレンドタイプを追加。

 アンチエイリアス付きの角の丸い四角形を描画するための関数 DrawRoundRectAA を追加。

 テキストファイルの文字コード形式を指定するための関数 FileRead_set_format を追加。

 関数 GetDefaultState にOSの拡大率設定の影響を受けないデスクトップの幅と高さを取得するための引数 PixelSizeX と PixelSizeY を追加。

 JPEGファイルからExifバイナリを取得するための関数 ReadJpegExif を追加。

 3DモデルのY軸の回転値を方向ベクトルを使用して設定するための関数 MV1SetRotationYUseDir を追加。

 MV1SetMaterialDrawBlendMode で指定できるブレンドモードに DX_BLENDMODE_SUB を追加。

 3Dモデルのフレームを描画する際に使用するローカル→ワールド行列を直接指定するための関数 MV1SetFrameUserLocalWorldMatrix と、設定を解除するための関数 MV1ResetFrameUserLocalWorldMatrix を追加。

 DrawPolygon3D によるシャドウマップへの描画や、DrawPolygon3D で描画するポリゴンへのシャドウマップの適用に対応。

 パレット画像を LoadGraph で読み込んだ際に、グラフィックスデバイスやソフトウエアレンダリング処理がパレット画像の処理に対応している場合にパレット画像として読み込むかどうかを設定するための関数 SetUsePaletteGraphFlag を追加。

 色の値を float型で取得する GetPixelF を追加。

 描画対象にできるグラフィックハンドルのミップマップレベルを指定するための関数 SetCreateDrawValidGraphMipLevels を追加。( Direct3D 11 使用時のみ有効 )

 SetRenderTargetToShader に描画対象とするミップマップレベルを指定するための引数を追加。( Direct3D 11 使用時のみ有効 )

<仕様変更等の項目>

 SetDrawScreen を使用した場合は必ず SetDrawArea( 0, 0, 描画対象の幅, 描画対象の高さ ) ; を実行するように処理を変更。

 ソフトウエアレンダリングモードではアルファチャンネル付きのパレット画像は通常画像に変換して読み込むように処理を変更。

<バグ修正等の項目>

 DrawStringF などの座標を浮動小数点で指定する文字列描画関数で上下左右の端1ドットが正常に描画されないことがあるバグを修正。

 画像読み込み等の際に十分な空きメモリがあってもメモリが不足していると判定してしまうことがあるバグを修正。

 mqoファイルを読み込んだ場合、4角形以上の多角形ポリゴンの部分が表示されないバグを修正。

 3Dモデルのアニメーションが正しく再生されないことがあるバグを修正。

 Direct3D 9 を使用している場合、スフィアマップが適用された3Dモデルの影の描画が正常に行われないバグを修正。

 Direct3D 9 が使用されている場合、SetFogEnable( TRUE ); を実行してフォグを有効にしているとShadowMap_DrawSetup, ShadowMap_DrawEnd を使用したシャドウマップへの描画が正常に行われないバグを修正。

 読み込んだ PMD, PMX ファイルの剛体情報の回転値が不正だった場合、その3Dモデルを使用して物理演算を行うとプログラムがエラー終了してしまう不具合を修正。

 マルチバイト文字セット版で PMX や FBX を読み込み、MV1GetMaterialName などの文字列を取得する関数を使用すると正しい文字列を取得できないバグを修正。

 MV1SetLoadModelReMakeNormal で3Dモデル読み込み時の法線の再計算をしていても、mv1 ファイル以外の読み込みでは従法線と接線の計算が行われていなかったバグを修正。

 PMD, PMX ファイルを読み込んだ際に VMD ファイルが正常に読み込まれず正常にアニメーションが再生されないことがあるバグを修正。

 DxLibModelViewer.exe で読み込んだモデルを xファイルで保存すると、正常な xファイルが生成されないことがあるバグを修正。

 DxLibModelViewer.exe で FBXファイルを読み込んだ際に PostRotation に有効な値があるノードが正常に処理されていなかったバグを修正。

 デスクトップの表示拡大率( DPI )の設定を 100% 以外にすると GetDesktopScreenGraph が正常に動作しないことがあるバグを修正。

 float型の画像を描画対象にしている場合に GetPixel が正常に動作していなかったバグを修正。

 マスクを有効にした状態では DrawCircleGauge や DrawPolygon などの関数が正常に動作しないバグを修正。

 sprintfDx が sprintf と異なり戻り値として変換後の文字数を返していなかったバグを修正。

 不正な値を sqrt の引数にしてしまっていたバグを修正。

 DxLib_Init を実行した際にゼロ除算をしてしまっていたバグを修正。

(2016/9/4)
3.16f  正式公開のためにバージョン番号を変更。

3.16e <機能追加・改良等の項目>

 指定の矩形に収まる楕円を描画する関数 DrawOval_Rect を追加。

 SetCameraPositionAndTarget_UpVecY で設定したカメラのそれぞれ正面方向、後ろ方向、下・左・右方向のベクトルを取得するための関数 GetCameraFrontVector, GetCameraBackVector, GetCameraDownVector, GetCameraLeftVector, GetCameraRightVector を追加。

 クォータニオンの乗算や回転を行うための関数 QTCross や QTRot を追加。

 3次元空間上の座標を任意の軸の周りに任意の角度だけ回転させる関数 VRotQ を追加。

 プログラムの実行中にログオフやシャットダウンをされた場合に呼び出されるコールバック関数を登録するための関数 SetShutdownCallbackFunction を追加。

 フルスクリーン解像度モードを取得するための関数 GetFullScreenResolutionMode を追加。

 DxLibModelViewer.exe にフレームの位置を表示する機能を追加。

 DxLibModelViewer.exe に Xキー や Zキー を押すとカメラの位置がX軸上やZ軸上に移動する機能を追加。

 DxLibModelViewer.exe にフレームの回転を無効にして表示する機能を追加。

 Direct3D 11 を使用している場合にグラフィックハンドルで使用しているテクスチャを取得するための関数 GetGraphID3D11Texture2D を追加。

 Direct3D 11 を使用している場合に描画対象にできるグラフィックハンドルで使用しているレンダーターゲットビューを取得するための関数 GetGraphID3D11RenderTargetView を追加。

 裏画面のレンダーターゲットビューを取得するための関数 GetUseDirect3D11BackBufferRenderTargetView を追加。

 指定の ID3D11RenderTargetView を描画先にするための関数 SetDrawScreen_ID3D11RenderTargetView を追加。

 PlayBeep などのビープ音関係の処理を改良。

<仕様変更等の項目>

 SetCreateSoundDataType関数で DX_SOUNDDATATYPE_FILE が指定された場合の先読み秒数を HDD のスリープモードからの復帰にかかる時間を考慮して0.75秒から12秒に変更。

 GetDrawStringWidth に改行文字が含まれる文字列を渡した場合、最後の行の幅が戻り値となっていたので、一番幅のある行の幅を戻り値とするように修正。

 ウインドウモードのプログラムを実行中にデスクトップ画面の解像度が変化した際にウインドウのサイズよりデスクトップ画面のサイズの方が小さかった場合にプログラムをエラー終了していた処理を変更して、変化後のデスクトップ画面のサイズがウインドウのサイズより小さくてもプログラムをエラー終了しないように変更。

 DxLibModelViewer.exe でFBXファイルの読み込む際にマテリアルの DiffuseFactor、AmbientFactor、EmissiveFactor、SpecularFactor も適用するように処理を追加。

 DxLibModelViewer.exe でアニメーションを選択すると、アニメーションがアタッチされていない状態に戻せなかった仕様を変更。( 再生中のアニメーションをもう一度クリックするとアタッチ解除 )

 DxCompileConfig.h の DX_NON_BEEP をデフォルトではコメント状態に変更。

<バグ修正等の項目>

 ChangeFont で存在しないフォントやDXライブラリが対応していないフォントを指定した場合に、その後の DrawString などによる文字列描画処理の負荷が高くなるバグを修正。

 Direct3D 11 が使用できない場合にメモリの不正なアクセスエラーが発生してしまうことがあるバグを修正。

 Direct3D 11 を使用する場合、DxLib_Init の後に SetGraphMode で解像度を変更するとその後の ClearDrawScreen が正常に動作しなくなることがあるバグを修正。

 MakeScreen で作成した『描画対象にできるグラフィックハンドル』に対して FillGraph で塗りつぶしを行うと、正常な描画が行われないことがあるバグを修正。

 PlayMovie や LoadGraph で動画ファイルを再生や読み込みをした場合にメモリリークが発生してしまうバグを修正。

 ウインドウモードでウインドウを最大化した場合に GetMousePoint や SetMousePoint が正常に動作しない( 正しい位置が取得できない、指定した位置にマウスカーソルが移動しない )バグを修正。

 GetMouseInputLog で取得できるマウスカーソルのクリック座標が実際にクリックした座標とは異なることがあるバグを修正。

 描画ブレンドモードを DX_BLENDMODE_MUL, DX_BLENDMODE_INVSRC, DX_BLENDMODE_PMA_INVSRC に設定した状態で DrawCircleAA などのアンチエイリアス付き図形描画を行うと正常な描画結果が得られないバグを修正。

 DrawOvalAA と DrawCircleAA の描画結果が、同じ座標、半径を指定した場合の DrawOval や DrawCircle と一致していなかったバグを修正。

 DxLibModelViewer.exe で FBXファイルのテクスチャのファイルパスの中にシフトJISが使用された全角文字があるとテクスチャを正常に読み込めなかったバグを修正。

 DxLibModelViewer.exe で FBXファイルを読み込んだ際に PreRotation, PostRotation に有効な値があり、且つ Lcl Rotation に有効な値がないボーンについて正常に処理されていなかったバグを修正。

 DxLibModelViewer.exe でテクスチャ座標の数が 8個を超える FBXファイルを読み込もうとすると不正なメモリアクセスが発生するバグを修正。

 DxLibModelViewer.exe で FbxSurfaceLambert でも FbxSurfacePhong でもないマテリアルが使用されている FBXファイルの読み込みに対応。

 DxLibModelViewer.exe でマテリアルを割り当てられていない箇所と、割り当てられている箇所が混在する FBX ファイルを読み込もうとするとメモリの不正なアクセスが発生することがあるバグを修正。

 DxLibModelViewer.exe で頂点がひとつも無い3Dモデルデータを保存しようとするとエラーが発生してしまうバグを修正。

 ミップマップが無い dds ファイルを使用した3Dモデルを読み込むとテクスチャが正常に3Dモデルに反映されないバグを修正。

 Direct3D 11 を使用する場合、キューブマップテクスチャのミップマップに対応していなかったバグを修正。

 MV1DetachAnim でアニメーションをデタッチしても、MV1SetPosition などで3Dモデル全体の行列が更新されないとアタッチしていたアニメーションの影響が残ってしまっていたバグを修正。

 MV1GetReferenceMesh で取得できる MV1_REF_POLYGONLIST 構造体の MinPosition と MaxPosition の値が正しく無いことがあるバグを修正。

 ウインドウモード起動+マルチモニタ環境で、デスクトップ上の座標がマイナスとなるモニタに対して SetUseDisplayIndex でメインウインドウを表示させようとした場合正常な位置にウインドウが表示されないバグを修正。

 GetJoypadPOVState でゲームパッドのハットスイッチに対して入力が無いときも -1 以外が戻り値となることがあるバグを修正。

 SetUserWindow と SetScreenFlipTargetWindow を同時に使用した場合、一度目の SetScreenFlipTargetWindow のみ正常に ScreenFlip の出力先が変更されないバグを修正。

 BltStringSoftImage や BltStringSoftImageToHandle でスペース文字が無視されてしまっていたバグを修正。

 AeroSnap を使用した場合、SetWindowMinSize や SetWindowMaxSize で設定したウインドウの最小・最大サイズが無視されてしまうバグを修正。

 DxCompileConfig.h で DX_NON_DXA、DX_THREAD_SAFE、DX_NON_SAVEFUNCTION、DX_NON_FONT を有効にした場合、単体での定義や組み合わせでDXライブラリのビルドが失敗するバグを修正。

(2016/6/5)
3.16d  正式公開のためにバージョン番号を変更。

3.16c <機能追加・改良等の項目>

 アンチエイリアス付きの図形描画を行う関数 DrawLineAA, DrawBoxAA, DrawCircleAA, DrawOvalAA, DrawTriangleAA, DrawQuadrangleAA を追加。

 GraphFilter で指定するフィルタータイプにバイキュービック補間で拡大・縮小を行う DX_GRAPH_FILTER_BICUBIC_SCALE と、Lanczos-3 補間で拡大・縮小を行う DX_GRAPH_FILTER_LANCZOS3_SCALE を追加。

 サウンドファイルのループ範囲を編集するためのエディター「SoundLoopAreaEditor」をパッケージの Tool に追加。

 サウンドファイルの読み込みの際にファイル名の末尾が _loop.txt となったループ範囲を指定するテキストファイルの自動読み込み処理を追加。( テキストファイルの内容は LOOPSTART=1000 LOOPEND=5000 等 )

 Ogg ファイルのループ範囲情報である LOOPSTART コメントと LOOPLENGTH コメントに対応。( コメントがあった場合は自動的にループ範囲に適用 )

 読み込むサウンドのループ範囲をあらかじめ指定するための関数 SetCreateSoundLoopAreaTimePos と SetCreateSoundLoopAreaSamplePos を追加。

 DrawString などの文字列描画関数のCPU負荷を軽減。

 Direct3D 11 を使用する環境での画像描画処理関数のCPU負荷を軽減。

 描画する文字の位置とサイズを取得するための関数 GetDrawStringCharInfo などを追加。

 文字列の描画位置からベースラインまでの高さを取得するための関数 GetFontAscent, GetFontAscentToHandle を追加。

 printfDx で出力される文字列の描画に使用するフォントハンドルを設定する為の関数 SetLogFontHandle を追加。

 printfDx の引数が書式文字列ではないバージョンの putsDx を追加。

 SetBlendGraphParam によるブレンド画像の基準位置を設定する為の関数 SetBlendGraphPositionMode を追加。

 PMD, PMXファイル読み込み時の物理演算適用を、一部のアニメーションや特定のワードが含まれる剛体について無効にするための関数 MV1AddLoadModelDisablePhysicsNameWord, MV1ResetLoadModelDisablePhysicsNameWord, MV1SetLoadModelDisablePhysicsNameWordMode を追加。

 DerivationGraph の抜き出す範囲を float型 で指定する DerivationGraphF を追加。

 LoadDivGraph の分割サイズを float型 で指定する LoadDivGraphF を追加。

 メモリ上に展開されたファイルのイメージを FileRead 系の関数で扱うための関数 FileRead_open_mem を追加。

 MakeKeyInput にエンターキーによる改行を許可するかどうかの引数 EnableNewLineFlag を追加。

 GetMovieBaseImageToGraph に動画の画像が更新されたかどうかだけを取得して、画像データの更新は行わないかどうかを指定するための引数を追加。

 デスクトップ画面の指定の矩形領域をグラフィックハンドル、ソフトウエアイメージハンドル、基本イメージデータにそれぞれ転送する為の関数 GetDesktopScreenGraph、GetDesktopScreenSoftImage、GetDesktopScreenBaseImage を追加。

<仕様変更等の項目>

 一度に処理するウインドウメッセージ数の制限を撤廃。

 3Dモデル内の1つのメッシュが持てるマテリアルの最大数を 256個から 1024個に変更。

 Windows API の CreateDXGIFactory1 が使用できる場合は、CreateDXGIFactory1 を使用して IDXGIFactory1 を使用するように処理を変更。

 使用する DirectInput のバージョンを 7 から 8 に変更。

<バグ修正等の項目>

 printfDx で書式指定の処理を2重で実行してしまっていたバグを修正。

 書式文字列の %f や %d などのフォーマット指定子で桁数に1020辺りより大きい値を指定するとメモリの不正なアクセスが発生してしまうバグを修正。

 ある条件で空きメモリが足りているにも関わらず「メモリ不足である」と判定してしまうことがあるバグを修正。

 ストリーム再生をしているサウンドが1秒くらいの間をループし続けることがあるバグを修正。

 Direct3D 11 を使用する環境で ChangeWindowMode や SetGraphMode を使用するとメモリの不正なアクセスが発生することがあるバグを修正。

 ルートディレクトリ以外に対して FileRead_findFirst, FileRead_findNext を使用してDXアーカイブ内のファイルの検索を行うとメモリの不正なアクセスが発生してしまうバグを修正。

 GetRand に INT_MAX を渡すと戻り値がマイナスになってしまうバグを修正。

 Direct3D 9 を使用する環境で縁付きの文字を描画すると異様に描画負荷が高くなるバグを修正。

 SetVolumeSoundMem や GetVolumeSoundMem などのサウンドのチャンネルを指定する関数でチャンネルにマイナスの値を指定すると不正なメモリアクセスが発生してしまうバグを修正。

 SetMovieRightImageAlphaFlag( TRUE ) ; を実行して動画の右側半分の赤成分をアルファ値として扱うようにすると正常に描画が行われなくなるバグを修正。

 Direct3D 11 を使用する環境で DrawLine が正常に動作しないことがあるバグを修正。

 Ogg Theora 形式の動画を再生した場合、最初の1フレームが表示されていなかったバグを修正。

 GetMovieBaseImageToGraph を使用しても動画の画像データが取得出来なくなっていたバグを修正。

 SetUseASyncLoadFlag( TRUE ) ; を実行して非同期読み込み設定の際は NetWorkSendUDP と NetWorkRecvUDP が正常に動作しないバグを修正。

 AddMenuItem_Name や DeleteMenuItem_Name などの関数でメニュー項目を増やしたり削除したりするとウインドウがデスクトップ画面の中心に移動してしまっていたバグを修正。

 FileRead_scanf や sscanfDx で %d を使って整数値を取得する場合、ファイルの最後の1文字が無視されてしまっていたバグを修正。( 例えば文字列 "123" に対して %d で整数値を取得しようとした場合、取得できる値は「12」になってしまう )

 3Dモデル描画機能を無効にせずに DX_NON_BULLET_PHYSICS を有効にするとビルドエラーが発生するバグを修正。

(2016/3/12)
3.16b  正式公開のためにバージョン番号を変更。

3.16a <機能追加等の項目>

 Opus形式のサウンドファイルの再生に対応。

 Ogg Theora 形式の動画ファイルのみ CreateGraphFromMem を使用しての再生に対応。( Ogg Theora 形式の動画ファイルを丸ごとメモリに読み込み、ファイルイメージの先頭アドレスとファイルサイズを CreateGraphFromMem に渡す )

 MakeKeyInput で作成できるキー入力ハンドル毎に描画範囲を設定するための関数 SetKeyInputDrawArea を追加。

 非同期読み込み完了後にハンドルを削除するかどうかを設定する関数 SetASyncLoadFinishDeleteFlag を追加。

 3Dモデルの読み込みの際に同じ頂点を使用していて、且つ法線の方向が異なる二つのポリゴンの辺の間に面積0のポリゴンを埋め込むかどうかを設定するための関数 MV1SetLoadModelNotEqNormalSide_AddZeroAreaPolygon を追加。

 MIDIの演奏モードにリバーブ無しの DirectMusic で演奏するためのモード DX_MIDIMODE_DIRECT_MUSIC_NORMAL を追加。

 SetWindowSizeChangeEnableFlag を使用してメインウインドウのサイズを変更できるようにした際のウインドウの最大サイズと最小サイズを設定する為の関数 SetWindowMaxSize と SetWindowMinSize を追加。

 DxLibModelViewer.exe で使用する FBX SDK を 2016.1.2 に更新。

 DrawRotaGraph の処理を簡略化して処理負荷を抑えた関数 DrawRotaGraphFast を追加。( ±1ピクセル程度の描画誤差があるので、常に動く弾等正確な座標への描画が必要ないものに対して使用してください )

 浮動小数点フォーマットの DDSファイルの読み込みに対応。

 整数型で各チャンネルが16ビットフォーマットの DDSファイルの読み込みに対応。

 描画先の画面を DDSファイル形式で保存する為の関数 SaveDrawScreenToDDS を追加。

 ソフトウエアイメージを DDSファイル形式で保存する為の関数 SaveSoftImageToDds を追加。

 DXライブラリの WM_PAINT メッセージの処理を行うかを設定する為の関数 SetUseDxLibWM_PAINTProcess を追加。

 DxLibModelViewer.exe にポリゴンの座標を表示する為のメニュー項目を追加。

 3Dモデルのトライアングルリストのポリゴンの座標を取得する為の関数 MV1GetTriangleListPolygonVertexPosition を追加。

 SetBackgroundColor で設定した背景色の値を取得するための関数 GetBackgroundColor を追加。

 SetUsePixelShader で指定したピクセルシェーダーを使用するビルボード描画を行う関数 DrawBillboard3DToShader を追加。

 文字コード形式( ISO/IEC-8859-15 )に対応。

 printfDx によるログの描画範囲を設定するための関数 SetLogDrawArea を追加。

 DrawString などの文字列描画関数で改行した際の追加の行間ピクセル数を指定するための関数 SetFontLineSpace と SetFontLineSpaceToHandle を追加。


<仕様変更等の項目>

 strlenDx の戻り値や MakeKeyInput の第一引数など、一部の文字列長数値の型を int型から size_t型に変更。

 DxLib_Init の前でも SetASyncLoadThreadNum が呼べるように処理を変更。

 DrawString などの文字列描画関数で改行文字による改行に対応。


<バグ修正等の項目>

 サウンドファイルのストリーミング再生を行っていると、ProcessMessage の呼び出しに異様に時間が掛かってしまうことがあるバグを修正。

 Ogv ファイルを再生しているとどんなにビットレートと解像度が低く低負荷で再生できるファイルを再生していてもCPU使用率が不自然に高くなるバグを修正。

 シェーダーモデル2.0以降が使用できる環境では動画ファイルを再生する際にYUVカラーからRGBカラーへの変換にGPUを使用するように処理を変更。

 マルチバイトキャラ版では GetJoypadName で得られるパッドの名前の文字列が数文字だけになってしまっていたバグを修正。

 DrawKeyInputString で描画されるIME入力中文字列の下線の位置が正しくなかったバグを修正。

 アルファチャンネル付きの動画を読み込み、描画してもアルファチャンネルの透過情報が正常に反映されなくなっていたバグを修正。

 凹の形をした四角形ポリゴンが含まれる mqo ファイルを正常に読み込めなかったバグを修正。

 Direct3D 11 を使用できる環境でフルスクリーンモードで起動した場合、ALT+Tab などで一度フルスクリーンモードからデスクトップ画面に戻り、その後アプリケーションウインドウをアクティブにして再度フルスクリーンモードになると、正常な描画結果が得られなくなるバグを修正。

 DxLib_Init を実行した後に DxLib_End を実行し、その後再度 DxLib_Init を実行した後では、非同期読み込みが正常に行われなくなるバグを修正。

 Direct3D 11 を使用できない環境ではトゥーンレンダリングタイプ1を使用してモデルをレンダリングすると描画結果が真っ黒になってしまっていたバグを修正。

 GetTouchInput の引数 ID で取得できるタッチ箇所に割り当てられる識別番号が正しく取得できないバグを修正。

 ソフトウエアレンダリングモードでは DrawCircle で半径 2 の円の描画結果が正しくなかったバグを修正。

 DrawOval で半径 1 の円の描画結果が正しくなかったバグを修正。

 ソフトウエアレンダリングモードでの DrawLine の描画結果が正しくないことがあるバグを修正。

 PMD, PMX + VMD の組み合わせで表情付きのアニメーションを再生した後、他の表情付きではないアニメーションに変更した際に一つ前に再生したアニメーションに付いていた表情のままになってしまうバグを修正。

 マウスのホイールを僅かに前後させた場合 GetMouseWheelRotVol の戻り値が前後させたにも関わらず 0 になってしまうことがあるバグを修正。

 SetUsePremulAlphaConvertLoad( TRUE ) ; を使用して画像読み込み時に乗算済みアルファ画像に変換を行ったかどうかの設定が、ALT+Tab などで一度フルスクリーンモードからデスクトップ画面に戻り、その後アプリケーションウインドウをアクティブにして再度フルスクリーンモードにした際に行われる画像の自動再読み込みでは反映されていなかったバグを修正。

 DxLibModelViewer.exe でFBXファイルを読み込んだ場合、アニメーションキーのタイムカウントが 0.5 や 3.5 など、小数点以下の値も含む場合、小数点以下の値が切り捨てられてしまっていたバグを修正。

 Direct3D 11 を使用できる環境では GraphFilter で実行できる一部のフィルターの結果が正しくなかったバグを修正。

 DXアーカイブファイル内にあるファイルを読み込んだ後に通常のファイルを読み込もうとすると読み込みに失敗することがあるバグを修正。

 幅、高さが2のn乗以外のサイズでミップマップを持つ DDS ファイルが正常に読み込めなかったバグを修正。

 DirectSound を使用する場合、LoadSoundMem の第二引数で指定できる『同時に再生できる数』が無効になっていたバグを修正。

 スキニングメッシュの3Dモデルに対して MV1RefreshReferenceMesh の第二引数でフレーム番号を -1 以外にした場合、正常に参照用メッシュが更新されないことがあるバグを修正。

 MV1ファイルにスキニングメッシュの情報の一部が保存されていなかったバグを修正。

 Direct3D 9 を使用する場合、SetDrawMode でのフィルタリングモード変更をテクスチャステージ4まで行っていたのを、テクスチャステージ16まで行うように処理を変更。

(2015/12/29)
3.16  正式公開のためにバージョン番号を変更。

3.15f  Direct3D 11 を使用できる環境では一部のムービーキャプチャツールで正常に動画をキャプチャできなかった問題に対応。

 ogv 以外の動画ファイルを PlayMovieToGraph で再生、描画処理を行った場合に最初の1フレーム目が表示される前に初期化前のノイズ画像が表示されてしまうことがあるバグを修正。

 GraphFilter の DX_GRAPH_FILTER_DOWN_SCALE フィルターを使用した場合や GraphFilterBlt や GraphFilterRectBlt の DX_GRAPH_FILTER_DOWN_SCALE フィルター で転送元と転送先を同じにした場合は転送元の縮小前の部分を真っ黒( RGBA=0000 )で塗りつぶすように処理を追加。

 ソフトウエアレンダリングモードで DrawString などの文字列描画が正常に行われないバグを修正。

 DxLib_Init を呼び出す前では strcpyDx などの文字列関係の関数が正常に動作しなかったバグを修正。

 DrawFormatString などの書式指定文字列を使用する関数で、書式に基づいて生成される最終的な文字列の長さが 2048 文字( 関数によっては 1024文字 )を超えるとメモリの不正なアクセスが発生してしまうバグを修正。

 文字列を引数とする関数の一部で文字列が関数の想定より長かった場合にメモリの不正なアクセスが発生してしまうバグを修正。

 strcpyDx や strlenDx などの標準関数の文字列操作関数に似た関数群に strcpy_sDx など、バッファサイズ指定用引数付きの関数を追加。

 GetJoypadGUID に guidProduct を取得するための引数を追加。

(2015/12/5)
3.15e  正式公開のためにバージョン番号を変更。

3.15d  ソフトウエアレンダリングモードでは GraphFilter や GraphBlend が正常に動作していなかったバグを修正。

 GraphFilter のフィルターに DX_GRAPH_FILTER_BRIGHT_SCALE を追加。

 DX_FONTTYPE_EDGE などの縁ありフォントタイプでは等幅フォントを使用してもスペース文字とその他の文字の幅が縁の分だけ異なってしまっていたバグを修正。

 フォントファイルをシステムにインストールするための関数 AddFontFile と AddFontFileFromMem を追加。

 システムにインストールしたフォントを削除するための関数 RemoveFontFile を追加。

 環境依存のテクスチャフォーマットの使用を直接指定するための関数 SetUsePlatformTextureFormat を追加。

 頂点が一つも含まれていないモデルファイル( アニメーション情報のみのファイルなど )が正常に読み込めないバグを修正。

 3Dモデルの各トライアングルリストが使用している行列の数を取得するための関数 MV1GetTriangleListLocalWorldMatrixNum を追加。

 3Dモデルの各トライアングルリストが使用している行列を取得するための関数 MV1GetTriangleListLocalWorldMatrix を追加。

 3Dモデルでひとつのトライアングルが使用する行列の最大数を指定するための関数 MV1SetLoadModelTriangleListUseMaxBoneNum を追加。

 MV1SetDifColorScale などの3Dモデル全体のマテリアルカラーに対してスケーリングを掛ける関数と MV1SetFrameDefColorScale などの特定のフレームのマテリアルカラーに対してスケーリングを掛ける関数を併用するとマテリアルカラーのスケーリングが正しく行われないバグを修正。

 CreateGraphFromSoftImage や CreateGraphFromBaseImage で引数に渡されたソフトイメージのフォーマットが float型だったりRGBAの各要素が8ビット以上だったりした場合も作成されるグラフィックハンドルのフォーマットは整数型の各要素8bitフォーマットになってしまっていたバグを修正。

 LoadSoftImage でアルファチャンネル付きパレット形式の png ファイルを読み込むと内部でフルカラー画像に変換されてしまっていたので、アルファチャンネル付きパレット画像として読み込まれるように処理を変更。

 MakePAL8ColorSoftImage や CreatePAL8ColorBaseImage などのパレット形式のソフトウエアイメージを作成・初期化する関数にアルファチャンネルを有効にするかどうかを指定するための引数を追加。

 SetMaskScreenGraph で指定したマスク用グラフィックの内の、マスクとして使用するチャンネルを指定するための関数 SetMaskScreenGraphUseChannel を追加。

 ソフトウエアサウンドの指定の部分を高速フーリエ変換するための関数 GetFFTVibrationSoftSound を追加。

 Wavファイルが正常に読み込めないことがあるバグを修正。

 ソフトウエアサウンドに floatタイプを追加。

 ソフトウエアサウンドのタイムストレッチを行うための関数 WriteTimeStretchSoftSoundData を追加。

 ソフトウエアサウンドのピッチシフトを行うための関数 WritePitchShiftSoftSoundData を追加。

 作成するサウンドハンドルのピッチレートを設定する( 音の長さを変えずに音程を変更する )ための関数 SetCreateSoundPitchRate を追加。

 作成するサウンドハンドルのタイムストレッチ( 音程を変えずに音の長さを変更する )レートを設定するための関数 SetCreateSoundTimeStretchRate を追加。

 640x480 の解像度に対応している環境が減ってきたので、デフォルトのフルスクリーンモードをデスクトップの解像度を使用する方式( DX_FSRESOLUTIONMODE_DESKTOP )に変更。( 従来のモニタの解像度を指定の解像度に変更する方式を使用する場合は DxLib_Init の前に SetFullScreenResolutionMode( DX_FSRESOLUTIONMODE_NATIVE ) ; という記述を追加してください )

 非同期読み込み処理を行うスレッドの数を変更するための関数 SetASyncLoadThreadNum を追加。

 Direct3D 11 が使用できる環境で SetUseASyncLoadFlag( TRUE ) ; を実行して非同期読み込みの状態では画像の読み込みが失敗することがあるバグを修正。

 Direct3D 11 が使用できる環境で3Dモデルを描画した後に DrawPolygon3D を使用すると3Dモデルのマテリアルのパラメータが DrawPolygon3D で描画するポリゴンに反映されてしまっていたバグを修正。

 DXライブラリが使用している ID3D11Device を取得するための関数 GetUseDirect3D11Device を追加。

 DXライブラリが使用している ID3D11DeviceContext を取得するための関数 GetUseDirect3D11DeviceContext を追加。

 DXライブラリが使用しているバックバッファの ID3D11Texture2D を取得するための関数 GetUseDirect3D11BackBufferTexture2D を追加。

 DXライブラリが使用している深度ステンシルバッファの ID3D11Texture2D を取得するための関数 GetUseDirect3D11DepthStencilTexture2D を追加。

 Direct3D 11 を使用できる環境では RefreshDxLibDirect3DSetting を実行しても、DXライブラリ用の設定が一部再設定できていなかったバグを修正。

 ウインドウの最大化ボタンを有効にした場合に、最大化した状態で最小化を行い、その後再度最大化した場合や、セカンダリディスプレイで最大化を行った場合などにウインドウの位置やサイズが正常ではなくなるバグを修正。

 SetWindowStyleMode と SetWindowSizeChangeEnableFlag を使用してウインドウの枠を掴んだままデスクトップの端に移動して最大化すると最大化を解除した際にウインドウのサイズや位置が正常ではなくなるバグを修正。

 SetDrawScreen を使用した際にカメラや描画範囲の設定をリセットするかを設定するための関数 SetUseSetDrawScreenSettingReset を追加。

 SetUseSetDrawScreenSettingReset の設定を取得するための関数 GetUseSetDrawScreenSettingReset を追加。

 DxCompileConfig.h で DX_NON_NETWORK を有効にしてDXライブラリをコンパイルすると DxSoundWin.cpp で書式エラーが発生するバグを修正。

 DxCompileConfig.h にある namespace DxLib を使用するかを設定するためのマクロ DX_USE_NAMESPACE を削除して、代わりに namespace DxLib を使用しないかを設定するためのマクロ DX_NON_NAMESPACE を追加。

 DxLib.h に書かれている using namespace DxLib ; を無効化するためのマクロ DX_NON_USING_NAMESPACE_DXLIB を DxCompileConfig.h に追加。

(2015/9/26)
3.15c  正式公開のためにバージョン番号を変更。

3.15b  MV1LoadTexture で読み込んだ画像を DxLib_End を呼び出す前に DeleteGraph で削除していなかった場合、DxLib_End を実行した際にエラーが発生してしまうバグを修正。

 Direct3D 11 が使用できる環境では、MV1DrawModel で3Dモデルを描画した際に一定以上の透明度の半透明部分が描画されないようになっていたバグを修正。

 GraphFilter の DX_GRAPH_FILTER_GRADIENT_MAP で、フィルターを掛ける元の画像のアルファ値を保持するように処理を変更。

 古いバージョンのDXアーカイブファイルが読み込めなくなっていたバグを修正。

 ソフトウエアレンダリングモードでは表画面に対して描画を行っても画面に何も表示されないバグを修正。

 64bit版のソフトウエアレンダリングモードで DrawExtendGraph を使用して左右や上下に反転した描画を行おうとするとメモリの不正なアクセスが発生してしまうバグを修正。

 DXTフォーマットに対応していない環境で DXTフォーマットの ddsファイルを読み込むとメモリの不正なアクセスが発生するバグを修正。

 Direct3D 11 が使用できる環境では DrawBox と DrawGraph の実行順序によっては DrawBox を実行しても何も描画されないことがあるバグを修正。

 FileRead_scanf で書式文字列 %s が正常に動作していなかったバグを修正。

 LoadGraphToResource や LoadSoundMemByResource などのリソースからデータを読み込む関数で MAKEINTRESOURCE マクロを使用した引数を渡すとメモリの不正なアクセスが発生してしまうバグを修正。

(2015/8/23)
3.15a  正式公開のためにバージョン番号を変更。

3.15  SetUseASyncLoadFlag( TRUE ) ; を実行して非同期読み込みの状態で CreateFontToHandle を使用すると、縁つきタイプを指定しても縁なしフォントになってしまうバグを修正。

 Windows10 のOSバージョン判定に対応。

 Direct3D 11 が使用できる環境では SetCreateDrawValidGraphMultiSample を使用しても正しく「アンチエイリアス機能つきの描画対象にできるグラフィックハンドル」が作成できていなかったバグを修正。

 Direct3D 11 が使用できる環境では SetFullSceneAntiAliasingMode を使用してフルシーンアンチエイリアスを有効にしていた場合、SaveDrawScreen で保存した画像に正しくアンチエイリアスが適用されていなかったバグを修正。

 x86版のDXライブラリでパレットカラーの画像ファイルが正常に読み込めなくなっていたバグを修正。

 WindowsXP では初期化処理の途中で動作が停止してしまうバグを修正。

 Direct3D 11 が使用できる環境では GraphFilter を使用すると偶にメモリの不正なアクセスが発生するバグを修正。

 タッチパネルのタッチの情報を取得するための関数 GetTouchInputNum や GetTouchInput 等の関数を追加。

 タッチパネルにタッチした場合は、その座標をマウスで左クリックしていることにするように処理を追加。

(2015/8/2)
3.14f  正式公開のためにバージョン番号を変更。

3.14e  SetCreate3DSoundFlag( TRUE ) ; を実行してから作成した3Dサウンドハンドルに対して SetPlayFinishDeleteSoundMem を使用して再生後にハンドルを削除するように設定しておくと、処理のタイミング次第でメモリの不正なアクセスが発生するバグを修正。

 ループタイプのアニメーションかどうかを取得するための関数MV1GetAnimLoopFlag を追加。

 MakeScreen で作成したアルファチャンネル付きの画像をマスクスクリーンとして使うための関数 SetMaskScreenGraph を追加。

 SetSysCommandOffFlag( TRUE ) ; を実行すると、別のウインドウにフォーカスが移った後も Windowsキーや Altキーが無効になってしまっていたバグを修正。

 マルチバイト文字コード版で Shift-JIS 以外の文字コードでの文字の描画が正常に行われないバグを修正。

 PMD,PMXファイルのボーンの並び順によっては正常にアニメーションが再生されないことがあるバグを修正。

 メッシュの存在しないフレームに対して MV1CollCheck_Line 等の当たり判定を行う関数を実行すると異常に処理時間が掛かるバグを修正。

 ソフトウエアイメージに円を描画するための関数DrawCircleSoftImage を追加。

 文字列の文字コード形式を別の文字コード形式に変換するための関数ConvertStringCharCodeFormat を追加。

 文字列を扱う関数に渡す文字列の文字コード形式を変更するための関数 SetUseCharCodeFormat を追加。

 標準フォントハンドルが対応する文字コード形式を変更するための関数 SetFontCharCodeFormat を追加。

 フォントハンドルが対応する文字コード形式を変更するための関数 SetFontCharCodeFormatToHandle を追加。

 strcpyDx や strlenDx などの標準関数の文字列操作関数に似た関数群を追加。

 一部のグラフィックスデバイスで DrawCircle で中を塗りつぶす円を描画した際に左に1ドットずれてしまう不具合を修正。

 Direct3D 11 が使用できる環境では DrawRectExtendGraph で描画される結果が、指定の範囲から左上に1ピクセルずれるバグを修正。

 トゥーンレンダリングの3Dモデルを描画する場合、SetUseTextureToShader でテクスチャ番号6に設定したテクスチャがオリジナルシェーダーで使用できないバグを修正。

 マルチバイト文字列版では FileRead_findFirst, FileRead_findNext を使用するとメモリの不正なアクセスが発生することがあるバグを修正。

 SetUseDirectInputFlag( FALSE ) ; を使用して DirectInput を使用しない設定にした場合、ゲームパッドの入力が取得できなくなっていたバグを修正。

(2015/6/17)
3.14d  C++標準ライブラリを使用すると Visual Studio 2013 でリンクエラーが発生する不具合に対応。( 一部 Visual Studio 2013 でビルドした lib ファイルを追加 )

 幅か高さが8ピクセル未満のテクスチャを使用した3Dモデルが正常に描画されないバグを修正。

 関数 SetFullScreenResolutionMode を使用してフルスクリーン解像度モードを DX_FSRESOLUTIONMODE_NATIVE 以外に設定している状態では SetMousePoint が正常に動作しないバグを修正。

(2015/6/13)
3.14c  正式公開のためにバージョン番号を変更。

3.14b  Visual Studio 2012 でビルドした libファイルと、Visual Studio 2015 RC でビルドした libファイルを追加。

 DxLib.h に WAVEFORMATEX 構造体の定義を追加。

 DrawGraphToZBuffer 系の関数でアルファチャンネル付き画像を描画した際にアルファ値0の部分も描画されてしまっていたバグを修正。

 PlayMusic でMIDIファイル以外を再生するとメモリの不正なアクセスが発生するバグを修正。

 SetUseASyncLoadFlag( TRUE ) ; が実行され、非同期読み込みのモードになっているときに MV1PhysicsCalculation が呼ばれた場合は物理演算を非同期実行する処理を追加。( 物理演算の終了確認は CheckHandleASyncLoad( モデルハンドル )の戻り値が FALSE かどうかで行う )

 3Dモデルの物理演算モードが事前計算( DX_LOADMODEL_PHYSICS_LOADCALC )だった場合に適用される物理演算の時間進行の精度を設定するための関数 MV1SetLoadModelPhysicsCalcPrecision を追加。

 DXライブラリ内部のメモリ確保処理を改良。

 Direct3D 11 が使用できる環境では DrawPolygon3D 等の3Dポリゴン描画関数で DX_BLENDMODE_INVSRC 等の一部のブレンドモードが正常に機能していなかったバグを修正。

 Direct3D 11 が使用できる環境では SetUseASyncChangeWindowModeFunction で ALT+Enter によるフルスクリーンモード←→ウインドウモードの変更が有効になっていなくても ALT+Enter を押すとウインドウモードが切り替わってしまっていたバグを修正。

 Direct3D 11 が使用できる環境で ChangeWindowMode や SetGraphMode を使用すると、その後の描画処理が正常に行われなくなることがあるバグを修正。

 Direct3D 11 が使用できる環境では SetBackgroundColor で設定した色が ClearDrawScreen を使用するまで適用されなかったバグを修正。

 Direct3D 11 が使用できる環境では SetTransColor で指定した色の内、Red と Blue が逆に扱われてしまっていたバグを修正。

 画像ファイルの解像度を取得するための関数 GetImageSize_File と GetImageSize_Mem を追加。

 GetIMEInputData で取得できる文節情報の文節の長さがマルチバイト文字セット版では必ず 0 になってしまうバグを修正。

 GetIMEInputData で取得できる選択されている文節の番号がマルチバイト文字セット版では不正な値になっていたバグを修正。

 MakeKeyInput の引数 SingleCharOnlyFlag と DoubleCharOnlyFlag が正しく機能していなかったバグを修正。

 KeyInputString や MakeKeyInput の最大文字数の指定が、マルチバイト文字列版でも全角文字が1文字として処理されてしまっていたバグを修正。( 正しくはマルチバイト文字列版では全角文字は2文字扱い )

 環境によっては中身を塗りつぶす DrawCircle で描かれる円の座標が1ピクセルずれてしまう不具合を修正。

 DrawCircle で大きさの異なる円を複数描画するとメモリリークが発生することがあるバグを修正。

(2015/5/10)
3.14a  正式公開のためにバージョン番号を変更。

3.14  GetConstIndexToShader に正しいパラメータを渡しても必ず失敗してしまうバグを修正。

 DrawRectModiGraph と DrawRectModiGraphF を追加。

 回転した文字列を描画するための関数 DrawRotaString 等を追加。

 MV1SetRotationXYZ などの回転角度設定関係の関数に、回転角度(単位:ラジアン)としておよそ 400.0f 以上や -400.0f 以下の値を渡すと正しく回転が行われないバグを修正。

 DxLib_Init 関数を呼び出す前にログを出力する関数を呼んでも何もログが出力されなかった仕様を変更して、DxLib_Init 関数を呼び出す前でもログが出力されるように処理を変更。

 Direct3D 11 に対応している実行環境で、フルスクリーンモードで実行した際に起動直後にメモリの不正なアクセスが発生してしまうことがあるバグを修正。

(2015/4/25)
3.13f  正式公開のためにバージョン番号を変更。

3.13e  Direct3D 11 Feature Level 11.0 以上が使用できる環境ではDirect3D 11 を使用するように仕様を変更。( Direct3D 9用のオリジナルシェーダーを使用している方は DxLib_Init 呼び出しの前に SetUseDirect3DVersion( DX_DIRECT3D_9EX ) ; という記述を増やして、Direct3D 9Ex を使用するようにしてください )

 フルスクリーンモードで起動中に別のソフトにフォーカスが移って一度デスクトップ画面に戻った後、フォーカスが戻って再びフルスクリーンモードになると DrawPolygon3D などで描画する3Dポリゴンで半透明描画ができなくなるバグを修正。

 GetColor や DrawPixel などで使用するカラー値の型を int から unsigned int に変更。

 Ogvファイルを LoadGraph で読み込み、SeekMovieToGraph で再生位置を変更しようとしても正常に動作しないバグを修正。

 Direct3D11 を使用するかどうかを設定する関数 SetUseDirect3D11 を追加。

 Direct3D 11 で使用する最低機能レベルを設定するための関数 SetUseDirect3D11MinFeatureLevel を追加。

 DXライブラリの出力を行うディスプレイデバイスを設定する為の関数 SetUseDisplayIndex を追加。

 使用する Direct3D のバージョンを指定するための関数 SetUseDirect3DVersion を追加。

 使用している Direct3D のバージョンを取得するための関数 GetUseDirect3DVersion を追加。

 ウインドウの最大化と最小化を繰り返していると、最大化時のウインドウの位置が最大化の度に右にずれていくバグを修正。

 GetRefreshRate 関数を DxLib_Init の前でも使用できるように処理を変更。

 関数 SetFullScreenResolutionMode でフルスクリーン解像度モードを DX_FSRESOLUTIONMODE_DESKTOP にした状態で関数 ChangeWindowMode でウインドウモードからフルスクリーンモードに切り替えようとするとメモリの不正なアクセスが発生してしまうバグを修正。

 シェーダーコードの圧縮データがウイルスチェックソフトにウイルスと誤判定されることがあったので、文字データ配列に変更。( それに伴いデータサイズが 14.285% 増加… )

 RGBA 各チャンネルが浮動小数点型のソフトウエアイメージハンドルを作成するための関数 MakeARGBF16ColorSoftImage, MakeARGBF32ColorSoftImage を追加。

 ソフトウエアイメージからピクセルの値を浮動小数点型で取得するための関数 GetPixelSoftImageF と、ピクセルの値を浮動小数点型で書き込む DrawPixelSoftImageF を追加。

 PMXファイルのボーンの設定が不正だった場合に無限ループが発生して関数 MV1LoadModel から処理が戻ってこなくなる不具合を修正。

 "JUNK"チャンクの存在する wavファイルが読み込みに失敗するバグを修正。

 DXライブラリ内部で使用する文字列型を wchar_t に統一。

 DXライブラリ内部での文字コード形式の扱いが曖昧だったので整理。

 GetMyIPAddress に IpBuf の長さを指定する引数と、取得したIPアドレスの数を取得するための int型変数へのアドレスを渡すための引数を追加。

 フルスクリーンモードで SetUseASyncLoadFlag( TRUE ) ; を使用して画像や3Dモデルを非同期読み込み中にソフトが非アクティブになりデスクトップ画面に戻るとメモリの不正なアクセスが発生してしまうバグを修正。

 UTF-16LE のサロゲートペアの文字の描画に対応。( 但しサロゲートペアの文字の表示にはフォントが対応している必要があります )

 DXフォントデータファイルを作成するためのソフト CreateDXFontData.exe を追加。

 DXフォントデータファイルを読み込んでフォントハンドルを取得するための関数 LoadFontDataToHandle を追加。

 メモリに読み込んだDXフォントデータファイルからフォントハンドルを取得するための関数 LoadFontDataFromMemToHandle を追加。

 イタリック体のフォントを使用していると、描画した文字の端にごみが描画されることがあるバグを修正。

 DrawGraphF 等の座標を浮動小数点値で指定する関数で、テクスチャをドットbyドットで表示するためには座標を -0.5f ずらさなければならないかを判断するための関数 GetDrawFloatCoordType を追加。( ラスタライズルールの変更で Direct3D 10 以降は -0.5f ずらず必要が無くなったため )

 乗算ブレンドなど、アルファ値が 0 でも描画が行われるブレンドモードにも関わらず、アルファ値が 0 のピクセルの描画が行われていなかったバグを修正。

 MV1CollCheck_Triangle などの関数で、3Dモデル中のポリゴンと一つも当たっていなくても戻り値の MV1_COLL_RESULT_POLY_DIM 構造体のメンバー変数 Dim に NULL 以外の値が入ることがあったので、ポリゴンと一つも当たっていない場合は必ず Dim に NULL が代入されるように処理を変更。

 DXアーカイブファイル内の3Dモデルファイルを読み込むと DxLib_End を実行するまで3Dモデルファイルが入っているDXアーカイブファイルの解放が行われないことがあるバグを修正。

 非同期読み込み中に各種ハンドルを削除するとメモリの不正なアクセスが発生することがあるバグを修正。

 24bitカラー画像以外のフォーマットの画像ファイルを CreateMaskFromMem で読み込むとメモリリークが発生するバグを修正。

 Direct3D11 を使用している状態で R5G6B5フォーマットの「描画対象にできる画像」を MakeScreen関数で作成し、SetDrawScreen関数で描画対象にした状態で SaveDrawScreen 関数を使用して描画状態を保存するとピクセルの色が正しくない画像ファイルが作成されるバグを修正。

 画面より小さいサイズの「描画対象にできる画像」を MakeScreen関数で作成して、SetDrawScreen関数で描画対象にした状態で CreateMaskScreen関数を使用するとメモリの不正なアクセスエラーが発生してしまうバグを修正。

 64bit版で DXAファイル内の PMXファイル又は PMDファイルを読み込むとメモリの不正なアクセスが発生するバグを修正。

 64bit版では GetPcInfo で CPUString と CPUSpeed に有効な値が代入されない仕様を変更して、有効な値が代入されるように処理を変更。

(2015/1/2)
3.13d  正式公開のためにバージョン番号を変更。

3.13c  マスク機能を有効にした状態では DrawRectGraph が正常に動作しないバグを修正。

 アルファ値+輝度値の形式のpngファイルが正常に読み込めなかったバグを修正。

 メインウインドウのZオーダーを変更する為の関数 SetWindowZOrder を追加。

 ウインドウが最大化されているかどうかを取得する為の関数 GetWindowMaxSizeFlag を追加。

 ウインドウを最大化した場合はウインドウをデスクトップの中心に配置するように処理を変更。

 3D関係の関数に渡す座標値が大きくなった場合に3D描画の結果が歪んでしまう現象を抑える処理を行うかを設定する関数 SetUseLarge3DPositionSupport を追加。

 VECTOR を引数に取る関数の一部に VECTOR_D を引数に取る関数名の末尾に D が付いた関数の追加。

 Direct3D9 に対応していないグラフィックスデバイスでは何も描画されない状態になってしまっていたバグを修正。

 最大化ボタンを有効にしてウインドウを最大サイズにした場合 GetMousePoint で取得できるマウスカーソルの座標が正しくなかったバグを修正。

 1ピクセル4バイト形式の jpeg 画像に対応。

 3Dモデルを半透明描画した場合は初期状態で不透明のメッシュを先に描画するように処理を変更。

 構成する頂点の数が32個より多い面が存在するxファイルを読み込もうとすると、メモリの不正なアクセスが発生していたバグを修正。

 DrawBillboard3D、DrawPixel3D、DrawLine3D、DrawTriangle3Dも SetTransformToWorld で設定するローカル→ワールド行列の影響を受けるように仕様を変更。

 シェーダーに対応している環境では DrawCone3D や DrawSphere3D などの3D図形描画関数でスペキュラ効果が無い状態になっていたバグを修正。

 DxLibModelViewer.exe でファイル名に全角文字が含まれる FBX ファイルが読み込むことができなかったバグを修正。

 FBX ファイルに含まれるマテリアル名やフレーム名の全角文字部分が文字化けするバグを修正。

 SetUseDirectDrawDeviceIndex を使用してプライマリモニター以外を出力先にしていた場合、GetMousePoint で正常な座標が取得できなかったバグを修正。

 SetFullScreenResolutionMode でフルスクリーンモードでのスケーリングモードを DX_FSRESOLUTIONMODE_DESKTOP や DX_FSRESOLUTIONMODE_MAXIMUM にしているか、若しくは指定の解像度にモニターが対応していなかった場合、GetMousePoint で取得できるマウスカーソル座標が正常ではなかったバグを修正。

 偶にデバッグ起動時に長時間PCの動作が止まる等の現象が発生するため、デフォルトでは XAudio2 を使用せずに DirectSound を使用するように処理を変更。( XAudio2 を使用する場合は DxLib_Init の呼び出し前に SetEnableXAudioFlag( TRUE ) ; を実行する )

 3Dモデルのアニメーションデータ中の指定の時間でのアニメーションキー番号を取得するための関数 MV1GetAnimKeyDataIndexFromTime を追加。

 ポリゴンのカリング設定を取得する為の関数 GetUseBackCulling を追加。

 フォグの設定を取得するための関数 GetFogEnable 等を追加。

 画面上におけるカメラが見ている映像の中心の座標の設定を取得する為の関数 GetCameraScreenCenter を追加。

 GraphBlend 関数で DX_GRAPH_BLEND_RGBA_SELECT_MIX を使用するとメモリの不正なアクセスエラーが発生してしまうバグを修正。

 MinGW版に Ver4.9.2 64bitを追加。

(2014/11/29)
3.13b  正式公開のためにバージョン番号を変更。

3.13a  ScreenFlip の出力先ウインドウを指定するための関数SetScreenFlipTargetWindow を追加。

 グラフィックスデバイスやディスプレイが対応していない解像度でのフルスクリーンモードで環境によっては画面に何も表示されないバグを修正。

 FBXファイルのテクスチャUVスケーリング情報に対応。

 動画の再生速度を変更するための関数 SetPlaySpeedRateMovieToGraph を追加。( ogv形式と、その他一部のフォーマットのみ有効 )

 GetDefaultState で起動時の画面リフレッシュレートも取得できるように引数を追加。

 フルスクリーンモードで指定の画面モードにデバイスが対応していない場合に行うサブ画面のスケーリング結果が 0.5 ピクセル程度ずれてしまっていた不具合を修正。

 内部形式によっては png ファイルが正常に読み込めないバグを修正。

 LoadGraph などのファイル読み込み関数に渡すパスの長さがヌル文字を含めて256文字以上になるとメモリの不正なアクセスが発生してしまうバグを修正。

 入力されたシステム文字を取得するための関数 GetInputSystemChar を追加。

 角の丸い四角形を描画する関数 DrawRoundRect を追加。

 Zバッファに図形を描画する関数 DrawTriangleToZBuffer、DrawQuadrangleToZBuffer、DrawRoundRectToZBuffer を追加。

 「無変換」キーや「変換」キーなど、Win32API で取得できる一部のキーの押下状態が CheckHitKey では取得できなかったバグを修正。

 次に読み込む3Dモデルを「一度に複数描画する処理」に対応させるかどうかを設定する関数 MV1SetLoadModelUsePackDraw を追加。

 不具合が発生したため、使用する libjpeg.lib のバージョンを 9a から 9 に変更。

(2014/10/12)

3.13  正式公開のためにバージョン番号を変更。

3.12f  KeyInputString などの文字列入力でIME使用時の「変換」キーによる文字列の再変換に対応。

 非同期読み込み設定( SetUseASyncLoadFlag( TRUE ) ; )の状態で MakeGraph や MakeScreen を実行して非同期作成中となっているグラフィックハンドルを SetDrawScreen の引数として渡すと不正なメモリアクセスが発生するバグを修正。

 MV1ファイルに接線と従法線を保存していなかったので、接線と従法線の保存処理及び読み込み処理を追加。

 LoadPuaseGraph が正常に機能していなかったバグを修正。

 StopJoypadVibration を呼ぶとエラー終了するバグを修正。

 MV1LoadModel の前に MV1SetLoadModelUsePhysicsMode に DX_LOADMODEL_PHYSICS_LOADCALC を渡して読み込み時に物理演算を行う設定にしていた場合、正常に物理演算が行われないバグを修正。

 使用する zlib のバージョンを 1.2.8 に更新。

 使用する libpng のバージョンを 1.6.12 に更新。

 使用する libjpeg のバージョンを 9a に更新。

 DxCompileConfig.h の DX_NON_HANDLE_ERROR_CHECK の定義を有効にすると DxLib_Init でエラーが発生するバグを修正。

 libpng のバージョンアップに伴い、DxUseCLib.cpp を pngpriv.h をインクルードしなくてもコンパイルできるようにプログラムを変更。

 グラフィックスデバイスによっては CreateMaskScreen などのマスク機能を使用するとエラー終了してしまうバグを修正。

 WindowsのバージョンチェックにWindows8.1とWindows10を追加。

(2014/8/30)

3.12e  正式版公開のためにバージョン番号を更新。

3.12d  アルファチャンネルのある画像を DrawBlendGraph を使用してブレンド画像と合成して描画すると、正常な描画結果が得られないバグを修正。

 テクスチャ座標の記述が誤っている xファイルも読み込めるようにプログラムを変更。

 StartJoypadVibration と StopJoypadVibration に操作対象の振動モーターを指定するための引数 EffectIndex を追加。

 GraphFilter や GraphBlend などのフィルター系の関数が正常に動作しなくなっていたバグを修正。

 球とカプセルの当たり判定を行う関数 HitCheck_Sphere_Capsule を追加。

 DxLibModelViewer.exe の3Dモデル全体情報として表示する最小頂点座標と最大頂点座標の値が誤っていたのを修正。

 名前の無いオブジェクトを持つ xファイルが正常に読み込めないことがあるバグを修正。

 DxLibModelViewer.exe で使用する FBX SDK のバージョンを 2015.1 に変更。

 FBXファイルに従法線と接線の情報が含まれている場合は、その情報を読み込むように処理を追加。

 SetGraphMode でモニターの最大解像度より大きな解像度を指定できないようにしていた制限を解除。

 MV1LoadModel を非同期読み込みと同期読み込みを同時に実行するとメモリリークが発生してしまうバグを修正。

(2014/8/10)

3.12c  正式版公開のためにバージョン番号を更新。

3.12b  頂点カラーのある xファイルを読み込んだ際に処理の構造上、異常に読み込みに時間が掛かることがある現象を解消。

 DxLibModelViewer.exe に複数の3Dモデルを読み込む機能を追加。

 PixelShader でNo.8 ~ No.15の8つのサンプラが使用できないバグを修正。

 Tiff画像の読み込みに対応。

 3Dモデルファイルのフレーム( ボーン )に設定した拡大率が反映されないバグを修正。

 フルスクリーンモードで SetAlwaysRunFlag( TRUE ) ;を実行して常に動作する設定になっている状態で3Dモデルを描画すると ALT + TAB 等でタスクスイッチが発生した際にメモリの不正なアクセスが発生するバグを修正。

 関数 SetKeyInputStringColor に代わる色設定用関数 SetKeyInputStringColor2 と ResetKeyInputStringColor2 を追加。

 メモリ上の画像ファイルイメージからマスクハンドルを作成する CreateMaskFromMem と CreateDivMaskFromMem を追加。

 GraphBlend のブレンドタイプに DX_GRAPH_BLEND_PMA_MULTIPLE_A_ONLY を追加。

 SetBlendGraphParam を使用して画像をブレンドする設定にして、且つ SetDrawBlendMode で DX_BLENDMODE_PMA_ALPHA などの乗算済みαタイプのブレンドモードを使用した場合に計算的に正しい描画結果が得られなかったバグを修正。

 同じ名前のマテリアルとメッシュがある( 例:「壁」という名前のマテリアルと、「壁」という名前のメッシュがある、等 ) xファイルの読み込みに失敗することがあるバグを修正。

 動画再生の際にYUVフォーマットのサーフェスが使用できる場合に使用するかどうかを設定するための関数 SetMovieUseYUVFormatSurfaceFlag を追加。

 SetDrawValidMultiSample と同じ効果の別名関数 SetCreateDrawValidGraphMultiSample を追加。

 LoadGraph 等で追加でファイルパスの末尾に _a を加えたアルファチャンネル用の画像ファイルを読み込む処理を行うかどうかを設定するための関数 SetUseAlphaImageLoadFlag を追加。

 SetDrawArea で描画範囲を描画先全体にしていない状態で SetDrawScreen を呼び出した後、SetDrawArea を一度も呼ばずに3Dの描画処理を行うとカメラの設定が正しくない状態での描画になってしまうバグを修正。

 縁付きのフォントを使用し続けていると文字の端に線が描画されるようになるバグを修正。

 ファイルパスのフォルダの区切りに / が使用されていると gif ファイルの読み込みに失敗するバグを修正。

 フルスクリーンモードのモニター解像度の決定に関する設定をする為の関数 SetFullScreenResolutionMode と、フルスクリーンモードでモニターの解像度とソフトの画面の解像度が異なる場合に行う拡大処理のタイプを設定する為の関数 SetFullScreenScalingMode を追加。

 xファイルの行列リストによるアニメーションのデータの場合行列にスケーリング要素が含まれていると正しくアニメーションが再生できないバグを修正。

 namespace DxLib を使用するかどうかを選択する為のコンパイル用定義 DX_USE_NAMESPACE を DxCompileConfig.h に追加。( 設定を変更してコンパイルする場合は DxLib.lib, DxDrawFunc.lib, DxUseCLib.lib などすべてコンパイルする必要があります )

(2014/5/30)

3.12a  正式版公開のためにバージョン番号を更新。

3.12  LoadDivGraph や DerivationGraph で作成した画像の一部のグラフィックハンドルを使用して DrawCircleGauge を実行すると分割・派生した画像の周りの部分も描画されてしまうバグを修正。

 同時に使用できるシャドウマップの数を2つから3つに変更。

 文字列入力機能でShiftキーなどによる範囲選択の表示が正常に行われないことがあるバグを修正。

 MV1LoadModel が呼ばれるまで3Dモデル用の圧縮シェーダーコードを解凍しないように処理を変更。

 関数 TriangleBarycenter が void 型なのに値を返そうとして書式エラーが発生してしまっているバグを修正。

 メインウインドウが最小化しているかどうかを取得するための関数 GetWindowMinSizeFlag を追加。

 複数のアニメーションを MV1SetAttachAnimBlendRate を使用してブレンドした場合に3Dモデルが縮んでしまうことがあるバグを修正。

 頂点シェーダーとピクセルシェーダーの対応バージョンが異なる場合に3Dモデルの描画が正常に行われないバグを修正。

 ChangeWindowMode でフルスクリーンモードを変更した場合に printfDx の結果が画面に表示されなくなることがあるバグを修正。

 Direct3D9 Debug Runtime を使用して実行すると発生が確認できる Direct3D9エラーを修正。

 SetDrawScreen で描画先に指定している画面・画像よりも大きな画像に対して GraphFilter を使用すると正常に動作しないバグを修正。

 3Dモデル読み込みの際に3Dモデルファイルに含まれるスケーリングの情報を無視するかどうかを設定する為の関数MV1SetLoadModelIgnoreScaling を追加。

 DxLibModelViewer.exe に3Dモデル読み込みの際に3Dモデルファイルに含まれるスケーリングの情報を無視するかどうかの設定項目を追加。

 フォグの開始距離か終了距離を跨るポリゴンに対するフォグ処理が正常に行われなかったバグを修正。

 関数 SetDrawUseShadowMap の名称を SetUseShadowMap に変更。

 関数 Set3DSoundListenerPosAndFrontPos の名称を Set3DSoundListenerPosAndFrontPosAndUpVec に変更。

 フォントのキャッシュに使用するテクスチャのサイズを画面サイズに応じて大きくなるように変更。

 SetDrawArea で面積0の描画範囲が指定された状態でDrawObtainsString_CharClip を使用するとフリーズしてしまうバグを修正。

 関数リファレンスにシャドウマップ関係の関数と、3Dサウンド関係の関数を追加。

(2014/4/19)

3.11f  正式版公開のためにバージョン番号を更新。

3.11e  Ver3.11cで不具合に対応するための使用メモリ使用量増加のため標準で使用する Direct3D を Direct3D9 に戻していたのを、メモリ使用量を増やさずに不具合に対応することができたため、再度標準で使用する Direct3D を Direct3D9Ex に変更。

 Ogg Theora 形式の動画ファイルで、サウンドデータが動画データよりも短い場合に DX_PLAYTYPE_LOOP で再生すると、サウンドデータの終端に来た時点でフリーズしてしまうバグを修正。

 フォントの描画処理でメモリの不正なアクセスが発生することがあるバグを修正。

 Unicode版で GetJoypadName が正常に動作しないバグを修正。

 接続されているジョイパッドが XInput に対応しているかどうかを取得するための関数 CheckJoypadXInput を追加。

 Shader Model 2.0 が使用できない環境で、無効なグラフィックハンドルを関数 GraphFilter に渡すとメモリの不正なアクセスが発生してしまうバグを修正。

 DxModelViewer.exe に法線の情報が不正な FBX ファイルを読み込むと不正なメモリアクセスが発生してしまうバグを修正。

 DrawStringToHandle などのフォントハンドルを使用する関数で、フォントハンドルとして DX_DEFAULT_FONT_HANDLE を渡すとDrawString 等で使用されるデフォルトフォントを指定したことになる仕様を追加。

 SetDefaultFontState と GetFontStatToHandle の引数に CreateFontToHandle にある引数を追加。

 画面モード変更時にフォント名、フォントサイズ、フォントの太さ以外の設定がリセットされていたバグを修正。

 フォグを有効にした場合に、SetFogStartEnd の範囲外の部分が正しく描画されないバグを修正。

 描画先の画像をソフトイメージの指定の箇所に転送するための関数 GetDrawScreenSoftImageDestPos を追加。

 UpdateLayerdWindow系の関数で透過ウインドウ処理を実行する場合に SetUseBackBufferTransColorFlag の代わりに使用できる関数 SetUseUpdateLayerdWindowFlag を追加。( UpdateLayerdWindow系を使用する場合は SetUseBackBufferTransColorFlag を使用して透過ウインドウ処理をした場合より負荷が若干軽くなります )

 Xファイル内に同名のオブジェクトが複数合った場合に { } による関連付けが正しく行われないことがあるバグを修正。

 DxModelViewer.exe で、追加で読み込んだアニメーションのフレーム毎の情報が正しく表示されていなかったバグを修正。

 Unicode版の KeyInputString などの文字列入力で文字の範囲選択+削除を行うと、正常に処理されなかったバグを修正。

 SetDrawScreen( DX_SCREEN_FRONT ) ; を実行して表画面を描画対象にしたあと描画処理を行い、その後すぐに別の画面を描画対象にすると表画面に描画したはずのものが表示されないことがあるバグを修正。

 gcc でコンパイルした際に警告が出ないようにヘッダファイルの記述を変更。

 DxLib_Init の前に SetUseDirectInputFlag( TRUE ) ; を記述して DirectInput を明示的に使用する設定にした場合は、GetMouseWheelRotVol で取得できるマウスホイールの回転量も DirectInput を使用して取得するように処理を変更。

 メモリ上に展開したDXアーカイブファイルを指定のファイルパス上に存在していると見立てて使うための関数 DXArchiveSetMemImage と DXArchiveReleaseMemImage を追加。

 DrawString などの文字列描画関数に座標を float 型で渡す関数 DrawStringF などを追加。

 描画対象にできるグラフィックハンドルではない通常のグラフィックハンドルに対して FillGraph による画像全体塗りつぶしが動作していなかったバグを修正。

 物理演算の扱いを関数 MV1SetLoadModelUsePhysicsMode に DX_LOADMODEL_PHYSICS_DISABLE を渡して無効にしていても物理演算情報が含まれる mv1 ファイルを読み込むと物理演算が行われてしまっていたバグを修正。

 PMD, PMXモデルのスフィアマップが乗算設定になっていた場合はスフィアマップのアルファ成分を不透明度として使用するように処理を変更。

 LoadDivGraph や DerivationGraph で作成した画像の一部のグラフィックハンドルを使用して DrawCircleGauge を実行すると正常な描画結果が得られないバグを修正。

 3Dモデルファイル読み込み失敗時に誤ったファイルパスがログに出力されてしまうバグを修正。

 KeyInputString などの文字列入力関数を呼ぶと、3D描画の射影方式が「射影行列直接指定」になってしまっていたバグを修正。

 3Dモデル中の半透明の部分のみ、又は半透明以外の部分のみを描画する設定をする為の関数 MV1SetSemiTransDrawMode を追加。

 Xbox360コントローラの入力取得に XInput を使用するかどうかを設定するための関数 SetUseXInputFlag を追加。

 シャドウマップへの3Dモデルの描画でもテクスチャのα値を考慮するように処理を変更。

 3Dモデルの全てのマテリアルのパラメータを一度に変更する為の関数 MV1SetMaterialTypeAll 等を追加。

(2014/2/1)

3.11d  正式版公開のためにバージョン番号を更新。

3.11c  Direct3D9Ex用のプログラムにバグがあり、その修正をした上で Direct3D9Ex を使用する場合使用メモリが大幅に増えることになってしまったため、デフォルトでは Direct3D9 を使用するように仕様を変更。( Direct3D9Ex の方が描画・表示のレイテンシが低いのでメモリよりもレスポンスを重視する場合は関数 SetUseDirect3D9Ex を DxLib_Init の呼び出し前に使用して Direct3D9Ex を使用する設定にしてください )

 DrawString で描画する文字が化けることがあるバグを修正。( 上記のバグが原因 )

 ogvファイルの再生で映像と音がずれることがあるバグを修正。

 PMD,PMX ファイル以外の3Dモデルファイルを読み込んだ際に MV1SetMaterialType と MV1SetMaterialOutLineWidth、MV1SetMaterialOutLineDotWidth を使用して輪郭線を描画する設定にしても輪郭線が描画されないバグを修正。

 RefreshDxLibDirect3DSetting を使用しても一部の設定が再設定されていなかったバグを修正。

 頂点単位のライティングでも ShaderModel 3.0 が使用できる場合は ShaderModel 3.0 を使用するように処理を変更したため、関数 SetUseGPUShaderModel3 を SetUsePixelLighting に改名。

 MakeShadowMap などのシャドウマップ関係の関数を追加。( リファレンスには後日追加する予定です )

 指定のフォントが存在するかどうかをチェックするための関数 CheckFontName を追加。

 メッシュが存在するフレームが複数ある場合に MV1GetTriangleListUseBoneFrame が正常な値を返さないバグを修正。

 3Dサウンドのリバーブエフェクトパラメータを変更するための関数 Set3DReverbParamSoundMem や Set3DPresetReverbParamSoundMem などを追加。( 要 XAudio2 )

 GetJoypadXInputState のボタン指定に使用する #define 定義( XINPUT_BUTTON_A, XINPUT_BUTTON_B, XINPUT_BUTTON_X,XINPUT_BUTTON_Y )の値が2づつずれていたのを修正。

 3Dモデルに含まれるシェイプを扱うための関数 MV1GetShapeNum などを追加。

 最大化ボタンによるデスクトップ上でのウインドウの最大化に対応。

 DxModelViewer.exe にシェイプ( モーフ )の状態を変更して確認できる機能を追加。

 MakeScreen で作成した「アルファチャンネル付きの描画対象にできる画像」に対して乗算済みアルファ設定でモデルを描画する為の関数 MV1SetUseDrawMulAlphaColor を追加。

 LoadGraph で開く動画ファイルのピクセルフォーマットが ARGB 32bit 形式かどうかを指定するための関数 SetMovieColorARGB32Flag を追加。

 3Dモデルをスケーリングしながら複数のアニメーションを MV1SetAttachAnim と MV1SetAttachAnimBlendRate で合成した場合、スケーリングが無効になってしまうバグを修正。

 SetGraphicsDeviceRestoreCallbackFunction などで登録できる『グラフィックスデバイスがロストしたタイミング( 画面切り替えなど )で呼び出されるコールバック関数』の中で InitGraph や DeleteGraph でグラフィックスハンドルを削除すると、そのコールバック関数が実行された後に不正な処理が発生することがあるバグを修正。

 mv1形式で保存した3Dモデルを読み込むと、ワールド座標が原点から離れるほどスキニング部分の頂点座標がずれるバグを修正。

 線分と立方体の当たり判定をする為の関数 HitCheck_Line_Cube を追加。

 テクスチャへの画像転送用に確保する一時メモリを一定時間経過したら解放するように処理を変更。( Direct3D9Ex用プログラムの処理 )

(2013/12/8)

3.11b  正式版公開のためにバージョン番号を更新。

3.11a  DrawPolygon2D等の構造体 VERTEX2D を引数に取る関数の描画関数が正常に動作しなかったバグを修正。

 ファイルをまるごとメモリに読み込むための FileRead_fullyLoad系の関数を追加。

 3Dモデルのフレームの名前を、文字列バッファにコピーする関数 MV1GetFrameName2 を追加。

 直交しているカプセル同士で HitCheck_Capsule_Capsule を使用して当たり判定を行うと、正常な結果が得られないバグを修正。

 サウンドのチャンネル毎の音量を設定するための関数 SetChannelVolumeSoundMem, ChangeChannelVolumeSoundMem などを追加。

 文字列を文字単位で描画可能範囲に収めて描画するための関数 DrawObtainsString_CharClip を追加。

 関数 DrawCircle, DrawOval の高速化。

 関数 DrawCircle, DrawOval に線の太さを指定する引数を追加。

 SetDrawValidFloatTypeGraphCreateFlag( TRUE ) ; と MakeScreen を使用して作成した浮動小数点型の描画対象にできる画像を SetDrawScreen で描画対象にした状態で SaveDrawScreen や GetDrawScreenSoftImage などの描画対象の画像を取得する関数を使用すると不正なメモリアクセスが発生していたバグを修正。

 同時に適用できるライトの数を3つから6つに変更。( Shader Model 3.0 が使用できる環境のみ )

 DXアーカイブファイルの中の画像ファイルを読み込むとメモリリーク( メモリの解放忘れ )が発生していたバグを修正。

 非同期読み込み中に別のプロセスをアクティブにして、再度DXライブラリを使用しているプロセスをアクティブにした場合に非同期読み込みが終了するまでDXライブラリを使用しているプロセスの処理が止まっていた仕様を止まらないように変更。

 InitGraph を実行した際に画像データを VRAM に転送する為に作成して溜めておいたシステムメモリ上のテクスチャを解放するように処理を変更。

 デバイスロスト時に自動的にグラフィックハンドルを削除するかどうかを設定するための関数 SetDeviceLostDeleteGraphFlag を追加。

 ogv形式以外の動画ファイルを SetUseASyncLoadFlag( TRUE ) ; を実行して非同期読み込みモードにした上で LoadGraph で読み込もうとすると失敗するバグを修正。

 SetKeyInputStringColor にIME使用時の入力中の文字列の色と文字列の縁の色を指定するための引数を追加。

 jpegファイルと pngファイルの読み込み処理を専用のライブラリに渡す前に先頭数バイトを使用して簡易的なファイル形式チェックを行う処理を追加。

 ポインタが示すデータを変更しない関数の引数について const の記述を追加。

 既存の Segment_Segment_MinLength などの関数より得られる情報が多い当たり判定系関数 Segment_Segment_Analyse などを追加。

 GetGlyphOutline に対応していないフォントも使用できるように処理を追加。

 シェーダーモデル3.0が使用できる環境ではシェーダーモデル3.0を優先的に使用するかどうかを設定するための関数 SetUseGPUShaderModel3 を追加。

 サウンドの方が尺が短い ogv ファイルを再生するとサウンドが最後まで再生したタイミングで無限ループが発生してしまうバグを修正。

 ogvファイル再生時のフレームレートをサウンドの再生時間から割り出すように処理を変更。

 関数 CreateGraph を使用するとメモリの不正なアクセスが発生するバグを修正。

 再生が終了したらサウンドハンドルを自動的に削除するかどうかを設定するための関数 SetPlayFinishDeleteSoundMem を追加。

 次に再生する3Dサウンドの位置を設定するための関数 SetNextPlay3DPositionSoundMem を追加。

 次に再生する3Dサウンドの聞こえる距離を設定するための関数 SetNextPlay3DRadiusSoundMem を追加。

 次に再生する3Dサウンドの移動速度を設定するための関数 SetNextPlay3DVelocitySoundMem を追加。

 DirectSound を使用した3Dサウンドが正常に動作しないことがあるバグを修正。

 XAudio2 を使用する場合のみ ChangeVolumeSoundMem と SetVolumeSoundMem で100%以上の音量に設定できるように処理を変更。

 3Dモデルと三角形との当たり判定を行うための関数 MV1CollCheck_Triangle を追加。

 ogv形式の動画ファイルを再生する際に表示する必要の無い部分まで表示してしまっていたバグを修正。

(2013/9/1)

3.11  正式公開のためにバージョン番号を更新。

3.10f  2GB以上のサイズのDXAファイルに対応。

 FileRead_size、FileRead_tell の戻り値の型を LONGLONG に変更。

 FileRead_seek の引数 Offset の型を LONGLONG に変更。

 キューブマップテクスチャを作成するかどうかを設定する為の関数 SetCubeMapTextureCreateFlag を追加。

 関数 SetRenderTargetToShader にキューブマップのどの面を描画対象にするかを指定するための引数 SurfaceIndex を追加。

 キューブマップテクスチャの dds ファイルの読み込みに対応。

 DxLib_Init の呼び出し前に SetMainWindowText に "" を渡すとウインドウタイトルが "" になるように処理を変更。

 CreateIndexBuffer で指定できる頂点インデックスタイプに 32bit用の DX_INDEX_TYPE_32BIT を追加。

 グラフィックスデバイスが対応している一度に描画できる最大プリミティブ数を取得するための関数 GetMaxPrimitiveCount を追加。

 グラフィックスデバイスが対応している一度に使える最大頂点数を取得するための関数 GetMaxVertexIndex を追加。

 ChangeFont で指定の文字セットが無い場合はデフォルト文字セットでフォントを作成するように処理を変更。

 SetDrawAlphaTest の設定は3Dモデル描画では使用しないように処理を変更。代わりに3Dモデル用に指定のマテリアルを描画する際に使用するアルファテストの設定を行うための関数 MV1SetMaterialDrawAlphaTest を追加。

 MakeScreen や MakeGraph で作成した画像を初期化時に誤って真っ白に塗りつぶしていたバグを真っ黒に塗りつぶすように修正。

 MakeScreen で作成したグラフィックハンドルを SetDrawScreen に渡して描画対象にしている状態で GetDrawScreen や GetDrawScreenSoftImage などの描画対象の画面から画像情報を取得する関数を使用すると不正なメモリアクセスが発生してしまうバグを修正。

 DrawPolygon2DToShader などの オリジナルシェーダーを使用した描画でのデフォルトの動作『描画アルファ値が 8 以下のピクセルを描画しない』を『描画アルファ値が 0 のピクセルのみ描画しない』に変更。

 画面のZバッファのビット深度を設定するための関数 SetZBufferBitDepth を追加。

 作成する「描画対象にできるグラフィックハンドル」のZバッファのビット深度を設定するための関数 SetCreateDrawValidGraphZBufferBitDepth を追加。

 SetUseIMEFlag( TRUE ) ; の呼び出しを行わない状態で KeyInputString や MakeKeyInput などの文字列入力関数を使用すると全角文字入力をしている際に入力中の文字が表示されないバグを修正。

 タイトルバーで右クリックした際に、処理は停止するのに音の再生は停止しない不具合を修正。

 基本イメージデータ( 構造体BASEIMAGE )の画像を乗算済みαチャンネル付き画像に変換する為の関数 ConvertPremulAlphaBaseImage を追加。

 基本イメージデータ( 構造体BASEIMAGE )の画像を乗算済みαチャンネル付き画像から通常の画像に変換する為の関数 ConvertInterpAlphaBaseImage を追加。

 画像読み込み時にαチャンネル付きの画像を乗算済みαチャンネル付き画像に変換するかどうかを設定する為の関数 SetUsePremulAlphaConvertLoad を追加。

 乗算済みαチャンネル付き画像用の描画ブレンドモード DX_BLENDMODE_PMA_ALPHA, DX_BLENDMODE_PMA_ADD, DX_BLENDMODE_PMA_SUB, DX_BLENDMODE_PMA_INVSRC, DX_BLENDMODE_PMA_ALPHA_X4, DX_BLENDMODE_PMA_ADD_X4 を追加。

 乗算済みαチャンネル用のフォントハンドルを作成するかどうかを設定する関数 SetFontCacheUsePremulAlphaFlag を追加。

 Windows8 で IME を使用した文字列入力で変換候補表示が正常に行われないことがあるバグを修正。

 GraphFilter のフィルターモードに乗算済みαチャンネル付き画像から通常の画像に変換する DX_GRAPH_FILTER_INTERP_ALPHA を追加。

 SetVertexBufferData 関数の呼び出しでバッファサイズ全体にデータを転送する引数になっていない場合( SetIndex が 0 以外、又は VertexNum がバッファの頂点数以外 )は何も頂点バッファにデータが転送されないバグを修正。

 SetIndexBufferData 関数の呼び出しでバッファサイズ全体にデータを転送する引数になっていない場合( SetIndex が 0 以外、又は IndexNum がバッファのインデックス数以外 )は何もインデックスバッファにデータが転送されないバグを修正。

 SetWindowStyleMode に最小化ボタンと閉じるボタンを無いスタイルを追加。

 Segment_Segment_MinLength に渡す線分の始点と終点が一致している場合( 線分となっていない場合 )正常な結果を取得できないバグを修正。

 関数 MV1SetupReferenceMesh などの参照用メッシュ関係の関数に座標だけを取得するための引数を追加。

 SetChangeScreenModeGraphicsSystemResetFlag( FALSE );を実行した状態で画面モードの切り替えを行った場合や、全画面モードでプロセス切り替えが発生して一度デスクトップ画面に戻った場合の後に GraphFilter や GraphBlend を使用するとメモリの不正なアクセスが発生してしまうバグを修正。

 Xbox360コントローラの非公式ドライバを使用すると Xbox360コントローラがDXライブラリで使用できなくなるバグを修正。

 MakeScreen で画面サイズ以上の大きさの「描画対象にできるグラフィックハンドル」を作成して、そのグラフィックハンドルを SetDrawScreen で描画対象にした状態で、画面サイズ以上の座標に対して DrawMask でマスク画面に描画処理を行おうとすると不正なメモリアクセスが発生するバグを修正。

 Xbox360コントローラの XInput から得られる情報をほぼそのまま取得するための関数 GetJoypadXInputState を追加。

 頂点シェーダーのBOOL型定数3番に設定されるはずの「フォグを使用するかどうか」の情報が実際には設定されていなかったバグを修正。

 DrawCapsule3D の引数 Pos1 と Pos2 を同じ座標にすると何も描画されないバグを修正。

 64bit版のDXライブラリを使用すると Windows8 で不正なメモリアクセスが発生することがあるバグを修正。

 PMD, PMXファイルでIKのLinkボーンリストにTargetボーンが含まれていた場合、計算エラーが発生するバグを修正。

 関数 GetMovieBaseImageToGraph に画像が更新されたかどうかを取得する為の引数 ImageUpdateFlag を追加。

(2013/6/30)

3.10e  正式公開のためにバージョン番号を更新。

3.10d  DrawCircleGauge に開始パーセントを指定するための引数を追加。

 アタッチしたアニメーションのローカル座標を取得するための関数 MV1GetAttachAnimFrameLocalPosition を追加。

 アタッチしたアニメーションのローカル行列を取得するための関数 MV1GetAttachAnimFrameLocalMatrix を追加。

 DXライブラリが呼ぶ CoInitializeEx の第二引数を COINIT_APARTMENTTHREADED に変更。

 x64環境で GetIMEInputData を使用するとメモリの不正なアクセスが発生してしまうバグを修正。

 擬似320x240画面のウインドウモードとフルスクリーンモードの切り替えが正常に行われなかったバグを修正。

 物理計算情報付き3Dモデルをリアルタイム物理計算設定( MV1SetLoadModelUsePhysicsMode( DX_LOADMODEL_PHYSICS_REALTIME ); )で読み込んだ場合に途中で重力を変更するための関数 MV1SetPhysicsWorldGravity を追加。

 ウインドウが非アクティブになり PlaySoundMem で鳴らしている音が一時停止した後、ウインドウをアクティブにして音の再生が再開する際に一瞬 CheckSoundMem の戻り値が FALSE になってしまうバグを修正。

 ウインドウの移動やサイズの変更、システムメニューを開かれて動作が一時停止している間は音も止める処理を追加。

 モノラルサウンドに対して SetPanSoundMem を使用しても正常な結果が得られないバグを修正。

 ID情報が存在する Tga形式のファイルを正常に読み込めないバグを修正。

 ChangeVolumeSoundMem, ChangeNextPlayVolumeSoundMem,ChangeMovieVolumeToGraph の音量値 0~255 をデシベル値に変換する際の計算パラメータを変更。( 体感の音量変化が線形に感じられるように )

 ChangeVolumeSoundMem, ChangeNextPlayVolumeSoundMem,ChangeMovieVolumeToGraph の音量値 0~255 をデシベル値に変換する際の計算パラメータに以前の値を使うように設定するための関数 SetUseOldVolumeCalcFlag を追加。


 DXAファイルに対して FileRead_createInfo などのファイル情報列挙関数を使用するとメモリの不正なアクセスが発生するバグを修正。

 ソフトウエアイメージハンドルが持つメモリに格納されている画像データの1ライン辺りのバイト数を取得する関数 GetPitchSoftImage を追加。

 PMD,PMXモデルは割り当てられているマテリアルの若い番号順にメッシュを描画するように処理を変更。

 PMXモデルのマテリアルのスフィアマップの合成モードが「無効」や「サブテクスチャ」になっていた場合「乗算」として処理してしまっていたバグを修正。

 GetFrequencySoundMem の戻り値が必ず -1 になってしまっていたバグを修正。

 3Dサウンドのサウンドハンドルを沢山作成すると再生もしていないのにCPU使用率が上がるバグを修正。

 3Dモデルのマテリアル毎のアルファテストの設定を行うための関数 MV1SetMaterialDrawAlphaTest を追加。

 設定したループ位置や再生するサウンドのフォーマットなど特定の条件が揃うとサウンドのストリーム再生をした際に再生処理の途中で無限ループが発生してしまうバグを修正。

 影響する頂点が一つも無い SkinWeights が含まれるXファイルを読み込めないバグを修正。

 ウインドウモードで SetGraphMode を使用して画面サイズを変更した際も事前に SetWindowInitPosition を使用しておくことで画面サイズ変更後のウインドウの位置を設定できるように内部処理を変更。

 PMXファイルの両面ポリゴン設定に対応。

 PMD, PMXの描画方式を変更。( テクスチャの色以上には明るくならない MikuMikuDance の仕様に合わせました )

 PMD, PMXファイルで指定されたスフィアマップファイルが存在しない場合の動作が MikuMikuDance と異なっていたのを修正。

 3Dモデルの2枚目のテクスチャに対応。( トゥーンレンダリングでは未対応 )

 Ogg Theora ファイル( ogv形式 )のマルチスレッドを使用した再生処理の安定性向上。

 予め SetUseIMEFlag( TRUE ) ; でIMEを有効にされていた場合は MakeKeyInput や DeleteKeyInput が呼ばれた際にIMEの有効状態を内部で変更しないように仕様を変更。

 aviファイルを LoadGraph で読み込むとメモリリークが発生していたバグを修正。

 DxCompileConfig.h の DX_NON_FILTER を有効にしてDXライブラリをコンパイルするとコンパイルエラーが発生してしまうバグを修正。

(2013/4/14)

3.10c  正式公開のためにバージョン番号を更新。

3.10b  LoadDivGraph で分割読み込みした画像を DrawModiGraph で描画すると隣接する画像の端が描画されてしまう事がある現象の調整。

 モデルビューアーで法線の再計算を行うと正常な結果が得られないことがあるバグを修正。

 midiファイル以外のサウンドファイルを関数 PlayMusic で再生するとミュージックハンドルが一つ消費してしまうバグを修正。

 MV1DrawTriangleList で指定した以外のトライアングルリストも描画されてしまうことがあるバグを修正。

 モデルビューアーにトライアングルリスト単位で表示・非表示を切り替える機能を追加。

 mqoファイルのオブジェクト設定でスムージングをオフにしていてもスムージングを適用してしまっていたバグを修正。

 3Dサウンド機能を追加。( SetCreate3DSoundFlag など )グラフィックスデバイスが対応している最大テクスチャサイズを超えるサイズの画像に対して DerivationGraph を使用すると正常に動作する画像ハンドルが作成できないことがあるバグを修正。

 ogv形式以外の動画を読み込むとメモリリークが発生するバグを修正。

 ogv形式の動画を読み込むと読み込んだ数に比例してCPU使用率が上がるバグを修正。

 64bit版で動画を再生すると偶に動作が停止するバグを修正。

 ogv形式以外の動画を最後まで再生した後に SeekMovieToGraph で再生位置を操作するとウインドウが非アクティブになったタイミングで音の再生が開始されてしまうバグを修正。

 3Dモデルのシェイプを無効にするための関数 MV1SetUseShapeFlag を追加。

 3Dモデルにアタッチしたモーションのシェイプアニメを無効にするための関数 MV1SetAttachAnimUseShapeFlag を追加。

 使用する zlib のバージョンを 1.2.7 に更新。

 使用する libpng のバージョンを 1.5.14 に更新。

 使用する libjpeg のバージョンを 9 に更新。

 関数 DrawTile に幅0又は高さ0の矩形を指定すると、正常な描画結果が得られないバグを修正。

 BorlandC++版では MV1GetFrameLocalMatrix の戻り値が常に単位行列になってしまうバグを修正。

 モデルビューアーでマテリアルの「高さマップのピクセル間距離」が mv1ファイルに保存されていなかったバグを修正。

 RefreshDxLibDirect3DSetting で再設定していない項目があったバグを修正。

 初期画面モード 640x480 16bit color に対応していなかった場合は 640x480 32bit color を試し、それにも対応していなかったらウインドウモードで起動するように処理を変更。

 モデルビューアーでアニメーションを持つモデルを読み込んだ後、追加でアニメーションファイルを読み込むと正常にアニメーションのプレビューができないバグを修正。

 SetUseBackBufferTransColorFlag( TRUE ); と UpdateLayerdWindowForSoftImage を組み合わせた透過ウインドウモードで、タスクバーが存在しないウインドウモードを指定した場合もタスクバーのサイズ分だけ画面のY座標がずれてしまうバグを修正。

 SetGraphMode や ChangeWindowMode を使用すると SetDragFileValidFlag の設定が無効化してしまうバグを修正。

 マテリアルが存在しない FBXファイルを正常に読み込むことができないバグを修正。

 Windows8 で文字列入力の際に全角文字入力の途中経過が正常に表示されないバグを修正。

 Windows の仮想キーコードを対応するDXライブラリのキーコードに変換する関数 ConvertVirtualKeyToKeyCode を追加。

(2013/1/20)

3.10a  正式公開のためにバージョン番号を更新。

3.10  XInputのDLLが無い環境で起動すると入力関係の初期化でエラー終了するバグを修正。

 モデルビューアーでテクスチャファイルが割り当てられていないマテリアルに対してテクスチャを割り当てると、新たに追加したテクスチャの情報の一部が不正になるバグを修正。

 フォントがキャッシュに使用するテクスチャのカラービット深度を設定するための関数 SetFontCacheTextureColorBitDepth を追加。

 通常のアンチエイリアス文字よりも綺麗な描画結果が得られるフォントタイプ DX_FONTTYPE_ANTIALIASING_4X4, DX_FONTTYPE_ANTIALIASING_8X8, DX_FONTTYPE_ANTIALIASING_EDGE_4X4, DX_FONTTYPE_ANTIALIASING_EDGE_8X8 を追加。( フォントサイズが小さい程、既存のアンチエイリアス文字よりも綺麗になります )

(2013/1/14)

3.09f  正式公開のためにバージョン番号を更新。

3.09e  Xbox360 for Windowsコントローラーの振動に対応。

 pmxファイルのボーンの付与設定によっては読み込み時にエラーが発生してしまうバグを修正。

 サウンドを扱う一部の関数を呼ぶと必ず不正なメモリアクセスで終了してしまうバグを修正。

 64bit版でソフトウエアレンダリングモードを使用して縁付きフォントを描画しようとするとメモリの不正なアクセスが発生してしまうバグを修正。

 SetUseASyncLoadFlag( TRUE ) ; の非同期読み込み設定をした上で LoadSoundMem で読み込むと必ずストリーム再生方式のサウンドハンドルになってしまうバグを修正。

 値が0.0~1.0の範囲から外れているボーンウエイトがある3Dモデルを mv1ファイルとして保存するとボーンウエイトの値が正しく保存されないバグを修正。

 縁付きフォントを半透明で描画すると縁の色が本体部分に表示されてしまうバグを修正。

 縁付きフォントの縁の処理を変更。

 法線計算の際にフレームのスムージング角度が 0.0f の場合に「スムージング角度が設定されていない」ものとしてデフォルトのスムージング角度を使用して計算してしまっていた仕様を、マイナスの値の場合のみデフォルトスムージング角度を使用するように仕様を変更。

 接続されていないパッドに対して GetJoypadDirectInputState を使用した場合も引数 DInputState の内容は初期化するように処理を変更。

(2013/1/8)

3.09d  正式公開の為にバージョン番号を更新。

3.09c  FBXファイルで使用するテクスチャファイルパスとして絶対パス情報を使用してしまっていたので、相対パス情報を使用するように処理を変更。

 FBXファイルのボーン情報に PreRotation や PostRotation が設定されている場合に正常に読み込めなかったバグを修正。

 画像ファイルが開けなかった際に出力するファイルパスをフルパスに変更。

 モデルビューアーで「マウスホイールによるカメラ移動方向を逆にする」を有効にした際に右クリックをした状態でのカメラ移動も逆になってしまっていたバグを修正。

 マルチスレッドの機能を一切使用しないようにするdefine定義 DX_NON_MULTITHREAD を追加。( DXライブラリをコンパイルする場合のみ有効 )

 ハンドルのエラーチェックを一切しないようにするdefine定義 DX_NON_HANDLE_ERROR_CHECK を追加。( DXライブラリをコンパイルする場合のみ有効 )

 描画関数のCPU負荷を軽減。

 32bit版のモデルビューアーで作成する mv1ファイルと 64bit版のモデルビューアーで作成する mv1ファイルが同一内容にならないバグを修正。( この修正に伴い Ver3.09aの64bit版モデルビューアーで作成した mv1ファイルは 64bit版・32bit版関係なく読み込めなくなりました )

(2013/1/1)

3.09b  正式公開の為にバージョン番号を更新。

3.09a  マウスホイールの回転量が正確に取得できないことがあるバグを修正。

 1回分以下の回転値精度を持つマウスホイールの回転値を取得するための関数 GetMouseWheelRotVolF, GetMouseHWheelRotVolF を追加。

 モデルビューアーの実行ファイルにモデルファイルをドラッグ&ドロップすると起動時にドロップされたファイルを開く処理を追加。

 PMD, PMXファイルのスフィアマップに対応。

 MV1SaveModelToMV1File で保存されるモデルファイルに MV1SetMaterialDifColor などの関数で変更したマテリアルの情報が反映されるように処理を変更。

 KeyInputString などの文字列入力機能で、改行入りの文字列をコピー&ペーストすると入力が決定されてしまうバグを修正。

 各描画関数の TransFlag を FALSE にしていても DX_BLENDMODE_ALPHA の設定になっていると透過処理が行われてしまうバグを修正。

 新しいバージョンのDXアーカイブファイルをメモリに事前読み込みを行うとメモリの不正なアクセスをしてしまうバグを修正。

 マスク処理が Ver3.09 から正常に動作しなくなっていたバグを修正。

 C#版をx64環境でも動作するようにC#版ファイル生成プログラムを変更。

 x64版でpmd,pmxファイルを読み込むと不正なメモリアクセスが発生することがある不具合を修正。

 SetWindowStyleMode のモードを一つ追加。

 pmd,pmxでジョイントが存在しないファイルを読み込むと0バイトメモリ確保をしてしまっていたバグを修正。

 通常メッシュや輪郭用メッシュなどに対して個別に表示・非表示設定をするための関数 MV1SetMeshCategoryVisible を追加。

 32bitカラーで1x1サイズのbmpファイルの読み込みが正常に行われないバグを修正。

 対応する頂点が一つも無い表情データを持つpmdファイルを読み込むとメモリの不正なアクセスが発生してしまうバグを修正。

 3Dモデルの向きによっては MV1PhysicsResetState を実行しても物理演算の状態が正常にリセットされないバグを修正。

 グラフィックハンドルの作成に使用した画像ファイルのパスを取得するための関数 GetGraphFilePath を追加。

 モデルビューアーでマウスホイールを回転させたり押しながらマウスポインタを移動させたりしたときのカメラの動く方向を逆にするメニュー項目を追加。

 セカンドモニタをプライマリモニタよりも左側に配置した状態でセカンドモニタにDXライブラリ起動のウインドウを持って行くと、GetMousePoint で得られるマウスポインタの座標が不正な値になるバグを修正。

 スキニングメッシュで、ポリゴン数が多く関わっていてボーンの数も多い部分が正常に描画されないことがあるバグを修正。

 HitCheck_Triangle_Triangle が正しい結果を返さないことがあるバグを修正。

 x64版で mv1 ファイルが正常に読み込めないことがあるバグを修正。

 モデルビューアーにライトとカメラの設定をクリップボードにコピーする機能を追加。

 サウンドのストリーミング再生処理のバッファ転送間隔時間を短縮。

 モデルビューアーのFBXファイル読み込みに使用するFBX SDKをバージョン 2013.3 に更新。

(2012/11/25)

3.09  正式公開の為にバージョン番号を更新。

3.08f  DrawRotaGraph2ToZBuffer と DrawRotaGraph3ToZBuffer を追加。

 DrawBillboard などの3D画像描画関数の引数 TransFlag が TRUE の際はαテストを行うように処理を変更。

 トゥーンタイプ1でデフォルト陰テクスチャが適用されなくなっていたバグを修正。

 モデルビューアーでアンチエイリアスを有効にしているとライトの向きなどの表示が正常に行われなかったバグを修正。

 モデルビューアーにFPS設定を追加。

 モデルビューアーの距離減衰パラメータ編集項目表示の不具合を修正。

 モデルビューアーのその他細かい改善。

 アニメーションが適用されているフレームのローカル行列を MV1GetFrameLocalMatrix で取得した際の戻り値が正しくなかったバグを修正。

 モデルビューアーで半透明要素のあるxファイルを読み込み、xファイル形式で上書き保存すると半透明要素の部分が不透明として保存されてしまうバグを修正。

 SetAlwaysRunFlag( FALSE ) ; の状態で DxLib_End を実行した際にウインドウが非アクティブだった場合は、ウインドウがアクティブになるまで DxLib_End から処理が返ってこないバグを修正。

 64bit版では GetMousePoint で正常なマウスの座標が取得できないことがあるバグを修正。

 SetBlendGraphParam に渡すブレンドタイプに DX_BLENDGRAPHTYPE_ALPHA を追加。

 ストリーミング再生のサウンドを DX_PLAYTYPE_BACK で再生すると、稀に終端まで再生が終わっても CheckSoundMem の戻り値が 0 にならないバグを修正。

 64bit版で16色カラーのBMPファイルを読み込もうとするとメモリの不正なアクセスが発生してしまうバグを修正。

 xファイルの読み込みに必要なメモリ量を削減。

 DXアーカイブの圧縮処理が64bitではエラーが発生してしまうバグを修正。

 DDSファイルの形式によっては正常に読み込めないバグを修正。

 2Dポリゴンを描画するための関数 DrawPolygon2D と DrawPolygonIndexed2D を追加。

 関数リファレンスに DrawRotaGraph3 を追加。

 GraphBlend と GraphBlendBlt では引数 BlendGrHandle は必ず画像全体が使用されるように仕様を変更。

 GraphFilter の DX_GRAPH_FILTER_DOWN_SCALE でスケールの値を何にしても必ず2分の1になってしまうバグを修正。

 SetUseBasicGraphDraw3DDeviceMethodFlag の設定を無効になるように処理を変更。

 シェーダーコードファイルのメモリイメージ形態を変更。

 DrawRotaGraphF に小数点以下の値がある座標を渡すと不自然な描画になるバグを修正。

 指定の3D座標がカメラのどちら方向に見切れているか取得することができる関数CheckCameraViewClip_Dir を追加。

 SetBlendGraphParam の DX_BLENDGRAPHTYPE_ALPHA を使用した際にブレンドする画像とブレンドされる側の画像のサイズが違うと正常な描画結果が得られなかったバグを修正。

 プログラマブルシェーダー2.0を使用できる環境では通常の描画処理にもピクセルシェーダーを使用するように処理を変更。

 通常の描画にピクセルシェーダーを使用するかどうかを設定する関数 SetUseNormalDrawShader を追加。

 DX_NON_MODEL 有効時はモデル用シェーダーを実行ファイルに含めないようにプログラムを変更。

 DX_NON_FILTER 有効時はフィルター用シェーダーを実行ファイルに含めないようにプログラムを変更。

 指定のフォント名を列挙する関数 EnumFontNameEx2 を追加。

 ChangeFont や CreateFontToHandle で指定の文字セットが無い場合はデフォルト文字セットでフォントを作成するように処理を変更。

 PNG画像を読み込む際に必要なメモリの容量がバグで多くなってしまっていたので修正。

 SetUseDirectInputFlag( FALSE ) ; の設定をして、DirectInput を使用しないようにすると GetJoypadNum の戻り値が必ず 16 になってしまうバグを修正。

 DirectInput のジョイパッドの有効範囲設定などが失敗してもデバイスの対応を放棄しないように処理を変更。

 CheckHitKeyAll の引数に DX_CHECKINPUT_PAD を渡すと必ず0が返ってきてしまうバグを修正。

 VMDファイルに含まれるカメラモーションの視野角情報が正常に読み込めないことがある( 異常な値になる )バグを修正。

 DXアーカイブの暗号化処理を差分ファイル作成に適した形式に変更。

 バックバッファの Direct3DSurface9 オブジェクトを取得するための関数 GetUseDirect3D9BackBufferSurface を追加。

 過去のバージョンのモデルビューアーで作成した mv1 ファイルを新しいバージョンで読み込むとメモリの不正なアクセスが発生してしまうバグを修正。

 ConnectNetWork_ASync で非同期接続を行った場合、接続が確立する前に GetNetWorkAcceptState で接続確認を行うとハンドルが解放されてしまうバグを修正。

 モデルビューアーでメモリの不正なアクセスが発生してしまうことがあるバグを修正。

 VMDファイル読み込み処理のキー間を繋ぐ補間処理」で使用する情報が1キー分ずれていたバグを修正。

 読み込んだモデルを mv1ファイル形式で保存するための関数 MV1SaveModelToMV1File の定義を DxLib.h に移動。

 読み込んだモデルを xファイル形式で保存するための関数 MV1SaveModelToXFile の定義を DxLib.h に移動。

 Direct3D9Ex が使用できる環境で普通の画像に対して GraphLock を使用するとメモリの不正なアクセスが発生してしまうバグを修正。

(2012/9/23)

3.08e  正式公開の為にバージョン番号を更新。

3.08d  ライブラリが準備するピクセルシェーダーのパラメータにフォグカラーを追加。

 64bit版では非同期読み込みが正常に動作していなかったバグを修正。

 64bit版でファイルの読み込みが正常に行えないことがあるバグを修正。

 頂点バッファとプログラマブルシェーダーを使用したポリゴン描画を行うための関数 DrawPolygon3DToShader_UseVertexBuffer などを追加。

 ウインドウのアイコンのハンドルを設定するための関数 SetWindowIconHandle を追加。

 ワールド座標をビュー座標に変換するための関数 ConvWorldPosToViewPos を追加。

 GraphFilter や GraphBlend を使用した際に出力先画像に出力元画像のアルファ値が転送されないことがあるバグを修正。

 MV1SetUseOrigShader( TRUE ) ; でオリジナルシェーダーを有効にした状態で MV1DrawModel を実行すると関数から処理が帰ってこなくなることがあるバグを修正。

 SetUseZBufferFlag と SetWriteZBufferFlag を使用してZバッファへの書き込みを有効にした状態で DrawExtendGraph で描画領域からはみ出る描画をした場合にZバッファへ正しい値が書き込まれないバグを修正。

 描画ブレンドモードに DX_BLENDMODE_HALF_ADD を追加。

 LoadDivGraph や DerivationGraph で作成したグラフィックハンドルに対して GraphFilter や GraphBlend を使用すると同じ派生元の他のグラフィックハンドルの画像がぼやけてしまうバグを修正。

 子ウインドウを表示ウインドウにするための関数 SetUserChildWindow を追加。

 WindowsVista以降で CheckHitKey が正常に動作しないバグを修正。

 DrawLine で Thickness に 2以上を渡して水平、又は垂直の直線を描画すると何も描画されないバグを修正。

 GraphFilter の DX_GRAPH_FILTER_LEVEL が、ChangeWindowMode や SetGraphMode を使用した後に正常に動作しなくなるバグを修正。

 pmdファイルを mv1形式で保存したファイルを読み込むと、輪郭線が無くなってしまうバグを修正。

 3Dモデルのアニメーションの名前を変更する関数 MV1SetAnimName を追加。

 PMDファイル+VMDファイルの読み込みに失敗することがあるバグを修正。

 ウインドウモードや画面モードの変更を行った後に GraphFilter や GraphBlend が正常に動作しなくなることがあるバグを修正。

 DrawPolygon3D の引数 TransFlag を FALSE にしても透過されてしまうバグを修正。

 DirectSound の初期化に失敗した場合にメモリリークが発生していたバグを修正。

 現在のバージョンでは無効な関数を削除( SetMaskTransColor, Set2D3DKyouzonFlag, SetUseTempFrontScreen, SetPalette, ReflectionPalette, GetPalette, SetBmpPal, SetBmpPalPart, BltFastOrBitBlt, GetPixelFormat, GraphCopy, GetUseD3DDevObj, SetUseVertexBufferFlag, GetTexPixelFormat, GetZBufferPixelFormat, OpenMovieToOverlay, UpdateMovieToOverlay, CloseMovieToOverlay, SetGraphTransColor, RestoreGraph, AllRestoreGraph )

 巨大な画像を読み込んだ際にエラーが発生する原因となる部分を変更。

 モデルビューアーを最小化するとGPU負荷が異常に上がるバグを修正。

 パレット情報が同一のソフトウエアイメージ同士で BltSoftImage を行うと転送先矩形、転送元矩形共に左上座標が( x, y ) = ( 0, 0 )になってしまうバグを修正。

 グラフィックスデバイスが対応している最大テクスチャサイズを取得するための関数 GetMaxGraphTextureSize を追加。

 描画可能画像はデフォルトでは専用のZバッファを持つように処理を変更、それに伴い専用のZバッファを持つかどうかを設定する関数 SetDrawValidGraphCreateZBufferFlag を追加。

 DxLib_Init の前に SetWindowVisibleFlag( FALSE ) ; を実行した場合は描画処理を一切しないようにしていた仕様を、単に非表示状態で起動するだけで描画処理はできるという仕様に変更。

 メインウインドウの最小化状態を変更する関数 SetWindowMinimizeFlag を追加。

 ソフトウエアレンダリングモードでフルスクリーンからウインドウモードに変更すると画面の解像度がフルスクリーン時のままになるバグを修正。

 PMXファイル読み込みで法線が正しく読み込まれないバグを修正。

 PMXファイル読み込みでトゥーンテクスチャの指定が無かった場合の処理を変更。

 PMXファイル+VMDファイルの読み込みに失敗することがあるバグを修正。

(2012/7/15)

3.08c  正式公開の為にバージョン番号を更新。

3.08b  テクスチャ分割のデメリットの方がメリットよりも大きくなってきたため、最大テクスチャサイズに収まる限りはテクスチャ分割は行わないように処理を変更。

 PMDファイル読み込み時に併せて読み込むVMDファイルを指定するための関数 MV1SetLoadModelAnimFilePath を追加。

 PMDファイルの表情アニメーションがアニメーションブレンド率の設定に対応していなかったバグを修正。

 α成分用のテクスチャとカラー成分用のテクスチャのサイズが違うマテリアルを持つモデルを読み込めなかったバグを修正。

 縦横の拡大率を指定できる DrawRotaGraph3 系の関数を追加。

 カラーフォーマットの表現幅を広げて、R16G16B16F 等のフォーマットを特殊扱いせずに済むように内部処理を変更。

 作成する画像のチャンネルあたりのビット数を設定するための関数 SetCreateGraphChannelBitDepth を追加。

 VERTEX3DSHADER に spos( 補助座標 )、tan( 接線 )、binorm( 従法線 )を追加。

 VERTEX3DSHADER の pos, u, v から tan と binorm の値を算出して設定する関数 CalcPolygonBinormalAndTangentsToShader と CalcPolygonIndexedBinormalAndTangentsToShader を追加。

 描画可能画像の内容を他の画像に転送する関数 BltDrawValidGraph を追加。

 WAVE_FORMAT_IEEE_FLOAT フォーマットの WAVファイルの読み込みに対応。

 頂点シェーダーの接線、従法線の入力セマンティクスを NORMAL0, NORMAL1 から TANGENT0, BINORMAL0 に変更。

 3D描画機能を使用した後では DrawOval 関数が正常に動作しないバグを修正。

 CreateVertexBuffer を使用するとメモリの不正なアクセスが発生するバグを修正。

 CreateIndexBuffer を使用するとメモリの不正なアクセスが発生するバグを修正。

 SetFullSceneAntiAliasingMode を使用してフルスクリーンアンチエイリアスを有効にした状態では MakeScreen で作成した描画可能画像に対して描画処理が行えないバグを修正。

 SetFullSceneAntiAliasingMode を使用してフルスクリーンアンチエイリアスを有効にした状態では SaveDrawScreen が正常に動作しないバグを修正。

 GraphFilter や GraphBlend を使用した後、DrawPolygon2DToShader などのシェーダーを利用する描画関数を使用すると、SetPSConstF などの関数で設定したシェーダー定数が無効になることがあるバグを修正。

(2012/5/27)

3.08a  正式公開の為にバージョン番号を更新。

3.08  MakeSoftSoundCustom と MakeSoftSoundPlayerCustom を追加。

 VisualC++用の x64版の lib ファイルを追加。

 DXライブラリの Direct3D の設定をしなおす関数 RefreshDxLibDirect3DSetting を追加。

 ブレンドグラフィックの設定を行う新関数 SetBlendGraphParam を追加。

 PMDファイルのIK計算を樋口M様のソースコードを参考に再現度を改善。

 ボーンの枠名以降の情報が無いPMDファイルを読み込もうとするとメモリの不正なアクセスでエラー終了してしまうバグを修正。

 解像度の設定によってはソフトウエアレンダリングで起動した際に画面が歪んで表示されてしまうバグを修正。

 MV1CollCheck_Line で面積0のポリゴンに当たることがあったバグを修正。

 SetApplicationLogSaveDirectory でログファイルの作成フォルダを変更しても0バイトの Log.txt がカレントディレクトリに作成されてしまうバグを修正。

 DirectDraw の GetRasterStatus で垂直同期を取得できない環境で DirectX 初期化処理内で無限ループに陥ってしまうバグを修正。

 3Dモデルを SetUseASyncLoadFlag を使用して非同期読み込みすると3Dモデルのクリッピングが正常に行われないバグを修正。

 PMXファイルの読み込みに仮対応( PMD相当の機能だけを使用しているPMXファイルのみ正常に読み込み可能 )

(2012/4/22)

3.07f  正式公開の為にバージョン番号を更新。

3.07e  2パス以上のフィルターの描画結果が正しく得られないことがあるバグを修正。

 ビューポート行列を取得するための関数 GetCameraViewportMatrix, GetTransformToViewportMatrix を追加。

 Direct3D が自動で適用するビューポート行列を取得するための関数 GetCameraAPIViewportMatrix, GetTransformToAPIViewportMatrix を追加。

 プログラマブルシェーダーが使用できない環境でメッシュ中の全ての頂点がシェイプ対象になっていないメッシュが含まれるPMDファイルを読み込むとエラー終了してしまうバグを修正。

 プログラマブルシェーダーを有効にしていた場合にスポットライトとポイントライトの距離減衰が正常に機能していなかったバグを修正。

 プログラマブルシェーダーを有効にしていた場合にトゥーンレンダリングタイプ1の影が正常に表示されなくなっていたバグを修正。

 「浮動小数点」を「不動小数点」と書き間違えていた箇所を修正。

 関数 DrawRectRotaGraph2 と DrawRectRotaGraph2F を追加。

 グラフィックスデバイスに関するデバッグ出力の一部が Unicode 版で文字化けしていたバグを修正。

 シェーダーの定数設定をリセットするための関数 ResetVSConstF, ResetVSConstI, ResetVSConstB, ResetPSConstF, ResetPSConstI, ResetPSConstB を追加。

 モデルの描画にオリジナルシェーダーを使用するかどうかを設定するための関数 MV1SetUseOrigShader を追加。

 ソフトウエアレンダリングモードで起動した場合にメモリの余計な確保をしてしまっていたバグを修正。

 SetWindowSizeChangeEnableFlag で引数にどちらも FALSE を指定した場合に設定が反映されなかったバグを修正。

 ピクセルシェーダーのみハードウェアで対応している環境ではPMDモデルのシェイプが再生されないバグを修正。

 4角以上のポリゴンを3角ポリゴンに分割するアルゴリズムを変更。

 SetVSConstFMtx などの定数に行列を設定する関数の仕様を変更、今までの仕様の関数は SetVSConstFMtxT と最後に T がつく関数に変更。

 シェーダーを使ったポリゴン描画を行う関数 DrawPolygon2DToShader, DrawPolygon3DToShader, DrawPolygonIndexed2DToShader, DrawPolygonIndexed3DToShader を追加。

 シェーダー描画の描画先を設定する関数 SetRenderTargetToShader を追加。

 同時に描画を行える画面の数を取得するための関数 GetMultiDrawScreenNum を追加。

 PMDファイルのIK角度制限の処理を変更。

 PMDファイルのIKの影響を受けない「IKの影響を受けるボーンの子ボーン」があった場合に正常なIK結果が得られないバグを修正。

 DrawCircle , DrawOval に存在したメモリ破壊バグを修正。

 DrawRectGraph 系のサイズにマイナスを渡した場合はエラーになるように処理を追加。

 SetUseASyncLoadFlag を TRUE にした状態で画像を読み込むとメモリの不正なアクセスをしてしまうことがあるバグを修正。

 指定のトライアングルリストのみを描画するための関数 MV1DrawTriangleList を追加。

 SetChangeScreenModeGraphicsSystemResetFlag( FALSE ) ; を実行して画面モードの切り替えが発生してもハンドルがリセットされないようにした状態で画面モードの変更を行った際に作成したフォントハンドルが無効になっていたバグを修正。

 有効になっているライトハンドルの数を取得するための関数 GetEnableLightHandleNum を追加。

 有効になっているライトハンドルを取得するための関数 GetEnableLightHandle を追加。

 ピクセルシェーダーの定数にもライトの情報を全て設定するように処理を変更。

 SetVSConstSFArray, SetVSConstFArray を使用しても定数が正しく変更できないバグを修正。

 DrawPolygonXXXToShader 系の関数がフラットシェーディングからグローシェーディングに仕様を変更。

 頂点シェーダーとピクセルシェーダーの INT4型と BOOL型の定数が正常に変更できないバグを修正。

 PMDタイプのトゥーンレンダリングでは今までディレクショナルライト以外のライトに対応していなかったので、ポイントライトとスポットライトにも対応。

 浮動小数点型のピクセル情報を持つ画像を作成するかどうかを設定する関数 SetDrawValidFloatTypeGraphCreateFlag を追加。

 作成する描画可能グラフィックハンドルのチャンネル数を設定する関数 SetCreateDrawValidGraphChannelNum を追加。

 バックバッファ以上のサイズの描画可能画像を作成した場合は内部でZバッファを作成するように処理を変更。

 関数リファレンスにプログラマブルシェーダー関係関数を追加。( 3D関係関数ページのモデル関係関数の後ろに追加 )

(2012/3/19)

3.07d  シェーダーを無効にした際に PMD モデルの輪郭線の描画が乱れるバグを修正。

 PMD モデルのシェイプが適用されなくなっていたバグを修正。

 DxLibModelViewer.exe で MV1ファイルを読み込んで、再度 MV1ファイルとして保存すると、読み込みエラーが発生する MV1ファイルが作成されてしまうバグを修正。

(2012/3/17)

3.07c  正式公開の為にバージョン番号を更新。

3.07b  サウンドファイルを非同期読み込みで読み込んだ直後に再生できないバグを修正。

 AddMenuItem などでメニューを追加した場合、メニュー領域の高さだけウインドウのクライアント領域が小さくなってしまっていたバグを修正。

 GetActiveKeyInput で取得できるアクティブなキー入力ハンドルがキー入力確定後も -1 にならなかったバグを修正。

 SetActiveKeyInput に -1 を渡してもアクティブな入力ハンドルを無い状態にすることができなかったバグを修正。

 DxLib_Init の前にDXライブラリの関数を呼ぶと関数から何時までも出てこないことがあったので、保証外ながらもそうならないように処理を変更。

 論理プロセッサの数が1つの環境で DXAファイルにアクセスすると異常に処理負荷が高くなるバグを修正。

 320x240のフルスクリーンモードで PlayMovie を使用すると動画が画面右下にずれて表示されるバグを修正。

 Vista以降の環境で Direct3D9Ex を使用するかどうかを設定する関数 SetUseDirect3D9Ex の追加。

 ネットワーク処理の一部を若干変更。( ネットワーク処理専用にクリティカルセクションを用意、ProcessNetMessage をひたすら呼び続けるスレッドの追加 )

 ファイルアクセスハンドルを CheckHandleASyncLoad に渡すと必ず -1 が返ってしまっていたバグを修正。

 SetAlwaysRunFlag でウインドウが非アクティブ時に動作しないように設定されている場合は非アクティブになった際にPlaySoundMem と StartSoftSoundPlayer で再生するサウンドを一時停止するように処理を変更。

 VMD ファイルを単体で読み込んだ場合はアニメーションデータを内部で種類分割しないように処理を変更。

 座標が視界に入っているかどうかをチェックするための関数 CheckCameraViewClip を追加。

 ボックスが視界に入っているかどうかをチェックするための関数 CheckCameraViewClip_Box を追加。

 誤った視野クリッピング処理をしていたので、視錐台平面を使用した正しい処理に変更。

 GCC版で文字列入力を使用した場合、カーソルを途中に戻して文字を挿入しようとすると正常に動作しないバグを修正。

 Vista以降の環境で SetGraphMode を使用して 320x240 の解像度にすると正常に表示されないバグを修正。

 フォント表示のプログラムがメモリの不正なアクセスをしていたバグを修正。

 非アクティブ状態での WM_ACTIVATE は常に非アクティブとして処理するように内部処理を変更。

 画面の横幅とぴったり同じサイズの画像はテクスチャ分割無しで読み込むように処理を変更。

 MIDI再生設定をMCIになっている場合、再生に対応しているファイル形式でも LoadMusicMem + PlayMusicMem で再生できなかったバグを修正。

 SetDefaultFontState を使用しても引数で渡した FontName が反映されていなかったバグを修正。

 DxLib_Init の前に SetNetWorkCloseAfterLostFlag, SetUseDXNetWorkProtocol, SetConnectTimeOutWait を使用するとエラーが発生していたバグを修正。

 ピリオド( . )が二つあるファイル名のPMDファイル用のVMDファイルを正常に読み込めなかったバグを修正。

 MIDI以外のサウンドファイルを PlayMusicMem で再生した場合に StopMusicMem や CheckMusicMem が使用できなかったバグを修正。

 MIDIデータの音量を変更する SetVolumeMusicMem を追加。

(2012/1/29)

3.07a  FileRead_getc または FileRead_gets を使用すると不正な処理でプログラムが停止してしまうバグを修正。

 printfDx で出力されるフォントがイタリック表示になっていたバグを修正。

3.07  正式公開の為にバージョン番号を更新。

3.06f  SetFontSize 等のフォント設定関数や CreateFontToHandle を何回も呼び続けると正しく使っていてもフォントの設定やフォントハンドルの作成に失敗するようになってしまうことがあるバグを修正。

 FileRead_XXX の関数を DxLib_Init の前で使用するとエラーが発生するようになっていたのを、発生しないように処理を変更。

 CreateMaskScreen でマスク機能を有効にした状態で MakeScreen と SetDrawValidMultiSample を組み合わせてアンチエイリアス付き描画可能画像を作成して使用した場合、アンチエイリアス付き描画可能画像に対して何も描画できないバグを修正。

 SetUseBackCulling 関数の設定によっては DrawGraph などの描画が行われなくなるバグの修正。

 表情データが無い PMD ファイルが正常に読み込めないバグを修正。

 マルチサンプルの最大クオリティを得るための関数 GetMultiSampleQuality を追加。

 フルスクリーンモードで終了すると DxLib_End で不正な処理としてエラー終了してしまうことがあるバグを修正。

 非同期読み込みを行うための関数 SetUseASyncLoadFlag、GetASyncLoadNum, CheckHandleASyncLoad を追加。

 すべての3Dモデルを削除する関数 MV1InitModel を公開関数に変更。

 WaitVSync を使用している間にタスクスイッチなどでフルスクリーンモードからウインドウモードに変更した場合、不正な処理が発生してしまうバグを修正。

 FileRead_findNext が正しい結果を返さないことがあるバグを修正。

 DirectX7時代のソースをプロジェクトから削除。

(2012/1/1)

3.06e  正式公開の為にバージョン番号を更新。

3.06d  MV1DuplicateModel や MV1CreateCloneModel で作成したモデルで正常に物理演算が行われなかったバグを修正。

 特殊用途用として IDirect3DDevice9 を取得するための関数 GetUseDirect3DDevice9 を追加。

 特殊用途用として溜めてある頂点データを描画して溜めをリセットする関数 RenderVertex を追加。

 MV1SetLoadModelUsePhysicsMode の設定を DX_LOADMODEL_PHYSICS_LOADCALC にした状態で、PMD+VMDファイルを読み込んだ際の事前計算を、VMDファイルの .vmd の前に L がある場合、ループするモーションとして事前計算を行い、再生時の不自然さを緩和させる処理を追加。( 例:test000.vmd は通常モーション test001.vmd と test002.vmd がループするモーションである場合、test.pmd, test000.vmd, test001L.vmd, test002L.vmd と、.vmd の前に L を入れるとループモーション用の計算が行われる )

 SetActiveStateChangeCallBackFunction で登録したコールバック関数が非アクティブになった際に2回呼ばれていたバグを修正。

 MV1SetLoadModelUsePhysicsMode の設定を DX_LOADMODEL_PHYSICS_LOADCALC にした状態で、PMD+VMDファイルを読み込んだ際の事前計算に不具合があり、正常な演算結果を得られないことがあったバグを修正。

 MV1SetLoadModelUsePhysicsMode の設定を DX_LOADMODEL_PHYSICS_LOADCALC にした状態で、PMD+VMDファイルを読み込んだ際の事前計算で重力方向を設定するための機能を追加。

 ウインドウモードで SetWindowSizeChangeEnableFlag を使用して縦横比率を保ったままの拡大を有効にした場合、128ドット以下のサイズにはできないように仕様を変更。

 GraphFilter や GraphBlend のソースハンドルに描画可能グラフィックハンドルではないハンドルを渡すと正常な結果が得られないことがあるバグを修正。

 ConnectNetWork の非同期接続版の ConnectNetWork_ASync を追加。

 カラー画像ファイル指定の無いマテリアルを含む mqo ファイルを読み込めなかったバグを修正。

 3Dモデルを描画した後 GraphBlend や GraphFilter が正常に動作しないことがあるバグを修正。

 GraphFilter のフィルターモードに乗算付きアルファ画像に変換する DX_GRAPH_FILTER_PREMUL_ALPHA を追加。

 GraphBlend のブレンドモードにアルファ値考慮のブレンドを行う DX_GRAPH_BLEND_NORMAL_ALPHACH と DX_GRAPH_BLEND_ADD_ALPHACH を追加。

 Direct3DDevice9Ex の作成に失敗した場合は Direct3DDevice9 の作成を試みる処理を追加。

 ソフトウエアレンダリングモードでアルファチャンネル付きの画像を SetDrawScreen に渡してもエラーが発生しなかったバグを修正。

 ソフトウエアレンダリングモードで MakeScreen の第三引数を TRUE にしてアルファチャンネル付きの描画可能画像を作成しようとしたらエラーで返すように処理を変更。

 SetMovieVolume の引数の単位が Ogg Theora だけ異なっていたので、DirectShow で再生した動画と同様の単位になるように修正。

 ChangeVolumeSoundMem と同じ単位で動画の音量を指定する関数 ChangeMovieVolumeToGraph を追加。

 レンダリングターゲットをインプットテクスチャとすることができるかどうかのチェックコードを追加。

 GraphFilter や GraphBlend などの3Dモデル描画以外のシェーダーを使用する関数を使用した後に3Dモデルの描画を行うと正常に描画が行われないことがあるバグを修正。

 アンチエイリアス付き描画可能画像を GraphBlend や GraphFilter で使用すると正常な結果を得られなかったバグを修正。

 一部のキーの組み合わせで GetJoypadInputState( DX_INPUT_KEY_PAD1 ); の戻り値が -1 になってしまっていたバグを修正。

 DxStatic.h DX_NON_XXX の幾つかが有効にするとDXライブラリのソースのコンパイルが正常に完了しないバグを修正。

 非アクティブになったときにスタックオーバーフローが発生することがあるバグを修正。

 コーデックがインストールされているのに動画が再生できないことがあった不具合を修正。

 画面モードの変更や Direct3DDevice9 がロストした際に DirectX 関連のオブジェクトを開放する前に呼ばれるコールバック関数を登録するための関数 SetGraphicsDeviceLostCallbackFunction の追加。

 DuplicateSoundBuffer で作成したバッファにもデータを転送するように処理を分岐。

 MakeKeyInput 関数に全角文字列のみ入力を可能とするかどうかを設定するための引数 DoubleCharOnlyFlag を追加。

 独自に bullet physics を使用してもDXライブラリがリンクしている bullet physics と競合しないように名前の変更。

 ウインドウを移動した際に描画領域を再設定しないように処理を変更。

 物理演算情報付きのモデルを読み込んだ場合に、解放時にメモリリークが発生してしまっていたバグを修正。

 物理演算情報つきのモデルをリアルタイム物理演算モードで読み込んだ際に高速に移動すると物理演算部分の付け根が移動方向にずれるバグを修正。

 物理演算情報が無いPMDモデルが読み込めないバグを修正。

 無効になったハンドルが有効なハンドルとして誤認識してしまう確率が大幅に下がるように処理を変更。

 ConnectNetWork と ConnectNetWork_ASync の動作が逆になってしまっていたバグを修正。

 GraphBlend のブレンドモードに DX_GRAPH_BLEND_MULTIPLE_A_ONLY を追加。

 ウインドウモードの場合は解像度さえ変更できれば SetGraphMode が DX_CHANGESCREEN_OK を返すように仕様を変更。

(2011/10/15)

3.06c  正式公開用にバージョン番号を更新。

3.06b  GraphFilterBlt の DX_GRAPH_FILTER_DOWN_SCALE で、引数 DestGrHandle の画像サイズが引数 SrcGrHandle の画像サイズよりも小さかった場合に正常に動作しなかったバグを修正。

 PMD+VMDファイルを読み込んだ際の物理演算精度の向上。

 PMD+VMDファイルを読み込む際の物理演算処理をDXライブラリから直接読み込んだ場合も行われるように処理を変更。

 MinGW用のライブラリファイルがDev-C++用と同じ内容になってしまっていた不具合を修正。

 読み込むモデルファイルに物理演算情報が含まれていた場合にどのように処理するかを設定するための関数 MV1SetLoadModelUsePhysicsMode を追加。

 読み込むモデルファイルに物理演算情報が含まれていた場合の物理演算で使用する重力の強さを設定する関数 MV1SetLoadModelPhysicsWorldGravity を追加。

 リアルタイム物理演算を行うモデルで実際に物理演算を行う関数 MV1PhysicsCalculation を追加。

 リアルタイム物理演算を行うモデルで物理演算状態をリセットするための関数 MV1PhysicsResetState を追加。

 輪郭線のドット太さのデフォルト値を 1.25f から 1.1f に変更。

(2011/9/18)

3.06a  正式公開用にバージョン番号を更新。

3.06  起動時のデスクトップ画面の画面設定と同じ設定のフルスクリーンモードからウインドウモードに変更しようとするとプログラムが進行しなくなるバグを修正。

 二つのグラフィックを特殊効果付きで合成する GraphBlend 系の関数を追加。

 グラフィックに対して特殊効果を与える GraphFilter 系の関数を追加。

 MakeScreen に AlphaChannel 付きの描画可能画像を作成するかどうかのフラグを追加。

 MV1SetMaterialOutLineDotWidth と MV1SetMaterialOutLineWidth を使い輪郭線の太さを0.0にしても輪郭線が消えなかったバグを修正。

 ウインドウを最小化しているときに ScreenFlip や ScreenCopy を使用すると -1 が返っていたバグを修正。

 SetFrequencySoundMem で変更した再生周波数の設定を初期状態に戻す関数 ResetFrequencySoundMem を追加。

 ClearInputCharBuf が実行された際にIME入力中の文字列もクリアするように処理を変更。

 LoadPauseGraph が正常に動作していなかったバグを修正。

 SetUseDXArchiveFlag に FALSE を渡してもDXアーカイブファイルを使用する設定が解除されなかったバグを修正。

(2011/7/23)

3.05f  printfDx で文字列を画面に表示した状態でソフトウエアが非アクティブになるとスタックオーバーフローでプログラムが強制終了してしまうバグを修正。

(2011/7/17)

3.05e  SetFullSceneAntiAliasingMode が機能していなかったバグを修正。

3.05d  PreparationListenNetWork を実行した直後に GetLostNetWork を使用すると誤った値が返ってくるバグを修正。

3.05c  x ファイルはマテリアルの Diffuse Color のアルファ値を透明度として扱うように処理を変更。

3.05a  IPv6 による通信処理に必要な関数を追加。

 3Dモデルを描画する際に特に指定が無い場合はアルファ値が小さい箇所を描画しないようにしていた処理を元に戻し、アルファ値が0でもレンダリングされるように処理を変更。

 マスクの機能を有効にしていると3Dモデルの描画が行われなかったバグを修正。

 アルファチャンネルがあり、且つアルファ値がすべて最大値の画像を使用した3Dモデルが「半透明要素あり」と判定されてしまっていたバグを修正。

 DXライブラリのメモリリークの出力( Alloc memory dump )でUNICODE 版ではファイル名が文字化けしてしまっていたバグを修正。

 フルスクリーンアンチエイリアスを使うための関数 SetFullSceneAntiAliasingMode を追加。

 描画可能画像にアンチエイリアスを使うための関数 SetDrawValidMultiSample を追加。

 DuplicateSoundMem で非効率的な処理を行ってしまっていたので修正。

 一部の PMD ファイルが正常に描画されなかったバグを修正。

 描画する画像の色成分を無視するかどうかを設定するための関数 SetIgnoreDrawGraphColor を追加。

 Gnu C++ 版DXライブラリでも DirectShow を使った動画再生が行えるようにプログラムを変更。

 SetNotWinFlag( TRUE ) ; をしてウインドウを出さないようにした状態で DxLib_End を実行するといつまでも DxLib_End から出てこないバグを修正。

 SetAeroDisableFlag( FALSE ) ; をした場合でもフルスクリーンモード起動の場合は強制的に Aero をOFFにしていた処理を変更。

 MV1DrawModel と MV1DrawFrame で、不透明のメッシュを描画してから半透明のメッシュを描画するように処理を変更。

 SetWindowSizeChangeEnableFlag( TRUE ) ; で比率固定でウインドウのサイズを変更できるようにした場合の、四隅を掴んでウインドウサイズを変更しようとした際に正常な動きをしないことがあるバグを修正。

 モデルビューアーのマテリアルに半透明要素ありかどうかの表示を追加。

 描画ブレンドモードに DX_BLENDMODE_SRCCOLOR を追加。

 CreateGraphFromMem など、ファイル以外のソースからグラフィックハンドルを作成した場合も、デバイスロスト時に自動的に復帰するように処理を変更、また、それに伴って自動復帰を行うかどうかの設定を行う関数 SetUseGraphBaseDataBackup を追加。

 BltBmpToGraph などから GraphName や ReverseFlag を削除。

 最小化している間はウインドウがアクティブでもデフォルトでは処理を停止するように処理を変更。

 シェーダーモデル2.0以上が使えない環境ではフルスクリーンアンチエイリアスは使用できないように処理を変更。

 一部のフォントが小さく描画されてしまっていた不具合に対応。

 複数のプロセスから同一の dxa ファイルにアクセスすることができるようにプログラムを変更。

 ウインドウのサイズが変更されたときの処理を改良。

 CreateGraph, CreateDivGraph, ReCreateGraph が正常に動作しなくなっていたバグを修正。

 マウスホイールの水平回転量を取得するための関数 GetMouseHWheelRotVol を追加。

 SetSysCommandOffFlag( TRUE ) ; にした場合の動作を Windowsキーと Altキー、F10キーが効かなくなるだけに処理変更( 今までは Vista 以降では ALT+TAB も効かなくなっていました )

 Vista 以降では ^ キーの押下状態が取得できなくなっていたバグを修正。

 ソフトウエアレンダリングモードで DrawTriangle を使用した場合、SetDrawBright の設定の青成分と赤成分が逆になってしまっていたバグを修正。

 ウインドウモードで表示サイズが等倍以外の際に SetMousePoint でマウスの座標が正常に変更できないバグを修正。

 フルスクリーンモードのタスク切り替え時の処理を変更。( 非アクティブになったタイミングで DirectX オブジェクトの解放をするように処理を変更し、ウインドウプロージャでは復帰処理をしないようにしました )

 画面のZバッファのサイズを設定する関数 SetZBufferSize を追加。

 動画を読み込んで作成したグラフィックハンドルを MV1SetTextureGraphHandle でモデルのテクスチャとして適用した場合に動画が表示されなかったバグを修正。

 算術関数 Plane_Point_MinLength_Position と Plane_Point_MinLength を追加。

 ワールド座標からスクリーン座標に変換する際にWで割る前の4要素を得るための関数 ConvWorldPosToScreenPosPlusW を追加。

 VCos が 1.0f 以上や -1.0f 以下の値を返すことがあるバグを修正。

 動画ファイルを LoadGraph で読み込んで、PlayMovieToGraph で再生後一度も描画せずに削除するとメモリリークが発生していたバグを修正。

 描画可能画像にミップマップを使用してしまっていたバグを修正。

 SetMovieRightImageAlphaFlag 関数の機能が無効になっていたバグを修正。

 シェーダーファイルの定数値を取得するための関数 GetConstDefaultParamFToShader を追加。

 シェーダーファイルの定数値が使用するシェーダー定数の数を取得するための関数 GetConstCountToShader を追加。

 グラフィックハンドルが使用しているテクスチャのサイズを取得するための関数 GetGraphTextureSize を追加。

 モデルビューアーにワイヤーフレーム表示機能を追加。

 DrawPrimitive2DToShader 等のオリジナルシェーダーを使用する関数を使用した直後では MV1DrawModel 等のモデル描画関数が失敗してしまうバグを修正。

(2011/4/2)

3.05  正式公開に当たってバージョン番号を変更。

3.04e  SetWindowSizeChangeEnableFlag でウインドウのサイズを変更できるようにした状態でウインドウの端をドラッグしてウインドウのサイズをデスクトップのサイズ以上に大きくしようとするとウインドウが画面外に移動してしまうバグを修正。

 ソフトウエア画像からブレンド用画像を作成する関数 CreateBlendGraphFromSoftImage を追加。

 SetChangeScreenModeGraphicsSystemResetFlag( FALSE );をした状態で ChangeWindowMode でウインドウモードを変更するとエラーが発生してしまっていたバグを修正。

 画面よりも大きな描画可能画像に対して描画処理を行おうとするとエラーが発生してしまうことがあるバグを修正。

 PAD_INPUT_1 ~ PAD_INPUT_28 のマクロを追加。

 WindowsVista以降でウインドウモードで起動して、ウインドウの最小化と元のサイズに戻すを繰り返すか、フルスクリーンモードでのデスクトップ画面とフルスクリーンの切り替えを繰り返すと不正な処理で強制終了してしまうことがあるバグを修正。

 GetIMEInputData で取得できる IMEINPUTDATA構造体に「文字変換中かどうか」の情報を追加。

 モデルデータの読み込みで必要の無い量のメモリを確保してしまっていたバグを修正。

 SetCreateSoundDataType関数で DX_SOUNDDATATYPE_MEMNOPRESS 以外を設定した状態で SetLoopSamplePosSoundMem 関数などでループ位置を指定していた場合、ループした後は GetCurrentPositionSoundMem 関数の戻り値がマイナスになってしまうことがあるバグを修正。

 スフィアマップ用の情報も含まれる PMD ファイルのテクスチャが正常に読み込めなかったバグを修正。

 頂点カラーの無いモデルはデフォルトでマテリアルの色を頂点カラーとするように処理を変更。

 サウンドに設定しているパンパラメータを取得するための関数 GetPanSoundMem を追加。

 GetFrequencySoundMem 関数の戻り値を SetFrequencySoundMem 関数で設定した値を考慮するように処理を変更。

 ストリーム再生型ではないサウンドハンドルに対してループ位置を設定する関数( SetLoopPosSoundMemなど )でループ位置を設定した場合、それ以前にSetVolumeSoundMem関数などで変更していた状態が全てリセットされてしまうバグを修正。

 Unicode版で Unicodeフォーマットのテキストファイルを FileRead_gets関数で読み込むと、ファイルの一文字目が読み飛ばされるバグを修正。

 画面切り替えが発生すると3Dモデルが描画されなくなることがあるバグを修正。

 3Dモデルの基本データからコピーする MV1CreateCloneModel の追加。

 3Dモデルの頂点カラーを設定されているマテリアルのカラーにする関数 MV1RefreshVertColorFromMaterial の追加。

 ログファイルを保存するディレクトリを設定するための関数 SetApplicationLogSaveDirectory を追加。

 画像中ピクセルのアルファ値の状態を取得するための関数 CheckPixelAlphaBaseImage と CheckPixelAlphaSoftImage を追加。

 ファイルパスに複数個ピリオド文字( . )が含まれていると _a 付きのアルファ画像の読み込みが正常に行われないバグを修正。

 DxLib_Init と DxLib_End を繰り返すと2回目以降 DxLib_Init が失敗する不具合を修正。

 頂点インデックス数が複数種類あるモデルを読み込もうとするとメモリの不正なアクセスをしてしまうバグを修正。

 RGBフォーマットのDDSファイルの読み込みができなかったバグを修正。

 マスク機能を有効にした状態で3Dの描画を行うと正常な結果が得られないバグを修正。

 DirectInput の生の情報を取得するための関数 GetJoypadDirectInputState を追加。

 描画元の輝度を最大4倍にする DX_BLENDMODE_ADD_X4 を追加。

 SetUseBackCulling でカリングを有効にしていると DrawTriangle で描画する三角形が指定する座標の回転順番によっては描画されないことがあるバグを修正。

 アルファテストの設定を変更するための関数 SetDrawAlphaTest を追加。

 サウンドファイル以外や対応していないサウンドファイルを LoadSoundMem で読み込もうとした場合、メモリの不正なアクセスが発生してしまうバグを修正。

 グラフィックスデバイスのロストから復帰した際に呼ばれるコールバック関数を設定するための関数 SetGraphicsDeviceRestoreCallbackFunction を追加。

 GnuC++ 用のライブラリファイルを作成するための細かい変更。

(2011/1/3)

3.04d  公開用にバージョン番号を変更。

3.04c  3Dモデルのフレームの範囲を示す8座標が全て Near, Far のどちらかの範囲の外にある場合に、ポリゴンがカメラに映っていてもクリッピングされてしまっていたバグを修正。

 ソフトウエアで扱う波形データを無圧縮wav形式で保存するための関数 SaveSoftSound を追加。

 MV1SetRotationMatrix が正常に機能していなかったバグを修正。

 ポリゴン数が約2万を超えるメッシュを読み込むと正常に表示されないことがあるバグを修正。

 マスクの機能が正常に動作していなかったバグを修正。

 頂点バッファとインデックスバッファを扱う関数を追加。

 フルスクリーンにできない解像度でウインドウモードで起動しているときに ChangeWindowMode( FALSE ) ; としてフルスクリーンモードにしようとすると動作が停止してしまうバグを修正。

 SetUseSoftwareRenderModeFlag が、引数に渡す値と逆の効果になってしまっていたバグを修正。

 フォントの文字情報を取得するための関数 GetFontCharInfo を追加。

 GraphColorMatchBltVer2 で透過色付き転送をした際に透過色の判定に未使用ビットも含めて判定してしまっていたバグを修正。

 GraphColorMatchBltVer2 で XRGB8 から ARGB8 へ透過色つきで転送する処理を高速化。

 ストリームサウンド処理を ProcessMessage でも呼ぶように処理を変更。

 モデルに貼り付ける用の読み込み方式で画像を読み込む関数 MV1LoadTexture を追加。

 SetWindowSizeChangeEnableFlag で FitScreen が FALSE だった場合は SetWindowSize の設定を無効にするように処理を変更。

 座標変換情報が付いた Mqo ファイルが正常に読み込めなかったバグを修正。

 VMDファイルのカメラモーション情報も読み込むように処理を変更。

 モーションのアニメーションキーを時間指定で取得するための関数を追加。

 DrawPrimitive2DToShader 等のシェーダーを使用した描画で、Float レジスタ0の値がDXライブラリ側で操作されてしまっていたバグを修正。

 DX_NON_JPEGREAD 等のコンパイルオプションを有効にしてライブラリをコンパイルするとリンクエラーやコンパイルエラーが発生していたバグを修正。

 SetUseDirectInputFlag の設定が反映されなくなっていたバグを修正。

 SetUserWindow を使用すると Log.txt が出力されないという仕様を撤廃。

 アナログスティックでの方向ボタン判定が敏感すぎたので無視範囲を変更。

(2010/10/24)

3.04b  ジョイパッドの振動機能を使用するかどうかを設定する関数SetUseJoypadVibration を追加。

3.04a  DrawLine3D, DrawTriangle3D の高速化。

 DrawPixel3D を追加。

 フルスクリーンで起動した状態でアクティブなウインドウの変更でデスクトップ画面に戻り、再びDXライブラリのウインドウがアクティブな状態になりフルスクリーン画面に戻った場合、SetDrawArea の設定と SetJoypadInputToKeyInput の設定がリセットされてしまっていたバグを修正。

 使用しないサウンドデータ読み込み処理を無効化するための関数 SetDisableReadSoundFunctionMask を追加。

 サウンドデータが含まれていない ogv ファイルを再生しようとするとエラーが発生することがある不具合を修正。

 ストリーム型サウンドハンドルを DX_PLAYTYPE_NORMAL で再生すると何時までも再生関数から戻ってこなくなるバグを修正。

 MakeKeyInput の文字列入力機能で、Delキーや BackSpaceキーを押して文字を消すと消した後の文字列が壊れてしまうことがあるバグを修正。

 パス指定に .. を入れた場合のディレクトリを遡る処理で文字列をマルチバイト文字がある可能性があることを前提としていなかったバグを修正。

 GetDrawScreenGraph において、描画先をロックして転送する場合と一時的な描画可能サーフェスを用意して間接的に転送する場合でどちらが高速かチェックするコードの追加。

 3Dモデルのテクスチャ画像も末尾に _a を加えたファイルがあった場合はそれを透明度テクスチャとして読み込むように処理を変更。

 ソフトウエアイメージの一部分だけをクリアするための関数 ClearRectSoftImage を追加。

 ソフトウエアレンダリングモード時に LoadBlendGraph 等を使用するブレンド画像処理が正常に動作しないことがあったバグを修正。

 BltStringSoftImage でソフトウェアイメージに文字列を転送すると下端・右端が位置ドットかけてしまうバグの修正。

 裏画面の内容を指定のウインドウに転送するための関数 BltBackScreenToWindow と BltRectBackScreenToWindow を追加。

 DXアーカイブファイルと同名のフォルダがあった場合、どちらを優先させるかを設定するための関数 SetDXArchivePriority を追加。

 CheckFontChacheToTextureFlag と GetFontChacheToTextureFlag の誤字修正版の関数を追加。

 管理者権限の無いアカウントで一部の jpeg ファイルが開けない不具合を修正。

 KeyInputString 関数を実行するとカメラの設定がリセットされてしまっていたバグを修正。

 ウインドウが最小化されていたり他のウインドウに完全に覆われていたりすると ScreenFlip での VSYNC 待ちが行われない不具合を修正。

 3D空間上の指定座標で指定サイズを持つビルボードをスクリーンに投影した場合のピクセル単位でのサイズを取得するための関数 GetBillboardPixelSize を追加。

 バックカリングの設定を行う関数の引数を、右回り背面カリングと左回り背面カリングのどちらをしようするか選択できるように変更。

 MV1SetScale で設定できるスケーリングの処理が、回転の後にスケーリングを掛けるようになっていた処理を、スケーリングの後に回転を行うように仕様を変更。

(2010/9/17)

3.04  正式公開用バージョン番号、内容変更無し。

3.03a  画面のRGB面のクリアに使用する関数を ColorFill から Clear に変更。

 Unicode 対応のライブラリファイルが wchar_t を unsigned short として定義されていないと使用できなかった不具合を修正。

 Vista以降では Direct3D9Ex を使用して画面出力遅延を抑える処理を行うように処理を変更。

 Vista 以降での遅延問題が解決したので、Ver3.02f で行ったデフォルトで Direct3D9 の VSYNC 待ちを使用しない処理を元に戻しました。

 MV1SetScale で拡大する設定にするとシェーダーモデル2.0を使用できない環境で描画するモデルが白く表示されてしまう不具合を修正。

 Unicode 文字セット版でキー入力処理やログ出力の文字列が正しく表示されないバグを修正。

 ChangeFont 関数の第一引数の型定義に誤りがあり、Unicode 文字セット版で ChangeFont 関数が使用できなくなっていたバグを修正。

 DX_DRAWMODE_BILINEAR の設定で画像を拡大描画すると、画像の端が半透明になってしまうことがある不具合を修正。

 DrawRota2Graph3D で拡大率を 1.0 以外にすると回転の中心座標が指定の座標からずれてしまうバグを修正。

 子のボーンが親のボーンより先に定義されている PMD ファイルを読み込もうとするとメモリの不正なアクセスが発生してしまっていたバグを修正。

 32ビットカラーのBMPファイルに対応。

 3Dモデルをワイヤーフレーム描画をするかどうかを設定するための関数 MV1SetWireFrameDrawFlag を追加。

 キーの数が0個の AnimationKey が含まれている x ファイルを読み込むとエラーが発生するバグを修正。

 PMD のスペキュラ情報の読み込み処理が正しくなかったバグを修正。

 PMD のトゥーンテクスチャ情報を読み込むように処理を変更。

 PMD のトゥーンテクスチャ用にグラデーションテクスチャのアドレス参照の向きを逆にする機能を追加。

 PMD を読み込んだ際はデフォルトでマテリアルのタイプをトゥーンレンダリングタイプ2にするように処理を変更。( この変更に伴いトゥーン用のテクスチャも PMD ファイルと同じフォルダに格納しなければならないようになりました。詳しくは MV1LoadModel の解説をご参照下さい )

 トゥーンレンダリング時もライトの色を反映するように処理を変更。

 PlayMovie 関数で、再生方式を DX_MOVIEPLAYTYPE_BCANCEL にしても Vista 以降のOSではボタンを押しても再生をキャンセルすることができないバグを修正。

 トゥーンレンダリングのグラデーションテクスチャ座標の参照にR以外のG・Bも考慮して、一番値の大きい要素を座標値とするように処理を変更。

 MV1SetMaterialSpcGradTexture や MV1SetMaterialDifGradTexture に -1 を渡してもグラデーションテクスチャが無効にならないバグを修正。

 PMD のトゥーンレンダリングに近いレンダリングを行うトゥーンタイプ2( DX_MATERIAL_TYPE_TOON_2 )を追加。

 書式付き文字列描画関数に渡せる最大文字数を256文字から2048文字に変更。

 PMD の読み込みの場合のみ半透明のマテリアルを使用するメッシュはバックカリングご行わないように処理を変更。

 Vista以降でマスク機能を使用しようとするとエラーが発生してプログラムが終了してしまうバグを修正。

 Zバッファに文字列を描画する関数を追加。

 DrawPolygon では SetDrawZ の設定が反映されていなかったバグを修正。

 ソフトウエア画像のパレットを操作する関数が Ver3.00 以降無効になっていたバグを修正。

 PMD の輪郭線を付けるかどうかの情報を反映するように処理を変更。

 トゥーンレンダリングで輪郭線の最低ドット幅を指定するための機能を追加。

 SetNotWinFlag( TRUE ) ; でウインドウを表示しない状態で通信機能を使おうとするとメモリの不正なアクセスが発生してしまっていたバグを修正。

 Vista 以降でフルスクリーンモードで起動中に他のプロセスがアクティブになると、Aero が必ず無効になっているバグを修正。

 LoadDivGraph で分割した画像を DrawModiGraph で描画すると隣の画像のピクセルが描画されてしまうことがあるバグを修正。

 ゲームパッドを接続せずにフルスクリーンモードで起動し、Windowsキーを押すなどしてデスクトップに戻り、ゲームパッドを接続、その後ソフトをアクティブにしてフルスクリーンに戻り、その後 DxLib_End を実行すると不正なメモリのアクセスが発生してしまうバグを修正。

(2010/7/18)

3.03  公開用にバージョン番号アップ

3.02f  Borland C++ Compiler で VGet や VSub がインライン展開されていなかったバグを修正。

 MV1SetupReferenceMesh の引数 IsTransform を FALSE にして作成した参照用ポリゴンリスト構造体の MaxPosition と MinPosition が正常な値ではなかったバグを修正。

 指定できる文字セットに BIG5 と GB2312 を追加。( W.X.さん作のコードを参考に実装! )

 列挙するフォントの文字セットを指定できるフォント名列挙関数 EnumFontNameEx を追加。

 物理演算用データが存在しない PMD ファイルをモーションと一緒にビューアーで読み込もうとするとエラー終了するバグを修正。

 線分が三角形を貫いている場合 Segment_Triangle_MinLength, Segment_Triangle_MinLength_Square, HitCheck_Capsule_Triangle が正常な結果を返してこないことがあるバグを修正。

 ソフトウエア制御サウンド系の関数群を追加。

 GetJoypadInputState で接続されていないポートのパッドIDと DX_INPUT_KEY の論理和を渡されると不正な処理でプログラムが停止してしまうバグを修正。

 MV1CollCheck_Line の線分と接触したポリゴンを配列で返してくるバージョンの MV1CollCheck_LineDim を追加。

 Zバッファだけをクリアする関数 ClearDrawScreenZBuffer を追加。

 フレーム数が多いモデルで MV1DrawFrame や MV1DrawMesh を使用すると関数1回辺りのCPU負荷が非常に高くなるバグを修正。

 UDP通信のための機能を追加。

 MV1SetRotationZYAxis 関数の引数 ZTwist に何を渡しても効果が無かったバグを修正。

 DrawStringMask 等のマスクに対する文字列描画が動作しなかったバグを修正。

 ScreenFlip 実行後に画面に繁栄されるまでのレスポンスが悪いのでデフォルト設定では Direct3D9 の VSYNC 待ちを使用しないように内部処理を変更。

 ClearDrawScreen と ClearDrawScreenZBuffer にクリア領域を指定するための引数 ClearRect を追加。

 ソフトウエアレンダリングモード時に文字描画をすると左側と上側1ドットづつ欠けてしまうバグを修正。

 Unicode 設定でのコンパイルに対応。

 3D描画のスケールを設定できる関数 SetDraw3DScale を追加。

 Log.txt に出力するメモリの総量、空き容量が搭載メモリが4GBを越える環境では正常に出力されていなかったバグを修正。

 MMDのモーションファイル( VMD )でIKを行うボーンに対してアニメーションキーが一つしか打たれていないと正常に再生処理が行われないバグを修正。

 PMDのロードが何時まで経っても終わらないことがあるバグを修正。

 裏画面の一部分を表画面全体に表示するための関数 SetGraphDisplayArea を追加。

(2010/6/6)

3.02e  DX_SOUNDDATATYPE_MEMNOPRESS のサウンドハンドルに対して SetLoopPosSoundMem を使用すると不正なメモリのアクセスが発生するバグを修正。

 MMD のIK精度の向上。

 同時に使用できるサウンドハンドルの数を 32768 個に増量。

 GetPixel が必ず 0 を返すようになってしまっていたバグを修正。

 MMD が読み込み機能に関する記述を関数リファレンスの MV1LoadModel の解説に追加。

3.02d  Segment_Segment_MinLength_Square で零除算してしまうことがあるバグを修正。

 MV1GetMeshMinPosition が 100000000.0000 という値を返してしまうことがあるバグを修正。

 厚さ0のモデルを使用した場合当たり判定処理が正常に行われないことがあるバグを修正。

 サウンドハンドルを再生する前に ChangeVolumeSoundMem を実行した際に関数を呼んでも音量が変わらなかったバグを修正。

 テクスチャのないマテリアルとテクスチャのあるマテリアルが混在している xファイルを読み込むと、テクスチャのないマテリアルに適当なテクスチャが割り当てられる仕様を、割り当てられないように変更。

 間接参照に失敗しているxファイル( Animation 内で指定しているフレームが存在しない場合 )を読み込もうとするとエラーが発生するバグを修正。

 SetCameraScreenCenter を使用して描画可能範囲を中心以外にしていると座標的に画面内に映るはずの3Dオブジェクトを描画しても描画されないことがあるバグを修正。

 .NET版に unsafe にすれば使用できる関数を追加。( 使用する場合はプロジェクトを unsafe 許可にして、且つ DX_USE_UNSAFE を定義する必要があります )

 一部の関数が DxLib.dll に出力されていなかった不具合を修正。

 SetDrawAreaFull を追加。

 SetNextPlayPanSoundMem 等の関数を使用すると、以後の再生処理で定期的に SetNextPlayPanSoundMem 等の関数の設定が反映されてしまうバグを修正。

 GetMouseInputLog 関数をDXライブラリ内部関数から公開関数に変更。

 正常に読み込めない Fbx ファイルがあるバグを修正。

 行列を使用する3Dモデルのアニメーションが正常に再生されないことがあるバグを修正。

 サウンドをソフトウエアミキシングで再生するかどうかを設定する関数 SetUseSoftwareMixingSoundFlag 関数を追加。

 bextチャンクのある Wave ファイルを読み込もうとするとエラーが発生するバグを修正。

 SetChangeScreenModeGraphicsSystemResetFlag( FALSE ) ; で画面モードを変更しても設定がリセットされないようにしているとフォグの設定が正常に復元されないバグを修正。

(2010/5/2)

3.02c  SetSoundCurrentPosition を使用しても正常に再生位置を変更できないことがあるバグを修正。

 SetSoundCurrentPosition 等の音の位置を設定する関数で終端をギリギリ超えた位置を指定するとエラーが発生せずに不正な再生位置が設定できてしまうバグを修正。( DX_SOUNDDATATYPE_MEMNOPRESS 以外で Ogg 形式の場合のみ )

 サウンドデータのストリーミング再生の方式を変更。

 DeleteSoundMem 関数を呼ぶと何時までも関数から処理が返ってこなくなる致命的なバグを修正。

 DirectShow を使用したMP3デコード処理を追加、MP3ファイルが再生できない環境が少なくなりました。

 ハードウエアが対応していないサイズのテクスチャが3Dモデルに貼られていた場合はハードウエアが扱えるサイズに縮小して読み込むように安全策を強化。

 DX_SOUNDDATATYPE_MEMNOPRESS タイプのサウンドハンドルを複製するための関数 DuplicateSoundMem を追加。

 DX_SOUNDDATATYPE_MEMNOPRESS タイプのみ SetVolumeSoundMem や SetPanSoundMem 等を PlaySoundMem 再生個別毎に設定できるように処理を変更。

 次に鳴らす音の設定をすることができる関数を4つ追加。( SetNextPlayPanSoundMem 等 )

 一部のXファイルが読み込めない不具合への対応。

(2010/4/24)

3.02b  Vista以降でDXライブラリを初期化したスレッド以外のスレッドからキー入力関係の関数を呼んでもキーが押しても押されたという結果が得られないバグを修正。

 FillSoftImage が正常に動作しないバグを修正。

 DxLibModelViewer を Vista 以降で実行すると Aero が無効になってしまうバグを修正。

 SetCameraPositionAndTargetAndUpVec でY軸に垂直な視線を設定すると計算エラーが発生していたバグを修正。

 短いサウンドデータに対して SetLoopPosSoundMem を使用すると再生ループ時に止まってしまうバグを修正。

 非対応の再生形式 DX_SOUNDDATATYPE_MEMNOPRESS_PLUS を指定された際は DX_SOUNDDATATYPE_MEMNOPRESS を指定した場合と同様の処理をするように処理を変更。

 フルスクリーンモードで SetDrawMode で描画モードを変更していても ALT+TAB 等で画面切り替えが発生してから元に戻ると変更した描画モードがデフォルトに戻ってしまうバグを修正。

 MV1LoadModel のパス指定に \ の代わりに / を使用するとテクスチャが読み込まれないことがあるバグを修正。

 トゥーンレンダリングの設定をしたモデルを MV1DrawMesh 以外の関数で描画すると正常な描画結果を得られなかったバグを修正。

 3分以上のサウンドファイルは DX_SOUNDDATATYPE_MEMNOPRESS の指定で読み込まれてもエラーが発生する可能性があるため、自動的に DX_SOUNDDATATYPE_MEMPRESS の指定で読み込むように処理を変更。

 SetUse3DFlag( FALSE ) ; などを実行してソフトウエアレンダリングモードで起動している際にアクティブウインドウの切り替えを行うとメモリの不正なアクセスが発生するバグを修正。

 MMD形式のモーションを読み込むとIKの誤動作で不自然な方向に間接が曲がることがあるバグを修正。

 派生した画像ハンドルも纏めて削除する関数 DeleteSharingGraph の追加。

 SetUseDirectInput( TRUE ) ; を Vista 以降の環境で実行すると Vista以降でも強制的に DirectInput を使うように処理を変更。

3.02a  3Dモデルのマテリアルをトゥーンレンダリングにした場合に正常に描画されないことがあるバグを修正。

(2010/3/23)

3.02  SetCurrentPositionSoundMem と GetCurrentPositionSoundMem を追加。

 WaitTimer の精度を上げました。

 モデルハンドルにエラーチェックビットの追加。

 SetActiveKeyInput が呼ばれたときに内部で ClearInputCharBuf を呼び、その時点までの文字入力をクリアするように処理を変更。

 320x240 の画面モードでドットがくっきり表示されるように処理を変更。

3.01a  DirectX9版で320x240の解像度のフルスクリーンモードが使用できなかった不具合を修正。

 ChangeWindowMode をした後、3Dの描画関数を使用しても何も描画されないバグを修正。

 ビュー行列を取得するための関数 GetCameraViewMatrix の追加。

 mqo形式の複数軸のミラーリング指定がされているオブジェクトが正常にミラーリングされなかったバグを修正。

 画像減色時の処理を誤差拡散モードにしていた場合、A1RGB5 の形式に変換する際にアルファ値が正常に処理されないバグを修正。

 Zバッファを有効にすると DrawRotaGraph3D を実行しても何も描画されないバグを修正。

 サウンド再生時のループを開始する位置を設定する関数 SetLoopStartTimePosSoundMem の追加。

 アルファ情報つきのソフトウエアイメージを DrawSoftImage で描画した際にアルファ情報が適応されていなかったバグを修正。

 フレーム単位でアニメーションのブレンドレートを設定するための関数 MV1SetAttachAnimBlendRateToFrame を追加。

 DrawBillboard3D の TurnFlag を TRUE にした場合正常な描画がされないバグを修正。

 WindowsVista 以降ではマウスのボタン入力の検出に DirectInput を使用しないように処理を変更。

 DX_SOUNDDATATYPE_MEMNOPRESS 指定のサウンドハンドルに対して SetSoundCurrentTime で再生位置を指定しても1回目の再生前以外では設定が反映されないバグを修正。

 ChangeWindowMode や SetGraphMode を行った際に描画設定やグラフィックハンドルを破棄するかどうかを設定する関数 SetChangeScreenModeGraphicsSystemResetFlag の追加。

 DrawBillboard3D と DrawModiBillboard3D を高速化。

 データとして正常ではないサウンドファイルを読み込んだ際にエラー判定されずにプログラムが停止してしまうことがある不具合を修正。

 DXアーカイブを扱う関数を DxLib_Init の前で呼んでも問題が無いようにプログラムを変更。

 描画先画面の内容をソフトウエアイメージハンドルに転送するための関数 GetDrawScreenSoftImage の追加。

 GetDrawScreenGraph を多少高速化。

 シェーダーが有効な環境で SetUseLighting の設定が反映されないことがあるバグを修正。

 GetImageAddressSoftImage 関数の追加。

 GetPixel の高速化。

 CPUの負荷が DrawGraph の約半分の高速描画用の関数 DrawPrimitive2D と DrawPrimitiveIndexed2D の追加。

(2010/1/2)

3.01  公開用バージョン

3.00f  頂点カラーが定義されたxファイルが読み込めないバグを修正。

 DxLibModelViewer でマテリアルのテクスチャを変更して保存しても変更が反映されないバグを修正。

 DxLibModelViewer でマテリアルのテクスチャを2回以上変更すると正常な描画が行われないバグを修正。

 フルスクリーンモードでマウスカーソルを画面最上部に移動すると動作が止まってしまうバグを修正。

 一度に沢山の文字を描画すると正常な描画結果が得られないバグを修正。

 入力が完了した入力ハンドルに対して SetActiveKeyInput を実行してもリファレンスに書いてあるように入力完了がリセットされなかったバグを修正。

 メモリ確保を行う関数を複数のスレッドで同時に使用しても正常に処理されるようにプログラムを改良。

 GetColorBitDepth 関数の戻り値の仕様を DirectX7 版と違ったので DirectX7 版と同じ挙動をするように修正。

 ログの出力を Windows7 に対応。

 フルスクリーンモードで ALT+TAB で一度デスクトップ画面に戻り、その後再度ソフトをアクティブにしてフルスクリーンモードに復帰した際にシェイプデータを伴うモデルを描画しようとすると不正な処理でプログラムが停止してしまうバグを修正。

 DXアーカイブ内にあるモデルファイルが読み込めなかったバグを修正。

 DrawTriangle 関数を高速化。

 逆行列が求められない行列が MInverse に渡された場合は単位行列を返すように処理を変更。

 DirectX9版の動画の再生方式を変更。

 3Dモデルのアニメーションのブレンド方式を行列ブレンドに統一。

 グラフィックスデバイスが対応していないフォーマットの画像を読み込もうとするとメモリの不正なアクセスが発生するバグを修正。

 画面のカラービット数が32ビット以外の環境で SetBackgroundColor 関数を使用すると、背景色が指定の色にならないバグを修正。

 SetDrawArea で描画範囲を制限している状態で ClearDrawScreen を使用すると SetDrawArea で描画できる範囲しかZバッファがクリアされないバグを修正。

 3Dモデルを描画した後に描画可能画像を縮小描画すると意図しない画像が描画されるバグを修正。

 Visual C++ 用のライブラリを作成する際に使用するコンパイラを VisualC ++ 2005 に変更。

(2009/11/6)

3.00e  複数のミラーリングを使用したオブジェクトが含まれる mqo ファイルを読み込むとメモリリークが発生するバグを修正。

 Frame の下に名前つきの Mesh が複数ある xファイルを読み込むと正常にアニメーションが再生されないバグを修正。

 MeshMaterialList の nMaterials で指定されたマテリアル全てが FaceIndexes で使用されていないと読み込みに失敗するバグを修正。

 xファイルのクォータニオンを使ったアニメーションが正常に再生されないことがあるバグを修正。

 FBXファイルのアニメーションで一部のアニメーションキーが抜けてしまうことがあるバグを修正。

 PMDをxファイルで保存すると正常に読み込めないxファイルが作成されることがあるバグを修正。

 xファイルの全角文字列対応。

 Zバッファを有効にした状態で3D上にビルボードを描画すると透過色が正常に働かないことがあるバグを修正。

 正常に読み込めない xファイルを読み込めるように修正。( 回転値解析に失敗していた )

 ドライブのルートフォルダにあるモデルファイルを読み込めないバグを修正。

 デスクトップ画面からはみ出る大きさのウインドウサイズでウインドウモード起動した場合、強制的に画面左上端にウインドウが移動されるバグを修正。

(2009/10/17)

3.00d  Segment_Triangle_MinLength 関数で線分が三角形を貫通している場合に正常な戻り値が得られなかったバグを修正。

 DXライブラリの関数呼び出しのオーバーヘッドを軽減。

 フルスクリーンモードでマウスポインタを表示していると画面の左上端にマウスカーソルを移動するとマウスカーソルが消えてしまうバグを修正。

 ウインドウモードで Ctrl+Alt+Delete キーでシャットダウン画面にするとデスクトップ画面に戻った際に画面表示が一切されなくなるバグを修正。

 モデルとカプセル形状の辺り判定を行う関数 MV1CollCheck_Capsule の追加。

 モデルの指定のフレームのテクスチャ座標変換パラメータを設定する関数 MV1SetFrameTextureAddressTransform を追加。

 Windows Vista でフルスクリーンモードでの動作中に ALT+F4 でソフトを終了するとメモリの不正なアクセスが発生するバグを修正。

 クォータニオンを使用したアニメーションデータを読み込むと正常に再生されないことがあった不具合を修正。

 フルスクリーンモードから ChangeWindowMode を使用してウインドウモードに変更した場合、常に最善面ウインドウになってしまっていたバグを修正。

 行列タイプのアニメーションデータを使用している xファイルのアニメーションが正常に再生できないことがある不具合を修正。

 カレントフォルダ以外のフォルダにあるモデルファイルを MV1LoadModel で読み込むとカレントフォルダが変更されてしまうバグを修正。

 PMD形式とVMD形式のファイルの読み込みに仮対応。( IK が MikuMikuDance での挙動と違い、物理にも非対応 )

 DrawCapsul3D のスペルミスを DrawCapsule3D に修正。

 3D空間上の座標をスクリーン座標に変換する関数 ConvWorldPosToScreenPos の追加。

 スクリーン座標を3D空間上の座標に変換する関数 ConvScreenPosToWorldPos の追加。

 3D表示の消失点を設定する関数 SetCameraScreenCenter の追加。

(2009/9/20)

3.00c  公開用にバージョンをアップ。

3.00b  Direct3D のデバッグランタイムで出力されるエラーの対応。

 マルチスレッド関連の対応。

 縁ありフォントを使用し続けていると文字の後ろに縁色のゴミが描画されるバグを修正。

 Ver3.00以降 GetVideoMemorySize が正常な値を返さなかったバグを修正。

 16ビットカラーの画面モードで24ビットカラーを使用すると色の精度が落ちて指定した透過色ではない部分まで透過されてしまう仕様を改善。

 一部のグラフィックスデバイスで画面表示が全く行われないバグを修正。

 αチャンネル付き画像がフルスクリーンモード→デスクトップ画面→フルスクリーンモードを経ると正常に表示されないバグを修正。

(2009/9/13)

3.00a  2のn乗ではないテクスチャが使用されたモデルで正常にテクスチャが貼られなかったバグを修正。

 終了時にメモリの不正なエラーが発生するバグを修正。

 Windows Vista ではキーボードの押下状態の取得に DirectInput を使用しないように処理を変更。

 COMの初期化やゲームパッドの協調レベルの設定に失敗してもソフトを終了しないように処理を変更。

 球とモデルの当たり判定結果のポリゴン配列構造体から指定のポリゴン情報一つだけを取得する関数 MV1CollCheck_GetResultPoly の追加。

(2009/9/6)

3.00  使用する DirectX のバージョンを 7 から 9 に変更。

 3Dモデルを扱う機能や、3D描画に関連した機能の追加。

 Direct3D 9 の使用に伴い SetWaitVSyncFlag の仕様が DxLib_Init を呼び出す前でのみ有効なように変更。

2.25c  MakeKeyInput の数値入力機能に浮動小数点値を入力する機能を追加。

 MakeKeyInput の入力機能に、決定後に再編集するための ReStartKeyInput 関数を追加。

 SetActiveKeyInput に -1 を渡すと、アクティブなキー入力が無くなる様に仕様を変更。

 クリップボード上のテキストデータを扱うための関数 SetClipboardText と GetClipboardText を追加。

 ストリーム型サウンドデータではないサウンドハンドルに対して SetLoopPosSoundMem を使用すると、それ以後 SetLoopPosSoundMem で指定したサウンドハンドルが使用できなくなるバグを修正。

 DrawString に 256文字以上の文字列を渡すと正常に動作しなかったバグを修正。

 パッドが接続されていないパッド番号に対して SetJoypadInputToKeyInput 関数を使用しても効果が無かったバグを修正。

 DrawPolygon3D でソフトウエア頂点座標変換を行っていたのを、Direct3D の頂点座標変換機能を使用する方式に内部処理を変更。

 画面サイズ以上のサイズの描画先に対して画面サイズ以上の領域を SaveDrawScreen で保存しようとするとエラーが発生するバグを修正。

(2009/5/1)

2.25b  一般公開用ライブラリファイルでのスレッドセーフ関数はネットワーク関連のみに変更。

 KeyInputString を使用するとメモリリークが発生していたバグを修正。

 スレッドセーフの関数を限定した場合も ProcessMessage を呼び続ける関数を使用していたためにメモリリークが発生していたバグを修正。

 SetCreateSoundDataType 関数で DX_SOUNDDATATYPE_MEMNOPRESS 以外を設定した状態で Ogg Vorbis ファイルを読み込んだ際に、SetLoopPosSoundMem関数で指定したループ位置の通りにループしないことがあるバグを修正。

 一部環境で起動時間が遅くなる原因となっていた処理の変更。

 Ogg Theora 以外の動画を再生するとメモリリークが発生するバグを修正。

 ソフトウエアで扱う画像データハンドルも、グラフィックハンドルと同様に無効なハンドルをソフトウエア画像ハンドルを扱う関数に渡してもメモリの不正なアクセスが起きないように、また、DxLib_End を実行した場合は未削除のソフトウエア画像ハンドルが全てそこで削除されるように内部処理仕様を変更。

 DrawVString 等の文字列の縦書き関数で SetDrawArea 関数で設定した描画領域が効いていなかったバグを修正。

 SetDrawArea で左上座標を 0,0 以外を指定していた場合、KeyInputString の描画座標が指定の座標からずれてしまうバグを修正。

 DrawBlendGraph でアルファチャンネルの計算が正しくなかったバグを修正。

 ソフトウエアレンダリングモードで DrawExtendString を使用すると描画した文字列の端に黒いゴミが出てしまうバグを修正。

 PlayMovie で DX_MOVIEPLAYTYPE_BCANCEL の再生形式で再生している際に SetAlwaysRunFlag( TRUE ) ; で他のアプリケーションにフォーカスが移っても処理が止まらないようにしていると、他のアプリケーション上でキー入力があった場合も再生がキャンセルされてしまう不具合を修正。

 動画をオーバーレイモードで再生した場合、最初に一瞬だけ乱れた画像が表示されるバグを修正。

 ウインドウモードでオーバーレイを使用した動画再生を使用した場合、他のウインドウがオーバーレイ領域の上に来た際に表示領域を狭める、若しくは消すように処理を変更。

 CheckHitKeyAll でマウスの入力を見るのはウインドウのクライアント領域内にある場合のみに処理を変更。

 3D機能を用いた塗りつぶし無し DrawBox をどのハードでも正常に描画できるように処理を変更。

 SetDrawBlendMode で DX_BLENDMODE_MULA と DX_BLENDMODE_INVSRC のどちらかを指定した場合、ソフトウエアレンダリングモードでは正常に描画されなかった不具合を修正。

2.25a  シフトキーを押しながらテンキーを押下すると、キーを離した後もシフトキー押下時の文字に対応したキーが押された状態になってしまう不具合を修正。

(2008/11/5)

2.25  Ver 2.24f において SetCreateSoundDataType 関数で DX_SOUNDDATATYPE_MEMNOPRESS 以外を設定した状態で作成したサウンドハンドルをループ再生すると、ループ時に不正なメモリアクセスによって強制終了してしまうバグを修正。

(2008/11/3)

2.24f  LoadSoftImage を始めとするソフトウエアイメージハンドル系の関数を追加。

 SetDrawBlendMode で DX_BLENDMODE_INVSRC や DX_BLENDMODE_MULA を渡した場合、DrawBox 等の画像を使用しない描画処理が正常に行われなかったバグを修正。

 SetLoopPosSoundMem でループ位置を 100秒以降にすると指定した位置で正常にループしないバグを修正。

 640x480の画面に320x240を2倍表示する関数 SetEmuration320x240 の追加。

2.24e  Ogg Theora の再生機能を追加。

 再生不可能なファイルをストリーミングモードで LoadSoundMem しようとするとメモリリークが発生していたバグを修正。

 SetDrawBright 関数で設定した輝度が反映されないことがあるバグを修正。

 DX_BLENDMODE_INVSRC の高速化。

 テクスチャステージ数が 4 に満たない場合 DrawBlendGraph が正常に動作しない可能性があることを知らせるログ出力を追加。

2.24d  マイナス等の不正な座標を GetDrawScreenGraph に渡した場合メモリの不正なアクセスが発生するバグを修正。

 DxLib_Init を実行していない状態で DxLib_End を実行されたときの動作を想定していなかったので DxLib_Init が呼ばれる前に DxLib_End が呼ばれた場合は何もせず終了するように処理を追加。

 パッドのボタンとキーボードのキーとの対応を設定する関数 SetJoypadInputToKeyInput の追加。

 透明度考慮付き乗算ブレンドモード DX_BLENDMODE_MULA を追加。

 描画元の色を反転して描画する DX_BLENDMODE_INVSRC を追加。

(2008/3/23)

2.24c  DerivationGraph で奇数サイズの画像を作成し、DrawRotaGraph で描画した場合角度によっては DerivationGraph で抜き出した元の隣接するドットが表示されてしまうことがある不具合を修正。

 ストリーム再生指定のサウンドを DX_PLAYTYPE_LOOP 以外で再生すると最後まで再生されずに途中で途切れてしまうバグを修正。

(2008/3/9)

2.24b  ATOKを使用した場合半角/全角キーを押しても日本語入力モードに変更しなかった不具合を修正。

 Direct3DDevice の初期テクスチャアドレスモードの値が 0 になってしまっていたバグを修正。

 一つのフォルダに複数の DXアーカイブが存在するとアーカイブ内のファイルを正常に読み込めないことがあるバグを修正。

 送信されたデータが受信しきらない内は GetNetWorkDataLength 関数で取得できる受信データの容量を増やさないように処理を変更。

 画面の縦解像度が 480 以外の際に DrawPolygon3D で描画するポリゴンの座標が指定よりもずれてしまうバグを修正。

 Drag & Drop されたファイル名を保存するメモリ領域の解放忘れバグを修正。

 FileRead_scanf で数値列が 64 文字を越えることによってメモリの不正なアクセスが発生してしまっていたバグを修正。

 省電力モードの発動を抑制する処理の追加。

 ウインドウモードでマスク機能をONにしていて、且つ描画対象が表画面になっている場合に SaveDrawScreen を使用すると正常に画面を保存できなかったバグを修正。

(2008/1/1)

2.24a  CapsLock/英数キーと カタカナ/ひらがなキー は CheckHitKeyAll 関数では検出されないように仕様を変更。

 STL使用時のコンパイルの不具合を解消する為に、デバッグビルド用とリリースビルド用にライブラリファイルを別々に用意する形態に変更。( 形態変更に伴い、VisualC++ 版の以前のバージョンをお使いの場合はプロジェクトの設定を変更する必要があります。詳しくは、使い方ページの『DXライブラリを使用するためのプロジェクトの設定を行う』をご参照ください )

(2007/12/16)

2.24  公開に伴うバージョン番号変更。

2.23a  FileRead_版 fscanf 関数の追加。

 DrawString で描画する文字の中にゴミが入ることがあるバグを修正。

 GetColor の戻り値を int 型から DWORD 型に変更。

 Borland C++ Compiler 版の GetNowHiPerformanceCount 関数の精度が低くなっていたバグを修正。

 Windows Vista でフルスクリーンモード時に ScreenCopy が正常に動作しない不具合を修正。

 アーカイブファイルをフォルダと見立てる機能のパス指定の柔軟性を向上。(ディレクトリ区切りの『\』が複数あっても正常に動作するように変更。LANを介したフォルダ指定(最初の2文字が『\』)に対応)

 SetSoundCurrentTime 関数で再生位置を変更した後に GetSoundCurrentTime 関数で再生位置を取得すると、サウンドハンドルのタイプに DX_SOUNDDATATYPE_MEMNOPRESS 以外を指定していた場合は正常な値が返ってこなかったバグを修正。

 MP3 ファイルが正常な長さで再生されないことがあった不具合を修正。

 文字列入力時に CTRL+キー を押すと制御コードが入力されたことになってしまっていた不具合を修正。

 CTRL+エンターキーを押した場合はエンターキーを普通に押した場合と同じ処理が行われるように処理を変更。

 Win32API と被ってしまっているので PlaySound、StopSound、CheckSound、SetVolumeSound 関数の末尾に File という単語を追加。(今までの関数名でも使用可能)

 3Dデバイスの作成に失敗した場合、DirectDraw を使用しないモードになるようにプログラムを修正。

 SetSysCommandOffFlag を使用する際、専用の DLL が無くても設定を有効になるように内部処理を変更。

(2007/04/21)

2.23  3D機能をOFFにした状態で読み込まれた、透過色が R0G0B0 以外の画像を透明度や輝度を変更して描画すると透過色が透過されないバグを修正。

 ウインドウのクラス名が設定されていない場合、ウインドウのタイトルをクラス名とするように処理を変更。

 DeleteKeyInput 関数を使用すると、FEPを使用した日本語入力が正常に動作しなくなることがある不具合を修正。

 フルスクリーンモード時に ALT+TAB によるタスク切り替えで、選択タスクとして実行中のタスクを選択すると画面描画が一切行われなくなる不具合を修正。

 フルスクリーンモード時に一時的にデスクトップ画面に戻り、再度フルスクリーンモードに戻った際の処理に無駄があったので修正。

 フルスクリーンモード時に一時的にデスクトップ画面に戻り、再度フルスクリーンモードに戻った際に不正な処理を行い強制終了してしまうことがあるバグを修正。

 DirectDraw を使用しない設定でフルスクリーンモードで起動していた場合、ALT+TAB で一時的にデスクトップ画面に戻った時にソフトのウインドウが最小化しないバグを修正。

 ソフトウエアレンダリングモードで DrawTriangle 関数を使用するとメモリの不正なアクセスが発生してしまうバグを修正。

 メインウインドウが非アクティブの間パッドの入力が取得できない不具合を修正。

 フルスクリーンモード時に ALT+TAB でタスク切り替えダイアログを出した場合デスクトップに戻るが、そのままALTキーを押し続けていると不正な処理で強制終了してしまう不具合を修正。

 サウンドの再生モードを SetCreateSoundDataType 関数で DX_SOUNDDATATYPE_FILE に設定した状態でMP3ファイルを再生しようとすると正常に再生されないことがあるバグを修正。

 SetScreenMemToVramFlag( FALSE );の設定が、95系カーネルOSで正常に動作していなかったので、SetScreenMemToVramFlag( FALSE ); の場合も DirectDrawSurface の機能を使わないように処理を変更。

 WaitKey の動作を「キーが離されるのを待つ・キーが押されるのを待つ・キーが離されるのを待つ」から「キーが離されるのを待つ・キーが押されるのを待つ」に変更。

 DxLib_Init の前で ChangeWindowMode(TRUE);としてウインドウモード起動にしていた場合、何時まで経ってもウインドウが出てこないことがある不具合を修正。

 フォント名が指定されない場合は「MS ゴシック」フォントを作成するように処理を変更。

 Vista の場合はオーバーレイサーフェスを基本的に使用しないように処理を修正。

 Vista の場合は表画面に直接描画しないように処理を修正。

 timeEndPeriod を使用してタイマの精度を元に戻していなかったバグを修正。

 ウインドウが閉じられた場合は KeyInputString 関数が -1 を返すように処理を変更。

(2007/01/01)

2.22f  DrawRectGraph の TurnFlag を TRUE にすると正常に描画されないことがあるバグを修正。

 SetLoopPosSoundMem を使用した直後に LoadSoundMem 等でサウンドファイルを読み込むとサウンドハンドルが壊れることがあるバグを修正。

2.22e  ogg ファイルが正しい再生時間で再生されないことがある不具合を修正。

 DeleteMenuItemAll 関数が正常に動作していなかったバグを修正。

 ソフトウエアレンダリングモード上で LoadDivGraph で分割読み込みした画像のアドレスを GraphLock で取得すると、全て分割画像の最初の画像のアドレスになってしまうバグを修正。

 全角文字を入力中に、FEPの入力設定を「かな入力」等に変更した場合、変更した設定が正しく反映されなかった不具合を修正。

 SelectMidiMode 関数で DirectMusic を使用して MIDI ファイルの演奏を行うようにしていた場合、何曲か演奏していると指定とは違う曲が演奏されてしまうことがある不具合を修正。

 LoadMask, LoadDivMask で24bitカラー以外のフォーマットの画像が正常に読み込めないバグを修正。

(2006/10/08)

2.22d  EnumFontName の第一引数に NULL を渡すと、メモリの不正なアクセスが発生してしまうバグを修正。

 BMP形式 以外の画像を読み込もうとするとメモリの不正なアクセスが発生してしまうことがあるバグを修正。

(2006/9/02)

2.22c  DirectInput7 の取得に失敗した場合は DirectInput8 の取得を試み、それでも失敗した場合は DirectInput を使用しないモードで起動するように処理を変更。

(2006/8/13)

2.22b  Ogg ファイルを LoadSoundMem で読み込むとエラーが発生してプログラムが終了してしまう不具合を修正。

2.22a  LoadSoundMem で音を読み込んだ際にメモリの不正なアクセスで強制終了してしまうことがあるバグを修正。

2.22  WaitKey で戻り値が常に 0 になってしまうバグを修正。

(2006/7/29)

2.21f  SetUseASyncChangeWindowModeFunction を使用して ALT+ENTER でウインドウモードを変更するとフリーズしてしまうことがあるバグを修正。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_MEMNOPRESS 以外を指定した状態で音声ファイルを読み込み、再生するとフリーズしてしまうことがあるバグを修正。

 フルスクリーンモード時に SetWindowSizeExtendRate を使用すると動作が不安定になる不具合を修正。

 フルスクリーンモードで動作中に別のタスクに移り画面が一度デスクトップに戻った後、再度フルスクリーンモードに移行するとアルファチャンネルを使用した画像の描画が正常に行われないことがある不具合を修正。

 動画ファイルを LoadGrpah・PlayMovieToGraph で再生、描画した場合、描画時に透過色を指定しても透過されないことがある不具合を修正。

 フルスクリーン時に SetUseASyncChangeWindowModeFunction を使用すると他のウインドウがアクティブになってしまう不具合を修正。

 PreparationListenNetWork のエラー時の処理中のメモリの不正なアクセスを行っているバグを修正。

 DxLib.h 冒頭の、文字列入力機能を削るマクロ(DX_NON_KEYEX)、又はマスク機能を削るマクロ(DX_NON_MASK)を有効にするとDXライブラリのコンパイルが正常に完了しないバグを修正。

 DrawRotaGraph で奇数サイズの画像を等倍、回転無しで描画すると微妙に崩れて表示されることがあるバグを修正。

 DirectDraw のビデオカードの情報を取得する API がインターネットに繋ごうとしていた為、使用しないように処理を変更。

(2006/6/4)

2.21e  暗号化に対応したDXアーカイブファイルに対応

 パッドを一つも接続していない状態で GetJoypadInputState で DX_INPUT_KEY を指定しても必ず0が返ってきてしまうバグを修正。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_MEMNOPRESS 以外を指定した状態で SetLoopPosSoundMem 関数でループ位置を指定し、MP3 ファイルをループ再生すると、ループ時にフリーズしてしまうバグを修正。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_MEMNOPRESS 以外を指定した状態での MP3 ファイルの再生時に、1秒毎に大きな処理負荷が掛かっていた不具合を修正。

 一度も演奏を行っていない状態で CheckMusic 関数を使用すると -1 が返ってきてしまう不具合を修正。

 SetUse3DFlag( FALSE ) ;を実行した状態でαチャンネル付き画像を LoadDivGraph で読み込み DrawGraph でインデックス1以上の画像を描画しても全てインデックス0の画像が描画されてしまうバグを修正。

 PlayMovieで等倍描画をすると画面左上に表示されてしまう不具合を修正。

 PlayMusic で MIDI ファイル以外を再生した場合、SetVolumeMusic 関数の効果が出ていなかったバグを修正。

 標準の設定でプログラムを二重起動すると、後から起動したプログラムが無限ループしてしまうバグを修正。

 VisualC++ 2005 で正常にコンパイルできないことがある不具合を修正。

(2006/4/9)

2.21c  Ver2.21b において GetLostNetWork で切断された通信を取得した後、メモリの不正なアクセスで強制終了してしまう不具合を修正。

(2006/4/8)

2.21b  大きい画像が DrawRotaGraph で正常に描画されない不具合を修正。

 SetDrawBlendMode で DX_BLENDMODE_NOBLEND を指定している場合、αチャンネル付き画像が DrawPolyhon3D で描画されない不具合を修正。

 作成したテクスチャサーフェスを0初期化する処理を追加。

 X1R5G5B5 の 16ビットカラーモードの環境で正常に画面が表示されない不具合を修正。

 DrawPolygon3D で描画されるポリゴンが、Z座標値が0の時に2D座標と一致していなかった不具合を修正。

 SetWindowText を SetMainWindowText に改名。(SetWindowText でも使用は可能です(別名が出来ただけ))

(2006/3/11)

2.21a  一部の環境で DxLib_Init を呼んだ際に起動時にメモリの不正なアクセスが発生してしまう不具合を修正。

 ウインドウモードで起動した際に、起動時にウインドウの座標が少し移動する不具合を修正。

 DirectX が下げる浮動小数点演算の精度を、DxLib_End時に元に戻す処理を追加。



 3D描画機能を使用した場合の描画処理に掛かるCPU負荷を軽減。

 3D描画機能を使用した場合の点と線の描画を高速化。

 画面が X1R5G5B5 の 16bit カラー環境で起動した場合、DrawLine や DrawBox が指定とは違う色で描画されたり、不正な処理で強制終了したりすることがある不具合を修正。

 画像を SetDrawScreen で描画対象にした上で GetPixel を使用するとメモリの不正なアクセスが発生してしまう不具合を修正。

 αチャンネル付きパレットで保存されたPNG画像を読み込むと正常に表示されない不具合を修正。

 ClsDrawScreen の名称を ClearDrawScreen に変更。(今まで通りClsDrawScreen でもコンパイルは通ります)

 DrawRotaGraph と DrawModiGraph において、透過色を有効にすると何も描画されないことがある不具合を修正。

 ブレンドなし回転描画、100%加算標準描画の高速化。

 GetDrawScreenGraph を使用するとメモリの不正なアクセスが発生する不具合を修正。

 RLE 圧縮された BMP ファイルをパレット画像として扱うように処理を変更。

 SaveDrawScreen を行うと保存する範囲がずれてしまうことがある不具合を修正。

 LoadDivGraph で分割読み込みした画像が、全て分割された一枚目の画像になってしまってしまう不具合を修正。

 DxLib_Init を呼び出した後に SetScreenMemToVramFlag( FALSE ) ; を実行するとメモリの不正なアクセスが発生してしまう不具合を修正。

 PlaySoundMem 時の再生処理の一部を変更。

 一つの音声データを複数同時再生する場合の処理の関係で、環境によっては音がならないことがある不具合を修正。

 SetCreateSoundDataType 関数で DX_SOUNDDATATYPE_FILE を指定してMP3ファイルを読み込み、再生するとメモリの不正なアクセスが発生してしまう不具合を修正。

 音量を0~255で指定する ChangeVolumeSoundMem 関数の追加。

 サウンドデバイスがない状態で起動するとメモリの不正なアクセスが発生してしまう不具合を修正。

 4ボタン以上のマウスボタンに対応。

 二つ以上のDXアーカイブファイルを使用した場合にメモリの不正なアクセスが発生してしまうことがある不具合を修正。

 圧縮形式のDXアーカイブファイルに対応。

(2006/1/22)

2.21  ソフトウエアレンダリングコードの一部を改良。

 PSパッドを変換器を通して使用した際の右スティックの入力状態を得る為の関数 GetJoypadAnalogInputRight を追加。

 パッドの振動機能を使用する関数 StartJoypadVibration と StopJoypadVibration を追加。

 Ver 2.20f において処理が全体的に重くなってしまっていた不具合を修正、及び処理の改良で以前より多少負荷を軽減。

 Ver 2.20f においてキーボードのキーの一部が反応しなくなっていた不具合を修正。

 ソフトウエアレンダリング時に表画面に線を描画すると正常な結果が出ないことがある不具合を修正。

 Ver 2.20f においてソフトウエアレンダリングモード時に SaveDrawScreen 関数が正常に動作しなかった不具合を修正。

 Ver 2.20f においてソフトウエアレンダリングモード時に動画ファイルが正常に再生できなかった不具合を修正。

(2006/1/17)

2.20f  デフォルトではテクスチャ分割を行わない設定に仕様を変更。

 テクスチャ分割が行われている画像を DrawModiGraph で描画した際に隙間が生じてしまうことがある不具合を修正。

 ソフトウエアレンダリングコードを総入れ替え。

 稀にキーボードのキー判定が押しっぱなしになってしまうことがある不具合を修正。

 3Dポリゴン描画関数 DrawPolygon3D の追加。

 DXアーカイブファイルを読み込む機能の追加。

 2重起動時の終了処理を変更。

(2005/12/29)

2.20e  Ver 2.20c から一部の環境(特にマルチCPU環境)でプログラムを実行するとソフトがフリーズしてしまうバグを修正。

2.20d  減算ブレンドの設定で、DrawRotaGraph 関数を使用すると画像の端が減算ブレンドが行われないバグを修正。

 PlayMovie で拡大率 1 を指定すると画面左上に動画像が表示されてしまっていた不具合を修正。

(2005/12/12)

2.20c  内部で ProcessMessage をひたすら呼びつづけるスレッドを立てるように処理を追加。(ただ、DXライブラリを使ったソフトは基本的に Sleep を使っていないと思うので、あくまでDXライブラリをメインに使わないソフト用)

 起動時間短縮のため、DirectX のバージョンチェックをしないように処理を変更。(チェックと言っても DirectX 8.0 までしか検出していませんでしたし)

 浮動小数点値を整数値に変換する自前関数が、精度の悪い変換をしてしまっていた不具合を修正。

 特に指定の無い場合はフルスクリーン時のリフレッシュレートを60Hzになるように処理を変更。

 2D画像に対して GraphLock, GraphUnLock を行うと不正な処理で強制終了してしまうバグを修正。

 Ver2.20bで実装した『一部のGPUで3D機能を使用した場合、処理が先行して描画が後から行われ、処理と表示の同期が取れていなくなることがある現象に対応』を無かった事に。

 マルチタスクに対応する為の処理を少し変更。

(2005/12/10)

2.20b  60FPSに間に合わなかった場合はVSYNC待ちをしない仕様に変更。

 Ver2.20a で3D機能を使用した場合、一部のGPUで透過色が透過されないことがある現象に対応。

 一部のGPUで3D機能を使用した場合、CPU処理が先行してGPU描画が後から行われ、処理と表示の同期が取れていなくなることがある現象に対応。

 Ver2.20a でフルスクリーンモードからタスク切り替え等でデスクトップ画面に戻り、再度ソフトをアクティブにしてフルスクリーンモードに移った際に強制終了してしまう不具合を修正。

 ウインドウモードで起動している際に CTRL+ALT+DELETE を同時に押し、OSの割り込みを発生させると Windows2000、XP ではそれ以後全く描画が行われなくなる不具合を修正。

 Ver2.20a でソフトウエアレンダリングコードを使用した場合の中身を塗りつぶすボックス描画で、半透明を指定して描画すると正常に描画されなかったり、不正な処理で強制終了してしまうことがある不具合を修正。

(2005/11/29)

2.20a  3D機能(Direct3D)を使用した描画プログラムを大幅に変更。

 グレースケールのPNG画像が正常に読み込めない不具合を修正。

 Ver2.20 で αチャンネルを使用した画像が正常に描画出来なかった不具合を修正。

 Ver2.20 で PCM 形式以外の WAV ファイル、又は MP3 ファイルをループ指定でストリーム再生した場合に正常にループせず処理が停止することがある不具合を修正。

 描画する画像に透明度画像を適応する機能を追加。(リファレンスへの追記はまだ)

 何のSDKも無くても DxLib.lib はコンパイル出来るようにプログラムを変更。(外部のプログラムを使用する部分は DxUseCLib.cpp に移行)

 DerivationGraph でコピーした画像に対して更に DerivationGraph を使用してコピーすると、指定と違う領域がコピーされることがある不具合を修正。

 LoadPauseGraph で読み込んだ画像を常に等倍で表示していた仕様を、ウインドウ一杯に引き伸ばされる(or 縮小される)ように変更。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_NOMEMPRESS 以外をセットした際の逐次読み込み処理を少し手を加え、今までより少ない頻度の ProcessMessage 呼び出しでも音が飛ばないように変更。(ただ、今まで通り頻繁に ProcessMessage を呼んだ方が処理は安定します)

 音量を取得する GetVolumeSoundMem 関数の追加。(リファレンスへの追記はまだ)

 KeyInputString, KeyInputSingleCharString, KeyInputNumber 関数を実行するとフリーズしてしまう不具合を修正。

 特に問題のない動画の再生処理に失敗することがある不具合を修正。

 LoadPauseGraph で読み込んだ画像をウインドウに描画する処理を少し変更。

(2005/11/14)

2.20  3Dデバイスを使用できない場合のソフトウエアレンダリングモードの設定を少し変更。

 SetCreateSoundDataType 関数で、データタイプをDX_SOUNDDATATYPE_FILE に変更してから読み込まれたサウンドを、再生タイプ DX_PLAYTYPE_LOOP で再生すると音声がループしない不具合を修正。

2.19f  LoadPauseGraph でパレットを使用したBMP画像を読み込むと不正なメモリアクセスで強制終了してしまう不具合を修正。

 Direct3D のブレンドモード関連の処理を多少高効率なものに変更。

2.19e  マルチタスク環境からの使用に対応。

 標準Cライブラリを極力使用しないように内部プログラム変更。

 3D機能が使えない場合はスクリーンイデータもシステムメモリ上に配置する様に処理を変更。

 ソフトウエアレンダリングコードの軽量化。

 VC用の lib ファイル作成に使用するコンパイラを VC7.0 に変更。

 アンチエイリアスフォントが正しく描画されなかった不具合を修正。

2.19d  MP3 ファイル再生時にノイズが入ることがある不具合を修正。

 同じ音声を同時に再生できるようにする場合、同じバッファを使用する様に処理を変更。

2.19c  SetDrawBlendMode で DX_BLENDMODE_ALPHA の設定をすると、DrawGraph 関数等で描画する際に透過色処理をしない指定をしても透過されてしまう不具合を修正。

 デュアルモニタのビッグデスクトップ環境で、ウインドウモードでソフトを起動しようとすると Direct3D デバイスの作成に失敗してしまう不具合を修正。(ただしビッグデスクトップ環境では表画面に直接描画することは出来ません)

 ウインドウモード時の裏画面から表画面に画像を転送する時の処理を変更。

(2005/10/01)

2.19b  ChangeFont を呼んだ場合、又は ChangeFontType, SetFontThickness, SetFontSize 等の関数に明示的な引数を渡さずに呼び出す(-1を渡して呼ぶ等)と、以後のDrawString関数呼び出し時に異常なまでの負荷が掛かる不具合を修正

(2005/09/20)

2.19a  DirectX を使用する他のライブラリとの併用がし難くなっていたのを修正。

(2005/09/18)

2.19  DirectX SDK 無しでコンパイル出来るように修正。

(2005/08/01)

2.18d  フォントのタイプに縁付きを指定しても縁が描画されない不具合を修正。

 ChangeFont 関数を使用しても描画されるフォントが変更されなかった不具合を修正。

 マイナー関数説明に文字の縦書きを行う関数 DrawVString, DrawVStringToHandle を追加。

(2005/07/30)

2.18c  通信関係の関数が複数のスレッドから同時に呼ばれた場合は -1 が返るように処理を変更。

 ウインドウモードで起動した際に、ウインドウの形状がカクカク変化した後、画面中心からずれる不具合を修正。

 スペース文字を描画した際のスペース幅が正しくなかった不具合を修正。

 通信機能で同時に接続できる数を64個から256個に拡張。

(2005/07/17)

2.18b  BMPパレットの無効なデータ領域に0以外の値が入っていると正しく透過色処理がされない不具合を修正。

 パレットBMPを読み込む際に不正なメモリアクセスが発生してしまうことがあるバグを修正。

2.18a  非公開機能の追加。

(2005/06/26)

2.18  無圧縮パレット形式BMPファイルの読み込みを高速化。

2.17f  文字を描画するとメモリリークが発生して強制終了することがある不具合を修正。

 日本語入力関係の内部動作を少し変更。

 通信機能のメモリリークバグを修正。

 半透明描画の指定をした上で DrawKeyInputString 関数を使用すると不正なメモリアクセスが起きてしまうバグを修正。

 ソフトウエア描画モードで半透明描画の指定をした上で DrawBox を使用するとブレンドする領域がずれた描画結果が出てしまうバグを修正。

2.17e  メインウインドウのクライアント領域の更新処理を変更。

 ウインドウモードで実行している際に、ウインドウのサイズを自由に変更できるかどうかを設定する関数 SetWindowSizeChangeEnableFlag と、ウインドウのサイズを描画画面に対してどの倍率で表示するかを設定する関数 SetWindowSizeExtendRate の追加。

2.17d  DrawLine と DrawPixel では3D描画機能を使わない様に処理を変更。

 無効なフォントハンドルを DrawStringToHandle に渡すと不正な処理として強制終了してしまう不具合を修正。

(2005/05/20)

2.17c  ScreenFlip を使用してから、もう一度 ScreenFlip を行うまでの間に DrawGraph 等の描画関数を500回以上呼んだ場合、丁度500回目の描画関数呼び出しが無効になるバグを修正。

 中身を塗りつぶさない DrawBox は、3Dグラフィック機能を使用しない様に仕様を変更。

 横幅よりも縦幅の方が大きい描画可能な画像を MakeGraph で作成し、その画像に対して DrawRotaGraph で横幅よりも大きい値のY座標に描画しようとした場合何も描画されないというバグを修正。

(2005/04/30)

2.17a  テクスチャキャッシュを使用したフォントで、特定のサイズを指定すると文字の右下に黒い点が表示されてしまっていた不具合を修正。

 ソフトウエアレンダリングモードで起動し、LoadDivGraph で読み込んだ画像を DrawExtendGraph で反転描画しようとすると不正なメモリアクセスが起こる場合がある不具合を修正。(厳密には分割画像の左端以外の画像を左右反転描画しようとした場合、及び分割画像の最上部のより下の画像を上下反転描画しようとした場合)

 フォント処理の初期化を行う関数の中でスタックを大量に消費していたプログラムを修正。

(2005/04/16)

2.17  4より小さい横幅の8ビット、又は4ビットパレット形式のBMPファイルを読み込もうとすると不正な処理として強制終了してしまうバグを修正。

 フルスクリーンモード時に ALT+TAB 等により別タスクへ移った際の処理を変更。

 フレーム辺りの時間が取得できない動画を再生しようとすると0除算エラーが起きてしまっていた不具合を修正。

 ScreenFlip を使用しないと動画が正常に再生出来なかった不具合を修正。

2.16f  フルスクリーンモードで動作している時にタスク切り替え等が発生し一時的にデスクトップ画面に戻った場合、その後再度フルスクリーンに戻ってもファイルから読み込んだ画像の自動復帰が行われなかった不具合を修正。

 テクスチャ分割のアルゴリズムを多少変更。

(2005/04/02)

2.16e  SetUseAlphaTestGraphCreateFlag( TRUE ) ; をした状態で動画ファイルを LoadGraph でロード、PlayMovieToGraph で再生すると、動画像が斜めに歪んでしまっていた不具合を修正。

2.16d  無圧縮の256色BMP、16色BMPを読み込む速度をアップ。

 Ver2.16b で一部の画像読み込み処理時にメモリの不正アクセスによる強制終了が起きてしまうことがあるバグを修正。

 32ビットカラーの画面で4の倍数ではないサイズの描画処理にマスクを使用した場合、マスクが正しく描画されなかった不具合を修正。

 透過色処理にデフォルトでアルファテストを使用するように処理を変更。

 KeyInputString等の文字列入力機能に存在したメモリリークのバグを修正。

 マスク画面を有効にした状態で DrawTurnGraph を使用するとメモリの不正なアクセスが発生してしまうバグを修正。

2.16c  SetDrawValidGraphCreateFlag( TRUE ) ; を実行し、描画可能になったテクスチャに対して GetPixel を行うと不正な処理で終了してしまう不具合を修正。

 マスク画面を有効にした際に DrawGraph, DrawExtendGraph による描画が一切出来なくなってしまっていたバグを修正。

 DrawMask で DX_MASKTRANS_NONE 以外を使用した場合の処理速度をアップ。

 DrawBox で枠のみを描画した場合、四隅が多重描画されていたバグを修正。

(2005/03/06)

2.16b  Borland C++ Compiler 5.5 を使用する際、BCC 用の DirectX SDK の libファイルを別途用意しなくてもコンパイルが出来るようにプログラム変更。

 GetInputChar による入力文字の取得に遅延が起きていた不具合を修正。

 作成されるEXEファイルの容量を、使用している機能の量に比例するようにプログラム修正。

 LoadDivGraph 等の分割読み込み系の処理を変更。(処理速度アップ、容量節約効率アップ、かも)

 頻度の高い画像のフォーマット同士の変換処理を多少高速化。

2.16a  24ビットカラーの画面で DxLib_Init を実行した場合 -1 が返るように処理を修正。

(2005/02/22)

2.16  画面モードの変更を時間を空けず連続して実行した場合は一定時間待つように処理を変更。

 DirectX 9.0 SDK Update - (December 2004) 以降を使用した場合、BorlandC++ Compiler 5.5 でコンパイルが通らない問題に対処。(ただ、VisualC++ 6.0 はコンパイルが通ってもリンクが成功しません)

 3D描画機能を使用している場合、条件次第で確実にフリーズするバグを修正。

2.15f  VSync待ちの処理を調整。

2.15e  VSync 待ちの処理を少し変更。

 ソフトの処理が軽ければCPU使用率100%にならないように処理を変更。

 デバッグ実行中に、押していないキーが延々と押されたことになる事がある不具合に対する処理を追加。

2.15d  LoadGraph で動画ファイルを開く場合、二つ目以降のロードは必ず失敗する不具合を修正。

 ID3v2タグを持つ MP3 ファイルを読み込むことが出来なかった不具合を修正。

 KeyInputNumber 関数で、最初の文字は数字以外の文字も入力出来てしまった不具合を修正。

 ClearInputCharBuf 関数を実行しても文字バッファがクリアされないことがある不具合を修正。

(2005/01/22)

2.15c  空きハンドルを探す際のアルゴリズムを少し改良。

 ソフトウエア描画モードで DerivationGraph を使用すると必ず失敗する不具合を修正。

 ネットワーク系の機能が全般的に正常動作していなかった不具合を修正。

 ソフトウエア描画モードにおいて、SetTransColor で透過色の赤成分を0以外にして、且つ SetBasicBlend( TRUE ) ; をした状態で、更に描画輝度をSetDrawBright( 254,255,255 ) ; 等のように全て 255 ではない設定にした上で DrawGraph を透過色効果ありで実行した場合、透過色の領域が透過されなかった不具合を修正。

(2005/01/17)

2.15b  DxLib.h のコード容量軽減用定義である DX_NON_NOT565DRAW と DX_NON_OGGVORBIS を有効にするとそれぞれ正常にコンパイルが通らなかった不具合を修正。

 DrawGraph を使用すると指定した座標より1ドット右下の座標に描画されてしまう不具合を修正。

(2005/01/08)

2.15a  ウインドウモードで SetDrawScreen( DX_SCREEN_FRONT ) ; を使用するとデスクトップ画面の原点(0,0)がソフト画面の原点になってしまっていた不具合を修正。

 KeyInputString 関数実行中一部の環境で入力中の文字列が見えない不具合を修正。

 グラフィックハンドル・サウンドハンドルの上限を増やしました。

 16ビットカラー時にアルファチャンネル付き画像を使用した場合、特に指定がない場合は32ビットカラーテクスチャを使用するように変更。

2.15  音声データのループ位置を決められる SetLoopPosSoundMem 関数を追加。

 キーボードの協調レベルを排他レベルに設定するための関数 SetKeyExclusiveCooperativeLevelFlag を追加。

(2004/12/02)

2.14f  マスク機能を使用すると強制終了してしまう不具合を修正。

 マスクスクリーンに書き込む値に対する効果がリファレンスの説明と逆になっていたので修正。( Ver1.98 から Ver2.14e の間にマスク機能をお使いの方は SetMaskReverseEffectFlag をお使いくださいm(_ _;m )

(2004/11/14)

2.14e  printfDx 等の関数で使用するフォントを printfDx 等が使用される迄は作成しないように処理を変更。

 Windows95,98,98SE,ME にて文字を描画しようとするとエラーが起きてソフトが終了してしまう不具合を修正。

2.14d  間違って解放済みのハンドルを再度削除してしまったり、ハンドル値がバッティングしてしまったりする可能性を軽減。

 同時に通信できる数を最大16から64に変更。

2.14c  3Dレンダリング機能が無いPCでDXライブラリのソフトを実行すると不正な処理が発生して終了してしまう不具合を修正。(に、伴い3Dレンダリング機能の有無で画像をシステムメモリに置くかどうかを判定する処理のタイミング、フォントの初期化、後始末関係の処理を変更)

 DrawRotaGraph を使用した際に中心が1ドットずれてしまう事がある仕様を変更。

 動画を LoadGraph した場合の動画の更新タイミングの調整。

2.14b  LoadGraph で _a つきのグラフィックをロードしようとすると不正なメモリアクセスが起きてしまっていたバグを修正。

 SetUse3DFlag( FALSE ) をした状態でテクスチャをキャッシュに使用しているフォントを使用して DrawString を実行すると必ず画面左上に描画されてしまう不具合を修正。

 テクスチャにキャッシュを持つフォントを描画した際にゴミが出てしまうことがある不具合の為に細工を施工。

(2004/09/28)

2.14a  LoadDivGraph の AllNum, XNum, YNum にすべて1を渡すとメモリの不正なアクセスが起きてしまうことがある不具合を修正。

 2の n乗のグラフィックを LoadDivGraph で読み込むとグラフィック中の同じ部分ばかりのハンドルが作成されてしまうことがある不具合を修正。

 KeyInputString を使用した際の入力中の文字が表示されない不具合を修正。

 文字を表示し続けているとあるタイミングで上1ドット分が消えてしまうことがある不具合を修正。

(2004/09/25)

2.14  通信関係のプログラムを修正。

 SetDrawBright の設定が DrawString では無視されることがある不具合を修正。

 空白文字を DrawString で描画した際にごみが描画されることがある不具合を修正。

2.13f  画像フォーマット TGA形式, DDS形式 に対応。

 フォントキャッシュをデフォルトでテクスチャ領域に確保するように仕様を変更。(今まではシステムメモリにキャッシュを取っていた)

 画像管理関係のプログラムを変更。

2.13e  ある条件で ReloadGraph が正常に動作していなかった不具合を修正。

 ソフトウエア描画コード版の DrawLine に0除算するバグ、表画面に半透明系描画を使用すると正しい座標に描画されないバグがあったので修正。

 ソフトウエア描画コード版の DrawOval で表画面に枠のみ描画を行うと何も描画されないというバグがあったので修正。

 SetDrawBlendMode のブレンドモードに乗算 DX_BLENDMODE_MUL を追加。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_MEMPRESS を指定しても OggVorbis ファイルだけは最初に全部展開されていた仕様を変更。

 SetCreateSoundDataType で DX_SOUNDDATATYPE_MEMNOPRESS 以外を指定した際に行われるストリーム再生において、圧縮音声を展開する時間の単位を1秒から1/4秒に変更。

 その他ストリーム再生系は色々変更。

(2004/08/14)

2.13c  一部のビデオカードで3D描画機能を使用した際にポリゴンが欠けることがあった不具合を修正。

2.13b  Direct3D 側 GetDrawSceenGraph 関数のプログラムを多少変更。

 Direct3D 側 DrawModiGraph, DrawExtendGraph のプログラムを多少変更。

 Direct3D 側のグラフィック初期化処理を多少変更。

 DirectDraw 側のソフトウエア描画コードのバグを一つ修正。

2.13a  BorlandC ++ Compiler 用の lib ファイルでもソフトウエア半透明描画機能が使用できるように改良。

 DrawRotaGraph の回転成分が0の時の描画コードを修正。

 DirectX 9.0c SDK (Summer 2004) でコンパイル出来なかった不具合を修正。

2.13  DirectInput のコードを一部修正。

 Direct3D のカリング処理のコードを修正。

2.12f  WaitKey 関数のコードを修正。

 テクスチャ分割を行わない場合のテクスチャサイズ算出に誤りがあったバグを修正。

 DX_CHARSET_HANGEUL を選択した際に unicode として処理をするようにコードを修正。

 Dx3D.cpp の G_D3D_DrawFillBox 関数のコードを改造。

(2004/05/20)

2.12e  3D機能を使用する場合の頂点バッファへの書き込み処理の改良。

 起動直後にビューポートの設定に失敗して終了するバグを修正。

 テクスチャグラフィックと普通のグラフィックを混ぜて描画処理をすると描画順番に関わらず普通のグラフィックがテクスチャグラフィックの下になってしまうことがある不具合を修正。

(2004/05/10)

2.12d  画像左上のピクセル色を透過色とするかどうかを設定できる非公開関数 SetLeftUpColorIsTransColorFlag を追加。

 G_D3D_SetDrawArea時のビューポート再設定の回数を最小限に減らす処理を抑制。

2.12c  画面に対する GraphLock, GraphUnLock を行うと不正な処理としてソフトが終了してしまうバグを修正。

 DirectInput の状態取得処理をイベント駆動と併用する形に変更。

(2004/04/22)

2.12b  Borland C++ Compiler 5.5 でコンパイル、実行が出来るように手を加えた。

2.12   可変ビットレート等の正しく再生時間が取得できない MPEG ファイルが最後まで再生されなかった不具合を修正。

 フルスクリーンモードで SetAlwaysRunFlag(TRUE); を実行し、非アクティブ時でもソフトの動作が行われるようになっている場合に、非アクティブ状態からアクティブ状態に戻った時に CheckHitKey関数以外の入力チェック関数を使わずに ChickHitKey関数を使うと不正な処理が起き、ソフトが終了してしまう不具合を修正。

(2004/04/03)

2.11f  GetDrawScreen の Direct3D 用コードを一部修正。

2.11d  DrawModiGraph を使用した際に頂点の座標によって描画される画像が歪むという仕様を変更、あまり歪まないようになった。

2.11c  DXライブラリが起動中の間はスクリーンセーバーが起動しないようにする処理を追加。

 認識できるパッドの数を8つに拡張。

2.11a  画面サイズ以上の大きさの文字を描画しようとすると不正な処理としてエラーが発生する不具合を修正。

(2004/02/08)

2.11   フルスクリーンモードで起動し、タスク切り替えにより一度デスクトップ画面に戻った後、再度フルスクリーン画面に戻ると透過色の処理が施されない

 不具合を修正。

 DrawChipMap 関数を非公開関数に変更。

2.10f  3D機能を使った画像の描画が一部高速になるように処理を変更。

 SetKeyInputStringColor 関数の不具合を修正。

 文字が一文字も無い DrawString は何もせず終了するように処理を変更。

 printfDx 関連のプログラムを修正。

 ソフトウエア描画版 DrawOval 関数がメモリリークしていたバグを修正。

 PlayMusic で mid ファイル以外を再生する場合に DX_PLAYTYPE_LOOP を指定してもループされない事がある不具合を修正。

2.10e  Ogg Vorbis ファイルのデコードサイズ取得処理の不具合のため、ファイルによっては LoadSoundMem2 関数で読み込み、再生を行うと1ループ後にノイズが鳴り続ける不具合を修正。

 DxLib.h の軽量化オプションを有効にすると正常にビルドが出来ない不具合を修正。

 3D描画機能が有効な状態で LoadDivGraph で画像を読み込んだ場合描画時に画像が歪む事がある不具合を修正。

 NetWorkRecvToPeek を実行すると通信バッファの情報が壊れるバグを修正。

2.10d  Ogg Vorbis のライブラリを 1.0 から 1.0.1 に更新。

 Ogg Vorbis ファイルを DX_SOUNDDATATYPE_FILE 指定で再生した時にファイルの序盤でノイズが入る不具合を修正。

 "../test.bmp" 等、フォルダパス指定部分に『.』が含まれる場合、『_a』形式のαチャンネル画像が読み込まれなかったバグを修正。

 DX_NON_MASK マクロを有効にした場合、DxDraw.cpp でコンパイルエラーが発生するバグを修正。

 SetMouseDispFlag( FALSE ) ; をしても、時々マウスカーソルが表示されてしまう不具合を修正。

2.10c  アドレス先の内容変更の予定のない char * ポインタを引数とする関数の引数を、char * から const char * 型に変更。

2.10b  ConnectNetWork でエラーメッセージが飛んできたときの処理を多少修正。

2.10a  ConnectNetWork 時の接続失敗判定処理のバグを修正。

(2003/11/17)

2.10  Ver2.09f での WindowsUpdate 関連の不具合に対応するコードを多少修正。

2.09f  WindowsUpdate パッチ KB824141 を当てた Windows XP において、フルスクリーン表示を行うとマウスカーソルのフォーカスがDXライブラリのメインウインドウに完全に移らない不具合を修正。

2.09d  AppLog.txt にタイムスタンプを出力するような処理を追加。

2.09c  DirectX のバージョンチェックを 8.1 までに抑制。

 その関係で DirectX の SDK も再び 8.1 でもビルド出来るようになりました。

2.09b  BMPを読み込んだ際に画像が上下反転して読み込まれてしまうことがある不具合を修正。

(2003/09/12)

2.09a  3D機能OFF時に、SetUseVramFlag を TRUE にして作成したグラフィックを半透明描画などすると、非現実的な処理落ちが起きていた処理仕様を変更。

 及び、3D機能OFF時に一部のグラフィックカードで見られる不具合を回避する処理を追加。

(2003/09/07)

2.09  DrawGraph のみ対応していた3D機能OFF時のアルファチャンネル入り画像描画処理機能に、DrawGraph 関数以外の DrawExtendGrpah, DrawRotaGraph, DrawModiGraph 関数も対応。

2.08c  何も音がしていないときでも、常に無音バッファを再生するように処理変更。

 GetDrawFormatStringWidth 関数と GetDrawFormatStringWidthToHandle 関数が DxLib.h の定義から抜けていたミスを修正。

 Shift-Jis タイプの文字セット以外を持つフォントも CreateFont 等で選択できるように処理変更。

 同じく EnumFontName も日本語タイプのフォント以外も列挙出来るようにする為の引数を追加。

 ネットワーク通信関係のプログラムのバグを修正、および処理構造変更。

(2003/09/02)

2.08b  AppLog.txt のDirectXのバージョン出力が今まで DirectX8以上のバージョンがインストールされていても、『インストールされているバージョンはDirectX8』と出力されてしまっていた不具合を修正。

 これに伴い今バージョンからDirectX9以降のSDKが必要になりました。

 GetNowCount,GetNowHiPeformanceCountをRDTSC命令を使うように変更。

(2003/08/23)

2.08   メモリイメージからグラフィックを読み込む際に強制終了してしまうバグを修正。

(2003/08/20)

2.07f  24bitフルカラーBMPを読み込んだ際に画像が上下反転してしまう不具合を修正。

(2003/08/15)

2.07e  ARGB 画像形式に対応、及び ARGB 画像のアルファチャンネルとPNG 画像のアルファチャンネルを読み込みグラフィックに反映するようにプログラムを変更。

 上記の変更に伴い、アルファチャンネル付き画像をロードした場合、自動的にアルファチャンネル付きのグラフィックデータフォーマットを選択するようにプログラム変更。

 GetNetWorkIP 関数が正常なIP値を返していなかったバグを修正。

 SetWindowRgnGraph が DxLib_Init の前で使えなくなっていた不具合を修正。

 SetWindowStyleMode のモードを追加。

 その他細かいバグの修正。

2.07d  640x480画面でウインドウモードにした場合、クライアント領域がぴったり画面に収まるようにコード変更。

(2003/08/08)

2.07c  Ver2.06d で ZLIB.LIB LIBPNG.LIB を更新した関係で PNG ファイルが読み込めなくなっていた不具合を修正。

 ウインドウメッセージをフック出来る SetHookWinProc 関数を追加。

2.07b  3Dハードウエア使用時描画処理コードの頂点処理のバグを修正。

2.07a  SetGraphMode 関数で、画面変更処理に失敗した場合、強制終了してしまう不具合を修正。

2.06f  DrawRectRotaGraph 関数の追加。

 文字列の縦書きが出来る DrawVString 関数と DrawFormatVString 関数の追加。

(2003/06/26)

2.06e  DxGraph.cpp 内のメモリリークのバグを修正。

(2003/06/23)

2.06d  ZLIB.LIB と LIBPNG.LIB を更新されたソースファイルで再コンパイル。

2.06c  ErrorLogAdd のフォルダ指定処理を変更  3Dハードウエアが描画対象に出来ないグラフィックを描画対象にした時に、エラー終了しないようにコード修正。

(2003/05/24)

2.06b  PlayMovieToGraph 関数でムービーを再生させた際に動画像がずれる、もしくは不正な処理で終了するという不具合を修正。

(2003/05/04)

2.06a  DrawRotaGraph 関数などで発生するグラフィックのズレを修正。

 その他少しコードを修正。

2.05c  ALT+TAB後の復帰が出来なくなっていた不具合を修正。

(2003/04/06)

2.05a  Ver2.05 で、かなりの確率で正常に画像をロードできない不具合を修正。

(2003/04/06)

2.05  アルファテストビットを使った画像で、ムービーグラフィックを使用すると動画像にノイズが走る不具合を修正。

 グラフィックの一部分だけ描画する関数 DrawRectGraph 関数を追加。

 DrawExtendGraph 関数の不具合を修正。

 グラフィックの一部分だけを使って新しいグラフィックを作成するDerivationGraph 関数を追加。

2.04b  描画エリア左端付近で DrawString を使った時に描画が崩れる不具合を修正。

 描画先画面がグラフィックに設定されている場合にSetDrawArea 関数を呼ぶと不正終了するバグを修正。

(2003/03/20)

2.04  グラフィックの読み込みを多少高速化。

2.03b  ループなしのストリーム再生で、最後にノイズが入ってしまう不具合を修正。

 Ver2.03 で発生していた SetDrawArea の不具合修正。

 CPU描画時の DrawExtendGraph 関数のコードを修正。

(2003/02/26)

2.03  LoadSoundMem 系の関数で OggVorbis 形式と MP3 形式の音声ファイルを扱えるよう機能強化。それに伴い lib ファイル追加。

2.02   公開できるバージョンアップ内容なし

2.01a  3Dアクセラレータを使わないときの DrawLine 関数の不具合を修正。

2.01  ウインドウのアイコンを DxLib_Init 関数使用前に変更することが出来なくなってしまっていた不具合を修正。

 フルスクリーン指定で2回画面モードの変更を行うとデスクトップ画面に戻ってしまう不具合を修正。

(2003/01/11)

2.00e  圧縮されたWAVファイルを連続して2回以上ストリーム再生する際に音が正しく再生されない不具合を修正。

 ソフトが終了しているにもかかわらず、ソフトのプロセスが残るシステム上に残る不具合を修正。

 その他細かい不具合の修正。

1.99a  DrawChipMap 関数の定義の誤りを修正。

(2002/10/21)

1.99  LoadSoundMem 関数などの音声再生関数で音を鳴らす際、ストリーム再生を行うように設定を変更できる SetCreateSoundDataType 関数をマイナー関数に追加。

 DrawChipMap 関数の引数を変更。(前バージョンのプログラムでも問題なく動作します)

 三角形を描画する関数、DrawTriangle の追加。

 他、幾つかの不具合及び幾つかの非公開関数を追加。

(2002/09/18)

1.98  DrawChipMap 関数のバグを修正。

 三角形を描画する関数 DrawTriangle を追加。

 マスクの内部処理を変更、及び、マスク処理に使う透過色を変更できる SetMaskTransColor 関数の追加。

 3D機能使用時に、画像を保存するテクスチャーの分割を行うかどうかを設定できる SetUseDivGraphFlag 関数の追加。

 DrawLine のクリッピングの不具合を修正。

 ゲームパッドの入力を最大7つまで取得出来るよう拡張。

(2002/08/12)

1.97  マップチップを使ったマップ描画を行うための関数 DrawChipMap を追加。

 ALT+TAB でタスクが切り替わったときに起きる不具合を修正。

 KeyInputString をはじめとする文字列入力関数を使うと処理落ちが起きていた不具合を修正。

 フルスクリーン→ウインドウモード にしたときにタイトルバーが表示されなかった不具合を修正。

1.96a  ログに出力する情報を増やしました。

 ビデオメモリの総容量と空き容量を得る GetVideoMemorySize関数の追加。

 DirectX7 以前のバージョンで実行された場合はソフトが終了するように変更。

1.96  起動時間が多少短縮されました。

 デスクトップの設定でタイトルバーの幅が広い状態でウインドウモードで起動するとタイトルバーの幅の分描画エリアのサイズがおかしくなる不具合を修正。

 Ver1.69 からMIDIの演奏に DirectMusic を使っていましたが、思いのほか負荷が大きかったので、デフォルトの演奏形態をMCIに変更。( DirectMusic による演奏を行う場合は SelectMidiMode 関数を使用してください。m(_ _;;)m

 ウインドウモードで、ウインドウが非アクティブ時にソフトの処理を停止するかどうかを変更することが出来る SetAlwaysRunFlag 関数を追加。

(2002/07/04)

1.95b  LoadPauseGraph 関数の引数に NULL を渡すと、『例外処理が行われた』と判定される不具合を修正。

 Windows2000 以降のOSに置いて、LoadSoundMem 関数などのWAVEファイルを読み込む関数を使用すると、メモリの不正アクセスのエラーが起きる不具合を修正。

(2002/06/13)

1.95a  Ver1.95 で LoadSouneMem 関数使用時に、PCM形式のWAVEファイルをロードしようとするとバッファーオーバーランが発生する不具合を修正。

 MIDI以外のファイルを PlayMusic 関数で再生した際、CheckMusic関数が上手く機能していなかった不具合を修正。

(2002/06/12)

1.95  LoadSoundMem関数で、今までPCM形式の WAVE ファイルに対応していなかったものを、codec の存在するすべての圧縮形式に対応。

 GetDrawStringWidth 関数の戻り値が Ver1.93 でおかしくなっていた不具合を修正。

 ソフトウエア描画時の DrawGraph関数 のブレンド系描画の速度が若干向上。

(2002/05/24)

1.93  DrawString 関数の文字列描画処理を若干高速化しました。

 マイナー関数群にフォント名を列挙する EnumFontName 関数を追加。

 アプリケーションログの最後にほぼ確実に『エラーが発生したためかソフトを終了します』と出ていたのを修正。

(2002/05/19)

1.92  SetUseGraphAlphaChannel 関数による透明情報の付加をソフトウエア描画時にも DrawGraph 関数だけは対応。

 ScreenCopy 関数をマイナー関数欄に追加。

 ChangeFontType 関数追加。これに伴い CreateFontToHandle でフォントのタイプを指定する引数が追加。(以前のまま、つまりフォントタイプのしてい引数がなくてもコンパイルは可能)

 Ver1.90 で DrawLine 関数の終点座標にもピクセルが打たれていた仕様を修正し、終点座標はやっぱり描画されないようにしました。(ころころ変わってすいません!m(><)m)

(2002/04/30)

1.90  StopSoundMem 関数で再生位置が最初に戻らないバグを修正。

 DrawLine 関数で終点に指定した座標にもピクセルが打たれるようプログラム修正。(CPU描画時のみ)

 ChechHitKey 関数の引数マクロにコロン『:』がなく、アットマーク『@』については記述が間違っていて反応しなかったのでそれぞれ追加、修正。なおアットマークのキーマクロは KEY_INPUT_GRAVE から KEY_INPUT_AT に変更されましたので対応お願いします。m(_ _)m

 通信関係の関数が使われるまでは通信処理の初期化を行わないよう処理変更。

 1.89 で更新したアクティブウインドウ変更関係の処理で発生した強制終了現象を改善。

 SetDrawBright 関数の影響がソフトウエア描画モードにおいて反映されていなかったので反映されるようプログラムを変更(反映されないことを前提でプログラムを組んでいられた方は大変お手数ですがプログラムの変更を行ってください。m(><)m)

(2002/04/08)

1.89  プログラム実行中に他のソフトがアクティブになり、一時的にデスクトップ画面に戻ってしまっても終了しないようにプログラム修正。

(2002/04/04)

1.88  SetDrawBlendMode 関数に減算ブレンド指定の DX_BLENDMODE_SUB 識別子追加。

(2002/03/28)

1.87  PlayMusic 関数で開始したMIDIやMP3の演奏の音量を設定できる SetVolumeMusic 関数を追加。(DirectX8以降のみ有効)

(2002/03/20)

1.86c  ChangeFont 関数でフォントの変更が出来なくなっていたバグを修正。

(2002/03/14)

1.86b  関数リファレンス、LoadDivGraph 関数の例のプログラムが間違って記述されていたものを修正。

 GetDateTime 関数で取得できる日時がたまにおかしくなるバグを修正。

(2002/03/11)

1.86a  Ver 1.78 から採用していた、読みこもうとしたファイルがない時にログを出力してソフトが終了する処理を、ログ出力のみを行いソフトの実行は続行されるように処理を変更。

(2002/03/08)

1.86  前奏部→ループ部→ループ部→(以下略)の音楽再生を実現する LoadSoundMem2 関数追加。

 printf と同じ書式指定が可能な DrawFormatString ,DrawFormatStringToHandle 関数 GetDrawFormatStringWidth ,GetDrawFormatStringWitdhToHandle 関数 を追加。

 printf の感覚で文字列の出力の行える printfDx 関数を追加。

 GetUse3DFlag 関数の動作仕様修正。

 ログファイルである App.log を AppLog.txt に改名。

(2002/02/23)

1.84  CPU描画による SetDrawBright 設定を簡略描画以外のときでもサポート。

 及び SetBasicBlend( FALSE ) 時の簡略描画ではない精度の高いブレンド処理の処理速度が向上しました(CPU描画)

1.83  SetFontTinckness 関数のスペルの間違いに気付き、SetFontThickness に改名、申し訳ございません!ご利用の皆様どうか修正お願いします。m(><)m

(2002/02/11)

1.82  DXライブラリを使用したソフトを使った後にたまにデスクトップの表示がおかしくなる不具合を修正。

 3Dアクセラレータを必要としないCPU描画時にも SetBasicBlend 関数で簡略ブレンド演算をする設定にしている時のみ SetDrawBright 関数の設定が描画結果に反映されるよう機能拡張。

 SetMouseDispFlag 関数の設定がウインドウモードの場合はマウスを動かすまで反映されなかった不具合を修正。

 SetScreenMemToVramFlag 関数を DxLib_Init 関数呼び出し以降に使うと処理がおかしくなる不具合を修正。

 3Dアクセラレータを使っているか知ることの出来る GetUse3DFlag 関数を追加。

(2002/02/05)

1.80  3Dアクセラレータを使用しないソフトウエア拡大描画の際、反転描画を行うと上手く描画されない不具合を修正。

 DrawRotaGraph 関数に反転フラグの引数を追加、なお下位互換は保たれているので、今までの使い方でも問題無く動きます。

 すべてのキーの押下状態を取得する GetHitKeyStateAll 関数を追加。

 SetMousePoint 関数をウインドウモード時に使用すると上手く機能しない不具合を修正。

 ウインドウモードでも SetMouseDispFlag 関数が有効になった。

 存在しない画像ファイルをロードしようとするとたまに重大な問題を起こして強制終了する現象を修正。

 DrawLine 関数で不正なメモリアクセスをする現象の修正。

 画面モードの変更に Windows98 以降でしか使用できないAPIを使っていたので、Windows3.1 から対応しているAPIに変更。

(2002/01/24)

1.79  Windows2000 でIMEによる文字入力をするとIMEをOFFにするまで画面が止まってしまう不具合を修正。

 一部のグラフィックカードにおいて、あるタイミングで DrawString 関数を使うとそれ以前に描画したはずのグラフィックの後ろに描画されてしまう不具合を修正。

 3Dアクセラレータに頼らないCPU描画時の 100% 加算ブレンド と 50% 平均ブレンド のみ処理速度多分かなりアップ。(笑)

(2002/01/17)

1.78  ロードした音の再生周波数を変更する関数 SetFrequencySoundMem 関数を追加。

 複数のフォントタイプを一度に使う際に便利な CreateFontToHandle 関数他を追加。

 扱えるグラフィックの最大量の増量。

 存在しないグラフィック・サウンドファイルのアクセスを行った場合その旨をつづったログを残してソフトが終了するよう内部処理変更。

(2002/01/11)

1.76a   フォントのサイズ等を変更した際にメモリリークが発生するバグを修正。

 2D描画時の DrawExtendGraph で画面外にはみ出るブレンド描画を行った際に描画結果がおかしくなる不具合を修正。

 その他細かい修正。

(2001/12/24)

1.76  3Dアクセラレータに頼らない2D描画でも拡大、回転、変形描画及び直線描画、点描画、文字列描画、矩形描画、円描画において半透明系の描画が行われるよう機能強化。

 3Dアクセラレータに頼らない2D描画時の半透明描画系の処理速度を以前に比べて飛躍的に向上させる SetBasicBlendFlag 関数と SetScreenMemToVramFlag 関数を追加。

(2001/12/07)

1.73  数値を数字にして画面に描画する関数を追加。

(2001/11/29)

1.72a  いつの頃からか PlaySound で音を再生しようとするとソフトが終了する不具合を修正。

(2001/11/28)

1.72  2D描画時の DrawRotaGraph でサイズが0になる拡大率を指定した時0除算エラーが起きるバグを修正。

 GetNowHiPerformanceCount 関数では通常メディアタイマーより精度の高いパフォーマンスカウンタを使用するようになっているが一部のCPUではメディアタイマーの方が精度が高いという現象が起きるため、その場合のみメディアタイマーを使用するよう修正。

 扱えるグラフィックの量を大幅に拡張。

 一部のサウンドカードでプライマリバッファを作成できない不具合を修正。

(2001/11/11)

1.71  Windows2000 関係の新たに見つかった不具合を修正。

 3Dグラフィックカードドライバが正常な最大テクスチャサイズを返してこなかった時に起きる不具合を修正。

 Ver 1.66 から発生していたフルスクリーンモードからウインドウモードへの移行すると終了してしまうバグを修正。

(2001/11/06)

1.70  動的メモリ確保を行うよう改造し、無駄なメモリ領域の確保を行わなくなった。

 おかしなグラフィック・又はサウンドハンドルが関数に渡された場合即終了するよう変更。よって安全性が向上した。

(2001/11/03)

1.69a  1.69 で GetJoypadInputState 関数が方向キーの検出が行われなくなっていた不具合を修正。

 現在同じ画面モードに変更しようとした際、なにも起こらずに終了するよう変更。

(2001/11/01)

1.69  GetJoypadInputState 関数で14個目以上のボタンの状態を取得できるようになった。

 乱数初期値設定関数 SRand 関数追加。

 不具合の修正により Ver1.64 から加えられていた起動時のウエイトを3秒から1秒に変更。

 MIDIの再生を標準で DirectMusic による再生に変更。(今まで通りの再生方法に変更も可)

(2001/10/29)

1.67  LoadDivGraph を使用して作成されたグラフィックが3Dグラフィック描画エンジンを使用しないで描画されるバグを修正。

 ウインドウテキストの変更機能と、ログ出力の有無を変更する機能を追加。

(2001/10/27)

1.66  いつの頃か LoadGraph によるムービーの再生を使用とするとエラーが起きる不具合を修正。

 ウインドウモードでのDXライブラリウインドウの移動、縮小化が出来るようになった。

 画面モード切り替え関数である SetGraphMode,ChangeWindowMode 関数におき、今までエラーが起きたら終了していたものを、元の画面モードに戻るように変更。

 その他細かい修正。

(2001/10/10)

1.65e  円及び線の描画プログラムの不具合を修正。

(2001/10/05)

1.65d  一部の環境で起動後すぐ終了する不具合を再度修正。

(2001/10/05)

1.65c  改悪してしまった文字描画関係の不具合を再度修正。

 (元に戻したわけではありません)

(2001/10/05)

1.65b  3D描画関係の不具合修正。

(2001/10/04)

1.65a  文字描画関係の不具合修正。

(2001/10/03)

1.65  SaveDrawScreen をウインドウモードの表画面に対して実行するとデスクトップの一番左上を ( 0 , 0 ) と解釈してしまう不具合を修正。

 円描画の一部仕様変更及び楕円描画関数を追加。ちなみに仕様変更前との互換性は保たれているのでこれが原因でエラーになることはありません。

 Ver 1.64 で一部、又はかなりのグラフィックカードで起きる、起動直後にソフトが終了する不具合を修正。

(2001/09/28)

1.64  Windows2000 で以上終了するバグを修正。

 一部押してもいないのにパッドの方向キーが押されたことになる不具合を修正。

 時々 ScreenFlip 時に垂直同期信号を待たない不具合を修正。

 起動後システムが安定するまで3秒間待つように変更。

 GetRand によリ取得できる疑似乱数の精度向上。(SYN様のプログラムによるものです)

 2D描画機能使用時に DrawGraph 関数のみアルファブレンド、加算ブレンドが出来るようになった。

 2D描画機能使用時に機能しなかった DrawRotaGraph,DrawModiGraph 関数が使用可能になった。

 3D描画時のディザリング機能を停止。

 ログを出力するようになった。

 その他いくつかの不具合修正。

(2001/09/08)

1.60a  例によって修正バージョン、ネットワークプログラムの一部のバグ修正

(2001/09/08)

1.60  ネットワーク関係の内部プログラムの強化。

 『CoonnectNetWork』のスペルミスに気が付き、それに伴い『ConnectNetWork』に改名、既に使用している方には大変ご迷惑おかけします。

 受信データを読み取ってもバッファからデータが消えない NetWorkRecvToPeek 関数を追加。

 ジョイパッドのアナログ入力を取得できる GetJoypadAnalogInput 関数を追加。

(2001/08/16)

1.50  キーボードによる文字列入力支援関数を追加。

 文字列を描画した時のドット幅を取得できる関数を追加

(2001/07/25)

1.49a  Ver1.49において2D描画機能を使用すると不正処理による強制終了を食らう重大なバグを修正。

(2001/07/24)

1.49  マスク処理機能を追加。

 PlayMovie 関数実行終了時に強制終了するバグを修正。

 ScreenFlip関数実行時に垂直同期信号待ちをしない事があるバグを修正。

 他細かい部分の修正。

(2001/07/10)

1.47a  Ver 1.47のグラフィック部分の致命的なバグを修正、1.47を使用している方は直ちに1.47aにして下さい。

(2001/07/09)

1.47  動画ファイルを普通の画像ファイルのように扱えるよう機能拡張

(2001/07/05)

1.46  グラフィック描画速度の多少の向上。

 文字列描画も半透明描画等が可能になった。

(2001/06/19)

1.44  透明情報ありのグラフィック読みこみ機能を追加

 グラフィックのカラービット数変更機能追加

 SetDrawBlendMode関数 の実行速度多少改善

(2001/06/04)

1.42a  Ver1.42 でのキー入力要りでビルドしようとするとエラーが出るのを修正

(2001/06/01)

1.42  JPEG画像読みこみ時のカラー情報がおかしくなる現象を修正。

(2001/05/31)

1.41  DXライブラリをlib形式で配布することに決定。

 理由はファイルが多くなりすぎたから。

 その他画面モード切り替え時の重大なバグを修正。

(2001/05/30)

1.40  読み込める画像形式にPNG、JPEGの2つが追加された。

 MP3の再生をサポートした。

(2001/05/25)

1.31  画面にはみ出るようなグラフィック描画をした際の処理の無駄を省く処理を追加

(2001/05/24)

1.30  パソコン間データ送受信機能を追加。他一部プログラム修正。

(2001/05/19)

1.26  フルスクリーンからウインドウモードに移行した時にウインドウサイズが画面全体になる現象を修正。

 忘れてましたがフォントの変更、サイズの変更機能追加(随分前に…)。

 ソフト公開始めはVer0.8等にする意味がわかりました。ごめんなさい。

(2001/05/16)

1.25  ソフトのアクティブ状態が変化した時の復元精度の向上。

 2D描画機能使用時の半透明描画時のバグ修正。

 透過色の変更を行うための関数SetTransColorを追加。

 ムービー機能を使用しない限りDirectX7.0a以降のSDKでビルド可能が可能になった。(ランタイムも7.0a以降でOK)

 ムービー再生機能を使用する場合は多少の作業が必要となった。

(2001/05/08)

1.22  起動時に一瞬だけ表示されるノイズを表示されないように修正。

(2001/05/07)

1.21  テクスチャサーフェス作成時の致命的なバグを修正。

1.2  フォント変更機能追加及びムービー再生関係のバグフィクス。

 実行中に別のタスクがアクティブになっても大丈夫なようにプログラム変更。

 同時に実行中でのウインドウモード、フルスクリーンモード変更が可能になった。

1.1  ムービー再生機能追加

1.0  DXライブラリ公開バージョン


戻る