switch(FEAT_TRAINS, SELF, VEH_ID(height_switch), ((var[0x62, 24, 0x000000FF, -1 - (SLICE)] - var[0x62, 24, 0x000000FF, -0 - (SLICE)]) & 0xFF) << 8 | ((var[0x62, 24, 0x000000FF, -0 - (SLICE)] - var[0x62, 24, 0x000000FF, 1 - (SLICE)]) & 0xFF)) {
0 : VEH_ID(slice_group);
#if SLICE == 0
VEH_ID(group);
#else
inv_dummy_group;
#endif
}
switch(FEAT_TRAINS, SELF, VEH_ID(direction_switch), ((var[0x62, 0, 0x0000000F, -1 - (SLICE)] - var[0x62, 0, 0x0000000F, -0 - (SLICE)]) & 0xF) << 8 | ((var[0x62, 0, 0x0000000F, -0 - (SLICE)] - var[0x62, 0, 0x0000000F, 1 - (SLICE)]) & 0xF)) {
#if SLICE == 0
0x00000000: VEH_ID(height_switch);
0x00000001: VEH_ID(1_group);
0x00000F00: VEH_ID(2_group);
0x0000000F: VEH_ID(3_group);
0x00000100: VEH_ID(4_group);
VEH_ID(group);
#else
0x00000000: VEH_ID(height_switch);
inv_dummy_group;
#endif
}
switch(FEAT_TRAINS, SELF, VEH_ID(gfx_switch), extra_callback_info1 & 0xFF) {
0 : VEH_ID(direction_switch);
VEH_ID(gui_group);
}