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); }