といってもユーザーには分かりにくい影響しかありません。
以前からずっと言ってるhitdata。本家見返したらhitlistであってhitdataではなかったのだが。
んで、バニラのhitdataをすべて残したまま、また、他のゲームの動作に一切影響が出ないように、
それでいてMODボディを追加しても遊べるようにするべく、めちゃくちゃ頑張りました。
まずは自作プログラムを配置できるフリースペースを探します。
ぱっと見空きに見える0が続く空間も上書きされたりとさんざん試した挙句に、ふと見つけたのが、
![](https://stat.ameba.jp/user_images/20240324/07/supra7001/94/12/p/o0675042915416729583.png?caw=800)
0x0031EF30~0x0031F5EF(1728バイト)
0x00337740~0x00337BBF(1152バイト)
にある文字列。そう、没データであるmtr01~mtr03までの、ファイルパス!
これは没データなので消してもゲームの動作に影響がないはず!!
ここに自作プログラムを組むことに決定しました。
0x0031EF30には9台分のカスタムhitdataを入れることにしました。
ここでカスタムhitdataとはバニラのhitdataに存在しないMODボディ用のhitdataを指します。
例えばトラックやバスなどの大型車を作る場合や、P50などの極小車を作る場合に使います。
実はNo.155のパトカーはレガシィとhitdata全く同じなので、やろうと思えばここを変えて最大10台のカスタムhitdataを作れます。ただし分岐を1個減らしてNo.155でもhitdata番号を指定することになりますが。
0x00337740~0x0033774F(16バイト)はプログラムとの間をあけるために空白。データエリアとプログラムエリアは2行以上nopがいるとかなんとか、なので一応。
0x00337750~0x003378DF(400バイト)をhitdata自作プログラムに使用。
![](https://stat.ameba.jp/user_images/20240324/07/supra7001/7a/0b/p/o1228064015416730846.png?caw=800)
このプログラムの内容は、こんな感じで、戻り先が違う為、5種類あります。各80バイト。
0x003378E0~0x003379CF(240バイト)をテクスチャエディタでのタイヤサイズ拝借自作プログラムに使用。
![](https://stat.ameba.jp/user_images/20240324/07/supra7001/d9/1e/p/o1228042115416731703.png?caw=800)
タイヤサイズ拝借ってなんぞやって話ですが、MODボディではタイヤサイズをバニラのボディのいずれかから借ります。
なので拝借元ボディ番号を指定して~って感じですね。
前述の通りNo.155のパトカーはレガシィと同値なので、やろうと思えば1台だけカスタムタイヤサイズを指定できますね。
こちらも5種類、こっちは戻り先だけでなく各行で使うレジスタも違います。各48バイト。
0x003379D0~0x003379DF(16バイト)はプログラムとの間をあけるために空白。前述。
0x003379E0~0x00337A5F(128バイト)はMODボディのhitdata番号128台分。
0x00337A60~0x00337ADF(128バイト)はMODボディのタイヤ拝借元番号128台分。
1台当たり1バイト。ボディ番号が入ります。
hitdata番号の先頭に00って入れたらNo.156のhitdataはNo.01のAZ-1のものになります。
9B、つまり156台目以降の数字を入れると、カスタムhitdataを参照します。
タイヤ拝借元番号の先頭に00って入れたらNo.156のテクスチャエディタでのタイヤサイズはNo.01のAZ-1のものになります。
つまり128台分MODボディ追加に対応しています。そんなに作る時間はないけど。
これはhitdata関係ないんですが、
0x00337AE0~224バイトを時間帯テキストに使用。
そうです、以前はテクスチャエディタのタイヤサイズ格納場所に入れてたので、バニラの動作を完全復帰するにあたり移動する必要があったんです。で、どうせやるならと以前から言っていたバニラの4種の空を復活させることにしました。
![](https://stat.ameba.jp/user_images/20240324/07/supra7001/33/02/p/o1227028415416733774.png?caw=800)
これはレースエディタで時間帯を選択する際の、テキストを制御するプログラム。
バニラだとありえんゴリ押しプログラムされてるので、シフトを使ってスマートにしました。
変更したのは、0x001EE650~48バイトです。
そうすると、バニラのゴリ押しプログラムされてた空間が96バイト分空くので、ここにライティングの制御プログラムを組みます。
![](https://stat.ameba.jp/user_images/20240324/08/supra7001/f6/b9/p/o1227056215416736204.png?caw=800)
内容はこんな感じで。
ちょっとゴリ押し感が否めないですが、他にいい方法が思いつかず…サイズも大したことないのでコレで。
一応将来的に夜風のライティングを作れるように、まだ設定していない15番目以降の空の場合の分岐を用意しています。
あとは以前までの記事にあるような変更点ばかりですが、とりあえずボディと空を追加しながらバニラの動作を全く変更しないバージョンが出来ました。下記が全変更点です。そのうちまた"Wing"を"Aero"に変えたり"時間帯"を"シーン"に変えたりしますが、それは動作には関係ないので…
![](https://stat.ameba.jp/user_images/20240324/08/supra7001/3e/6c/p/o1202084715416738164.png?caw=800)
近々自作プログラム部分のみダウンロード出来るようにしますので、
まげつけを改造して遊びたい方はもう少々お待ちくださいな。え、そんな人いない?笑
そんで!!!
例によってうどん氏にお願いして、カスタムhitdataを簡単に作れるツールを作っていただきました!!!!
これを利用して判明したのですが、バンパー視点の高さはhitdataのフロント上点によって決まるみたいです。
あとは180SXの彼や北のテクスチャ職人のまげつけをこのバージョンにアップデートしてあげないと…