Curve_set( int aType, QPen aPen, QBrush aBrush ) : mPen (aPen) , mBrush(aBrush) { reset_type(aType); }
void symbol_setup_type(Type* type) { reset_type(type); set_string(&type->name, "Symbol"); type->storageType = sym_StorageTypeInt; type->toString = symbol_to_string; type->formatSource = format_source; type->hashFunc = hash_func; }
void setup_type(Type* type) { reset_type(type); type->name = name_from_string("int"); type->storageType = STORAGE_TYPE_INT; type->reset = reset; type->equals = equals; type->hashFunc = hashFunc; type->toString = to_string; type->formatSource = format_source; }
void string_setup_type(Type* type) { reset_type(type); set_string(&type->name, "String"); type->storageType = sym_StorageTypeString; type->initialize = string_initialize; type->release = string_release; type->copy = string_copy; type->equals = string_equals; type->hashFunc = string_hash; type->toString = string_to_string; type->formatSource = string_format_source; }
struct optionsinfo goto_stats_menu(BITMAP *scrbuffer, DATAFILE *main_data, DATAFILE *plane_data, struct optionsinfo options, struct menuinfo stats_menu) { // function controls the stats options menu and optionally writes options to a file FILE *cfgfile; char count; float increment; char option_str[128] = ""; stats_menu.highlight = 0; // reset the selection stats_menu.selection = -1; do { // add or minus a set amount depending on which button was pressed increment = 0.05; if (stats_menu.selectupdn == -1) increment *= -1; switch (stats_menu.selection) { case 1 : stats_menu.optionval[1] += increment; break; // turn case 2 : stats_menu.optionval[2] += increment; break; // acceleration }; // add or minus a set amount depending on which button was pressed increment = 1; if (stats_menu.selectupdn == -1) increment *= -1; switch (stats_menu.selection) { case 0 : stats_menu.optionval[0] += increment; break; // plane case 3 : stats_menu.optionval[3] += increment; break; // min speed case 4 : stats_menu.optionval[4] += increment; break; // max speed case 5 : stats_menu.optionval[5] += increment; break; // num of shots case 6 : stats_menu.optionval[6] += increment; break; // shot life case 7 : stats_menu.optionval[7] += increment; break; // shot lag case 8 : stats_menu.optionval[8] += increment; break; // shot base speed case 9 : stats_menu.optionval[9] += increment; break; // laser len case 10: stats_menu = reset_type(cfgfile, stats_menu, stats_menu.optionval[0]); break; }; // make sure options are within boundaries (boundaries will be different for // each option) // vehicle if (stats_menu.optionval[0] > NUM_OF_VEHICLES-1) stats_menu.optionval[0] = 0; if (stats_menu.optionval[0] < 0) stats_menu.optionval[0] = NUM_OF_VEHICLES-1; // turn if (stats_menu.optionval[1] > 3.10) stats_menu.optionval[1] = 0; if (stats_menu.optionval[1] < 0) stats_menu.optionval[1] = 3.10; // acceleration if (stats_menu.optionval[2] > stats_menu.optionval[4]) stats_menu.optionval[2] = 0.05; if (stats_menu.optionval[2] < 0) stats_menu.optionval[2] = stats_menu.optionval[4]; // min speed if (stats_menu.optionval[3] > stats_menu.optionval[4]) stats_menu.optionval[3] = -1*stats_menu.optionval[4]; if (stats_menu.optionval[3] < -1*stats_menu.optionval[4]) stats_menu.optionval[3] = stats_menu.optionval[4]; // max speed if (stats_menu.optionval[4] > 127) stats_menu.optionval[4] = 0; if (stats_menu.optionval[4] < 0) stats_menu.optionval[4] = 127; // num of shots if (stats_menu.optionval[5] > 255) stats_menu.optionval[5] = 1; if (stats_menu.optionval[5] < 1) stats_menu.optionval[5] = 255; // shot life if (stats_menu.optionval[6] > 255) stats_menu.optionval[6] = 5; if (stats_menu.optionval[6] < 0) stats_menu.optionval[6] = 255; // shot lag if (stats_menu.optionval[7] > 255) stats_menu.optionval[7] = 0; if (stats_menu.optionval[7] < 0) stats_menu.optionval[7] = 255; // shot base speed if (stats_menu.optionval[8] > 255) stats_menu.optionval[8] = 0; if (stats_menu.optionval[8] < 0) stats_menu.optionval[8] = 255; // laser len if (stats_menu.optionval[9] > 255) stats_menu.optionval[9] = 0; if (stats_menu.optionval[9] < 0) stats_menu.optionval[9] = 255; // draw the options menu draw_menu(scrbuffer, main_data, stats_menu, stats_menu.row, stats_menu.col); textout_centre_ex(scrbuffer, main_data[FONTLARGE].dat, "Player Statistics", SCREEN_W/2, TITLE_ROW*8, GREY+15, -1); // draw the current data next to each option draw_sprite(scrbuffer, plane_data[((int)stats_menu.optionval[0])].dat, stats_menu.col+18*8, stats_menu.row-2); for (count = 1; count <= 9; count++) { sprintf(stats_menu.optionval_str[count], "%2.2f", stats_menu.optionval[count]); textout_ex(scrbuffer, font, stats_menu.optionval_str[count], stats_menu.col+18*8, stats_menu.row+count*16, YELLOW+15, -1); } blit(scrbuffer, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); // reset the selection stats_menu.selection = -1; // allow the user to make another selection stats_menu = move_menu_cursor(stats_menu); } while (stats_menu.selection != stats_menu.num_of_options-1); // copy the values back into the options structure options.vehicle = stats_menu.optionval[0]; options.turn_speed = stats_menu.optionval[1]; options.acceleration = stats_menu.optionval[2]; options.min_speed = stats_menu.optionval[3]; options.max_speed = stats_menu.optionval[4]; options.num_of_shots = stats_menu.optionval[5]; options.shot_life = stats_menu.optionval[6]; options.shot_lag = stats_menu.optionval[7]; options.shot_base_speed = stats_menu.optionval[8]; options.laser_length = stats_menu.optionval[9]; return(options); }
void setup_type(Type* type) { reset_type(type); type->staticTypeQuery = staticTypeQuery; type->cast = cast; }