Client rewrite β-testing

Announcements about major changes in Haven & Hearth.
eliminoid
Posts: 155
Joined: Tue Oct 25, 2011 6:04 pm

Re: Client rewrite β-testing

Post by eliminoid »

Is there any way to disable vsync? I'd like to see my upper limit of FPS in the new client.
Hi
User avatar
DPblH
Posts: 432
Joined: Wed Jun 09, 2010 4:57 pm

Re: Client rewrite β-testing

Post by DPblH »

eliminoid wrote:Is there any way to disable vsync? I'd like to see my upper limit of FPS in the new client.
The original client have ":vsync" option, set to 0 if possible.
Give a man a game engine and he delivers a game. Teach a man how to make a game engine and he never delivers anything.
User avatar
Noid
Posts: 113
Joined: Sun May 26, 2013 4:12 pm

Re: Client rewrite β-testing

Post by Noid »

This may be a dumb question for most of the veterans but except for the slight improvement of performance (cpu) mentioned in the post what else exactly changed with the rewriting?

Because I've been trying it and seems exactly the same, possibly more laggy and obviously buggy (since it's a beta).
User avatar
vatas
Posts: 5251
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Client rewrite β-testing

Post by vatas »

Noid wrote:This may be a dumb question for most of the veterans but except for the slight improvement of performance (cpu) mentioned in the post what else exactly changed with the rewriting?

Because I've been trying it and seems exactly the same, possibly more laggy and obviously buggy (since it's a beta).
There should be a big difference in situations where current client FPS drops, also I think loftar did lot of work generally bring the codebase into a better shape so further changes are easier to make.

Note that currently you can't disable shadows on test client, giving custom clients with that option enabled an unfair edge.
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.)
User avatar
MagicManICT
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Client rewrite β-testing

Post by MagicManICT »

vatas wrote:
Noid wrote:This may be a dumb question for most of the veterans but except for the slight improvement of performance (cpu) mentioned in the post what else exactly changed with the rewriting?

Because I've been trying it and seems exactly the same, possibly more laggy and obviously buggy (since it's a beta).
There should be a big difference in situations where current client FPS drops, also I think loftar did lot of work generally bring the codebase into a better shape so further changes are easier to make.

Note that currently you can't disable shadows on test client, giving custom clients with that option enabled an unfair edge.
yeah, vatas, that's my understanding, too. As stated earlier in the thread, the rewrite should allow some future improvements that will improve frame rates on low end machines.

And it's not just shadows that can't be turned off, either. None of the graphics options that are in the current client are available.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
MagicManICT
Posts: 18435
Joined: Tue Aug 17, 2010 1:47 am

Re: Client rewrite β-testing

Post by MagicManICT »

For those that get stuck at the "map loading": Make sure to log out (or switch characters might even work) and back in. Hearthing will potentially cause the map errors several people have already posted. You can do this through the escape menu or the console command ':lo'.
Opinions expressed in this statement are the authors alone and in no way reflect on the game development values of the actual developers.
User avatar
loftar
Posts: 9093
Joined: Fri Apr 03, 2009 7:05 am
Location: Your character database

Re: Client rewrite β-testing

Post by loftar »

Ok, as a small status update, I've fixed the click-test bug mentioned in the OP (this was pretty tricky to track down, but was a literal one-line fix in the end), the "combat bug" mentioned by Gelom90, a bug causing quest pointers to point into nowhere, the belt-open bug mentioned by stya.

I've also fixed the resource errors in the hanky, wardrobe clothes, toga, the hearth-fire UI and the granary UI pointed out by various people, but keep in mind that, as mentioned in this post, you need to do a cache purge for that to work for you in this test environment, or wait until I get an opportunity to update the main branch of those resources.

I will of course keep looking into the rest. Thanks again for all your reports! (Though you may want to stop reporting the SlotRemoved one that was already mentioned in the OP, kthxbye)
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
ReDll
Posts: 114
Joined: Mon Mar 22, 2010 12:47 pm

Re: Client rewrite β-testing

Post by ReDll »

Hi there!
First time starting beta client got me this:

Code: Select all

java.lang.RuntimeException: haven.render.gl.BGL$BGLException: java.lang.IllegalStateException: unexpected state 0, expected 1, for #<gl.buf 0>
	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:188)
	at haven.JOGLPanel.renderloop(JOGLPanel.java:209)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: haven.render.gl.BGL$BGLException: java.lang.IllegalStateException: unexpected state 0, expected 1, for #<gl.buf 0>
	at haven.render.gl.BufferBGL.run(BufferBGL.java:51)
	at haven.render.gl.GLEnvironment.process(GLEnvironment.java:129)
	at haven.JOGLPanel.redraw(JOGLPanel.java:139)
	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.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalStateException: unexpected state 0, expected 1, for #<gl.buf 0>
	at haven.render.gl.GLObject.ckstate(GLObject.java:96)
	at haven.render.gl.GLBuffer.delete(GLBuffer.java:48)
	at haven.render.gl.BGL$3.run(BGL.java:106)
	at haven.render.gl.BufferBGL.run(BufferBGL.java:49)
	... 23 more
Appears after I've choose a char in the list.
I can hear sounds from the client(someone logged in/out). Second run was ok.

- Tracking icon is not showing.
- Client stuck when I was trying to open 3 cupboards in same time. Interface is working, I can write to chat but char can't move and close cb's. ->Did return to hearth but stuck on "Waiting for map data...". -> Reloaded client, cant walk at all :)

UPD:
Logged in after using common client:

Code: Select all

java.lang.NullPointerException
	at haven.render.Phong$CelShade.modify(Phong.java:83)
	at haven.render.gl.GLProgram.build(GLProgram.java:122)
	at haven.render.gl.GLEnvironment.getprog(GLEnvironment.java:497)
	at haven.render.gl.GLDrawList$DrawSlot.progfor(GLDrawList.java:251)
	at haven.render.gl.GLDrawList$DrawSlot.<init>(GLDrawList.java:340)
	at haven.render.gl.GLDrawList.add(GLDrawList.java:937)
	at haven.render.InstanceList.lambda$cladd$0(InstanceList.java:475)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
	at haven.render.InstanceList.cladd(InstanceList.java:475)
	at haven.render.InstanceList.add0(InstanceList.java:508)
	at haven.render.InstanceList.add(InstanceList.java:574)
	at haven.render.RenderTree$Client.added(RenderTree.java:62)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:432)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.render.Pipe$Op$Wrapping.added(Pipe.java:127)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.StaticSprite.added(StaticSprite.java:81)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.Gob$Overlay.added(Gob.java:108)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.RUtils.multiadd(RUtils.java:46)
	at haven.Gob$Overlay.init(Gob.java:79)
	at haven.Gob$Overlay.access$200(Gob.java:46)
	at haven.Gob.ctick(Gob.java:214)
	at haven.OCache.lambda$ctick$0(OCache.java:115)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
	at haven.OCache.ctick(OCache.java:119)
	at haven.Glob.ctick(Glob.java:134)
	at haven.JOGLPanel.run(JOGLPanel.java:358)
	at java.base/java.lang.Thread.run(Thread.java:834)
God is real, unless defined as integer.
User avatar
Granger
Posts: 9255
Joined: Mon Mar 22, 2010 2:00 pm

Re: Client rewrite β-testing

Post by Granger »

524u wrote:Image
Aaah, nice! First progress visible on removal of houses needing pocket worlds... free form buildings soon™!
⁎ Mon Mar 22, 2010 ✝ Thu Jan 23, 2020
User avatar
Clenda
Posts: 50
Joined: Sat Mar 11, 2017 9:41 pm

Re: Client rewrite β-testing

Post by Clenda »

each time i click "play" (during character selection) the game crash :

Code: Select all

java.lang.NullPointerException
	at haven.render.Phong$CelShade.modify(Phong.java:83)
	at haven.render.gl.GLProgram.build(GLProgram.java:122)
	at haven.render.gl.GLEnvironment.getprog(GLEnvironment.java:497)
	at haven.render.gl.GLDrawList$DrawSlot.progfor(GLDrawList.java:251)
	at haven.render.gl.GLDrawList$DrawSlot.<init>(GLDrawList.java:340)
	at haven.render.gl.GLDrawList.add(GLDrawList.java:937)
	at haven.render.InstanceList.lambda$cladd$0(InstanceList.java:475)
	at java.util.ArrayList.forEach(Unknown Source)
	at haven.render.InstanceList.cladd(InstanceList.java:475)
	at haven.render.InstanceList.add0(InstanceList.java:508)
	at haven.render.InstanceList.add(InstanceList.java:574)
	at haven.render.RenderTree$Client.added(RenderTree.java:62)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:432)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.render.Pipe$Op$Wrapping.added(Pipe.java:127)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.StaticSprite.added(StaticSprite.java:81)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.Gob$Overlay.added(Gob.java:108)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:452)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:356)
	at haven.render.RenderTree$Slot.add(RenderTree.java:343)
	at haven.RUtils.multiadd(RUtils.java:46)
	at haven.Gob$Overlay.init(Gob.java:79)
	at haven.Gob$Overlay.access$200(Gob.java:46)
	at haven.Gob.ctick(Gob.java:214)
	at haven.OCache.lambda$ctick$0(OCache.java:115)
	at java.util.ArrayList.forEach(Unknown Source)
	at haven.OCache.ctick(OCache.java:119)
	at haven.Glob.ctick(Glob.java:134)
	at haven.JOGLPanel.run(JOGLPanel.java:358)
	at java.lang.Thread.run(Unknown Source)

Return to “Announcements”