GithubHelp home page GithubHelp logo

enderwiggin / hafen-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dolda2000/hafen-client

26.0 26.0 35.0 69.62 MB

New Haven client

License: Other

Shell 0.05% Java 99.83% Python 0.11% Batchfile 0.01%

hafen-client's People

Contributors

dolda2000 avatar elsid avatar enderwiggin avatar fr-dae avatar ghandhikus avatar jamesblack avatar k-t avatar programmerdan avatar qbalukom avatar romovs avatar stachowski avatar surculus12 avatar tomventura avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hafen-client's Issues

RMB Camera rotation

When you rotate camera holding a wheel, you need to change position of your index finger and you cannot press the left button at the same time. I also broke two mouses this way, because wheels are very vulnerable on cheap mouses.

Can you please add option to combine middle and right mouse buttons functionality together, to be able to open context menus and rotate camera at the same time on RMB?

Cattle roster missing

I'm unsure of how it happened but my cattle roster window is missing. It may be off screen. Perhaps the window manager should prevent windows from leaving the viewable area? I'm also not sure if this issue should be more upstream.

App crashed on start

java.lang.AbstractMethodError
        at haven.ItemInfo.buildinfo(ItemInfo.java:378)
        at haven.GItem.info(GItem.java:189)
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
        at java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:175)
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
        at haven.AttrBonusesWdg.doUpdate(AttrBonusesWdg.java:102)
        at haven.AttrBonusesWdg.tick(AttrBonusesWdg.java:81)
        at haven.Widget.tick(Widget.java:652)
        at haven.Widget.tick(Widget.java:652)
        at haven.Widget.tick(Widget.java:652)
        at haven.GameUI.tick(GameUI.java:1006)
        at haven.Widget.tick(Widget.java:652)
        at haven.UI.tick(UI.java:140)
        at haven.HavenPanel.run(HavenPanel.java:557)
at java.lang.Thread.run(Thread.java:748)

Suggestion, Filled tree hitbox.

I think that managing one's tree farm would be a somewhat less click-awkward exercise (when doing so with trees in hidden mode) if the tree hitbox would have its inner space filled (and being clickable of course).

It could be some solid color. Or, as per example, using some transparency (needs "A>128" if I recall it correctly).

Screenshot from 2022-05-22 11-41-00(C)

Screen rendering issue

The actual game renders towards the lower left corner of the game window instead of taking up the whole window and the mouse cursor appears to be offset from where is should be for instance to press on the log in button the visible cursor has to be above and to the right of the log in button.
Screenshot (1)

Crash with small chance in fight.

Got this crash only once for now, so no big deal, but still possibility there.
Occurred in fight with moose while he was fleeing and I spammed attack-peace to make him return to me.

java.lang.NegativeArraySizeException
at java.util.AbstractCollection.toArray(Unknown Source)
at java.util.ArrayList.(Unknown Source)
at haven.GobDamageInfo.clearAllDamage(GobDamageInfo.java:99)
at haven.Action.run(Action.java:93)
at haven.Fightsess.destroy(Fightsess.java:188)
at haven.Widget.reqdestroy(Widget.java:554)
at haven.UI.destroy(UI.java:346)
at haven.UI.destroy(UI.java:353)
at haven.RemoteUI.run(RemoteUI.java:72)
at haven.MainFrame.uiloop(MainFrame.java:301)
at haven.MainFrame.run(MainFrame.java:317)
at haven.MainFrame.main2(MainFrame.java:412)
at haven.MainFrame.lambda$main$0(MainFrame.java:448)
at java.lang.Thread.run(Unknown Source)

Fine placement

Noticed today that holding CTRL while placing stockpile or building for fine placement (not bound to grid) doesn't work anymore. Maybe a conflict with server where holding SHIFT in native client does the same thing (but without all the added benefits of Hafen with hitbox view, etc).

Make new release with tag (please)

on github, go on release, "new release" , add tag, clic on generate auto-changlog
and valide,
that make you a release and a cool tag on you git history

[issue] flat terrain

When "Make flat terrain" is enabled, landscaping always shows that there is no soil needed, where in fact it is needed

[Feature] a cap or cover for urn

hi !, first, thanks you read me, and thanks you for your work

could you, in futur update add a a cap or cover for a urn when it's full ?

Tile centered heartling offset, ?

Merged top-down screenshots of a tile-centered heartling from two opposite positions (NS or EW).
example

Is it potentially fixable for a tile-centered heartling's position to be dead-center inside a tile (even in max zoomed-in view) ?
(mainly useful when such top-down (NSEW) screenshots are used for some personal projects.)

"Resource deadlock avoided" Reproducibility, (forum followup).

Related/(followup) to this forum post.

For when there might be a need to be able to test/reproduce this error.

So far the best chance (raw estimate: 75%+) in reproducing this error (on Linux-Mint at least) I found to be:

  • Using two freshly started clients.
  • Have at least one of the characters with a scythe in its toolbelt. (equippable, but not already equipped)
  • Using the character with the scythe to harvest some crops, while the other character is in its visibility range.

That it.

(A potential alternative (3 clients) would be to let a fully dressed+equipped character walk in on two naked characters. ... ie: the more resources two clients are given to load at the same moment, the higher the change that "Resource deadlock avoided" case is triggered.)

[Feature] inventory sort

Hi!
if the game engine allows it,
would it be possible to add a button that automatically sorts the inventory,
but also combines the items that can be sorted?

cleanning repo

Hello, thank you for your wonderful work,
se-rais possible de placer votre autre depot en "archived".
if need, i can try help

crash error

On Lubuntu 22.04x64

i have sometime this message when i start the launcher

dae@dae-GL753VD

OS: Ubuntu 22.04.3 LTS x86_64
Host: GL552VW 1.0
Kernel: 5.15.0-88-generic

Resolution: 1920x1080, 1050x1680
DE: LXDE
WM: Openbox

CPU: Intel i7-6700HQ (8) @ 3.500GHz
GPU: Intel HD Graphics 530
GPU: NVIDIA GeForce GTX 960M
Memory: 16Gio

java.lang.ArrayIndexOutOfBoundsException: Index 8239 out of bounds for length 256
	at haven.FastText.textw(FastText.java:71)
	at haven.FastText.aprint(FastText.java:78)
	at haven.FastText.aprintf(FastText.java:110)
	at haven.LoginScreen$StatusLabel.draw(LoginScreen.java:289)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.LoginScreen.draw(LoginScreen.java:397)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.RootWidget.draw(RootWidget.java:123)
	at haven.UI.draw(UI.java:248)
	at haven.GLPanel$Loop.display(GLPanel.java:312)
	at haven.GLPanel$Loop.run(GLPanel.java:401)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:1583)

[BUG] enable/desable tree fast, crash the game

haven.render.RenderTree$SlotRemoved: adding haven.ResDrawable@469ce05d
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:475)
	at haven.render.RenderTree$TreeSlot.add(RenderTree.java:408)
	at haven.render.RenderTree$Slot.add(RenderTree.java:385)
	at haven.RUtils.multiadd(RUtils.java:46)
	at haven.Gob.lambda$updateVisibility$9(Gob.java:1273)
	at haven.Loader.lambda$defer$0(Loader.java:240)
	at haven.Loader$Future.run(Loader.java:71)
	at haven.Loader$Future.access$400(Loader.java:42)
	at haven.Loader.loop(Loader.java:202)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Filter Gobs?

Would it be possible to highlight gobs based on a filter for "has:x" "has:bough" "has:berries" for example. Would save some people who aren't 100% good at recognizing tree a lot of right clicking.

[feature] sound settings improve

would it be possible to differentiate the audio channels,
and thus be able to adjust the volume of the "tic-tic" notifications,
which are very VERY loud in game, and depend on the "master volume", i.e. to turn them down you have to turn them ALL down :/.

[BUG] crash after destroy a stick wall

java.lang.Error: Unexpected non-local exit
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:540)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:531)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:531)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:531)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:531)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:531)
	at haven.MapView$Gobs.removed(MapView.java:805)
	at haven.OCache.remove(OCache.java:131)
	at haven.OCache$GobInfo.apply(OCache.java:379)
	at haven.Loader.lambda$defer$0(Loader.java:240)
	at haven.Loader$Future.run(Loader.java:71)
	at haven.Loader$Future.access$400(Loader.java:42)
	at haven.Loader.loop(Loader.java:202)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.IllegalStateException: removing non-present slot
	at haven.render.InstanceList.remove(InstanceList.java:713)
	at haven.render.RenderTree$Client.removed(RenderTree.java:110)
	at haven.render.RenderTree$TreeSlot.lambda$remove$1(RenderTree.java:537)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at haven.render.RenderTree$TreeSlot.remove(RenderTree.java:537)
	... 13 more

Adjust grid transparency?

Do you think it's possible to draw the CTRL + G grid with some transparency?
I like it on, but it's a bit intrusive.

Client account Login (Ender vs Vanilla)

Not sure what's up here. Or how to get it back into some workable form.

Anyway ...
First I needed to updating the Vanilla client launcher. Previous one complained/crashed due to launcher being outdated ... Have not used in some time.

  • New Vanilla client launcher coming from Forum [Play] button.

Because the Vanilla client was complaining about "Launcher login expired", I reset some saved account logins with it.

After that I did the same with the saved account login's in the Ender client.

But ... the Vanilla client is now not only complaining about "Launcher login expired". Its now it also refuses to login. Falling back to the account login screen with a "Invalid save" complained when I try it anyway. (it did not do that before I reset the account logins :( )

.../HnH/Ender$ md5sum launcher*
92910afeb530ef85e9d8d29940064881 launcher-hafen-beta.jar
1f4d8672077c9a65990d82e663bc8e26 launcher-hafen.jar

  • Linux Mint.

crach when i clic on "carpentery" skill (maybe FR issue)

it's maybe my FR translation need some fix
do I need to convert all accesses to UTF8 like
"%C3%A9" or "é" é for "é"
or does the problem come from somewhere else?

haven.RichText$FormatException: Junk left after the end of input: 

	at haven.RichText$Parser.parse(RichText.java:561)
	at haven.RichText$Parser.parse(RichText.java:573)
	at haven.RichText$Parser.parse(RichText.java:583)
	at haven.RichText$Foundry.render(RichText.java:737)
	at haven.RichTextBox.settext(RichTextBox.java:61)
	at haven.CharWnd$LoadingTextBox.draw(CharWnd.java:741)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.GameUI.draw(GameUI.java:1264)
	at haven.Widget.draw(Widget.java:776)
	at haven.Widget.draw(Widget.java:781)
	at haven.RootWidget.draw(RootWidget.java:123)
	at haven.UI.draw(UI.java:248)
	at haven.GLPanel$Loop.display(GLPanel.java:312)
	at haven.GLPanel$Loop.run(GLPanel.java:401)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:1583)

All app files are downoloaded to $HOME directory on Linux

Steps to reporoduce (Ubuntu 18.04, openjdk-11)

  1. Download updater-hafen.jar to some folder, e.g. $HOME/Downloads/hafen.
  2. Set the executable bit on updater-hafen.jar.
  3. Execute the file by double clicking on it.

Expected behavior:

  • All files are downloaded under $HOME/Downloads/hafen

Actual behavior:

  • Files are downloaded to the current user's home directory.

This is quite annoying, as it pollutes homedir with lots of game jar's and configuration files.

[feature] import/export toolbar layer

be able to save a file, share it and upload it, with all the objects or craft or buttons in the action bars.

so you can easily import them from one character to another, from one account to another, or for groups of friends.

Caverat not marked as dangerous creature

Caverats are somewhat rare underground creatures: http://ringofbrodgar.com/wiki/Caverat

They're pretty aggressive and hard to see due to their small size and their color. Would be nice if these could also be added to the dangerous creatures list.

(It's also absent from the Radar Settings list, being displayed as '???'. Charred trees and blood splatters are also '???' in that list.)

The resource name, according to X -> I, is 'gfx/kritter/rat/caverat'.

camera options

add ability to select current camera with ui, not just console command

Client crash when New Character pressed

strace:

java.lang.IllegalStateException: MappingClient should be initialized first!
	at integrations.mapv4.MappingClient.getInstance(MappingClient.java:54)
	at haven.GameUI.addchild(GameUI.java:948)
	at haven.UI.newwidget(UI.java:246)
	at haven.RemoteUI.run(RemoteUI.java:65)
	at haven.MainFrame.uiloop(MainFrame.java:286)
	at haven.MainFrame.run(MainFrame.java:302)
	at haven.MainFrame.main2(MainFrame.java:448)
	at haven.MainFrame.lambda$main$0(MainFrame.java:484)
	at java.base/java.lang.Thread.run(Thread.java:834)

config.json:

{
  "general": {
    "storemap": true,
    "start_toggle": {
      "tracking": true
    },
    "toolbelt1": true,
    "warning": {
      "animal": {
        "highlight": true,
        "message": true
      }
    }
  },
  "ui": {
    "menu_add_pick_all": true,
    "progress_number": true,
    "real_time_curio": true,
    "show_curio_lph": true
  },
  "automap": {
    "upload": true,
    "track": false
  },
  "display": {
    "gob_paths": {
      "show": true,
      "categories": [
        "FOE",
        "ME",
        "AGGRESSIVE_ANIMAL"
      ]
    },
    "show_gob_radius": true
  },
  "version": "06.04.2021 20:14"
}

'Warn about players' triggers on self when shift-RMBing an entrance and then entering

Shift-RMB allows you to view an area you're about to enter before entering it, and you can then LMB to enter the area. Doing so with 'warn about players' enabled warns you that it found a player and draws a red circle around your own character. (I can reproduce this with a house, haven't checked other entrances but presumably it's the same there.)

Client compiled but can't connect.

Hi,
I cloned the repo and compiled the project with ant, but can't log in the game. It says "Connection refused: connect".
Also, how do I debug? It says it cannot find the main method. I'm using Visual Studio Code. Should I use another IDE?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.