日本鋼豹司令部 トップページへ SPWAW解説記事は、トップページからどうぞ。

Mr.OOB 人柱募集!

Total votes: 0
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
というわけで、今度は「発見君」を作る過程で思いついたOOB閲覧ツール「OOB Viewer (仮)」の人柱募集です。

********以下、全面改訂(2008/02/25)**********

え〜と、もはやこのツールはOOB閲覧ツールではありません。正確に言うと、

・OOB閲覧機能
・ユニット購入シミュレータ機能

の二つの機能をあわせもつツールです。OOBの詳細を研究したいなどという方はあまり多くはいないと思いますが、ソロプレイのキャンペーンや対人戦において、事前に購入ユニットを検討したいという方は結構いるんじゃないかと思います。

Ver1.4 では、ついに TrueTroop 設定と HistoricalRatings 設定に対応したので、このツールで吟味したコア部隊のコストは、実際のゲームの購入画面で表示されるコストとピタリと一致する・・・はずです。たぶん。

選択したユニットリストは、テキスト形式で出力可能なので、実際の購入時やAARを書く時などにも役に立つでしょう。たぶん。

<使い方>
ZIPファイルを解凍して出てきたファイルを全て同一フォルダに入れてください。


というわけで、まずは動作確認をお願いします。バグ報告・感想・提案などなんでもお待ちしております。 :salute


以下、追記

2008/03/15 ver1.53 リリース
・purchasemodeで中共軍を開くとエラーがでる問題を修正

2008/03/09 ver1.52 リリース
・出力テキストで、中隊購入した編隊の小隊コストが0表示になる問題を修正

2008/03/06 ver1.51 リリース
・enhanced用HQコスト取得ルーチンを追加
・名称変更「BuyerMode」→「PurchaseMode」
・その他いくつか不具合修正・変更など

2008/03/02 ver1.5 リリース
・間接砲兵割合の取得が可能に
・不具合いろいろ修正

2008/02/25 ver1.4 リリース
・TrueTroop設定とHistricalRatings設定に対応!!
・その他いろいろ

2008/02/22 ver1.33 リリース
・BuyerModeでユニット詳細を見やすく
・なんかいろいろ修正

2008/02/19 ver1.31 リリース
・自分で気づいたバグ修正
・BuyerMode で編隊の一部を消去可能に

2008/02/17 ver1.3リリース
・いろいろバグ修正
・BuyerModeルーチンを一新

2008/02/14 ver1.2リリース
・いろいろバグ修正
・細かい仕様を一部変更
・編隊コスト表示機能追加
・BuyerMode機能追加

2008/02/09 Ver1.1.1リリース
・指摘された誤字を修正
・タブオーダーを正しく設定
・リストボックスの操作性改善(矢印キーで操作可)
・エラー処理をやや強化

2008/02/04 Ver1.1リリース
・必要なライブラリを同梱しました。
・役に立たないReameも追加
・lbmファイル名に4桁以上の数字が含まれている場合に画像が表示できない不具合を修正
・正式名称は"Mr. OOB" とする(ショボ・・・)
oob-Viewer.gif
Attachment: oob-Viewer.gif
Last edited by Nor on Sat Mar 15, 2008 04:42 UTC, edited 11 times in total.
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
ver1.1 に更新したことをお知らせします。 :salut
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
フォーラムには初投稿のKatzenです。使ってみて気付いた点など報告します。
ユニット表示モードのまま装備武器のスペックが確認できるのはとても便利に感じました。

気になったポイント
・左側のリストをカーソルキーで選択した際の挙動がおかしいようです。
上下どちらでもキーを押すと普通に選択が移動するものの、メイン領域の表示が更新されません。
二度目を押すと更新されますが、一回分遅れた状態になり、その後繰り返しても同じです。

・データを見る上ではあまり使いませんが、TextBoxコントロールのタブオーダーに違和感があります。

・国籍名の「Comunist China」「Philippins」はそれぞれ「Communist China」「Philippines」のミスでしょうか。

・解説textのアスタリスク。ゲーム内では改行記号扱いされているものだと思いますが、これがそのまま出ているのがちょっとだけかっこ悪いような・・・。

勝手な提案
・登場時期とカテゴリーでフィルタする機能が欲しい。
・ユニットの比較か相違点強調機能が・・・あったら嬉しいなと :D
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
そういえばチャットでしかお会いしたことないですかね。何はともあれ、詳細な人柱報告、大感謝です。 :salut

Katzen wrote:
ユニット表示モードのまま装備武器のスペックが確認できるのはとても便利に感じました。
単純にユニットの装備兵器とスペックを並べただけなのですが、たぶんコレが普通の人にとっては一番便利なところだと思います。
左側のリストをカーソルキーで選択した際の挙動がおかしいようです。
この辺の処理はとりあえずと思って適当に作ったままですね。たぶん「マウスクリック」と矢印キーで選んで「Enter」しか効かないようにしてると思います。次期バージョンで修正します。
データを見る上ではあまり使いませんが、TextBoxコントロールのタブオーダーに違和感があります。
ああ!テキストボックスが多すぎて、タブオーダーの設定は最後にしようと思ったまま忘れておりました!ま、使う人いないんじゃないかとも思いますが、次期バージョンで修正します。
国籍名の「Comunist China」「Philippins」はそれぞれ「Communist China」「Philippines」のミスでしょうか。
Yes!!そうですね。完全にスペルミスです。次期バージョンで修正します。この手の表記間違いは多々あると思いますので、他にも見つけたら是非ご報告ください。
解説textのアスタリスク。ゲーム内では改行記号扱いされているものだと思いますが、これがそのまま出ているのがちょっとだけかっこ悪いような・・・。
う〜ん。確かに見た目はちょっとアレですが、これは意図的に残しておく方針です。というのも、このツールを最も熱心に使ってくれるのは、おそらくEnhancedMod開発メンバだと思っています。彼らにとっては、コピペでそのまま使える方が良いだろうという判断です。

勝手な提案
・登場時期とカテゴリーでフィルタする機能が欲しい。
・ユニットの比較か相違点強調機能が・・・あったら嬉しいなと
なるほど。私も単にOOBのデータを表示するだけでは物足りないなあと思っておりました。例えば、こんな感じの機能ですね。↓
http://worldatwar.eu/index.php?&lang=9& ... eversion=3

このサイト、以前はユニット比較機能もあったのですが、現在はなくなってるようです。でも国籍・年月・兵科(あるいはクラス)を指定して検索できる機能は、それこそ部隊購入時の検討資料としてはもってこいですね。うん。何とか実現したいと思います。

比較については・・・・最低2個分のユニット情報を並べて表示する必要があると思うので、現在のフォーム構成のまま実現するのは難しそうだなあ・・・

これに懲りず、何かまたご意見・ご感想があればお知らせください。 :salut
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
Katzen さんご指摘の項目のうち、簡単に直せる3点を修正したものをver1.1.1としてアップしました。
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
素早い対処ありがとうございます。

いろいろと試していると、画像を読み込む時に毎回生成されるtemp.bmpに気が付きました。
なんとなくスマートな方式でな…なんでもありません
ふとそのファイルにReadOnly属性を付けたらどうなるのかが気になり試してみると、
終了時にSystem.IO.File.DeleteからUnauthorizedAccessExceptionがソローされて止まりました。
そんなことするもんじゃないという感じのものですが一応報告まで。:salut

************** 例外テキスト **************
System.UnauthorizedAccessException: パス 'C:\*****\mroob111_502\temp.bmp' へのアクセスが拒否されました。
   場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   場所 System.IO.File.Delete(String path)
   場所 Mr.OOB.Form1.Form1_FormClosing(Object sender, FormClosingEventArgs e)
   場所 System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
   場所 System.Windows.Forms.Form.WmClose(Message& m)
   場所 System.Windows.Forms.Form.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
え〜と、まずはご報告ありがとうございます。
いろいろと試していると、画像を読み込む時に毎回生成されるtemp.bmpに気が付きました。なんとなくスマートな方式でな…なんでもありません
わざわざ外部ライブラリを使っているにもかかわらず、一旦読んだLBMファイルをその都度BMPで保存して再度読み込むなんて処理は、おっしゃる通り非常にブサイクな処理ですが、もっと効率良い処理を書くために必要な時間と労力を勘案すると、この辺でお茶を濁しておこうという現実的な判断に基づくものなのでご了承ください。 :porc

それでも「俺のHDDに勝手に書き込んだり消したりするんじゃねえ!」という方は、同梱の"Freeimage.dll"ファイルを消去してもらうのが手っ取り早いです。画像が表示されなくなるだけで、エラーは出ないはずです(たぶん)。

それよりも私が心配するのは、ファイルの無断作成を監視したりできる(らしい)Vista環境では、ちゃんと動作するのか?という点です。Vista環境で試してみたという方がいらっしゃたら、是非ご報告ください! :salut

ふとそのファイルにReadOnly属性を付けたらどうなるのかが気になり試してみると、終了時にSystem.IO.File.DeleteからUnauthorizedAccessExceptionがソローされて止まりました。そんなことするもんじゃないという感じのものですが一応報告まで。
まさに、「そんなことするもんじゃない」って感じの操作ですね。 :pirat
私のエラー処理に対するスタンスは、プログラムの目的とする動作に必要な操作上で発生する可能性のあるエラーに対してのみケアするというものなので、このレベルでの動作検証は不要です。
ご指摘のような超特殊な操作は、積極的にエラーを出す意図がないとまず行われないでしょうから、特にエラー処理を施す必要性は低いでしょう。欲を言えば、もうちょっとアリガチな操作で発生するエラーを見つけてもらえると嬉しいです。 :salut
image
pukuto
上等兵
rank
Posts: 76
Joined: Fri Sep 23, 2005 04:23 UTC
 ご無沙汰しております。

 年頭にノルマンディキャンペーンを再開するぞ〜 とチャットで謳っていたのですが、配置などをグダグダ考えているうちにPCのHDDが昇天してしまいました。。。 :cry:

 先週末にようやく新しいPCが出来上がり(例によってガラクタの集まりだから新しくはないのか?) まずはここへ来なくてはと覗いてみると、なかなか便利で楽しそうなモノを作っていただいているようで、いつもありがとうございます。

 早速使ってみようとMr.OOB君をダウンロードしてみたのですが、まだSPWAWをインストールしていませんでした :oops:

 キャンペーンは新しくやり直した物を投稿したいと思います。Norさんに作っていただいたツールと 複数筋から入手した CandC on時のdefend戦法があれば、虎豹の突撃も怖くない(のか?)!

 Mr.OOB君で PIATの射撃音ばっかり聴いているような事態にだけはならないようにがんばります :salut
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
画像読み込み時に生成する一時ファイルは実行ファイルと同じ場所ではなく、
(1) (2)あたりの方法で環境変数に設定されているtempフォルダに保存するほうが望ましいかもしれません。
そうでないと、もし無関係のtemp.bmpが同じフォルダにあった場合…… :pale
例えば、とりあえずデスクトップに解凍して使ってみようとしたときなどが危険です。
このレベルでの動作検証は不要です。
もうちょっとアリガチな操作で発生するエラーを
失礼しました。今度はまともな報告(のつもり)です。

・ソ連OOBの
125 - SO Motorcycles
126 - Motorcycle MG
を見ようとするとプログラムが応答なし状態になります。
Freeimage.dllを消去して画像が表示されないようにすると問題は起きませんでした。

・細かいことですが、リストボックスはHome/End/PageUp/PageDownでも表示が更新されるのが一般的な仕様かと思います。

・Mr.OOBを起動後まだOOBを開いていない状態で、左のリストボックスのどこでもクリックするだけでハンドルされていない例外が発生します :shock:

************** 例外テキスト **************
System.IndexOutOfRangeException: インデックスが配列の境界外です。
   場所 Mr.OOB.Form1.display_unit()
   場所 Mr.OOB.Form1.ListBox1_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
   場所 System.Windows.Forms.ListBox.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
まとめてレス失礼です。
Mr.OOB君で PIATの射撃音ばっかり聴いているような事態にだけはならないようにがんばります
お久しぶりです。Mr.OOBには、部隊購入の際に役立つ「買い物シミュレーター」みたいな(まあ、そんな大層なものじゃないですが)機能をつけようと思っております。
私もそうなんですが、「何買おうか何日も迷ってるうちに何となくやる気が萎えちゃう」という方のお役にもたてるはずです。

それにしても、PIATの音って改めて単独で聞いてみると、結構重々しくいい感じです。とてもバネ式とは思えません。 :D
・ソ連OOBの
125 - SO Motorcycles
126 - Motorcycle MG
を見ようとするとプログラムが応答なし状態になります。
おお!これは渋い発見です。調べてみたところ、どうやらこのLBMファイル(P0178)だけ他とは異なるフォーマットになってるようです。ある意味大発見。とりあえず次期バージョンでは消極的な回避策(これだけ表示しない)を搭載するだけにしようと思います。
Mr.OOBを起動後まだOOBを開いていない状態で、左のリストボックスのどこでもクリックするだけでハンドルされていない例外が発生します
そうそう!こういうやつです!これは充分アリガチな操作なので、ちゃんとエラー処理しないと問題ですね。次バージョンで修正します。

その他のリストボックス操作とtempファイル出力先はまた余力があるときに。 :cool:
image
マップ将校
Posts: 438
Joined: Thu Feb 12, 2004 05:24 UTC
Nor司令官様 どうもです。

ご報告遅くなってすいません。
いまさらでアレなんですが、これはいいですねえ。 :wink:
わたしもMG42のサウンドを何回も聞いて、やっぱりいい音だなあなんてニヤニヤしておりました。

で、Katzenさんの報告と同じようなものかもしれませんが、「ハンドルされてない例外」が出現しましたので、ご報告いたします。

Mr.OOBを起動して、OOBのリストから国名を選び、SetOOBをクリックして呼び出しました。で、キーボードの下矢印を押したら、「アプリケーションのコンポーネントで、ハンドルされてない例外が発生しました」と、メッセージが出現しました。
詳細な内容は下記に添付して見ました。

ということで、よろしくお願いいたします。

いやいや。ほんとすばらしいですね。 :wink:

サト
imageimage
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
Mr.OOBを起動して、OOBのリストから国名を選び、SetOOBをクリックして呼び出しました。で、キーボードの下矢印を押したら、「アプリケーションのコンポーネントで、ハンドルされてない例外が発生しました」と、メッセージが出現しました。
ご報告ありがとうございます。 :salut
あいあい、上記手順で同様のエラーが発生することを私の環境でも確認しました。次期バージョンで修正します。いやあ、エラーっていっぱいあるなあw
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
というわけで、version1.2 のリリースです。
今回の目玉機能は、編隊コスト表示機能と、BuyerMode機能です。

編隊コストは、Formationタブを開くだけで見られます。その編隊に含まれるユニットや編隊の単価に加え、その合計コストも表示されます。ただし、ここで表示されるコストは、ベテランレベルのユニットを基準にしたものであり、ゲームをTrueTroop設定オンでプレイする場合は、ユニットコストが一致しないことを覚えておいてください。ま、それでも参考くらいにはなるでしょう。

BuyerMode機能を使うには、メイン画面でOOBをセットしてから、メニューの’BuyerMode’ボタンをクリックします。
すると小さめのウィンドウが開くので、上記添付図を参考にして、見やすい位置に配置してください。
このウィンドウ上で、年・月・兵科を指定し、’Search’ボタンを押すと、メイン画面のリストに条件に合致する編隊の一覧が表示されます。
リストにある編隊名をクリックすると、Formationタブに詳細が表示されます。その編隊にユニットが含まれる場合は、Viewボタンが表示され、クリックするとUnitタブで詳細が確認できます(戻るには自分でFormationタブを選ぶ必要があります)。

で、BuyerModeに入ると、Formationタブの右下に’Add to Cart’ボタンも表示されます。リストから編隊を選択した状態でこのボタンを押すと、BuyerModeウィンドウのリストに追加されます。この時、兵科別の消費ポイントとその割合も表示されます。
リストから外したい場合は、リスト上の編隊名をダブルクリックしてください。ポイントや割合も自動で再計算されるはずです(たぶん)。

と、こんな風にして、キャンペーンやPBEMでの部隊購入をシミュレートすることが可能!というのがBuyerModeのウリです。ま、表示されるのが、ユニットではなく編隊の一覧だと言う点がちょっとアレですが、ゲーム外で購入したい部隊のだいたいのポイントや兵科割合が把握できるというのは、なかなか良いんじゃないでしょうか。

ただ選んでおしまいでは芸がないので、選択した編隊リストをテキスト形式で出力する機能もつけました。AARなんか書く時にはお役に立てるかもしれません。


と、言葉で説明してもよくわからないと思うので、興味のある方は使ってみてください。ただし、例によって超短期間のやっつけ仕事なので、バグやエラーはてんこ盛りだと思われます。引き続きエラー報告のほうもお願いいたします。 :salut
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
:eek: これはすばらしい。まさにお買い物シミュレーターですね。
軽く使ってみたところで気になる点が。

・編隊によっては選ぶユニットで値段が大きく異なりますが選択はできないのでしょうか?
・Buyer Modeボタンを押して左のリストボックスが空になった状態でそこをクリックすると例外が発生します。
条件を指定して検索した際にも空白部分をクリックしても同じく例外が発生します。

System.NullReferenceException: オブジェクト変数または With ブロック変数が設定されていません。
   場所 Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)
   場所 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   場所 Mr.OOB.Form1.BuyerMode_listclick()
   場所 Mr.OOB.Form1.ListBox1_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
・Buyer Modeを抜けたときにもリストが空になり、そこをクリックすると上とは別の例外が発生します。

System.OverflowException: 算術演算の結果オーバーフローが発生しました。
   場所 Mr.OOB.Form1.ListBox1_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
   場所 System.Windows.Forms.ListBox.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
さっそくの検証ありがとうございます。例によって似たり寄ったりのエラーはすぐに修正できましたが・・・・
編隊によっては選ぶユニットで値段が大きく異なりますが選択はできないのでしょうか?
うひいいいいいいいいいい・・・・この点について全く考えておりませんでした!! :shock:
そういえば、ゲーム上では時期に応じてユニットを選べますよね。その機能がないと買い物シミュレータとしては片手落ちどころか意味なしですね :sad:

う〜ん、この処理を実現するには、ちょっとした改修だけでは難しそうですし、時間もかかりそうです。これまでに書いた処理を使いまわして買い物機能をつけたものの、いっそのことMR.OOBとは別に「買い物君」でも作った方がいいのかもしれません。

そうかあ。OOB Editor と同じ表示にすることだけしか頭になかったのが敗因です。Editorで表示される編隊リストってのは、単なる一例に過ぎないんですねえ・・・・。ああ、考えが浅かったです。今のとこ実現の見通しは立ってませんが、まあちょっと対策を考えてみます。 :porc
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
Ver1.3更新のお知らせです。
ものすごく頑張って、何とかちゃんとユニットの選択ができる買い物ルーチンを書き上げました。
我ながら良くやったと思います。 :pirat
詳細は後ほど。

例によって限定的な動作テストしかしてませんので、検証のほどよろしくお願いします。 :salut
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
:cheers 今度こそお買い物シミュレーターですね。
早速試していますが売却時のコスト表示がおかしいような。
マップ将校
Posts: 438
Joined: Thu Feb 12, 2004 05:24 UTC
Nor司令官 様

お世話になっております。
すんごいですねえ。この「買い物モード」は素敵ですねえ。
パッケージの中のユニットの変更も出来て。
お疲れ様でした。 :D

で、ひとつ提案なんですが、
中隊パッケージの一部だけ購入をキャンセルするようなことってできるようになりますか?

毎度すいません。
よろしくお願いいたします。


サト :wink:
imageimage
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
早速試していますが売却時のコスト表示がおかしいような。
もうちょい詳しく! :pirat
で、ひとつ提案なんですが、中隊パッケージの一部だけ購入をキャンセルするようなことってできるようになりますか?
なります。 :cool:
現バージョンでは、ややこしい処理をできるだけ省くために、編隊の一部キャンセル機能はつけませんでした。次バージョンまで今しばらくお待ちください。

ところで、ちょっと気になったんですが、DepotのPBEMで編隊の一部キャンセルはダメってルールは無くなったんでしょうか?いや、そのルールを考慮してキャンセル機能をつけなかったわけじゃないんですけどね。 :porc
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
というわけで、早速サトさんのリクエストにお応えした ver1.31 更新です。

なんとか編隊の一部を消去可能にしましたが、以下の点にご注意ください。

<制限事項>
・消去できるのは、買い物リストに追加する前(Add to Cart ボタンを押す前)だけです
・編隊単位でしか消去できません(当然ですね)
・ルート編隊ごと消去することもできません(当然ですね)
・一度編隊を消去すると、ユニットの変更はできなくなります
・したがって、ユニットの変更を思う存分した後に、編隊消去機能を使ってください
・買い物リストに追加した編隊の一部消去はできません

<編隊消去の方法>
・TreeViewに表示されている編隊のうち、消したい編隊を選択する
・Delete ボタン(今回から追加)をクリックする

説明するよりやってみた方が簡単だと思いますが、要注意事項は一度Deleteボタンを押すと、その後はユニット種の変更が不可能になる点だけでしょう。
もちろん、新たにリストをクリックすれば、再びユニット種の変更は可能になります。


では、お楽しみください。 :salut
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
売却時のコスト表示は正しくなっているようです。
以前にソ連のオートバイ兵を表示しようとすると応答なしになるというのを報告しましたが、
同様の問題が同じくソ連OOBのEnhanced Modに含まれているT-54でも発生します。
その他の国籍のユニットで発生するかは検証できていません。

Buyer Modeについてですが、
年代などを指定して検索、編隊を選択して構成ユニットの詳細を表示しようとするとき、
最初はダブルクリックで、二回目以降はシングルクリックで切り替わる不思議な反応になります。

また、例えば「ある年代に買えるライフル兵のうちどれを選ぶのがいいだろうか」と思ったときに、
プルダウンメニューで候補Aを選択→ユニットの詳細を確認→Buyer Modeに戻る→プルダウンメニューで候補Bを→ユニットの詳細を確認
と、ステップが多くユニットのスペックを比較しづらいように感じます。
Buyer Modeからユニット詳細表示に切り替えた状況で
「次へ・前へ」というような操作で選択肢の中から画面推移なしに比較できる機能があるといいかなと……勝手な要望ですが。
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
以前にソ連のオートバイ兵を表示しようとすると応答なしになるというのを報告しましたが、同様の問題が同じくソ連OOBのEnhanced Modに含まれているT-54でも発生します。
了解。確認しました。今回もオートバイ兵の画像と同じ形式でした。う〜ん、この手の画像がこれ以上出てくるようだと、もうちょっと根本的な対処をしないといけないなあ・・・と思いつつ、今回もまた「とりあえず表示しない」という手で逃げることにしました。 :pirat
年代などを指定して検索、編隊を選択して構成ユニットの詳細を表示しようとするとき、
最初はダブルクリックで、二回目以降はシングルクリックで切り替わる不思議な反応になります
了解。修正しました。
Buyer Modeからユニット詳細表示に切り替えた状況で「次へ・前へ」というような操作で選択肢の中から画面推移なしに比較できる機能があるといいかなと……勝手な要望ですが。
了解。確かに現状では見にくいですよね。Unit タブにボタンを二つ追加して、タブの切り替えなしに候補ユニットの前後を見られるようにしました。


というわけで、上記3点のほか、気づいたところをいろいろと修正したものをver1.33としてアップしました。1.32が飛んでるのは・・・そのバージョンはDepotの方に投稿しちゃったからです。

とりあえずこれで購入シミュレータとしての基本的な機能はそろったかなと思います。あとは、True Troop オン設定でのコストが算出できるようになれば・・・というのが次の目標ですかね。 :cool:
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
こんばんは。要望を実現していただけてうれしいです。 :D
・前後の候補ユニットの切り替えは「1/5」というように、総数と現在位置が表示されるとわかりやすいと思います。

・Buyer Modeではない通常の状態で、Formationタブからドイツ軍「Recon Co」を選択するとメッセージボックスで「Recalculation Error! Check the OOB!」とエラーになります。これはメッセージのとおりOOB側の問題でしょうか? 開いたのはデフォルトOOBです。

・上と同じ状態で何らかの中隊(どれでも)を選択し、右の編成リストでツリーのトップにあたるノードをクリックすると例外が発生します。

System.NullReferenceException: オブジェクト変数または With ブロック変数が設定されていません。
   場所 Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object Instance)
   場所 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   場所 Mr.OOB.Form1.TreeView1_NodeMouseClick(Object sender, TreeNodeMouseClickEventArgs e)
   場所 System.Windows.Forms.TreeView.OnNodeMouseClick(TreeNodeMouseClickEventArgs e)
   場所 System.Windows.Forms.TreeView.WmNotify(Message& m)
   場所 System.Windows.Forms.TreeView.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
そのバージョンはDepotの方に投稿しちゃったからです。
Depotでも大好評ですね。さすが :cool:
それと、フォーラムのIndexで見つけました。
……Happy Birthday! :pirat
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
Happy Birthday!
おお、そういえば今日は(もう昨日か)誕生日だったですね。ありがとうございます。 :cheers
前後の候補ユニットの切り替えは「1/5」というように、総数と現在位置が表示されるとわかりやすいと思います。
了解。対応しました。
Buyer Modeではない通常の状態で、Formationタブからドイツ軍「Recon Co」を選択するとメッセージボックスで「Recalculation Error! Check the OOB!」とエラーになります。
え〜と、これはメッセージ通りにOOBに間違いがある、と思ってます。問題の"Recon Co"は、構成編隊のリストの中に自編隊を含んでいます。つまり無限構造になっているのです。
ただし、SPWAWで"Recon Co"を選ぶと、ちゃんと自編隊のところだけ無視されて、問題なく読み込めます。
この点に気づいた時、どうしよっかな〜と思いましたが、OOB編集者の方々には役に立つエラーチェック機能かなと思って、わざとエラーメッセージを表示するようにしています。

ちなみに、Formationタブで表示される編隊の内訳コストも、時期を指定しないコストなんてほとんど意味はないのですが、OOB編集者の方には多少役に立つだろうと判断して残しています。
上と同じ状態で何らかの中隊(どれでも)を選択し、右の編成リストでツリーのトップにあたるノードをクリックすると例外が発生します
了解。BuyerModeばかり気にしていて基本を忘れてましたね。修正しました。


というわけで、上記2点の修正に加え、ついについに、TrueTroop 設定と HistoricalRatings 設定に対応した Version1.4をアップしました。

BuyerMode ウィンドウに、Settings ボタンを追加したので、そこから各種設定ができるようになっています。だんだん複雑な操作が必要になったので、そろそろ日本語でも説明書を作らないといけませんね。

とにかく、今回の更新でたぶんあらゆる条件で正確なユニットコストを算出できるようになったはずです。といっても、やはり今回もスピードを優先したのでエラーが残ってる可能性は大有りですので、検証のほどよろしくお願いします。 :salut
image
Katzen
伍長
rank
Posts: 111
Joined: Fri Jun 02, 2006 11:50 UTC
TrueTroop 設定と HistoricalRatings 設定に対応
          :cheers :cheers :cheers

バージョンを指定すれば自動で算出してくれるのですね。すばらしい。

・細かなことですが、ユニット選択候補数が一度表示されるとその後消えません。
・SettingsウインドウがBuyer Modeのウインドウの下に隠れてしまいます。
・Histric RatingをOffにして不正な経験値を設定しようとすると表示されるメッセージボックスも同様に隠れてしまいます。
・SettingsウインドウでOKを押すとメインウインドウが他アプリケーションの下に行ってしまいますが仕様でしょうか。
・経験値に118,119,120を設定してOKを押すと例外が発生します :? 一体どんな処理をw

System.OverflowException: 算術演算の結果オーバーフローが発生しました。
   場所 Mr.OOB.Form2.hq_cost_recalc()
   場所 Mr.OOB.Form3.Btn_ok_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
   場所 System.Windows.Forms.Button.OnClick(EventArgs e)
   場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   場所 System.Windows.Forms.Button.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)