Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test post water 1699 #1707

Merged
merged 30 commits into from Jan 3, 2022
Merged

Conversation

bob0bob
Copy link
Contributor

@bob0bob bob0bob commented Dec 14, 2021

Changed it so when you go under water to turn off reverb. I turned off the Low Filter because it is not needed with Reverb is turned off.

bob0bob and others added 22 commits November 21, 2021 23:33
… in AppSettings. ‘CenterWindow’, ‘WindowXPosition’ and ‘WindowYPosition’ variables. This way these variable will be saved in the profile when the profile is saved, and be reloaded. I added ‘CenterWindow’ to be added with a ‘true’ value for the default value so it will run just like it did before.

But if you set ‘CenterWindow’ to ‘false’ then inside LwjglWindow.java (lwjgl3 code) it will look at these new values, it will determine to center the window or use the position values to place the window back at the location the user last moved it to.

Of course, these values are only updated if the “program” updates this value. So if you want to save screen position, you can save them on closing to and on restart put the window back into the same location.
LWJGL3-JME library would block the current thread when executing LWJGL3.    Instead of calling run() that is blocking,  made it work like LWJGL2-JME library when they start it as a thread so run gets called. I commented out the run() function and replaced it with Thread.start().
LWJGL3-JME projects was doing a call that is blocking the current thread.  I changed it to match how LWJGL2-JME project launches the Context Window.
LWJGL3-JME projects was doing a call that is blocking the current thread.  I changed it to match how LWJGL2-JME project launches the Context Window.
Changed it so when you go under water to turn off reverb.   I turned off the Low Filter because it is not needed with Reverb is turned off.
@stephengold stephengold added the examples specific to the jme3-examples sub-project label Dec 14, 2021
//waves.setReverbEnabled(false);
waves.setDryFilter(new LowPassFilter(1, 1f));
//waves.setDryFilter(new LowPassFilter(1,1f));
waves.setReverbEnabled(true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, so it is no longer necessary to continuously change the 'dryFIlter'?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested it, and it works. @bob0bob care to comment?

@stephengold stephengold added this to the v3.5.0 milestone Dec 14, 2021
@bob0bob
Copy link
Contributor Author

bob0bob commented Dec 15, 2021

Made some changes. There is now a hotkey to have the dryfilter on/off. So someone running the example and see the difference. Also, add all the hotkeys to the screen so someone running the demo can see the other keys that can change the examples.

@stephengold
Copy link
Member

Thank you for adding UI hints! I wish every test did this.

  1. On my keyboard, the keys are labelled PgUp and PgDn, not "Page Up" and "Page Dwn". Please correct the UI hints.

  2. I think the useDryFilter logic is incomplete, because the flag doesn't take effect unless/until the Camera passes through the water's surface. Please correct the logic.

  3. The imports should be in alphabetical order, with "com.jme3.font" after "com.jme3.audio". Please correct the order.

  4. The "com.jme3.font.BitmapFont" import is unused and should be deleted.

  5. It's not necessary to explicitly initialize guiFont. SimpleApplication does that for you, so you can delete the assignment to guiFont.

  6. The open brace { belongs on the same line as the if, like so:

        if (name.equals("dryFilter")) {
  1. There should be a space on either side of the subtraction operator, like so:
        txt2.setLocalTranslation(x, cam.getHeight() - y, 0);

@stephengold
Copy link
Member

@bob0bob are you still available to work on this?

@bob0bob
Copy link
Contributor Author

bob0bob commented Jan 3, 2022

I made the changes. But no I'm not available anymore for changes. JME doesn't work for me and my time. There are too many hands and no real organization to what is going on. You have about 3 - 4 people with HUGE different views on what it should be done and there appears to be no real MAJOR structure on new ideas and what is happening.

This style of networking is not for me, I'm short on time and to be fighting between people is not something I want to do. This is the first time I've come across this type of unstructured format.

I say this in hopes that maybe ideas for the future helps. It appears that it is more of an idea of just people having libraries that are not part of JME and people use these unsupported libraries and this has been going on for years.

@stephengold
Copy link
Member

I'm very sorry to hear that the project hasn't met your needs.

I agree JME is very unstructured. It wasn't always this way, and I don't understand when it changed or why. What specific structures do you think the project needs?

It's normal in any group for people to have different visions of what should be done, so JMonkeyEngine isn't unusual in this regard. Unfortunately, I haven't been involved in any other open-source projects of similar complexity, so I don't have any basis of comparison. Do other projects hide their differences from the public by discussing them only in private? Do they empower authorities to impose their visions onto others? I can only imagine...

I don't understand your fear of becoming involved in fights. As far as I know, there's aren't currently any fights going on in the project. Rather, I'd say our stakeholders are too apathetic, not paying enough attention to what's happening and what needs to happen next. If there's conflict brewing that I'm unaware of, please enlighten me!

@bob0bob
Copy link
Contributor Author

bob0bob commented Jan 3, 2022

I've only been involved in 3 open source projects not including this one and most of them are structured. They figure out a future for the project and they vote on it and stand behind that.

I got a message from one of your main people saying that I should be "THANKFUL" because I'm new and no new person should be contributing that quickly and it should take years before they are able to get anything part of the project and should only be making "LIBRARIES" and then post it for other people.

Not "Fear" just not enough free time to fight other things. Like people that want the status quo on LWJGL3 because there are not testers for MAC to solve it 100% even though it is less than 10% of the users, they do not want anything to move forward even it is a fix for Linux and Windows. There are other issues and gotten several emails from regular users that email privately because a "certain" someone ends up turning it into a fight because if you don't code like them they fight.

Sometime with power certain people go crazy, it should be more about direction not dictation.

I've really enjoyed your help and you are very good, just to bad some of the other people are not at it.

@bob0bob
Copy link
Contributor Author

bob0bob commented Jan 3, 2022

We didn't comment, are those changes good?

@pspeed42
Copy link
Contributor

pspeed42 commented Jan 3, 2022

Not sure who was fighting. I personally only remember suggesting alternate approaches and in the end those were just opinions anyway.

Also I don't think any of the core devs suggested you should be thankful. I certainly didn't. We accept contributions from new folks right away if they slide right in. Tenure really doesn't matter.

You wrote your own custom engine for your game and have a lot of very specific experience and perspective... all of which is valuable. We have a longer looking perspective and our own set of experiences. Also valuable. But if discussion is viewed as a fight then this is definitely not the right project for you. I seriously wish you luck on your projects, not even a hint of sarcasm. You are clearly very passionate and talented and I'm sure will do some cool things.

It's too bad the JME relationship was not productive. In the long run, it probably hurts all involved but that's the way it goes sometimes.

@stephengold
Copy link
Member

I got a message from one of your main people saying that I should be "THANKFUL" because I'm new and no new person should be contributing that quickly and it should take years before they are able to get anything part of the project and should only be making "LIBRARIES" and then post it for other people.

I'm sorry to hear that someone with an aura of authority discouraged you from contributing. It's true we prefer to see new features implemented as add-on libraries before incorporating them into the Engine. However, I for one evaluate ideas and PRs based on their technical merit, not the seniority of the contributor. Some people are able to contribute productively from day one, while others (alas!) remain ineffective after many years of effort.

Whenever I remember to do so, I thank people for their contributions, regardless of their actual value. I never ask or expect anyone to be thankful for the opportunity to contribute. I wonder who it was who told you to be thankful ...

are those changes good?

I plan to review them today. Since you said you're unavailable for further code changes, I won't ask you for any.

@stephengold
Copy link
Member

@bob0bob thank you for your contribution to JMonkeyEngine!

stephengold added a commit that referenced this pull request Jan 9, 2022
* This is a very simple addition. It allows a person to set 3 variables in AppSettings. ‘CenterWindow’, ‘WindowXPosition’ and ‘WindowYPosition’ variables. This way these variable will be saved in the profile when the profile is saved, and be reloaded. I added ‘CenterWindow’ to be added with a ‘true’ value for the default value so it will run just like it did before.

But if you set ‘CenterWindow’ to ‘false’ then inside LwjglWindow.java (lwjgl3 code) it will look at these new values, it will determine to center the window or use the position values to place the window back at the location the user last moved it to.

Of course, these values are only updated if the “program” updates this value. So if you want to save screen position, you can save them on closing to and on restart put the window back into the same location.

* formatting and comments changes.

* jme3test.app.TestApplication hangs with LWJGL3 #1193
LWJGL3-JME library would block the current thread when executing LWJGL3.    Instead of calling run() that is blocking,  made it work like LWJGL2-JME library when they start it as a thread so run gets called. I commented out the run() function and replaced it with Thread.start().

* removing unwanted changes, since you can't do multiple pull requests at once.

* formatting issues.

* changed parameter naming to be more consistency with other items.

* jme3test.app.TestApplication hangs with LWJGL3 #1193

LWJGL3-JME projects was doing a call that is blocking the current thread.  I changed it to match how LWJGL2-JME project launches the Context Window.

* jme3test.app.TestApplication hangs with LWJGL3 #1193 (#3)

LWJGL3-JME projects was doing a call that is blocking the current thread.  I changed it to match how LWJGL2-JME project launches the Context Window.

* removing unwanted changes.

* AppSettings:  enhance the new javadoc

* AppSettings:  capitalize Window{X/Y}Position consistent w/other settings

* LwjglWindow:  convert tabs to spaces

* AppSettings:  re-arrange @see tags in javadoc

* TestPostWater issue #1699

Changed it so when you go under water to turn off reverb.   I turned off the Low Filter because it is not needed with Reverb is turned off.

* Added a feature to leave dry filter on/off.  Also put on the screen other hot keys this demo supports.

* type preventing input to work correctly.

* more formattings changes.

* TestPostWater:  standardize key names

* TestPostWater:  correct key assignements that were swapped

* TestPostWater:  organize imports per the style guide

* TestPostWater:  whitespace

* TestPostWater:  change useDryFilter logic so the 4 key has prompt effect

Co-authored-by: Stephen Gold <sgold@sonic.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
examples specific to the jme3-examples sub-project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants