Client rewrite β-testing

Announcements about major changes in Haven & Hearth.

Client rewrite β-testing

Postby loftar » Sat Jan 11, 2020 12:02 pm

Heya, it's just about time, isn't it?

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.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 8926
Joined: Fri Apr 03, 2009 7:05 am

Re: Client rewrite β-testing

Postby vatas » Sat Jan 11, 2020 12:11 pm

HYPE
The most actively maintained Haven and Hearth Wiki (Not guaranteed to be up-to-date with all w14 changes.)

Basic Claim Safety (And what you’re doing wrong) (I recommend you read it in it's entirety, but TL:;DR: Build a Palisade.)

Combat Guide (Overview, PVE, PVP) (Tells you how to try and escape, and make it less likely to die when caught.)
User avatar
vatas
 
Posts: 4507
Joined: Fri Apr 05, 2013 8:34 am
Location: Suomi Finland Perkele

Re: Client rewrite β-testing

Postby stya » Sat Jan 11, 2020 12:34 pm

Big big hype :3
Image
User avatar
stya
 
Posts: 943
Joined: Wed May 21, 2014 3:13 pm

Re: Client rewrite β-testing

Postby TheUltimateC » Sat Jan 11, 2020 12:47 pm

The first time, the portrait frames on login where actually black. Than trying to load my char it gave a similar error for the resource of the wardrobe. Now this happens every time i click login (and yes one char wears indeed a toga in his portrait.)

Code: Select all
java.lang.RuntimeException: Delayed error in resource gfx/borka/toga-cloth (v14), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool$Queued.get(Resource.java:386)
   at haven.Resource$Pool$Queued.get(Resource.java:355)
   at haven.Session$CachedRes$Ref.get(Session.java:119)
   at haven.Session$CachedRes$Ref.get(Session.java:112)
   at haven.Composited.nmod(Composited.java:397)
   at haven.Composited.chmod(Composited.java:531)
   at haven.Avaview.updcomp(Avaview.java:184)
   at haven.Avaview.draw(Avaview.java:220)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.Charlist.draw(Charlist.java:117)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)
Caused by: haven.Resource$LoadException: Load error in resource gfx/borka/toga-cloth(v14), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool.handle(Resource.java:447)
   at haven.Resource$Pool.access$1100(Resource.java:332)
   at haven.Resource$Pool$Loader.run(Resource.java:583)
   ... 1 more
   Suppressed: haven.Resource$LoadException: Load error in resource gfx/borka/toga-cloth(v14), from cache source backed by FileCache(http://game.havenandhearth.com/render/)
      ... 4 more
      Suppressed: haven.Resource$LoadException: Load error in resource gfx/borka/toga-cloth(v14), from local res source
         ... 4 more
      Caused by: java.io.FileNotFoundException: Could not find resource locally: gfx/borka/toga-cloth
         at haven.Resource$JarSource.get(Resource.java:239)
         at haven.Resource$Pool.handle(Resource.java:431)
         ... 3 more
   Caused by: java.lang.NullPointerException
      at haven.FastMesh$MeshRes.init(FastMesh.java:262)
      at haven.Resource.load(Resource.java:1402)
      at haven.Resource.access$600(Resource.java:40)
      at haven.Resource$Pool.handle(Resource.java:435)
      ... 3 more
Caused by: java.lang.NullPointerException
   at haven.FastMesh$MeshRes.init(FastMesh.java:262)
   at haven.Resource.load(Resource.java:1402)
   at haven.Resource.access$600(Resource.java:40)
   at haven.Resource$Pool.handle(Resource.java:435)
   ... 3 more
Last edited by loftar on Sat Jan 11, 2020 12:49 pm, edited 1 time in total.
Reason: Added code tags
TheUltimateC
 
Posts: 50
Joined: Sat Jul 28, 2018 10:30 pm

Re: Client rewrite β-testing

Postby loftar » Sat Jan 11, 2020 12:54 pm

TheUltimateC wrote:
Code: Select all
   Caused by: java.lang.NullPointerException
      at haven.FastMesh$MeshRes.init(FastMesh.java:262)

Right, it turns out some resources need to be recompiled because they're really old and contain long deprecated features. I thought I had found them all, but apparently not.
Now the flaw with this test setup is that I can't update the resources without also updating the corresponding resource on the real client, which means that even though I've now fixed the toga, it'll remain cached for you until I do a main game update, unless you can purge the cache.

For those who feel capable of doing so, the method is to locate hafen.jar in the launcher cache (or anywhere else), and run the following command, substituting a working path to hafen.jar:
Code: Select all
java -cp hafen.jar haven.HashDirCache purge http://game.havenandhearth.com/render/

Either way, thanks for finding that!
"Object-oriented design is the roman numerals of computing." -- Rob Pike
User avatar
loftar
 
Posts: 8926
Joined: Fri Apr 03, 2009 7:05 am

Re: Client rewrite β-testing

Postby Gelom90 » Sat Jan 11, 2020 1:20 pm

Code: Select all
java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextNode(Unknown Source)
   at java.util.HashMap$KeyIterator.next(Unknown Source)
   at haven.PView$ScreenList.draw(PView.java:268)
   at haven.PView.draw(PView.java:211)
   at haven.MapView.draw(MapView.java:1399)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.GameUI.draw(GameUI.java:829)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)

first fight :roll:
Code: Select all
java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextNode(Unknown Source)
   at java.util.HashMap$KeyIterator.next(Unknown Source)
   at haven.PView$ScreenList.draw(PView.java:268)
   at haven.PView.draw(PView.java:211)
   at haven.MapView.draw(MapView.java:1399)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.GameUI.draw(GameUI.java:829)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)
User avatar
Gelom90
 
Posts: 34
Joined: Mon Jan 16, 2012 7:41 pm

Re: Client rewrite β-testing

Postby stya » Sat Jan 11, 2020 1:24 pm

Got the VAO on first login and also this:

Image
Image
User avatar
stya
 
Posts: 943
Joined: Wed May 21, 2014 3:13 pm

Re: Client rewrite β-testing

Postby SovietUnion » Sat Jan 11, 2020 1:25 pm

I tried the map loading stuck bug after exiting a building. After a few tries I managed to reproduce the bug. But now I cannot log into the account. I can log into my other accounts but not to the main one (via the new client). Whenever I log in, the below error is shown and game crashes. Doesn't even let me select a different character from the same account. Weird, will test further.

Code: Select all
java.lang.RuntimeException: Delayed error in resource gfx/borka/hanky (v3), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool$Queued.get(Resource.java:386)
   at haven.Resource$Pool$Queued.get(Resource.java:355)
   at haven.Session$CachedRes$Ref.get(Session.java:119)
   at haven.Session$CachedRes$Ref.get(Session.java:112)
   at haven.Composited.nmod(Composited.java:397)
   at haven.Composited.chmod(Composited.java:531)
   at haven.Avaview.updcomp(Avaview.java:184)
   at haven.Avaview.draw(Avaview.java:220)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.Charlist.draw(Charlist.java:117)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)
Caused by: haven.Resource$LoadException: Load error in resource gfx/borka/hanky(v3), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool.handle(Resource.java:447)
   at haven.Resource$Pool.access$1100(Resource.java:332)
   at haven.Resource$Pool$Loader.run(Resource.java:583)
   ... 1 more
   Suppressed: haven.Resource$LoadException: Load error in resource gfx/borka/hanky(v3), from cache source backed by FileCache(http://game.havenandhearth.com/render/)
      ... 4 more
      Suppressed: haven.Resource$LoadException: Load error in resource gfx/borka/hanky(v3), from local res source
         ... 4 more
      Caused by: java.io.FileNotFoundException: Could not find resource locally: gfx/borka/hanky
         at haven.Resource$JarSource.get(Resource.java:239)
         at haven.Resource$Pool.handle(Resource.java:431)
         ... 3 more
   Caused by: java.lang.NullPointerException
      at haven.FastMesh$MeshRes.init(FastMesh.java:262)
      at haven.Resource.load(Resource.java:1402)
      at haven.Resource.access$600(Resource.java:40)
      at haven.Resource$Pool.handle(Resource.java:435)
      ... 3 more
Caused by: java.lang.NullPointerException
   at haven.FastMesh$MeshRes.init(FastMesh.java:262)
   at haven.Resource.load(Resource.java:1402)
   at haven.Resource.access$600(Resource.java:40)
   at haven.Resource$Pool.handle(Resource.java:435)
   ... 3 more
Notable characters: Cpt. Danko, Kng. Danko

LS of MorningWood (as of W7)
North Star market owner (W11)
King of North Star Kingdom & Market (W12)
LS of MorningWood (W13), quit early cause reasons
Open village of North Star (W14)

"Not really. But meh.. who needs proper communication anyways"
User avatar
SovietUnion
 
Posts: 266
Joined: Mon Mar 12, 2012 4:42 am
Location: Brno, Czech Republic

Re: Client rewrite β-testing

Postby jorb » Sat Jan 11, 2020 1:28 pm

Moved to Announcements.
"The psychological trials of dwellers in the last times will be equal to the physical trials of the martyrs. In order to face these trials we must be living in a different world."

-- Hieromonk Seraphim Rose
User avatar
jorb
 
Posts: 18263
Joined: Fri Apr 03, 2009 7:07 am
Location: Here, there and everywhere.

Re: Client rewrite β-testing

Postby stya » Sat Jan 11, 2020 1:41 pm

Going in a cave and getting out very often gets me stuck on waiting for map data, if I hearth back it stays like that (clicking makes the UI flicker), also got a few new error messages while trying around:
In/out cave (in my cluttered village), when going out of the cave (many times):
Code: Select all
haven.render.RenderTree$SlotRemoved
   at haven.render.RenderTree$TreeSlot.chstate(RenderTree.java:620)
   at haven.render.RenderTree$TreeSlot.ostate(RenderTree.java:652)
   at haven.RUtils$StateNode.update(RUtils.java:104)
   at haven.RUtils$StateTickNode.autotick(RUtils.java:140)
   at haven.render.TickList.lambda$tick$0(TickList.java:135)
   at java.util.ArrayList.forEach(Unknown Source)
   at haven.render.TickList.tick(TickList.java:140)
   at haven.PView.tick(PView.java:141)
   at haven.MapView.tick(MapView.java:1421)
   at haven.Widget.tick(Widget.java:702)
   at haven.GameUI.tick(GameUI.java:856)
   at haven.Widget.tick(Widget.java:702)
   at haven.UI.tick(UI.java:145)
   at haven.JOGLPanel.run(JOGLPanel.java:362)
   at java.lang.Thread.run(Unknown Source)


Clicking early on stuff when the client rendering is not finished yet x2:
Code: Select all
java.lang.AssertionError
   at haven.render.gl.GLDrawList.add(GLDrawList.java:940)
   at haven.render.RenderList.syncadd(RenderList.java:65)
   at haven.render.RenderList.asyncadd(RenderList.java:83)
   at haven.MapView$Clicklist.draw(MapView.java:1152)
   at haven.MapView.checkgobclick(MapView.java:1244)
   at haven.MapView.access$1700(MapView.java:42)
   at haven.MapView$Hittest.run(MapView.java:1654)
   at haven.MapView.mousedown(MapView.java:1725)
   at haven.Widget.mousedown(Widget.java:742)
   at haven.GameUI.mousedown(GameUI.java:1087)
   at haven.Widget.mousedown(Widget.java:742)
   at haven.UI.mousedown(UI.java:334)
   at haven.UIPanel$Dispatcher.dispatch(UIPanel.java:70)
   at haven.JOGLPanel.run(JOGLPanel.java:354)
   at java.lang.Thread.run(Unknown Source)


Typing when rendering is not finished x2:
Code: Select all
java.lang.NullPointerException
   at haven.MenuGrid.globtype(MenuGrid.java:522)
   at haven.Widget.globtype(Widget.java:818)
   at haven.Widget.globtype(Widget.java:818)
   at haven.GameUI.globtype(GameUI.java:1083)
   at haven.Widget.globtype(Widget.java:818)
   at haven.RootWidget.globtype(RootWidget.java:44)
   at haven.UI.keydown(UI.java:295)
   at haven.UIPanel$Dispatcher.dispatch(UIPanel.java:92)
   at haven.JOGLPanel.run(JOGLPanel.java:354)
   at java.lang.Thread.run(Unknown Source)


Cooldown not showing at all in combat? (not sure if it's just normal in vanilla)

Hearthing back while map was loading (stuck?) ended up with this (there should be no cliff there, also could not move):
Image


Client randomly stuck, I keep running without moving, after such freezes when I log back in nothing loads and I'm stuck, I log out/in again and it's back to normal (happens fairly often) :D
Image

Image


Receiving items from hearthfire (always reproducible for me):
Code: Select all
java.lang.RuntimeException: java.lang.InterruptedException
   at haven.render.gl.GLDrawList.draw(GLDrawList.java:919)
   at haven.ShadowMap$ShadowList.draw(ShadowMap.java:199)
   at haven.ShadowMap.update(ShadowMap.java:231)
   at haven.MapView.drawsmap(MapView.java:833)
   at haven.MapView.draw(MapView.java:1398)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.GameUI.draw(GameUI.java:829)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.InterruptedException
   at java.lang.Object.wait(Native Method)
   at java.lang.Object.wait(Unknown Source)
   at haven.render.gl.GLDoubleBuffer.get(GLDoubleBuffer.java:70)
   at haven.render.gl.GLDrawList.draw(GLDrawList.java:915)
   ... 14 more


Another time stuck on loading map:
Code: Select all
java.lang.IncompatibleClassChangeError: Found interface haven.Tex, but class was expected
   at Mailbox.<clinit>(mailbox.cjava:11)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at haven.Widget$FactMaker$1.create(Widget.java:155)
   at haven.UI.newwidget(UI.java:161)
   at haven.RemoteUI.run(RemoteUI.java:66)
   at haven.MainFrame.run(MainFrame.java:257)
   at java.lang.Thread.run(Unknown Source)


Used wardrobe, client crashed with this, I get that error everytime I log back in or go in the room with that wardrobe:
Code: Select all
java.lang.RuntimeException: Delayed error in resource gfx/terobjs/wardrobeclothes (v8), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool$Queued.get(Resource.java:386)
   at haven.Resource$Pool$Queued.get(Resource.java:355)
   at haven.Session$CachedRes$Ref.get(Session.java:119)
   at haven.Session$CachedRes$Ref.get(Session.java:112)
   at Equed.<init>(eq.cjava:22)
   at sun.reflect.GeneratedConstructorAccessor40.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at haven.Utils.construct(Utils.java:1332)
   at haven.Sprite$2.create(Sprite.java:99)
   at haven.Sprite.create(Sprite.java:140)
   at haven.Gob$Overlay.init(Gob.java:74)
   at haven.Gob$Overlay.access$200(Gob.java:46)
   at haven.Gob.addol(Gob.java:241)
   at haven.OCache.overlay(OCache.java:523)
   at haven.OCache.lambda$overlay$19(OCache.java:564)
   at haven.OCache$GobInfo.apply(OCache.java:709)
   at haven.Loader.lambda$defer$0(Loader.java:180)
   at haven.Loader$Future.run(Loader.java:65)
   at haven.Loader$Future.access$200(Loader.java:40)
   at haven.Loader.loop(Loader.java:142)
   at java.lang.Thread.run(Unknown Source)
Caused by: haven.Resource$LoadException: Could not find specified material: 8
   at haven.FastMesh$MeshRes.init(FastMesh.java:271)
   at haven.Resource.load(Resource.java:1402)
   at haven.Resource.access$600(Resource.java:40)
   at haven.Resource$Pool.handle(Resource.java:435)
   at haven.Resource$Pool.access$1100(Resource.java:332)
   at haven.Resource$Pool$Loader.run(Resource.java:583)
   ... 1 more
   Suppressed: haven.Resource$LoadException: Load error in resource gfx/terobjs/wardrobeclothes(v8), from cache source backed by FileCache(http://game.havenandhearth.com/render/)
      at haven.Resource$Pool.handle(Resource.java:447)
      ... 3 more
      Suppressed: haven.Resource$LoadException: Load error in resource gfx/terobjs/wardrobeclothes(v8), from local res source
         ... 4 more
      Caused by: java.io.FileNotFoundException: Could not find resource locally: gfx/terobjs/wardrobeclothes
         at haven.Resource$JarSource.get(Resource.java:239)
         at haven.Resource$Pool.handle(Resource.java:431)
         ... 3 more
   Caused by: java.io.FileNotFoundException: res/gfx/terobjs/wardrobeclothes
      at haven.HashDirCache.fetch(HashDirCache.java:277)
      at haven.Resource$CacheSource.get(Resource.java:206)
      at haven.Resource$Pool.handle(Resource.java:431)
      ... 3 more


Clicking (movement) is very weird, if I click near my character I move in some direction for a few tiles, after the character stopped moving, I click again with the same screen offset between my character and my mouse, the result can be very different... for example barely moving instead of moving 2 tiles.

Someone nearby opening a flute or yourself:
Code: Select all
java.lang.RuntimeException: Delayed error in resource ui/music (v41), from forking source backed by HTTP res source (http://game.havenandhearth.com/render/res/)
   at haven.Resource$Pool$Queued.get(Resource.java:386)
   at haven.Resource$Pool$Queued.get(Resource.java:355)
   at haven.Resource$CodeEntry$1.run(Resource.java:1133)
   at haven.Resource$CodeEntry$1.run(Resource.java:1127)
   at java.security.AccessController.doPrivileged(Native Method)
   at haven.Resource$CodeEntry.loader(Resource.java:1127)
   at haven.Resource$CodeEntry.load(Resource.java:1159)
   at haven.Resource$CodeEntry.get(Resource.java:1195)
   at haven.Resource.getcode(Resource.java:1063)
   at haven.Sprite.create(Sprite.java:138)
   at haven.Gob$Overlay.init(Gob.java:74)
   at haven.Gob$Overlay.access$200(Gob.java:46)
   at haven.Gob.addol(Gob.java:241)
   at haven.OCache.overlay(OCache.java:523)
   at haven.OCache.lambda$overlay$19(OCache.java:564)
   at haven.OCache$GobInfo.apply(OCache.java:709)
   at haven.Loader.lambda$defer$0(Loader.java:180)
   at haven.Loader$Future.run(Loader.java:65)
   at haven.Loader$Future.access$200(Loader.java:40)
   at haven.Loader.loop(Loader.java:142)
   at java.lang.Thread.run(Unknown Source)
Caused by: haven.Resource$LoadException: Wrong res version (33 != 41)
   at haven.Resource.load(Resource.java:1388)
   at haven.Resource.access$600(Resource.java:40)
   at haven.Resource$Pool.handle(Resource.java:435)
   at haven.Resource$Pool.access$1100(Resource.java:332)
   at haven.Resource$Pool$Loader.run(Resource.java:583)
   ... 1 more
   Suppressed: haven.Resource$LoadException: Load error in resource ui/music(v41), from cache source backed by FileCache(http://game.havenandhearth.com/render/)
      at haven.Resource$Pool.handle(Resource.java:447)
      ... 3 more
      Suppressed: haven.Resource$LoadException: Wrong res version (33 != 41)
         at haven.Resource.load(Resource.java:1388)
         at haven.Resource.access$600(Resource.java:40)
         at haven.Resource$Pool.handle(Resource.java:435)
         ... 3 more
   Caused by: java.io.FileNotFoundException: res/ui/music
      at haven.HashDirCache.fetch(HashDirCache.java:277)
      at haven.Resource$CacheSource.get(Resource.java:206)
      at haven.Resource$Pool.handle(Resource.java:431)
      ... 3 more


Every time when I enter shallow water or swamp from land (not when I leave snekkja to swim or enter shallow from deep water ? :shock: ):
Code: Select all
java.lang.NullPointerException
   at haven.render.InstanceList$InstanceState.inststate0(InstanceList.java:178)
   at haven.render.InstanceList$InstanceState.<init>(InstanceList.java:187)
   at haven.render.InstanceList$InstancedSlot.<init>(InstanceList.java:297)
   at haven.render.InstanceList.add0(InstanceList.java:531)
   at haven.render.InstanceList.update(InstanceList.java:658)
   at haven.render.RenderTree$Client.updated(RenderTree.java:74)
   at haven.render.RenderTree$TreeSlot.lambda$updtotal$3(RenderTree.java:593)
   at java.util.ArrayList.forEach(Unknown Source)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:593)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.updtotal(RenderTree.java:591)
   at haven.render.RenderTree$TreeSlot.upddstate(RenderTree.java:581)
   at haven.render.RenderTree$TreeSlot.chstate(RenderTree.java:626)
   at haven.render.RenderTree$TreeSlot.ostate(RenderTree.java:652)
   at haven.Gob$Placed.update(Gob.java:750)
   at haven.Gob$Placed.autotick(Gob.java:744)
   at haven.render.TickList.lambda$tick$0(TickList.java:132)
   at java.util.ArrayList.forEach(Unknown Source)
   at haven.render.TickList.tick(TickList.java:140)
   at haven.PView.tick(PView.java:141)
   at haven.MapView.tick(MapView.java:1421)
   at haven.Widget.tick(Widget.java:702)
   at haven.GameUI.tick(GameUI.java:856)
   at haven.Widget.tick(Widget.java:702)
   at haven.UI.tick(UI.java:145)
   at haven.JOGLPanel.run(JOGLPanel.java:362)
   at java.lang.Thread.run(Unknown Source)


Boating with a fast snekkja makes you do small jumps from time to time, like boating isn't smooth. Snekkja looks weird, I see water through it:
Image


I think the jump thing is tied to FPS somehow, when I have low fps this happens on horse:
Image


Tried to attack a fox from a boat...
Image


Log in while in combat (everytime):
Code: Select all
java.lang.NullPointerException
   at haven.Gob$Placed.getc(Gob.java:771)
   at haven.Fightsess.updatepos(Fightsess.java:90)
   at haven.Fightsess.draw(Fightsess.java:141)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.GameUI.draw(GameUI.java:829)
   at haven.Widget.draw(Widget.java:728)
   at haven.Widget.draw(Widget.java:733)
   at haven.RootWidget.draw(RootWidget.java:68)
   at haven.UI.draw(UI.java:150)
   at haven.JOGLPanel.display(JOGLPanel.java:319)
   at haven.JOGLPanel.run(JOGLPanel.java:378)
   at java.lang.Thread.run(Unknown Source)


Realm claim makes some water look really weird (shallow/deep water limit):
Image


Happened once when hearthing back while loading:
Code: Select all
java.lang.NullPointerException
   at haven.Skeleton$BoneOffset.lambda$null$6(Skeleton.java:1017)
   at haven.Skeleton$BoneOffset.forpose(Skeleton.java:1066)
   at haven.Following.xf(Following.java:86)
   at haven.Gob$Placed$Placement.<init>(Gob.java:669)
   at haven.Gob$Placed.curplace(Gob.java:766)
   at haven.Gob$Placed.added(Gob.java:755)
   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.MapView$Gobs.addgob(MapView.java:489)
   at haven.MapView$Gobs.lambda$added$1(MapView.java:525)
   at haven.Loader.lambda$defer$0(Loader.java:180)
   at haven.Loader$Future.run(Loader.java:65)
   at haven.Loader$Future.access$200(Loader.java:40)
   at haven.Loader.loop(Loader.java:142)
   at java.lang.Thread.run(Unknown Source)


Similar, entering a house on a horse also happened once:
Code: Select all
java.lang.NullPointerException
   at haven.Skeleton$BoneOffset.lambda$null$6(Skeleton.java:1017)
   at haven.Skeleton$BoneOffset.forpose(Skeleton.java:1066)
   at haven.Following.xf(Following.java:86)
   at haven.Gob$Placed$Placement.<init>(Gob.java:669)
   at haven.Gob$Placed.autotick(Gob.java:739)
   at haven.render.TickList.lambda$tick$0(TickList.java:132)
   at java.util.ArrayList.forEach(Unknown Source)
   at haven.render.TickList.tick(TickList.java:140)
   at haven.PView.tick(PView.java:141)
   at haven.MapView.tick(MapView.java:1421)
   at haven.Widget.tick(Widget.java:702)
   at haven.GameUI.tick(GameUI.java:856)
   at haven.Widget.tick(Widget.java:702)
   at haven.UI.tick(UI.java:145)
   at haven.JOGLPanel.run(JOGLPanel.java:362)
   at java.lang.Thread.run(Unknown Source)


Broken UI for a sign (not just new client?)
Image


Crash in Asgard
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:496)
   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)


When I see this (highly suspect the flag, like 99%)... No not the flag..
Image


Narrowed it down to this chunk, but it's cluttered... Not sure what it can be.
Image


Same crash here, suspect ghost pipe (or eventually gnomes cap)... No not ghostpipe :
Image


Opening belt while loading:
Code: Select all
java.lang.NullPointerException
   at haven.Gob$Placed.getc(Gob.java:771)
   at haven.GameUI.optplacement(GameUI.java:560)
   at haven.GameUI.addchild(GameUI.java:751)
   at haven.UI.addwidget(UI.java:181)
   at haven.RemoteUI.run(RemoteUI.java:78)
   at haven.MainFrame.run(MainFrame.java:257)
   at java.lang.Thread.run(Unknown Source)
Last edited by stya on Sat Jan 11, 2020 11:02 pm, edited 29 times in total.
Image
User avatar
stya
 
Posts: 943
Joined: Wed May 21, 2014 3:13 pm

Next

Return to Announcements

Who is online

Users browsing this forum: Naylok, Python-Requests [Bot] and 27 guests