UpdateRACButton();
    public void actionPerformed(ActionEvent ev) {        if (!client.isMyTurn()) {            // odd...            return;        }                if (ev.getSource() == butDone) {            moveTo(md);        } else if (ev.getSource() == butNext) {            clearAllMoves();            selectEntity(client.getNextEntityNum(cen));        } else if (ev.getSource() == butMore) {            buttonLayout++;            buttonLayout %= NUM_BUTTON_LAYOUTS;            setupButtonPanel();        } else if (ev.getSource() == butWalk) {            if (gear == Compute.GEAR_JUMP) {                clearAllMoves();            }            gear = Compute.GEAR_LAND;        } else if (ev.getSource() == butJump) {            if (gear != Compute.GEAR_JUMP) {                clearAllMoves();            }            if (!md.contains(MovementData.STEP_START_JUMP)) {                md.addStep(MovementData.STEP_START_JUMP);            }            gear = Compute.GEAR_JUMP;        } else if (ev.getSource() == butTurn) {            gear = Compute.GEAR_TURN;        } else if (ev.getSource() == butBackup) {            if (gear == Compute.GEAR_JUMP) {                clearAllMoves();            }            gear = Compute.GEAR_BACKUP;        } else if (ev.getSource() == butCharge) {            if (gear != Compute.GEAR_LAND) {                clearAllMoves();            }            gear = Compute.GEAR_CHARGE;        } else if (ev.getSource() == butDfa) {            if (gear != Compute.GEAR_JUMP) {                clearAllMoves();            }            gear = Compute.GEAR_DFA;            if (!md.contains(MovementData.STEP_START_JUMP)) {                md.addStep(MovementData.STEP_START_JUMP);            }        } else if (ev.getSource() == butUp) {            clearAllMoves();            gear = Compute.GEAR_LAND;            if (!md.contains(MovementData.STEP_GET_UP)) {                md.addStep(MovementData.STEP_GET_UP);            }            client.bv.drawMovementData(ce(), cmd);            butDone.setLabel("Move");        } else if (ev.getSource() == butFlee && client.doYesNoDialog("Escape?", "Do you want to flee?")) {            clearAllMoves();            md.addStep(MovementData.STEP_FLEE);            moveTo(md);        }    }