/////////////////////////////////////////////////////////////////////////////
// Name:        TitanApp.h
// Purpose:     
// Author:      Vince Harron
// Modified by: 
// Created:     06/07/05 12:52:55
// RCS-ID:      
// Copyright:   2005 Sony Online Entertainment
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _TITANAPP_H_
#define _TITANAPP_H_

#if defined(__GNUG__) && !defined(__APPLE__)
    #pragma interface "TitanApp.h"
#endif

/*!
 * Includes
 */

////@begin includes
#include "wx/image.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
////@end forward declarations
class TitanFrame;

/*!
 * Control identifiers
 */

////@begin control identifiers
////@end control identifiers

/*!
 * TitanApp class declaration
 */

class TitanApp: public wxApp
{    
    DECLARE_CLASS( TitanApp )
    DECLARE_EVENT_TABLE()

public:
    /// Constructor
    TitanApp();
    
    // Destructor
    ~TitanApp();

    /// Initialises the application
    virtual bool OnInit();

    /// Called on exit
    virtual int OnExit();

    // Handles the frame event
    // The frame event occurs after all input is processed.
    virtual void OnFrame();

    // this one is called from OnInit() to add all supported options
    // to the given parser (don't forget to call the base class version if you
    // override it!)
    virtual void OnInitCmdLine(wxCmdLineParser& parser);

    // called after successfully parsing the command line, return true
    // to continue and false to exit (don't forget to call the base class
    // version if you override it!)
    virtual bool OnCmdLineParsed(wxCmdLineParser& parser);

    // called if "--help" option was specified, return true to continue
    // and false to exit
    //virtual bool OnCmdLineHelp(wxCmdLineParser& parser);

    // called if incorrect command line options were given, return
    // false to abort and true to continue
    //virtual bool OnCmdLineError(wxCmdLineParser& parser);

////@begin TitanApp event handler declarations

////@end TitanApp event handler declarations

    /// wxEVT_END_SESSION event handler
    void OnEndSession( wxCloseEvent& event );

////@begin TitanApp member function declarations

////@end TitanApp member function declarations

////@begin TitanApp member variables
////@end TitanApp member variables

    TitanFrame* mpTitanFrame;
    bool        mNet;
    bool        mMultiPass;
    bool        mBloomEnabled;
    char        mPlaybackFilename[256];
    char        mRecordFilename[256];
    const char *mLevelName;
    bool        mLog;
    int         mFrameRate;
    bool        mShowUI;
    bool        mPawnDebug;
    bool        mArtCheck;
    char *      mPlayerModelOverload;
};

/*!
 * Application instance declaration 
 */

////@begin declare app
DECLARE_APP(TitanApp)
////@end declare app

#endif
    // _TITANAPP_H_
