Не так давно прошел Chrono Trigger. Кому лень лезть в википедию, приведу кусок описания:
Chrono Trigger — японская ролевая игра, разработанная и изданная компанией Square Co. и вышедшая на приставке Super Nintendo Entertainment System в 1995 году. В центре сюжета — приключения компании юных путешественников во времени, странствующих сквозь эпохи вымышленного мира и пытающихся предотвратить его уничтожение в далёком будущем.
http://ru.wikipedia.org/wiki/Chrono_Trigger — осторожно, спойлеры!
Вот уж не думал, что меня настолько затянет JRPG, никогда не питал особой любви к этому жанру. Особенность Chrono Trigger — большое количество переводов. Официальных всего два — японский и английский, но при этом есть много неофициальных. Причем даже на английский — официальная версия считается слишком бедной в языковом плане и далёкой от японской.
Русских переводов в википедии указано два (на момент составления поста), но это не совсем так, всего их немного больше:
Переводы от 2RTEAM и DreamSoft, отличаются низким качеством (вроде не машинный перевод, но местами смысл не понятен совершенно) и незаконченностью — после определённой части игры русский текст заканчивается и начинается абракадабра. На них можно наткнуться, например, скачав ромы с emu-land. Я прошел где-то треть с переводом от DreamSoft, потому что не знал о других. Не повторяйте моих ошибок =)
Перевод от Chief-Net — самый продвинутый в техническом плане, переведено абсолютно всё, даже логотип игры. Минус — отключена возможность переименования персонажей.
Перевод от Leonis, наиболее качественный в плане самого перевода — всё переведено ясно и понятно. Минус — нормально работает не во всех эмуляторах. С ним я проходил оставшиеся две трети игры.
Поскольку оригинальная игра выходила на Super Nintendo, то чтобы поиграть, нужно поставить эмулятор. Они есть под все популярные ОС, в том числе и мобильные. Например Snesoid для Android. Вот так игра выглядит в моём телефоне:
Управление несложное, поэтому удобно играть даже на сенсорном дисплее. Вообще для андроида есть официальная версия, но русского перевода там нет, как и настраиваемого управления и прочих прелестей эмуляторов. Хотя для успокоения совести можно и купить — на момент этого поста цена вопроса около 200 рублей.
Под Windows и Linux хорошо работает ZSNES. Если играете через него, обратите внимание на настройки фильтров — можно растянуть изображение в несколько раз без пикселизации.
В редакторе Word нет встроенной возможности удалить ссылки из документа. Вернее, она есть — нажимаем Ctrl + A, а затем Ctrl + Shift + F9. Но синий цвет по-прежнему остаётся. Еще одна проблема — печать страниц из Википедии, сноски, которыми утыканы все статьи, в печатном виде часто бесполезны. Беглым поиском решения не нашел, поэтому написал два простеньких макроса:
Sub Удалить_ссылки()
On Error Resume Next
'Определим выделен ли текст, если да, возьмем выделение, нет - весь документ
If Len(Selection.Range.Text) > 0 Then
Set MyObject = Selection
Else
Set MyObject = ActiveDocument
End If
'Изменим стиль текста ссылок, потом удалим ссылки
While MyObject.Hyperlinks.Count > 0
MyObject.Hyperlinks(1).Range.Font.Underline = wdUnderlineNone
MyObject.Hyperlinks(1).Range.Font.ColorIndex = wdAuto
MyObject.Hyperlinks(1).Delete
Wend
End Sub
Sub Удалить_сноски_wiki()
With Selection.Range.Find
.Text = "\[*\]"
.Replacement.Text = ""
.MatchWildcards = True
.Forward = True
If Len(Selection.Range.Text) = 0 Then
.Wrap = wdFindContinue
End If
.Execute Replace:=wdReplaceAll
End With
End Sub
Если текст выделен, то будет обработана выделенная часть, если не выделен — весь документ. У первого макроса есть небольшая проблема: удаление и перекрашивание каждой ссылки пишется в историю изменений, поэтому при отмене каждая ссылка будет отменяться по отдельности. Как исправить не знаю, с вордовским диалектом бейсика знаком очень слабо.
Оказывается, в Microsoft решили забросить пакет программ Expression и теперь раздают их совершенно бесплатно. Особенно радует бесплатный Expression Web — HTML редактор и наследник печально известного Frontpage. В отличие от своего предка, он поддерживает HTML5 и CSS3 и не мусорит в коде. А еще есть фишка под названием «Super Preview», можно посмотреть страницу в разных браузерах, в том числе и удалённых. Жаль, что развиваться дальше всё это уже не будет — MS предлагает в качестве замены Visual Studio, что для простых страничек как из пушки по воробьям.
Windows XP при отключенной опции «Не кэшировать эскизы» (а по умолчанию она отключена) создавала в папках с изображениями файлы «Thumbs.db». Не знаю почему, но это меня всегда жутко раздражало — как хорошо, что начиная с «висты» эскизы кэшируются в отдельных файлах в профиле пользователя. Но что делать с папками, в которых Thumbs.db остался?
Чтобы избавиться от них, написал простой скрипт:
@echo off
set /p drive=Input drive letter:
echo Please wait...
del %drive%:\Thumbs.db /F /S /Q /A
pause
На «Хабрахабре» выкладывали статью о создании *.bat файлов, выполняющих код на C#. К сожалению, ту статью почему-то удалили, но сам код у меня остался. Ниже его доработанная и исправленная версия:
/*
@echo off && cls && echo Loading... && echo.
set WinDirNet=%WinDir%\Microsoft.NET\Framework
if exist "%WinDirNet%\v2.0.50727\csc.exe" set csc="%WinDirNet%\v2.0.50727\csc.exe"
if exist "%WinDirNet%\v3.5\csc.exe" set csc="%WinDirNet%\v3.5\csc.exe"
if exist "%WinDirNet%\v4.0.30319\csc.exe" set csc="%WinDirNet%\v4.0.30319\csc.exe"
if "%csc%" == "" ( echo .NET Framework not found! && echo. && pause && exit )
%csc% /nologo /out:"%~dpnx0.exe" "%~dpnx0"
if not "%ERRORLEVEL%" == "0" ( echo. && pause && exit )
cls
"%~dpnx0.exe" %*
del "%~dpnx0.exe"
exit
*/
using System;
class HelloWorld
{
static void Main(string[] args)
{
Console.ForegroundColor = System.ConsoleColor.Cyan;
Console.Title = "Test application";
Console.WriteLine("Hello, World!\r\nI am at " + System.Environment.Version);
int i = 0;
foreach (string item in args)
{
Console.WriteLine(i+": "+item);
i++;
}
Console.ReadKey(true);
}
}
Улучшения следующие:
Сообщение о загрузке программы
В случае ошибки компиляции cmd.exe не закрывается и показывает текст ошибки
Программе можно передавать параметры
Скрипт корректно запускается как при клике, так и вызове из командной строки, ярлыка и т.д.
Сначала идет код для командного интерпретатора Windows, а затем — код на C#. При запуске скрипт компилирует сам себя: cmd.exe выполняет код сверху, а компилятор C# видит этот код как комментарий. Поддерживается .NET Framework версий от 2.0 до 4.5. Последней версии в коде не указано, но так как 4.5 устанавливается в папку 4.0, всё работает.
Осталось теперь придумать зачем это надо. C# — не скриптовый язык, поэтому без IDE с автодополнением и подсказками очень неудобно.
Ох, ну вот и всё, я наконец-таки закончил этот движок. Получилось корявенько, но в конце концов оно работает =)
Немного фактов:
На движок ушло 3 месяца
За это время было написано более 3000 строк кода
При этом не использовались IDE и фреймворки
Писалось всё свободными вечерами. Фреймворки и среды разработки не были использованы по причине «Да зачем они надо? Тут всего-то пара скриптов». А когда пара скриптов сильно разрослась, то стало уже поздно :-) В общем, с днём рождения, сайт!