元MODを探す
説明には次のようにあります。
この変更により、右バックミラー (カメラ) のシミュレーションが GPS に追加されます。カメラは、フルタイムの内蔵 GPS を備えたすべてのトラックで動作します。カメラの電源を入れるには、F2 キーを数回押します。重要: 小さなバックミラーで mod を使用する場合は、誤った動作を避けるために、カメラmodのなかでこの mod の優先順位を上げてください!mod が正常に動作するには、DLC「Cabin Accessories」が必要です。
元MODの動作とクラッシュ
クラッシュの原因は、gps.sii の内容だと思います。なかを見てみると、現在のバージョンの gps.sii とは随分違います。元MODの gps.sii は現在のバージョンの gps.sii に比べて、記述は簡素です。なかで呼び出しているアイテム名も随分違っています。
この違いがバージョンによるものなのか、GPSにミラー画像を映すMODとしてのものなのかは不明です。
DLC「Cabin Accessories」が必要とあるので、そのせいかも知れませんが、同様の機能をする他のMODにはこの記述がないので、クラッシュの根本原因ではないと考えました。
クラッシュ対策
ui::text : _nameless._.bare_map {
text: "<img src=/material/ui/dashboard/bare_map.mat left=0.25 right=0.75 bottom=0.25 top=0.75 xscale=stretch yscale=stretch>"
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 0
layer: 2
tab: -1
pointer: -1
my_parent: _nameless.18ac.da40
}
試しに、この50行目だけを次の右ミラー画像 "/far_mirror_reflection.mat" に変更してみたところ、GPSに右ミラーの画像が表示され、修理工場でのクラッシュも起きませんでした。無理やりでアイテム名と親アイテムの整合は取れていないのですが、クラッシュは起こりませんでした。
なので、これを基本に引用元のブログ記事に倣って、左右のミラー画像を表示できるように調整してみます。
text: "<img src=/material/environment/far_mirror_reflection.mat xscale=stretch yscale=stretch top=1 bottom=0 right=1 left=0>"
調整したgps.sii
- my_children の _nameless._.bare_map を _nameless._.gps_cmirror に名称変更
- my_children に _nameless._.gps_fmirror を追加挿入
- my_children 数を1つ増やして、4 に変え、番号付けを整合
- ui::text : _nameless._.gps_cmirror に名称変更し、画像URLとその描画設定を変更
- ui::text : _nameless._.gps_fmirror を追加。( { から } までの一連の記述を追加 )
SiiNunit
{
ui::window : _nameless.063ae3791 {
window_handler: null
clip_children: false
keep_aspect: none
user_string_data: ""
first_direction_focus_id: 0
fitting: true
my_children: 2
my_children[0]: _nameless.18ac.da40
my_children[1]: _nameless.a8f.f870
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 0
area_r: 256
area_t: 256
area_b: 0
id: 0
layer: 0
tab: -1
pointer: -1
my_parent: null
}
ui::group : _nameless.18ac.da40 {
fitting: true
my_children: 4
my_children[0]: _nameless._.gps_cmirror
my_children[1]: _nameless._.gps_fmirror
my_children[2]: _nameless._.speed.limit
my_children[3]: _nameless._.background
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 0
area_r: 256
area_t: 256
area_b: 0
id: 100
layer: 1
tab: -1
pointer: -1
my_parent: _nameless.063ae3791
}
ui::text : _nameless._.gps_cmirror {
text: "<img src=/material/environment/close_mirror_reflection.mat xscale=1 yscale=stretch top=0.7 bottom=0 right=1 left=0>"
coords_l: 0
coords_r: 128
coords_t: 256
coords_b: 0
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 0
layer: 2
tab: -1
pointer: -1
my_parent: _nameless.18ac.da40
}
ui::text : _nameless._.gps_fmirror {
text: "<img src=/material/environment/far_mirror_reflection.mat xscale=1 yscale=stretch top=0.69 bottom=-0.01 right=1 left=0.17>"
coords_l: 128
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 0
layer: 2
tab: -1
pointer: -1
my_parent: _nameless.18ac.da40
}
ui::text_common : _nameless._.speed.limit {
value: 50
look_template: txt.db_navi_spd
text: ""
coords_l: 7
coords_r: 47
coords_t: 148
coords_b: 108
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 1610
layer: 3
tab: -1
pointer: -1
my_parent: _nameless.18ac.da40
}
ui::text : _nameless._.background {
text: "<img src=/material/ui/white.mat color=ff191919 xscale=stretch yscale=stretch >"
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 0
layer: 1
tab: -1
pointer: -1
my_parent: _nameless.18ac.da40
}
ui::group : _nameless.a8f.f870 {
fitting: true
my_children: 1
my_children[0]: _nameless.18bd.a3c0
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 0
area_r: 256
area_t: 256
area_b: 0
id: 200
layer: 1
tab: -1
pointer: -1
my_parent: _nameless.063ae3791
}
ui::text : _nameless.18bd.a3c0 {
text: "<img src=/material/ui/white.mat color=ff000000 xscale=stretch yscale=stretch >"
coords_l: 0
coords_r: 256
coords_t: 256
coords_b: 0
area_l: 1
area_r: 0
area_t: 0
area_b: 1
id: 0
layer: 1
tab: -1
pointer: -1
my_parent: _nameless.a8f.f870
}
}