<おしらせ1>
またまた、いつの間にか掲示板がダウンしていたようですね。ログを見ると、およそ2年半ぶりの改修です。
この間、何度かメールでご要望があったようですが、この度ようやく重い腰を上げて掲示板を修復いたしました。
管理不行き届きで申し訳ありません。

<おしらせ2>
サイト管理を楽にするために体裁を変更しています。
本サイトのメインコンテンツであったSPWAWの解説記事は以下からアクセス可能です。
SPWAW解説記事一覧


<5分で調べたSPWAW界の近況>

びっくりしたことーその1「Depot リニューアル」
SPWAW界を長年牽引してきた世界最大のファンサイトSPWAW DEPOTが、昨年の4月に閉鎖、13年の歴史に幕を下ろしたようです。
と同時にDepotメンバーの一人 Falconさんが新たなサイトSPWAW DEPOTを立ち上げたようですね(笑)。
まあ、中心メンバーが入れ替わって、こじんまりした感はありますが、実質的にはリニューアルって感じですかね。
旧DEPOTの遺産は相続されているようで、今後ともがんばって欲しいところです。
https://www.tapatalk.com/groups/spwawdepot/

びっくりしたことーその2「砲撃要請画面ラグ解消」
マルチコアCPUが普及した頃でしょうか、ある程度以上のスペックのPCでは、砲撃要請画面で挙動がおかしくなる不具合がありましたね。
それが原因でSPWAWを離れた・・という方もおられたような記憶がありますが、どうやらこの不具合、ついに修正されたようです。
これもDEPOTメンバーのおかげみたいですね。Matrix Games 公認(というか黙認ですね)のもと 、本体ファイル MECH.EXE をいじることに成功したようです。
https://www.tapatalk.com/groups/spwawde ... -t277.html


というわけで、この機会にもう一度SPWAWをやってみようかな、と思われた方は次のリンクからダウンロードをどうぞ。
DEPOTで全てのファイルのホスティングも始めたようです。
https://www.tapatalk.com/groups/spwawde ... es-t6.html

セーブデータエディター

SPWaWに関する質問に誰かが答えるはず
Post Reply
島風
暗号解読部長
Posts: 58
Joined: 2007.Mar.12(Mon) 21:51

不要ユニット識別用マーカー

Post by 島風 » 2007.Jul.11(Wed) 05:08

島風です。

 夏っぽく、幽霊の話にビビリながら、早速本題です。

Code: Select all

セクション1のB6列は、不要ユニット識別用マーカーとして利用可能、と思われる。
 Nor様、おめでとうございます。 :cheers
よく見つけはったですね。もう少しデータを見る必要がありますが、たぶん大丈夫ではないでしょうか。ただ、若干の解説が必要です。
鍵は「B6」列です。ここはまだ未解読ですが、不要ユニットが存在する3つのデータのいずれでも、不要ユニットは全てB6列の値が0になっています(他は全て1)。
 ををっ、とりあえず10シナリオ分のデータを見ましたが、確かに「1」が立っていますねっ、ほぼ全て。
 「0」になっていたのは1ユニットだけで、それは「おそらく」脱出したcrewがやられちゃった場合のようです。「おそらく」と書いたのは、

Code: Select all

1. セクション34の1E列の生存フラグは 0=dead となっている。
2. セクション17のユニット座標00〜03は「FF」で、このユニットはマップ上にはいないことになっている。
3. しかし、セクション1の79列の部隊の状態を表す数値は 0=Ready となっている。
4. セクション1の74列の部隊の残兵力を表す数値は 「3」、7A列の Damage は「0」となっている。
ためです。
 逆のパターンとして、Norさんにも送付したDRシナリオ#1、セーブデータ023.datでは、ポーランド軍の最後から2番目のユニット、Ursus A は、セクション1のB6列は「1」ですが、

Code: Select all

11. セクション34の1E列の生存フラグは 1=alive となっている。
12. しかし、セクション17のユニット座標00〜03は「FF」で、このユニットはマップ上にはいないことになっている。
13. セクション1の79列の部隊の状態を表す数値は 5=Destroyed となっている。
14. セクション1の74列の部隊の残兵力を表す数値は 「0」、7A列の Damage は「0」となっている。
15. 一方、セクション37の166列のside1のSVの現シナリオでの損害を表す数値は「0」となっている。
でした。追加実験として、終了直前ターンのセーブデータで、敵の全ユニットについて、他の所は全くいじらずに、セクション1のB6列のみを「0」にしたらどうなるかをみてみました。その結果は、

Code: Select all

B6列が「0」のユニットは、マップ上にも表示されないし、損害もカウントされない。
でした。これらのことから推測されるのは、

Code: Select all

i) セクション1のB6列は強力(ほぼ最強?)なフラグで、ここが「0」になると他のパラメーターを無視して、ゲームに存在しなかったことになる。
ii) 「生存」に関しては、セクション34の1E列の生存フラグが優先され、 1=alive となっていれば、たとえマップ上にいなかったり、セクション1でDestroyed となっていても、損害にカウントされないし、B6列が「1」であれば不要ユニットとは見なされない。
 i)はちょっとびっくりです。 :shock:
うーん、シナリオ作者は、ここさえ「0」にしておけばそのユニットは無かったことにできますね。本来はデバッグと言うか、シナリオを練っていく仮定で、とりあえず作ったけど不要なユニットについてここを「0」にしておいて、最終段階ではデータから消すのでしょう。しかし、時間がなかったり、ついうっかり消し忘たりして、その結果、Norさんが大変な思いをすることになった、のでしょうね。 :cool:
 また、脱出したクルーですが、例えば戦車が破壊されるとAFVの損害が+1されます。その際に、乗員3名が脱出してその後破壊された場合、MENの損害に+3するとダブルカウントになるので、それを防ぐためにB6列が「0」になっているのでしょう。もしB6列が無ければ、あちこちのパラメータをいじくらなくてはなりませんが、B6列があるので、ここ1個だけフラグを立てれば済みますね。(脱出クルーの損害について、僕はダブルカウント無しと推測しましたが、正確なところはどうなのでしょう。ご存じの方がいたらおしえていただけませんか)

 ii)で、「マップ上にいるかいないか」が「生存」と一見無関係なのは、飛行機や盤外砲は「マップ上にいなくても生存している」ことがあるためでしょう。
 ポーランド軍のUrsus A は、セクション1のB6列は「1」ですが、シナリオには一切出てこないし、これも本当は作者の消し忘れで、不要ユニット扱いでもいいと思います。解析には役に立ったので消し忘れた作者に感謝です。 :D
現在の天候値取得方法は、最初に地形(05列)値をチェックし、この値によって3パターンに分けた後、天候(68列)を表示しています。というのも、地形によって天候値の意味するところが違うようだからです。
 情報ありがとうございます。DRの初期シナリオ、例えば39年のポーランドなどは、地形(05列)値はすべて「01」ですが、68列と天候は

Code: Select all

01, 02 : Hazy
03      : Clear
04, 05 : Rainning
06      : Thunder Storm
となっていました。 "rbhelp.txt"にはない設定があるのかなぁ。

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

おお!

Post by Nor » 2007.Jul.11(Wed) 07:57

この怪談話、解析の役に立ちます?たたんか(笑)!!!
うん。コレ、直接的に役に立つというわけではないのですが、上書きされたデータの痕跡が残るというのは実に興味深いお話です。

島風さん。ヒジョーに詳細な解析ありがとうございます。セクション34の死亡フラグやセクション17の座標データとの関連など、複数セクションの比較はさぞ大変だったでしょう。その結果、B6列が役にたちそうだとわかってほっとしてます。大感謝です。 :salut

ここで一つ疑問なのは、B6列の値をどうやって操作するのかという点です。おそらく、海外の大ベテラン達でも、バイナリデータを直接編集してシナリオを作っている方は皆無だと思われます。そして、WAWEDにはB6列を直接操作する機能はありません。もちろん、WAWED内蔵のHEXエディタを使えば可能ですが、そんな情報はこれまで寡聞にして聞いたことがありません。

つまり、穏当に考えると、B6列の操作はエディタ側が勝手にやっていることであって、決して作者が意図して操作しているのではないということです。ここでdugongさんの怪談が役に立ちます。この例からは、あるシナリオを上書き保存すると、以前のユニットデータは削除されるのではく、そのまま残してB6列に0を立てる、という可能性が推測できます。

おそらく、B6列の値が0になる状況は、上書き保存やクルー死亡以外にもあるのでしょうが、いずれの場合もエディタやゲーム本体側が勝手にやってるのは間違いないと思われます。

しかし、そう考えると、セーブデータ023.dat のUrsus A の例は不思議ですね。データを詳しく見ていないのでなんとも判じかねますが、内蔵エディタやWAWEDの機能を組み合わせて変則的な操作を行うことで、こんなユニットが生まれるのかもしれません。

変則的な操作の例として思いつくのは、内蔵エディタで"U"キーを押せば、そのユニットはDestroyed 状態にできます。もちろん、この操作だけではDamage値がスコアに加算されるので、通常は先に当該ユニットのコストを0にしておきます。

あるいは、内蔵エディタやWAWEDでは、すでに購入したあるユニットを別のユニットに変更することもできます。極端な例では、盤外ユニットを盤内ユニットにすることも、その逆も可能です。また、WAWEDを使えば、ユニットの座標をどこにでも変更できるのはご承知のとおりです。

こういった、やや変則的なエディット機能を駆使すれば・・・あるいは生きているけどどこにもいないUrsus Aのようなユニットが出来るのかも・・・しれません。 :roll:

まあ、いずれにせよ、このB6列という「強力(ほぼ最強?)なフラグ」の機能を解明したのは大発見といえるでしょう。いやあ、ホントにご苦労様です! :salut

離脱クルーの扱いについては、私もよくわかりませんが、これまでの経験から言えば島風さんの説に納得します。現時点では、スコア値の算出方法がよくわかってないので、これは今後の課題ですね。

"rbhelp.txt"にはない設定があるのかなぁ。
そうそう!こういう情報が欲しかったのです!
"rbhelp.txt" 以外の設定があるのはほぼ間違いないと思います。SPWAWのデフォルト文書の多くは、ある時点(おそらくver5.1くらい)から更新されていません。この"rbhelp.txt"も、作成日が2001年なので、それ以降の変更は反映されていないはずです。

もっとも、そもそも"rbhelp.txt"の情報が間違っているという可能性も否定できませんが・・・。天候と地形の関連については、個別のケースをこまめに収集して、全体像を把握するしかなさそうですね・・・。大変だ!! :evil:
Image

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

Crew とポイントの扱いについて

Post by Nor » 2007.Jul.11(Wed) 08:52

Depotで調べてみたところ、以下のような情報が見つかりました。第一人者の FlashfyreSP 氏情報なので、信頼度はかなり高いと思われます。

<砲や車両がDestroyed の場合>
・砲や車両をDestroyed にした時点で、相手には全額分のポイントが加算される。
・Crew の価値はない。つまり、やっつけても相手にポイントは入らない。
・本体のポイントのみカウントされる

<砲や車両がAbandoned の場合>
・砲や車両を Abandoned にするだけでは、ポイントは入らない。
・放棄された砲や車両にスタックすればDestroyed にできる。あるいは、ゲーム終了時に優勢の場合は、敵の放棄ユニットはDestroyed 扱いになる。
・Crewに価値が発生する。
・本体とCrewのポイントは個別にカウントされる


ということらしいです。なるほど。納得。 :salut
Image

島風
暗号解読部長
Posts: 58
Joined: 2007.Mar.12(Mon) 21:51

隠れキャラ!?

Post by 島風 » 2007.Jul.11(Wed) 23:16

島風です。
Depotで調べてみたところ、以下のような情報が見つかりました。第一人者の FlashfyreSP 氏情報なので、信頼度はかなり高いと思われます。
 Norさん、ありがとうございます。へえ、この様になっているのですね。「放棄された砲や車両にスタックすればDestroyed にできる」のと「本体とCrewのポイントは個別にカウントされる」のは知りませんでした。と、いうことは、88mmでドカンと一発で撃破するより、ドアノッカーこと37mmなどでチマチマ痛めつけてcrewが脱出したら食べてしまうのが点数的にはいいんですね、とてもそんな余裕はありませんが。
ここで一つ疑問なのは、B6列の値をどうやって操作するのかという点です。
 Norさんが書かれているように、人間がHEXエディターでいじるのではなくて、プログラムによって変更されている、という説明に納得です。そうですよねぇ、わざわざHEXエディターで数値をいぢるのは、ねぇ。
 それから、幽霊ユニットですが、これは、たとえば、矢印キーを、右右、左左、上下上下、と押すと出てきて1ユニット一万点、とか、誰もいないはずの建物にHE弾を50発ぶち込むと突然ユニットが破壊されたことになって1UP(?)、とかだったりして。 :D

 えー、<To Do データ解析>のうち、簡単に調べられる方から順番に。
<To Do データ解析>
Q1・キルスコアは本当に2バイトか(セクション34の1C・1D列)
 A1・2バイトでした。
Q2・79列に4が立つときのみ、F9列の放棄フラグに1が立つのか(セクション1)
 A2・そうとも限らないようです。
Q3・BC列とF8列の違い。両方ともSide番号を表しているのか(セクション1)
 A3・BC列はいつでもSide番号と一致しましたが、F8列は違っていることがありました。
 Q1について、まず、1Bと1Cと1Dすべて「00」で、キルスコア「0」のユニットについて、HEXエディターNorさん特製日本語版で数字を入力してみました。

 1Cのみ「01」=キルスコア「1」
 1Dのみ「01」=キルスコア「256」
 1Cと1D「01」=キルスコア「257」
 1Bと1Cと1D「01」=キルスコア「257」

ですので、やはり2バイトのようです。

 次にQ2ですが、79列に「4」が立つユニットを探してみました。終了ターン以前のターンのデータでは79列に「4」は立つユニットはありましたが、F9列はすべて「0」でした。ただし、ユニット数が上限に達しているシナリオのデータなので、余裕がある場合にどうなるかは不明です。また、終了ターンのデータ、20シナリオ分程度で見たところ、79列に「4」が立つけど、F9列が「0」だったのが1例ありました。そして、ある1つのシナリオについては79列に「4」が立ち、F9列が「1」だったのが30ユニットもありました。ですが、これらのうち6ユニットのアンモダンプ以外はコスト「0」で、残骸を見せるために入れられたユニットのようです。
 次にF9列が「1」のユニットを探しましたところ、いくつかありましたが、上記の30ユニット以外では、79列は「5=Destroyed」になっていて、88列のコストが「0」になっていました。やはり、これらは、見せ物用のユニットらしいです。
 ついでに、crewが逃げ出したと思われる(すなわち、該当するcrewがセクション1のデータの最後に追加されている)車両や対戦車砲のうち、79列が「0」でF9列が「0」になっているが4ユニットありました。これは全て味方ユニットでした。
 さらに追加実験として、ゲーム中に「9」キーでcrew脱出してcrewtが車両から離れたヘックスに移動して1回セーブ、そのターンを終了し、次のターンの頭でセーブしてみたところ、どちらの場合も、79列は「4」ですが、F9列は「0」でした。
 うーん、なんだかごちゃごちゃ書きましたが、結局、普通のユニットで79列が「4」で、かつ、F9列が「1」のユニットは見つかりませんでした。僕の手持ちのデータが、シナリオの開始ターンと終了ターンのみのものがほとんどなので、調査に限界があるのかもしれません。でも少なくとも、「79列に4が立つときのみ、F9列の放棄フラグに1が立つ」とはいえない、ことが分かりました。

 Q3です。1シナリオを除き、BC列とF8列は100%一致していました。パルチザンが攻めて来るシナリオでのみ、F8は敵も「0」になっていました。これが何を意味するのかは分かりませんが、敵味方識別フラグはBC列を見るのがよいようです。

 それでは失礼します。

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

いよいよ!

Post by Nor » 2007.Jul.12(Thu) 00:28

Q1・キルスコアは本当に2バイトか(セクション34の1C・1D列)
 A1・2バイトでした。
Q2・79列に4が立つときのみ、F9列の放棄フラグに1が立つのか(セクション1)
 A2・そうとも限らないようです。
Q3・BC列とF8列の違い。両方ともSide番号を表しているのか(セクション1)
 A3・BC列はいつでもSide番号と一致しましたが、F8列は違っていることがありました。
毎度毎度、解析ありがとうございます。 :salut
Q1については了解です。すっきりしました。 :D

Q2については・・・結局、このF9列の放棄フラグって何なんですかね? 状態がAbandoned の時に1が立たないなら放棄フラグの役にたってないような・・・。ってこのデータを特定したのって私でしたっけ? :pale

Q3についてもイマイチ釈然としませんね。F8列って何なんだろ??でもBC列がSideフラグだと確定して安心しました。


え〜、そろそろ島風さんも連日のデータ解析に疲れた頃だと思うので、この辺で第二版ツールを公開します! :cool:

第一版の「確認君 人柱バージョン」よりは、プログラムの信頼性はかなり高くなったと思いますが、まだまだ修正が必要な点が多いことに変わりありません。で、今回からツール名を「参謀君」にすることにしました。でもやはり「人柱バージョン」です。 :porc

今回の修正・追加点は次のとおりです。

<修正済み・追加済み事項>
・インストールパスをレジストリから取得
・"Immobilized" を除く状態表示
・被射撃マーク
・デフォルト人員数に対して現在人員数が多くなってしまう事がある
・OOBに不要ユニット・敵ユニットが表示される
・敵のArt(空欄)とAir損害の値が入れ替わっている
・敵のAir・Glider損害を追加
・Side0・1の選択

<注意事項など>
そういえば、ver7くらいからSPWAWはレジストリに登録するようになったことを思い出したので、spwawのインストールパスはレジストリから取得することにしました。これでインストールフォルダをデフォルト以外に変更している場合でも、読み取れるはず・・・です。

ただし、SPWAWを2つ以上インストールしている場合は・・・おそらく最初にインストールした方のパスが登録されていると思われます。したがって、後からインストールしたSPWAWのセーブデータを読み取る場合は、結局ファイル選択画面で、フォルダを変更してやる必要があるはずです。悪しからず。


被射撃マークは、ユニットの状態表示の後に"(#)"として表示されます。もちろん、表示フォントが「CarbonType」の場合は、"( )"しか表示されませんので悪しからず。でもまあ、()がついてりゃわかりますよね。 :pirat


OOBのユニット一覧表示がおかしいという問題は、かなり改善されたと思います。いや、ホントは完全に改善された・・・と言いたいのですが。
今回は、不要ユニットを判別するB7列を使用し、セクション1(ユニットデータ)とセクション34(指揮官データ)のシリアル番号をマッチングするなどなど・・かなり頑張ったので、たぶん問題ないはずです(前回はそんなことさえしてなかったのか!!) :cool:

ただ、シリアル番号でマッチングしたせいで、クルーが離脱したユニットの指揮官は階級以外のデータが表示されず、階級はKIAとして表示されます。もしクルーが生存していれば、一覧の最後尾にデータがあり、その指揮官(離脱ユニットの指揮官と同一人物)のデータも正しく表示されるはずです。ただし、クルーが全滅している場合は、結局その指揮官データは一切表示されないことになります。

まあ、これはセクション34の構造がそういう風になっているので仕方ないのですが、ダブってもいいから全部に指揮官データを表示したいという要望があれば修正を検討します。


そして、今回の目玉機能は、Side0とSide1のどちらを出力するかを選べるようにしたことです。マクロ起動時に表示されるフォームに、オプションボタンがあるので、どちらかを選択してください。

たぶん・・・どちらの陣営を選択してもうまく表示されるはずです。少なくとも私のいい加減なテストではちゃんと表示されましたから。 :porc

あ、それとフォームには「被発見マーク」のチェック項目がありますが、これはまだ機能しません。というのも、被発見マークの有無をチェックするには、新たにセクション17を読み込まなければならないので、実は結構手間がかかる・・・と気づいたからです。島風さん、ゴメン。 :cool:


なお、以下の項目はまだちゃんと動かない or 未実装です。
では、ごゆるりと「参謀君 人柱バージョン」をお楽しみください。不具合報告・ご意見・ご感想・ご要望など幅広くお待ちしております。


<To Do プログラム修正・追加>
・VHの確保数が結果を反映していない
・地形(Terrain)が正しく取得できない
・天候(Weather)が正しく取得できない
・Scoreの勝敗判定が正しく取得できないかも
・Depot基準の勝敗判定

<To Do データ解析>
・地形(セクション37)
・天候(セクション37)
・セクション1か34に、被発見マークのフラグは無いのか??
Last edited by Nor on 2007.Jul.12(Thu) 08:12, edited 1 time in total.
Image

島風
暗号解読部長
Posts: 58
Joined: 2007.Mar.12(Mon) 21:51

人柱1号

Post by 島風 » 2007.Jul.12(Thu) 01:02

島風です。

 Norさま、ツール開発お疲れさませてす。早速使わせて頂きました。
おおっ、ちゃんとパスが通りました。ありがとうございます。ですが、下記メッセージがでて止まってしまいます。

Code: Select all

実行時エラー'1004'
WorksheetFunction クラスの Match プロパティを取得できません。
 うーん、済みませんが僕には意味が分かりません。Norさま、よろしくお願いします。
<To Do データ解析>
・地形(セクション37)
・天候(セクション37)
・セクション1か34に、被発見マークのフラグは無いのか??
 地形と天候データは集めるのに時間がかかりそうです。セクション1か34での被発見フラグは割と早く何とかなると思います。

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

Re: 人柱1号

Post by Nor » 2007.Jul.12(Thu) 01:12

島風 wrote:ですが、下記メッセージがでて止まってしまいます。
あらら、いきなり! :oops:
エラーの出たデータをメールにて送ってくださいな・・・・ってもしかして・・・もうもらってるヤツ?? :pale

Code: Select all

地形と天候データは集めるのに時間がかかりそうです。セクション1か34での被発見フラグは割と早く何とかなると思います。
あ、全然急ぎませんので。もうホント、ゆっくりやりましょう。 :pirat
Image

User avatar
dugong
技術将校
Posts: 141
Joined: 2006.Jan.24(Tue) 19:50
Location: 日本海軍??

新任参謀君

Post by dugong » 2007.Jul.12(Thu) 05:31

Nor閣下

新任参謀「参謀君」着任ということで、早速、彼に現在の戦況について報告を求めたのですが、

・・・・私も島風さんと同様のエラーが出てしまいます。 :pale :shock:

どのセーブデータでも出てしまうので(含、先日送った実例シナリオのセーブデータ)、SPWAWのバージョンとか、VBのバージョンとかの環境の違いが気になったりします。

一応、私の環境をメモしておきますと、

 SPWAW⇒8.403+Enh.DVRN
 エクセル⇒2002SP3
 VB⇒VB6.0
 OS⇒Xp HomeEd. Ver.2002 SP2

です。

前にもちょっと、こういう環境の問題で人が作ってくれたマクロが動かなくなるということで苦労した事があったもんで・・・。参考のまでに。

データ的には、前の実例シナリオも、エラー発生に該当しておりますので、これで上手く走れば問題ないかと・・・。もし、他のデータも必要ということであれば、言ってください。提出します。
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
Image

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

ひいいいいいいいい

Post by Nor » 2007.Jul.12(Thu) 08:12

7/12 1345時 全文修正

え〜真に申し訳ありません。
昨夜公開した「参謀君」でエラーが続出した原因は、アドインの分析ツールを組み込まないと使えないワークシート関数を利用していたからでした。何のことかわからなくても気にしないで下さい。端的に言えば、私のミスでございます。 :evil:

で、本日0800時前後に、エラー回避の暫定措置として、分析ツールの組み込み方とその他の不具合を修正したバージョンを公開していましたが、これは削除しました。もう必要ありません。


本記事に添付しているのが正真正銘修正版の「参謀君」です。バージョンナンバーがないと無茶苦茶わかりにくいですね。 :porc

本バージョンでは、マニアックな関数は使わず、全てマクロ側で処理するようにプログラムを変更しています。これにより、もう分析ツールなるものを組み込む必要はありません。

何も考えずにごくごく普通に起動すれば、ちゃんと動く・・・・はずです。では、再び人柱の山を築いてくださいませ。 :cool:
Last edited by Nor on 2007.Jul.15(Sun) 03:29, edited 1 time in total.
Image

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

修正のお知らせ

Post by Nor » 2007.Jul.12(Thu) 14:01

・・・というわけで、↑の記事修正のお知らせをしておきます。
Image

User avatar
dugong
技術将校
Posts: 141
Joined: 2006.Jan.24(Tue) 19:50
Location: 日本海軍??

参謀君、はしる。

Post by dugong » 2007.Jul.12(Thu) 17:10

Nor閣下

参謀君、ちゃんとはしりました。 :cheers

今、現在行っているシナリオでレポートを提出してもらいました。

また、なにか、細かな点の不具合があれば報告させていただきます。 :salut
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
Image

島風
暗号解読部長
Posts: 58
Joined: 2007.Mar.12(Mon) 21:51

順調

Post by 島風 » 2007.Jul.14(Sat) 17:31

島風です。

 Norさま、いくつかのデータで試しましたが、修正版の「参謀君」、順調に働いています。確認君では水平にしか表示されなかった「CLASSIFIED」の文字も、参謀君ではちゃんとななめに表示されます。何か気づいたら、報告します。

 さて、司令官殿の「あ、全然急ぎませんので。もうホント、ゆっくりやりましょう。 」という言葉に甘えさせていただき、「硫黄島からの手紙」など見ながらリフレッシュしておりました(ところで、日本軍が、ペットボトルの羽つきロケットのような「臼砲(?)」を使っていました。口径のもっと大きいものはシンガポールかどこかで使われたと記憶していますが、硫黄島で使われたのはどのような兵器なのでしょうか。SPWAWにもてでくるのでしょうか?)

 えー、任務再開です。

Code: Select all

セクション1か34での被発見フラグはない、と思われる。

Code: Select all

セクション37の07列はターンの性質を表す。
01  0(Deploy) ターン
02  1 ターン (START、AI LEVEL、等のボタンが表示される)
03  通常ターン
04  side1 の1ターン(敵の第1ターン)
05  指揮官昇進、ユニット修理・交換ターン
06  バトルレポート(点数表示、現在のゲームの損害など計算される)
07  同上
08  読み込み不可
09  バトルレポート(点数表示、現在のゲームの損害など計算されない)
 まず発見フラグですが、セクション17以外にはやはり無いようです。残念。
 セクション37の07列ですが、本当は、天候データの確認をやっていたのですが、偶然見つけました。ラッキー。 :D

 ところで本命の「天候データ」ですが、ちょっと難しいです。 :pale
DRの39年9月の対ポーランド戦では、地形データ「1」、天候データ「1」でも、シナリオ0と1では「Hazy」、シナリオ2では「Clear」となります。ですので、どこかに「Hazy」と「Clear」の差を表すデータがあると思い、、両者間の相違データを調べていますが、なかなか特定できません。引き続き調査を行います。

 それから、「F9列が放棄フラグを表す」を特定したのは、私です。。。。。失礼しました。 :porc
シートを「怪しい」を表す赤字に訂正しておきました。

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

Re: 順調

Post by Nor » 2007.Jul.15(Sun) 03:24

島風 wrote:ところで、日本軍が、ペットボトルの羽つきロケットのような「臼砲(?)」を使っていました。口径のもっと大きいものはシンガポールかどこかで使われたと記憶していますが、硫黄島で使われたのはどのような兵器なのでしょうか。SPWAWにもてでくるのでしょうか?
実は私は不覚にも未見なので回答する資格はないのですが、『シンガポールかどこかで・・』という件にビビビっときたのでお粗末ながら見解を披露させていただきます。 :P

まず確実なのは、シンガポール戦で使われたのは「九八式臼砲」です。昭和13年の制式化以来極秘扱いで、シンガポールのブキテマ高地で初陣を飾り、フィリピンのバターン半島や大戦末期の硫黄島・沖縄戦でも活躍したので有名(?)です。

これはまさに『ペットボトルの羽つきロケットのような』カタチの砲弾を、台座(砲じゃなく唯の台ですな)にカポっとかぶせて打ち上げる奇抜な兵器で、ものの本によれば、砲弾直径33cm、砲弾重量約300Kg、射程1200mとあります。

で、この兵器はSPWAWには登場しません。8.403では。Enhancedだとどうなのかわかりませんが・・・たぶん無いんじゃないかな。かつて私は日本軍のマレー戦シナリオを作っておりまして、当然のごとくコレを使いたい。でもOOBにないので、ドイツ軍のカールで代用しようかと思いましたが、さすがにスケールが違いすぎて見送ったという経緯がありました。 :cool:

ま、そんなことより映画ですね。ちょいとググってみると、問題の兵器はこの「九八式臼砲」か「四式二〇糎噴進砲」かで意見が分かれてるようですね。手元の資料(大砲入門、光人社NF文庫)によると、『二十センチ以上の噴進榴弾は翼のない砲弾状のもので・・』という記述があるので、翼の在る無しが見分けるポイントになると思われます。翼があったなら臼砲、無かったなら噴進砲でしょうね。

もっとも、よくあることですが、映画の考証が間違ってる可能性もあります。どちらの兵器も硫黄島で使われ、米兵に恐怖を与えたらしいので、外見のインパクトで臼砲、発射時のかっこよさで噴進砲を・・とかいいとこ取りしてたりして。 :porc

ちなみに、前掲資料によると、この噴進砲は金属製の発射筒と木製(!)の発射台(レールみたいなもの)がどちらも制式化されており、末期の部隊はほとんど木製バージョンを自作して使用していたようです。やっぱロケット砲は精度なんかより威力とコストで勝負ですね。

あ、そうそう。噴進砲の砲は、SPWAWでも「20cm Rocket」という味気ない名称で登場します。とまあいろいろ書きましたが、結論としては、私は見てないのでよくわかりませんと(じゃ書くなと)。:pirat

確認君では水平にしか表示されなかった「CLASSIFIED」の文字も、参謀君ではちゃんとななめに表示されます。
あれれ。画像が勝手に動いたりするのは不思議ですね。「CLASSIFIED」の文字は、単なる画像なので、クリックすれば中央上部に緑色のハンドルが表示されます。それをドラッグすると、自由に回転できますのでお好みの角度にしてください。もちろん移動も可能です。
セクション37の07列ですが、本当は、天候データの確認をやっていたのですが、偶然見つけました。
これまた直接的な使い道は思いつきませんが、濃いデータですね〜。何か役に立ちそうではありますが。詳細な検討ありがとうございました。
ところで本命の「天候データ」ですが、ちょっと難しいです。
やはりそうですか〜。でも全然急がないので、飽きたら放置しながら、長いスパンでのんびりやってください。ええ、ホントに。


私も久々にデータ解析の成果がありました。

Code: Select all

70・71列 Side0の勝敗判定 (0000=Draw, 0100=MV, 0200=DV, FFFF=MD, FEFF=CD)
72・73列 Side1の勝敗判定 (0000=Draw, 0100=MV, 0200=DV, FFFF=MD, FEFF=CD)
なんで最高値のFFFFがMDで、FEFFがCDになってるのかイマイチわかりませんが、とりあえず70列と72列だけで勝敗判定を取得できるので、まあ良しとしましょう(って相変わらずいい加減だな、オレ)。 :mad:
Image

User avatar
Nor
大佐
大佐
Posts: 783
Joined: 2004.Feb.08(Sun) 05:09
Location: 日本

参謀君 Ver1.0 !!!

Post by Nor » 2007.Jul.15(Sun) 04:24

え〜、ホントは海とキャンプとバーベキューの連休だったはずが、クソ台風のせいで全ての予定が流れてしまい、一日中シコシコとプログラムを書いていました。 :evil:

実は今までのプログラムでは、データの圧縮解除処理がかなりいい加減で、特にセクション37は正しく読み込めない場合がありました。今回は、圧縮解除ルーチンを一から書き直し、そのほかにも処理速度向上やソース簡略化を目指してほとんど全てを書き直しました。

で、その甲斐あってついにやりましたよ!たぶん、これで全セクションの圧縮解除が可能になったはずです。処理速度も・・・微妙に向上したはずです。そこでついに「参謀君 ver1.0」のリリースです!今回は、別名「島風バージョン」と言っていいほど、島風さんの要望を実現しました。 :cool:


<修正・変更・新機能>
・VHの確保数を正しく取得
・勝敗判定を正しく取得
・被射撃マーク(#)はIDの後に表示
・壊滅ユニットの装飾は打ち消し線のみ(赤字はやめました)
・全ての指揮官データを表示
・OOBのデフォルトフォントをwindows標準の"Book Antiqua"に変更
・OOBのHQリンク項目を一文字表示(N,V,R)に変更
・OOBに体勢項目を追加
・OOBに特殊能力項目を追加
・増援ユニット(出現ターン指定があるもの)は、斜体で装飾
・キャンペーンのコアユニットは、太字で装飾
・オプションで被発見マーク表示機能を実装
・オプションで座標表示機能を実装

<注意事項>
最初に表示されるフォーム上で、「被発見マークの表示」と「座標の表示」がオプションで選択できます。デフォルトではオフになっているので、必要な場合はチェックをつけてから実行ボタンを押してください。

OOBの表示フォントを変更しました。これまで使用していた「Carbon Type」は横幅が広く、大量の文字を表示すると画面が潰れて見にくくなり、おまけに太字や斜体などの装飾の違いがわかりにくい、というのが変更理由です。ただし、OOB以外の画面ではまだ「Carbon Type」をデフォルトフォントに指定しています。

ユニットデータと指揮官データの照合方法を変更したので、OOBの指揮官データは全て表示されるようになりました。車両・砲ユニットから乗員が離脱している場合は、そのユニットの指揮官は死亡扱いになり、データに打ち消し線がつきますが、最下行に表示されるCrewユニットのデータでは、同一指揮官がちゃんと表示されます。

被射撃マーク(#)は、ユニットIDの後に表示することにしました。また、「被発見マーク表示」オプションがオンの場合は、同様にIDの後に被発見マークがつきます。この場合、ID項目は例えば"A0#*"のように表示されます。

OOBのHQ LINK項目の見出しは"L"で、データ表示は以下のようになります。
・Noneの場合="N"
・Visualの場合="V"
・Radioの場合="R"

OOBの体勢項目の見出しは"S"で、データ表示は以下のようになります。
・Advanceの場合="A"
・Defendの場合="D"

OOBの特殊能力項目の見出しは"Abi"で、データ表示は以下のようになります。
・能力なしの場合=表示なし
・Reconの場合="R"
・Dedicated Artilleryの場合=”D”
・Eliteの場合="E"
・Second Lineの場合="S"
また、複合能力がある場合(例えば"Elite+Recon")は、上記4表記を組み合わせて、"ER"と2文字で表示されます。

「座標オプション」を有効にした場合のみ、指揮官情報の右端に"(X,Y)"の形式で該当ユニットの座標が表示されます。また、無効座標は"-(ハイフン)"で表示され、例えば盤外にいるユニットなどは"(-,-)"と表示されます。

出現ターンが指定されているユニットは全て増援ユニットとみなし、斜体で表示されます。しかし、どうやら潜入中の特殊部隊なんかも増援とみなされてしまうので、修正が必要なようです。セクション1で「増援ユニットフラグ」を見つけて欲しいです。

キャンペーンのコアユニットは、太字で表示されます。シナリオセーブファイルを読み込んだ場合や、キャンペーンの敵陣営データは、通常文字の表示になります。


毎度のことながら、このような真夜中に完成したシロモノなので、例によってうっかりミスやとんでもない勘違いが多発している可能性大です。「正しく取得」なんて書いてあっても実はかなり怪しいので、細部まで出力データをチェックして、不具合があればご報告ください。 :salut
Last edited by Nor on 2007.Jul.16(Mon) 08:50, edited 1 time in total.
Image

User avatar
dugong
技術将校
Posts: 141
Joined: 2006.Jan.24(Tue) 19:50
Location: 日本海軍??

Re: 参謀君 Ver1.0 !!!

Post by dugong » 2007.Jul.15(Sun) 07:59

Nor閣下
島風部長

シコシコとやっていただいたおかげで、すばらしい出来だと思います。
台風様々です(笑)。

このプログラムに対する貢献度を考えれば「島風バージョン」は至極当然であります。 :salut
というか、今使ってみたところ、座標値もあると便利という結論に達しております(笑)。
本当にありがたいことです。

ということで、ひとつ参謀君Ver.1.0を走らせて見ての感想を・・・。

1.Abiはすばらしいです。
  私なんか、いままで”Recon”能力はRecon専用ユニットしかつかないと思っていたので、「え!!!こんなユニットにまでReconついてんの!?」というのが解っただけでも、青天の霹靂でした。いやぁお恥ずかしい・・・。いかにちゃんとユニット情報をを見とらんかったかです:oops: 。いやぁ、どこからか突っ込まれますねぇ、こりゃぁ(爆)。 :D
 いま、この参謀君が出来たのを記念して、いままで、ユニット数が多すぎてやるのをあきらめていたカリウス物のシナリオをやろうとしていたんですが、それで、この参謀君を走らせると、カリウスのディーガーにReconがついててびっくり!!そのほかにも歩兵小隊の”¥”3といった分隊レベルのユニットなんかに、いきなり”R”がついてたり!ラッキー!! :cheers  お得感ばっちりです。
また”Elite” ”Second Line”が解るのも PDT_Armataz_01_34 です。
Expで大体解るんですが、ゲーム画面ではすぐにわかんないアビリティーですから、こうなっていると、一目でわかって、すぐに「こいつを、どう上手く使うか?」なんてことも考えちゃいます。

いやぁ、このAbiだけで、このプログラムのお値打ち感が私の中でupしております :D

2.座標について
 いや、これ、案外使えました。
 結局、このOOBを打ち出して、Mapを打ち出して、それにOOBを元に小隊ごとにミリタリーシンボルなんかをマップに書き入れながら、勝手に「大戦略」のような作戦級ゲームにして作戦を考えているんですが(あ。これも突っ込まれる(笑))、その際、部隊の位置確認をゲーム画面でする際に、座標値を元にクラスターが特定でき、位置確認がさくさく進みました。北と南なんかに部隊が分かれている場合なんかはかなり便利です。

 で、座標値に付いていくつか情報。

 (-,-)は盤外だけではなく、盤内ユニットでもPassengerになっているユニットはこのように表示されますね。Passengerユニットもわかるといいなぁと思っていたので、それが表示されるのもありがたいですが、それまでは一応の目安としてこの座標値情報が使えるかな?という感じです。

 あと、今回私がOOBを作成したシナリオの盤外砲は(-,30)や(-,60)と表記されました。この辺は、シナリオによってまちまちかもしれませんね。まぁ、部隊名を見れば解るので問題ないですが。

 あともうひとつ、かなりマップの大きなものなんかだと(右下のインデックスマップが2面に渡るようなもの)、座標表記が変になって、X値にマイナスなんかが出てきますね。(必要があれば、そのような表記が出たセーブデータを送ります。)

余談:*マーク
 結局、Enh.DVRNでは*マークは完全に排除されているようです。
 今回、参謀君で*マークを確認したところ、いくつかのユニットが「発見!!」されていたので、ゲーム画面上で確認してみました。で、「Shift+*」で*オンにしてみたんですが、表示されずでした。この辺りは、島風さんも書いておられたんですが、なんかの弾みで*が出なくなることもあるようなので、一概にEnh.DVRNで出なくなったとは言い切れないですが、多分そういうことではないでしょうか?

ということで、まずは「参謀君Ver1.0」の最初の感想でした。


PS1. ダイアログ、英語表記にしましたね :cool: 参謀君、世界デビューですか?

PS2. 以前、お話しのあったAircraftにカウントされる要塞系のユニットは”Cave”か”Rifle Pit”のどちらかですね。たまたま、Airがひとつも無いのに、Airにカウントされた要塞系ユニットのあるシナリオのセーブデータを見ると、この二つが数量的に該当しそうでした。しかし、どちらかは解りませんが・・・。
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
Image

Post Reply