Applicable Configuration:
BYOND Version: 426.995
Operating System: Windows XP SP2
Code Snippet (if applicable) to Reproduce Problem:
client
New() // Making a snippet to do my animation work for me (water flow)
var
icon
I = new('Water.dmi',"ORIGINAL") // The original test icon (to make sure that the water is not playing tricks on my eyes). In the uploaded icon, this is the ORIGINAL state icon... it was originally in another icon file.
M = new // The new /icon with the modified icons
C = new // The current modified icon
py = 0 // Counter
while(py++<32)
for(var/DIR in list(SOUTH,NORTH,EAST,WEST,SOUTHEAST,SOUTHWEST,NORTHEAST,NORTHWEST)) // I want to get a flow for every direction
C = I // Resetting
if(py>1)C.Shift(DIR,py-1,1) // If the counter is > 1, the water will move to the given DIR and is wrapped
M.Insert(C,"water",DIR,py) // Will add the modified icon to M
fcopy(M,"Water.dmi") // At the end, the modified icons (M) will be saved as Water.dmi
// No ..() so world disconnects
Descriptive Problem Summary:
The icons animated through the following snippet seems to do the following:
Animates the 1st, 3rd and 5th entry correctly.
The 6th entry is the same as the 1st entry.
The 7th entry is the same as the 5th entry.
The other entries remains the same (standstill).
This can be clearly shown by the icon with the state "water" at http://www.byond.com/members/GhostAnime/files/Water.dmi
Note that I didn't use the states name (Ex: SOUTH for the 1st entry) because if you switch the directions in the list() in the snippet (ex: SOUTH and NORTH --> so SOUTH is now the 2nd entry), NORTH will now be animated but SOUTH won't.
Numbered Steps to Reproduce Problem:
Run the snippet and view the results.
Expected Results:
All directions animated in the given direction.
Actual Results:
See problems summary. Few frames animated correctly, few incorrectly and the others are stand-still.
Incidentally you can get this working in half the time if you use half the dirs and just produce the opposite icon at the same time. You do however have to fill in enough animation states in advance for Insert() not to freak out, since it's set up to ignore any inserts past +16. Try this:
Lummox JR