Giter Club home page Giter Club logo

legendsbrowser's People

Contributors

christerdynamo avatar francoijs avatar mcarcady avatar nicals avatar ralpha avatar robertjanetzko avatar seeschloss avatar thecodewarrior avatar therahedwig 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

legendsbrowser's Issues

remove note about extended exportlegends?

The linked exportlengeds LUA was last updated October 28, 2015. The script included with dfhack contains these commits, and has been further updated since (in fact, was last updated within the last few weeks)

I suggest removing this note from the documentation.

Non-square maps stretching [not really]

Custom size map images get treated as squares (and stretched unnecessarily), while overlays are displayed correctly (?). As result, locations and underlying maps are misaligned:
nonsquaremap
Mini-maps are affected too.

Later:
Seems to be a case of corrupted export/world, races cannot be picked up too. Had 4 "unknown reference 48 ABSTRACT_BUILDING" during DFHack export. Generation was run with culling of unimportant character plus 980 years of history, so, i guess, this is a reason?

Tried with short non-square pocket worlds, everything seems fine there. Going to run the same seeds without culling. Aaaand it crashes reliably, but the same preset with <100 years produces normal results. Tried 510 years with culling - got 4 "unknown reference 48 ABSTRACT_BUILDING" again, but LegendsBrowser works fine. Stuff is weird, yo, but seems unrelated to LB. Sorry to bother.

JRE Load Error (Mac OS)

When trying to legends browser in Mac OS 11.5.2, I receive the following error after bypassing the security stuff:

Screen Shot 2021-08-23 at 7 36 41 AM

What license is LegendsBrowser under?

Hi,

I notice you mention that "LegendsBrowser is open source", but you do not specifically mention what license it's under. Can you please either license the software or make it explicit that the software is unlicensed and in the public domain?

For example, see here for some more information if you want to pick a permissive or copyleft license.

[BUG] nicknames containing the '&' character cause org.xml.sax.SAXParseException

Hi,
Ubuntu 18.04 LTS, LNP 44.12.r02.

I did open-legends then exportlegends info in DFHack console. When I try to open the resulting xml file in the browser, it displays loading legends.xml... but nothing happens afterwards.
I have found the following in the log:

[2019-01-01 17:50:32] INFO: server started on localhost:58881
[2019-01-01 17:50:53] INFO: legendsPath:       /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-legends.xml
legendsPlusPath:   /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-legends_plus.xml
worldGenPath       /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-world_gen_param.txt
historyPath:       /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-world_history.txt
sitesAndPropsPath: /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-world_sites_and_pops.txt
imagePath:         /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-detailed.bmp

[2019-01-01 17:50:53] INFO: load legends: /home/hippo/Desktop/LinuxLNP-0.44.12-r02/df_linux/region1-00133-07-09-legends.xml
[2019-01-01 17:50:53] WARNING: site - unknown element: rectangle = 295,1877:297,1879
[2019-01-01 17:50:53] WARNING: structure - unknown element: local_id = 0
[2019-01-01 17:50:53] WARNING: structure - unknown element: subtype = catacombs
[2019-01-01 17:50:53] WARNING: structure - unknown element: copied_artifact_id = 12
[2019-01-01 17:50:53] WARNING: artifact - unknown element: name_string = mamgozom ibmat lisid
[2019-01-01 17:50:53] WARNING: artifact - unknown element: site_id = 60
[2019-01-01 17:50:53] WARNING: artifact - unknown element: structure_local_id = 0
[2019-01-01 17:50:53] WARNING: artifact - unknown element: holder_hfid = 1366
[2019-01-01 17:50:53] WARNING: artifact - unknown element: subregion_id = 543
[2019-01-01 17:50:54] WARNING: historical_figure - unknown element: relationship_profile_hf_visual = 100
[2019-01-01 17:50:54] WARNING: entity_reputation - unknown element: rep_treasure_hunter = 150
[2019-01-01 17:50:54] WARNING: entity_reputation - unknown element: rep_knowledge_preserver = 50
[2019-01-01 17:50:54] SEVERE: error loading legends
org.xml.sax.SAXParseException; lineNumber: 1383533; columnNumber: 23; The reference to entity "bookeeper" must end with the ';' delimiter.
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
	at legends.LegendsReader.read(LegendsReader.java:37)
	at legends.model.World$1.run(World.java:476)

`

Parser error (legendsbrowser v1.18.1, df v0.47.04)

I got this error while loading legendsbrowser on my dfhack exported legends data:

[Fatal Error] :875992:58: Element type "history_event_body_abusedst.T_abuse_data:" must be followed by either attribute specifications, ">" or "/>".
[2020-03-03 15:57:15] SEVERE: error loading legends
org.xml.sax.SAXParseException; lineNumber: 875992; columnNumber: 58; Element type "history_event_body_abusedst.T_abuse_data:" must be followed by either attribute specifications, ">" or "/>".
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
	at legends.LegendsReader.read(LegendsReader.java:87)
	at legends.model.World$1.run(World.java:492)

Here is what I got at line 875992 in my *-legends.xml , I fail to see what is the problem :

                <hf_skill>
                        <skill>SPEAKING</skill>
                        <total_ip>500</total_ip>
                </hf_skill>

Tell me what to look for , I will gladly help debug this issue.

[request] show current locations of megabeasts on the map

It would be nice to have a map layer for the current locations of megabeasts (and possibly semi-megabeasts separately). This might be their current location, or settlement, or current wandering area, or the location of their last event.

Generally, it would be nice to be able to click a region tile and see what's there (entities, performance troupes, sites, structures, leaders, artifacts, the occasional forgotten megabeast, etc).

multiple sites in the same location

it's possible for multiple sites to be in the same location on the world map.

For example, a town, a camp, a road and a bridge can overlap. As a result of it, it's possible for a town to become unclickable and invisible. It just looks like the road, bridge and all, ends in a camp. Even if the town is the capital. :)

NullPointerException loading v0.47.05 legends_plus.xml

The following occurs loading legends_plus.xml

java -jar legendsbrowser-1.19.2.jar -w legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml 
[2021-08-02 18:01:18] INFO: loading world: legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml
[2021-08-02 18:01:18] INFO: server started on localhost:58881
[2021-08-02 18:01:18] INFO: legendsPath:       legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml
legendsPlusPath:   legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml
worldGenPath       legends-region1-00143-01-01/region1-world_gen_param.txt
historyPath:       legends-region1-00143-01-01/region1-00143-01-01-world_history.txt
sitesAndPropsPath: legends-region1-00143-01-01/region1-00143-01-01-world_sites_and_pops.txt
imagePath:         null

[2021-08-02 18:01:18] INFO: load legends: legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml
[2021-08-02 18:01:19] WARNING: df_world - unknown element: rivers = 34,79
[2021-08-02 18:01:19] WARNING: df_world - unknown element: creature_raw = 
[2021-08-02 18:01:19] WARNING: structure - unknown element: deity_type = 1
[2021-08-02 18:01:20] WARNING: identity - unknown element: nemesis_id = 503
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: change_hf_state
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: add_hf_entity_link
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: created_building
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: add_hf_site_link
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: assume_identity
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: artifact_created
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: change_hf_job
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: create_entity_position
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hist_figure_died
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hist_figure_wounded
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hist_figure_new_pet
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: creature_devoured
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: item_stolen
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: add_hf_hf_link
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: remove_hf_site_link
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: change_creature_type
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: war_peace_accepted
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: replaced_building
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: remove_hf_entity_link
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hf_learns_secret
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: war_peace_rejected
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hf_act_on_building
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: entity_action
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: body_abused
[2021-08-02 18:01:20] WARNING: historical_event - UNKNOWN SUBTYPE: hf_does_interaction
[2021-08-02 18:01:21] WARNING: df_world - unknown element: historical_event_relationships = 142
[2021-08-02 18:01:21] WARNING: df_world - unknown element: historical_event_relationship_supplements = 81
[2021-08-02 18:01:21] INFO: load legends: legends-region1-00143-01-01/region1-00143-01-01-legends_plus.xml
[2021-08-02 18:01:21] WARNING: df_world - unknown element: rivers = 34,79
[2021-08-02 18:01:21] WARNING: df_world - unknown element: creature_raw = 
[2021-08-02 18:01:21] WARNING: structure - unknown element: deity_type = 1
[2021-08-02 18:01:21] WARNING: identity - unknown element: nemesis_id = 503
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - hfid = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - state = settled
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - reason = none
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - site = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - civ = 220
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - histfig = 293
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - link_type = position
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - position = general
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - appointer_hfid = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - promise_to_hfid = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - site_civ = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - structure = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - builder_hf = 306
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - rebuild = false
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - trickster = 598
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - identity_histfig_id = 598
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - identity_name = Bithsêstgenlath
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - target = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - artifact_id = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - creator_unit_id = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - creator_hfid = 306
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - new_job = beast_hunter
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - old_job = standard
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - victim_hf = 551
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - slayer_hf = 6
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - slayer_race = 583
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - slayer_caste = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - death_cause = struck_down
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - woundee = 550
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - wounder = 6
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - woundee_race = 572
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - woundee_caste = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - body_part = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - injury_type = smash
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - part_lost = false
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - group = 595
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - pets = giant rat
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - victim = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - race = goat
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - caste = male
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - eater = 14
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - entity = 241
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - item_type = plant_growth
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - item_subtype = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - mat = quarry bush leaf
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - stash_site = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - circumstance = 9
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - theft_method = theft
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - hf = 443
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - hf_target = 435
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - mattype = 630
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - matindex = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - changee = 767
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - changer = 280
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - old_race = dwarf
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - old_caste = 1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - new_race = twilight crone
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - new_caste = 1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - topic = requestpeace
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - source = 248
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - destination = 222
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - old_structure = 0
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - new_structure = 2
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - identity_nemesis_id = 503
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - identity_race = human
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - identity_caste = female
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - student = 704
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - teacher = -1
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - artifact = 10
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - secret_text = the secrets of life and death
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - item = 20
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - action = prayedinside
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - bodies = 849
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - victim_entity = 355
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - abuse_type = mutilated
[2021-08-02 18:01:21] WARNING: historical_event - unknown element: UNKNOWN - pile_type = gruesomesculpture
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - interaction = 93
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - tree = 201
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - item_mat = cotton
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - doer = 588
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - interaction_action = cursed to assume the form of a gecko-like monster every full moon
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - region = -1
[2021-08-02 18:01:22] WARNING: historical_event - unknown element: UNKNOWN - sanctify_hf = 1165
[2021-08-02 18:01:22] WARNING: df_world - unknown element: historical_event_relationships = 142
[2021-08-02 18:01:22] WARNING: df_world - unknown element: historical_event_relationship_supplements = 81
[2021-08-02 18:01:22] WARNING: no map image found
[]
[]
[]
[]
[2021-08-02 18:01:23] INFO: world ready
[2021-08-02 18:01:35] SEVERE: error in request: /worldmap
org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getMapDescription' in  class legends.model.WorldConstruction threw exception java.lang.NullPointerException at worldMap.vm[line 39, column 44]
	at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:223)
	at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
	at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
	at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
	at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:420)
	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
	at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
	at legends.helper.Decorate.render(Decorate.java:26)
	at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
	at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
	at org.apache.velocity.Template.merge(Template.java:356)
	at org.apache.velocity.Template.merge(Template.java:260)
	at legends.RequestThread.run(RequestThread.java:164)
Caused by: java.lang.NullPointerException
	at legends.model.WorldConstruction.getMapDescription(WorldConstruction.java:113)
	at jdk.internal.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.apache.velocity.runtime.parser.node.PropertyExecutor.execute(PropertyExecutor.java:142)
	at org.apache.velocity.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:539)
	at org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:198)
	... 12 more

The boxes are all empty, and other pages throw exceptions.

Idea: record position and zoom of the camera on the world map

When selecting a site on the world map, then going back (with the back button of the browser), the position and zoom level of the camera on the map are reset.
They could be stored in a cookie for example, so that the map is restored just as it was before.

However, clicking again on the menu 'World Map' could be a way to reset it.

Version 0.47 world can't be loaded

When trying to load a xml file of a new version's world, I get the following error:

The element type "conspirator_hfid" must be terminated by the matching end-tag ""....

I've tried with both the world attached and another one (with longer history, won't upload because it's 3 GB). It's the same error for both.

The xml was made using the "x" command in the vanilla Legends interface. I'm on Linux pop_OS! 19.10, 64 bits, and I'm using openjdk 11.0.6 to run the .jar file.

region.zip

Support mercenary company honors for .47

I am just gonna add some issues here with the new legends stuff and samples. There's a looooot added, so gotta do this issue-by-issue.

[2020-01-31 20:51:14] WARNING: entity - unknown element: honor = 0

Used by mercenary companies. Samples:

<honor>
        <id>0</id>
        <name>Captain</name>
        <gives_precedence>100</gives_precedence>
        <requires_any_melee_or_ranged_skill/>
        <required_skill_ip_total>12600</required_skill_ip_total>
        <required_battles>4</required_battles>
        <required_years>10</required_years>
        <exempt_epid>0</exempt_epid>
        <exempt_former_epid>0</exempt_former_epid>
</honor>
<honor>
        <id>1</id>
        <name>Sword Master</name>
        <gives_precedence>110</gives_precedence>
        <required_skill>SWORD</required_skill>
        <required_skill_ip_total>12600</required_skill_ip_total>
</honor>
<honor>
        <id>2</id>
        <name>Sword Adept</name>
        <gives_precedence>210</gives_precedence>
        <required_skill>SWORD</required_skill>
        <required_skill_ip_total>5600</required_skill_ip_total>
</honor>

<honor>
        <id>0</id>
        <name>Captain</name>
        <gives_precedence>100</gives_precedence>
        <requires_any_melee_or_ranged_skill/>
        <required_skill_ip_total>12600</required_skill_ip_total>
        <required_battles>4</required_battles>
        <exempt_epid>0</exempt_epid>
        <exempt_former_epid>0</exempt_former_epid>
</honor>
<honor>
        <id>1</id>
        <name>Initiate</name>
        <granted_to_everybody/>
        <exempt_epid>0</exempt_epid>
        <exempt_former_epid>0</exempt_former_epid>
</honor>
<honor>
        <id>2</id>
        <name>Crossbow Master</name>
        <gives_precedence>110</gives_precedence>
        <required_skill>CROSSBOW</required_skill>
        <required_skill_ip_total>12600</required_skill_ip_total>
</honor>

[OSX] World Map button doesn't work

Hey,
Thy for the fixes, I took 1.08 for a spin, looks good, there are two minor problems I found:

1, The World map button on top doesn't do anything for me, it just displays "Waiting for localhost" forever. Tried multiple browser, problem is elsewhere.
2, Competitions, Art forms, etc. are displayed as "UNKNOWN".
eg:
In 1, The Hairy Walls held a UNKNOWN competition in in Yorepaged as part of the 0-1. Competing were the dwarf Cerol Beardseal, the night_creature_3 Cog Wipedcloister and the dwarf Zaneg Manorsnarled. the dwarf Zaneg Manorsnarled was the victor

An Exploration of the Goblins
Essay by the goblin Azstrog Wrathmenaces
form -1 UNKNOWN POETIC FORM
References
The goblin Azstrog Wrathmenaces became a fishery_worker in Troubleghoul
Style
Vicious

I assume these need more dfhack research and/or some addition to the exporter script, so as stated above it's a minor problem for now.

Problem when loading from path containing spaces (bug with processed .zip)

Loading World
Illegal character in opaque part at index 64: jar:file:/Users/fricy/Applications/Macnewbie_10.4/Macnewbie/User Generated Content/Legends/region1_legends_exports/region1-00005-01-01-legends_archive.zip...

If I remove the spaces from User Generated Content it loads. Curiously the Browser is able to load "unprocessed" legends from the "Dwarf Fortress" folder which also contains spaces.

Version 1.06 and 1.07 both [OSX]

Typo in updated exportlegends script

Line 162 should be:
file:write("\t\t<style>"..(df.written_content_style[styleV] or styleV).."</style>\n")

instead of closing with /type:
file:write("\t\t<style>"..(df.written_content_style[styleV] or styleV).."</type>\n")

Stuff from .44.12 unimplemented.

Looking at my error log, I realized there were some stuff that were in previous versions. Such as for example, the relationship entries. The latter corresponds a little to the reputation types on the wiki, so I checked my two 44.12 worlds where I did a bunch of testing when filling out the wiki there.

Here's my errologs:

[2020-02-01 16:38:50] WARNING: site - unknown element: rectangle = 359,640:361,642
[2020-02-01 16:38:50] WARNING: structure - unknown element: local_id = 0
[2020-02-01 16:38:50] WARNING: structure - unknown element: subtype = catacombs
[2020-02-01 16:38:50] WARNING: artifact - unknown element: name_string = mukongegngun
[2020-02-01 16:38:50] WARNING: artifact - unknown element: site_id = 16
[2020-02-01 16:38:50] WARNING: artifact - unknown element: holder_hfid = 266
[2020-02-01 16:38:50] WARNING: artifact - unknown element: abs_tile_x = 30554
[2020-02-01 16:38:50] WARNING: artifact - unknown element: abs_tile_y = 33669
[2020-02-01 16:38:50] WARNING: artifact - unknown element: abs_tile_z = 143
[2020-02-01 16:38:50] WARNING: artifact - unknown element: subregion_id = 171
[2020-02-01 16:38:50] WARNING: artifact - unknown element: structure_local_id = 6
[2020-02-01 16:38:50] WARNING: historical_figure - unknown element: relationship_profile_hf_visual = 100
[2020-02-01 16:38:50] WARNING: historical_figure - unknown element: relationship_profile_hf_historical = 64
[2020-02-01 16:38:50] WARNING: historical_figure - unknown element: relationship_profile_hf_identity = 4
[2020-02-01 16:38:50] WARNING: entity_reputation - unknown element: rep_treasure_hunter = 150
[2020-02-01 16:38:50] WARNING: entity_reputation - unknown element: rep_knowledge_preserver = 50
[2020-02-01 16:38:51] WARNING: entity_reputation - unknown element: rep_hero = 20
[2020-02-01 16:38:51] WARNING: historical_event - unknown element: plundered site - detected = 
[2020-02-01 16:38:51] WARNING: historical_event - unknown element: artifact possessed - subregion_id = -1
[2020-02-01 16:38:51] WARNING: historical_event - unknown element: artifact possessed - feature_layer_id = -1
[2020-02-01 16:38:51] WARNING: historical_event - unknown element: artifact created - name_only = 
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: artifact recovered - structure_id = -1
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: artifact recovered - subregion_id = 74
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: artifact recovered - feature_layer_id = -1
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: hf recruited unit type for entity - subregion_id = -1
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: hf recruited unit type for entity - feature_layer_id = -1
[2020-02-01 16:38:52] WARNING: historical_event - UNKNOWN SUBTYPE: tactical situation
[2020-02-01 16:38:52] WARNING: historical_event - UNKNOWN SUBTYPE: squad vs squad
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: merchant - trader_entity_id = 69
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: merchant - depot_entity_id = 2279
[2020-02-01 16:38:52] WARNING: historical_event - unknown element: merchant - site_id = 2279
[2020-02-01 16:38:53] WARNING: historical_event - unknown element: reclaim site - unretire = 
[2020-02-01 16:38:53] WARNING: historical_event - UNKNOWN SUBTYPE: entity rampaged in site
[2020-02-01 16:38:53] WARNING: historical_event - UNKNOWN SUBTYPE: agreement concluded
[2020-02-01 16:38:53] WARNING: written_content - unknown element: author_roll = 13
[2020-02-01 16:38:53] SEVERE: error loading history
[2020-02-01 16:40:15] WARNING: site - unknown element: rectangle = 85,647:87,649
[2020-02-01 16:40:15] WARNING: structure - unknown element: local_id = 0
[2020-02-01 16:40:15] WARNING: structure - unknown element: subtype = catacombs
[2020-02-01 16:40:15] WARNING: structure - unknown element: copied_artifact_id = 86
[2020-02-01 16:40:16] WARNING: artifact - unknown element: name_string = gosmsexuno
[2020-02-01 16:40:16] WARNING: artifact - unknown element: site_id = 58
[2020-02-01 16:40:16] WARNING: artifact - unknown element: structure_local_id = 8
[2020-02-01 16:40:16] WARNING: artifact - unknown element: subregion_id = 319
[2020-02-01 16:40:16] WARNING: artifact - unknown element: holder_hfid = 887
[2020-02-01 16:40:16] WARNING: artifact - unknown element: abs_tile_x = 61056
[2020-02-01 16:40:16] WARNING: artifact - unknown element: abs_tile_y = 41088
[2020-02-01 16:40:16] WARNING: artifact - unknown element: abs_tile_z = -1000000
[2020-02-01 16:40:16] WARNING: historical_figure - unknown element: relationship_profile_hf_visual = 100
[2020-02-01 16:40:16] WARNING: entity_reputation - unknown element: rep_treasure_hunter = 50
[2020-02-01 16:40:16] WARNING: historical_figure - unknown element: relationship_profile_hf_historical = 32
[2020-02-01 16:40:16] WARNING: entity_reputation - unknown element: rep_knowledge_preserver = 50
[2020-02-01 16:40:17] WARNING: entity_reputation - unknown element: rep_dancer = 42
[2020-02-01 16:40:18] WARNING: historical_figure - unknown element: relationship_profile_hf_identity = 22
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: plundered site - detected = 
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: artifact possessed - subregion_id = -1
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: artifact possessed - feature_layer_id = -1
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: artifact created - name_only = 
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: hf recruited unit type for entity - subregion_id = -1
[2020-02-01 16:40:18] WARNING: historical_event - unknown element: hf recruited unit type for entity - feature_layer_id = -1
[2020-02-01 16:40:19] WARNING: historical_event - UNKNOWN SUBTYPE: hf viewed artifact
[2020-02-01 16:40:19] WARNING: historical_event - unknown element: artifact recovered - structure_id = -1
[2020-02-01 16:40:19] WARNING: historical_event - unknown element: artifact recovered - subregion_id = -1
[2020-02-01 16:40:19] WARNING: historical_event - unknown element: artifact recovered - feature_layer_id = -1
[2020-02-01 16:40:20] WARNING: historical_event - unknown element: musical form created - subregion_id = -1
[2020-02-01 16:40:21] WARNING: historical_event - UNKNOWN SUBTYPE: tactical situation
[2020-02-01 16:40:21] WARNING: historical_event - UNKNOWN SUBTYPE: squad vs squad
[2020-02-01 16:40:21] WARNING: historical_event - unknown element: merchant - trader_entity_id = 249
[2020-02-01 16:40:21] WARNING: historical_event - unknown element: merchant - depot_entity_id = 10367
[2020-02-01 16:40:21] WARNING: historical_event - unknown element: merchant - site_id = 10367
[2020-02-01 16:40:22] WARNING: historical_event - UNKNOWN SUBTYPE: entity rampaged in site
[2020-02-01 16:40:22] WARNING: historical_event - UNKNOWN SUBTYPE: entity expels hf
[2020-02-01 16:40:22] WARNING: historical_event - unknown element: merchant - hardship = 
[2020-02-01 16:40:22] WARNING: historical_event - unknown element: merchant - lost_value = 
[2020-02-01 16:40:23] WARNING: written_content - unknown element: author_roll = 8

Idea: dark/night mode

By factorizing all color-related constants, we could define several themes (day/night for instance) and add a switch in the upper menu bar.

Support Java 11

Ubuntu must have recently updated its default java runtime. Launching (via java -jar legendsbrowser-1.19.2.jar) now gives:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so

After reverting to Java 8 (sudo update-alternatives --config java) LegendsBrowser launches fine.

Thank You!

It's always hard to figure out the best way to thank someone for being so awesome and doing all this work, but I figure an issue in Github is the least I can do. I was really surprised to hear that you already had 0.47 stuff done so quickly.

Add new villains stuff for .47

This collects the new intrigue, plot and agreement stuff.

[2020-01-31 20:51:11] WARNING: historical_figure - unknown element: intrigue_plot = 224

New in .47, these are kinda hilarious. It's basically the todolist of the villain in question. Some samples:

<intrigue_plot>
        <local_id>1</local_id>
        <type>grow funding network</type>
        <plot_actor>
                <actor_id>0</actor_id>
                <plot_role>source of funds</plot_role>
                <agreement_id>12</agreement_id>
        </plot_actor>
        <plot_actor>
                <actor_id>9</actor_id>
                <plot_role>source of funds</plot_role>
                <agreement_id>120</agreement_id>
        </plot_actor>
        <plot_actor>
                <actor_id>10</actor_id>
                <plot_role>source of funds</plot_role>
                <agreement_id>248</agreement_id>
        </plot_actor>
        <plot_actor>
                <actor_id>11</actor_id>
                <plot_role>source of funds</plot_role>
                <agreement_id>469</agreement_id>
        </plot_actor>
</intrigue_plot>
<intrigue_plot>
        <local_id>0</local_id>
        <type>attain rank</type>
        <on_hold/>
</intrigue_plot>
<intrigue_plot>
        <local_id>1</local_id>
        <type>grow funding network</type>
</intrigue_plot>
<intrigue_plot>
        <local_id>2</local_id>
        <type>grow asset network</type>
</intrigue_plot>
<intrigue_plot>
        <local_id>3</local_id>
        <type>grow corruption network</type>
        <on_hold/>
</intrigue_plot>

[2020-01-31 20:51:11] WARNING: historical_figure - unknown element: intrigue_actor = torment

Figures that are related to their villainous plots. Sample

<intrigue_actor>
        <local_id>0</local_id>
        <hfid>1399</hfid>
        <role>master</role>
        <strategy>obey</strategy>
</intrigue_actor>
<intrigue_actor>
        <local_id>1</local_id>
        <hfid>1289</hfid>
        <role>possibly unknown director</role>
</intrigue_actor>

[2020-01-31 20:51:14] WARNING: historical_event - UNKNOWN SUBTYPE: hfs formed intrigue relationship
[2020-01-31 20:51:14] WARNING: historical_event - UNKNOWN SUBTYPE: failed intrigue corruption

'So-and-so corrupted this-and-that'

[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - successful =
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - failed_judgment_test =
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - action = bribe official
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - method = intimidate
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_facet = fearlessness
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_facet_rating = 60
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_facet_modifier = -2
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_value = law
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_value_rating = -20
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - top_value_modifier = 6
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - coconspirator_bonus = 3
[2020-01-31 20:51:14] WARNING: historical_event - unknown element: agreement formed - ally_defense_bonus = 2

Sample:

<historical_event>
                <id>5682</id>
                <year>14</year>
                <seconds72>344400</seconds72>
                <type>agreement formed</type>
                <agreement_id>10</agreement_id>
        </historical_event>
        <historical_event>
                <id>5683</id>
                <year>14</year>
                <seconds72>344400</seconds72>
                <type>agreement formed</type>
                <agreement_id>11</agreement_id>
                <successful/>
                <failed_judgment_test/>
                <action>bribe official</action>
                <method>intimidate</method>
                <top_facet>fearlessness</top_facet>
                <top_facet_rating>60</top_facet_rating>
                <top_facet_modifier>-2</top_facet_modifier>
                <top_value>law</top_value>
                <top_value_rating>-20</top_value_rating>
                <top_value_modifier>6</top_value_modifier>
        </historical_event>

Out of memory error

Hi,

I get an out-of-memory error with the latest version, running on the attached legends-export.
OS: Windows 10
df: 0.42.04
java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) Client VM (build 25.66-b18, mixed mode, sharing)

region3-00258-07-01-legends.zip

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "Thread-213" Exception in thread "Thread-20" java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.newNode(Unknown Source) at java.util.HashMap.merge(Unknown Source) at java.util.stream.Collectors.lambda$toMap$172(Unknown Source) at java.util.stream.Collectors$$Lambda$49/24700072.accept(Unknown Source) at java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.collect(Unknown Source) at legends.model.World.setHistoricalEvents(World.java:311) at legends.xml.WorldContentHandler$$Lambda$37/6657591.accept(Unknown Source) at legends.xml.handlers.ListContentHandler.popContentHandler(ListContentHandler.java:48) at legends.xml.handlers.XMLContentHandler.endElement(XMLContentHandler.java:96) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at legends.LegendsReader.read(LegendsReader.java:33) at legends.model.World$1.run(World.java:481)

Money related stuff for .47

[2020-01-31 20:51:10] WARNING: site - unknown element: site_properties = 22

New in .47, these are the houses that histfigs can buy and own and store all their artifacts in.

Sample on site:

<site_properties>
                        <site_property>
                                <id>0</id>
                                <structure_id>5</structure_id>
                        </site_property>
                        <site_property>
                                <id>1</id>
                                <type>house</type>
                                <owner_hfid>497</owner_hfid>
                        </site_property>
                        <site_property>
                                <id>2</id>
                                <type>house</type>
                        </site_property>
                        <site_property>
                                <id>3</id>
                                <type>house</type>
                        </site_property>
                </site_properties>

(Structure ID here refers to a counting house, I guess merchenary companies need to buy these plots)

Sample on histfig:

<site_property>
                        <site_id>72</site_id>
                        <property_id>0</property_id>
                </site_property>

Gambling

<historical_event>
                <id>9315</id>
                <year>21</year>
                <seconds72>16800</seconds72>
                <type>gamble</type>
                <gambler_hfid>655</gambler_hfid>
                <site_id>54</site_id>
                <structure_id>2</structure_id>
                <old_account>0</old_account>
                <new_account>-5000</new_account>
        </historical_event>

Embezzlement:

<historical_event>
                <id>9543</id>
                <year>21</year>
                <seconds72>310800</seconds72>
                <type>hf convicted</type>
                <convicted_hfid>1399</convicted_hfid>
                <convicter_enid>445</convicter_enid>
                <crime>embezzlement</crime>
                <prison_months>72</prison_months>
        </historical_event>

Merchant companies doing trade

<historical_event>
                <id>35608</id>
                <year>49</year>
                <seconds72>210000</seconds72>
                <type>trade</type>
                <trader_hfid>5100</trader_hfid>
                <trader_entity_id>-1</trader_entity_id>
                <source_site_id>236</source_site_id>
                <dest_site_id>313</dest_site_id>
                <production_zone_id>5</production_zone_id>
                <allotment>13</allotment>
                <allotment_index>0</allotment_index>
                <account_shift>4370</account_shift>
        </historical_event>

Ransom

<historical_event>
                <id>349282</id>
                <year>143</year>
                <seconds72>134400</seconds72>
                <ransomed_hfid>27798</ransomed_hfid>
                <ransomer_hfid>27798</ransomer_hfid>
                <payer_hfid>22999</payer_hfid>
                <moved_to_site_id>251</moved_to_site_id>
        </historical_event>

I suspect these are bugged, ransomer and ransommed are the same, always...

Getting a structure:

<historical_event> 
                <id>501209</id> 
                <year>181</year>
                <seconds72>0</seconds72>
                <site_id>572</site_id>
                <building_profile_id>6</building_profile_id>
                <acquirer_hfid>17781</acquirer_hfid>
                <purchased_unowned/>  
                <inherited/>
                <rebuilt_ruined/>
        </historical_event>

Improving a structure:

<historical_event>
                <id>76574</id>
                <year>73</year>
                <seconds72>109200</seconds72>
                <site_id>332</site_id>
                <structure_id>2</structure_id>
                <modifier_hfid>10355</modifier_hfid>
                <modification>dungeon</modification>
        </historical_event>
<historical_event>
                <id>152018</id>
                <year>97</year>
                <seconds72>243600</seconds72>
                <site_id>332</site_id>
                <structure_id>2</structure_id>
                <modifier_hfid>10355</modifier_hfid>
                <modification>improved fortifications</modification>
        </historical_event>

Getting better equipment:

<historical_event>
                <id>502656</id>
                <year>181</year>
                <seconds72>243600</seconds72>
                <type>hf equipment purchase</type>
                <quality>3</quality>
                <group_hfid>19208</group_hfid>
                <site_id>-1</site_id>
                <structure_id>-1</structure_id>
                <subregion_id>-1</subregion_id>
                <feature_layer_id>-1</feature_layer_id>
        </historical_event>

Unsure what this is?

<historical_event>
                <id>29091</id>
                <year>44</year>
                <seconds72>226800</seconds72>
                <entity_id>546</entity_id>
                <reason>lack of funds</reason>
        </historical_event>

Enslavement:

<historical_event>
                <id>721427</id>
                <year>239</year>
                <seconds72>92400</seconds72>
                <enslaved_hfid>17680</enslaved_hfid>
                <seller_hfid>18417</seller_hfid>
                <payer_entity_id>2996</payer_entity_id>
                <moved_to_site_id>638</moved_to_site_id>
        </historical_event>

Specify world to use at startup?

Would it be possible to somehow specify the world to use at startup (i.e. as a command line argument), and then disable the "exit" button? I'd like to serve a world or two publicly over the web, but (for obvious reasons) I don't want to expose my server's filesystem to the world, so something like this would be a really nice feature.

Display evilness of regions

Evil/Good regions do not look different from the others on the world map.
Some leads to fix that:

  • allow displaying the in-game map exported in region*-world_map.bmp instead of the default region*-detailed.bmp
  • add an overlay that renders region*-evil.bmp on top of the map, with purple/blue colors
  • exploit new attribute from legends_plus (planned for a future version of exportlegends)

error when loading necromancers or vampires

I get the following when trying to open a page for dwarf necromancers or vampires.
Human necromancer pages do open.

org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getShortDescription' in class legends.model.events.HfLearnsSecretEvent threw exception java.lang.ArrayIndexOutOfBoundsException: 1 at events.vm[line 29, column 40]

I just updated to DFhack 0.47.04-r2 Which is when I got the error in LB 1.18.2.
So I updated to 1.19.2 but the error persists.

.dmg file fails to open

When trying to open the .dmg release I am getting an error saying there are no mountable file systems. I've worked out that the issue turned up somewhere between the 1.13 and 1.14 releases. If you don't have a mac I'd be happy to test .dmg files for you.

untitled

[bug] World folders containing caps cannot be opened in LegendsBrowser on a Unix system

Steps to Reproduce

  1. Use a Unix system (I am using Ubuntu)
  2. Rename a world folder to contain capital letters
  3. Load legends mode in DF and export the xml (I used exportlegends info in dfhack)
  4. Attempt to load the legends xml in LegendsBrowser

This seems to cause everything except the initial xml file to fail to load, including the civs file (though oddly, the map still loads). In the error logs, it can be seen that the file trying to be accessed is using a lowercase path. On a Windows system, this does not matter, however on a Unix system the caps are important and must match.

Paginate long event lists

Some sites can have enormous event lists, which can cause extremely long load times and can be unwieldy. I think it'd be good to have events paginate, which could be done by having the event list be a fragment that's loaded with javascript. That way support doesn't have to be included in every page that shows events.

Legends Browser crashed immediately after launch (OS X)

I downloaded the latest version of Legends Browser for mac OS (1.19.2), open the .dmg file and moved the application into my DF folder. However, the moment I open the application, it closes. The icon appears at my bottom bow for less than a second, after which is closes, it doesn't even give me an error message.

Throws exception when I open some historical figures with legends_plus.xml (DF 0.47.04, DFHack 0.47.04-r1)

When I try to look up any necromancer, vampire or werebeast this shows up instead of hf page:

org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getShortDescription' in class legends.model.events.HfLearnsSecretEvent threw exception java.lang.ArrayIndexOutOfBoundsException: 1 at events.vm[line 29, column 40]

or

org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getShortDescription' in class legends.model.events.HfDoesInteractionEvent threw exception java.lang.NullPointerException at events.vm[line 29, column 40]

This wasn't a problem with dfhack 0.47.04-beta1, I noticed changes in legend_plus.xml:

this
<secret_text>[IS_NAME:the secrets of life and death]</secret_text>
became
<secret_text>the secrets of life and death</secret_text>,

this
<interaction_action>[IS_HIST_STRING_2:, passing on the anteater monster curse]</interaction_action>
<interaction_string>[I_TARGET:A:CREATURE]</interaction_string>
became
<interaction_action>bit, passing on the gila monster monster curse</interaction_action>,

this
<interaction_action>[IS_HIST_STRING_1: cursed ]</interaction_action>
<interaction_string>[IS_HIST_STRING_2: to prowl the night in search of blood]</interaction_string>
became
<interaction_action>cursed to prowl the night in search of blood</interaction_action>

So this may be the cause of this problem, I think.

Example xml's:
New dfhack, not working:
legends_new.zip
legends.zip
Old, working:
legends_old.zip

Desktop.browse does not actually start a browser.

In https://github.com/robertjanetzko/LegendsBrowser/blob/master/src/main/java/legends/Application.java

function initWebServer swallows UnsupportedOperationException from:

Desktop.getDesktop().browse(new URI("http://localhost:" + server.getPort()));

The problem is that Desktop.browse is notoriously unreliable and non-portable.

On Unix systems, the correct solution is to spawn a process, xdg-open http://localhost:58881, but for some reason nobody has ever bothered to patch that into Java itself.

At the very least, pop up a window to display the warning so we at least know, when not running from a terminal.

JRELoadError on Startup [macOS]

Hello,

I'm running Mac OS X 10.11.6 (15G1004). I downloaded the DMG, copied the application to my ~/Applications folder and opened the app. It immediately gave me a dialog box saying nothing but JRELoadError

Anything I can try?

No mountable file system

I downloaded the dmg and double click the dmg the i get the error message that. The following disk images
Screen Shot 2021-07-11 at 2 52 41 PM
couldn't be opened. I have an older version of Mac bookpro 10.9.5 i think this could be the reason.

New relationship stuff for .47

This... almost seems like you could make one of those anime relationship charts :D (I am joking, don't feel pressured)

[2020-01-31 20:51:11] WARNING: historical_figure - unknown element: vague_relationship = 5955

Used for the new <childhood_friend/>, <war_buddy />, <religious_persecution_grudge/>, athletic buddy type relationships. sample:

<vague_relationship>
                        <jealous_relationship_grudge/>
                        <hfid>38525</hfid>
                </vague_relationship>
                <vague_relationship>
                        <jealous_obsession/>
                        <hfid>37139</hfid>
                </vague_relationship>

[2020-01-31 20:51:11] WARNING: historical_figure - unknown element: relationship_profile_hf_historical = 50

Very similar to relationship_profile_hf_visual. Sample:

<relationship_profile_hf_visual>
        <hf_id>1399</hf_id>
        <meet_count>0</meet_count>
        <last_meet_year>-1</last_meet_year>
        <last_meet_seconds72>6815848</last_meet_seconds72>
        <love>-25</love>
        <respect>0</respect>
        <trust>0</trust>
        <loyalty>0</loyalty>
        <fear>25</fear>
</relationship_profile_hf_visual>
<relationship_profile_hf_historical>
        <hf_id>1289</hf_id>
        <love>0</love>
        <respect>0</respect>
        <trust>0</trust>
        <loyalty>0</loyalty>
        <fear>0</fear>
</relationship_profile_hf_historical>

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.