Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
schwerpunk

SLADE 3 refusing to start [EDIT: found a fix that worked for me]

Recommended Posts

Windows 7 64bit

Heya, was faffing about with custom sprites and Decorate scripts earlier, and all was well, but now SLADE 3 won't even show me a splash screen before giving me the error "*** Caught unhandled unknown exception; terminating."

Error log just shows this:

17:17:26: SLADE - It's a Doom Editor
17:17:26: Version 3.1.0 beta 2
17:17:26: Written by Simon Judd, 2008-2014
17:17:26: Compiled with wxWidgets 3.0.0 and SFML 2.0
17:17:26: --------------------------------
17:17:26: Loading configuration
I've tried reinstalling; tried uninstalling then installing; tried redownloading the Microsoft Visual C++ 2010 Redistributable Package; tried launching as an administrator; rebooted several times, and applied the above to both the SVN and beta builds.

I'm just stumped!

EDIT: Well, I feel dumb. After installing, in a separate folder, SLADE v3.0.2, it launches just fine. What's even weirder is that the Dev & Beta builds now work as well!!! Although it gives me the 'first time startup' message (not that I'm complaining). So yeah, delete this thread if you like, but I'd still like to know what exactly got into my computer. :P

Share this post


Link to post
schwerpunk said:

After installing, in a separate folder, SLADE v3.0.2...


And I suppose that when it worked, you did NOT place it in the usual "Program Files (x86)" folder (does SLADE even have an installer or just a zip with the program's files?), and/or gave it full administrative/access privileges.

Simply put, SLADE does not adhere to the Holy UAC's (User Access Control) design standards used since Windows Vista/7/8, which state that every program should only write in a specific folder in the user's docs, and NEVER to its folder in Program Files (x86). Software like XWE, SLADE etc. blissfully ignore this, being written without Windows Vista's/7's/8's strict requirements in mind, and just write config files to their working directory. Of course this might cause some problems...like not being able to read/write config files.

Share this post


Link to post
Maes said:

Simply put, SLADE does not adhere to the Holy UAC's (User Access Control) design standards

It actually does. If you have installed SLADE 3 on a Win box, go to %APPDATA%\SLADE3 and be amazed.

Unless, of course, you are using a portable install of SLADE 3. It uses a rather unusual system to determine whether the install is portable or not: it looks for the presence of a file named portable (without extension) in the same folder as the executable.

/* MainApp::initDirectories
 * Checks for and creates necessary application directories. Returns
 * true if all directories existed and were created successfully if
 * needed, false otherwise
 *******************************************************************/
bool MainApp::initDirectories()
{
	// Setup separator character
#ifdef WIN32
	string sep = "\";
#else
	string sep = "/";
#endif

	// Setup app dir
	dir_app = wxFileName(
		wxStandardPaths::Get().GetExecutablePath()).GetPath();

	// Check for portable install
	if (wxFileExists(appPath("portable", DIR_APP)))
	{
		// Setup portable user/data dirs
		dir_data = dir_app;
		dir_user = dir_app + sep + "config";
	}
	else
	{
		// Setup standard user/data dirs
		dir_user = wxStandardPaths::Get().GetUserDataDir();
		dir_data = wxStandardPaths::Get().GetDataDir();
	}

	// Create user dir if necessary
	if (!wxDirExists(dir_user))
	{
		if (!wxMkdir(dir_user))
		{
			wxMessageBox(S_FMT(
			"Unable to create user directory "%s"", dir_user),
			"Error", wxICON_ERROR);
			return false;
		}
	}

	// Check data dir
	if (!wxDirExists(dir_data))
		dir_data = dir_app;	// Use app dir if data dir doesn't exist

	return true;
}
Now, there is a problem that I found and addressed recently that can cause problems depending on the directory: if you install SLADE 3 (official release) in the same directory as SLumpEd or a severely outdated dev build, it might try to load resources from the res folder, assuming them to exist, while they do not.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×