rdlester / hermes

A game engine for rapid world prototyping in Processing/Java:
https://rdlester.github.io/hermes/
MIT License
48 stars 4 forks source link

Support for Processing v3. #6

Closed rdlester closed 7 years ago

rdlester commented 9 years ago

The new Processing totally re-did the Java internals and library structure. Hermes needs an update to fix this.

rdlester commented 9 years ago

PostOffice needs to get access to the root canvas (awt) / window (opengl) from the surface, somehow, in order to attach itself as the key / mouse listener, or we need to find another way to intercept these events.

sonicdebris commented 8 years ago

How is the processing 3 support going? Still in the plans?

rdlester commented 8 years ago

I've been low on time, but now that I know that someone else wants P3 v3 support for Hermes, I'll take another look.

Unfortunately, it's not simple; Processing refactored their user input handling, so it's harder for us to inject the Hermes system into the input stack.

kpd73 commented 7 years ago

Hi, I have been using Hermes to teach principles of game design to undergraduate students. Has there been any process on the support for processing 3, or has it been abandoned?

rdlester commented 7 years ago

I made the simplest possible changes to get things working on Processing3, but the system is now very wonky - instead of intercepting the events right on fire before Processing handles them, we're getting events after Processing dispatches them from its internal event queue. This essentially means there's two layers of event queueing happening, one in Processing and one in Hermes. I was reluctant to try this approach out, given that I believe it will reduce performance, but it's really the only way to make Hermes work now. The examples seem to run how I remember them, but I can't make any guarantees about other sketches. As such, I'm pushing these up to the repo so others can get things running, but you'll have to build the library yourself. You can grab the new release from the Github release page.