DXライブラリ質問&雑談掲示板2
[トップに戻る] [使いかた] [ワード検索] [管理用]
おなまえ
題  名
メッセージ
削除キー (記事削除用。英数字で8文字以内)
クッキー情報を保存

<管理人>
ご返信は一週間に一度、土日のどちらかで行います。平日は時間に余裕があるときだけご返信します。
この掲示板はマルチポスト禁止です。

[5320] アドベントカレンダー 投稿者:lego hasiri 投稿日:2022/11/17(Thu) 19:46 [返信]
今年もアドベントカレンダーの時期になったので、Qiitaのアドベントカレンダーで枠たてました DXライブラリについては毎年記事が減っているこのアドベントカレンダーですが、私は頑張って書きます ぜひ皆さんもお願いします qiita.com/advent-calendar/2022/dxlib

[5319] DXライブラリ 3.24 をアップしました 投稿者:管理人 投稿日:2022/10/13(Thu) 22:29 [返信]
先日 3.23f をリリースしたばかりですが、 『SetGraphMode を呼ばずに DxLib_Init を実行すると0除算エラーが発生する』 という致命的なバグがあったので急遽 3.24 として修正版をリリースしました それ以外の更新は殆どないのですが ・Windows版:DxLib_Init 実行後でも SetFullScreenResolutionMode によるフルスクリーン解像度モードの変更ができるように仕様を変更。 ↑ この変更はちょっと有用かもしれません ( ゲームの設定画面などでソフトを再起動することなくフルスクリーンモードの切り替えができるようになるので… ) その他の更新に着いてはこちらをご参照ください m(_ _)m <DXライブラリ更新履歴> https://dxlib.xsrv.jp/dxlog.html <ちょっと宣伝> 開発期間13年の大作個人制作フリーソフト ASTLIBRA 〜生きた証〜 の有償版であり、 私も少し開発に関わった ASTLIBRA Revision が本日の22時から Steam で配信開始となりました <ASTLIBRA Revision> https://store.steampowered.com/app/1718570/ASTLIBRA_Revision/ とても個人制作とは思えないボリュームの横スクロールアクションRPGで 総プレイ時間は60時間ほどになります フリーソフト版との違いはプレイ時間20時間程の大ボリュームの追加ストーリーと、 主人公が繰り出す技の全変更、難易度の調整の他、グラフィックのハイクオリティ化と 日本語・英語・簡体字の言語対応、フリー版では 4:3 の画面でしたが 16:9 の画面比に変更、 解像度も 1024x768 固定でしたが 1280x720, 1366x768, 1920x1080, 2560x1440, 3840x2160 から 選択できるようになりました アクションや成長要素などゲーム性の部分もストーリーも非常に面白い作品なので、 よろしければプレイしてみてください m(_ _)m 因みにフリー版も十二分に楽しめますので、『お金を払うのはちょっと…』という方はこちらの フリー版をプレイしてみてください( フリー版は追加ストーリーが無いので、プレイ時間は 40時間くらいとなります ) <ASTLIBRA 〜生きた証〜> https://freegame-mugen.jp/action/game_9339.html ( 因みに ASTLIBRA はDXライブラリを使用して作成されています ( なので私にお声が掛かった訳です ) ) <ご返信> > 辺見!真琴さん x64化で正常に動作したようで何よりです また何かありましたらお書き込みください m(_ _)m

[5318] Re:[5317] ご返信 投稿者:辺見!真琴 投稿日:2022/10/13(Thu) 20:36 [返信]
週中の返信をありがとうございます。 ビデオカードも、アプリが対応していないとカタログスペック出ないのですね。 さてVS2022ですが、Win32の項目はあるのにx64の項目が無くて試行錯誤しましたが、無事解決しました。 構成マネージャーからプラットフォームを新規作成すれば良いのですね。 動作確認をした所、(元々の出来はさて置き)ちゃんと動作しました。 4K8Kと解像度がうなぎ登りな昨今、x64化は必須ですね。 ご助力ありがとうございました。

[5317] ご返信 投稿者:管理人 投稿日:2022/10/13(Thu) 09:47 [返信]
> 辺見!真琴さん > 7914:テクスチャに画像を転送するためのメモリの確保に失敗しました[Graphics_D3D11_Texture_SetupCommonBuffer] ログ出力の通り、メモリの確保に失敗しているようです 32bitアプリでは1プロセスが使用できるメモリ容量に制限がある( 例えばPCが8GBのメモリを積んでいても、32bitアプリが使用できるメモリ容量は最大で2GB ) ので、もし 32bitアプリでビルドする設定になっていましたら 64bitアプリとしてビルドして実行してみてください m(_ _)m

[5316] 続・LoadDivGraph()に付いて 投稿者:辺見!真琴 投稿日:2022/10/11(Tue) 19:05 [返信]
エラーログを読んでいて気が付いたことがありましたので、少しお聞かせ下さい。 サイズが57600*1350(x32*y1個)だったデータを6000*6400(x4*y8個)サイズに工夫しました。仮データですが。 その結果エラーは出なくなり正常実行されるのですが、それでも表示されませんでした。 改めてエラーログを探ると、最後の方に > 7914:テクスチャに画像を転送するためのメモリの確保に失敗しました[Graphics_D3D11_Texture_SetupCommonBuffer] と言うエラーが残っていました。空行を挟んでの終了処理報告の直前です。 エラーログの冒頭の方に > 772: 最大テクスチャサイズ 幅:16384 高さ:16384 とあったので、元々問題にしていた件では無さそうです。 それとログ冒頭の初期化終了以降なのですが、 > 877:DXライブラリの初期化処理終了 > 3703:ヒープ用メモリの確保に失敗しました > 3703:ヒープ用メモリの確保に失敗しました > 3704:ヒープ用メモリの確保に失敗しました > 3704:ヒープ用メモリの確保に失敗しました > 3704:ヒープ用メモリの確保に失敗しました > 3705:ヒープ用メモリの確保に失敗しました この2行目以降に6回も失敗報告が入るのは関係しますでしょうか。

[5315] DXライブラリ 3.23f をアップしました 投稿者:管理人 投稿日:2022/10/09(Sun) 21:37 [返信]
今回は変更点は少ないのですが、大きなものとして ・デフォルトのフルスクリーンモードを仮想フルスクリーンに変更 という点があります 仮想フルスクリーンとは縁無しウィンドウをモニターの解像度と同じ大きさで表示して ウィンドウモードでありながら、あたかもフルスクリーンモードのように表示するものです ( 疑似フルスクリーンとも言われます ) 何故このような変更をしたかと言いますと、今年に入ってから Steam で幾つかソフトを プレイしたのですが、基本的にデフォルトのフルスクリーンモードは仮想フルスクリーンで、 中には仮想ではないフルスクリーンモードが無く、仮想フルスクリーンを『フルスクリーン』と 呼称しているソフトもあったりして、もはや仮想フルスクリーンがフルスクリーンモードの デファクトスタンダードになっていると感じたからです( 確かに他ソフトへの切り替えも早い上に フルスクリーンモードで一度デスクトップに戻った後、再度ソフトにフォーカスを戻すと挙動が 変になる等の不具合に遭遇する心配もなくて便利 )( その他、掲示板やメールで仮想フルスクリーンモードを DXライブラリで実現する方法についての質問が数年前から幾つか届いていて仮想フルスクリーンの 需要が高まりつつある気配を感じていました ) というわけで、DXライブラリもその流れに準じてフルスクリーンモードではなく、 仮想フルスクリーンモードをデフォルトにすることにしました 尚、DxLib_Init の前に SetFullScreenResolutionMode( DX_FSRESOLUTIONMODE_DESKTOP ); という記述を増やすことでこれまでのバージョンと同じ挙動( 仮想ではないフルスクリーンモード )になります 新バージョンのその他の変更としては SetDrawCustomBlendMode という SetDrawBlendMode より細かく ブレンド設定を行える関数を追加しました 殆ど Direct3D や OpenGL のブレンド設定をそのまま使えるようにしただけのものですが、 SetDrawBlendMode では実現できない一風変わったブレンドモードを使用したい場合などに有用です <SetDrawCustomBlendMode> https://dxlib.xsrv.jp/function/dxfunc_other.html#R15N39 例:SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128 ); と同じ効果のある設定を SetDrawCustomBlendMode で記述した場合 SetDrawCustomBlendMode( TRUE, DX_BLEND_SRC_ALPHA, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, DX_BLEND_SRC_ALPHA, DX_BLEND_INV_SRC_ALPHA, DX_BLENDOP_ADD, 128 ) ; その他の更新に着いてはこちらをご参照ください m(_ _)m <DXライブラリ更新履歴> https://dxlib.xsrv.jp/dxlog.html <ご返信> > 辺見!真琴さん ご確認ありがとうございます もしテクスチャサイズを考慮してもエラーが発生する場合はDXライブラリのバグだと思いますので その際はご指摘ください m(_ _;m

[5314] Re:[5313] ご返信 投稿者:辺見!真琴 投稿日:2022/10/08(Sat) 07:40 [返信]
> > 辺見!真琴さん > > 恐らくお使いのPCに搭載されているGPUが扱えるテクスチャサイズの限界を超えているのが原因でエラーが発生しているのではないかと思います > ( 最近の GPU でも扱える最大サイズは 16384x16384 くらいなので ) > プログラム実行時に作成される Log.txt にエラー原因が出力されていると思いますが、どのようなエラー文になっていますでしょうか?  エラーログ・・・その手がありました。  オフにしていたのでオンにした所、 > 6968:画像ファイル [フルパスファイル名] のロードに失敗しました  とのことで、詳細は分かりませんが冒頭に仰っていたテクスチャサイズが多分原因と言うことで模索しようと思います。  返答ありがとうございました。  いやあ、VRAMは4GBあるから普通に困らんだろとか慢心していました。

[5313] ご返信 投稿者:管理人 投稿日:2022/10/08(Sat) 00:29 [返信]
> 辺見!真琴さん 恐らくお使いのPCに搭載されているGPUが扱えるテクスチャサイズの限界を超えているのが原因でエラーが発生しているのではないかと思います ( 最近の GPU でも扱える最大サイズは 16384x16384 くらいなので ) プログラム実行時に作成される Log.txt にエラー原因が出力されていると思いますが、どのようなエラー文になっていますでしょうか?

[5312] LoadDivGraph()に付いて。 投稿者:辺見!真琴 投稿日:2022/10/05(Wed) 19:33 [返信]
 LoadDivGraph()に1800×1350サイズを32枚、フルサイズで57600×1350と言うアホみたいなサイズの 画像を渡しているのですが、何かしらの理由でエラーが発生します。  確認しておきたいのですが、最大サイズ等の制限はありますでしょうか。

[5311] Re:[5310] ご返信 投稿者:ひいちゃ 投稿日:2022/09/20(Tue) 15:41 [返信]
ありがとうございます! さっそくのぞいてみようと思います! > > ひいちゃさん > > 私は作成していませんが、かめのこにょこにょこさんがHTML5版DXライブラリを制作されています > > <DxLibForHTML5> > https://github.com/nokotan/DxLibForHTML5 > > 一般的にはブラウザゲームをプログラミング、というと JavaScript などを使用する場合が多いと思いますが、 > こちらは Windows用のDXライブラリと同じようにC言語で組めるようになっています > ( WinMain から始まるわけではなかったり、メインループの書き方が違ったりしますが ) > > よろしければご覧になってみてください m(_ _)m

[5310] ご返信 投稿者:管理人 投稿日:2022/09/17(Sat) 20:26 [返信]
> ひいちゃさん 私は作成していませんが、かめのこにょこにょこさんがHTML5版DXライブラリを制作されています <DxLibForHTML5> https://github.com/nokotan/DxLibForHTML5 一般的にはブラウザゲームをプログラミング、というと JavaScript などを使用する場合が多いと思いますが、 こちらは Windows用のDXライブラリと同じようにC言語で組めるようになっています ( WinMain から始まるわけではなかったり、メインループの書き方が違ったりしますが ) よろしければご覧になってみてください m(_ _)m

[5309] ふと思いました 投稿者:ひいちゃ 投稿日:2022/09/15(Thu) 09:45 [返信]
お久しぶりです。DXライブラリ、ありがたく使わせてもらってます。 それで、またふと思ったことが……。 自分は今までWindows用ゲームをメインに作ってきたのですが、この度、プラウザゲームも作りたいと思っていまして色々勉強して、なんとかHSPならやれそうだと思ったのですが……。 それで、DXライブラリのWebGL版が出ないかなぁ、と……。 WebGL版が出れば、かなりブラウザゲーム作りがはかどりそうなのですが……。 やはり難しいのでしょうか?

[5308] ご返信 投稿者:管理人 投稿日:2022/08/18(Thu) 23:15 [返信]
> sasiさん ご報告ありがとうございます、ご指摘の通り MapWidth と ChipTypeNum が逆でした 修正しておきます m(_ _;m

[5307] DrawChipMap2について 投稿者:sasi 投稿日:2022/08/18(Thu) 00:52 [返信]
ヘルプ外の関数について詳しい動作が知りたくてソースコードを追っていたところ発見したので報告だけ。 DrawChipMap2 の実装である NS_DrawChipMap2 は内部で NS_DrawChipMap を呼び出していますが、 このとき MapWidth と ChipTypeNum を逆に渡しています。おそらく。間違ってたらすみません。

[5306] DXライブラリ 3.23d をアップしました 投稿者:管理人 投稿日:2022/08/17(Wed) 09:29 [返信]
今回は少し小粒な更新内容として、pngファイルの読み込みの高速化があります 100回同じ画像を読み込む時間を計測した限りでは、下記の結果の通り画像が大きいほど 今回の高速化の恩恵があるようです 230x150px 256色画像 高速化前 57.0msec 高速化後 53.5msec 比率 93.8% 427x640px 32bitカラー画像 高速化前 460.0msec 高速化後 340.0msec 比率 73.9% 600x900px 32bitカラー画像 高速化前 924.0msec 高速化後 640.0msec 比率 69.3% 3840x2160px 32bitカラー画像 高速化前 9283.6msec 高速化後 5425.8msec 比率 58.4% 他には、Live2Dモデルの描画機能について、DXライブラリが行うデフォルトの処理では 『自動で画面の中心にLive2Dモデル全体が映るように表示する』というものなのですが、 ・Live2Dモデル描画の際に自動センタリング処理を行うかを設定するための関数 Live2D_SetUseAutoCentering を追加。 ・Live2Dモデル描画の際に自動スケーリング処理を行うかを設定するための関数 Live2D_SetUseAutoScaling を追加。 ↑ 上記の今回追加した2つの関数で『自動で画面の中心にLive2Dモデル全体が映るように表示する』処理を無効化することが できるので、より正確に位置や大きさを指定することができるようになりました ( 関数の説明についてはこちらの機能をご希望されたななしさんのスレッドをご覧ください  https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5349 ) その他の更新に着いてはこちらをご参照ください m(_ _)m <DXライブラリ更新履歴> https://dxlib.xsrv.jp/dxlog.html

[5305] ご返信 投稿者:管理人 投稿日:2022/08/16(Tue) 02:03 [返信]
> draさん ご確認ありがとうございます! 名前は『dra』表記で良いとの旨承知いたしました m(_ _)m

[5304] 5303へのご返信 投稿者:dra 投稿日:2022/08/14(Sun) 21:32 [返信]
> 早速ダウンロードページにリンクを張ってみましたので、よろしければご確認ください m(_ _)m > > 『dra様』と記載させていただきましたが、draさんの正式名称は dragoon2014 でしょうか…? (・・; > その他記述の不備等ありましたらご指摘下さい m(_ _;m ありがとうございます、確認しました 名前等はこのままで大丈夫です

[5303] ご返信 投稿者:管理人 投稿日:2022/08/12(Fri) 00:29 [返信]
> draさん > Linuxで開発をする人であれば、通過儀礼といいますか、基本的にはできていてほしい知識だと思います > 通常はapt install gameとかでよしなに依存性を解決してくれるイメージですので > そんなに複雑にはならないと思ってます(開発者側で依存関係を定義する必要はあり) > Linuxで静的ライブラリを使い回すのは現実的でないので > アプリケーション作成者ないしパッケージ作成者がそのあたりを背負う認識です なるほど…勉強になります アプリの配布時は開発者側で自動的に libpng などがインストールされるように設定することができるのですね (・・; > もともとは手元で使うツールをLinuxで動かしたいというのが発端でしたので必要な間は続けようと思います > 機能拡張(Bullet/Live2D対応とか)はお約束できないのでご了承ください 承知いたしました よろしくお願いいたします m(_ _)m > 光栄です、リポジトリのURLを貼っていただければと思います > github.com/dragoon2014/dxlib-for-linux ご承諾ありがとうございます! 早速ダウンロードページにリンクを張ってみましたので、よろしければご確認ください m(_ _)m https://dxlib.xsrv.jp/dxdload.html ( iOS版の下側にあります ) 『dra様』と記載させていただきましたが、draさんの正式名称は dragoon2014 でしょうか…? (・・; その他記述の不備等ありましたらご指摘下さい m(_ _;m

[5302] 5301へのご返信 投稿者:dra 投稿日:2022/08/11(Thu) 18:50 [返信]
無事動作できたようで良かったです > そして実行までできた感想としましては… > ちょっと敷居が高いですね (^ ^; > > 使えないコマンドが現れてエラーが発生したらそのコマンドをインストール > コンパイルで『png.h が無い』などのエラーが出たら、出力を見て libpng や libvorbis など必要なライブラリを自分で判断してインストール > > というのは Linuxユーザーとしては出来て当然のスキルなのでしょうか? > 仮にそうだとしますとやはり Linux使いの方は Windows使いの方より平均レベルがかなり高いですね… (・・; Linuxで開発をする人であれば、通過儀礼といいますか、基本的にはできていてほしい知識だと思います ゲームプレイヤー(Linuxでゲームは未開拓領域・・・そういえばSteam Deckが日本上陸しましたね)であれば 通常はapt install gameとかでよしなに依存性を解決してくれるイメージですので そんなに複雑にはならないと思ってます(開発者側で依存関係を定義する必要はあり) 要はどこが複雑さを背負うかの違いですね DXライブラリは管理者さん側で依存ライブラリの複雑さを背負ったDxUseCLib.libがありますが Linuxで静的ライブラリを使い回すのは現実的でないので アプリケーション作成者ないしパッケージ作成者がそのあたりを背負う認識です > ともあれ、当面の間は draさんに Linux版DXライブラリのご対応をしていただいた方が良さそう > と思いました (^ ^; ( 今回の私の躓きに対する draさんのご対応のようなことが自分でできるように > なるにはかなり Linuxに慣れないと難しそうですし… ) もともとは手元で使うツールをLinuxで動かしたいというのが発端でしたので必要な間は続けようと思います 機能拡張(Bullet/Live2D対応とか)はお約束できないのでご了承ください > あと、不都合が無ければDXライブラリのダウンロードページに draさんの Linux版DXライブラリのページへの > リンクを張らせて頂ければと思うのですが良いでしょうか? m(_ _)m 光栄です、リポジトリのURLを貼っていただければと思います github.com/dragoon2014/dxlib-for-linux

[5301] ご返信 投稿者:管理人 投稿日:2022/08/09(Tue) 01:01 [返信]
> draさん ご対応ありがとうございます 最新のパッケージで make -j4 の実行が成功しました!( 実行時は -j1 にしました( 仮想PCのコア数を1にしていたので ) ) 作成されたサンプルも全て正常に動作しました! (自分的に)未知のOSで動作しているところを見てちょっと感動しました… そして実行までできた感想としましては… ちょっと敷居が高いですね (^ ^; 使えないコマンドが現れてエラーが発生したらそのコマンドをインストール コンパイルで『png.h が無い』などのエラーが出たら、出力を見て libpng や libvorbis など必要なライブラリを自分で判断してインストール というのは Linuxユーザーとしては出来て当然のスキルなのでしょうか? 仮にそうだとしますとやはり Linux使いの方は Windows使いの方より平均レベルがかなり高いですね… (・・; ともあれ、当面の間は draさんに Linux版DXライブラリのご対応をしていただいた方が良さそう と思いました (^ ^; ( 今回の私の躓きに対する draさんのご対応のようなことが自分でできるように なるにはかなり Linuxに慣れないと難しそうですし… ) あと、不都合が無ければDXライブラリのダウンロードページに draさんの Linux版DXライブラリのページへの リンクを張らせて頂ければと思うのですが良いでしょうか? m(_ _)m

[5300] 5299へのご返信 投稿者:dra 投稿日:2022/08/08(Mon) 20:24 [返信]
おお、同じXubuntuでもバージョンで差があるみたいですね・・・ 再修正してみました、こちらでも試してみたので今度こそ大丈夫だと思います ちなみにご存知かもしれませんがmake -j4の4の部分は割り当てたCPUコア数に設定するのがおよそ最適です

[5299] ご返信 投稿者:管理人 投稿日:2022/08/08(Mon) 00:42 [返信]
> draさん ご対応ありがとうございます! 最新のパッケージでは make patch は無事成功したので make -j4 を実行してみました tiff.h が無い、ということで libtiff をインストール png.h が無い、ということで libpng をインストール という具合で進めて行ったのですが、『外部ライブラリが無い』というケースとは少し異なる以下のエラーが発生しました DxLibMake/Linux/DxWindowLinux.cpp: In function ‘int DxLib::SetMainWindowText(const char*)’: DxLibMake/Linux/DxWindowLinux.cpp:22:5: error: ‘Xutf8SetWMProperties’ was not declared in this scope 22 | Xutf8SetWMProperties(d, w, WindowText, NULL, NULL, 0, NULL, NULL, NULL); | ^~~~~~~~~~~~~~~~~~~~ Xutf8SetWMProperties はウィンドウ関連のAPIのようですが、原因について分かりますでしょうか? m(_ _)m

[5298] 5297へのご返信 投稿者:dra 投稿日:2022/08/07(Sun) 14:43 [返信]
> rename.ul の代わりに rename を使うのはNGだったということでしょうか? はい、ともに互換性はないです、が、、、 おおう、rename.ul、Xubuntu 20.04ではデフォルトで入ってるものだったのですが 22.04を見た所なくなってますね・・・まじか。。。 ちょっと修正したので最新のを落としてください renameとついでにnkfを使わないよう(代わりにiconvを使うよう)に修正しました make patchが通った後も〜.hがなくてコンパイルが通らないといわれるとおもいますので 適宜対応するパッケージを見つけて入れてください 多分大丈夫ですがパッケージが見つからないようならコメントください

[5297] ご返信 投稿者:管理人 投稿日:2022/08/07(Sun) 05:00 [返信]
> draさん ご返答ありがとうございます 仕事のサーバーに CentOS が使われていたのでなんとなく CentOS をインストールしてみましたが、 やはりホビー向けではないのですね (^ ^; ( CentOS が 8 で開発終了してしまうというニュースも… ) draさんがお使いの環境と同じ方が安心ということで、今度は Xubuntu をインストールした仮想環境を作成してみました 確かに CentOS 7 よりユーザーフレンドリーな印象でした( Virtual Box ソフトをインストールしなくてもマウスが問題なく キャプチャーされたりと、Virtual Box も CentOS より ubuntu の方に対応に力を入れている様子… ) スムーズにインストールが終わったので、早速 dxlib-for-linux をダウンロードして make patch を実行してみたのですが 『make が無い』というエラーが発生したので make をインストール 『nkf が無い』というエラーが発生したので nkf をインストール 『rename.ul が無い』というエラーが発生したので rename をインストールして MakeFile の RENAME := を rename.ul から rename に変更したところ # ファイル名をAndroid->Linux rename Android Linux DxLibMake/Linux/* ↑ こちらのコマンドの実行で Bareword "Android" not allowed while "strict subs" in use at line 1, in: Android make: *** [Makefile:141: patch] エラー 255 という出力がされ、止まってしまいました > たしかにコードレベルでは互換性があっても周りのコマンドが非互換だったりするので > Makefile内で変数化しているところを対応するコマンドに置き換える必要があります > 厄介なのが、Linuxのディストリビューションによって「rename」というコマンドが複数種類あったりするので > 対応するものを指定しないといけないとかあるんですね rename は複数あるとのことですので、rename.ul の代わりに rename を使うのはNGだったということでしょうか? 因みに『lsb_release -a』を実行した際の出力は以下の通りでした No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy すみません、インストールについては isoによるインストールのほうが慣れていたので、こちらから isoをダウンロードしてインストールしました m(_ _;m https://xubuntu.org/ ( ダウンロードしたファイル名は xubuntu-22.04-desktop-amd64.iso でした )

[5296] 5294と5295へのご返信 投稿者:dra 投稿日:2022/08/06(Sat) 16:49 [返信]
> 企業で Linux を使用する場合は大抵画面出力は行なわず、Tera Term などの端末ソフトを介して > コマンドで操作するだけという認識なのですが、仮に私が DXライブラリ Linux版 の管理を行おうと > 思った場合、ホビー向けのLinux環境としてはどのようなものが良いか等、お勧めのものはありますでしょうか? (・・; 準備が簡単な点でUbuntuかその派生(Xubuntuを含む)あたりが無難かと思います LinuxはWindowsと違って見た目とかが自由に選べるのですが これは逆に言うと自分で選ばないといけないので 気に入ったものを利用してもらうのが良いかと思います Ubuntu系はフレーバーという単位でそれぞれインストールメディア用意してます 「ubuntu desktop flavours」とかで調べてみてください ISOからインストールせずにGUIの動作を試せ、 気に入ればそのままインストールできます (Ubuntu、Xubuntu以外は使ったこと無いのでできなかったらすいません) > まず、そもそも Linux 版動作確認のために専用に PC を用意すべきなのか、それとも Virtual Box 的な > 仮想環境ソフトを使用して、仮想環境上に Linux環境を構築するのがスタンダードなのか等、全く知識が無く… (_ _;; 今どきのPCでしたら仮想マシンVirtualBoxないしHyper-V等で動かすのが楽かと思いますが 懸念としてはGPUが上手く効いてくれるかはちょっと試してみないとわからないですね・・・ --- ・・・と、いう返答を書きつつありましたがもうCentOS7で試されたようですね たしかにコードレベルでは互換性があっても周りのコマンドが非互換だったりするので Makefile内で変数化しているところを対応するコマンドに置き換える必要があります 厄介なのが、Linuxのディストリビューションによって「rename」というコマンドが複数種類あったりするので 対応するものを指定しないといけないとかあるんですね あとCentOS系は標準で提供されるパッケージがUbuntuと比べると相対的に少ないので ホビーで使うにはちょっと不便かもしれません(nkfもなかった)

[5295] ご返信 投稿者:管理人 投稿日:2022/08/04(Thu) 01:41 [返信]
> draさん とりあえず Virtual Box で CentOS7 をインストールして draさん作の Linux版DXライブラリを ダウンロードして解凍して make patch を実行してみたのですが rename.ul というコマンドが無い というエラーが発生しました rename.ul は ubuntu用コマンドなので CentOS ではエラーになったようです (^ ^; ( 初 Linux でいきなり動作確認環境外の CentOS で試すのは無謀だったかもしれません… )

[5294] ご返信 投稿者:管理人 投稿日:2022/07/31(Sun) 03:28 [返信]
> draさん 大変詳しいご解説ありがとうございます! カーネルとユーザーの関係やディストリビューションについて理解できた気がします m(_ _)m ( 各ディストリビューション間でソースコードがそのまま使えるか等についても… ) すみません、何度も申し訳ないのですが追加でご質問させてください m(_ _;m 企業で Linux を使用する場合は大抵画面出力は行なわず、Tera Term などの端末ソフトを介して コマンドで操作するだけという認識なのですが、仮に私が DXライブラリ Linux版 の管理を行おうと 思った場合、ホビー向けのLinux環境としてはどのようなものが良いか等、お勧めのものはありますでしょうか? (・・; まず、そもそも Linux 版動作確認のために専用に PC を用意すべきなのか、それとも Virtual Box 的な 仮想環境ソフトを使用して、仮想環境上に Linux環境を構築するのがスタンダードなのか等、全く知識が無く… (_ _;;

[5293] 5292へのご返信 投稿者:dra 投稿日:2022/07/30(Sat) 17:04 [返信]
おつかれさまです > draさんが行った移植先は『Xubuntu』と認識していますが、仮に『CentOS』で > 動かそうとしたら『Xubuntu』用の移植とは別に『CentOS』用の移植作業を > 行なわなければいけないのでしょうか? (・・; おそらくLinuxをサポートするとしたら 何をしないといけないかを考えてくださっていると思いますのでその目線で回答します 要約するとソースコードだけを公開する場合は基本的にいいえ、 バイナリ(.aとか.soとか)は公開自体をおすすめしないが、 する場合はおそらくはい、がんばるといいえにできるかもしれない、になります --- > Linux について殆ど知識が無いのですが、『Linux』というOSは無く、『ubuntu』 > 『CentOS』『Red Hat Linux』など色々な『Linux系OS』があると認識しています 「Linux」と厳密に言った場合、「Linuxカーネル」単品を指し、 「Linux系OS」と大雑把に言った場合、「Linuxカーネル」を採用し、 その上にユーザーランドライブラリやアプリケーション(以下ユーザー)を揃えた 一式(用語としては「Linuxディストリビューション」)を言います ここでいうユーザーは人間の使用者という概念ではないです カーネルがハードウェアを直接制御し、ユーザーはカーネルを介することで キーボードの入力から画面の表示まであらゆる処理が行えます ``` [ ユーザー ](アプリケーション;Windowsのメモ帳やDXライブラリで作ったゲームなど)  ↑↓  ↑↓制御  ↑↓[ユーザー](システムのライブラリ;DirectXとか、GLESとか  ↑↓  ↑↓制御 ライブラリの上にライブラリが重なることもある、DXライブラリもそう) [ カーネル ](デバイスドライバとか、「Linux」はここ単品)    ↑↓制御 [ハードウェア](キーボードとか画面とか) ``` Windowsにも厳密にはカーネルとユーザーの境界がありますが、 基本的には隠蔽されています 要はWindowsはカーネル+ユーザーひとまとめの製品、 Linuxはカーネルのみ、 Linuxディストリビューションはカーネルにユーザーをまとめた製品(無償だったり有償だったり)になります > ( 広義には AndroidOS や macOS も Linux系OS…? ) Androidははい(Linuxカーネルを採用)、macOSはいいえ、です なので普通は言わないですが、AndroidをLinuxディストリビューションと解釈できなくもないです > draさんが行った移植先は『Xubuntu』と認識していますが、仮に『CentOS』で > 動かそうとしたら『Xubuntu』用の移植とは別に『CentOS』用の移植作業を > 行なわなければいけないのでしょうか? (・・; ここからが本題ですが、ソースコードは互換性があるように書いているので 基本的には各ディストリビューションごとに書き換える必要はありません、が、 すべてのLinuxディストリビューションで絶対に使えるわけでもありません 例としてはウィンドウを管理する機構(WindowsでいうCreateWindowEx関数の機能を提供する箇所)があり、 現状のLinux界隈ではX11からWaylandに移行しつつある段階でまだX11側の機能しか搭載していません。 純粋なWayland(速度低下と引き換えに互換させる機構はある)だけ動く環境では動作しません とはいえ、X11のライブラリを持っていないディストリビューションはほとんどないので 基本的にはそのまま使えるはずです。 Androidはそのどちらでもない、互換性もないウィンドウ管理機構を持っているので、使えません (でも例えばGLESは互換性があるのでその部分は使えます、すばらしい) そしてバイナリを公開するかについてですが、基本的にはおすすめしません。 というのも、Linuxではアプリケーションやライブラリの多くがソースコードを公開していて、 ソースからバイナリの生成は使用者自身やディストリビューション作成者が行う文化になっているためです 最終成果物であるアプリケーションであればバイナリを公開しているところもよくありますが ライブラリであればソースを公開したくない商用のものを除けばあまりないと思います たとえばzlibもホームページにおいてあるのはソースコードだけで Linux用バイナリ(パッケージ)やWindows用のDLLとかは第三者がコンパイルしたものを紹介するだけにとどめています 私の作った物も、バイナリは公開しておらず、今後もその予定はありません それでもあえて(あるいは動作を確かめるために)バイナリの形にした場合、 ディストリビューション間や、同じでも新旧で互換性がなくなったりします ファイルの置き場のお作法が違うとか新しい環境でコンパイルすると古い環境で動かない(逆がだめなことも)とかですね (個人的な興味でよく首を突っ込んでいますが)だいぶ沼なのでおすすめしません

[5292] ご返信 投稿者:管理人 投稿日:2022/07/24(Sun) 07:18 [返信]
> draさん > Androidのコードがそのままっぽいので定義がなくてコンパイル通らないと思います ご指摘ありがとうございます aファイルの更新日時が更新されていたのでてっきりコンパイルが通っていると勘違いしていました orz 近日中に修正したバージョンをアップしようと思います > サウンド足すときにメモリの処理を落としてるっぽいです こちらもご指摘ありがとうございます 今のところ iOS では MemoryProcess 内で大したことはしていない( 確保メモリに設定する タイムカウントの値を更新しているくらい )ので幸い問題はありませんでした > あと直接関係ないですが、更新履歴ページの3.22a→3.23aかと思います ご指摘ありがとうございます、修正しました m(_ _;m > もし必要になれば、取り込んでいただいて大丈夫です > 私もマイペースに、気が向いたときにでも機能を入れていくと思います ありがとうございます ちょっとご質問させていただいて良いでしょうか…? Linux について殆ど知識が無いのですが、『Linux』というOSは無く、『ubuntu』 『CentOS』『Red Hat Linux』など色々な『Linux系OS』があると認識しています ( 広義には AndroidOS や macOS も Linux系OS…? ) draさんが行った移植先は『Xubuntu』と認識していますが、仮に『CentOS』で 動かそうとしたら『Xubuntu』用の移植とは別に『CentOS』用の移植作業を 行なわなければいけないのでしょうか? (・・;

[5291] 3.23bアップおつかれさまです 投稿者:dra 投稿日:2022/07/23(Sat) 14:08 [返信]
アップデートおつかれさまです 3.23bについて、例によってiOS環境を持っていないので確認できないのですが、 何箇所か気になる点があったのでご連絡します DxGraphicsiOS.cpp Graphics_Hardware_DrawBoxSet_PF()内 + if( ANDR_CHECKVALID_HARDWARE == FALSE ) ... + // 描画の準備 + Flag = DX_ANDROID_DRAWPREP_DIFFUSERGB ; + DX_ANDROID_DRAWPREP_NOTEX( Flag ) Androidのコードがそのままっぽいので定義がなくてコンパイル通らないと思います DxSystemiOS.cpp NS_ProcessMessage()内 - // メモリ関係の周期的処理を行う - MemoryProcess() ; +#ifndef DX_NON_SOUND + // サウンド関係の周期的処理を行う + ProcessSoundSystem() ; +#endif // DX_NON_SOUND サウンド足すときにメモリの処理を落としてるっぽいです 他の環境だとコード消えてないのでミスかと思います(意図的なら良いです) あと直接関係ないですが、更新履歴ページの3.22a→3.23aかと思います > 今の所DXライブラリ Linux版を私の方でリリースする予定は無いのですが、もし将来 Linux版を > リリースすることになった際には参考にさせていただきます m(_ _;m ( 参考どころかそのまま > コードを使用させていただく部分が殆どになるかもしれませんが… ) もし必要になれば、取り込んでいただいて大丈夫です 私もマイペースに、気が向いたときにでも機能を入れていくと思います

記事No 削除キー

- Aska BBS -