Gdevelop: Remove old IDE from master branch to have a leaner codebase

Created on 8 Apr 2019  Â·  6Comments  Â·  Source: 4ian/GDevelop

Going forward, the old IDE should remain in a v4 branch, and be removed from master branch.

  • It would still be accessible in the branch in case it's needed or people want to compile it.
  • This will reduce the surface of the codebase.
  • This will allow to remove deprecated classes from the Core (GDCore), like the old expression parser.
  • GDevelop 5 is getting equally good if not better in most/all areas of the old IDE.
  • This will reduce confusion (some people wanting to work on GD started compiling the IDE).

In the same vein, very old extensions that are not supported in GDevelop 5 could be removed, because rewriting them will be better anyway.

Also, GDevelop.js (bindings of the core of GDevelop) should instead be added to the codebase, so that everything is in this repository. This would ease the work on the C++ codebase for people that want to try (rather than having to pull another git repository and follow a separate README).

TODO:

  • [x] Remove IDE
  • [x] Remove dialogs in GDCore, GDCpp, GDJS
  • [x] Remove wxsmith
  • [x] Remove deprecated, unused extensions
  • [x] Update README
  • [x] Remove NO_WX_GUI code
✨ enhancement 💨 Technical debt removal

Most helpful comment

For your interest, this is now done :) Master branch is cleaned and the good side effect is that I've also worked to get automatic builds of libGD.js
Whenever you npm start the IDE, the latest build of libGD.js will be downloaded. This should resolves almost all issues due to outdated build.

(it's still slightly possible that if you pull master just after some commits containing changes in C++, you get an older version of libGD.js. In this case, just relaunching npm start after 20/30 minutes will get you the new version!)

All 6 comments

@Bouh @blurymind @Lizard-13 @Wend1go @zatsme @KinkGD tagging you so you know :)

I think it's a good idea. You might have to update the readme for anyone
interested in the 4 branch. We are still not onpar with it feature wise.
The one most notable feature that 5 misses and 4 has is the tilemap object

On Mon, Apr 8, 2019, 12:40 PM Florian Rival notifications@github.com
wrote:

@Bouh https://github.com/Bouh @blurymind https://github.com/blurymind
@Lizard-13 https://github.com/Lizard-13 @Wend1go
https://github.com/Wend1go @zatsme https://github.com/zatsme @KinkGD
https://github.com/KinkGD tagging you so you know :)

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/4ian/GDevelop/issues/1012#issuecomment-480796642, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGMbVYr0u1mgmuIJVM9ZjsE8pRoM-WIJks5veyq7gaJpZM4chzyr
.

Yeah I'll update the README too. Just want to have a more straightforward codebase. :)

Tilemap is missing, but compared to everything that was done in GD5, it's a matter of time before I or someone else has the time to implement a proper tilemap extension.
Could even be better because in GD5 we should be able to upgrade the scene editor so that we can edit tiles directly on the scene editor - or maybe better again, integrate/link to a third party tool (Tiled or any good editor).

The one most notable feature that 5 misses and 4 has is the tilemap object

  • Joystick extension
  • Dynamic light extension (but was GD4 native platform).

Joystick should be relatively easy to port if someone want to take some time to do it.
Dynamic lights is harder to make it efficiently, but could be done by someone that dig a bit into shaders, like https://github.com/pixijs/pixi-lights

This being said, this is not blocking for cleaning the old IDE codebase :)

For your interest, this is now done :) Master branch is cleaned and the good side effect is that I've also worked to get automatic builds of libGD.js
Whenever you npm start the IDE, the latest build of libGD.js will be downloaded. This should resolves almost all issues due to outdated build.

(it's still slightly possible that if you pull master just after some commits containing changes in C++, you get an older version of libGD.js. In this case, just relaunching npm start after 20/30 minutes will get you the new version!)

Was this page helpful?
0 / 5 - 0 ratings