ID:2125489
 
BYOND Version:510
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 52.0.2743.82
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
We are working on updating our icon size at /tg/station13 to 64x64, but when we updated one of the server to use the new one, clients reconnecting on world.restart kept their old world.icon_size, meaning each 'tile' would only show 32x32 and the rest would be cut off.

Changing map scaling (as suggested below) did not fix the issue, it would scale the icons as if the initial size was 32x32, meaning setting mainwindow.map.icon-size to 64 would double the 64x64 icons to 128x128 and try to fit them in 64x64 'tiles' and still have them cut off.

Reconnecting with .reconnect didn't fix it, Nor did client << link(byond://server.address:here)

Clients had to close and re-open their clients.
This isn't actually a bug, it's an interface setting, I imagine since all of the SS13 variations share the same world.hub, they all have a dmf in common. Inside of the dmf you need to open the dmf file in notepad and find the 'saved-params' stuff and remove icon-size and zoom stuff. It SHOULD prevent it from loading those values on your server, but I'm not quite sure how BYOND handles differences in interfaces across multiple servers on the same hub entry, it might so override it, so you'd have to make the change propagate across the whole codebase.
Mind, I've ran into this issue myself when updating things falling under saved-params in DM and having to manually kill those values in my locally saved copy of it before seeing the changes live. I've been lobbying for more robust access to that system since I realized it existed, lobby with me, friend! FIGHT THE OPPRESSION OF THE DMF
In response to Nadrew
Skin Reference:
Another option you have is resetting the skin:

.winset "reset=true"
winset(usr, null, "reset=true")

When resetting the skin, any saved settings (like window position and size) are still kept. Controls created at runtime, including windows made via winclone(), are destroyed. The reset option is provided so that you can reset a user's skin when they reconnect or when they are brought in via link() from another server. Normally the skin will not reset.

Something like this, but for saved settings?
The problem with that is you wipe out settings you actually want saved like window size, maximized state, etc...
what i mean, is it's messing up the map badly as it tries to load 64x64 icons as if they were 32x32 icons, simply shutting down and restarting the client fixes it.

furthermore, i tested, and being on a ss13 server, getting link()'ed to a for example, a text mode hubless server then link()ed back to a ss13 server (think a redirector that sends clients to the server with the lowest pop or just a static redirector for server moves) will cause text mode from the hubless server to bleed over, and you have to turn text on using in game verbs (it will register as off), then back off, to get normal icons.

in general it seems the client isn't listening properly to updates on these things. with control freak at the highest, you'd think this would be more enforced.

I'm still filing this as a bug, as i don't see why the client and world should ever have an out of sync world.icon_size
ok, i check what you referred to, this isn't that, we have a menu to change map.icon-size, that doesn't work when this triggers.

What i mean is each tile on the map is only 32x32 but is trying to hold 64x64 icons, so they get cut off.

if i set map.icon-size to 0, i get stretched to fit properly, but each tile is cut off.

if i set map.icon-size to 32, i get a small view port, with cut off icons

if i set map.icon-size to 64, I get a large view port, that kinda expands past the map control (like it should), but now all icons are double size, and still cut off at 32 pixels on each tile.

edit: The gist is you are confusing world.icon_size with map.icon-size.