Wolf 5k strikes back
Забавная была игрушка «Wolf5K». Это игра на JavaScript, занимающая пять килобайт (!). Был такой конкурс когда-то — «The 5K», цель — уместить что-нибудь толковое в 5 килобайт.
Ребята произвели фурор тогда, они уместили в этот размер небольшую псевдотрёхмерную бродилку. Никаких CANVAS! Хитрость в том, что вся графика (кроме кровищи) делается в формате XBM и передаётся тегу IMG через схему «javascript». Игрушка работала в IE5, IE6, Mozilla 1.1+ и Netscape 4.77 для Мака.
Формат XBM — это текстовый формат чёрно-белых картинок (я даже когда-то делал библиотеку для PHP Image::XBM). Его удалили из IE в SP2, работает ли это до сих пор в Gecko-браузерах я не знаю (у меня сейчас не установлен FF, а ставить лень), а «Опера» не читает графику через схему «javascript», так как никогда не делает попыток угадать контент по содержанию. Только по MIME-типу.
В общем, захотелось мне почему-то вспомнить эту игрушку, а она у меня не работает. Ну, делов-то. Заменить схему «javascript» на чуть доработанную «data». Вот патч, нужно открыть окно игры, скопировать его в строку браузера и нажать «Enter»:
javascript:void(eval(X.toString().replace(/"j.*?;"/, '"data:image/x-xbitmap," + encodeURI(im)')))
В IE по-прежнему работать не будет (в нём нет XBM), в «Хроме» тоже не должно, в «Опере» — заработает. Если у кого-нибудь установлено что-то ещё, попробуйте и скажите получилось ли.
Добавлено утром: читатели сообщают, что в «Сафари» тоже работает.
У меня нигде не работает, даже в Опере (10.54).
А, извиняюсь, не прочитал, что нужно открыть их сайт ещё.
Сафари на Айфоне — кажется, с патчем работает. Правда ничего нельзя сделать в игре, но после применения патча картинка стала такой, какой должна быть.
Линукс убунту 10.04 опера 10.6 (6383 — Approaching 10.60 Final).
Работает с патчем.
Супер!
В последнем Сафари (Version 5.0 (6533.16)) под MacOS (10.6.4) работает с патчем.
Комментарий для baranov-ra.livejournal.com:
Забавно, я думал WebKit не понимает XBM.
Комментарий для unno.ru:
Спасибо!
Комментарий для Евгения Степанищева:
Пожалуйста, кстати, в Chrome (6.0.447.0 dev) и Opera (10.54) под той же MacOS (10.6.4) тоже работает, а вот Firefox 3.6.3 отказывается.
У меня в Opera 10.00 build 1750/Win32 оно работает и без патча.
Комментарий для unno.ru:
Видимо, под MacOS всё несколько иначе работает.
Комментарий для mr-simm.livejournal.com:
Дико забавно.
Комментарий для Евгения Степанищева:
Ага — сейчас проверил на работе — та же сборка оперы — не пашет. Вроде отличий никаких — и на работе, и на нетбуке — XP.
На FF 4.0b2pre не работает — этот браузер не поддерживает XBM.
Firefox 3.6 и выше не поддерживает XBM: http://en.wikipedia.org/wiki/X_BitMap
Регрессия произошла между сборками Оперы 10.5 (3236 — 3273)
Уже известил о столь печальном событии разработчиков.
Комментарий для http://my.opera.com/fatal:
Мне кажется, править не будут. Смысла в этом мало.
В Опере гиков полно, -- исправят :-) Пару лет назад же исправили, а теперь сломалось в том же месте.
Почему же более востребованную Execute program до сих пор не исправили (лишние кавычки)?
Комментарий для -:
Что? Не понял.
Это был ответ http://my.opera.com/fatal.
Если в menu.ini прописано такое:
Item, «Download»=Execute program, «dmaster.exe»,«%l %u»
То при запуске качалки урл и реферер будут указаны как один аргумент:
dmaster.exe « http://site.com/file.zip http://site.com/page%22
В 10.10 работает нормально, в свежих — нет.
Комментарий для -:
А, понятно.