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

4月になりました。
今年のエイプリルフールはXOPS界では何も起きませんでしたね。
寂しいです。 いや、「お前がなんかやれ」って話ですが。
なお、2月24日の件は気のせいです。期待していた方すいません。


XopsAddonCreatorの開発ネタをカウントしはじめてから、もう10回目です。
久しぶりに触ってみましたが、まぁ既に「良く頑張ったなぁ~」って他人事でした。
(注:それだけ久しぶりにソースコードを見た ってことです。)

完全に作り切ってはいませんが、全体的には概ね完成してるっといいっても過言
ではない状況です。
前々から言い続けているオプション設定全般と、ショートカットキー機能の実装、
ポイントの説明文編集機能を付けたり とか、基本的にはそれくらいです。

最近ちょっと考えているのが、追加小物のモデルを表示する機能です。
オプション設定からかメニューバーからかは決めていませんが、表示する
モデルを別途設定しておいて、そのモデルをポイントの‘追加小物’に合わせて
表示するという。。 技術的にはそんなに難しくない筈です。
通称・ハイブリッド小物の関連技術を使ったマップデータを作っている方には
重宝してもらえると思います。

XOPSにすら関係ない他の作業も山積みなのですが、例え同時進行でも
そろそろ手を付けていかないとやばいですね。
まともに学校が始まったら、もうやりようがないですし。


別件ですが、3月23日に書いたゲーム作りがどうこう・・・っという件、
決して「俺はもう一生ゲームを作らない」とかそんな頑なな決意文ではなくて、
「今の自分には無理だねー」っていう話ですので。念のため。
あと、2月24日のハードのDA変換の件は、ちょっと進展があったのですが、
詳細は次回にでも書きます (メモメモ
category : ソフト・ツール開発 comment [0]
PR
「XopsAddonCreator」の開発 -9
手元の工程表(?)も一通り埋まってきました。

意味もなく「デザインルールチェック:DRC」機能の画像でも貼っておきます。

(クリックで拡大)

主要機能に含まれるか微妙ですが、オプション設定機能とその設定画面の
作り込みに入っています。
ソフトウェアのカスタマイズ性っというのは、使いやすさに直結はしないものの
意外にも重要視されることがあるので、しっかりと作っておきたいです。

XopsAddonCreatorも各オプション項目は「タブ」でグループ分けします。
(ポイントエディタ(XPE+)やMIFエディタと同じです。)
ただ今回は、HSPではなくVC++でWIN APIを直叩きしてるので、面倒極まり
ないっす。 正直ここまで面倒だとは思わなかった。
規模的にクラスとかライブラリを作るまでのことではないんですよね。


学校自体は長期休みですが、最近は他人からの頼まれ仕事をこなすことが
多くなってきました。
すなわち、他人のために自分の時間を費やしている状況です。
XopsAddonCreatorの開発も終盤に近いですが、これから開発に割り当て
られる時間が減っていくかもしれません。
category : ソフト・ツール開発 comment [2]
「XopsAddonCreator」の開発 -8
ポイントエディタ・XPE+にて目玉機能の1つだった、「ミッション作成ウィザード」を組み上げ
ました。
作業は移植に近く、機能もデザインもポイントエディタに実装されたものとほぼ同じです。
強いて言えば多言語対応されていることでしょうか。

これを作ってて思ったことは、ブロックデータとポイントデータをオブジェクト化してクラスに
まとめなきゃダメかなぁ~ ってこと。
今は構造体に入れてグローバル変数化してるけど、これだと1万行超えのソースコードの
そこらじゅうからデータを読み書きしてるわけです。読み出しもそうですが、それ以上に
書き換えを1ヵ所でまとめてやるようにしないと、おっかないですね。
現に「元に戻す」機能が既に怪しくなってるし (え
これはデータ管理部分の作り直しかな。。  うわぁぁー 面倒くせぇー!!

っと、そんなことを思いつつ、「デザインルールチェック:DRC」(旧・ポイントチェック)機能
を作っています。


別件で、
3年ほど前に勉強がてら作っていた「偽XOPS(fxops)」ですが、色々考えたので書いて
おきます。
現行公開している偽XOPS(バージョン:fxops_20100417)の開発は正式に終了する
予定です。ソースコードのメンテナンス性も悪く、これ以上手を入れるつもりはありません。
後継のプロジェクトとして「OpenXOPS」というものを始動しようかとも考えましたが、
ちょっと考えさせてください。  (...次回に続く)
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -7
当初の予定には無かった機能なのですが、思い付きで開発してみた。
作成ウィザードとかデータチェック機能とかを作るのから逃げてるd


(クリックで拡大)

メタセコイア形式の入出力機能と、DirectXのXファイルの出力機能 を実装してみました。
BD1からMQO(メタセコイア形式)へは、nine-two氏提供の公式ツール「bd2mqo」、一方で
MQOからBD1への変換はka-navi氏の「MQO2BD1」をそれぞれ参考にし、同等(っと思われる)
機能を提供します。
BD1からXファイル出力については完全オリジナルですが、現行のポイントエディタ(XPE+)
で使用しているアルゴリズムを移植しています。

余談ですが、Xファイルの出力機能をなぜ現行のポイントエディタが有しているかというと、
3Dビュアーにマップ表示を行うためです。 一度マップデータをXファイルにモデルとして
落とし込んで、そのモデルを表示しているわけです。
(ポイントエディタでマップを開く際に時間を要するのはその・一度変換するためです。)
無論、今回のXopsAddonCreatorではそんな回りくどい方法はやってません。

技術的はBD1からMQOや、BD1からXファイルなんかより、ダントツでMQOからBD1が大変
です。公式のMQOフォーマット情報をもとに、ファイルの構文解析を行うロジックを自前で
作る羽目になりました。とりあえず試作しましたが、まだ完全じゃないかもしれません。

とりあえず、これでXOPSのマップデータとメタセコイア形式が、1つのソフトウェア上で共有
できるようになりました。需要があるかは知りませんが。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -6
前回ソースコードが1万行を超えたことに触れましたが、これくらいの規模になると何処に何を
書いたか自分でも分からなくなってくるんですよね。
ここ数日はハードウェアを集中的にやり込んでました。
一通りキリが良いところでこちらに戻って参りましたが、ソースコードを目で追うのが大変です。

以下、残りの主な作業内容です。
 ・オプション設定項目の追加
 ・オプション設定項目の多言語化
 ・各種ショートカットキーの実装
 ・ミッション作成ウィザード
 ・デザインルールチェック:DRC(旧・ポイントチェック)
 ・ポイント検索機能
 ・ポイントの説明文編集
今までに触れてきたリストで、上記に含まれていないものは実装が概ね完了しています。
~あぁ本当に面倒な物だけ残ったなぁ。

「ポイント検索機能」については、機能もインターフェースも全く決まっていません。
「ミッション作成ウィザード」は現行XPE+(ポイントエディタ)に採用した物をそのまま移植する
予定です。
本当はさらに強化した機能も脳内には浮かんでいるのですが、あまりにもシステムが複雑で
作り上げる自信がありません。せっかく思いつきましたが今回は見送りです。

UV座標関係については仮実装しましたが、さらなる強化提案を頂いたので検討しています。
この辺は『マップ作成のし易さ』に直結する問題なだけに、出来るだけ機能を作り込みたい。

公開時期は未定で、計画としては本当に皆無です。
っと言いつつ、実は(公開時期について)開発ペースからある程度予想出来ていたりしますが、
根拠も自信もありませんし皆さんにお約束できるものでもありませんので、まだ公表しません。
category : ソフト・ツール開発 comment [0]
[16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26]

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

TOP