void table_main(int ac, char **av) { if (!strncmp(*av, "append", strlen(*av))) { table_append(ac, av); } else if (!strncmp(*av, "remove", strlen(*av))) { table_remove(ac, av); } else if (!strncmp(*av, "flush", strlen(*av))) { table_flush(ac, av); } else if (!strncmp(*av, "list", strlen(*av))) { table_list(ac, av); } else if (!strncmp(*av, "show", strlen(*av))) { table_show(ac, av); } else if (!strncmp(*av, "type", strlen(*av))) { table_create(ac, av); } else if (!strncmp(*av, "delete", strlen(*av))) { table_delete(ac, av); } else if (!strncmp(*av, "test", strlen(*av))) { table_test(ac,av); } else if (!strncmp(*av, "name", strlen(*av))) { table_rename(ac, av); } else { errx(EX_USAGE, "bad ipfw table command `%s'", *av); } }
void table_insert(table *arr, int index, const void *val) { if (arr->m_len == arr->m_cap) { int newcap; if (arr->m_cap == 0) { newcap = 8; } else { newcap = arr->m_cap * 2; } arr->m_data = realloc(arr->m_data, arr->m_elemSize * newcap); if (! arr->m_data) { debug_print("Not enough memory to append.\r\n"); sys_abort(); } memset(((unsigned char*)arr->m_data) + arr->m_cap*arr->m_elemSize, 0, newcap - arr->m_cap); arr->m_cap = newcap; } if (index == arr->m_len) { table_append(arr, val); return; } unsigned char *arrbytes = (unsigned char*) arr->m_data; unsigned char *target = arrbytes + arr->m_elemSize * index; unsigned char *next = target + arr->m_elemSize; memmove(next, target, (arr->m_len - index) * arr->m_elemSize); memmove(target, val, arr->m_elemSize); }
void map_editor_push(state_stack* stack, void *udata) { (void) udata; state_desc editor = { GAME_MAP_EDITOR, nullptr, nullptr, nullptr, &map_editor_input, nullptr, &map_editor_render, &map_editor_destroy, nullptr, nullptr, false, }; map_editor *mapEditor = (map_editor*) malloc(sizeof(map_editor)); map_init(); mapEditor->m_bDragMap = false; mapEditor->m_iActiveTile = 2; mapEditor->m_iMapEditorState = MAPEDITOR_EDIT; mapEditor->m_cMapWalk = WALK_NONE; mapEditor->m_bGrid = false; for (int i = 0; i < IN_MAX; i++) { if (g_keybinds[i].m_type == IN_NONE) { break; } mapEditor->m_savedKeybinds[i] = g_keybinds[i]; } input_load_defaults(); // TODO: Stuff the map into the map editor properly. editor.m_pData = mapEditor; table_append(stack, &editor); }
void settings_menu_push(state_stack* stack, void* udata) { (void) udata; state_desc mm = { GAME_SETTINGS_MENU, nullptr, nullptr, nullptr, &_event, nullptr, &_draw, &_destroy, nullptr, nullptr, false, }; _settings_menu *data = (_settings_menu*) malloc(sizeof(_settings_menu)); menu *pMenu = menu_init(100, 50); menu_add_entry(pMenu, "Controls"); menu_add_entry(pMenu, ""); menu_add_entry(pMenu, STR_ARROWBIG_LEFT " Save Settings"); menu_add_entry(pMenu, STR_ARROWBIG_LEFT " Discard Changes"); menu_auto_resize(pMenu); data->m_menu = pMenu; data->m_settings = settings_init(); input_config_settings(data->m_settings, g_keybinds); screen_config_settings(data->m_settings, nullptr); settings_load(data->m_settings, settings_file_path); mm.m_pData = data; table_append(stack, &mm); }
void menu_add_entry(menu *pMenu, const char *fmt, ...) { char* cText = (char*) malloc(512); if (! cText) { debug_print("Out of memory.\n"); sys_abort(); } va_list vArgs; va_start(vArgs, fmt); vsnprintf(cText, 512, fmt, vArgs); va_end(vArgs); table_append(pMenu->m_aEntries, &cText); cText = nullptr; table_append(pMenu->m_aValues, &cText); Uint32 textcol = COLOR_MENU_TEXT; table_append(pMenu->m_aColors, &textcol); }
/* * col_insert -- * Insert an element in a column-store file. */ static int col_insert(TINFO *tinfo, WT_CURSOR *cursor, WT_ITEM *key, WT_ITEM *value, uint64_t *keynop) { WT_SESSION *session; uint64_t keyno; int ret; session = cursor->session; val_gen(&tinfo->rnd, (uint8_t *)value->data, &value->size, g.rows + 1); if (g.type == FIX) cursor->set_value(cursor, *(uint8_t *)value->data); else cursor->set_value(cursor, value); if ((ret = cursor->insert(cursor)) != 0) { if (ret == WT_ROLLBACK) return (WT_ROLLBACK); die(ret, "cursor.insert"); } if ((ret = cursor->get_key(cursor, &keyno)) != 0) die(ret, "cursor.get_key"); *keynop = (uint32_t)keyno; table_append(keyno); /* Extend the object. */ if (g.logging == LOG_OPS) { if (g.type == FIX) (void)g.wt_api->msg_printf(g.wt_api, session, "%-10s%" PRIu64 " {0x%02" PRIx8 "}", "insert", keyno, ((uint8_t *)value->data)[0]); else (void)g.wt_api->msg_printf(g.wt_api, session, "%-10s%" PRIu64 " {%.*s}", "insert", keyno, (int)value->size, (char *)value->data); } #ifdef HAVE_BERKELEY_DB if (!SINGLETHREADED) return (0); { int notfound; key_gen((uint8_t *)key->data, &key->size, keyno); bdb_update(key->data, key->size, value->data, value->size, ¬found); } #else (void)key; /* [-Wunused-variable] */ #endif return (0); }
void _controls_push(state_stack* stack, void* udata) { (void) udata; state_desc mm = { GAME_SETTINGS_CONTROLS, nullptr, nullptr, nullptr, &_event_controls, nullptr, &_draw_controls, &_destroy_controls, nullptr, nullptr, false, }; _controls_menu *data = (_controls_menu*) malloc(sizeof(_controls_menu)); data->m_iWhichBinding = -1; menu *pCmdMenu = menu_init(200, 50); menu_add_entry(pCmdMenu, "Set Controls"); menu_add_entry(pCmdMenu, "Restore Defaults"); menu_add_entry(pCmdMenu, STR_ARROWBIG_LEFT " Back"); menu_auto_resize(pCmdMenu); data->m_cmdMenu = pCmdMenu; menu *pBindMenu = menu_init(0, 0); pBindMenu->m_iCursorPos = -1; menu_add_entry(pBindMenu, STR_ARROW_UP " "); menu_add_entry(pBindMenu, STR_ARROW_DOWN " "); menu_add_entry(pBindMenu, STR_ARROW_LEFT " "); menu_add_entry(pBindMenu, STR_ARROW_RIGHT " "); menu_add_entry(pBindMenu, "OK "); menu_auto_resize(pBindMenu); data->m_bindingsMenu = pBindMenu; pCmdMenu->m_iHeight = pBindMenu->m_iHeight; pBindMenu->m_iWidth *= 8; pBindMenu->m_iX = pCmdMenu->m_iX + pCmdMenu->m_iWidth + 6; pBindMenu->m_iY = pCmdMenu->m_iY; data->m_aControls[0] = _find_control_bind(IN_DIRUP); data->m_aControls[1] = _find_control_bind(IN_DIRDOWN); data->m_aControls[2] = _find_control_bind(IN_DIRLEFT); data->m_aControls[3] = _find_control_bind(IN_DIRRIGHT); data->m_aControls[4] = _find_control_bind(IN_OK); _update_bind_desc(data); data->m_capturingBindings = false; data->m_iJoyAxes = input_joystick_num_axes(); data->m_bIgnoreAxes = (bool*) calloc(data->m_iJoyAxes, sizeof(bool)); mm.m_pData = data; table_append(stack, &mm); }
void add_color_alpha_value(gchar * caption, gchar * basekey, gchar * sect, gboolean active) { GtkWidget * w; gchar * colorkey; gchar * alphakey; colorkey = g_strdup_printf(active?"active_%s":"inactive_%s",basekey); alphakey = g_strdup_printf(active?"active_%s_alpha":"inactive_%s_alpha", basekey); w = gtk_label_new(caption); table_append(w,FALSE); w = gtk_color_button_new(); table_append(w,FALSE); register_setting(w,ST_COLOR,sect,colorkey); w = scaler_new(0.0,1.0,0.01); table_append(w,TRUE); register_setting(w,ST_FLOAT,sect,alphakey); //we don't g_free because they are registered with register_setting }
void _talk_push(state_stack *stack, void* udata) { state_desc talks = { GAME_DIALOG, nullptr, nullptr, nullptr, &_event, nullptr, &_draw, &_destroy, nullptr, nullptr, false, }; _talk_state *st = (_talk_state*) malloc(sizeof(_talk_state)); st->m_sNPCText = strdup(""); st->m_pChoices = menu_init(100, 200); st->m_iState = _STARTED; st->m_pThread = (lua_State*) udata; talks.m_pData = (void*) st; table_append(stack, &talks); }
void make_labels(gchar * header) { table_append(gtk_label_new(header),FALSE); table_append(gtk_label_new("Color"),FALSE); table_append(gtk_label_new("Opacity"),FALSE); }