Thief Loader

Автор DJ Riff, 19 февраля 2006 14:05:08

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

DJ Riff

Итак, прога лежит тут:
http://djriff.newmail.ru/thief/ThiefLoader.zip
Можно тестить.
Программу скопировать в директорию установки Вора.
Работает следующим образом.
Установка миссии
ThiefLoader.exe mission_path\mission.zip
либо, если миссия распакована в папку
ThiefLoader.exe mission_path -f (проверьте, чтобы в конце пути не было "\" — думаю, в ближайшее время это будет пофиксено)
При этом файлы из архива или папки копируются с заменой в папку, в которой лежит ThiefLoader.exe. Создаются следующие файлы:
<Progname>.zip — резервные копии измененных файлов
<Progname>.ini — список установленных/измененных файлов, служебная информация.
<Progname> — имя исполняемого файла программы (ThiefLoader по умолчанию).
Удаление миссии
ThiefLoader.exe -d
При этом удаляются новые файлы, измененные восстанавливаются из <Progname>.zip, а сам <Progname>.zip переименовывается в <Progname>.taff, на всякий случай. Информация о файлах в <Progname>.ini остается до следующей установки фанмиссии.
Важные замечания
1. Программа занимается только копированием файлов с возможностью восстановления. Все остальные действия, например, модификация user.ini производится руками (если модифицированный user.ini скопировать в архив с фанмиссией, то процесс автоматизируется)
2. Все создаваемые программой файлы жестко привязаны к имени исполняемого файла. Это означает, что в одной папке могут работать несколько программ с разными именами, совершенно независимо друг от друга. Например, одна заведует установкой миссии, другая — русификацией. Главное, не перепутать порядок установки и удаления.
3. Настоятельно не рекомендуется запускать программу при запущенной или зависшей игре, т.к. заблокированные от изменения файлы будут просто пропущены.
4. Если необходимо повторить удаление миссии (например, если случилась ж..., описанная в п.3), то делаем следующее:
1) в <Progname>.ini прописываем Installed=1;
2) <Progname>.taff переименовываем в <Progname>.zip
Запускаем <Progname>.exe - d
5. Программа восстанавливает только те файлы, которые она сама копировала. Соответственно, все прочие файлы (новые сейвы, файлы настроек и т.п.), если они не были заменены при установке, при удалении остаются без изменения.
Все замеченные баги пишите сюда.
Большая просьба: не требуйте от проги многого. Она изначально задумана как простая, безглючная и универсальная копировалка. То есть с ее помощью также можно заменять сейвы, текстуры и вообще все, что вам придет в голову.
Тьма тоже распространяется со скоростью света.

V Raptor

Скачал. Кинул прогу в диру с игрой, туда же кинул Evicted.zip. Драг-&-дропом перетащил zip с ФМ-кой в ThiefLoader. Миссия синсталировалась - все работает отлично. Создались временные каталоги: ThiefLoader.ini, ThiefLoader.rar и папка Fan Mission Extras. Теперь вопрос. Как удилить миссию? Запускаю TL, а он пишет "нажмите любую клавишу, чтобы выйти". ПРи нажатии любой клдавиши, смешно сказать!, выходит! :) Что делать?
Добавлено позже
PS Кстати, если прога обростет возможностью русификации и графическим интерфейсом, может назевоешь ее RiffLoader? Звучит моднюче! ;)

Force

Хм, если бы я писал свою прогу на данную тему, назвал бы её гениальнейшим образом - FMLoader. :yes:
Но, поздняк, эта прога уже иммет
имя, поэтому поздно копошиться.

Flora

V Raptor
Цитироватьможет назевоешь ее RiffLoader? Звучит моднюче!
Если бы ты был вниметельнее, ты бы заметил что это не его разработка, а безвестного (надеюсь ненадолго) программиста.

V Raptor

Flora
А кто писал прогу?
[Исправлено: V Raptor, 19 фев. 2006 19:30]

Flora

Протестировал. Пока глюков не замечено. Все корректно устанавливает и восстанавливает как было. Единственное ограничение - если ставить вторую фанмиссию миссию поверх первой, то соответственно оригинальные файлы TDS уже будут потяряны безвозвратно. Т.е. имеем undo только на один шаг назад. Если я все правильно понял.

V Raptor

Блин, объясните идиоту: как сносить ФМ-ки???

Flora

V Raptor ThiefLoader.exe -d

V Raptor

Всмысле "-d"? Я ж не шарю в этом деле... :) В самой проге ничего не печатается - эни кий и прога сворачивается. Куда -d-то вводить???

Flora

V Raptor
ЦитироватьКуда -d-то вводить
В командной строке. Или создай ярлык с такой строчкой там, где объект. Ну ты прям как маленький, право слово... :sly:
Ярлык обзови как-нибудь - FM uninstall и будет тебе щасье.
[Исправлено: Flora, 19 фев. 2006 21:50]

V Raptor

Я не маленький - я избалованный графическими интерфейсами. :joke:

DJ Riff

Flora
Неправильно понял.
1. Есть программа ThiefLoader.exe. Загружаем с ее помощью, к примеру Krelleks_labirynth.zip. Соответственно, она создает файлы ThiefLoader.ini и Thiefloader.zip
2. Переименовываем программу или создаем ее копию в этой же папке, например, RusLoader.exe. Загружаем с ее помощью твою локализацию Krelleks_labirynth_rus.zip. Она при этом создает файлы RusLoader.ini и RusLoader.zip.
Удаление производим в обратном порядке:
RusLoader.exe -d
Если переименовывали программу, то переименовываем обратно в ThiefLoader.exe
ThiefLoader.exe -d
Добавлено позже
А поверх первой без переименования она тебе не даст поставить — ругнется. Если только ini вручную поправить.
Тьма тоже распространяется со скоростью света.

Force

DJ Riff, а почему она тупо смотрит на своё имя, вместо имени подключаемого файла?
Можешь попросить чела сделать так, чтобы создаваемые архивы носили имя подключаемых файлов, а не программы? А чтобы имена не совпадали, немного изменять имя типа Krelleks_labirynth_rus.bak, или Krelleks_labirynth_rus_bak.zip (но первый вариант проще и надёжнее).
Имхо, это сделать - одну строчку поменять.

DJ Riff

Force
Чтобы юзер как раз не мог случайно поставить одну миссию поверх другой.
В твоем случае тогда помимо ключа -d надо будет прога передать и имя бакуп-архива, так? А если юзер забудет ключ -d, то прога попытается установить этот архив как фанмиссию. А еще, придется запоминать последовательность, с которой были установлены несколько фанмиссий, и если юзер выберет не последнюю, то удалять сначала те, что были установлены после нее, так?
Вообще, я-то рассматривал установку двух и более фанмиссий сразу как некий исключительный случай, ну та же локализация, например. Поэтому если делать поддержку такой многократной установки по-человечески, то сложность кода ИМХО изрядно возрастет. Оно действительно надо?
[Исправлено: DJ Riff, 19 фев. 2006 23:30]
Тьма тоже распространяется со скоростью света.

Flora

DJ Riff Ага, это меняет дело. Очень продумано. Есть возможность встраивать в разнообразные bat - файлы. Пожалуй я буду вкладывать их в локализации для облегчения установки. Передай спасибо своему товарищу. Он - молодец!
Но архиватор 7z мне не удалось прикрутить. :( Так что локализации - или вручную, или переархивировать придется.