void256/nifty-gui — pull request #279 by 3xp0n3nt (2014-08-27 22:05:20+00:00)
Title: Refactor Nifty Examples.

- Move all LWJGL content in nifty-examples module to it's own new
module, nifty-examples-lwjgl. LWJGL isn't special - it can have its own
examples module just like everyone else.

- Remove nifty-renderer-lwjgl dependency from nifty-examples.

- Refactor LWJGL initialization code in nifty-examples-lwjgl to make it
stupid-easy to load & run any NiftyExample in one line of code (hint:
it's easier than Slick2D, and that's difficult to beat)

- nifty-examples-lwjgl now implements every single example found in
nifty-examples

- Cleanup & refactor the code in many of the examples in nifty-examples.
TODO: Many more examples still need a ton of cleanup though!

- Delete the "issues" package & classes out of nifty-examples:

This has got to be the most horrible idea I've seen in Nifty in a long
time. It reeks of laziness. First of all, there's the problem of
unsustainability. What's going to happen as the number of these issues
keeps growing? At some point it's going to get nasty. It increases the
size of the Nifty Gui library as well.

Secondly, all those issues have been resolved! Who wants to see a bunch
of code demonstrating non-existent problems? Probably no one.

Who's going to want to maintain & update code for non-existent issues in
the future when the examples or other code needs refactoring? *Cricket,
cricket* That's what I thought. I've refactored the Nifty examples, and
in the process, I've broken these stupid issues classes. Guess how much
motivation I have to fix them?

If you want to create demonstrations of bugs, please maintain your own
repository for such things. In fact, why not have a public nifty-issues
repository for this? There, problem solved.

- Delete the top-secret, uber-special "meins" file. It's from 2008, and
it looks like @void256's personal notes or something? Doesn't belong
in Nifty Gui.

- Add some missing examples to nifty-examples-slick2d (tutorial,
multiclick, healthimage), since it's insanely easy to add new examples
(thanks to @mkaring).

- Unrelated: Fix Slick2D naming inconsistencies. Some modules / packages
/ comments / etc use the word "slick", some use the word "slick2d",
and still others use the word "slick2D". Rename comments & text mentions
Slick2D, for package names & module names that require lowercase, use
slick2d everywhere.

- Note: Slick2D still has some pre-existing unresolved issues, such as
certain examples crashing due to "java.lang.NoClassDefFoundError:
com/jcraft/jorbis/Info" (music issue?).

- Unit tests & integration tests are successful (excluding all the
pre-existing examples issues - what I mean is that the changes did not
introduce any bugs / regressions as far as could be tested).