The rewritten client is functional enough that I think it warrants some public testing, for the brave who dare it. Here are some things to keep in mind:
There are bugs, so stability may be a bit up to luck at the time of writing this. You might not want to clear that bat cave using the new client, at least not right now (though hopefully that will improve soon enough). The remaining bugs are part of the reason I'd like some public testing, however, because they are of the kind that, although they're not exactly rare, I'm having trouble reproducing them "on demand", which makes it a wee bit harder to debug them. If anyone can find somewhat reliable ways to reproduce them, that would be great! Of course, if you have bugs that I haven't found, please report those too.
I've already mentioned it several times previously, but it probably bears repeating: The rewrite itself doesn't do anything for the people who suffer from GPU-side performance problems. For those who are beset by poor GPU-side performance, I'd still like to fix that, but doing so is not part of the rewrite itself, however it will make it more reasonable for me to actually work on that in the future, and doing so should not require any large rewrites in itself, but rather tuning and the introduction of detail settings. CPU-side performance should, however, be quite a bit better. Exactly how much better may depend on your particular circumstances, but to be sure, there should be no case in which performance (CPU- or GPU-side) is worse than on the current client, so if you find it to be, then please report that as a bug.
If you feel like it, please test with :par on as well as :par off, which controls parallel (multi-core, if you will) processing of certain things, the default being "off". Ideally, the default should be switched to "on", which can improve performance by quite a lot in certain circumstances (particularly in scenes with lots of animations going on), but I've found it to sometimes have suboptimal effects on the garbage collector, for some reason. There may also be hidden bugs in there, since I've tested it less. Please report your findings.
Currently known bugs:
- Removing equipment can leave outlines from the previous equipment on the equipment screen.
- There seems to be some kind of semi-rare issue that can degrade the performance of the client until it is restarted. It seems to be related to issuing lots of needless glBufferData commands, but I'm still trying to figure out what it even is.
- There is a graphical bug in that the yule-light "lens-flare" effect doesn't show up.
The following functionality is known to be missing:
- There are no graphical options whatsoever yet, not even to turn off shadows. Will be coming as soon as I get some of the bugs quashed.
- More graphical options should be added.
- There may be other things that I've simply forgotten, so if you find a feature missing, please report it!
All that being said, the test client is available here.
The source code, for client modders, is available in the usual repos in the "render" branch. Most of the interfaces should be pretty stable, I believe (or hope, at least). The one exception I can think of is the tick handling in SkelSprites, but I'd be surprised if that is something you're relying on anyway.