scummvm/scummvm — comment on commit 538d83408091e9077f451f45c1ac1127f302b47d
File: engines/sky/logic.cpp line 1425
By digitall:

Spoken to eriktorbjorn on IRC and this code does have the same behaviour as the original, which was just as odd... Maybe we should consider making the outer loop unconditional or !shouldQuit()?

Fingolfin: Yes, I'm aware of this and the branch naming was apropos, but slightly "tongue in cheek" ironic.

This started with me finding a goto which was fairly trivial to remove and resulted in cleaner, more readable code.
I then suspected it should be possible to replace most (if not all) of the other cases with similar readability / code structure improvement,
but I am aware that in some cases, the goto is warranted i.e. jumping out from a very deep nested if etc. and that you for providing a good
reference.

I am also now aware that the C++ label and goto are limited in scope to the enclosing function, rather than the compilation unit (current cpp file) and so the scope for spaghetti code is far lower than I initially feared. I have also refrained from touching WIP code, and checked with the various developers that they are happy with the changes.