buttonList.clear();
int w = (width - xSize) / 2;
int h = (height - ySize) / 2;
List<GuiBetterButton> buttons = new ArrayList<GuiBetterButton>();
running = new GuiToggleButtonSmall(0, 0, h + ySize - 129, 55, LocalizationPlugin.translate("railcraft.gui.locomotive.mode.running"), loco.clientMode == LocoMode.RUNNING);
buttons.add(running);
idle = new GuiToggleButtonSmall(1, 0, h + ySize - 129, 45, LocalizationPlugin.translate("railcraft.gui.locomotive.mode.idle"), loco.clientMode == LocoMode.IDLE);
if (hasIdleMode)
buttons.add(idle);
shutdown = new GuiToggleButtonSmall(2, 0, h + ySize - 129, 55, LocalizationPlugin.translate("railcraft.gui.locomotive.mode.shutdown"), loco.clientMode == LocoMode.SHUTDOWN);
buttons.add(shutdown);
running.setToolTip(ToolTip.buildToolTip("railcraft.gui.locomotive." + typeTag + ".tip.button.mode.running"));
idle.setToolTip(ToolTip.buildToolTip("railcraft.gui.locomotive." + typeTag + ".tip.button.mode.idle"));
shutdown.setToolTip(ToolTip.buildToolTip("railcraft.gui.locomotive." + typeTag + ".tip.button.mode.shutdown"));
GuiTools.newButtonRowAuto(buttonList, w + 3, 171, buttons);
List<GuiBetterButton> speedButtons = new ArrayList<GuiBetterButton>();
reverse = new GuiToggleButtonSmall(3, 0, h + ySize - 112, 12, "<", loco.clientSpeed == LocoSpeed.REVERSE);
speedButtons.add(reverse);
slowest = new GuiToggleButtonSmall(4, 0, h + ySize - 112, 12, ">", loco.clientSpeed == LocoSpeed.SLOWEST);
speedButtons.add(slowest);
slower = new GuiToggleButtonSmall(5, 0, h + ySize - 112, 17, ">>", loco.clientSpeed == LocoSpeed.SLOWER);
speedButtons.add(slower);
slow = new GuiToggleButtonSmall(6, 0, h + ySize - 112, 22, ">>>", loco.clientSpeed == LocoSpeed.SLOW);
speedButtons.add(slow);
max = new GuiToggleButtonSmall(7, 0, h + ySize - 112, 27, ">>>>", loco.clientSpeed == LocoSpeed.MAX);
speedButtons.add(max);
GuiTools.newButtonRow(buttonList, w + 8, 3, speedButtons);
buttonList.add(lockButton = new GuiMultiButton(8, w + 152, h + ySize - 111, 16, loco.getLockController()));