void GameStateConfigBase::logicAccept() {
	if (setMods()) {
		snd->unloadMusic();
		reload_music = true;
		reload_backgrounds = true;
		delete mods;
		mods = new ModManager(NULL);
		loadTilesetSettings();
		PREV_SAVE_SLOT = -1;
	}
	delete msg;
	msg = new MessageEngine();
	inpt->saveKeyBindings();
	inpt->setKeybindNames();
	loadMiscSettings();
	setStatNames();
	refreshFont();
	if ((ENABLE_JOYSTICK) && (inpt->getNumJoysticks() > 0)) {
		inpt->initJoystick();
	}
	cleanup();

	showLoading();
	// need to delete the "Loading..." message here, as we're recreating our render context
	if (loading_tip) {
		delete loading_tip;
		loading_tip = NULL;
	}

	render_device->createContext();
	saveSettings();
	setRequestedGameState(new GameStateTitle());
}
void GameStateConfigBase::logicAccept() {
	delete msg;
	msg = new MessageEngine();
	inpt->saveKeyBindings();
	inpt->setKeybindNames();
	if (setMods()) {
		reload_music = true;
		delete mods;
		mods = new ModManager();
		loadTilesetSettings();
		SharedResources::loadIcons();
		delete curs;
		curs = new CursorManager();
	}
	loadMiscSettings();
	refreshFont();
	if ((ENABLE_JOYSTICK) && (SDL_NumJoysticks() > 0)) {
		SDL_JoystickClose(joy);
		joy = SDL_JoystickOpen(JOYSTICK_DEVICE);
	}
	cleanup();
	render_device->createContext();
	saveSettings();
	delete requestedGameState;
	requestedGameState = new GameStateTitle();
}