🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Newsletter issue #5

posted in IfThen Software
Published October 20, 2008
Advertisement
News

We have reached 39% overall progress on Loradon 3.0.

Loradon 3.0 Progress Page


From the Programmer
Written by Invisible

About the middle of last week, I redesigned the memory management system. jpetrie showed me a feature of classes that I did not know existed; the copy constructor, which opened up the possibility to track an object as it is passed around. He also gave me the idea to create a safe pointer class, which is what I ended up doing for about 3 days.

The safe pointer class is a template class that acts like a pointer. The difference is that it keeps track of how many references have been made to the allocated memory, and only deletes it once there are no more references. This is similar to my old system, but references are now added automatically whenever a "pointer" is copied by being passed to a function, returned by a function, or assigned to another pointer. I had been trying to find a way to do this before, and the copy constructor was the bit of information I was missing.

I plan to merge the "safe pointer" system and my previous "allocated memory manager" system. The safe pointer will register a new allocation with the memory manager, and will also notify the memory manager when a new reference to that memory has been added or removed. The memory manager will keep track of references (their ID and pointer) and handle deletion of a memory block once there are no more references to it. Having a central location where all blocks of memory are tracked will allow debug reports to be generated if need be.

Latest Dev Demo Report
Written by Invisible

No dev demo report this time either. We are expecting the dev demo reports to return next month though.
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement