Well, thanks to some help from the creator/admin of EurekaLog, I finally got it working properly. Woot! Now whenever a crash of ANY flavour occurs it'll catch it and give me detailed call stack info, including source code lines, and the files involved. Awesome. What does this mean?
It means no more flippin' mystery bugs! I'm extremely happy that I won't have to live with those annoying 'enigma bugs' that linger in your code that happen to crash it every now and then, but without any indication of where the heck they are. Well, I know where they are now. Turns out the big weird-crash bug was a map loading issue. Hah. Take that you pesky gnats. :P
Object rotation woes -- no more!
Thanks hugely to Paic on the DirectX forums who gave me the idea I needed to figure out how the heck I was going to get properly pixel-perfect collisions on rotated map objects. Previously I was checking a point against the object's texture, which of course doesn't work so well when it's rotated ingame, but still unrotated on its texture. So rather than try to rotate the whole texture, Paic gave me the idea of instead inversely rotating the point instead! Duh! It all seems to obvious to me now, of course. [smile] After nabbing some code off of GPWiki on rotating a point around another in 2D-space, I shortly had it implemented and working perfectly. Awesome. Now let those grenades bounce in style, my friends. :P
Also repaired a bunch of minor bugs, like when joining a game it would for some reason use your account name always rather than the alias you selected. Also took out a few old debug messages from a while back that are no longer needed.
The current item on my list is fully customizable controls, which I had before, but where really poorly implemented on my behalf. This one will make purely use of DirectInput, not Win32 input, and will allow both keyboard AND mouse input. Yes, mouse aiming for you keyboard-wussies. [grin] Hopefully this won't unbalance the game by making it too easy to aim. Fingers crossed. Ideally the effects of recoil will dampen any 1337 aiming skillz.
After that comes video configurations (fullscreen, particle count, vsync, resolution, etc), then some minor stuff like having a "Remember my Account Name" checkbox on the login window to save valuable typing time. Then getting that pesky 3D sound working!
No screenshots tonight. Unless you count bug-hunting worthy of image-isms: