Saturday, 21 May 2016

Very dungeon walls, much wow

It's been a while since my last post... I could say, that I didn't have the time, but honestly, I had plenty, I'm just damn lazy. Also, I had a little hiccup, when I tried to implement a part of a display function. Started typing it up, realized that it has dependencies, so I went to check out those parts but then those parts had dependencies and so it went and I went with it down the rabbit hole. By the time a I realized that I wrote/imported about a thousand lines of code since the last commit and the last time I compiled it was about three days ago it was too late to go back (actually I could have with some additional work, I just thought it was no big deal). This will forever bare it's mark in dm's commit history. Long story short, I left out some details in some functions and did away with loose ends (otherwise I'd still be typing up code for that monsterous commit), and ran it. Little wonder, that it crashed with some bizarre results after a few init functions. Then I spent about two days fixing code, slowly stepping through it line by line, the result was that now file parsing, aside from some minor details is very much complete, there is still some untested code, but that music belongs to the future.

Still, it was a fun experience (who wouldn't want to have a date with the debugger at three o'clock in the morning), I also learned from my mistake and the next time I am to write some functionality into the engine, I'll list the dependencies first and start from the bottom up. That should help prevent accidents like this in the future.

Finally, here is a gif from the zeroth level of the dungeon:










PS: sev was kind enough to lend his time and wisdom in git wizardry, so the repo (sans scummvm code) with the commits has been moved here.

No comments:

Post a comment