FC2ブログ

F-16のAI機でだけ、RWRコードがエラー吐くなぁ……

IL-2 MODのジェット機コックピットに用意されたレーダー警戒受信機 (Radar Warning Receiver) は以前は機体1機種1機種のクラスファイル内に動作コードが記述されてて、しかもその挙動が結構現実と異なってるズルズルのズルな上に特定の条件でクラッシュするバグ持ちだったりしたので、無駄だし直すの大変だしで、外に追い出して共通ユーティリティ化したらメンテナンスしやすくなるじゃん!ってなったのがここ半年ほどのこと。

最初はF/A-18C/Dで作業を開始し、だいたい実装したら今度はテストプレイ。まず自軍側は自機のみでミッションに出現して敵ジェット戦闘機やAAAと対峙してRWRの動作確認。
それで問題なく「して欲しい挙動」になってることが確認できたら、今度はプレイヤー機を出現させないAIのみシングルミッションを作って動作確認、また敵側に出現させてこちらからAAM攻撃などと、さまざま条件を変えてエラーにならないか正しく動いてるか外部視点で観察。
そうやって、少なくともありうる条件いろいろ変えながらでもエラー吐いたり動作しなくなったりしないって確認ができたから、同じパックで配布のAV-8B+に移植、移植したら同じように条件変えてテスト。また古い世代の実装を新ユーティリティ側を拡張して行って、A-4に移植、またテスト。未公開のF-14にも実装、やはりテスト。そういうふうに進めてきたので、問題は無いはずだと思っていました。

そして私以外が管理配布してる他の機体にも加えるべくまずA-6の作業をして、これも問題なしとなった。Vegaさんに渡してある。いつ新バージョンを配布するからVegaさん判断。

そうやって5機種で正常動作してきたから、次にF-16に移植してもサクっと済むだろうと考えていたら、なぜかF-16でだけ例外エラー吐きまくりになってしまった。
なんでだーーーーー
いくつか移植ミスもあったんだけどそれは解決して、自機は問題ない状態に持ってきたんだけど。
自機にAI機込みの2機3機編隊のF-16でミッション飛んでったり、自機無しのAI機のみのF-16を飛ばしたりしたら例外がやっぱり出る。
うーーむ、そういうことはコード書いたときの想定から漏れてたら(たとえば必ず自機がミッション内で飛んでる前提にしてしまっていたり)ありうるんだけど、A-6までではそれはなかったわけで、なぜF-16でだけ発生してるか分からない。
またいつものように、例外発生の手前で例外に絡んでる変数の値の変化をエラーログに書き出して観察かなあ。なんでここでぬるぽになってんだ。
エラーログ書き出し業を追加しないといけないクラスがEngine mod内のRWRユーティリティ内でF-16クラス内ではないので、バージョン管理がめんどくさい。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

western0221

Author:western0221
2010年7月30日にIL-2 1946を始めました。
好きなアニメは「ゾンビランドサガ」「青春ブタ野郎は…」「抱かれたい男1位…」「うちのメイドがウザすぎる!」「となりの吸血鬼さん」「SSSS.GRIDMAN」「ゴブリンスレイヤー」「DOUBLE DECKER!」「やがて君になる」「寄宿学校のジュリエット」「色づく世界の明日から」「俺が好きなのは妹だけど妹じゃない」「ベルゼブブ嬢のお気に召すまま。」「ゲゲゲの鬼太郎」「ブラッククローバー」。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2アフィリエイト
アフィリエイト・SEO対策
検索フォーム
RSSリンクの表示
リンク
訪問数
Twitter