忍者ブログ
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

category :
PR
Visual Studio 2019に移行しました
ブログ自体はちょくちょく書いてましたが、お知らせだったり 独り言だった
りしたので、進捗&作業報告っぽいのは一ヶ月ぶりぐらいですね。


タイトルの通りですが、
メインPCのソフトウェア開発環境をVisual Studio 2010⇒同 2019に移行
しました。

1ヶ月ぐらい前に適当なノートPCに入れて2019触った時(※記事)には
割といい感じだったので、メインPCにも入れて本格的に使用・運用すること
にしました。
category : ソフト・ツール開発 comment [0]
Visual Studio 2019を試す
ここ数日、リアルでもネットでも色々なことが同時多発的に報道されていて、
何がなんだか追いつきませんが、とりあえず元気にやっております。
(色々考えた事・感じた事もありますが、話が逸れるので別の機会にします。)


記事のタイトルの通りですが、Visual Studio 2019を試してみました。

前回の記事でDirectXの新バージョンを試したいと話したことに関連し、
新しいVisual Studioをやってみようかと思った次第です。
Visual Studio 2022も目に入りましたが、開発環境としてWindows7が対応して
いるのか曖昧だったのと、新し過ぎて不安だったので避けました。

まさか、どう動くかもよく分からないものをメインPCにぶっつけ本番で入れる
わけにはいかないので、
昨年10月にWindows11を試したノートPCを引っ張り出して、Visual Studio 2019
を入れました。

ツール自体の最初の印象としては、現在使っている 2010 とそう変わらないかなと
感じました。
プロジェクトの作成に少々癖がありハマりましたが、慣れればなんてことないです
し、言うほど悪くないです。
・・・ネガティブに捉えると、10年間でツールのUIには進歩がない?
ただ、コンパイルして実行すると、リアルタイムでCPUやメモリーの使用率が表示
されることに感動しました。 これは凄い、超便利だ。
3Dをゴリゴリやる人間からすれば、GPUの使用率も出せると良いんですけどね。
どっかで表示できる設定があるのだろうか?

OpenXOPSはDirectX 9を使っているため、相変わらずDirectX SDKが必須のよう
です。(DirectX 10以降であればSDK不要で動く?)
早速SDKを別途入れてOpenXOPS(純正ver)のコンパイルを試しましたが、
そのままだとエラーが数百個レベルで出現して全然ダメでした。
一番影響が大きい所として、コンパイル時に2010と比べて「char*」と「const char*」
の区別が厳格になったことです。
今まで何の意識もなくchar*型の変数に "" で囲った文字列の定数を入れまくって
いましたが、2019ではエラーになってダメみたいです。
文字列に対して片っ端から「(char*)」を付けてキャストすることも試みましたが、
文字列の定数が入るところは全部「const char*」にすればよいことに気が付き、
OpenXOPSソースコード内のそこら中の変数を型を書き換えていました。
控え目に言って苦痛でした(^^;

ほか色々な所に手を入れて、一先ずVisual Studio 2019で最低限のコンパイルは
通るようになりました。
作業量が多く大変でしたが、意外にも結構 達成感を感じられます。
OpenXOPS純正版にもRev:291としてコミットしたので、これで一仕事 完了です。


事の発端は「DirectXの新バージョンを試す」であり、当初の目的は達成できそう
ですが、
まだ使い込んでいないものの、思った以上にVisual Studio 2019も悪くなさそう
なので、メイン使いの環境を2010⇒2019に移行しても良いかなと思い始めています。
(さらに前の2008から)現Visual Studio 2010の環境に移行してきたのは2017年
でしたが(※当時の記事)、
2010は登場から10年以上経っていますし、古すぎて開発環境の新規導入にも
自他ともに確実にハードルになっているので。

ただ、そうするとXopsAddonCreatorも2019に移行しなければならず、上記の
「char*」問題が出てきてソースコードの修正量が とんでもないことになるので、
そう簡単には判断できずにいます。
「こっちのプログラムは2010 こっちのプロジェクトは2019」とか、途中で面倒
くさくてやっていられなくなるので、できれば使用環境は一気に移行して完全
統一したいです。他のプログラムも色々ありますし。

『でも移行するなら今だよなぁー』とも思っています。困ったなぁ・・・。
category : ソフト・ツール開発 comment [0]
DirectXの新バージョンが使えなかった
約2年ぶりぐらいに知人たちとオンラインで話しましたが、皆元気そう
で良かったです。


完全に思い付きでDirectX新バージョン(プログラミング)を試そうとした
ももの、失敗した話です。

OpenXOPSはDirectX 9.0cを使っており、『本家XOPSを再現する』という
ミッションに対しては十分に達成できているのですが、
ゲームエンジンを使わずにDirectXを直接叩いている人間としては、もっと
新しいDirectXも触っておいた方が良いのではないか? っと思ったため、
最近のDirectXにも触れてみることにしました。

白紙の状態から三角形や適当なモデルを表示して喜ぶだけでも良いのですが、
もう少し実践的に使うべく、せっかくOpenXOPSを持っているので、
いきなりOpenXOPSに乗せようとしていました。

ところが、DirectX自体の初期化は通るものの、シェーダーをコンパイルする
D3DCompileFromFile()関数が使えないのです・・・。
ちゃんと d3dcompiler.h はインクルードしているのですが、関数宣言がされて
いないとエラーになります。 てか、そもそも同ヘッダーに関数がない??
正確な理由は謎ですが、おそらくDirectX SDKのヘッダーファイルには入って
いないのだと思います。
素直に「新しいVisual Studio+Windows SDKを使え」という話なのですが、
他の現行プロジェクト(OpenXOPSとか、XopsAddonCreatorとか、ほか)
との兼ね合いもあり、そうそうホイホイ環境移行できるものでもないため、
どうしたものかと悩んでおりました。
使っていない適当なPCを引っ張り出して、別途新しい環境を構築するか、
D3DCompileFromFile()関数を使わず、シェーダーファイルは予めコンパイル
しておくようにするか ですね。 うーむ・・。

こんな手間かけて新しいDirectXやるぐらいなら
「最初からゲームエンジン使えば良いじゃん(終)」
って話なんですけれども。
category : ソフト・ツール開発 comment [0]
OpenXOPS派生品作ったり、その仕様書作ったり
この連休はOpenXOPSの開発やっていました。「OpenXOPSの開発」と
言っても、ほぼOpenXOPS_yosi-mikan_Concept(ほか)の開発です。
プログラムもゴリゴリ書きましたが、関係者向けの仕様書作ったり、関係者
向けのデモ・サンプルを作っていました。 ※いずれも非公開
まだ細かい話が残っていますが、一区切りは付いた感じです。

このプロジェクトに限った話ではないですが、共同制作物のプログラムを
担当するとなると、プログラミングして終わりではなく、仕様書作ったり
何なりの作業も結構発生するのですよね。。
"とてつもなく大変な作業"ではないのですが、(プログラマー的な視点で)
言うほど省力化しているわけではないので、一定の手間は掛かっています。
徹底的に省力化・手間の削減を考えれば、やりようは色々ある気はしており、
例えばDoxygenを有効活用すれば良いのかもしれませんが、
そこまで導入する手間の方が割に合わないとは思っています。

いや、もうこれは仕方がないです。
むしろ このプロジェクトの話をすれば、品質の高いaddonを作り続けて
もらえることが、どんなにありがたいことか・・・。
 <この前中止発表した某プロジェクトを見つめる...

あとはOpenXOPSとは全く関係ないところで、
他所で使うべく、APIフックのやり方を学ぼうとしたものの面倒くささに挫折
したり、
Rubyで処理のタイムアウト監視をするロジックを組んだりしていました。
後者のRubyの件は、結構良い感じ。近日中に実戦投入予定です。
Rubyの件は、これだけで記事一本書いても良いだろうか・・。でもなぁ。。


この話の流れとは全く関係ないですが、
前回のブログ記事、飛躍し過ぎにも程がある非現実的な妄想話で、改めて
読んでも ちょっと酷かったと反省はしています。
(実はこれでも、投稿直前に一旦ほぼ全消し&書き直しているのですが..)
投稿から1-2日経ったあたりで一度記事を消す(非公開にする)ことも頭を
過りましたが、
書いた通りのことを考えた・感じたのは事実で、残しておいて(自他ともに)
何か害がある内容でもないので、そのままにしておくことにしました。
本ブログは見ている人がゼロに近いと思われるとしても、一応ネットの海に
流しているものなので、次から気を付けたいと思います。
category : ソフト・ツール開発 comment [0]
OpenXOPSオンライン 開発休止について
2020年12月に開発を発表していた「OpenXOPSオンライン」ですが、
既に他所でも告知した通り、この度 開発休止を決定しました。

期待されていた方々、申し訳ございません。

OpenXOPSオンラインは、2020年9月頃より水面下で開発をはじめ、同年12月
下旬に、正式に開発を発表しました。
 OpenXOPSでオンライン開発します 2020.12.2
2021年2月頃までは開発をしていましたが、以降忙しくなったり 他の活動を
やることになったりで、実質的にオンラインの開発が止まっていました。
(詳細は後述しますが)現状 今すぐに開発を再開できる見通しはないため、
一旦開発を休止することとし、正式に発表した次第です。
category : ソフト・ツール開発 comment [0]
[1] [2] [3] [4] [5] [6] [7] [8]

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP