public boolean saveAsProject(Component parentComponent, NESModelListener listener){
		File selectedFile = FileUtilities.selectFileForSave(parentComponent);
		if(selectedFile == null){
			return false;
		}
		boolean ret = saveProjectToFile(selectedFile);
		projectFileName = selectedFile.getAbsolutePath();

		if(ret) {
			projectFileName = selectedFile.getAbsolutePath();
			EnvironmentUtilities.updateStringEnvSetting(CHR_EDITOR_MODEL_LAST_PROJECT_PROPERTY, projectFileName);
			if(project.getPaletteFileName() != null){
				savePalette(parentComponent);
			}
			if(project.getPatternTableFileName() != null){
				savePatternTables(parentComponent, listener);
			}
			if(project.getNameTableFileName() != null){
				saveNameTable(parentComponent, listener);
			}
			if(project.getAnimationsFileName() != null){
				saveAnimations(parentComponent);
			}
		}
		return ret;
	}