Ejemplo n.º 1
0
//------------------------------------------------------------  OnInit()
// Inicializa la libreria gráfica, el logging system y carga imágenes
void OnInit(int mode) {
	switch(mode){
		case SDL_VIDEO_MODE:
		    if (!(screen = setup_sdl()) ){
				perror("Couldn't initialize video");
				exit(APPERROR);
			}
			break;
		//case SDL_OPENGL_VIDEO_MODE:
			//if (!(screen = setup_sdlgl()) )	{
				//perror("Couldn't initialize video");
				//exit(APPERROR);
			//}
			//break;
		//case OPENGL_VIDEO_MODE:
			//if (!(screen = setup_opengl()) ) {
				//perror("Couldn't initialize video");
				//exit(APPERROR);
			//}
			//break;
		default:
			fprintf(stderr,"Unknown video mode %d", mode);
			exit(APPERROR);
	}
}
Ejemplo n.º 2
0
int main(int argc, char ** argv) {

	// Setup environment
	setup_sdl();
	setup_opengl();

	// Run main game loop
	main_loop();

	return 0;
}
Ejemplo n.º 3
0
//------------------------------------------------------------  OnInit()
//
void OnInit() {

	char *logfile="flash.log";
	char *datafile="data.raw";
	
	WacomInit();
	
	if ( !(data = fopen(datafile, "w")))
	{
		perror("Couldn't open file");
		exit(APPERROR);			
	}	
	if ( !(InitErrorLog(logfile)))
	{
		perror("Couldn't open log file");
		exit(APPERROR);			
	}	
	if (!(screen = setup_sdl()) )
	{
		perror("Couldn't initialize video");
		exit(APPERROR);
	}

}
Ejemplo n.º 4
0
int main (int argc, char **argv) {
    fz_context *context;
    int *pageinfo = NULL;
    /* int i; */

    /* Initialises mutexes required for Fitz locking */
    init_least_context_locks();

    context = fz_new_context(NULL, &least_context_locks, FZ_STORE_DEFAULT);
    if (!context)
        fprintf(stderr, "Failed to create context\n");

    if (force_thread_count)
        thread_count = force_thread_count;
    else
        thread_count = sysconf(_SC_NPROCESSORS_ONLN);

    if (argc == 2) {
        /* Initialize OpenGL window */
        setup_sdl();

        /* Start render threads */
        init_threads(thread_count, context);

        /*
         * At this point, we should have a properly setup
         * double-buffered window for use with OpenGL.
         */
        setup_opengl(w, h);
        init_busy_texture();

        /* Check for non-power-of-two support */
        /* printf("Extensions are: %s\n", glGetString(GL_EXTENSIONS)); */
        if (strstr((const char *)glGetString(GL_EXTENSIONS),
            "GL_ARB_texture_non_power_of_two")) {
            puts("Machine supports NPOT textures.");
            power_of_two = 0;
        } else {
            puts("Machine supports POT textures only.");
            power_of_two = 1;
        }

        power_of_two |= force_power_of_two;

        /* Load textures from PDF file */
        open_pdf(context, argv[1]);

        /*
         * Now we want to begin our normal app process--
         * an event loop with a lot of redrawing.
         */

        while (1) {
            /* Process incoming events. */
            process_events();

            /* Update cache state */
            update_cache();

            if (redraw) {
                /*
                glDeleteTextures(pagec, pages);
                open_pdf(context, argv[1]);
                */
                redraw = 0;
                draw_screen();
            }

            /*
            pageinfo = NULL;
            for(i = 0; i < visible_pages(pageinfo); i++) {
                printf("%d, ", i);
            }
            printf("\n");
            */

            free(pageinfo);
        }


    }


    fz_close_document(doc);
    fz_free_context(context);

    return 0;
}
Ejemplo n.º 5
0
int main(int argc, char *argv[])
{
#ifndef SYNC_PLAYER
	bool should_save = false;	// whether to save tracks when done.
								// don't save unless we actually connect.
#endif

	HSTREAM stream;

	const struct sync_track *clear_r, *clear_g, *clear_b;
	const struct sync_track *cam_rot, *cam_dist;

	setup_sdl();

	/* init BASS */
	if (!BASS_Init(-1, 44100, 0, 0, 0))
		die("failed to init bass");
	stream = BASS_StreamCreateFile(false, "tune.ogg", 0, 0,
	    BASS_STREAM_PRESCAN);
	if (!stream)
		die("failed to open tune");

	sync_device *rocket = sync_create_device("sync");
	if (!rocket)
		die("out of memory?");

#ifndef SYNC_PLAYER
	if (sync_connect(rocket, "localhost", SYNC_DEFAULT_PORT))
		die("failed to connect to host");
#endif

	/* get tracks */
	clear_r = sync_get_track(rocket, "clear.r");
	clear_g = sync_get_track(rocket, "clear.g");
	clear_b = sync_get_track(rocket, "clear.b");
	cam_rot = sync_get_track(rocket, "cam.rot"),
	cam_dist = sync_get_track(rocket, "cam.dist");

	/* let's roll! */
	BASS_Start();
	BASS_ChannelPlay(stream, false);

	bool done = false;
	while (!done) {
		double row = bass_get_row(stream);
#ifndef SYNC_PLAYER
		if (sync_update(rocket, (int)floor(row), &bass_cb, (void *)&stream)) {
			if (sync_connect(rocket, "localhost", SYNC_DEFAULT_PORT) == 0)
				should_save = true;
		}
#endif

		/* draw */

		glClearColor(float(sync_get_val(clear_r, row)),
		             float(sync_get_val(clear_g, row)),
		             float(sync_get_val(clear_b, row)), 1.0f);
		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

		float rot = float(sync_get_val(cam_rot, row));
		float dist = float(sync_get_val(cam_dist, row));

		glMatrixMode(GL_PROJECTION);
		glLoadIdentity();
		gluPerspective(60.0f, 4.0f / 3, 0.1f, 100.0f);

		glMatrixMode(GL_MODELVIEW);
		glLoadIdentity();
		glPushMatrix();
		gluLookAt(sin(rot) * dist, 0, cos(rot) * dist,
		          0, 0, 0,
		          0, 1, 0);

		glEnable(GL_DEPTH_TEST);
		draw_cube();

		glPopMatrix();
		SDL_GL_SwapBuffers();

		BASS_Update(0); /* decrease the chance of missing vsync */

		SDL_Event e;
		while (SDL_PollEvent(&e)) {
			if (e.type == SDL_QUIT ||
			    (e.type == SDL_KEYDOWN &&
			    e.key.keysym.sym == SDLK_ESCAPE))
				done = true;
		}
	}

#ifndef SYNC_PLAYER
	if(should_save)		//don't clobber if user just ran it then hit Esc
		sync_save_tracks(rocket);
#endif
	sync_destroy_device(rocket);

	BASS_StreamFree(stream);
	BASS_Free();
	SDL_Quit();

	return 0;
}