montoyo / mcef

Minecraft ChromiumEF (based on JCEF)
Other
191 stars 83 forks source link

[WIP] Upgrade to latest JCEF #31

Closed binary1230 closed 4 years ago

binary1230 commented 6 years ago

WIP, Not ready for merge yet. It does work though, but needs way more testing and a tiny bit of cleanup.

Updated MCEF to work with latest CEF as of 6/12/18: JCEF Version = 3.3396.181 CEF Version = 3.3396.1775 Chromium Version = 67.0.3396.62

Right now this also works out of the box with latest release of unmodified WebDisplays.

Things that have to get fixed before merging this:

This PR will look a little crazy, I recommend you view with whitespace and linebreaks disabled if possible, JCEF changed their style a little and it's making this diff look gigantic. I will annotate with important areas at next opportunity

fixes #31 #30

binary1230 commented 6 years ago

Binary files for Win64/Release from my machine (recommend we probably do a clean compile). Includes jcef.dll with GetWindowHandle() function mocked out like in the instructions.

(old link https://drive.google.com/open?id=1RQ1XdJWc4rtFXp1jUmIRqx5_VGJKuLmu)

note: now obsoleted by https://dev.cerquetti.solutions/jcef/ use this instead

binary1230 commented 6 years ago

I've added a local mirror with the new binaries for new v0.10, if you force the mirror in your config or code to the following: https://dev.cerquetti.solutions/jcef/ it'll work on win64

When releasing this, we should copy those files onto the montoyo mirror

binary1230 commented 6 years ago

I have a self-contained pre-release build available now that should be OK to test for those so inclined: https://github.com/binary1230/mcef/releases/tag/untagged-6fc5f16ebf06ae74f927

(disclaimer: don't use this unless you really know what you're doing, this is not a real release)

Tank-Missile commented 5 years ago

Is this pull request still being worked on? Linux support has been talked about for the last 3 years without any real signs of progress.

Totenfluch commented 5 years ago

@binary1230 have you found any issues that would prevent us from compiling this branch with the newest jcef version and using it ingame?

binary1230 commented 5 years ago

Hey, it's been about 6 months since I looked at this and I have already forgotten everything I knew about JCEF and minecraft modding :)

I think it's still a valid work in progress PR and someone could pick it up using that checklist above (mostly, it just needs to be tested a bunch).

I think I was still seeing a little instability that needs to be worked on (sometimes the display would fail to initialize in game and wasn't sure why). Can't remember if I fixed that.

so for anyone who wants to try and run with this as a release, I'd say, go for it as-is, but just be prepared to test it a lot first. Also pretty sure everything about the shutdown code is janky as hell, though still seemed to work. It would be cool if anyone who is an experienced java/minecraft modder reviewed the build-specific stuff because I'm a little shaky on what files should get distributed or not.

For linux and macosx support, I -think- all that was required was to build the JCEF files that this plugin downloads and stick them on the right folder on the HTTP server URL that MCEF downloads stuff from. But, again haven't tested any of it.

If I resurrect the project I was using this for (I was using a bunch of mods to create a redstone computer in Minecraft which acted as an autopilot to control a rocket in Kerbal Space Program) then I might pick up development again on this branch. Out of free time at the moment : )

binary1230 commented 5 years ago

(someone asked me some questions about this PR which is why I am leaving some notes)

Also, note that there is more recent work in the master branch that should get integrated here.

Also, just wanted to say thanks to @montoyo for this awesome mod, it's really just insane to try and embed chrome in minecraft and pretty amazing that it even works at all :) Rock on sir.

montoyo commented 4 years ago

Closing as CEF has been updated. Thanks again.