This one is tricky, because it doesn't happen that often. That said, it happens often enough where it becomes an almost daily issue for regular players.
This example works just fine every time and the image always shows up as expected:
I = image('Icon.dmi',src,"icon_state",layer=10)
src << I
However, if you attempt to show a series of images in a loop, the first image that should have been displayed sometimes goes completely missing. All of the rest of the images show up normally. Example:
var/number = 1
while(number < 10)
I = image('Icon.dmi',src,"[number]",layer=10)
src << I
number += 1
This also happens in loops where the images have already been previously created. For example, say a monster had an image stored in a variable called "stored_img" and I wanted to show it to all of the players in a list:
mob/monster/proc/ShowImage(var/list/player_list)
for(var/mob/player/P in player_list)
P << src.stored_img
So for example, if I use a while() loop to draw a sentence of text onscreen character by character using images, the first letter of the sentence occasionally just doesn't show up.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
This issue has been around for quite some time. It seems to affect all players on all different types of systems.
Workarounds:
Doubling up and "drawing" the first image twice solves the problem. Here is a workaround version of my example from above:
var/number = 1
while(number < 10)
I = image('Icon.dmi',src,"[number]",layer=10)
src << I
if(number == 1)
I = image('Icon.dmi',src,"[number]",layer=10)
src << I
number += 1
[edit]
Another question: Does this occur at all in Flash, or is it strictly a DS thing?