The Contribution Mega-Thread

Since a recent discussion showed that some fellow monkeys would like to contribute to this project, but don’t know where to start in the forest of issues/pr’s.
That’s why here everyone (mostly devs from the team) can post issues which require some sort of attention.

Note that the interaction still should take place on github for those and specifically I don’t want this thread to contain any posts commenting on issues. Every post should be an issue.

8 Likes

Starting with Keyboard Mapping inconsistency between lwjgl2 and 3 · Issue #942 · jMonkeyEngine/jmonkeyengine · GitHub
What action is required? Running the test case on NON-QWERTY Keyboards with both lwjgl2 and 3 (code is provided, you only need to run the gradle build) and pressing the “z”/“y” key.

3 Likes

Good one, @DarkChaos. That one’s high on my list as well.

Here’s another:

This currently needs investigation to help characterize the issue. Does it happen on all platforms? Is it only for certain graphics adapters or drivers?

4 Likes

Mmmm… this thread is a good idea.

When we moved to github originally, I was promised by everyone who dragged me kicking and screaming that discussions like this would happen here. But they never really did and then those folks left the project. :smiley:

6 Likes

https://github.com/jMonkeyEngine/jmonkeyengine/pull/1049
Feel free to check this PR out (especially the Test where you can fire balls) and maybe also if it breaks your use-cases.

I had the issue sometimes that picking on a mountain in rare cases only led to a collision with the backside of the mountain. Can someone confirm if that was the case before that? Or did I break something?

Edit: Regression has been fixed, feel free to check the PR out and see if you find something that breaks. If you report it, please include the ray (origin and direction) and also make sure that you’ve commented out setLocalScale(2, 2, 2) in TerrainTestCollision, because otherwise I can’t reproduce the values.

1 Like

Here’s a very easy one, a 2-liner, in case someone wants practice creating pull requests:
TestDepthStencil has standard-output messages reversed · Issue #1046 · jMonkeyEngine/jmonkeyengine · GitHub

Issues like this are labelled with the “Easy first fix” label so people can find them by searching:
Issues · jMonkeyEngine/jmonkeyengine · GitHub

1 Like

Thank you for posting it. I’ve made a pull request. I’ll also take a look at the second one.

2 Likes

Hi,

I recently stumbled upon this issue an created a PR for it:
https://github.com/jMonkeyEngine/jmonkeyengine/pull/1066

4 Likes

Here’s another easy first fix:
AnimComposer.getAnimClips() and .getAnimClipsNames() should return sets, not collections · Issue #1070 · jMonkeyEngine/jmonkeyengine · GitHub

2 Likes

Is there a 1070Ti as well? :stuck_out_tongue:

If someone is running OS X and wants to help out, we are looking for testers for this PR:
https://github.com/jMonkeyEngine/jmonkeyengine/pull/1048

2 Likes

Another easy one:
Renderer interface lacks getters for many properties · Issue #1074 · jMonkeyEngine/jmonkeyengine · GitHub

2 Likes

While we’re looking at runtime access to interfaces, may I draw attention to AudioSource only having getters and no setters? I don’t know the decision process behind what interfaces have what access, but I feel this one is along the same lines as Renderer. Not having them defined really makes it difficult to make your own AudioSource while still maintaining compatibility with audio nodes if you still wish to use them on occasion.

1 Like

AudioSource is an “engine facing” interface. It’s not really a user-facing interface… that’s why the only setters are for internal use only.

Why would you need to make your own AudoSource that is API-compatible with AudioNode? In what cases, from the user perspective, are these two things interchangeable.

Since audio node is basically just a container for AudioSource, most of the methods make sense across implementations, for example I was making some tweens for playing the menu music with my own AudioSource, I was hoping to use the same tweens to adjust audio on nodes if applicable. It just seemed odd that you are completely unable to do simple audio adjustments (volume, pitch) to what basically acts as a data container.

Other than removing a few unneeded things… what is your custom AudioSource providing that AudioNode does not?

Please note:

1 Like

Another easy one:

At this moment there are 145 open issues at GitHub: Issues · jMonkeyEngine/jmonkeyengine · GitHub

Some of them look like easy targets for people wishing to contribute:

2 Likes

Adding jme3-lwjgl3 library not included in the SDK · Issue #193 · jMonkeyEngine/sdk · GitHub there.
The library has to be added into the gradle dependencies.
When you look into the gradle file you see how it’s handled.
The only difficulty is ensuring to not make the sdk run on lwjgl3 (or both, I don’t know what it would pick then), so it has to be something optional I think

1 Like