В чистом, по ассемблерному листингу.
- - - Добавлено - - -
И все операции приводятся к 16-битным, даже сравнение char константы и переменной типа char. Против такого даже ручками код не повертишь.
В частном случае именно rogue, не грех было бы и саму программу переписать. Игровое поле у них массив short 80x25, все барахло хранится в связных списках, хорошо, что не двунаправленных. При том, что там 3-10 элементов, dadfuscator-ного кода на их обслуживание получаются десятки килобайт. Ну и перлы вроде вот этого свича с двойной перепроверкой, хотя их не так много наверное. Я изначально наугад взял функцию, которая не ссылается на внешние типы.
А кстати, известно хоть что-нибудь про этот C-80? Откуда он родом?





Ответить с цитированием