Refactor objects

I hope I haven't broken anything. Anyone wish to confirm this?
0x98D980 is a pointer to an array of object_entry_extended. Not sure why its an object_entry_extended since there will be junk data in the extended field at this moment (unless object_paint fills it in).