ID:1046611
 
BYOND Version:497
Operating System:Windows 7 Pro
Web Browser:Chrome 23.0.1271.64
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
This may not necessarily be a bug, but I feel it should be explained in the documentation to avoid confusion with the case where there's only one map control that isn't set as default, has a unique name, and can't be accessed via screen_loc naming. I lost many hours of messing with getting an image to show in client.screen when the only problem was that I couldn't actually access the map control because there needed to be two in order for this functionality to be present (ie: setting an atom's screen_loc to "map2:1,1")

Summing it up:
1. Add an interface
2. Add a map control to a window
3. Uncheck default, and name it "map2"
4. Try this code

mob     
verb/loadcharacter()
var/file = input("Which character sheet would you like to use?", "Load Character Sheet") as null | icon
if(!file)
return

var/atom/movable/atom = new
atom.screen_loc = "map2:1,1"
var/image/i = image(icon(file), atom)
if(!i)
alert(usr, "Could not create an image! Check file header", "Error", "Ok")
return
src.client.screen += atom
src.client.images += i


Nothing will happen. Now add another map control and set it to default, and the code will work. Not sure if this is intended behavior or not but its certainly not explained in the documentation. It mentions nothing of having to have a default map control in order to use this type of screen_loc positioning.
I have a theory about this but I can't test it myself at the moment. If you only have one map in the interface, DS might be setting that to default at runtime. If that's the case, your screen objects would not show up because, rather unintuitively, you cannot designate the name of the default map in screen_loc.