IL-2 Sturmovik Battle of Stalingradの公式フォーラムでIL-2 BoS用Helix Modを公開されている方がいたので使用していたのですが、一部アイコンに奥行きが反映されていませんでしたので、以前Rise of FlightのHelix Modを弄った時と同様にdebug版を使って調査してみました。
Vertex Shaderを切り替えながら試してみたところ24423C66と51021D5BとB20D0D6DとBBA17A1EとC559713BとD2194EB4がアイコンの描画を行っているシェーダなのが判明しましたが、IL-2 BoS用Helix Modにはこのシェーダに関するファイルが入っていませんでした。
debug版を使って24423C66と51021D5BとB20D0D6DとBBA17A1EとC559713BとD2194EB4のシェーダの中身を書き出してIL-2 BoS用Helix Modのファイルを参考に改造を行います。
ただしC559713Bはアイコンだけでなく全体のレンダリングも行っているシェーダですので、これの編集はアイコン意外にも影響が出て表示がおかしくなる可能性があるかもしれませんので注意してください。
なおこの際、IL-2 Sturmovik Battle of Stalingradのインストールフォルダのdataフォルダ内にDumpsフォルダ、Dumpsフォルダ内にAllShadersフォルダとSingleShadersフォルダ、AllShadersフォルダとSingleShadersフォルダのそれぞれにPixelShaderフォルダとVertexShaderフォルダが存在しないとシェーダの書き出しができませんので注意してください。
書き出したシェーダのファイルを開いて次の要領で編集します。
冒頭のvs_3_0のすぐ下で変数の宣言を行っていますのでそこに
def c220, 0.15, 0, 0.0625, 0
dcl_2d s0
を追加します。
次にdcl_position oX(Xは数字)となってる行を探します。
このoXが置き換えを行う座標になります。
そこから下の行でoXとなってる部分をr3に変更します。
一番最後に次の内容を追加します(最後の行のoXはそのファイルで該当するものにしてください)。
mov r5, c220
mov r5.x, c250.x
texldl r1, r5.z, s0
mul r1.x, r1.x, -r5.x
add r3.x, r3.x, -r1.x
mov oX, r3
編集が完了したら24423C66.txtと51021D5B.txtとB20D0D6D.txtとBBA17A1E.txtとC559713B.txtとD2194EB4.txtいう名前で保存してIL-2 Sturmovik Battle of Stalingradのインストールフォルダのdata\ShaderOverride\VertexShadersに配置してください。
こちらに編集済みのファイルをアップしてありますので、巧くいかなかった方はダウンロードしてテストしてみてください。
なおIL-2 BoS用Helix ModではYキーでメニューやラベルの奥行きの効果を切り替えられるのですが、デフォルトだと奥行き設定無しになっていますが、いちいちYキーを押して切り替えるのが面倒だという方は、DX9Settings.iniを開いて[PRES20]の項の
UseByDef = true
を削除して[PRES21]もしくは[PRES22]の項に追加すれば、起動時に最初から奥行きが設定された状態になります。