Hey… So I lied. I didn’t implement the streaming feature for my Virtual File System. While I was trying to implement the streaming feature but I entered into a stupid state of panic. Thinking my implementation was extremely inefficient memory-wise. I even thought about re-writing my entire VFS code which was about 1K+ LOC btw. So I picked up a book on File Systems used for real OSes and quickly read through some techniques used for 2 days. But I later realized that my implementation wasn’t that bad at all. Looking at some of my data structures, one file entry takes about 70-80 bytes in average. Assuming I’m loading a PAK file with 5,000 file entries, which is a thousand times waaay much more than I really need, my VFS would take about 390KB ( 80bytes * 5000files = 400,000bytes = 390.625KB). So it wasn’t bad after all…. So I ended up not changing my VFS implementation instead.
But now, I changed some of my tasks in the list. I moved the streaming feature back and try working on some math stuff for a while. I just finished implementing some of the basic features of Vector2 and Vector3 class. I’m hoping I could finish implementing the matrix and quaternion class by the end of Thursday or Friday.
After the math classes, I’m going back to my graphics device. My current implementation is very crude and there’s no base interface class to formalize it. So I’m planning on rewriting my graphics device and make the code a little bit cleaner.
Anyway, that’s my plan for now.
Louis Armstrong & Danny Kaye: THE FIVE PENNIES