view 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 source

#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 */