忍者ブログ
カレンダー
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」の開発 -5
最近ふと気が付くと自分のやりたいことと やるべきことを自問自答しています。

ハードのSDカードの件は、「なんかやけに遅いな・・」っと思っていたらクロック周波数が構想の
半分で動いてました。
動作速度下げて色々テストしていたまま忘れてました。 なんていうアホ。
速度を倍に戻すとだいぶマシになりました、っといっても今だ遅いことに変わりないのですが。


XopsAddonCreatorの件は、ボチボチ進んでいます。
 ◆やったこと
  ・「MIFからBD1とPD1を開く」機能実装
  ・歪んだブロックのマーキング
  ・代用キーで操作可能に
  ・「イベントビュアー」を実装
  ・距離計測機能を追加
  ・人の到着待ち範囲を表示する機能追加

歪んだブロックの判定ですが、各面の法線を使います。
各6面はそれぞれ4つの頂点から構成されていますが、その4つの頂点のうち3つの頂点を使って
三角形を4通り作ります。 それらの法線・計4本の誤差を調べれば、その面が歪んでいるか判定
でき、結果ブロックが歪んでいるか調べられます。
ただこれだけだと裏返しになっていうブロックまでは判定できないので、対象のブロックの中心座標
を求めて、その座標を起点に全6面全てが裏向きなばら、裏返し状態でないことが確認できます。

前回書いた通り、これからするべき課題を書いておきます。
 ◆工程表
  ・最近開いたファイル機能実装
  ・UV座標マッピングをできるように
  ・オプション設定項目の追加
  ・オプション設定項目の多言語化
  ・未使用の認識番号の検索機能実装
  ・選択されたデータの数値移動機能実装
  ・ポイントテンプレート機能実装
  ・各種ショートカットキーの実装
  ・XOPS起動機能 追加
  ・ミッション作成ウィザード開発
  ・デザインルールチェック:DRC機能実装
  ・help browser実装
  ・ポイント検索機能実装
  ・自動バックアップ機能実装
  ・ポイントの説明文編集機能実装

「デザインルールチェック:DRC」というのは、XPE+(ポイントエディタ)でいう「ポイントチェック」です。
XopsAddonCreatorはブロックの編集機能も有しているので、ブロックのチェック機能に加えて、
ブロックデータとポイントデータの組み合せてチェックできるようにしようかと思っています。
例えば、ミッションスタート直後に埋まっている人・武器を見つけて警告してくれたりしたら素敵ですね。

まだまだ先は長いです。

あまり関係ないですが、ついに全体のソースコードの行数が1万行を超えました。
自分1人で作ったプログラムの中で、単一作品のソースコードとしては自己最高記録更新中です。
category : ソフト・ツール開発 comment [1]
PR
「XopsAddonCreator」の開発 -4
VC++でこれ作りながら、ハードも触って、学校のテストも近いからその件もあるし、もう忙しいの
なんのって。 いや、逆に見れば暇だからこんなことやってるんだけど。


とりあえず最新情報をSSで貼る。


(クリックで拡大)

ぱっと見そんなに変わっていないように見えるが、外見に変化が少ないのはその通りである。
内部のゴチャゴチャした部分をいじっていたのでメイン画面に大きな変化はない。

ややその中身の話をすれば、ブロックデータの頂点管理をしやすいように関数を作ったことが大きい。
1個のブロックを描画するにも、
 「2Dトップビューの右上だから、座標は2・・・」
 「7番目の頂点座標のUV座標は、13と21・・・」
なんてことをその都度やっていたので、行数は多いし面倒くさいし間違えやすかった。
今回新たに作った関数を使えば、その煩わしさから解放されるうえ間違いがなくなる。
ついでにブロックデータも今まで単純な各配列変数に格納していたが、ポイントデータと同様構造体化した。
 ・・・なんていうマニアックな話だwww

ブロックネタの積み重ねだが、影の処理を作り直した。
2012年9月20日に話した通りだが、SSで見る以上に不完全で特定の向きのブロックなどで
色がおかしくなる不具合があり、ソースコード上も決して綺麗とは言えないごり押しプログラムだった。
これらは「偽XOPS」(fxops)から持ってきたコードだったが、結局作り直してしまった。
見かけ上は変わらないが、不具合も無くなり計算もシンプルになった。我ながら満足満足。

目に見える機能追加としては、UV座標の補正機能を追加したこと。公式エディタでいう「UV FIX」機能。
見かけ以上に単純な処理だったので賞味10分ほどで完了。
あとは、ソフトウェアの起動画面? を仮実装した。 まだ見せられる状況じゃないけれど。

公式エディタには歪んだブロックを黄色や橙色で表示する機能があるが、あれが良く分からない。
正月休み中に、久しぶりに公式ブロックを立ち上げていろいろ研究していたが、何かヒントを掴み
かけたものの一晩寝たら忘れてしまった。
歪んだブロックを判定する処理は必須なので、避けては通れないという思いだけなのが空しい。


全体の工程表を作っていないので分からないが、体感で必要機能の半分以上は既に実装している
気がする。
近いうちに「残り何が必要か」「まだ構築していない機能は何か」というリストを作る。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -3
とうとう12月に入ってしまいました。
年末です。すぐそこに迫ったクリスマスが終わるころには、2012年も終わってしまいます。
色々な意味でまだやり残したことが山ほどあるのに。


本題です。


(クリックで拡大)

3Dビュアー上からブロックとポイントが選択できるようになりました。
現時点で選択処理のみで移動などは3D上からは行えませんが、マウスで対象のブロックないしは
ポイントをダブルクリックしてやると、2D CAD上で選択した状態になります。
遊び半分で付けてみましたが、実際にマップとミッション作成の際には想像以上に威力を発揮
するかもしれません。

あと、グリッドの調整機能を付けました。
公式エディタと異なり、XopsAddonCreatorはビュー表示倍率とグリッド間隔を別に扱います。
公式エディタは表示倍率=グリッド間隔で依存関係なので、ブロックやポイントの画面上の表示
サイズを変えるとグリッドも変わってしまいます。「GRID LOCK」を有効にしている場合、表示倍率を
変更する際は細心の注意を払わないと全体のグリッドがズレて、ブロックデータの場合は最悪
歪んでしまいます。
XopsAddonCreatorは表示倍率とグリッド間隔を分けて扱うので、例えば『表示はx6.0倍で表示
して、グリッドはx2.0倍のまま』っといったことが可能です。これで表示倍率を安易に変更して作業でき、
面倒なグリッドによるズレの問題から解放されます。
 ─っと言っても現行のエディタに既に慣れているユーザーは、表示倍率は変更せずに作業を
することに不自由していない可能性が高く、既存ユーザーには意味がないかも。


最後に。XopsAddonCreatorの開発ですが、そろそろ本当に飽きてきました。
いまだテクスチャ設定全般のインターフェース案がまとまりませんし。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -2
前回に書いていて気が付いたのですが、今年10月中に一切開発が進んでいなかったのは、
同月下旬に行われた某資格試験を受けるために勉強していたためです。


ブロック編集機能を実装中です。
ブロックデータファイルから参照した既存データの 頂点を移動したり、ブロックの削除やコピー
andペースト(貼り付け)ができるようになりました。

後は、ブロックの新規作成や、テクスチャの設定(番号とUV座標)が出来るようにします。
ブロックの新規作成もポイントと同様に、ダイアログを出すインターフェースにする予定です。
OKボタン(ショートカットキー・Enter)を押す操作が増えますが、公式ソフトウェアのように
「大・小」以外にも大きさを指定して配置できます。
問題はテクスチャの設定です。いまだにどのようにするか決まっていません。

前回書き忘れましたが、ブロック・ポイント両方ともコピーandペーストが行えます。
現行のポイントエディタ・XPE+と異なりコピーできるデータの上限数はありません。
またWindows標準のクリップボードを使用しているため、他のXopsAddonCreatorや
ソフトウェア終了後でもペーストできます。

<追記>
前回の記事にSecretでコメントをしてくださった方、応援メッセージありがとうございます。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -1
9月1日  あのソフトの次世代機つくろうとしてた
9月12日  あのソフトの次世代機 かな?
9月20日  グラフィック比較
11月10日 実質あのソフトの次世代機

今まで適当な名前で呼んできましたが、ソフトウェア名と開発を正式に発表します。

名前:『XopsAddonCreator』
(XPE+:ポイントエディタ と異なり、基本的に略しません。)

概要
・現行ポイントエディタ「XPE+」の次世代ソフトウェア。
・ブロック編集も行えるようにし、ADDON制作の総合環境を目指す。
・現行XPE+より動作は軽い。近年のマルチコアCPUも意識した設計。
・とりあえずWindows2000以降なら動く見込み。ただしDirectX 9.0c必須。
・使用する開発環境も変更し、最初から制作し直す。
・XOPS2については現時点で非対応。(正式発表されていない以上無理)
・多言語対応
・公開時期未定。ってか開発続行すら未定。

機能
・基本的に、現行XPE+の機能は全て取り込むつもり。(一部例外あり)
・操作性はXPE+より部分的に変わるかも。
・前述の通りブロック編集モードを実装。
・「元に戻す」機能実装
・ウインドウはサイズ可変に。最大化も可能。
・各ビューは表示サイズを変更可能。


以下、多言語動作のテストとして、今回は英語表示した画像。


(クリックで拡大)

独自形式(フォーマットとしては汎用のINIファイル)の「言語ファイル」を用意することで、
日本語、英語、韓国語、中国語、ロシア語・・・などUnicodeで表現できる言語ならば
何語でも表示できます。
ただし私の語学力の問題により、標準では日本語と英語のみの採用になりますが、
言語ファイルはユーザーで追加することも可能です。

付属する説明書としては、日本語で書かれたものをメインに用意する予定。
その他に、テキストファイルで書かれた簡易的な英語の説明書も用意しようかなぁと。
っと言っても、公開場所の「みかん箱」がバリバリ日本語なので、はたして外人が使って
くれるかどうかは分かりませんが。
category : ソフト・ツール開発 comment [0]
[17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27]

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

TOP