ID:117101
 
Not a bug
BYOND Version:489
Operating System:Windows 7 Pro 64-bit
Web Browser:Firefox 5.0
Applies to:Dream Seeker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND Developer forums.
Descriptive Problem Summary:
Whenever the image of the map changes ('re-draws'), it draws over a label that is on top of it.

Here is a sample project that shows the bug.

Numbered Steps to Reproduce Problem:
  1. Create a map window.
  2. Add a map control to the window.
  3. Add a label to the window, and make sure it appears over the map control.
  4. Test your game, only to notice that the label disappears whenever the visible map changes.


Code Snippet (if applicable) to Reproduce Problem:
(See sample project above)

Expected Results:
The label to appear on top of the map at all times, and not be drawn over.

Actual Results:
The label disappears whenever the map updates.

Does the problem occur:
Every time? Or how often? Always.
In other games? Most likely.
In other user accounts? Yes.
On other computers? I have not tested.

When does the problem NOT occur?
When the label is not transparent.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
I think it always has.

Workarounds:
I'm not sure of a complete workaround, because even the mob moving causes the map to smoothly center the mob on the screen, which will cause the label to be drawn over every frame.
I guess one way would be to have a constant running loop that updates the label every tick. However, it seems to ignore updates that cause no modification, so either, you'd have to modify the label or update it twice: Once to tell it to update, and again to change it back.

Both ways would probably cause slowdowns. (And are quite troublesome if all you intended to have was a static, unchanging label.)


[EDIT]
The problem only occurs when the label is transparent.
As documented, label transparency only works over certain controls. The map is not one of them.