FrostyCat
Redemption Seeker
That I understand, but what I don't understand is the recursive array warning overwriting the actual content.That's because array_create takes the value to initialize the indexes to, and in your case you're setting it always to the same array (which is the result of the inner array_create call).
This is a recursive array:
GML:
var recursiveArray = [0, 0];
recursiveArray[1] = recursiveArray;
GML:
var recursiveArray = [0, 0];
var recursivePartner = [1, 1];
recursiveArray[1] = recursivePartner;
recursivePartner[1] = recursiveArray;
GML:
var notRecursiveArray = array_create(10, array_create(10, 0));
This kind of multiple inbound referencing happens all the time in direct-reference flyweights, and should not have triggered any errors. It is a genuine bug.