Some words about hex refs of the menu items

Actually the text files in the INTRFACE folder are just kind of CSS. You can't remove anything in there or even mod it too much. Every menu item is hardcoded, from the background forms to the images and text. Click on read more to have a quick look.

4D 61 69 6E    [it says MAIN]

1A 00 00 00

40 9A 46 00
F0 9D 46 00
E0 A0 46 00 60 2C 63 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00 01


[26 expected items]

09 00 00 00 30 9A 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (SINGLE PLAYER)

0A 00 00 00 B0 7E 46 00 B8 39 5B 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (NETWORK)

04 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (GROUP #)

03 04 00 00 10 A0 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (fleche)

04 04 00 00 A0 9E 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (list)

04 04 00 00 A0 9E 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (list)

04 04 00 00 A0 9E 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (list)

04 04 00 00 A0 9E 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (list)

03 04 00 00 80 A0 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (fleche)

0F 00 00 00 50 64 46 00 60 2C 63 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (MENU)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic a)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic b)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic c)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic d)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic e)

02 04 00 00 50 64 46 00 10 64 5D 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (car pic f)

0C 00 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (Driver :)

04 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (driver name or smthg)

04 04 00 00 50 70 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (Blank for name driver)

EC 00 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (Credit :)

04 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (Name of car)

0E 00 00 00 70 72 46 00 80 F2 5B 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 01 00 00 00 01 (START)

01 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (credits or smthg)

01 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (numbers credits)

F7 00 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (apo :)

01 04 00 00 50 64 46 00 00 00 00 00 00 00 00 00 11 00 00 00 12
[19 null bytes] 00 00 00 00 01 (wheel/niceblue)

This is all stuff I figured out by hacking the BBQ executable to get rid of the single player mode and fiddle a bit more with the items. Each double line here is an actual item shown in menus. Here it's the main menu hex chunk. The first hex entry up there is the hex equivalent of the ascii MAIN. The 1Ah under it is ofcourse 26d and tells how much items there will be. A bit further there are 3 bytes telling 02h 02h and 01h, these are the background forms, respectively A2, B2 and C1. These can be edited easily, just remember that they must be untextured.

So now on to the actual entries. The two first bytes defines what the item is and contains. If the second byte is 00h or 01h, then it's text and the first byte is a ref to the string inside Interface.txt.  01h being for when the first byte goes over FF. If the second byte is 04h then it's a picture! And the first byte is the reference of the picture entry in menuimages.txt! And then there's that 3 bytes part that probably defines the kind of interaction possible, it can be easily figured out by comparing it to the actual item it defines etc. Then there are some null bytes, but for some there still is a 3 bytes reference (for START, NETWORK and the car pics), you guessed it it tells to which other menu it leads. And voila. That is all I have to say. People who are interested by editing this stuff will know what they look at etc. I know it's not very clear but that's better than nothing heh? I forgot to say that there are a lot of null bytes between each entry and there are even more null bytes between each menu hex chunk! So use the find tool to look for each menu (you can enter ascii strings such as MAIN, OPTIONS, CHANGECAR, etc.). Man it's possible to do lots of stuff there. For real.

So yeah when items are defined like that, their position, style, etc. is set via the menus respective text files. However you must know that some things are hardcoded elsewhere than in these hex chunks: the three APO graphics, the version number, and probably things I didn't bother looking for! Good luck!

Page top