For a while now some objects in a second map all but disappeared from visibility.
Numbered Steps to Reproduce Problem:
- Load objects onto second map via screen_loc and add to a client's screen.
- Some, but not all of them mysteriously don't appear.
Code Snippet (if applicable) to Reproduce Problem:
// Please excuse the terrible code
client/proc
loadselfpokeimg(pokemon/P)
if (!battleimg)
battleimg = new
for (var/i = BSELFGAUGE; i <= BSELFEXP; i++)
if (battleimg.len < i)
battleimg.len = i
else
del battleimg[i]
battleimg[BSELFGAUGE] = battleobj('self.png', , 9, 1, 8, 5, 2)
battleimg[BSELFIMG] = \
battleobj(getbackanifile(P.shiny), P.bstateb, 1, 1, -32, 0, 2)
battleimg[BSELFHPBAR] = battleobj('hp.dmi', hpstate(P), 13, 2, 6, 6, 3)
if (P.gend == pFEMALE)
// Doesn't appear:
battleimg[BSELFGENDER] = battleobj('female.png', , 14, 2, 6, 15, 3)
else if (P.gend == pMALE)
// Doesn't appear:
battleimg[BSELFGENDER] = battleobj('male.png', , 14, 2, 6, 15, 3)
if (P.status)
battleimg[BSELFSTATUS] = battleobj(batstatus_img(P.status), , 10, 2, 14, 3, 3)
battleimg[BSELFNAME] = new/screentxt(src, P.name, 10, 2, 6, 12)
// Doesn't appear:
battleimg[BSELFLEVEL] = new/screentxt(src, num2text(P.level), 15, 2, 6, 15, 'text_nums.dmi', 8)
// Doesn't appear:
battleimg[BSELFMAXHP] = new/screentxt(src, num2text(P.stats[HP]), 15, 1, 6, 11, 'text_nums.dmi', 8)
var/hptext = num2text(P.statC[HP])
battleimg[BSELFHP] = new/screentxt(src, hptext, 14, 1, 14 - length(hptext) * 8, 11, 'text_nums.dmi', 8)
battleimg[BSELFEXP] = battleobj('exp.dmi', expstate(P), 11, 1, 6, 6, 3)
battleobj(icon/icon, state, xloc=1, yloc=1, px, py, layer=1)
var/atom/movable/object = new
object.icon = icon
object.icon_state = state
object.layer = layer
object.screen_loc = "battle:[xloc][px ? ":[px]" : ""],[yloc][py ? ":[py]" : ""]"
screen += object
return object
'screentxt' creates an obj, puts it on the screen and then adds overlays to itself.
Expected Results:
All of the objects added to the screen appear.
Actual Results:
A few of them don't appear.
Does the problem occur:
Every time? Or how often? Always.
In other games? I'm not sure.
In other user accounts? Yes.
On other computers? Yes.
When does the problem NOT occur?
Always does. See below.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? I tested with several old versions, and the last version that this did not happen in was 490.1105.
Some screenshots:
Here's the expected output as it occurs in version 490.1105 and previous versions: Expected output
Here's the actual output as it occurs in version 490.1106 and later: Actual output
(Pay attention to the white box on the lower-right of the map screen.)
I should note, it does not matter what version of Dream Maker/Daemon I compile or host with. Only the Dream Seeker version effects it.
Workarounds:
None known yet.
Thank you for your time.
Two things I'm particularly interested in are 1) what are the screen_loc values and layers of the objects that don't appear, and 2) what are the screen_loc values and layers of the objects under them that do appear? If the speech bubble is on the same layer as the text for instance, that's a good place to look.