Пример #1
0
static void init() {
	int i;
	DARNIT_INPUT_MAP map;

	d_init("pewpewtris", "pewpewtris", NULL);
	d_fs_mount_self();
	d_fs_mount("music.ldi");
	d_fs_mount("sounds.ldi");
	config_init();
	
	ppt.ui.offset_x = 288;
	ppt.ui.offset_y = 0;

	for (i = 0; i < 180; ppt.tile_lookup[i++] = -1);

	ppt.block = d_render_tilesheet_load("res/block.png", 24, 24, DARNIT_PFORMAT_RGB5A1);
	ppt.tile = d_render_tile_new(10 * 18, ppt.block);
	ppt.bbox = d_bbox_new(180);
	d_bbox_set_indexkey(ppt.bbox);
	ppt.tm = d_tilemap_new(0xFFF, ppt.block, 0xFFF, 10, 18);
	ppt.request_new = 0;
	ppt.font = d_font_load("res/font.ttf", 28, 256, 256);
	ui_init();
	bullet_init(30);
	highscore_init();
	state_init();
	music_init();
	
	ppt.ui.play_background = d_map_load("res/playfield_background.ldmz");
	ppt.ui.menu_background = d_map_load("res/mainmenu_background.ldmz");
	ppt.ui.highscore_background = d_map_load("res/highscore_background.ldmz");

	/* Re-map B to space */
	if (!(d_platform_get().platform & DARNIT_PLATFORM_PANDORA)) {
		map = d_keymapping_get();
		map.b = TPW_KEY_SPACE;
		d_keymapping_set(map);
	}

	block_particle_init();

	/* FIXME: Remove */
	ppt.fps = d_text_surface_new(ppt.font, 6, 1000, 0, 0);
}
Пример #2
0
//------------------------------------------------------------------------
int
notmain ( void )
{
	malloc_init((void *) HEAP_START);

	music_init();

	create_process(processus_A, 128);
	create_process(processus_A, 128);

	create_process(play_music, 2048);

	create_process(processus_B, 128);
	create_process(processus_B, 128);

	start_sched();

	return(0);
}
Пример #3
0
//------------------------------------------------------------------------
int
notmain ( void )
{
  hw_init();
  music_init();

  /* hw_init(); */
  /* led_init(); */
  /* switch_init(); */

  /* play_music(); */
  create_ctx(processus_A, NULL, 128);
  create_ctx(processus_A, NULL, 128);

  create_ctx(play_music, NULL, 2048);

  create_ctx(processus_B, NULL, 128);
  create_ctx(processus_B, NULL, 128);

  start_sched();

  return(0);
}
Пример #4
0
void interface_init (int argc, char *argv[])
{
	g_message ("Interface init");
	
	// GTK initialisieren
	g_message ("\tGTK init");
	gtk_init(&argc, &argv);
	
	ui = NULL;
	mainwindow = NULL;
	vbox_placeholder = NULL;
	keyboard = NULL;
	vbox_tractasono = NULL;
	actual_entry = NULL;
	
	module.music = NULL;
	module.radio = NULL;
	module.server = NULL;
	module.import = NULL;
	module.settings = NULL;
	module.fullscreen = NULL;
	module.disc = NULL;
	module.previous = NULL;
	
	// Das Interface laden
	GString* buildfile = g_string_new(g_get_current_dir());
	buildfile = g_string_append(buildfile, "/data/tractasono.ui");
	if (g_file_test(buildfile->str, G_FILE_TEST_EXISTS) == FALSE) {
		buildfile = g_string_assign(buildfile, INSTALLED_GLADE);
	}
	if (g_file_test(buildfile->str, G_FILE_TEST_EXISTS) == FALSE) {
		g_warning ("Die Glade Datei konnte nicht geladen werden!");
		exit (0);
	}
	
	GError* error = NULL;
	ui = gtk_builder_new();
	if (!gtk_builder_add_from_file (ui, buildfile->str, &error)) {
		g_error ("Couldn't load builder file: %s", error->message);
		g_error_free (error);
	}
	
	// Verbinde die Signale automatisch mit dem Interface
	gtk_builder_connect_signals (ui, NULL);
	
	// Hauptfenster holen
	mainwindow = interface_get_widget ("window_main");
	
	// Icon setzen
	const gchar* icon = INSTALLED_ICON;
	if (g_file_test(icon, G_FILE_TEST_EXISTS) == TRUE) {
		gtk_window_set_icon_from_file (GTK_WINDOW (mainwindow), icon, NULL);
	}

	// Placeholder holen
	vbox_placeholder = interface_get_widget ("vbox_placeholder");
	
	// Tractasono Root holen
	vbox_tractasono = interface_get_widget ("vbox_tractasono");

	// Die einzelnen Windows laden und referenzieren
	module.music = g_object_ref (interface_get_widget ("modul_music"));
	module.disc = g_object_ref (interface_get_widget ("vbox_disc"));
	module.server = g_object_ref (interface_get_widget ("servermodul"));
	module.settings = g_object_ref (interface_get_widget ("vbox_settings"));
	module.radio = g_object_ref (interface_get_widget ("radiomodul"));
	module.fullscreen = g_object_ref (interface_get_widget ("eventbox_fullscreen"));

	// Keyboard laden
	GtkWidget *vbox_placeholder_keyboard = NULL;
	vbox_placeholder_keyboard = interface_get_widget ("vbox_placeholder_keyboard");
	keyboard = interface_get_widget ("alignment_keyboard");
	gtk_widget_reparent(keyboard, vbox_placeholder_keyboard);
	gtk_widget_hide(keyboard);
	
	// Progressbar laden
	progress = GTK_PROGRESS_BAR( interface_get_widget ("range_song"));
	
	// LCD
	GtkWidget *lcdspace;
	lcdspace = interface_get_widget ("lcdbox");
	lcd = lcd_new ();
	gtk_container_add (GTK_CONTAINER (lcdspace), GTK_WIDGET (lcd));
	
	// LCD Text initial setzen
	gchar *title = db_settings_get_text ("LCD", "StartText");
	lcd_set_title (LCD (lcd), title);
	
	// Widget anzeigen
	gtk_widget_show (GTK_WIDGET (lcd));
	
	// Einzelne GUI Module initialisieren
	disc_init ();
	radio_init ();
	music_init ();
	//server_init ();
	settings_init ();
	fullscreen_init ();
	
	// Musik von Anfang an anzeigen
	interface_show_module(module.music);
}
Пример #5
0
int main(void)
{
	music_init();
	music_play(3);
	u16 delay_mod = 4;
	u16 col_inc_cnt = 0;
	setup();
reset_demo:

		hint_val = 3;
	col = 0;
	col_off = 0;
	phrase_num = 0;
	scroll_off = 0;
	dscroll = 0;
	term_pos = 0;
	term_scrolling = 0;

	sprites_dma_simple();
	term_pos = 0;
	VDP_setHInterrupt(0);

	VDP_clearPlan(VDP_PLAN_A, 0);
	VDP_clearPlan(VDP_PLAN_B, 0);
	// Greyscale palette for text
	VDP_setPaletteColor(0,0x000);
	VDP_setPaletteColor(1,0x444);
	VDP_setPaletteColor(2,0x888);
	VDP_setPaletteColor(3,0xEEE);

	VDP_setScreenWidth256();
	bios_boot_demo();
	VDP_setScreenWidth320();
	VDP_clearPlan(VDP_PLAN_A, 0);
	VDP_clearPlan(VDP_PLAN_B, 0);


	awful_put_logo(8, 2);
	startup_stretch();

	VDP_setVerticalScroll(PLAN_A, 252);
	VDP_setVerticalScroll(PLAN_B, 252);

	VDP_setHIntCounter(hint_val);
	SYS_setHIntCallback((_voidCallback *)h_int);
	volatile u8 p1 = pad_read(0);
	sprites_init();

	col_puts40(8,0,"Computer Science House");

	// Initialize background stars
	star stars[NUM_STARS];
	u16 i = 0;
	for (i = 0; i < NUM_STARS; i++)
	{
		stars[i].x = i * 5;
		stars[i].y = 128 + i * 8;
		stars[i].speed = (i % 7) + 1;
		stars[i].offset = (3 * i) % 4;
		stars[i].size = (i % 4 == 0) ? ('.' + COL_FONT_VRAM_OFFSET) : (128 + '.' + COL_FONT_VRAM_OFFSET);
	}

	print_phrase(8);
	u16 delay = 0;
	u8 dir = 0;
	VDP_setHInterrupt(1);
	for (;;)
	{
		delay++;
		if (col_inc_cnt == 0)
		{
			col_inc_cnt = hint_val;
			col_off += 0x002;
		}
		else
		{
			col_inc_cnt--;
		}
		if (delay == 512)
		{
			if (phrase_num == 8)
			{
				phrase_num = 0;

				VDP_setHInterrupt(0);
				sprite_set(0, 0, 0, 0, 0, 0);
				sprites_dma_simple();
				while (vbl_wait)
		{	
			__asm__("nop");
		}

		vbl_wait = 1;
				goto reset_demo;
			}
			hint_val++;
			if (hint_val == 10)
			{
				hint_val = 3;
			}
			delay_mod = delay_mod >> 1;
			if (delay_mod == 0)
			{
				delay_mod = delay_mod = 4;
			}
			VDP_setHIntCounter(hint_val);
			VDP_setHInterrupt(0);
			print_phrase(phrase_num);
			VDP_setHInterrupt(1);
			phrase_num++;

			delay = 0;
		}	
		process_stars(&stars);
		while (vbl_wait)
		{	
			__asm__("nop");
		}
		VDP_setHInterrupt(0);
		VDP_setPaletteColor(14,palette[col]);
		col = col_off;
		vbl_wait = 1;
		sprites_dma_simple();
		VDP_setHInterrupt(1);
	}
	return 0;	
}
Пример #6
0
/**
 * @brief Initializes the sound subsystem.
 *
 *    @return 0 on success.
 */
int sound_init (void)
{
   int ret;

   /* See if sound is disabled. */
   if (conf.nosound) {
      sound_disabled = 1;
      music_disabled = 1;
   }

   /* Parse conf. */
   if (sound_disabled && music_disabled)
      return 0;

   /* Choose sound system. */
   if ((sound_sys_init == NULL) && (conf.sound_backend != NULL) &&
         (strcmp(conf.sound_backend,"openal")==0)) {
#if USE_OPENAL
      /*
       * OpenAL Sound.
       */
      /* Creation. */
      sound_sys_init       = sound_al_init;
      sound_sys_exit       = sound_al_exit;
      /* Sound Creation. */
      sound_sys_load       = sound_al_load;
      sound_sys_free       = sound_al_free;
      /* Sound settings. */
      sound_sys_volume     = sound_al_volume;
      sound_sys_getVolume  = sound_al_getVolume;
      sound_sys_getVolumeLog = sound_al_getVolumeLog;
      /* Sound playing. */
      sound_sys_play       = sound_al_play;
      sound_sys_playPos    = sound_al_playPos;
      sound_sys_updatePos  = sound_al_updatePos;
      sound_sys_updateVoice = sound_al_updateVoice;
      /* Sound management. */
      sound_sys_update     = sound_al_update;
      sound_sys_stop       = sound_al_stop;
      sound_sys_pause      = sound_al_pause;
      sound_sys_resume     = sound_al_resume;
      sound_sys_setSpeed   = sound_al_setSpeed;
      /* Listener. */
      sound_sys_updateListener = sound_al_updateListener;
      /* Groups. */
      sound_sys_createGroup = sound_al_createGroup;
      sound_sys_playGroup  = sound_al_playGroup;
      sound_sys_stopGroup  = sound_al_stopGroup;
      sound_sys_pauseGroup = sound_al_pauseGroup;
      sound_sys_resumeGroup = sound_al_resumeGroup;
      /* Env. */
      sound_sys_env        = sound_al_env;
#else /* USE_OPENAL */
      WARN("OpenAL support not compiled in!");
#endif /* USE_OPENAL */
   }
   if ((sound_sys_init == NULL) && (conf.sound_backend != NULL) &&
         (strcmp(conf.sound_backend,"sdlmix")==0)) {
#if USE_SDLMIX
      /*
       * SDL_mixer Sound.
       */
      /* Creation. */
      sound_sys_init       = sound_mix_init;
      sound_sys_exit       = sound_mix_exit;
      /* Sound Creation. */
      sound_sys_load       = sound_mix_load;
      sound_sys_free       = sound_mix_free;
      /* Sound settings. */
      sound_sys_volume     = sound_mix_volume;
      sound_sys_getVolume  = sound_mix_getVolume;
      sound_sys_getVolumeLog = sound_mix_getVolume;
      /* Sound playing. */
      sound_sys_play       = sound_mix_play;
      sound_sys_playPos    = sound_mix_playPos;
      sound_sys_updatePos  = sound_mix_updatePos;
      sound_sys_updateVoice = sound_mix_updateVoice;
      /* Sound management. */
      sound_sys_update     = sound_mix_update;
      sound_sys_stop       = sound_mix_stop;
      sound_sys_pause      = sound_mix_pause;
      sound_sys_resume     = sound_mix_resume;
      sound_sys_setSpeed   = sound_mix_setSpeed;
      /* Listener. */
      sound_sys_updateListener = sound_mix_updateListener;
      /* Groups. */
      sound_sys_createGroup = sound_mix_createGroup;
      sound_sys_playGroup  = sound_mix_playGroup;
      sound_sys_stopGroup  = sound_mix_stopGroup;
      sound_sys_pauseGroup = sound_mix_pauseGroup;
      sound_sys_resumeGroup = sound_mix_resumeGroup;
      /* Env. */
      sound_sys_env        = sound_mix_env;
#else /* USE_SDLMIX */
      WARN("SDL_mixer support not compiled in!");
#endif /* USE_SDLMIX */
   }
   if (sound_sys_init == NULL) {
      WARN("Unknown/Unavailable sound backend '%s'.", conf.sound_backend);
      sound_disabled = 1;
      WARN("Sound disabled.");
      music_disabled = 1;
      return 0;
   }

   /* Initialize sound backend. */
   ret = sound_sys_init();
   if (ret != 0) {
      sound_disabled = 1;
      music_disabled = 1;
      WARN("Sound disabled.");
      return ret;
   }

   /* Create voice lock. */
   voice_mutex = SDL_CreateMutex();
   if (voice_mutex == NULL) {
      WARN("Unable to create voice mutex.");
   }

   /* Load available sounds. */
   ret = sound_makeList();
   if (ret != 0)
      return ret;

   /* Initialize music. */
   ret = music_init();
   if (ret != 0) {
      music_disabled = 1;
      WARN("Music disabled.");
   }

   /* Set volume. */
   if ((conf.sound > 1.) || (conf.sound < 0.))
      WARN("Sound has invalid value, clamping to [0:1].");
   sound_volume(conf.sound);

   /* Initialized. */
   sound_initialized = 1;

   return 0;
}
Пример #7
0
uint32_t Game::run()
{
//This is a main game

    //Quit flag
    bool quit = false;

    //The frame rate regulator
    Timer fps;

    ih_init();
    music_init();
    world_init();

    //SOME SORT OF MENU SHOULD BE HERE


    //Constructor calls etc
    Player *player = new Player();
    center_camera((player->get_x() + PLAYER_WIDTH/2), (player->get_y() + PLAYER_HEIGTH/2));

    show_message();
    //BOX FOR TEST
    world_generate();


    //main loop
    while(quit == false)
    {
        //Start the frame timer
        fps.start();

        //While there's events to handle
        while( SDL_PollEvent( &event ) )
        {
            handle_events(player);
            //If the user has Xed out the window
            if( event.type == SDL_QUIT )
            {
                //Quit the program
                quit = true;
            }
        }

        music_play();


        //MOVES
        player->move();
        player->center();

        //CLS
        ih_clear_screen();

        //DRAWING

        //hide cursor
        SDL_ShowCursor(0);
        apply_cursor();

        player->draw();

        start_over();

        while(get_curr())
        {
            get_curr()->draw();
            traverse();
        }

        ih_update();

        //Cap the frame rate
        if( fps.get_ticks() < 1000 / FRAMES_PER_SECOND )
        {
            SDL_Delay( ( 1000 / FRAMES_PER_SECOND ) - fps.get_ticks() );
        }

    }


    delete player;
    world_finit();
    music_finit();
    ih_cleanup();


    return 0;
}
Пример #8
0
Файл: main.c Проект: hsgg/quark
int
main (int argc, char **argv)
{
#ifdef USE_GCONF
    GConfClient *gconf;
#endif

    char *dir;
    struct sigaction action;
    sigset_t sigset;

    main_status = QUARK_STARTING;

    /* initialize the locale */
    if (!setlocale(LC_ALL, ""))
	g_warning("Couldn't set locale from environment.\n");
    bindtextdomain(PACKAGE_NAME, LOCALEDIR);
    bind_textdomain_codeset(PACKAGE_NAME, "UTF-8");
    textdomain(PACKAGE_NAME);

    /* set up signal handler */
    sigemptyset (&sigset);
    action.sa_handler = signal_handler;
    action.sa_mask = sigset;
    action.sa_flags = SA_NOCLDSTOP;
    sigaction (SIGTERM, &action, (struct sigaction *) NULL);
    sigaction (SIGINT, &action, (struct sigaction *) NULL);
    sigaction (SIGHUP, &action, (struct sigaction *) NULL);

    g_type_init ();
    gnome_vfs_init ();

#ifdef USE_GCONF
    gconf = gconf_client_get_default ();
    gconf_client_add_dir (gconf, QUARK_GCONF_ROOT,
                          GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
    gconf_client_notify_add (gconf, QUARK_GCONF_ROOT, config_changed, NULL,
                             NULL, NULL);
#endif

    /* make the directory we use in ~ */
    dir = g_build_filename (g_get_home_dir(), ".quark", NULL);
    mkdir (dir, S_IRWXU|S_IRWXG|S_IRWXO);
    g_free (dir);

    loop = g_main_loop_new (NULL, FALSE);

    if (!fifo_open ()) {
        g_critical("failed to open fifo");
        return 1;
    }

    music_init ();

    g_static_mutex_lock (&main_mutex);
    playlist_init ();
#ifdef USE_GCONF
    config_load (gconf);
#endif
    main_status = QUARK_RUNNING;
    g_static_mutex_unlock (&main_mutex);

    g_main_loop_run (loop);

    g_static_mutex_lock (&main_mutex);
    main_status = QUARK_EXITING;
#ifdef USE_GCONF
    config_save (gconf);
#endif
    playlist_destroy ();
    g_static_mutex_unlock (&main_mutex);

    music_destroy ();

    fifo_destroy ();
    g_main_loop_unref (loop);
#ifdef USE_GCONF
    g_object_unref (G_OBJECT (gconf));
#endif

    gnome_vfs_shutdown ();

    return 0;
}
Пример #9
0
int main (int argc, char *argv[])
{
    if (sdl_init () != 0)
        return 1;

    if (textures_init ())
        return 1;
    if (audio_init ())
    {
        fprintf (stderr, "Error loading SFX: %s\n", SDL_GetError());
        return 1;
    }
    if (music_init ())
    {
        fprintf (stderr, "Error loading SFX: %s\n", SDL_GetError());
        return 1;
    }

    if (config_load ())
    {
        fprintf (stderr, "Error loading config\n");
    }

    hiscore_init ();
    //gamestate = GAME_DEMO;
    running = 1;
    while (running)
    {
        sdl_read_input ();
        if (!paused)
        {
            SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0);
            if (gamestate != GAME_OVER)
                SDL_RenderClear (renderer);

            switch (gamestate)
            {
                case GAME_DEMO:
                    draw_test ();
                    break;
                case GAME_RUNNING:
                    game_loop ();
                    break;
                case GAME_AMODE:
                default:
                    amode_loop ();
                    break;
                case GAME_OVER:
                    gameover_loop ();
                    break;
                case GAME_HSENTRY:
                    hsentry_loop ();
                    break;
                case GAME_CONFIG:
                case GAME_CONFIG_INPUT:
                    config_loop ();
                    break;
                case GAME_SELECT_RECORD:
                    playback_loop ();
                    break;
            }
        }

        SDL_RenderPresent (renderer);
    }

    hiscore_save ();
    sdl_close ();
    return 0;
}