Bugs, Requests, Source Code

Feature Requests

  1. Support Mods.
  2. Ability to filter by item type (shields, boots, etc)

Report a Bug

  • Make sure you have the latest version of FNIStash.
  • Check the bug list and comments on this page to see if your bug has already been reported, and possibly how to resolve it. If not, add your own comment to report the bug.
  • If your bug is related to the parsing of an item, such as if you receive a “too few bytes” error or the item display has ?? nonsense in it, please additionally email me your FailedItems .tl2i file (located at AppData\Roaming\FNIStash\FailedItems) so I can try to figure out what went wrong.  My email address is on the contact page.

r1.0, r1.1

When exporting the database, FNIStash exports items with Elsewhere status. Yes, this is a bug. Update: fixed in r1.2.

When I start up the FNIStash webpage, the status indicator gets stuck on “Registering items” and does not proceed. (fixed in r1.1)

When this occurs, you will see a notice in the server cmd window that says something like “Prelude.(!!): index too large”.  What is happening is that an item in your shared stash file uses the TL2 PAK game data in a way I didn’t anticipate, so the FNIStash code does not support it.  Until this issue is fixed, one workaround is to remove items from your shared stash until the problematic item is gone and FNIStash starts working correctly for the other items.  Update: the offending item likely has the chance to teleport, health gain per monster, or mana gain per monster mods.

Some of the items in my stash are not displayed, but there is no error message from FNIStash.

The items that vanished were dupes.  FNIStash tracks each item in its database individually.  A side effect of this is that dupes just look like updates to the same item.  If you save your shared stash using FNIStash after the dupes are removed, they will be lost.

Source Code

FNIStash originated as an exercise to learn the programming language Haskell.  As such, its code quality changes drastically throughout different files as I started to figure it out.  There’s a lot I’d like to clean up eventually.  If you have a recommendation, drop me a line using the contact form.

The source itself is hosted on github here.  I have not made a good effort to make it easily compilable unfortunately.  Probably most interesting for anyone else is the code for parsing the item data (once descrambled).  I readily admit that I do not fully understand the format, but I understand enough to be useful.  If you know something I don’t, let me know!

The first file for this is File/Item.hs, which does nothing but read the binary data.  The second file is Logic/Item.hs, which interprets the parsed binary data using the game data.

 

 

3 thoughts on “Bugs, Requests, Source Code

  1. Daniel,

    Two questions:

    1) Is FNIStash supported under Windows 8?
    2) Does FNIStash assume that TL2 is installed via Steam?

    Thanks and keep up the good work!
    Roland

    • Hi Roland.

      1) I have not tested FNIStash under Windows 8. I am fairly sure it will not work under Windows XP based on the experience of another user. I have only tested it on Win 7.

      2) By default, FNIStash assumes you have installed via Steam. However, you can change the default configuration file to point to the correct file locations for your system. Check out the FNIStash “Setup” page by using the sidebar navigation for more instructions.

      Let me know if you still have issues after that! Thanks for using FNIStash.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

*
= 9 multiplied by 1