Как я могу изменить заставку (.saver)?

Моя цель - изменить экранную заставку Matrix, которая больше не поддерживается разработчиками. Я просто хочу иметь возможность изменить цвет глифов с зеленого на красный. Из того, что я прочитал, мне может понадобиться редактировать скомпилированный .nib файл. И предположительно, есть хитрости, чтобы сделать это.

Единственные файлы, которые я вижу в .saver файл:

  • Unix исполняемый файл
  • InfoPlist.strings
  • Matrix.nib
  • Glyphs.png (в градациях серого, поэтому цветовой эффект должен исходить от программирования)
  • Файл Matrix.nib в папке с названием Japanese.lproj

Я не вижу никаких других файлов, которые я мог бы редактировать, которые позволили бы мне достичь этого, поэтому я ищу некоторые рекомендации.

РЕДАКТИРОВАТЬ: Автор опубликовал исходный код для своей заставки на своем GitHub. Теперь я просто пытаюсь понять, что именно нужно изменить.

1 ответ

Решение

Модификация исходного кода не очень сложна. Цвета вычисляются на лету, поэтому актив нельзя изменить, чтобы изменить цвет.

В строке 226 MatrixStrip.m измените 1 перед левой скобкой на 0. В строке 228 измените 0 на 1. Столбец под буквой V в коде.

....                            V
226:    colorArray[16*i + 4*c + 0] = (cellState[i] == 0) ? 0.0 : g;
227:    // Cells which are very bright are slightly whitened
228:    colorArray[16*i + 4*c + 1] = ((g > 0.7) && (cellState[i] != 0)) ? (g - 0.6) : 0.0;

Внесите те же изменения в строки 253 и 255. Вы помещаете числа в столбце 34 столбца во внутренние циклы по порядку. В исходном коде, читая в столбце 34 числа a 1, 0, 2, 3. Это должно быть сделано в обоих внутренних циклах на четырех указанных мной строках. Эти цифры являются показателями цвета RGBA.

Я не уверен, что мое объяснение адекватно, поэтому вместо того, чтобы расширить его до 1000 слов, я включу снимок экрана различий с соответствующими частями, выделенными калейдоскопом. Оригинальный код слева.

Мне пришлось скачать изображение, чтобы увидеть соответствующие детали.

Другие вопросы по тегам