If containers.cfg in Data sets bounds (x,y/width,height), why can I not make changes to this file and see them reflected in my test server? Is there a client file edit needed as well?
 
I assume it coheres with bounds.bin.

I'm currently writing a script the generates bounds.bin on first launch.
 
I assume it coheres with bounds.bin.

I'm currently writing a script the generates bounds.bin on first launch.
Right, I get that, but you can make changes to any other cfg file and see the change(s) immediately...not containers :|
Does this mean this is only used once (during initial server setup/installation) and never again?
 
I'm loading new container graphics, so I'm trying to adjust the bounds inside the container gump so the space is properly utilized within. This is container.cfg in the Data folder. 0x3c is a backpack, and then the breakdown of where the X,Y corner starts, and covers across and down to the RectWidth,RectHeight values.
Making the change that I did below, should increase the size within the backpack, but it does absolutely nothing, no changes at all :( o_O
Code:
# All lines are trimmed. Empty lines and lines starting with '#' are ignored
# Container data table
# Format:
# GumpID<tab>RectX RectY RectWidth RectHeight<tab>DropSound[<tab>ItemID1,ItemID2,...,ItemIDN]

# Default:
#0x3C	44 65 142 94	0x48
0x3C	34 55 152 104	0x48
 
Let me finish my Bounds.bin adjustments. Going to push it today.
[doublepost=1487418427][/doublepost]I can't vouch if my push will be accept, as I'm introducing a new Cache Folder.

The Cache is currently generating Bounds.bin if Art.mul or art...uop is found and objects.xml based of the categories. If no art found, pregenerated bounds.bin (7.0.57.1) is used.

So why a cache folder makes sense?

Most shards use the own arts and may introduce or replace containers, so generating bounds.bin that fits to the arts makes sense in my opinion. So making chages just requires you to delete the content of the cache folder.
 
Last edited:
tbh most shards do not use custom graphics, for either they do not know how to do it or they simply dont want people to have to download separat files just so they can join their shard, since without connectuo and all those neat tools around anymore people get put off by having to download extra files
 
tbh most shards do not use custom graphics, for either they do not know how to do it or they simply dont want people to have to download separat files just so they can join their shard, since without connectuo and all those neat tools around anymore people get put off by having to download extra files
There are stand alone "neat tools" that are out there, they just require initial set up before giving it to your players. Really, what's the difference between downloading a custom client for a shard, or installing patches from OSI? Chances are a full, custom client is around 1.5GB, and doesn't take long unless you are still on dial-up hehe ;)

Let me finish my Bounds.bin adjustments. Going to push it today.
[doublepost=1487418427][/doublepost]I can't vouch if my push will be accept, as I'm introducing a new Cache Folder.

The Cache is currently generating Bounds.bin if Art.mul or art...uop is found and objects.xml based of the categories. If no art found, pregenerated bounds.bin (7.0.57.1) is used.

So why a cache folder makes sense?

Most shards use the own arts and may introduce or replace containers, so generating bounds.bin that fits to the arts makes sense in my opinion. So making changes just requires you to delete the content of the cache folder.
Any chance you can send it right to me?
 
You forget that people probably play on mutliple servers and dont want 100 copys of uo ;) . I am not saying that downloading the files will take forever (for everyone) but that people may not want to download a new client just to test out the server when there are X other shards around ^^
 
You forget that people probably play on mutliple servers and dont want 100 copys of uo ;) . I am not saying that downloading the files will take forever (for everyone) but that people may not want to download a new client just to test out the server when there are X other shards around ^^
No, I didn't forget that, but honestly there aren't as many custom client shards as there are default ones. In this case, I'm building a new UI tailored for players on my shard, which is why I need to resize containers.

@XeroX
Core recompile? It's a great concept, don't get me wrong, I was just hoping for something a tad simpler (not that a core recompile is complex, I would just rather not have to do one every time I have to adjust a few pixels over)...What are the cfg files for if they are never "read", and only created (or is that just the case for the containers.cfg)? It used to be that containers would get their sizes from the scripts. Don't suppose anyone has that old code somewhere that I might be able to Frankenstein into a workable solution?

EDIT: @XeroX Wait, do I just need the CreateCache.cs?
 
There is no core recompile necessary if you've adjusted some pixels. Just deleting Cache folder, restart server, twice.

Maybe I'm sending another pull request so you can regenerate bounds.bin via AdminGump. Yeah...think this is the better idea.

EDIT: Gimme 10 more minutes.
[doublepost=1487466733][/doublepost]Done.

https://github.com/ServUO/ServUO/pull/1745
 
Last edited:
@tass23

Code is live. You can checkout latest version on git.


Make sure Art Files are present [Admin -> World -> Maintenance -> Rebuild Bounds.bin -> restart server -> profit.

Or [GenBounds -> restart server -> profit.
 
Thanks, man! I'll give it a shakedown later tonight :)

EDIT:
Sending you a PM about this.
 
Last edited:
Okay, so after some testing, I don't see this making any actual changes to the bounds inside the containers.
I don't see a Cache folder being created...I made changes to containers.cfg:
Code:
0x3C	34 55 152 104	0x48

That should have given me more room, but it doesn't. I can check by using Props on an item in the backpack and verifying the X,Y values, and they are always 44,65, which is the default size for a backpack. I manually tried to change the X,Y values to match the changes I made in the containers.cfg, but the container still defaults to 44,65.

Using GenBounds in-game, I can see the console output and it says done. Restarted the shard twice, and still no changes.
 
Let me be honest. I thought ItemBounds for Containers are loaded from Bounds.bin but they aren't. Only for one Container (PlagueBeastBackpack) and Gumps.

Containers are indeed being loaded from containers.cfg and 44,65 are the default settings that are being applied if no file is found to 0x3C. Can you check for another ID like 0x3D (Pouch).

https://github.com/ServUO/ServUO/bl...64bd3a62ea83fd7fad3/Server/Items/Container.cs

Additionally I wanna add, the Cache method is being scrapped.
GenBounds just replaces your current Data/Binary/Bounds.bin and one server restart is enough to load it.
 
Let me be honest. I thought ItemBounds for Containers are loaded from Bounds.bin but they aren't. Only for one Container (PlagueBeastBackpack) and Gumps.

Containers are indeed being loaded from containers.cfg and 44,65 are the default settings that are being applied if no file is found to 0x3C. Can you check for another ID like 0x3D (Pouch).

https://github.com/ServUO/ServUO/bl...64bd3a62ea83fd7fad3/Server/Items/Container.cs

Additionally I wanna add, the Cache method is being scrapped.
GenBounds just replaces your current Data/Binary/Bounds.bin and one server restart is enough to load it.
Nope, that didn't have any effect either:

Default:
Code:
0x3D	29 34 108 94	0x48	0xE76,0x2256,0x2257

New:
Code:
0x3D	24 30 108 94	0x48	0xE76,0x2256,0x2257

You're saying the default settings are being applied if "no file is found"...wouldn't that file "always" be found, unless the graphic was deleted from the mul itself?
 
I'm going to check the code later today.

However only 0x3C is set if file not found and nothing will be set unless specified in containers.cfg.
 
I'm going to check the code later today.

However only 0x3C is set if file not found and nothing will be set unless specified in containers.cfg.
I suppose it is possible we could have just run into another client/server boundary, much like the paperdoll buttons. Something in the client drives container bounds. It has been years since containers have been sized by scripts, I'm just not sure when that functionality changed, or why.
 
Back