gint main(gint argc, gchar* argv[]) { GtkWidget* login_dialog; const char* user_const; const char* pass_const; gchar username[100]; gchar password[100]; gint result; gnome_program_init("CdDatabase", "0.1", LIBGNOMEUI_MODULE, argc, argv, GNOME_PARAM_APP_DATADIR, "", NULL); GtkWidget* main_window = create_main_window(); gtk_widget_show_all(main_window); /* Must login to database before we start, so create dialog to input username and password */ login_dialog = create_login_dialog(); while (1) { result = gtk_dialog_run(GTK_DIALOG(login_dialog)); /* If we click cancel, then confirm exit */ if (result != GTK_RESPONSE_ACCEPT) { if (confirm_exit()) { return 0; } else { continue; } } /* Retrieve username and password */ user_const = gtk_entry_get_text(GTK_ENTRY(username_entry)); pass_const = gtk_entry_get_text(GTK_ENTRY(password_entry)); strcpy(username, user_const); strcpy(password, pass_const); if (database_start(username, password) == TRUE) { break; } /* If we couldn't logon, then display error message and try again */ GtkWidget* error_dialog = gtk_message_dialog_new(GTK_WINDOW(main_window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Could not log on! - Check Username and Password"); gtk_dialog_run(GTK_DIALOG(error_dialog)); gtk_widget_destroy(error_dialog); } gtk_widget_destroy(login_dialog); gtk_main(); return 0; }
gboolean termit_on_delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) { return confirm_exit(); }
int main() { // Initialize custom GUI stuff init_gui(); // Draw splash thingy //splash(); // Create player object Player player; // Set player's name set_character_name(player); // Set player's main attributes set_main_attributes(player); // Add base stuff to player inventory player.inventory.additem(new BattleAxe(), 1); player.inventory.additem(new Shortsword(), 1); player.inventory.additem(new Mace(), 1); player.inventory.additem(new Fork(), 8); /* BEGIN OLD TESTING STUFF // Display player stats window draw_character_stats(player); getch(); */ //END OLD TESTING STUFF // Load map Map current_map = Map(); load_map(current_map, "testmap"); log.write("Loaded testmap."); // Place Player onto map current_map.place_character(2, 2, player); log.write("Press 'h' for help."); /* Prepare for player input */ keypad(stdscr, true); int input = 0; // Do stuff with player input bool exit = false; while(true) { // Escape: exit game confirmation if(input == 27) { exit = confirm_exit(); } // Arrow keys: move player character if(input == KEY_UP || input == KEY_DOWN || input == KEY_LEFT || input == KEY_RIGHT) { current_map.move_character(player, input); } // I: open inventory if(input == 'i') { player_inventory(player); } // H: print help if(input == 'h') { log.write("Quit game: esc\n Open/close inventory: i\n Move character: arrow keys"); } // Draw the rest of the windows draw_map(current_map); draw_log(log); draw_character_equipslot(player); // Exit if exit flag was set if(exit) break; // Get new input input = getch(); } endwin(); return 0; }
void termit_on_exit() { if (confirm_exit() == FALSE) termit_quit(); }