public BmGame(String[] args)
        {
            int width = WIDTH;
            int height = HEIGHT;

            int realWidth = width + WIDTH_EX;
            int realHeight = height;

            graphics = new GraphicsDeviceManager(this);
            graphics.PreferredBackBufferWidth = realWidth;
            graphics.PreferredBackBufferHeight = realHeight;

            IsFixedTimeStep = true;

            Content.RootDirectory = "Content";

            ApplicationInfo info = new ApplicationInfo(width, height);
            #if WINDOWS
            info.nativeInterface = this;
            info.realWidth = realWidth;
            info.realHeight = realHeight;
            IsMouseVisible = true;
            #endif
            info.args = args;

            application = new BmApplication(Content, info);
        }
        public Application(ApplicationInfo info)
        {
            nativeInterface = info.nativeInterface;
            width = info.width;
            height = info.height;
            realWidth = info.realWidth;
            realHeight = info.realHeight;

            sharedApplication = this;

            context = new Context();
            updatables = new UpdatableList(1);
            drawables = new DrawableList(1);

            cmdLine = CreateCommandLine();
            cmdLine.Parse(info.args);
        }