Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

GMEdit

A high-end code editor for all things GameMaker · By YellowAfterlife

GMEdit wouldn't load properly after redownload(s).

A topic by Knight created Nov 10, 2020 Views: 351 Replies: 8
Viewing posts 1 to 2

Tried to redownload the editor to try and update it, and while it probably wasn't very wise since you seem to have given that option in the download page, it didn't seem to be too much bother if I did. However now everytime I open it, it keeps saying it's "Starting Up" and showing a white area that I can type in and yet it's completely stuck. It also wouldn't close correctly, I couldn't just click the X on the window itself or even minimize it, the only way to close it is by hovering my mouse on it in the task bar and clicking the X there.

Worst of all now everytime I try to download it once again (three four times now I think) I still experience the same problems, I even tried updating my graphics drivers and still nothing. If it's due to an update that's understandable I suppose, if not though then how can I fix it? Maybe it's something to do with Electron but I don't know. :/

Proof:




Developer

Try pressing Ctrl+Shift+I.

Or, if that doesn’t work, open resources/app/main.js and uncomment the line that says

//mainWindow.webContents.openDevTools()

then you’ll be able to see what’s the trouble in Console tab.

I think I got the error thing in the console, does this mean anything to you? Maybe a bug?

Uncaught SyntaxError: Unexpected token p in JSON at position 0
    at JSON.parse (<anonymous>)
    at new gml_GmlVersion (app.js:6015)
    at procDir (app.js:6039)
    at Function.gml_GmlVersion.init (app.js:6042)
    at Function.Main.main (app.js:366)
    at app.js:31190
    at app.js:31191

Developer

That suggests that you have a malformed custom language file. If you switch to Sources tab and tick “pause on exceptions” (⏸ button on the right), you’d be able to mouseover arguments and see which one it is.

So I went to the sources tab to do what you said and had it watch through, and I get the what I assume is on of the variables being "self". And hovering over or around it shows me different other functions of sorts, I'm not entirely sure what I should be looking for or if this "self" is the answer (Or if I'm doing this right). By malformed custom language do you mean a different set of dialects? (Like the Rivals of Aether dialect/api since I did get that at one point and added it in the api files, which isn't there now considering the redownloads) Or do you mean mistypings/grammatical errors or maybe that athis self thing is the one affecting the functions in some strange way.



I should also mention that when I clicked the error links to take me to where it seems to be having trouble and it tells me it's within the app.js file, which has the mention of self on one or two of them. so maybe that is where it's being stopped at? If you'd like I can give you screenshots of highlighted pieces of code on where it says the errors may be.
Developer

You would want to click on the nearest snippet in the code, so “app.js:6015” (new gml_GmlVersion), or click on the function in Call Stack (if you have used GMS1/GMS2 debugger in past, this is about the same).

And yes to dialect; since they are extracted to AppData, it’s probably still there if you haven’t manually removed GMEdit directory after deleting the app’s folder.

(1 edit)

I think this is right? Clicking the top snippet sent me to the code that I've highlighted here. within the if statement for dir.

var gml_GmlVersion = function(name,dir,isCustom) {
    this.isReady = false;
    this.name = name;
    this.dir = dir;
    this.isCustom = isCustom;
    if(dir == "api/none") {
        this.config = gml_GmlVersionConfigDefaults.get(true);
    } else if(Electron_API != null) {
        this.config = JSON.parse(Electron_FS.readFileSync(dir + "/config.json","utf8")); <--- Here
    } else {
        this.config = gml_GmlVersionConfigDefaults.get(name == "v2");
    }
};

Also I did try checking for if there was anything wrong within AppData to try and remove, but I either couldn't find it or that it's within a more complicated file I'm not aware of. In which case which folder would I find the outdated/malformed dialect in AppData? The only thing I can probably think of is that the RoA api I mentioned earlier being somewhere in my steam folders or something might be adding to the issue but I'm not sure if that's really relevant or not, unless it automatically tracks for dialect's or api's from previous versions maybe.

Developer

I have added additional error checking to the new beta release, which will inform you of mismatched dialect and offer to disable it.

Thank you very much!

I had actually stopped using it since it hadn't entirely kicked in at the time so it didn't show me the problem, until now when I tried reinstalling it once more. And now it had shown me the problem! :D

Turns out I apparantly had the smart idea at the time to test making my own dialect for it despite not knowing how to do so and without adding a whole lot other then reference code from the roa dialect from earlier, knowing this now makes me feel very stupid. Still at least this will help others with more serious error issues, which I respect very much.

Sorry also that I hadn't given thanks a lot earlier, keep up the great work all the same!