Thief: the Dark Fate Forum

Thieves Connection => Fan-Миссии => Тема начата: DJ Riff от 19 февраля 2006 14:05:08

Название: Thief Loader
Отправлено: DJ Riff от 19 февраля 2006 14:05:08
Итак, прога лежит тут:
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. Программа восстанавливает только те файлы, которые она сама копировала. Соответственно, все прочие файлы (новые сейвы, файлы настроек и т.п.), если они не были заменены при установке, при удалении остаются без изменения.
Все замеченные баги пишите сюда.
Большая просьба: не требуйте от проги многого. Она изначально задумана как простая, безглючная и универсальная копировалка. То есть с ее помощью также можно заменять сейвы, текстуры и вообще все, что вам придет в голову.
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 16:00:32
Скачал. Кинул прогу в диру с игрой, туда же кинул Evicted.zip. Драг-&-дропом перетащил zip с ФМ-кой в ThiefLoader. Миссия синсталировалась - все работает отлично. Создались временные каталоги: ThiefLoader.ini, ThiefLoader.rar и папка Fan Mission Extras. Теперь вопрос. Как удилить миссию? Запускаю TL, а он пишет "нажмите любую клавишу, чтобы выйти". ПРи нажатии любой клдавиши, смешно сказать!, выходит! :) Что делать?
Добавлено позже
PS Кстати, если прога обростет возможностью русификации и графическим интерфейсом, может назевоешь ее RiffLoader? Звучит моднюче! ;)
Название: Thief Loader
Отправлено: Force от 19 февраля 2006 16:11:37
Хм, если бы я писал свою прогу на данную тему, назвал бы её гениальнейшим образом - FMLoader. :yes:
Но, поздняк, эта прога уже иммет
имя, поэтому поздно копошиться.
Название: Thief Loader
Отправлено: Flora от 19 февраля 2006 16:22:40
V Raptor
Цитироватьможет назевоешь ее RiffLoader? Звучит моднюче!
Если бы ты был вниметельнее, ты бы заметил что это не его разработка, а безвестного (надеюсь ненадолго) программиста.
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 16:30:09
Flora
А кто писал прогу?
[Исправлено: V Raptor, 19 фев. 2006 19:30]
Название: Thief Loader
Отправлено: Flora от 19 февраля 2006 17:14:50
Протестировал. Пока глюков не замечено. Все корректно устанавливает и восстанавливает как было. Единственное ограничение - если ставить вторую фанмиссию миссию поверх первой, то соответственно оригинальные файлы TDS уже будут потяряны безвозвратно. Т.е. имеем undo только на один шаг назад. Если я все правильно понял.
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 21:22:41
Блин, объясните идиоту: как сносить ФМ-ки???
Название: Thief Loader
Отправлено: Flora от 19 февраля 2006 21:38:10
V Raptor ThiefLoader.exe -d
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 21:39:49
Всмысле "-d"? Я ж не шарю в этом деле... :) В самой проге ничего не печатается - эни кий и прога сворачивается. Куда -d-то вводить???
Название: Thief Loader
Отправлено: Flora от 19 февраля 2006 21:49:03
V Raptor
ЦитироватьКуда -d-то вводить
В командной строке. Или создай ярлык с такой строчкой там, где объект. Ну ты прям как маленький, право слово... :sly:
Ярлык обзови как-нибудь - FM uninstall и будет тебе щасье.
[Исправлено: Flora, 19 фев. 2006 21:50]
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 22:39:30
Я не маленький - я избалованный графическими интерфейсами. :joke:
Название: Thief Loader
Отправлено: DJ Riff от 19 февраля 2006 23:02:51
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 вручную поправить.
Название: Thief Loader
Отправлено: Force от 19 февраля 2006 23:09:54
DJ Riff, а почему она тупо смотрит на своё имя, вместо имени подключаемого файла?
Можешь попросить чела сделать так, чтобы создаваемые архивы носили имя подключаемых файлов, а не программы? А чтобы имена не совпадали, немного изменять имя типа Krelleks_labirynth_rus.bak, или Krelleks_labirynth_rus_bak.zip (но первый вариант проще и надёжнее).
Имхо, это сделать - одну строчку поменять.
Название: Thief Loader
Отправлено: DJ Riff от 19 февраля 2006 23:12:32
Force
Чтобы юзер как раз не мог случайно поставить одну миссию поверх другой.
В твоем случае тогда помимо ключа -d надо будет прога передать и имя бакуп-архива, так? А если юзер забудет ключ -d, то прога попытается установить этот архив как фанмиссию. А еще, придется запоминать последовательность, с которой были установлены несколько фанмиссий, и если юзер выберет не последнюю, то удалять сначала те, что были установлены после нее, так?
Вообще, я-то рассматривал установку двух и более фанмиссий сразу как некий исключительный случай, ну та же локализация, например. Поэтому если делать поддержку такой многократной установки по-человечески, то сложность кода ИМХО изрядно возрастет. Оно действительно надо?
[Исправлено: DJ Riff, 19 фев. 2006 23:30]
Название: Thief Loader
Отправлено: Flora от 19 февраля 2006 23:32:27
DJ Riff Ага, это меняет дело. Очень продумано. Есть возможность встраивать в разнообразные bat - файлы. Пожалуй я буду вкладывать их в локализации для облегчения установки. Передай спасибо своему товарищу. Он - молодец!
Но архиватор 7z мне не удалось прикрутить. :( Так что локализации - или вручную, или переархивировать придется.
Название: Thief Loader
Отправлено: Force от 19 февраля 2006 23:39:20
DJ Riff, а зачем?
Если у нас есть файл ThiefLoader.ini, в него прописывать имя архива, который установлен. Затем, если мы пытаемся установить что-то ещё - проверяем в ThiefLoader.ini, совпадают ли имена (+добавление _rus), если не совпадают - ошибка, если совпадают - ставить, проверяя, нет ли "лишних" файлов в архиве локализации, и если есть, делать их бэкап (файлы фанмиссии не бэкапяться, только файлы игры). Соответсвенно, если проге передаётся ключ -d, удалять все файлы из списка и восстанавливать бэкап.
Название: Thief Loader
Отправлено: V Raptor от 19 февраля 2006 23:49:37
А графический интерфейс будет? :joke: :lol:
Название: Thief Loader
Отправлено: Force от 20 февраля 2006 00:06:13
Да, естественно в ThiefLoader.ini помимо имени архива должен быть список распаковываемых файлов и куда они ставятся. И не нужна никакая последовательность установленных fm.
Название: Thief Loader
Отправлено: DJ Riff от 20 февраля 2006 00:32:11
Force
Цитироватьпроверяем в ThiefLoader.ini, совпадают ли имена (+добавление _rus)
rus, ru, ukr, ...
А если имена архива и русификации не совпадают? Например, в имя архива затесаласть русская буква — поди догадайся. Или номер версии, или черточка лишняя. Потому и не хочу к именам архивов привязываться. К тому же я ее сейчас юзаю, например, для установки текстур в Gold с разных текстур-паков. Для каждого архива или отдельной папки — прога со своим уникальным именем. А в твоем случае так уже не получится. Да еще и для того, чтобы удалить русификацию, приходится удалять миссию целиком, а потом ставить заново. По-моему, это слишком большая потеря функциональности.
Цитироватьфайлы фанмиссии не бэкапяться, только файлы игры
А вот это потенциальный рассадник глюков. Если какой-то из файлов фанмиссии иногда будет все-таки в бэкапе затирать оригинальный, то отловить это будет ой как сложно. Поэтому у меня все четко сейчас: на каждую установку свой файл с бэкапом. Один раз создается, а дальше прога его только считывает.
Так что мне кажется, что если дело только в локализации, то можно и двумя прогами обойтись: загрузчик + русификатор.
Flora
А над поддержкой 7z придется поколдовать, наверное еще...
V Raptor
Прога с GUI если и будет, то написанная с нуля и совершенно по другому принципу. Чем тебе GarretLoader не угодил? :joke:
Название: Thief Loader
Отправлено: V Raptor от 20 февраля 2006 00:39:47
ЦитироватьЧем тебе GarretLoader не угодил?
Без мата? Тогда я промолчу... :lol:
Название: Thief Loader
Отправлено: clearing от 20 февраля 2006 07:58:14
DJ Riff, :up: ух ты! за выходные что я пропустил. Качаю.
Правда, разве что посмотреть на саму прогу, т.к. большого желания пока нет играть в T3 FM. Так и не понял, кто этот безизвестный (надеюсь ненадолго) программист?
[Исправлено: clearing, 20 фев. 2006 13:01]
Название: Thief Loader
Отправлено: DJ Riff от 20 февраля 2006 09:11:20
clearing
Ей можно, например, сейвы чужие подкидывать в Thief 1-2, или текстуры какие-нибудь. Да мало ли для чего может пригодиться копировалка с бакупом? Ей ведь абсолютно все равно, что копировать.
ЦитироватьТак и не понял, кто этот безизвестный (надеюсь ненадолго) программист?
А я его сюда не пускаю пока. Пусть хотя бы Т1 пройдет. А то ведь огребет спойлеров. Такой вот я жестокий. Я ему даже Dark Project 1.14 подсунул — пусть с "настоящими" зомбями помучается :biggrin:
Название: Thief Loader
Отправлено: Force от 20 февраля 2006 17:35:06
[off]DJ Riff, мог бы и 1.33, там они такие же :).[/off]
Ну, как хотите. Просто смысл весь в том, что юзерам этой проги не нужны украинские переводы (да и неб ывает таких). А имя файла быдет точным, так как иначе скрипты сайта не будут воспринимать локализацию как локализацию конкретной миссии (то есть привязка идёт по имени).
Ну а всякие текстуры... хм. Не знаю, это кому как. По мне так для т3 есть установщик текстур, а для т1-2 всё и так понятно, без бэкакпа...
Просто меня отталкивает мысль, что нужна спеуиальная гора экзешников, последовательность установки которых тоже нужно как-то запомнить (вот только как, если она нигде не записывается?).
Название: Thief Loader
Отправлено: DJ Riff от 20 февраля 2006 19:34:41
Force
А я думаю, что настоящим установщиком фанмиссий будет действительно единственная прога, которая знает и проверяет с чем работает, знает и проверяет, что после ее действий должно получиться и что потом с этим можно будет сделать. Плюс еще более-менее удобный интерфейс и куча защит от дурака (и эвристический анализ дураков новых типов ;) ). Вот где-то тут и появляется Призрак Глючного Гарретлоадера.
Но это уже будет совсем другая прога, которую надо долго писать и долго отлаживать. Так что я пожалуй, оставлю эту прогу как есть — в самом простом варианте (ну, кое-какие мелкие баги поправлю). Я ведь даже не стал прикручивать работу с user.ini — слишком не свойственная для нее эта операция. А пока ее можно будет более-менее нормально юзать, а я потихоньку сподвигну Безызвестного Программиста на нечто большее. Только пусть хотя бы Т1 пройдет — проникнется атмосферой :yes:
Цитироватьпоследовательность установки которых тоже нужно как-то запомнить
на дату бакупа смотри ;)
Название: Thief Loader
Отправлено: Flora от 20 февраля 2006 19:47:35
Force Ну можно эту прогу пронумеровать например. Loader1, loader2, Loader3 и т.д. И ставить последовательно. :)
Название: Thief Loader
Отправлено: DJ Riff от 20 февраля 2006 23:06:58
Так, всем кто пользует ThiefLoader, качать свежую версию 1.5 по ссылке, указанной в начале темы! (а кому лень — по этой http://djriff.newmail.ru/thief/ThiefLoader.zip) Обнаружен серьезный баг, из-за которого прога, хоть и при весьма редком стечении обстоятельств, но все же может повторить фокус ГарретЛоадера с удалением чего-то нужного.
Кроме того, исправлено поведение программы при обнаружении заблокированного файла (например, при подвисании Вора) — остановка с выводом предупреждения. Ну и еще несколько информационных сообщений при попытке сделать что-нибудь не то.
Новая версия полностью совместима с резервными копиями файлов, созданными предыдущей версией.

[Исправлено: DJ Riff, 20 фев. 2006 23:10]
Название: Thief Loader
Отправлено: Force от 23 февраля 2006 07:29:28
Flora, отличная мысль ;).
DJ Riff, ладно, уговорил :biggrin:. Надеюсь, это "нечто большее" от Безызвестного Программиста будет действительно полезной вещью. :yes:
Название: Thief Loader
Отправлено: DJ Riff от 24 мая 2006 13:36:31
Обновление программы. Устранен баг, из-за которого повреждался архив с бэкапом, если файл с фанмиссией содержит ошибки.
Пока что сама миссия при этом не устанавливается: не копируются файлы, следующие за поврежденным. Однако деинсталляция "калеки" проходит нормально.
Обновленную версию качать отсюда (если она, конечно, кому-то еще нужна):
ftp://djriff.homeftp.net/Soft/ThiefLoader
http://djriff.newmail.ru/thief/ThiefLoader.zip
[Исправлено: DJ Riff, 24 мая 2006 13:37]

[Исправлено: DJ Riff, 25 фев. 2007 10:24]
Название: Thief Loader
Отправлено: V Raptor от 24 мая 2006 14:07:30
Нужно, конечно!