public static void replayGame(boolean visual, int delay)
    {
        ///Actions to execute.
        int[] actionsToExecute;

        try
        {
            actionsToExecute = readForces(m_actionFilename);

            //Create the game instance.
            m_game = new Game(m_mapName);

            m_game.go();
            m_game.getShip().setStarted(true);

            //Indicate what are we running
            if(m_verbose) System.out.println("Running actions from " + m_actionFilename + " in map " + m_game.getMap().getFilename() + "...");

            JEasyFrame frame;
            if(visual)
            {
                //View of the game, if applicable.
                m_view = new PTSPView(m_game, m_game.getMapSize(), m_game.getMap(), m_game.getShip(), m_controller);
                frame = new JEasyFrame(m_view, "PTSP-Game Replay: " + m_actionFilename);
            }

            for(int j=0;j<actionsToExecute.length;j++)
            {
                m_game.tick(actionsToExecute[j]);

                waitStep(delay);

                if(visual)
                {
                    m_view.repaint();
                    if(m_game.getTotalTime() == 1)
                        waitStep(m_warmUpTime);
                }
            }

            if(m_verbose)
                m_game.printResults();

        }catch(Exception e)
        {
            e.printStackTrace();
        }

    }