diff Renderer/Engine/SgMain.cc @ 656:d0b8860c17f8

remove global variable "sgroot" , add SgChange.{cc, h} SgMain.cc SgRootChange.{cc, h}
author hiroki@henri.cr.ie.u-ryukyu.ac.jp
date Wed, 25 Nov 2009 21:56:14 +0900
parents
children 9d1bcc07734b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Renderer/Engine/SgMain.cc	Wed Nov 25 21:56:14 2009 +0900
@@ -0,0 +1,61 @@
+#include "TaskManager.h"
+#include "SgChange.h"
+#include "Application.h"
+
+/* prototype */
+extern void task_initialize();
+extern Application *application();
+extern int sg_init(TaskManager *manager, int argc, char *argv[]);
+
+int
+sg_init(TaskManager *manager, int argc, char *argv[])
+{
+    int bpp    = 32;
+    int width  = 640;
+    int height = 480;
+    int spenum = 1;
+
+    for(int i = 1; argv[i]; ++i)
+    {
+	if (strcmp(argv[i], "-bpp") == 0) {
+	    bpp = atoi(argv[++i]);
+	}
+	if (strcmp(argv[i], "-width") == 0) {
+	    width = atoi(argv[++i]);
+	} 
+	if (strcmp(argv[i], "-height") == 0) {
+	    height = atoi(argv[++i]);
+	}
+	if (strcmp(argv[i], "-cpu") == 0) {
+	    spenum = atoi(argv[++i]);
+	}
+    }
+
+    SgChange *screen = new SgChange(bpp, width, height, spenum);
+    screen->run_init(manager, application());
+
+    return 0;
+}
+
+#if 0
+
+// These are defined in Application
+
+int
+TMmain(TaskManager *manager, int argc, char *argv[])
+{
+    task_initialize();
+    manager->set_TMend(TMend);
+    return init(manager, argc, argv);
+
+}
+
+void
+TMend(TaskManager *manager)
+{
+    printf("test_nogl end\n");
+}
+
+#endif
+
+/* end */