@@ -129,6 +129,7 @@ public class HackController
129129 private static final String DIRECTORY = "directory" ;
130130 private static final String SPEED = "speed" ;
131131 private static final String ANIMATION_MODE = "animation_mode" ;
132+ private static final String NUMERIC_FORMAT = "numeric_format" ;
132133 private final Preferences preferences ;
133134
134135 // The controller's GUI
@@ -285,7 +286,8 @@ public HackController(ControllerGUI gui, HackSimulator simulator, String default
285286 animationMode = preferences .getInt (ANIMATION_MODE , simulator .getInitialAnimationMode ());
286287 simulator .setAnimationMode (animationMode );
287288 simulator .setAnimationSpeed (currentSpeedUnit );
288- simulator .setNumericFormat (simulator .getInitialNumericFormat ());
289+ final int numericFormat = preferences .getInt (NUMERIC_FORMAT , simulator .getInitialNumericFormat ());
290+ simulator .setNumericFormat (numericFormat );
289291 timer = new Timer (delays [currentSpeedUnit - 1 ], this );
290292
291293 // adds the simulator component to the controller component
@@ -300,7 +302,7 @@ public HackController(ControllerGUI gui, HackSimulator simulator, String default
300302 gui .addControllerListener (this );
301303 gui .setSpeed (currentSpeedUnit );
302304 gui .setAnimationMode (animationMode );
303- gui .setNumericFormat (simulator . getInitialNumericFormat () );
305+ gui .setNumericFormat (numericFormat );
304306 gui .setAdditionalDisplay (simulator .getInitialAdditionalDisplay ());
305307 gui .setVariables (simulator .getVariables ());
306308
@@ -821,6 +823,8 @@ private void setAnimationMode(int newAnimationMode) {
821823 private void setNumericFormat (int formatCode ) {
822824 simulator .setNumericFormat (formatCode );
823825 gui .setNumericFormat (formatCode );
826+ preferences .putInt (NUMERIC_FORMAT , formatCode );
827+ savePreferences ();
824828 }
825829
826830 // Sets the additional display with the given code.
0 commit comments