gboolean SludgeProjectManager::init(gboolean calledFromConstructor) 
{
	currentFilename[0] = 0;
	sprintf(currentShortname, "%s", getUntitledFilename());

    return FALSE;
}
void SludgeApplication::setFileChanged()
{
	if (!fileChanged) {
		if (currentShortname[0] == 0) {
			sprintf (currentShortname, "%s", getUntitledFilename());
		}
		gtk_window_set_title (GTK_WINDOW(theWindow), joinTwoStrings("*", currentShortname));
		fileChanged = TRUE;
	}
}
void SludgeApplication::on_new()
{
	if (!reallyClose()) return;
	init(FALSE);
	currentFilename[0] = 0;
	sprintf (currentShortname, "%s", getUntitledFilename());
	gtk_window_set_title (GTK_WINDOW(theWindow), getWindowTitle());
	fileChanged = FALSE;

	postNew ();
}
void SludgeProjectManager::postNew()
{
	GtkWidget *dialog;
	GtkFileFilter *filter;
	gboolean success = FALSE;

	dialog = gtk_file_chooser_dialog_new("New SLUDGE Project",
				      NULL,
				      GTK_FILE_CHOOSER_ACTION_SAVE,
				      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
				      GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
				      NULL);
	gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER (dialog), TRUE);

	filter = gtk_file_filter_new();
	gtk_file_filter_set_name(filter, getFilterName());
	gtk_file_filter_add_pattern(filter, getFilterPattern());
	gtk_file_chooser_set_filter(GTK_FILE_CHOOSER (dialog), filter);

	gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER (dialog), getUntitledFilename());

	if (currentFolder[0] != 0)
	{
		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), currentFolder);
	}

	if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
	{
		char *filename;
		filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog));
		flipBackslashes(&filename);

		doNewProject(filename, fileList, &fileListNum);
		listChanged(FILE_TREEVIEW);
		listChanged(RESOURCE_TREEVIEW);
		gtk_list_store_clear(errorsListStore);
		gtk_widget_set_sensitive(projectRunGameItem, FALSE);

		setFilename(filename);
		setFolderFromFilename(filename);

		g_free(filename);
		success = TRUE;
	}
	gtk_widget_destroy(dialog);

	if (success)
		on_project_settings();

	setupButtons();
}
gboolean SludgeZBufferMaker::init(gboolean calledFromConstructor) 
{
	currentFilename[0] = 0;
	sprintf(currentShortname, "%s", getUntitledFilename());

	setBuffer(1);

	if (calledFromConstructor) {
		backdrop.total=0;
		backdrop.type=2;
		backdrop.sprites=NULL;
		backdrop.myPalette.pal=NULL;
		backdrop.myPalette.r=NULL;
		backdrop.myPalette.g=NULL;
		backdrop.myPalette.b=NULL;

		if (!reserveSpritePal(&backdrop.myPalette, 0)) {
			return TRUE;
		}
	}

    return FALSE;
}