Geroblue wrote:
Hmm... More a pointer to a list. Person with bag A which has 75 slots. You don't need to store the game items in the bag, but a reference to the game item.
Like mapping software I have. The symbol for the house or mountain is stored in the map. Then every one of those you place in other parts of the map reference back to the first one. No need to store the symbol for every time you use that item in the map.
Like mapping software I have. The symbol for the house or mountain is stored in the map. Then every one of those you place in other parts of the map reference back to the first one. No need to store the symbol for every time you use that item in the map.
Yeah. It's a data structure issue. Each slot would be a single address that contains a pointer value to the address of the object currently occupying the slot (or some kind of null address for an empty slot). For bag objects, the object itself would contain a set of slots, each also containing a pointer to the address of the object in the slot. If you code it properly, then you can simply have template objects for each size/type of bag depending on what you want, with the easy ability to add more over time. Just point to the object type and fill with the specific instanced information on the fly based on the characters gear. But there's an overhead cost to that kind of flexibility, and I suspect that when they originally wrote the EQ code, they needed it to run smoothly on the hardware of the day, so they probably took a shortcut in terms of UI access to potential objects contained within each slot.
Said shortcut could easily have taken the form of directly addressing every possible slot on a character. So ignoring worn gear, you have 8 inventory slots, each of which can contain a bag with up to 8 slots. So just create 64 addresses, right? And just use the UI itself to control access (A 4 slot bag doesn't allow access to the other 4 addresses that could potentially be used. They're still there, but you can't select them). That will run much much faster, but you've coded yourself into a corner if you ever want to expand the number of inventory slots, or the size of bags in those slots. Which is likely why they had so much trouble expanding those way back in the day.
I'm reasonably certain those limitations are long long gone though. Current limitations on bag sizes are almost certainly about forcing players to make storage choices, presumably some of which will involve spending station/daybreak cash (or in game cash for things like housing). Which is all about money for them. Which is not unfair or anything. They are running a business after all. But yeah, I don't think it's any kind of technical or coding issue at this point.