Not much to add at this point.
I figured out how the toolbar GUI classes work. I was able to get the Road Vehicle button working again abet at the cost of disabling the rail button since I haven't found an enclave to put the new code in. They're essentially controlled by a single set of callbacks which hook into functions that create windows, which are then dispatched off a second table for each class of object in the game.
I was able to locate the bits of code that [try to] open the RV/Boats/Aircraft windows, and confirmed this by finding the code that cleans the "clicked" button on the toolbar. This leads to another ratsnest of pointers which try to call "CreateWindow" at which point TT-Demo corrupts the screen and things stop working.
I found the structures which define the window as well, but the format has changed in TTD but I haven't been able to divine the format as of yet. In TTD, they are essentially type, size, and an asset ID such as a sprite or text string in the GRF. I haven't however figured out how they're connected to object code. I theorize that the RV/boat window fails to dispatch because it's referencing invalid data in the GRF which also explains the screen corruption. The airport construction window displays because it's all text, but unclear at best why I can't plot an airport down. The assets themselves appear to be in the GRF.
This is amazing progress! :3
I really hope you can manage to unlock this early build!
Keep it up! I believe in you!
For the record, I'd be fine with just the date limitation removed, even if others vehicles aren't unlocked.