Hacker News new | ask | show | jobs
by codetrotter 2657 days ago
Been spending the past hour deobfuscating it a bit.

https://gist.github.com/ctsrc/fef3006e1d728bb7271cff0656eb02...

Meanwhile others have posted fully deobfuscated versions that the original author and someone else has published in the past. Oh well :P

1 comments

Either way, deobfuscating this is fun so I'll keep going.

The link above goes to the first revision.

Here is a link to the most recent revision at all times:

https://gist.github.com/ctsrc/fef3006e1d728bb7271cff0656eb02...

Pretty much done deobfuscating, refactoring and commenting the code now.

I think at this point most of it is pretty understandable.

https://gist.github.com/ctsrc/fef3006e1d728bb7271cff0656eb02...

I worked a little bit more on it, and thanks to my refactoring I have identified a bug in the original code (which I have intentionally retained in my own code because the point is to produce the same output as the original version, all the way down to and including bug-for-bug compatibility).

Description of bug, which I also posted as a comment on the OP gist:

> Player and other entities will never be placed on the rightmost column of the room floor, nor on the bottom-most row of the room floor. See https://gist.github.com/ctsrc/fef3006e1d728bb7271cff0656eb02... [...]. In my refactored version of your code the bug is explained at the line I linked to in this comment.

https://gist.github.com/munificent/b1bcd969063da3e6c298be070...