Quote: "All I need to do is figure out how to iterate through the array and referene each entry as I do so..."
What exactly are you trying to do? I can probably help you out. I use UDT arrays, a different type for each type of entity.
rem Example theory code
type charDat
health as integer
x as float
y as float
z as float
animFPS as integer
animTimer as integer
speed as integer
speedTimer as integer
inUse as integer
endtype
type itemDat
x as float
y as float
z as float
moveable as integer
openable as integer
inUse as integer
endtype
type gameDat
charCount as integer
itemCount as integer
endType
global game as gameDat
dim char(100) as charDat : game.charCount=100
dim items(100) as itemDat : game.itemCount=100
rem Way later in the code,
for i=1 to game.charCount
if char(i).x=0 then ...
if char(i).health=0 then...
next i
for i=1 to game.itemCount
if items(i).x=0 then...
if items(i).movable=1 then...
next i
Are you looking to do something like that? I set up an array of items, I keep the count of how many there are in each one, then I iterate through each group to my heart's content. You can also do this...
dim char(1) as charDat
game.charCount=1
inc game.charCount
dim char(game.charCount) as charDat
That will dynamically increase the size of the array
char. This way, you can spawn new characters or items or whatever as you like. I keep a variable, inUse, that I disable if I destroy the item. Then, I just reuse that array element the next time I spawn that type of entity. I do this because it's faster to skip an element than to resize and reorder a massive UDT array. My charDat array probably has over 200 data elements. That would be a bitch to shift 99 of those over to the left.
Maybe I'm talking about nothing that interests you. Hopefully, it can help you out. Let me know.
Good luck!
Come see the WIP!