I noticed that light-casting can get buggy near a dungeon's leftmost boundary, then discovered that the first say < 0 in the line if ((say < 0 and absi(sax) > x) or (say < 0 and absi(say) > y)) of _cast_light() in field_of_view.gd should actually be sax < 0 (the corresponding C++ code is if ((sax < 0 && (uint)std::abs(sax) > x) in the C++ shadowcasting implementation referenced by your tutorial). This pull request fixes each instance of that typo. Thanks for creating your tutorial, by the way! 🙂
I noticed that light-casting can get buggy near a dungeon's leftmost boundary, then discovered that the first
say < 0
in the lineif ((say < 0 and absi(sax) > x) or (say < 0 and absi(say) > y))
of_cast_light()
infield_of_view.gd
should actually besax < 0
(the corresponding C++ code isif ((sax < 0 && (uint)std::abs(sax) > x)
in the C++ shadowcasting implementation referenced by your tutorial). This pull request fixes each instance of that typo. Thanks for creating your tutorial, by the way! 🙂