Map Editor / TOG Editor
The Map Editor (for making maps) and TOG Editor (for making Tile/Object/Ground definitions) are both completed and have been integrated into the game itself. Everything is working just swimmingly on that end.
The new map editor also meant a new map format. This one is much more flexible, allowing for cool new stuff that wasn't possible before. Things like half-walls (for throwing grenades over, but not shooting/walking through), water, and object shadows. Object shadows!?
Yes, now players and objects have shadows. And it feels good. :P
(Sure it's not fancy-dancy 3D hardware shadows, but it gets the job done! [smile])
My login code has been a realm of disaster since the beginning. I'm still not sure if the first refactor of it helped or not. Either way, I decided to take simplicity as the best route:
1) Client sends login data to server and waits 3000ms for a reply.
2) Server receives login data, creates the player's "shell" and tosses him into Limbo (a playerlist for non-existant players).
3) Server resends gamedata/confirmation to player until a timeout (3000ms again) or an acceptance from the client. Then we're good to go; the player leaves Limbo and enters the Realm of Players(tm).
I've been stuck with a raging bug with regards to the new login sequence that's been plaguing my code AND mind -- seriously, ask Ravuya, I've been blabbing to him non-stop about it :P -- and it seems to finally be fixed. Apparently there's a split-second or between when the player enters the Realm of Players(tm) and when he gets assigned his weapons. As more players join that split-second grows, and grows until TPlayer.Update() gets called and when CurWeapon = nil, well... I'm sure you know the rest. Needless to say, Delphi's built-in debugger was useless in the matter. Kudos to a random utility I found, "AVFinder", which helped me in narrowing down my search. Phew.
And as a result of all of this hard bug-finding we were all rewarded with an awesome bug-free game of Free-For-All in my tiny made-in-5-minutes map.
Extra points go out to the recent noble League of Testers (in no order): Jeremy, Ravuya, Cold Steel, and Blandin. I was bugging them to help me test/debug every 10-20 minutes nearly all of today. Thanks guys! [smile]
Now that all of this 'clean-up' detail is done, I can move on to the focus of this version: the Master Server. The first step is creating the new client interface for the Master Server (no more temporary ugly login-box nonsense), and allowing players to create accounts and login to them. And of course the many bugs that will doubtlessly follow. :P
I'm as tired as bananas, but I'm extremely happy at what I've managed to accompish, the bugs I've managed to quell, and at how much fun Skirmish Online will one day bring the world. [smile]