示例#1
0
        public static void SDL_Main()
        {
            FNADroidPlatform.PreInitialize();

            // Replace the following "Program.Main via reflection" call with whatever was in your old Program.Main method.
            Assembly.LoadFrom(Environment.GetEnvironmentVariable("FNADROID_GAMEPATH")).EntryPoint.Invoke(null, new object[] { new string[] { /*args*/ } });
        }
示例#2
0
        public static void Main(string[] args)
        {
            Console.SetOut(new LogcatWriter()
            {
                Tag   = "FNADroid-Wrapper",
                Level = Log.Level.INFO
            });
            Console.SetError(new LogcatWriter()
            {
                Tag   = "FNADroid-Wrapper",
                Level = Log.Level.ERROR
            });
            Console.WriteLine("Hello from FNADroid-Boot!");

            Environment.SetEnvironmentVariable("HOME", FNADroidLib.GetHomePath());

            //Allow games / FNA(?) to check for this environment variable.
            Environment.SetEnvironmentVariable("FNADROID_ENABLED", "1");

            int    es       = FNADroidLib.GetMaximumGLES();
            int    esMaj    = (int)Math.Floor(es / 10D);
            int    esMin    = es - esMaj * 10;
            string esString = esMaj + "." + esMin;

            FNADroidLib.PopupDebug("Package: " + FNADroidLib.GetPackageName() + "\nInstaller: " + FNADroidLib.GetInstallerPackageName() + "\nGLES: " + esString);

            //Set GLES version
            //Backwards-compatibility with "original" (unmodified) FNA
            Environment.SetEnvironmentVariable("FNA_OPENGL_FORCE_ES2", "1");
            //The FNADroid FNA clone supports setting the version.
            Environment.SetEnvironmentVariable("FNA_OPENGL_FORCE_ES", esString);

            //Breaks accuracy, but Android supports getting (estimating) the maximum.
            //Automatic maximum currently enabled for testing / demonstration purposes.
            Environment.SetEnvironmentVariable("FNA_TOUCH_FORCE_MAXIMUM", "0");

            FNADroidPlatform.Boot();

            Assembly.LoadFrom(Path.Combine(FNADroidLib.GetGamePath(), "game.exe")).EntryPoint.Invoke(null, new object[] { new string[] { /*args*/ } });
        }