I would love to play Goodboy Galaxy and that Super Crate Box port when they're finished. Good to know that there's talented devs out there working with beloved old hardware
Ah, what I meant here is that this prevents you from doing "var x = bgofs[0].x" but it doesn't prevent you from doing "var p = bgofs[0]" (trying to read both registers into a point variable at once). The real way to prevent this would be to simply not expose the register at all, for example you could make a template or procedure such as "setBgOfs(bg, x, y)". But I got way too obsessive about the consistency of my API - we already exposed all the other registers, why hide this one? ;)
Excellent presentation, thank you!
Thanks, glad you enjoyed it! :)
Just a small note about the screen showing GBA hardware parameters: kb/Kb usually means kilobits, KB means kilobytes, KiB means kibibytes.
I would love to play Goodboy Galaxy and that Super Crate Box port when they're finished. Good to know that there's talented devs out there working with beloved old hardware
This is just beautiful. Good fucking job dude, I've always wanted to make my own pokemon game for the GBA
25:10 nice example of using distinct, I wonder what he means it isn't fool proof? Because of templates or casting?
Ah, what I meant here is that this prevents you from doing "var x = bgofs[0].x" but it doesn't prevent you from doing "var p = bgofs[0]" (trying to read both registers into a point variable at once). The real way to prevent this would be to simply not expose the register at all, for example you could make a template or procedure such as "setBgOfs(bg, x, y)". But I got way too obsessive about the consistency of my API - we already exposed all the other registers, why hide this one? ;)