static void update_icon (GpMenuButtonApplet *menu_button) { GpMenuButtonAppletPrivate *priv; GIcon *icon; gchar *custom_icon; GtkPositionType position; priv = gp_menu_button_applet_get_instance_private (menu_button); icon = NULL; custom_icon = g_settings_get_string (priv->settings, "custom-icon"); if (*custom_icon != '\0') icon = g_themed_icon_new (custom_icon); if (icon == NULL && priv->menu != NULL && priv->custom_menu) icon = gp_menu_get_icon (GP_MENU (priv->menu)); if (icon == NULL) icon = g_themed_icon_new ("start-here"); gtk_image_set_from_gicon (GTK_IMAGE (priv->image), icon, GTK_ICON_SIZE_MENU); g_object_unref (icon); g_free (custom_icon); position = gp_applet_get_position (GP_APPLET (menu_button)); update_arrow (menu_button, position); }
static void gp_menu_button_applet_placement_changed (GpApplet *applet, GtkOrientation orientation, GtkPositionType position) { GpMenuButtonApplet *menu_button; menu_button = GP_MENU_BUTTON_APPLET (applet); update_arrow (menu_button, position); }
//UPDATE PART THAT IS COMMON TO ALL GAMES void game_update(Game* game,int dt){ time_+=dt; camera_update(game->player,dt); fake_walk_update(game,dt); audioplayer_update(game->audio); double amplitude=audioplayer_getAmplitude(game->audio,dt); if(amplitude>game->audio_amplitude) game->audio_amplitude = amplitude; else game->audio_amplitude = game->audio_amplitude*.5 + amplitude*.5; //======================================================= //======================================================= //======================================================= //======================FIRE UPDATE====================== //======================================================= //======================================================= //======================================================= for(int i=0;i<dt;i++){ if(game->trigger_state || game->FIRST_SHOT==1){ //===CAMERA=== game->player->theta+=.001*game->player->dtheta; game->player->mFOV+=-.01*(game->player->mFOV-80); if(game->player->theta>30){ game->player->theta+=-.01*(game->player->theta-29); } else if(game->player->theta<-30){ game->player->theta+=-.01*(game->player->theta+29); }else{ // c->theta+=-.005*(c->theta-0); } //============ if(game->trigger_value==0){ game->FIRST_SHOT=1; } //augmente jusqu'a trigger_value_MAX game->trigger_value+=1./trigger_value_MAX[game->weapon]; if(game->trigger_value>1){ // printf("trigger MAX\n"); game->trigger_value=1; } }else{ //===CAMERA=== game->player->theta+=.001*game->player->dtheta -.01*game->player->theta; game->player->mFOV+=-.01*(game->player->mFOV-100); //============ //diminue jusqu'a 0 //!! VITESSE DIMINUTION PLUS GRANDE game->trigger_value-=1.5/trigger_value_MAX[game->weapon]; if(game->trigger_value<0){ game->trigger_value=0; } } if(game->fire_value>0){ game->fire_value-=1./fire_value_MAX[game->weapon]; if((game->weapon==1 || game->weapon==4 || game->weapon==5) && game->fire_value<=0){ //set trigger to 0 if using bow game->trigger_value=0; } } if(game->fire_state && game->trigger_value==1){ game->FIRST_SHOT=0; if(game->fire_value<=0){ game->fire_value+=1; if(game->weapon==1){ fire_arrow_with_bow(game); }else if(game->weapon==2||game->weapon==3){ // fire_arrow_with_bow(game); fire_arrow_with_sulfateuse(game); }else if(game->weapon==4){ fire_arrow_with_bow(game); fire_arrow_with_bow(game); fire_arrow_with_bow(game); }else if(game->weapon==5){ fire_arrow_with_bow(game); fire_arrow_with_bow(game); fire_arrow_with_bow(game); fire_arrow_with_bow(game); fire_arrow_with_bow(game); } } } //UPDATE ARROWS update_arrow(game); update_mechant(game); update_particles(game); } arrow_collision(game); //======================================================= //======================================================= //======================================================= // if(game->trigger_state==0 && game->trigger_value==game->trigger_value_MAX){ // game->fire(game); // // MAYBE ??? // // game->trigger_value=0; // //TODO : // //TO CHECK // } //INTERRACT_MECHANT_PLAYER update_interraction_mechant_player(game); game->update(game,dt); }