Closed BlayTheNinth closed 9 months ago
@BlayTheNinth Thank you ! Nice work. Of course, no problem to merge it inside the dev-godot-4 branch. I will test it on Linux. No worries if "something" broke ... since this branch is initially not working ;)
@BlayTheNinth I made commits on the master branch (godot-3.5) but also some cherry picking and fixes on the godot-4 branch. I added gdextension files, remove gdnative files. The window reshape was fixed on the master branch. The compilation of the 3d demo shall be fixed as well as the keyboard. Tested on Linux.
This isn't really a full port and I can't dedicate the time to make everything neat, so submitting it as a draft. Feel free to use as a base or build upon this.
The basics of the 2D demo are working in Godot 4.2 (via gdextension below, did not test gdnative). I was able to view the GitHub page, interact with it, and watched YouTube with both Video and Audio. The 3D demo was left untouched for now and I've only tested on Windows.
Changes
GODOT_VERSION
to4.2
GODOT_CPP_TARGET
must now be eithertemplate_release
ortemplate_debug
GODOT_EXECUTABLE
and generation ofextension_api.json
to use the one shipped in the godot-cpp repository instead"use_static_cpp=no"
to godot-cpp build to fix dynamic vs static linking issuesarch_ext = '64'
override on Windows as well since Windows builds now end inx86_64
- maybe this applies to linux too? not sure'TYPED_METHOD_BIND'
to defines to fix compile errors on Windows when returningGDBrowserView*
in the boundcreateBrowser
methodgdextension.cpp
toregister_types.cpp
to match the example on Godot docs and maybe fix a weird conflict error I ran into (but not sure if that did anything to help or it was something else)onPaint
(with color correction taken from eProgD's fork 🙏)GDBrowserView
usingmemnew
as otherwise the engine would consider it just an empty node_process
to now take adouble
fordelta
and remove it frombind_methods
since it's an existing engine methodThe barebones
gdcef.gdextension
I used for testing (obviously not using correct targets) is below. I also had to update the cef artifacts path to use that same bin folder but did not change this in the build script since it seemed more involved.30