//------------------------------------------------------------ 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); } }
int main(int argc, char ** argv) { // Setup environment setup_sdl(); setup_opengl(); // Run main game loop main_loop(); return 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); } }
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; }
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; }