public LoadSaveFrame(Frame paramFrame, int paramInt)
  {
    super(paramFrame, paramInt == 0 ? "Load..." : "Save...", true);

    this.parentFrame = paramFrame;
    this.mode = paramInt;

    setLayout(new BorderLayout());

    addWindowListener(
      new WindowAdapter()
    {
      public void windowClosing(WindowEvent paramWindowEvent)
      {
        LoadSaveFrame.this.setVisible(false); LoadSaveFrame.this
          .dispose(); LoadSaveFrame.this.response = 
          null; LoadSaveFrame.this.desc = 
          null;
      }
    });
    Panel localPanel1 = new Panel(new BorderLayout()); Panel localPanel2 = new Panel();
    add(localPanel1, "Center");
    add(localPanel2, "South");

    this.savegamelist = new List();
    this.savegamelist.addItemListener(this);
    localPanel1.add(this.savegamelist, "Center");

    this.field = new TextField();
    this.field.addTextListener(this);
    this.field.addActionListener(this);
    localPanel1.add(this.field, "South");

    this.action = new Button(paramInt == 0 ? "Load" : "Save");
    localPanel2.add(this.action);
    this.action.addActionListener(this);
    this.action.setEnabled(false);

    this.del = new Button("Delete");
    localPanel2.add(this.del);
    this.del.addActionListener(this);

    this.cancel = new Button("Cancel");
    localPanel2.add(this.cancel);
    this.cancel.addActionListener(this);

    File localFile = new File(".");
    String[] arrayOfString = localFile.list(new SavegameFilter());
    this.newSaveNumber = arrayOfString.length;

    for (int i = 0; i < arrayOfString.length; i++)
    {
      try
      {
        ObjectInputStream localObjectInputStream = new ObjectInputStream(
          new BufferedInputStream(
          new GZIPInputStream(
          new FileInputStream(new File(arrayOfString[i])))));

        localObjectInputStream.readDouble();
        localObjectInputStream.readDouble();

        String localObject = (String)localObjectInputStream.readObject();
        long l = localObjectInputStream.readLong() / 5L;
        Debug.println(arrayOfString[i] + ":\n" + (String)localObject + "\n" + l + "-----");

        localObjectInputStream.close();

        StringBuffer localStringBuffer = new StringBuffer("[");

        int[] arrayOfInt = { 3600, 60, 1 };
        if (l / 86400L > 0L)
        {
          int j = (int)(l / 86400L);
          l %= 86400L;
          localStringBuffer.append(j);
          localStringBuffer.append("D ");
        }
        for (int j = 0; j < arrayOfInt.length; j++)
        {
          if (l / arrayOfInt[j] > 0L)
          {
            int k = (int)(l / arrayOfInt[j]);
            l %= arrayOfInt[j];
            String str = Integer.toString(k);
            if (str.length() == 1)
              localStringBuffer.append("0");
            localStringBuffer.append(str);
          }
          else {
            localStringBuffer.append("00");
          }if (j != arrayOfInt.length - 1)
            localStringBuffer.append(":");
        }
        localStringBuffer.append("] ");
        localStringBuffer.append((String)localObject);

        this.savegamelist.add(localStringBuffer.toString());

        this.descs.addElement(localObject);

        this.filenames.addElement(arrayOfString[i]);
      }
      catch (Exception localException)
      {
        Debug.println("Invalid savegame " + arrayOfString[i]);
        localException.printStackTrace();
      }

    }

    pack();
    Dimension localDimension = Toolkit.getDefaultToolkit().getScreenSize();
    Object localObject = getSize();
    setLocation(localDimension.width / 2 - ((Dimension)localObject).width / 2, localDimension.height / 2 - ((Dimension)localObject).height / 2);
    setVisible(true);
  }