Here i have an approach giving some limited access using 60+ vars, which take a parameter. the parameter is a signed offset in the vehicle chain, i.e. FF is the previous vehicle, FE, FD etc. are the vehicles before that. 01 is the next vehicle, and 02, 03 etc. are the vehicles after that. 00 is the current vehicle, but that probably doesn't make a lot of sense

currently implemented are: [updated]
- var 61: DirDifference similar to var 45 [B or F part, T part may be assembled using var 1C in nested varaction2]
- var 62: height difference (in pixels, i.e. 8 make a full height level)
- var 63: vehicle status (like var 80+32)
- var 64: the three variables above bitstuffed into one: xxyyzzhd, where xx, yy and zz (8 bits each) is the (signed) x-difference, d is 4 bits of DirDifference like in var 45, and h is 1 bit of VS_HIDDEN in bit 7 (appropriate mask is \dx00000080). (not sure how useful the coordinates are in the map-coordinate system, might be more useful to transform into a vehicle-coordinate-system first)
- var 65: engine-id (like var 80+46), 0xFFFFFFFF if invalid vehicle
patch is attached to the ticket above, a win32 binary is available here, kindly provided by Terkhen.
what is needed now is
- test grfs using these variables, to check their functionality for any issues (in the easiest case: implementation mistakes, in the worst case: desyncs)
- opinions of grf authors whether the approach is sensible, and whether some other variables might be useful/needed