Skip to content

Tiledata Output incompatible between UO versions - not a bug #149

@strangealien

Description

@strangealien

Hello,

it seems I step in it every second step :)

What I do: I export a lot (several 100) of custom items used in our world for an old (but still active) UO installation V5.0.6a, this is ML.

And I need to import them at the same place or in a different place, depending where the item sits in our current installation and how art.mul looks with the new installation, which is V7.0.15.1, HSA.

Exporting the BMPs from the items, and reimporting them using MassImporter works fine.

BUT: I exported the tiledata from our 5.0.6a version, because importing the items needs to set tiledata too. And using this tiledata.csv from UOFiddler gave data, which are no longer valid, using the same UOFiddler, but with the new art.mul. Took me a while, but the reason is there are lots of 'Unknown10, ...' flags at the end. These flags are zero anyway, and they do not matter. I am talking about things like floor tiles and such. They have 3 flags, weight 255, height 0, and a name.

If I try to use the tiledata from the old version, UOFiddler throws an exception (out of array bounds) in the reading function:

************** Ausnahmetext **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at Ultima.ItemData.ReadData(String[] split)
   at UoFiddler.Plugin.MassImport.Imports.ImportEntryTileDataItem.Import(Boolean direct, Dictionary`2& changedClasses)
   at UoFiddler.Plugin.MassImport.Forms.MassImportForm.StartOnClick(Object sender, EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(HWND hWnd, MessageId msg, WPARAM wparam, LPARAM lparam)

It took me quite long to find out, that it expects a much bigger csv-line with much more entries for flags. Which are all zero anyway. But I do not want to do this manually...

I will use Libre Office to edit the csv-files to change them to the 'new format', and I understand, that this format change was necessary, but could something be done? For example optionally creating a tiledata export file fit for newer versions, where the superfluous flags are added, but all zero?

Or - even better I think - maybe UOFiddler could ignore the missing flag entries from an old version and set them to zero as default?

Thank you - and sorry for the frequent reports...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions