Client rewrite β-testing

Announcements about major changes in Haven & Hearth.
User avatar
Artemiswhb
Posts: 178
Joined: Thu Jan 02, 2014 7:57 pm

Re: Client rewrite β-testing

Post by Artemiswhb »

Loftar, your latest changes to the render branch broke the play button in Charlist :)

return true blocks the children from getting a mousedown event
User avatar
At0m
Posts: 6
Joined: Fri Mar 08, 2019 5:46 pm

Re: Client rewrite β-testing

Post by At0m »

Crash every time i try to login.
java.lang.RuntimeException: haven.render.gl.BGL$BGLException: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
at haven.JOGLPanel.uglyjoglhack(JOGLPanel.java:256)
at haven.JOGLPanel.renderloop(JOGLPanel.java:277)
at java.lang.Thread.run(Unknown Source)
Caused by: haven.render.gl.BGL$BGLException: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at haven.render.gl.BufferBGL.run(BufferBGL.java:51)
at haven.render.gl.GLEnvironment.process(GLEnvironment.java:270)
at haven.JOGLPanel.redraw(JOGLPanel.java:165)
at haven.JOGLPanel.access$000(JOGLPanel.java:39)
at haven.JOGLPanel$1.display(JOGLPanel.java:76)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.RuntimeException: FBO failed completeness test: GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
at haven.render.gl.GLFrameBuffer.lambda$null$0(GLFrameBuffer.java:68)
at haven.render.gl.BGL$4.run(BGL.java:112)
at haven.render.gl.BufferBGL.run(BufferBGL.java:49)
... 24 more
User avatar
boshaw
Posts: 1612
Joined: Tue Jun 01, 2010 10:22 pm

Re: Client rewrite β-testing

Post by boshaw »

I'm guessing this is known but Party arrows are always on right side of screen since `screenangle` always returns 0 now. :oops:
User avatar
Austinh15
Posts: 317
Joined: Fri Sep 17, 2010 10:45 pm

Re: Client rewrite β-testing

Post by Austinh15 »

Given the performance boost I've personally seen, I'm making a comment to follow up on the increase of the light cap. Is the decision of the current light source cap based on protecting performance or is it something else? And if it is based on performance: Will there be a chance that the cap will be increased given the better performance the client seems to provide? Most of the villages I build are quite compact and I tend to try and make them look more city-like, including lanterns so this is why I'm asking. :D
User avatar
shubla
Posts: 13041
Joined: Sun Nov 03, 2013 11:26 am
Location: Finland

Re: Client rewrite β-testing

Post by shubla »

Austinh15 wrote:Given the performance boost I've personally seen, I'm making a comment to follow up on the increase of the light cap. Is the decision of the current light source cap based on protecting performance or is it something else? And if it is based on performance: Will there be a chance that the cap will be increased given the better performance the client seems to provide? Most of the villages I build are quite compact and I tend to try and make them look more city-like, including lanterns so this is why I'm asking. :D
Adding light sources quickly brings the performance down is my guess.
Adding them requires recompiling shaders at least, etc. I'm not sure how HnH handles light exactly,
but maybe bunch of shaders could be compiled for many light sources (like from 1 to 3-5 or so) and the user could then choose how many he wants to use which would then swap the shaders that are being used.
Image
I'm not sure that I have a strong argument against sketch colors - Jorb, November 2019
http://i.imgur.com/CRrirds.png?1
Join the moderated unofficial discord for the game! https://discord.gg/2TAbGj2
Purus Pasta, The Best Client
User avatar
LostJustice
Posts: 691
Joined: Sun Mar 25, 2012 3:57 am

Re: Client rewrite β-testing

Post by LostJustice »

Tried running the client and getting weird crashes on the login screen. Tried building the client from Git and I get no crash but can only see 1/4th the screen and it is frozen. If I run the jar given in announcement I get the error below.
Running most up to date Nvidia 2080 rtx ti if that helps.

Code: Select all

java.lang.RuntimeException: haven.render.gl.BGL$BGLException: haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
	at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
	at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:103)
	at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:206)
	at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
	at javax.media.opengl.Threading.invoke(Threading.java:191)
	at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:528)
	at haven.JOGLPanel.uglyjoglhack(JOGLPanel.java:256)
	at haven.JOGLPanel.renderloop(JOGLPanel.java:277)
	at java.lang.Thread.run(Unknown Source)
Caused by: haven.render.gl.BGL$BGLException: haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
	at haven.render.gl.GLEnvironment.process(GLEnvironment.java:288)
	at haven.JOGLPanel.redraw(JOGLPanel.java:165)
	at haven.JOGLPanel.access$000(JOGLPanel.java:39)
	at haven.JOGLPanel$1.display(JOGLPanel.java:76)
	at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
	at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
	at javax.media.opengl.awt.GLCanvas$9.run(GLCanvas.java:1271)
	at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
	at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
	at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1282)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: haven.render.gl.GLException$GLInvalidOperationException: GL Error: 1282 (invalid operation)
	at haven.render.gl.GLException.glexcfor(GLException.java:88)
	at haven.render.gl.GLException.checkfor(GLException.java:97)
	at haven.render.gl.GLException.checkfor(GLException.java:104)
	at haven.render.gl.GLEnvironment.process(GLEnvironment.java:286)
	... 23 more
[/spoiler]

Edit**

Managed to get it working. I downloaded the source and patched it sort of... I am now able to continue as is. This was the fix I used:

Code: Select all

    private void uglyjoglhack() throws InterruptedException {
	try {
	    display();
	}
	catch (RuntimeException e) {
		System.out.println("Failed to do jogl hack. Trying again...");
		uglyjoglhack();
//	    InterruptedException irq = Utils.hascause(e, InterruptedException.class);
//	    if(irq != null)
//		throw(irq);
//	    throw(e);
	}
    }
It seems there is a race condition issue where the display is not ready to be called when that method is ran.
Image
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

With the help of boshaw sending me debug data, I'm hoping that I finally have a fix to objects not getting removed properly (and hopefully sometimes also not drawing, which I'm assuming is the other side of the same coin), but since I still can't reproduce the issue, anyone can please feel free to prove me wrong.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
vatas
Posts: 5251
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Client rewrite β-testing

Post by vatas »

Current version appears to have a significant improvement to one I tried a while ago, in that it actually launches, allows me to log in and move around in the game world(*). Everything was quite smooth until music started playing and it was laggy-stutterish as hell. Clearly, the default "audiobuf" value needs to be raised.

(*) On second thought, this may be result of me having recently switched over to win7 to win10.
Haven and Hearth Wiki (Maintained by volunteers - test/verify when practical. Forum thread

Basic Claim Safety (And what you’re doing wrong
TL:;DR: Build a Palisade with only Visitor gates.)

Combat Guide (Overview, PVE, PVP) (Includes how to escape/minimize risk of getting killed.)
Glorthan
Posts: 1099
Joined: Tue Jun 11, 2013 4:33 pm

Re: Client rewrite β-testing

Post by Glorthan »

I also had the audiobuf issue and I've never experienced it on any client before.
User avatar
Teacwr
Posts: 87
Joined: Mon Aug 03, 2015 8:07 pm
Location: Western Siberia GMT+6

Re: Client rewrite β-testing

Post by Teacwr »

About audio: i still have issue with multiple alerts playing at once - Walruses and Wolves is most notable ones. Sound value of multiple samples playing at once is summarized and loud AF (RIP headphone users levels of loudness).

Return to “Announcements”