Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GDevelop as Engine #54

Closed
wants to merge 2 commits into from
Closed

Conversation

4ian
Copy link

@4ian 4ian commented Aug 11, 2021

SteamDB app page links to a few games using this

https://steamdb.info/app/1307760/
https://steamdb.info/app/1622620/
https://steamdb.info/app/842170/
https://steamdb.info/app/1460910/
https://steamdb.info/app/1342220/

Brief explanation of the change

Hi 馃憢
This adds rules for detecting GDevelop (both for GDevelop 5 and GDevelop 4).

@@ -53,6 +53,8 @@ CryEngine[] = (?:^|/)engine\.pak$
CryEngine[] = \.cry$
Defold = (?:^|/)game\.dmanifest$
FNA = (?:^|/)fna\.dll$
GDevelop[] = (?:^|/)gd\.js$
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This detects /node_modules/moment/locale/gd.js

@xPaw
Copy link
Member

xPaw commented Aug 11, 2021

And some of the games you linked don't have any gd files in it, so that sucks. Any ideas?

@4ian
Copy link
Author

4ian commented Aug 11, 2021

Can you list the games that don't have these files?
GDevelop 4 games will have (lib)GDCpp.so/dll/dylib.
GDevelop 5 games will have gd.js - but I'll try to find another file (I guess we can't have a way to require the presence of multiple files/multiple regexes to pass?).

@xPaw
Copy link
Member

xPaw commented Aug 11, 2021

First two links.

I guess we can't have a way to require the presence of multiple files/multiple regexes to pass?

It is possible by writing custom logic in the php file, but it is preferable to avoid that.

@4ian
Copy link
Author

4ian commented Aug 11, 2021

First two links.

Thanks!
Seems like the first game is using the Electron Asar feature (https://github.com/electron/asar) so files are packaged in a .asar file. Unsure if this can be worked around (this would need the rules to be able to unpack asar files) - this is probably hiding a few other technologies (PixiJS, maybe Construct, other HTML5 game engines) behind Electron container only.

I've not checked the second game but seems it's not on the Steam store anymore (replaced by the author by a not yet released full version, while this was a demo).

It is possible by writing custom logic in the php file, but it is preferable to avoid that.

Fair enough, I can suggest spriteruntimeobject-pixi-renderer.js instead of gd.js then, which should be unique enough (quite specific, using an odd casing that is unlikely to be reproduced manually, and used in all GDevelop 5 games).
Won't help with games using asar achives, but still should not give any false positive.
Let me know what you think!

@xPaw
Copy link
Member

xPaw commented Aug 11, 2021

There are no depots that have a spriteruntimeobject-pixi-renderer.js file in them. If they're all packaged, unfortunately we can't access the files inside the package.

@4ian
Copy link
Author

4ian commented Aug 11, 2021

Thanks for checking, I was assuming Electron would not package files by default - my mistake. Seems like there is no obvious way then to check for the engine. I'll see if we can make this obvious with a specific file in a future version then.

@4ian 4ian closed this Aug 11, 2021
@Bouh Bouh mentioned this pull request Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants