EQ2Interface

EQ2Interface (https://www.eq2interface.com/forums/index.php)
-   Request (https://www.eq2interface.com/forums/forumdisplay.php?f=25)
-   -   House inventory Decorator Mod (https://www.eq2interface.com/forums/showthread.php?t=13280)

Mistal 09-02-2009 04:27 PM

House inventory Decorator Mod
 
Hello everyone,

I have been a member of the site for some time now but this is my first post. Until now I have always found everything needed from the great mods / addons and items you all create. However, I have been playing on test lately with the new GU53 contents specifically that which relates to being able to load / save housing layouts of furniture etc.

Being part of the EQ2 decorators mob :) we are all loving this new feature as it will enable us to share designs. However there is one small fly in the otherwise perfect picnic. To recreate the layout you need to have exactly the right amount and type of items. At the moment we are making manual lists of what we use to create our designs, but I was wondering if someone could come up with something which after creating / placing furniture designs could take an inventory of everything in the house and populate a list to a text file or whatever showing the name of the item and the number of them needed.

Not being very technical myself I'm afraid I don't know how possible this is, however the information I can give you is that the files used to save the layout of the house is stored in a directory called saved_house_layouts which is currently only available in the test directory of EQ2

Any help would be sincerely appreciated here is also a link to a thread regarding this, I am also more than happy to talk to any developer directy to give the decorators / users input

http://forums.station.sony.com/eq2/p...opic_id=458157

Thank you all for your time.
Mistal

EQAditu 09-03-2009 12:07 PM

Unfortunately these saved layouts are binary files, so they're not very straightforward to decode. I'm not very good at hacking binary formats, so I couldn't say how easy it would be.

Landiin 09-03-2009 01:31 PM

Send me a basic file and I'll see what I can get decoded from it and possible put together an app for you..

EQAditu 09-03-2009 03:26 PM

1 Attachment(s)
Code:

FILE        DESCRIPTION
1        Empty Qeynos Apartment on "test" server.  (only plaintext in file)
2        \aITEM 14279688 -304353830:[Handbook of the Ironforge Exchange]\/a placed on floor near 3,0,0
3        \aITEM -9842771 453733182:[Welcome to Qeynos, Citizen! - 2nd Edition]\/a placed on floor near 3,0,-3
4        \aITEM 1946890604 1858847202:[Basic Table]\/a placed on floor near -3,0,-3
5        Item 1 rotated 1 notch, Item 2 rotated 2 notches, Item 3 rotated -3 notches
6        Item 1 made larger 1x, Item 2 made larger 2x, Item 3 made smaller 3x
7        \aITEM 1385963439 1485205880:[Basic Mirror]\/a placed on wall near floor, near 6.2,0,4.2
8        \aITEM -588523995 -2141649878:[Basic Chandelier]\/a placed on ceiling near -4.8,z,4.8
9        Item 4 made 3x larger, rotated -3; Item 5 made 3x larger rotated -3

I'm not at all interested in house decorating, but I thought I'd be helpful. :p

lordebon 09-03-2009 04:16 PM

A clue that may help in decoding things -- item names are NOT stored, only the item IDs.

In related news... when we decode it, I wonder if it'll be like the character appearance profiles... IE we'll be able to override some caps and make things really big or small (until they fix it that is ;) ).

EQAditu 09-03-2009 04:47 PM

Bah, I guess I figured out the item part. Previously I tried converting the bytes that I figured were the item ID into an integer, but it didn't work. Tried it the other way around and actually found it... except it was backwards. Little vs big endian or something... I never really learned that stuff.

Surprised that it works at all considering the item IDs are signed 32bit integers... but as I said previously, I'm not much of a binary hacker. I'm sure someone else knows how to deal with the negative IDs.

The final problem is that you'll either need to get ahold of an item database(If I ask nicely, the owner of EQ2LLinks might help), or make an application to request item results from a item link website and parse the resulting webpage for the name.

Landiin 09-04-2009 02:56 AM

Bytes
0-3: Unknown
4-5: Server Name Len
6-#: Sever name
Next 4 bytes: Number of items in house it looks like.
Next 4 bytes: House ID? All have the same numbers

Eyes went crossed, will look at it more this weekend when I can gen my own files on test.

Mistal 09-05-2009 07:13 AM

Thank you
 
Thank you very much for looking into it for us, I'm not going to pretend to understand any of it but know that it is sincerely appreciated.

Mistal

JesDyr 09-08-2009 02:03 PM

From the sample files it looks like the items start at bit 145.
**Looks like each item is 232 bits long and the first 32bits is the item ID. The location/size data is taking a bit more to decode but this doesn't matter for what is requested.

Will play with this more later.

JesDyr 09-08-2009 11:02 PM

The Item block =

1st 4 bytes = ItemNumber (32bit Int)
next 4 bytes = x loc (float)
next 4 bytes = z loc (float)
next 4 bytes = y loc (float)
next 4 bytes = Angle z axis aka rotation (float)
next 4 bytes = Angle x axis (float) (cannot do this in game but it works !!!)
next 4 bytes = Angle y axis (float) (cannot do this in game but it works !!!)
next 4 bytes = Scale (float) (cannot seem to scale greater than with the client)
last byte if anything other than 00 makes the item go to the moving crate


this lets you do things like -


lordebon 09-09-2009 06:09 AM

Quote:

Originally Posted by JesDyr (Post 85659)
The Item block =

next 4 bytes = Angle x axis (float) (cannot do this in game but it works !!!)
next 4 bytes = Angle y axis (float) (cannot do this in game but it works !!!)


Your image link is broken. But whoo, so long as they don't nerf it, being able to control all 3 axes (even if you have to go outside the game to fiddle with it) will be sweet! If you tweak the x/y rotation, do they stay that way when you go to move it, or does it revert to the normal?

gm9 09-09-2009 06:19 AM

So who will be the first to create an out of game 3D house decorating software?

Brax 09-09-2009 08:35 AM

Quote:

Originally Posted by gm9 (Post 85667)
So who will be the first to create an out of game 3D house decorating software?

Hey you are no longer working at Profit, so you have the time ;)

JesDyr 09-09-2009 08:50 AM

Quote:

Originally Posted by lordebon (Post 85664)
If you tweak the x/y rotation, do they stay that way when you go to move it, or does it revert to the normal?

Ground items hold the rotations while being moved. Anything that hangs on a wall does not since they snap to the wall. I didn't get to play with it that much last night as I was working on writing some code that can break the files apart to work with each item. I will try rotating an item like a divider to see if wall items will snap to it (doubt it) but other than that I cant see any way to trick wall items to be movable.

Fun fact - These follow the output of a /loc only with scale on the end.

I am working on something to display the contents (need to figure out a database to search for item names) some code to combine multiple layouts into one (check for dup items and total count).

My coding skills suck so my progress is slow ;)

Oh and the image link is broken because it is hosted on my eq2players account and SoE has everything down.

JesDyr 09-09-2009 09:13 AM

oh .. and ..


http://lootdb.com/eq2/item/1946890604
http://eq2.zam.com/db/itemlist.html?checksum=1946890604
http://www.eq2llinks.com/item.php?id=1946890604

gm9 09-09-2009 09:13 AM

Quote:

Originally Posted by Brax (Post 85670)
Hey you are no longer working at Profit, so you have the time ;)

touché, didn't see that coming. ;)

JesDyr 09-09-2009 03:28 PM

Well .. they are changing the file -

" Rothgar wrote:

FYI, we're going to be changing the house layout file so all the data is in easy-to-read text instead of the current binary layout. We'll also include names of the objects so you won't have to try to look them up from ID numbers. So yeah, it'll be pretty easy to modify the pitch and roll of the object by editing the file.

I'm really interested to see what sort of things you guys come up with. "

lordebon 09-09-2009 04:49 PM

Quote:

Originally Posted by JesDyr (Post 85684)
Well .. they are changing the file -

" Rothgar wrote:

FYI, we're going to be changing the house layout file so all the data is in easy-to-read text instead of the current binary layout. We'll also include names of the objects so you won't have to try to look them up from ID numbers. So yeah, it'll be pretty easy to modify the pitch and roll of the object by editing the file.

I'm really interested to see what sort of things you guys come up with. "


Awesome, I hadn't seen that post yet. Making it easily readable will make it so much easier to manipulate while trying to edit things, this is going to *rock* for house decorating.

Landiin 09-09-2009 07:37 PM

Yes I was baffled why they went with a binary file and not XML.

JesDyr 09-10-2009 12:26 AM

yah .. considering the amount of XML they use.

still don't know what the new file will look like.. but I am thinking making some editing tools will still be handy.

Mistal 09-21-2009 04:31 PM

File Change
 
Hi guys :)

Just popped back over to see if there was any news .. have been off recently breaking in a horse .. tho I think the horse is doing more breaking of me /chuckles.

/waves to Jes.

They have changed the file and it's all text now well text and a whole bunch of numbers, so does this make it more possible to pull off a list of the items and how many are used in each layout?

Thanks again for all your help it's so appreciated.

Mistal x

JesDyr 09-21-2009 05:13 PM

Here


so far -

Filters are done
  • Select All items within a 3d space
  • Select item by name (uses LIKE)
  • Select Items by the crate value

Moving multiple items around is done.

Manifest is done
  • View within app
  • Export to CSV

Merge in another file is done

Saving a set of objects to merge into another zone is not done.

Still working on the Multiple object rotation it almost works ;)

still working on "helper items" which will be used to populate various values in the app.


All times are GMT -5. The time now is 03:58 PM.

vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI