練習用ページです。自由に編集して下さい。
改造メモ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.ptsと
cginfo.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