void tachyon_video::on_process() { char buf[8192]; flt runtime; scenedef *scene = (scenedef *) global_scene; updating_mode = scene->displaymode == RT_DISPLAY_ENABLED; recycling = false; pausing = false; do { updating = updating_mode; timer start_timer = gettimer(); rt_renderscene(global_scene); timer end_timer = gettimer(); runtime = timertime(start_timer, end_timer); sprintf(buf, "%s: %.3f seconds", global_window_title, runtime); rt_ui_message(MSG_0, buf); title = buf; show_title(); // show time spent for rendering if(!updating) { updating = true; drawing_memory dm = get_drawing_memory(); drawing_area drawing(0, 0, dm.sizex, dm.sizey);// invalidate whole screen } rt_finalize(); title = global_window_title; show_title(); // reset title to default } while(recycling && running); }
static PRESULT preview_mbx_img_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; PMATRIX_BOX pmbx = (PMATRIX_BOX)pObj; UINT16 curpos; switch(event) { case EVN_ITEM_PRE_CHANGE: break; case EVN_ITEM_POST_CHANGE: show_loadinglogo(image_idx_inpage+1); curpos = OSD_GetMtrxboxCurPos(pmbx); show_title(image_multiview_first + curpos); break; case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); mbx_unkown_act_proc(unact); break; default: break; } return ret; }
static void menu_init(struct RupmenuPlane const *localPlane, int num, int top) { emu_gv_place(0, 0); emu_gv_clear(0, 0, 101, 63); show_title(localPlane); show_menu_item(localPlane, num, top); show_yajirusi(num, top); }
void on_radiobutton5_pressed( GtkWidget *widget, struct _properties *properties ) { g_print ("radiobutton5 was pressed\n"); properties->format = CALENDAR_OPTIONS6; if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adjuster"); if( strike_control[properties->strikestoogle].incrementor == 0 ) { gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike"); gtk_widget_show(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.scaleStrikes); } else { gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2"); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_show(properties->GtkInfo.scaleStrikes); } gtk_widget_show(properties->GtkInfo.comboboxStrikes); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes"); gtk_widget_show(properties->GtkInfo.labelStrikes); } else { gtk_widget_hide(properties->GtkInfo.comboboxStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes); gtk_widget_hide(properties->GtkInfo.labelStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes); } gtk_widget_hide(properties->GtkInfo.scaleStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); if( strike_control[properties->strikestoogle].incrementor != 0 ) gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adjuster"); gtk_widget_show(properties->GtkInfo.scaleMonths); gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads); gtk_widget_hide(properties->GtkInfo.labelSpread); gtk_widget_hide(properties->GtkInfo.scaleMonths2); gtk_widget_hide(properties->GtkInfo.scaleStrikes2); setup_tree_view(properties); show_title(properties); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton5),true); }
std::string Tag2Sub30::show(const uint8_t indents, const uint8_t indent_size) const{ unsigned int tab = indents * indent_size; std::stringstream out; out << std::string(tab, ' ') << show_title(); for(uint8_t bit = 0; bit < 8; bit++){ if (flags & (1 << bit)){ out << "\n" << std::string(tab, ' ') << " Flag - " << Features.at(1 << bit) << " (feat " << static_cast <unsigned int> (1 << bit) << ")"; } } return out.str(); }
std::string Tag8::show(const uint8_t indents, const uint8_t indent_size) const{ unsigned int tab = indents * indent_size; std::string data = get_data(); PGPMessage decompressed; decompressed.read_raw(data); // do this in case decompressed data contains headers std::stringstream out; out << std::string(tab, ' ') << show_title() << "\n" << std::string(tab, ' ') << " Compression algorithm: " << Compression_Algorithms.at(comp) << "(compress " << static_cast <unsigned int> (comp) << ")\n" << std::string(tab, ' ') << "Compressed Data:\n" << decompressed.show(indents + 1, indent_size); return out.str(); }
std::string Sub11::show(const std::size_t indents, const std::size_t indent_size) const{ const std::string indent(indents * indent_size, ' '); const std::string tab(indent_size, ' '); std::string out = indent + show_title(); for(char const & c : psa){ const decltype(Sym::NAME)::const_iterator sym_it = Sym::NAME.find(c); out += "\n" + indent + tab + "sym alg - " + ((sym_it == Sym::NAME.end())?"Unknown":(sym_it -> second)) + " (sym " + std::to_string(c) + ")"; } return out; }
static struct panel *get_panel_topleft(void) { struct panel *p = panel_allocate(6); panel_line(p, COLOUR_L_BLUE, "Name", "%s", player->full_name); panel_line(p, COLOUR_L_BLUE, "Race", "%s", player->race->name); panel_line(p, COLOUR_L_BLUE, "Class", "%s", player->class->name); panel_line(p, COLOUR_L_BLUE, "Title", "%s", show_title()); panel_line(p, COLOUR_L_BLUE, "HP", "%d/%d", player->chp, player->mhp); panel_line(p, COLOUR_L_BLUE, "SP", "%d/%d", player->csp, player->msp); return p; }
static struct panel *get_panel_topleft(void) { struct panel *p = panel_allocate(7); panel_line(p, TERM_L_BLUE, "Name", "%s", op_ptr->full_name); panel_line(p, TERM_L_BLUE, "Sex", "%s", p_ptr->sex->title); panel_line(p, TERM_L_BLUE, "Race", "%s", p_ptr->race->name); panel_line(p, TERM_L_BLUE, "Class", "%s", p_ptr->class->name); panel_line(p, TERM_L_BLUE, "Title", "%s", show_title()); panel_line(p, TERM_L_BLUE, "HP", "%d/%d", p_ptr->chp, p_ptr->mhp); panel_line(p, TERM_L_BLUE, "SP", "%d/%d", p_ptr->csp, p_ptr->msp); return p; }
std::string Tag4::show(const std::size_t indents, const std::size_t indent_size) const{ const std::string indent(indents * indent_size, ' '); const std::string tab(indent_size, ' '); const decltype(Signature_Type::NAME)::const_iterator sigtype_it = Signature_Type::NAME.find(type); const decltype(Hash::NAME)::const_iterator hash_it = Hash::NAME.find(hash); const decltype(PKA::NAME)::const_iterator pka_it = PKA::NAME.find(pka); return indent + show_title() + "\n" + indent + tab + "Version: " + std::to_string(version) + "\n" + indent + tab + "Signature Type: " + ((sigtype_it == Signature_Type::NAME.end())?"Unknown":(sigtype_it -> second))+ " (sig " + std::to_string(type) + ")\n" + indent + tab + "Hash Algorithm: " + ((hash_it == Hash::NAME.end())?"Unknown":(hash_it -> second)) + " (hash " + std::to_string(hash) + ")\n" + indent + tab + "Public Key Algorithm: " + ((pka_it == PKA::NAME.end())?"Unknown":(pka_it -> second)) + " (pka " + std::to_string(pka) + ")\n" + indent + tab + "KeyID: " + hexlify(keyid) + "\n" + indent + tab + "Nested: " + std::to_string(nested); }
void on_process() { char buf[128]; flt runtime; timerstart(); rt_renderscene(global_scene); timerstop(); runtime=timertime(); sprintf(buf, "\nCPU Time: %.3f seconds.", runtime); rt_ui_message(MSG_0, buf); buf[0] = ' '; strcat(global_window_title, buf); title = global_window_title; updating = true; show_title(); rt_finalize(); }
static int init_bar(struct bar_data* d) { if (get_winsize(&d->row, &d->col)) return STRM_NG; d->max = 1; d->offset = 0; d->dlen = d->col-6; d->llen = d->row-3; d->data = malloc((d->dlen)*sizeof(double)); for (int i=0;i<d->dlen;i++) { d->data[i] = 0; } show_title(d); return STRM_OK; }
// seg000:0358 void __pascal far start_game() { #ifdef USE_COPYPROT word which_entry; word pos; word entry_used[40]; byte letts_used[26]; #endif screen_updates_suspended = 0; // Prevent filling of stack. // start_game is called from many places to restart the game, for example: // process_key, play_frame, draw_game_frame, play_level, control_kid, end_sequence, expired if (first_start) { first_start = 0; setjmp(/*&*/setjmp_buf); } else { draw_rect(&screen_rect, 0); show_quotes(); clear_screen_and_sounds(); longjmp(/*&*/setjmp_buf,-1); } release_title_images(); // added free_optsnd_chtab(); // added #ifdef USE_COPYPROT copyprot_plac = prandom(13); memset(&entry_used, 0, sizeof(entry_used)); memset(&letts_used, 0, sizeof(letts_used)); for (pos = 0; pos < 14; ++pos) { do { if (pos == copyprot_plac) { which_entry = copyprot_idx = prandom(39); } else { which_entry = prandom(39); } } while (entry_used[which_entry] || letts_used[copyprot_letter[which_entry]-'A']); cplevel_entr[pos] = which_entry; entry_used[which_entry] = 1; letts_used[copyprot_letter[which_entry]-'A'] = 1; } #endif if (start_level == 0) { show_title(); } else { init_game(start_level); } }
void tachyon_video::on_key(int key) { key &= 0xff; recycling = true; if(key == esc_key) running = false; else if(key == ' ') { if(!updating) { updating = true; drawing_memory dm = get_drawing_memory(); drawing_area drawing(0, 0, dm.sizex, dm.sizey);// invalidate whole screen } updating = updating_mode = !updating_mode; } else if(key == 'p') { pausing = !pausing; if(pausing) { title = "Press ESC to exit or 'p' to continue after rendering completion"; show_title(); } } }
void on_checkbuttonDateEngine_toggled(GtkButton *button, struct _properties *properties) { //g_print("on_checkbuttonDateEngine_toggled()\n"); if( properties->GtkInfo.checkbuttonDateEngineIgnore == true ) { g_print("checkbuttonDateEngineIgnored\n"); properties->GtkInfo.checkbuttonDateEngineIgnore = false; return; } if( option_algorithms[properties->modeltype].supportTime2 == 1 ) { return; } if( option_algorithms[properties->modeltype].perpetual ) { return; } if( properties->decimalorcalendar == DECIMALS ) { // switch to calendar dated... //g_print("Calendar Dated\n"); properties->decimalorcalendar = CALENDAR; if( option_algorithms[properties->modeltype].assetClass ) { properties->format = CALENDAR_FUTURE; } else { properties->format = CALENDAR_OPTIONS3; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton1),true); // CALENDAR_OPTIONS3 if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton2),false); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton3),false); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton4),false); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton5),false); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.checkbuttonSpreads),0); gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads); if( option_algorithms[properties->modeltype].supportStrikes && strike_control[properties->strikestoogle].incrementor != 0 ) { gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleStrikes),"Strike Adjuster"); gtk_widget_show(properties->GtkInfo.scaleStrikes); } else { gtk_widget_hide(properties->GtkInfo.scaleStrikes); } gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adjuster"); gtk_widget_show(properties->GtkInfo.scaleMonths); } //properties->format = CALENDAR_OPTIONS4; //properties->format = CALENDAR_OPTIONS5; //properties->format = CALENDAR_OPTIONS6; //properties->format = CALENDAR_CUSTOM; gtk_widget_hide(properties->GtkInfo.checkbuttonRealTime); gtk_widget_hide(properties->GtkInfo.buttonCalendar); gtk_widget_hide(properties->GtkInfo.spinbuttonTime); gtk_widget_hide(properties->GtkInfo.label1); gtk_widget_hide(properties->GtkInfo.labelDaysToExpr); gtk_widget_hide(properties->GtkInfo.spinbuttonDaysToExpr); gtk_widget_hide(properties->GtkInfo.labelTime1); if( !option_algorithms[properties->modeltype].assetClass ) { gtk_widget_show(properties->GtkInfo.labelCycle); gtk_widget_show(properties->GtkInfo.comboboxCycle); gtk_widget_show(properties->GtkInfo.radiobutton1); if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_widget_show(properties->GtkInfo.radiobutton2); gtk_widget_show(properties->GtkInfo.radiobutton3); } gtk_widget_show(properties->GtkInfo.radiobutton4); gtk_widget_show(properties->GtkInfo.radiobutton5); gtk_widget_show(properties->GtkInfo.labelDisplayFormats); } show_label_expirations(properties); gtk_widget_show(properties->GtkInfo.scaleMonths); gtk_widget_show(properties->GtkInfo.buttonProperties); gtk_widget_show(properties->GtkInfo.checkbuttonSpreads); } else { // switch to decimal dated... //g_print("Decimal Dated\n"); properties->decimalorcalendar = DECIMALS; if( option_algorithms[properties->modeltype].assetClass ) { properties->format = DECIMAL_FUTURE; } else { properties->format = DECIMAL_GREEKS; if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_widget_show(properties->GtkInfo.comboboxStrikes); gtk_widget_show(properties->GtkInfo.scaleStrikes); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes"); gtk_widget_show(properties->GtkInfo.labelStrikes); } else { gtk_widget_hide(properties->GtkInfo.comboboxStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes); gtk_widget_hide(properties->GtkInfo.labelStrikes); } } gtk_widget_show(properties->GtkInfo.checkbuttonRealTime); gtk_widget_show(properties->GtkInfo.buttonCalendar); gtk_widget_show(properties->GtkInfo.spinbuttonTime); gtk_widget_show(properties->GtkInfo.label1); gtk_widget_show(properties->GtkInfo.labelDaysToExpr); gtk_widget_show(properties->GtkInfo.spinbuttonDaysToExpr); gtk_widget_show(properties->GtkInfo.labelTime1); gtk_widget_hide(properties->GtkInfo.labelCycle); gtk_widget_hide(properties->GtkInfo.comboboxCycle); gtk_widget_hide(properties->GtkInfo.labelExpirations); gtk_widget_hide(properties->GtkInfo.scaleMonths); gtk_widget_hide(properties->GtkInfo.buttonProperties); gtk_widget_hide(properties->GtkInfo.radiobutton1); gtk_widget_hide(properties->GtkInfo.radiobutton2); gtk_widget_hide(properties->GtkInfo.radiobutton3); gtk_widget_hide(properties->GtkInfo.radiobutton4); gtk_widget_hide(properties->GtkInfo.radiobutton5); gtk_widget_hide(properties->GtkInfo.labelDisplayFormats); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_widget_hide(properties->GtkInfo.checkbuttonSpreads); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.checkbuttonSpreads),0); properties->data.t[0] = gtk_spin_button_get_value(GTK_SPIN_BUTTON(properties->GtkInfo.spinbuttonTime)); if( strike_control[properties->strikestoogle].incrementor == 0 ) { gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike"); gtk_widget_show(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.scaleStrikes); } else { gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2"); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_show(properties->GtkInfo.scaleStrikes); } } setup_tree_view(properties); show_title(properties); } // void on_checkbuttonDateEngine_toggled(GtkButton *button, struct _properties *properties)
void on_radiobutton3_pressed( GtkWidget *widget, struct _properties *properties ) { g_print ("radiobutton3 was pressed\n"); properties->format = CALENDAR_CUSTOM; if( strike_control[properties->strikestoogle].incrementor == 0 ) { properties->strikestoogle = 0; gtk_combo_box_set_active(GTK_COMBO_BOX(properties->GtkInfo.comboboxStrikes), 0); } gtk_widget_hide(properties->GtkInfo.comboboxStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes2); if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); } else { gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); } if( properties->spreads == 1 ) { gtk_widget_show(properties->GtkInfo.scaleMonths2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1"); gtk_button_set_label(GTK_BUTTON(properties->GtkInfo.scaleMonths),"Month Adj Leg1"); gtk_widget_show(properties->GtkInfo.scaleMonths); if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_widget_show(properties->GtkInfo.labelStrikes2); gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); } else { gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); } g_print("Strike Leg1\n"); } else if( properties->spreads == 0 ) { gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strike"); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); g_print("NO Strike Leg1\n"); } if( option_algorithms[properties->modeltype].supportStrikes ) { gtk_widget_show(properties->GtkInfo.labelStrikes); } else { gtk_widget_hide(properties->GtkInfo.labelStrikes); } gtk_widget_show(properties->GtkInfo.checkbuttonSpreads); setup_tree_view(properties); show_title(properties); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton3),true); }
static int get_panel(int oid, data_panel *panel, size_t size) { int ret = (s32b) size; switch(oid) { case 1: { int i = 0; assert( size >= (u32b) boundaries[1].page_rows); ret = boundaries[1].page_rows; P_I(TERM_L_BLUE, "Name", "%y", s2u(op_ptr->full_name), END ); P_I(TERM_L_BLUE, "Sex", "%y", s2u(sp_ptr->title), END ); P_I(TERM_L_BLUE, "Race", "%y", s2u(rp_ptr->name), END ); P_I(TERM_L_BLUE, "Class", "%y", s2u(cp_ptr->name), END ); P_I(TERM_L_BLUE, "Title", "%y", s2u(show_title()), END ); P_I(TERM_L_BLUE, "HP", "%y/%y", i2u(p_ptr->chp), i2u(p_ptr->mhp) ); P_I(TERM_L_BLUE, "SP", "%y/%y", i2u(p_ptr->csp), i2u(p_ptr->msp) ); P_I(TERM_L_BLUE, "Level", "%y", i2u(p_ptr->lev), END ); assert(i == boundaries[1].page_rows); return ret; } case 2: { int i = 0; assert( ret >= boundaries[2].page_rows); ret = boundaries[2].page_rows; P_I(max_color(p_ptr->lev, p_ptr->max_lev), "Level", "%y", i2u(p_ptr->lev), END ); P_I(max_color(p_ptr->exp, p_ptr->max_exp), "Cur Exp", "%y", i2u(p_ptr->exp), END ); P_I(TERM_L_GREEN, "Max Exp", "%y", i2u(p_ptr->max_exp), END ); P_I(TERM_L_GREEN, "Adv Exp", "%y", s2u(show_adv_exp()), END ); P_I(TERM_L_GREEN, "MaxDepth", "%y", s2u(show_depth()), END ); P_I(TERM_L_GREEN, "Game Turns", "%y", i2u(turn), END ); P_I(TERM_L_GREEN, "Standard Turns","%y", i2u(p_ptr->total_energy / 100), END ); P_I(TERM_L_GREEN, "Resting Turns","%y", i2u(p_ptr->resting_turn), END ); P_I(TERM_L_GREEN, "Gold", "%y", i2u(p_ptr->au), END ); assert(i == boundaries[2].page_rows); return ret; } case 3: { int i = 0; assert(ret >= boundaries[3].page_rows); ret = boundaries[3].page_rows; P_I(TERM_L_BLUE, "Armor", "[%y,%+y]", i2u(p_ptr->state.dis_ac), i2u(p_ptr->state.dis_to_a) ); P_I(TERM_L_BLUE, "Fight", "(%+y,%+y)", i2u(p_ptr->state.dis_to_h), i2u(p_ptr->state.dis_to_d) ); P_I(TERM_L_BLUE, "Melee", "%y", s2u(show_melee_weapon(&p_ptr->inventory[INVEN_WIELD])), END ); P_I(TERM_L_BLUE, "Shoot", "%y", s2u(show_missile_weapon(&p_ptr->inventory[INVEN_BOW])), END ); P_I(TERM_L_BLUE, "Blows", "%y.%y/turn", i2u(p_ptr->state.num_blow / 100), i2u((p_ptr->state.num_blow / 10) % 10) ); P_I(TERM_L_BLUE, "Shots", "%y/turn", i2u(p_ptr->state.num_fire), END ); P_I(TERM_L_BLUE, "Infra", "%y ft", i2u(p_ptr->state.see_infra * 10), END ); P_I(TERM_L_BLUE, "Speed", "%y", s2u(show_speed()), END ); P_I(TERM_L_BLUE, "Burden","%.1y lbs", f2u(p_ptr->total_weight/10.0), END ); assert(i == boundaries[3].page_rows); return ret; } case 4: { static struct { const char *name; int skill; int div; } skills[] = { { "Saving Throw", SKILL_SAVE, 6 }, { "Stealth", SKILL_STEALTH, 1 }, { "Fighting", SKILL_TO_HIT_MELEE, 12 }, { "Shooting", SKILL_TO_HIT_BOW, 12 }, { "Disarming", SKILL_DISARM, 8 }, { "Magic Device", SKILL_DEVICE, 6 }, { "Perception", SKILL_SEARCH_FREQUENCY, 6 }, { "Searching", SKILL_SEARCH, 6 } }; int i; assert(N_ELEMENTS(skills) == boundaries[4].page_rows); ret = N_ELEMENTS(skills); if ((u32b) ret > size) ret = size; for (i = 0; i < ret; i++) { s16b skill = p_ptr->state.skills[skills[i].skill]; panel[i].color = TERM_L_BLUE; panel[i].label = skills[i].name; if (skills[i].skill == SKILL_SAVE || skills[i].skill == SKILL_SEARCH) { if (skill < 0) skill = 0; if (skill > 100) skill = 100; panel[i].fmt = "%y%%"; panel[i].value[0] = i2u(skill); panel[i].color = colour_table[skill / 10]; } else if (skills[i].skill == SKILL_DEVICE) { panel[i].fmt = "%y"; panel[i].value[0] = i2u(skill); panel[i].color = colour_table[skill / 13]; } else if (skills[i].skill == SKILL_SEARCH_FREQUENCY) { if (skill <= 0) skill = 1; if (skill >= 50) { panel[i].fmt = "1 in 1"; panel[i].color = colour_table[10]; } else { /* convert to % chance of searching */ skill = 50 - skill; panel[i].fmt = "1 in %y"; panel[i].value[0] = i2u(skill); panel[i].color = colour_table[(100 - skill*2) / 10]; } } else if (skills[i].skill == SKILL_DISARM) { /* assume disarming a dungeon trap */ skill -= 5; if (skill > 100) skill = 100; if (skill < 2) skill = 2; panel[i].fmt = "%y%%"; panel[i].value[0] = i2u(skill); panel[i].color = colour_table[skill / 10]; } else { panel[i].fmt = "%y"; panel[i].value[0] = s2u(likert(skill, skills[i].div, &panel[i].color)); } } return ret; } case 5: { int i = 0; assert(ret >= boundaries[5].page_rows); ret = boundaries[5].page_rows; P_I(TERM_L_BLUE, "Age", "%y", i2u(p_ptr->age), END ); P_I(TERM_L_BLUE, "Height", "%y", i2u(p_ptr->ht), END ); P_I(TERM_L_BLUE, "Weight", "%y", i2u(p_ptr->wt), END ); P_I(TERM_L_BLUE, "Social", "%y", s2u(show_status()), END ); P_I(TERM_L_BLUE, "Maximize", "%y", c2u(OPT(birth_maximize) ? 'Y' : 'N'), END); #if 0 /* Preserve mode deleted */ P_I(TERM_L_BLUE, "Preserve", "%y", c2u(birth_preserve ? 'Y' : 'N'), END); #endif assert(i == boundaries[5].page_rows); return ret; } } /* hopefully not reached */ return 0; }
void on_radiobutton1_pressed( GtkWidget *widget, struct _properties *properties ) { g_print ("radiobutton1 was pressed\n"); properties->format = CALENDAR_OPTIONS3; if( option_algorithms[properties->modeltype].supportStrikes ) { // custom strikes... if( strike_control[properties->strikestoogle].incrementor == 0 && properties->spreads != 1 ) { gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"Strike"); gtk_widget_show(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.scaleStrikes); } // custom strikes with spreads... else if( strike_control[properties->strikestoogle].incrementor == 0 && properties->spreads == 1 ) { gtk_widget_hide(properties->GtkInfo.scaleStrikes); gtk_widget_hide(properties->GtkInfo.scaleStrikes2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"StrikeLeg1"); gtk_widget_show(properties->GtkInfo.labelStrikes); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2"); gtk_widget_show(properties->GtkInfo.labelStrikes2); gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_show(properties->GtkInfo.spinbuttonCustomStrike2); gtk_widget_hide(properties->GtkInfo.comboboxStrikes); } else if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads == 1 ) { gtk_widget_hide(properties->GtkInfo.labelStrikes); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_widget_show(properties->GtkInfo.comboboxStrikes); } else { gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes2),"StrikeLeg2"); gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_show(properties->GtkInfo.scaleStrikes); } if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads != 1 ) { gtk_widget_show(properties->GtkInfo.comboboxStrikes); gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelStrikes),"Strikes"); gtk_widget_show(properties->GtkInfo.labelStrikes); } } else { gtk_widget_hide(properties->GtkInfo.comboboxStrikes); gtk_widget_hide(properties->GtkInfo.labelStrikes); } if( strike_control[properties->strikestoogle].incrementor != 0 && properties->spreads != 1 ) { gtk_widget_hide(properties->GtkInfo.labelStrikes2); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike); gtk_widget_hide(properties->GtkInfo.spinbuttonCustomStrike2); } set_scale_button(properties); gtk_widget_show(properties->GtkInfo.checkbuttonSpreads); setup_tree_view(properties); show_title(properties); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(properties->GtkInfo.radiobutton1),true); }
int main(void) { char result = 'n'; char direction; //入力された移動キーを格納する変数 int key; int xPC = 1, yPC = 0; //プレイヤーの座標(初期位置は (1, 0)) char dungeon[10][10] = {{ 1, 1, 1, 1, 1, 0, 0, 0, 1, 1}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 1, 1, 1, 1, 1, 0, 0, 0, 1, 0}, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, { 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, { 1, 0, 0, 0, 0, 1, 1, 0, 1, 0}, { 1, 0, 1, 1, 1, 1, 1, 0, 1, 0}, { 1, 0, 1, 0, 0, 0, 1, 0, 1, 0}, { 1, 0, 1, 1, 1, 0, 1, 0, 1, 0}, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0}}; int i, j; //ループ制御変数 show_title(); while( (result != 'y') && (result != 'Y') ) { result = make_character(); } system("cls"); //タイトル表示をクリアする /* printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][0], dungeon[1][0], dungeon[2][0], dungeon[3][0], dungeon[4][0], dungeon[5][0], dungeon[6][0], dungeon[7][0], dungeon[8][0], dungeon[9][0]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][1], dungeon[1][1], dungeon[2][1], dungeon[3][1], dungeon[4][1], dungeon[5][1], dungeon[6][1], dungeon[7][1], dungeon[8][1], dungeon[9][1]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][2], dungeon[1][2], dungeon[2][2], dungeon[3][2], dungeon[4][2], dungeon[5][2], dungeon[6][2], dungeon[7][2], dungeon[8][2], dungeon[9][2]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][3], dungeon[1][3], dungeon[2][3], dungeon[3][3], dungeon[4][3], dungeon[5][3], dungeon[6][3], dungeon[7][3], dungeon[8][3], dungeon[9][3]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][4], dungeon[1][4], dungeon[2][4], dungeon[3][4], dungeon[4][4], dungeon[5][4], dungeon[6][4], dungeon[7][4], dungeon[8][4], dungeon[9][4]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][5], dungeon[1][5], dungeon[2][5], dungeon[3][5], dungeon[4][5], dungeon[5][5], dungeon[6][5], dungeon[7][5], dungeon[8][5], dungeon[9][5]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][6], dungeon[1][6], dungeon[2][6], dungeon[3][6], dungeon[4][6], dungeon[5][6], dungeon[6][6], dungeon[7][6], dungeon[8][6], dungeon[9][6]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][7], dungeon[1][7], dungeon[2][7], dungeon[3][7], dungeon[4][7], dungeon[5][7], dungeon[6][7], dungeon[7][7], dungeon[8][7], dungeon[9][7]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][8], dungeon[1][8], dungeon[2][8], dungeon[3][8], dungeon[4][8], dungeon[5][8], dungeon[6][8], dungeon[7][8], dungeon[8][8], dungeon[9][8]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][9], dungeon[1][9], dungeon[2][9], dungeon[3][9], dungeon[4][9], dungeon[5][9], dungeon[6][9], dungeon[7][9], dungeon[8][9], dungeon[9][9]); */ /* for( i = 0; i < 10; i++) { printf("%d", dungeon[i][0]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][1]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][2]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][3]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][4]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][5]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][6]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][7]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][8]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][9]); } printf("\n"); */ /* ダンジョンの描画 */ system("cls"); for( j = 0; j < 10; j++ ){ for( i = 0; i < 10; i++ ){ if( i == xPC && j == yPC ) printf("@"); //全角で else if( dungeon[i][j] == 0 ) printf("+"); else printf("#"); //全角で } printf("\n"); } while( 1 ) { if( kbhit() ){ key = getch(); if(key == 119) yPC--; //w ↑ if(key == 120) yPC++; //x ↓ if(key == 97) xPC--; //a ← if(key == 100) xPC++; //d → /* ダンジョンの描画 */ system("cls"); for( j = 0; j < 10; j++ ){ for( i = 0; i < 10; i++ ){ if( i == xPC && j == yPC ) printf("@"); //全角で else if( dungeon[i][j] == 0 ) printf("+"); else printf("#"); //全角で } printf("\n"); } } } /* show_dungeon(); */ // ダンジョンを表示する }
int main(void) { show_title(); make_character(); }
int main(void) { char result = 'n'; char direction; //入力された移動キーを格納する変数 int key; int i, j; //ループ制御変数 int xPC = 1, yPC = 0, level =0;//プレイヤーの座標(初期位置は (1, 0, level =0)) int xMonster = 9, yMonster = 9, dMonster;//モンスターの座標(初期位置は(9, 9)) srand(time(NULL)); show_title(); while( (result != 'y') && (result != 'Y') ) { result = make_character(); } system("cls"); //タイトル表示をクリアする /* printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][0], dungeon[1][0], dungeon[2][0], dungeon[3][0], dungeon[4][0], dungeon[5][0], dungeon[6][0], dungeon[7][0], dungeon[8][0], dungeon[9][0]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][1], dungeon[1][1], dungeon[2][1], dungeon[3][1], dungeon[4][1], dungeon[5][1], dungeon[6][1], dungeon[7][1], dungeon[8][1], dungeon[9][1]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][2], dungeon[1][2], dungeon[2][2], dungeon[3][2], dungeon[4][2], dungeon[5][2], dungeon[6][2], dungeon[7][2], dungeon[8][2], dungeon[9][2]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][3], dungeon[1][3], dungeon[2][3], dungeon[3][3], dungeon[4][3], dungeon[5][3], dungeon[6][3], dungeon[7][3], dungeon[8][3], dungeon[9][3]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][4], dungeon[1][4], dungeon[2][4], dungeon[3][4], dungeon[4][4], dungeon[5][4], dungeon[6][4], dungeon[7][4], dungeon[8][4], dungeon[9][4]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][5], dungeon[1][5], dungeon[2][5], dungeon[3][5], dungeon[4][5], dungeon[5][5], dungeon[6][5], dungeon[7][5], dungeon[8][5], dungeon[9][5]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][6], dungeon[1][6], dungeon[2][6], dungeon[3][6], dungeon[4][6], dungeon[5][6], dungeon[6][6], dungeon[7][6], dungeon[8][6], dungeon[9][6]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][7], dungeon[1][7], dungeon[2][7], dungeon[3][7], dungeon[4][7], dungeon[5][7], dungeon[6][7], dungeon[7][7], dungeon[8][7], dungeon[9][7]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][8], dungeon[1][8], dungeon[2][8], dungeon[3][8], dungeon[4][8], dungeon[5][8], dungeon[6][8], dungeon[7][8], dungeon[8][8], dungeon[9][8]); printf("%d%d%d%d%d%d%d%d%d%d\n", dungeon[0][9], dungeon[1][9], dungeon[2][9], dungeon[3][9], dungeon[4][9], dungeon[5][9], dungeon[6][9], dungeon[7][9], dungeon[8][9], dungeon[9][9]); */ /* for( i = 0; i < 10; i++) { printf("%d", dungeon[i][0]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][1]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][2]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][3]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][4]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][5]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][6]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][7]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][8]); } printf("\n"); for( i = 0; i < 10; i++) { printf("%d", dungeon[i][9]); } printf("\n"); */ /* ダンジョンの描画 */ system("cls"); show_dungeon(level, xPC, yPC, xMonster, yMonster); while( 1 ) { if( kbhit() ){ key = getch(); if(key == 119) //w ↑ { if( (yPC >= 1) && (dungeon[level][xPC][yPC-1] != 1) ) yPC--; } if(key == 115) //s ↓ { if( (yPC <= Y-2) && (dungeon[level][xPC][yPC+1] != 1) ) yPC++; } if(key == 97) //a ← { if( (xPC >= 1) && (dungeon[level][xPC-1][yPC] != 1) ) xPC--; } if(key == 100) //d → { if( (xPC <= X-2) && (dungeon[level][xPC+1][yPC] != 1) ) xPC++; } /* モンスターのターン */ dMonster = rand()%4; // 移動方向 0:上 1:右 2:下 3:左 switch (dMonster) { case 0: // 上方向に移動 if((yMonster >= 1) && (dungeon[level][xMonster][yMonster-1] != 1)) yMonster--; break; case 2: // 右方向に移動 if((yMonster <= 8) && (dungeon[level][xMonster][yMonster+1] != 1)) yMonster++; break; case 3: // 下方向に移動 if((xMonster >= 1) && (dungeon[level][xMonster-1][yMonster] != 1)) xMonster--; break; case 1: // 左方向に移動 if((xMonster <= 8) && (dungeon[level][xMonster+1][yMonster] != 1)) xMonster++; break; default: printf("変数dMonsterの値が想定外です!:%d",dMonster); break; } if(dungeon[level][xPC][yPC] == 2) { printf("%s「おや、下り階段があるぞ!」\n(キーを押してください)",name); while(1){ if(kbhit() && level < 1){ level ++; break; } } } else if(dungeon[level][xPC][yPC] == 3) { printf("%s「おや、上り階段があるぞ!」\n(キーを押してください)",name); while(1){ if(kbhit()){ level --; break; } } } /* ダンジョンの描画 */ system("cls"); show_dungeon(level, xPC, yPC, xMonster, yMonster); } } /* show_dungeon(); */ // ダンジョンを表示する }
static PRESULT preview_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { char progress_strs[20]; static UINT16 callback_cnt = 0; UINT8 i; UINT16 curpos; FileInfo file_node; char image_name[FULL_PATH_SIZE]; UINT32 file_idx; PRESULT ret = PROC_PASS; switch(event) { case EVN_PRE_OPEN: if(from_imagepreview == TRUE && back_to_filelist == TRUE) { from_imagepreview = FALSE; back_to_filelist = FALSE; return PROC_LEAVE; } api_set_preview_vpo_color(TRUE); preview_init(); //imagedec_ioctl(1,IMAGEDEC_IO_CMD_FILL_LOGO,0x108080); //imagedec_ioctl(1,IMAGEDEC_IO_CMD_FILL_LOGO,0xB9748F);//yvu imagedec_ioctl(1, IMAGEDEC_IO_CMD_FILL_LOGO, 0x356B9D);//yvu image_abort(); preview_image(image_idx_inpage, image_multiview_first + image_idx_inpage); show_title(hl_index); break; case EVN_POST_OPEN: show_loadinglogo(1);//not show first loading icon break; case EVN_PRE_DRAW: break; case EVN_UNKNOWN_ACTION: break; case EVN_PRE_CLOSE: g_from_imagepreview = TRUE; if(image_folderloop_flag == 1)//filelist { curpos = OSD_GetMtrxboxCurPos(&imgpreview_mbx_img); get_file_from_play_list(cur_playlist_image, (image_multiview_first+curpos), &file_node); win_get_fullname(image_name, file_node.path, file_node.name); usblist_set_filelist_param(image_name); } break; case EVN_POST_CLOSE: image_abort(); from_imagepreview = FALSE; vpo_win_onoff((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS, 0), FALSE); vpo_win_onoff((struct vpo_device *)dev_get_by_id(HLD_DEV_TYPE_DIS, 1), FALSE); OSD_ClearObject((POBJECT_HEAD)&imgpreview_title,C_UPDATE_ALL); OSD_ClearObject((POBJECT_HEAD)&imgpreview_mbx_img,C_UPDATE_ALL); break; case EVN_MSG_GOT: if(param1 == CTRL_MSG_SUBTYPE_CMD_STO && param2 == USB_STATUS_OVER) { //storage_dev_mount_hint(1); file_list_check_storage_device(FALSE, FALSE); } //show dec percent else if ((param1 == CTRL_MSG_SUBTYPE_STATUS_JPEG_DEC_PROCESS) || (param1 == CTRL_MSG_SUBTYPE_STATUS_IMAGEOVER)) { // if(CTRL_MSG_SUBTYPE_STATUS_IMAGEOVER == param1) // SDBBP(); if ((param2 < 100) && (param1 == CTRL_MSG_SUBTYPE_STATUS_JPEG_DEC_PROCESS)) { callback_cnt++; sprintf(progress_strs,"%d%%.",param2); for(i = 0;i < (callback_cnt%3);i++) { sprintf(progress_strs,"%s%s",progress_strs,"."); } OSD_SetTextFieldContent(&imgpreview_txt_decode,STRING_ANSI,(UINT32)progress_strs); OSD_DrawObject((POBJECT_HEAD)&imgpreview_txt_decode,C_UPDATE_ALL); } else if((param2 >= 100) || (param1 == CTRL_MSG_SUBTYPE_STATUS_IMAGEOVER)) { OSD_ClearObject((POBJECT_HEAD)&imgpreview_txt_decode,C_UPDATE_ALL); // OSD_ObjClose((POBJECT_HEAD)&imgpreview_txt_decode,C_UPDATE_ALL); } } if(param1 == CTRL_MSG_SUBTYPE_STATUS_IMAGEOVER) { image_abort(); image_idx_inpage++; if(image_idx_inpage < image_cnt_inpage) { preview_image(image_idx_inpage, image_multiview_first + image_idx_inpage); } } else if(param1 == CTRL_MSG_SUBTYPE_STATUS_MP3OVER) { win_play_next_music_ex(); } else if(param1 == CTRL_MSG_SUBTYPE_CMD_UPDATE_VIEW) { } else {} break; default: break; } return ret; }
static void mbx_unkown_act_proc(VACTION act) { POBJECT_HEAD win; PMATRIX_BOX pmbx = &imgpreview_mbx_img; UINT16 curpos; switch(act) { case VACT_CURSOR_PGUP: case VACT_CURSOR_PGDN: if(act == VACT_CURSOR_PGUP) { if(image_multiview_first <=1 ) { break; } else if(image_multiview_first > MULTI_IMG_COUNT) { image_multiview_first -= MULTI_IMG_COUNT; image_cnt_inpage = MULTI_IMG_COUNT; } else { image_multiview_first = 1; image_cnt_inpage = (image_multiview_total<MULTI_IMG_COUNT)?image_multiview_total:(MULTI_IMG_COUNT); } } else //(act == VACT_CURSOR_PGDN) { if(image_multiview_first <= image_multiview_total - MULTI_IMG_COUNT) { image_multiview_first += MULTI_IMG_COUNT; image_cnt_inpage = ((image_multiview_total-image_multiview_first+1) < MULTI_IMG_COUNT)? \ (image_multiview_total-image_multiview_first+1):(MULTI_IMG_COUNT); } else break; } // OSD_ClearObject((POBJECT_HEAD)&g_win_imagepreview,0); OSD_SetMtrxboxCount(pmbx, image_cnt_inpage, MULTI_IMG_COUNT/MULTI_IMG_X_COUNT, MULTI_IMG_X_COUNT); curpos = OSD_GetMtrxboxCurPos(pmbx); if(curpos > image_cnt_inpage-1) { curpos = image_cnt_inpage-1; OSD_SetMtrxboxCurPos(pmbx, curpos); } OSD_TrackObject((POBJECT_HEAD)pmbx,C_DRAW_SIGN_EVN_FLG | C_UPDATE_ALL | C_DRAW_TYPE_HIGHLIGHT); hl_index = image_multiview_first + curpos; show_loadinglogo(1); //imagedec_ioctl(1,IMAGEDEC_IO_CMD_FILL_LOGO,0xB9748F);//yvu imagedec_ioctl(1, IMAGEDEC_IO_CMD_FILL_LOGO, 0x356B9D);//yvu image_abort(); image_idx_inpage = 0; preview_image(image_idx_inpage, image_multiview_first + image_idx_inpage); show_title(hl_index); break; case VACT_ENTER: win = (POBJECT_HEAD)(&g_win_imagepreview); OSD_ObjClose(win,C_CLOSE_CLRBACK_FLG); image_abort(); from_imagepreview = TRUE; curpos = OSD_GetMtrxboxCurPos(pmbx); win_set_image_slide_idx(image_multiview_first+curpos); win = (POBJECT_HEAD)(&g_win_imageslide); if(OSD_ObjOpen(win,(UINT32)(~0)) != PROC_LEAVE) menu_stack_push(win); break; default: break; } }
void show_book(void) { show_title(); show_publisher(); };
int start_game(){ char board[ BOARD_HEIGHT ][ BOARD_WIDTH ]; char mtx_brick[4][4]; int score = 0; int level = 0; int lines = 0; int tmp_lines = 0; char x, y; char brick; char next_brick; int vel = 10; timespec req; req.tv_sec = 0; req.tv_nsec = vel * PULSE; srand( time( 0 ) ); memset( board, 0, BOARD_HEIGHT * BOARD_WIDTH ); next_brick = rand() % 7 + 1; init_screen(); WINDOW* wboard = create_wboard(); WINDOW* wpreview = create_wpreview(); WINDOW* wscore = create_wscore(); show_title(); show_score( wscore, score, level, lines ); wait_start( wboard ); bool play = true; while( play ){ brick = next_brick; next_brick = rand() % 7 + 1; show_preview( wpreview, next_brick ); show_score( wscore, score, level, lines ); show_board( wboard, board ); x = ( ( BOARD_WIDTH / 3 ) % 2 == 0 ) ? BOARD_WIDTH / 3 : BOARD_WIDTH / 3 + 1; y = - 3; get_brick( brick, mtx_brick ); bool move = true; int delay = 0; while( move ){ switch( getch() ){ case KEY_UP: move_brick( wboard, board, mtx_brick, brick, &y, &x, ROTATE_R ); break; case 'z': move_brick( wboard, board, mtx_brick, brick, &y, &x, ROTATE_R ); break; case 'x': move_brick( wboard, board, mtx_brick, brick, &y, &x, ROTATE_L ); break; case KEY_DOWN: move_brick( wboard, board, mtx_brick, brick, &y, &x, DOWN ); break; case KEY_LEFT: move_brick( wboard, board, mtx_brick, brick, &y, &x, LEFT ); break; case KEY_RIGHT: move_brick( wboard, board, mtx_brick, brick, &y, &x, RIGHT ); break; case ' ': move_brick( wboard, board, mtx_brick, brick, &y, &x, BOTTOM ); break; case 27: play = move = false; break; case 'q': play = move = false; break; default: break; } // switch( getch() ) if( ++delay == DELAY_DOWN ){ move_brick( wboard, board, mtx_brick, brick, &y, &x, DOWN ); } if( delay == DELAY_BOTTOM ){ delay = 0; if( check_brick(mtx_brick, board, y + 1, x ) ){ move = false; if( y < 0 ) play = false; } } nanosleep( &req, 0 ); } // while( move ) set_board( board, mtx_brick, brick, y, x ); tmp_lines += check_lines( board, &score, &lines ); if( tmp_lines >= CH_LEV ){ req.tv_nsec = vel * PULSE; score += 1; level++; if( vel > 1 ) vel--; tmp_lines = tmp_lines % CH_LEV; } } // while( quit ) delwin( wboard ); delwin( wpreview ); delwin( wscore ); restore_screen(); return 0; }