練習用ページです。自由に編集して下さい。

改造メモ20151204
excel vbaを改造etcに使っている人向けの内容。+自分自身の覚え書き。
CreateObject("Excel.Application")を使ってマルチプロセス化する際、各プロセスのfunctionに配列を直接渡そうとすると上手く行かないです。
代わりに各プロセスに配列引き渡し関数を作りRunで渡した後、計算自体は引数無し(あるいは配列以外の引数有り)の関数を作りOnTimeで起動するとマルチプロセス処理出来ます。
プロセスから配列データの回収も、同様に逆方向の配列引き渡し関数があれば大丈夫です。
CreateObject1個あたり(WorkBook.Open等も含めて)0.2秒ほど掛かっているものの、元が数十秒かかる処理なら得です。
具体的には配列(50000,100)の計算処理が35秒→10秒くらいに短縮できました。
マルチプロセス化自体がやや面倒なものの、巨大なデータテーブル作ってる人は処理時間を短縮出来ます。



改造メモ20151012
ship_data.bb3に関して。
ちょっと検証する余裕がない為に、とりあえず解凍方法の説明。この説明で分からない人は触らないほうが無難です。

バイナリ列0x04034442がこの改変zipのlocal file headerなので、zipの正式なヘッダに変更。
具体的には0x04034442→0x04034B50
この状態でwinrarなどの書庫修復機能付きの解凍ソフトに突っ込んで修復→解凍でとりあえず解凍可能です。

zlib.dll使ってる解凍ソフトでは解凍出来ないように、特別なヘッダにしているあたりが面倒ですね。
なお、通常のzipでは使われないヘッダ情報があったり、ローカルファイルヘッダの前に妙なヘッダらしきデータ列まであるので、現状、再圧縮は不可能と思われます。
圧縮しなおしたファイルのローカル部分移植で起動できれば御の字ですが、まだ未調査です。
なお、セントラルディレクトリは初めから破損しているため、先頭からのオフセット値等の記述に注意する必要は無さそうです。
また、解凍されたファイルのファイル名が文字化けしているのですが、これは、ship_data.bb3のファイル名部分が、そもそも各ビット反転している事が原因ですので、解凍に失敗したわけではありません。

船体データ再圧縮(というかship_data.bb3再生成)に成功した人は、教えて頂ければ幸いです。



改造メモ20150506
ぼる犬を自作艦に設定した際、波動砲格納庫から海面が見えるという状態を解消する方法です。
"stobj\obj"の"ヴォルケンクラッツァー.x"改造例
address 元の値 書き換え後
0x1976 0x41672EE2 0x4280E5DC
0x1982 0x41672EE2 0x4280E5DC
0x198E 0x41672EE2 0x4280E5DC
0x199A 0x41672EE2 0x4280E5DC
0x19A6 0x41672EE2 0x4280E5DC
0x19B2 0x41672EE2 0x4280E5DC
0x19BE 0x41672EE2 0x4280E5DC
0x19CA 0x41672EE2 0x4280E5DC
0x5066 0x4280E5DC 0x41672EE2
0x5072 0x4280E5DC 0x41672EE2
0x507E 0x4280E5DC 0x41672EE2
0x508A 0x4280E5DC 0x41672EE2
0x5096 0x42DA783F 0x426CF07E
0x50A2 0x42DA783F 0x426CF07E
0x50AE 0x42DA783F 0x426CF07E
0x50BA 0x42B7871E 0x42270E3B
0x50C6 0x42B7871E 0x42270E3B
0x50D2 0x42B7871E 0x42270E3B
0x50DE 0x42DA783F 0x426CF07E
0x50EA 0x42DA783F 0x426CF07E
0x50F6 0x42A498D7 0x420131AE
0x5102 0x42A498D7 0x420131AE
0x510E 0x42CC7DC5 0x4250FB89
0x511A 0x42CC7DC5 0x4250FB89
0x5126 0x42BC5338 0x4230A671
0x5132 0x42BC5338 0x4230A671
0x513E 0x42A498D7 0x420131AE
0x514A 0x42A498D7 0x420131AE
0x5156 0x42BC5338 0x4230A671
0x5162 0x42BC5338 0x4230A671
0x516E 0x42CC7DC5 0x4250FB89
0x517A 0x42CC7DC5 0x4250FB89
0x5186 0x42B7871E 0x42270E3B
0x5192 0x42B7871E 0x42270E3B
0x519E 0x42B7871E 0x42270E3B
0x51AA 0x42BC5338 0x4230A671
0x51B6 0x42BC5338 0x4230A671
0x51C2 0x42BC5338 0x4230A671
0x51CE 0x42BC5338 0x4230A671
0x51DA 0x428682F8 0x418A0BE0
0x51E6 0x428682F8 0x418A0BE0
0x51F2 0x428682F8 0x418A0BE0
0x51FE 0x428682F8 0x418A0BE0
0x520A 0x42A82250 0x420844A0
0x5216 0x42A82250 0x420844A0
0x5222 0x42A82250 0x420844A0
0x522E 0x42A82250 0x420844A0
0x523A 0x42A82250 0x420844A0
0x5246 0x42A82250 0x420844A0
0x5252 0x429F5A28 0x41ED68A0
0x525E 0x429F5A28 0x41ED68A0
0x526A 0x429F5A28 0x41ED68A0
0x5276 0x429F5A28 0x41ED68A0
0x5282 0x429F5A28 0x41ED68A0
0x528E 0x42C88888 0x42491111
0x529A 0x42C88888 0x42491111
0x52A6 0x42C88888 0x42491111
0x52B2 0x42C88888 0x42491111
0x52BE 0x42C88888 0x42491111
0x52CA 0x42C88888 0x42491111
0x52D6 0x42CF852C 0x42570A59
0x52E2 0x42CF852C 0x42570A59
0x52EE 0x42CF852C 0x42570A59
0x52FA 0x42CF852C 0x42570A59
0x5306 0x42CF852C 0x42570A59
0x5312 0x42A82250 0x420844A0
0x531E 0x42A82250 0x420844A0
0x532A 0x42A82250 0x420844A0
0x5336 0x42A82250 0x420844A0
0x5342 0x42A82250 0x420844A0
0x534E 0x42A82250 0x420844A0
0x535A 0x429F5A28 0x41ED68A0
0x5366 0x429F5A28 0x41ED68A0
0x5372 0x429F5A28 0x41ED68A0
0x537E 0x429F5A28 0x41ED68A0
0x538A 0x429F5A28 0x41ED68A0
0x5396 0x42C88888 0x42491111
0x53A2 0x42C88888 0x42491111
0x53AE 0x42C88888 0x42491111
0x53BA 0x42C88888 0x42491111
0x53C6 0x42C88888 0x42491111
0x53D2 0x42C88888 0x42491111
0x53DE 0x42CF852C 0x42570A59
0x53EA 0x42CF852C 0x42570A59
0x53F6 0x42CF852C 0x42570A59
0x5402 0x42CF852C 0x42570A59
0x540E 0x42CF852C 0x42570A59
0x541A 0x4293756C 0x41BDD5AE
0x5426 0x42B7871E 0x42270E3B
0x5432 0x42B7871E 0x42270E3B
0x543E 0x42B7871E 0x42270E3B
0x544A 0x42B7871E 0x42270E3B
0x5456 0x428682F8 0x418A0BE0
0x5462 0x428682F8 0x418A0BE0
0x546E 0x4293756C 0x41BDD5AE
0x547A 0x4293756C 0x41BDD5AE
0x5486 0x4293756C 0x41BDD5AE
0x5492 0x42B7871E 0x42270E3B
0x549E 0x42B7871E 0x42270E3B
0x54AA 0x42B7871E 0x42270E3B
0x54B6 0x42B7871E 0x42270E3B
0x54C2 0x428682F8 0x418A0BE0
0x54CE 0x428682F8 0x418A0BE0



改造メモ20150413
作らないような事を言っておきながら、つい、kh3decoderの後継プログラムを作ってしまいました。
エンコード、デコードの処理を一般化した為、一部のBB2にも対応することが出来ました。
データの拡張に対しても対応しているので、blngship等のデータ追加も可能かもしれません。(exe側が対応していれば)
ただ、鋼鉄2の改造には完全に手を出す気が無いので、対応していないBB2に関しては、諦めて下さい。

残りの鋼鉄3の完全に未解明のデータは、Anim.znd、defshp.bb2、fire.znd、skt.bb3、ship_data.bb3くらいでしょうか?
defshp.bb2、skt.bb3についてはある程度構造が分かってきた部分もありますので、ship_data.bb3に関して解凍のアイディアを持っている人ぼsy



改造メモ20150408
miファイル(セーブデータ)上で、パーツ配置を動かすことに成功しました。
現在の所、既に配置されたパーツを移動させるに留まっていますが、セーブデータ上でのパーツ追加も可能になりそうです。
まだ、全体の2%程度しか判明していないので、公開出来るまでのデータの蓄積には時間がかかりそうですが、
船体の当たり判定(shpSD)の改造無しに、新規船体の追加と、特殊な位置へのパーツ配置などが可能になると思われます。

さて、本スレで引き続き話題になっている新造の話ですが、結局のところ、どこかで妥協しないと新造は無理だと思われます。
特に、画像、音声などは、作成が著しく難しいので、まずはそのあたりから削ることになるでしょう。
具体的には、戦術画面におけるHLGの反映をとりあえず諦める(鋼鉄1,2の形に戻す。あるいはもっと削って、「戦艦」は全部同じ見た目、など)
副長ボイスは諦める。海面は平面。航空機は全部同じ見た目。敵艦の種類も数十種類位に限定。
HLGパーツも種類を減らす(例えば魚雷画像は1種に統一、砲も小口径、中口径、大口径、2~3連装のみ、未来兵器は一律削除、船体も艦種毎に1種類など)
これくらい削っても、駆逐艦船体1&防壁系無しでsuperhardをクリアする位の難易度だと思われます。
これで完成までこぎつければ、それから色々追加することも出来ると思います。



改造メモ20150329
parts.ptscginfo.cgsの改造により、新規の3Dモデルファイルの追加が可能です
但し、やはりHLGでの選択肢に関しては、元々用意されている以上の選択肢を作成出来ないので、weapon.zndにおける兵装の追加は、現状ではまだ無意味だと思われます。
(※今回のipsパッチによる兵装の追加も、元々用意されている選択肢内での改造)
現状で可能な改造例としては、例えば"フォン・デア・タン ハァハァ(;´Д`)級"の垂直二連・連装砲塔の3Dモデルを既存の28cm4連装砲のバージョン違いとして追加するとか、
使いづらい100cm砲のバージョン違いとしてスリム化した砲塔を追加するなどの方法は考えられます。
もっとも、3Dモデル作ってるような時間は無いので、私はやりませんが・・・

最近話題になっている、プログラム新造に関しても、この辺りが非常に大きな問題点として挙げられます。
恐らく、HLGや戦闘画面等の開発に関しては、それなりのプログラム経験者が頑張れば、1~2年もあれば作り上げられると思います。
しかし、非常に多岐に渡るパーツの画像・3Dモデルの制作には、(専業ならともかく)一人の人間が10年くらい暇を見つけては作っても完成に至らないと思われます。
鋼鉄3のデータを流用するという手段もありますが、そうすると、今度は公開出来ないというジレンマが・・・
じゃあ共同開発が良いかというと、共同開発にはかなりのリスクが伴うということも重要です。
(2ch発祥の共同開発プロジェクトは声のでかいのが参入してきやすく、コミュニティ自体が崩壊する恐れがある)
なので、私としてはプログラム新造は、止めはしませんが、あまりオススメはしません。

なお、共同開発をして行く場合は、完全に開発メンバー限定の掲示板などで、匿名に発言権を与えない状態で進めていくと、開発自体が潰れにくいと感じています。
(というか、匿名ユーザーにはスレッドの中身さえ見せない方が無難。こうしておくことで、仮にトラブルが起こっても被害が本スレに波及しにくい)



改造メモ20150109
まずは、「体験版改」の質問事項等に関して
>普通の巡洋艦を設計するときにガトリング砲を表示させたり、従属艦用補助兵装を表示させたりする方法を教えてください
新規に選択肢を表示させる方法は未だ不明です。これだけ色々探しても見つからないので、実行ファイルで制御されている可能性も有り、その場合、実行ファイル自体の改造が必要です。
単純に既存の兵器を差し替える場合、ひな壇作成の例のように、差し替える事が可能です。
>改ドレッドノートが見た目は浮上してない(当たり判定は変わっている)理由を教えて下さい
改ドレッドノートは正規のシナリオ中には出てきません。従って、ダメージによる変形などの設定が正常に行われていません。
アニメーションに関する設定は、現在調べておりませんので、現状、正常に変形させることは難しいと思われます。
>戦略爆撃機を艦上爆撃機に変えても仕事をしない理由を教えて下さい
設定ミスです。恐らくは、優先ターゲット設定を忘れているか、購入の際の区分を変更していないか、どちらかかと思われます。



続いて、ひな壇改造の方法論について。
ひな壇作成でも示した通り、高さの違うひな壇を、元の兵装の高さ調節を利用して、複数用意することが可能です。
これを極端にしていくと、普段は使わない大口径単装砲などを利用するなら、最大で、高さ4段階×左右=8パターンのひな壇を利用することも可能です。
8パターンも準備する事自体は大変ですが、斜めひな壇・小型のひな壇などを利用したい方は、この辺りの兵装を利用してはどうでしょうか?
もちろん、兵装能力を変更して、機銃等にすることで、無駄な兵装スロットを作らないようにすることも可能なハズです。
(追記20150329)
parts.ptsの改造が可能になったため、cginfo.cgsの改造と合わせ、ひな壇パーツを自由に追加可能になりました。
既存のパーツを弄る必要も無いので、parts.ptsとcginfo.cgsの未定義領域の範囲内で、大量のひな壇パーツを作成可能であると思われます。



&ref(アップしたファイル名)
艦首波動砲&煙突ミサイル実験艦


最終更新:2015年12月04日 01:21