Internet DOOM utilities
Главная | Предложение - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » Обсуждение IDE и др. » Предложения, вопросы » Предложение (о введении поддержки относительных путей)
Предложение
cooler_ruДата: Суббота, 16.01.2010, 22:18 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
Здравствуйте Автор!


Уважаю ваше творение и предпочитаю им пользоваться. Смущает только один недостаток (смешной по сложности реализации): невозможность указывать относительные пути в полях ввода. Например путь к клиенту Skulltag, или пути к папкам с ВАДами. Нужна эта функция для того, чтобы можно было создавать переносные (portable) версии игровых сборок: переместил на другой комп, запустил IDE и сразу пользуйся. Сейчас же приходиться каждый раз "перенаправлять" все пути при переносе, что немного удручает.

Просьба ввести поддержку данной возможности в следующей версии. Или пояснить КАК, если это уже возможно осуществить. Цель - при переносе игровой сборки (Skulltag + IDE) в другую папку пути НЕ должны умирать. Жду ответа! smile



С уважением, ваш Александр.
 
bondДата: Понедельник, 18.01.2010, 10:40 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
я посмотрю, что можно сделать, хотя думаю, это маловероятно: в IDE часто меняется рабочий каталог и многое завязано на абсолютные пути
навскидку могу предложить пару вариантов:
- держать все файлы в одном каталоге
- запускать IDE с другим конфигом (настроенным на данный комп): ide.exe -config ide-comp1.ini
 
cooler_ruДата: Понедельник, 18.01.2010, 12:38 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
А я чё-то не понял, в чём проблема... Что за частые смены рабочего каталога?
Я просто предлагаю ввести поддержку папок (точнее ссылок на папки) вида "." и ".." во всех полях ввода. То есть перед непосредственным использованием путей из полей ввода нужно будет просто их обработать ещё одной функцией, которая возвращает уже абсолютные пути.

А вот со сложностью смены рабочего каталога у меня (при написании своих программ) никогда не возникало проблем. Всегда можно сделать ЧИСТО переносную версию программы. А я даже за то, чтобы вообще всегда делать такие программы, которые не зависят от абсолютных путей, реестра (если это возможно) и подобных вещей. Буду ОЧЕНЬ рад увидеть это в IDE - уж очень удобная утилитка вышла! up

По поводу держать всё в одной папке - конечно так можно, но хотелось бы всё таки порядок в папке.
А конфиги - получается, что надо будет их править для каждой новой локации. Опять не очень...

З.Ы. Если не секрет, будь добр, расскажи, при помощи чего ты разработал IDE? Если не тяжело, приведи список ВСЕХ используемых программ (компиляторы, редакторы и т.п.) и свои комментарии по причине их выбора. Если что, можно в личку.

Заранее БЛАГОДАРЕН за ответы! icecream

Добавлено (18.01.2010, 12:38)
---------------------------------------------
Причём ещё нужно добавить возможность ручной правки путей во всех полях ввода, чтобы не приходилось дополнительно лазить в ini-шку.

А по поводу смены раб. каталога - алгоритм прост:
1) сразу после запуска приложения можно даже не раб. каталог брать (потому как может отличаться от того, в котором лежит exe-шник), а путь к Ide.exe и из него уже извлечь папку. Пример: "D:\Game Files\Skulltag\ide_ru\Ide.exe" -> "D:\Game Files\Skulltag\ide_ru\".
2) сохранить этот корневой путь в переменную: "D:\Game Files\Skulltag\ide_ru\" -> rootdir.
3) затем использовать эту переменную, если в поле ввода был введён относительный путь: "..\pwads\" -> "D:\Game Files\Skulltag\ide_ru\..\pwads\" -> "D:\Game Files\Skulltag\pwads\".

Относительность пути можно определить по:
1 - наличию ".", "..",
2 - отсутствию буквы диска в начале.
Может ещё как то. А может второго варианта хватит в любом случае.

В общем всё сводится к простой работе со строками.

А ещё можно сделать так, чтобы при указании пути через диалог выбора папки, если начало выбранного пути совпадало с rootdir (или частично), то IDE сам бы вписывал относительный каталог (просто отрезал из полученного пути начало):

"D:\Game Files\Skulltag\pwads\" -> (одна папка не совпала, значит один раз добавить "..") -> "..\pwads\".
"D:\Game Files\Skulltag\ide_ru\"

"D:\Game Files\Skulltag\SomeDir1\pwads\" -> (две, значит добавить "..\..") -> "..\..\pwads\".
"D:\Game Files\Skulltag\SomeDir2\ide_ru\"

"D:\Game Files\Doom WADs\" -> (папка уже совсем в другом месте) -> значит надо ещё выдавать запрос, сохранить ли относительный путь или нет (по-умолчанию как и было "нет").
"D:\Game Files\Skulltag\ide_ru\"

И всё! И это будет уже совсем шоколадно! happy

Сообщение отредактировал cooler_ru - Понедельник, 18.01.2010, 12:46
 
bondДата: Понедельник, 18.01.2010, 13:26 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
хех)
ну ты назадавал мне фронт работ.. )
я посмотрю, хоть и не обещаю - мне не очень хочется ковырять весь проект в поисках возможных проблем от таких замен. должен признаться, что за годы работы с этим проектом он стал очень замусоренным и трудночитаемым, а переделывать все лень - проще новый написать.
создавалось все на Borland C++ Builder 6, по весьма простой причине - я его (билдер) тогда (2001) изучал и в качестве примера и решил делать этот лаунчер (альтернативы были весьма посредственные тогда)
 
cooler_ruДата: Понедельник, 18.01.2010, 13:32 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
Ааа.... Билдер это хорошо! Мне тоже нравится.
И по поводу замусоренности тоже тебя понимаю.

Получается ты его до сих пор на 6м Билдере собираешь? А то смотрю, диалоги выбора папок старые.
На новые версии переносить не будешь? Или ты проект уже так, "слегка" поддерживаешь?
А как насчёт опенсорс?

З.Ы. На самом деле очень полезная вещь - свои проекты. Позволяет поддерживать себя в дееспособном состоянии. Да и иногда на приёме на работу можно похвастаться. (эт я тебя вдохновляю, чтобы не бросал проект, а даже наоборот, подчистил код и перенёс на новые рельсы.)

Сообщение отредактировал cooler_ru - Понедельник, 18.01.2010, 13:35
 
bondДата: Понедельник, 18.01.2010, 13:45 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
новые версии билдера мне не нравятся
про опенсорс я думал (и пока еще думаю..), смотрел в сторону Qt - но после выхода DoomSeeker энтузиазма поубавилось
 
cooler_ruДата: Понедельник, 18.01.2010, 13:47 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
Ну он, конечно, альтернатива, но пока ещё слабая. Много чего нету. И русификации в том числе.

А почему именно Qt? А просто текущие исходники нельзя выложить? Я вот по поводу опенсорс проектов мало чё знаю. Лицензия не позволяет? Типа надо купленный билдер? Или как?

 
bondДата: Понедельник, 18.01.2010, 14:10 | Сообщение # 8
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
текущий проект мне не хочется выкладывать - очень уж он запутанный

Qt - потому что универсальный, хорошо разработанный (собственно, сам билдер из него и вырос по моему) и бесплатный.
перевод на любой язык там делается несложно, для этого есть спец. программка - но нужен русский энтузиаст, который все это переведет

 
cooler_ruДата: Понедельник, 18.01.2010, 14:29 | Сообщение # 9
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
Ну я вот сколько не искал нормального решения для кроссплатформенного программирования, остановился пока на wxWidgets.
Qt-приложения (статические) весят ДОХРЕНА. Косяки с лицензированием (если захочешь в коммерцию перейти - шиш).
А ещё Qt использует свой движок отрисовки контролов вместо нативного WinAPI, что не всегда удобно.

Мне просто интересно, как и чем люди пишут хорошие программы. Так что не посчитай меня занудным.

Добавлено (18.01.2010, 14:19)
---------------------------------------------
В общем я сейчас ещё разок глянул на Doomseeker - не хватает много чего, что есть в IDE, хоть он и поддерживает относительные пути. Он ещё молодой.
Да и всегда хорошо, когда есть выбор!

Добавлено (18.01.2010, 14:29)
---------------------------------------------
Ты бы написал, мне сразу переходить на Doomseeker, или ты ещё будешь поддерживать IDE?

 
bondДата: Понедельник, 18.01.2010, 14:43 | Сообщение # 10
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
ну, пока поддерживаю - ты же видишь )
а на что переходить - это твое дело, конечно
хотя, если ты программист - почему бы не улучшить DoomSeeker так, как тебе хочется? лет 9 назад я бы так и поступил возможно.. )
 
cooler_ruДата: Понедельник, 18.01.2010, 14:44 | Сообщение # 11
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
А как? Насколько возможно подробно...
 
bondДата: Понедельник, 18.01.2010, 14:59 | Сообщение # 12
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
ну как.. скачай и установи Qt, скачай сорс DoomSeeker'а, добейся успешной компиляции - и дальше модифицируй все, что тебе надо. результат отправь авторам, а если они это отвергнут - делай свой "DoomSeeker", это проект открытый
 
cooler_ruДата: Пятница, 18.06.2010, 23:11 | Сообщение # 13
Сержант
Группа: Пользователи
Сообщений: 29
Репутация: 0
Статус: Offline
Ага! Благодарю за ответы!

З.Ы. Жду новый IDE... biggrin

Добавлено (15.06.2010, 22:47)
---------------------------------------------
Выражаю большую благодарность за внесённые доработки! Всё работает отлично на последней версии! cool

Добавлено (18.06.2010, 23:11)
---------------------------------------------
Нашёл баг: GetWAD не хочет работать с относительными путями. Вот лог:

=====================================
FETCHING THE SEARCH LIST...

Connecting to zdaemon.org...
Transferring getwad/ ...
Finished

SEARCHING FOR mop_beta_v0.5.pk3...

Connecting to wadhost.fathax.com...
Transferring files/mop_beta_v0.5.zip (3 120 KB) ...
Finished

Opening ZIP file...Cannot open "..\pwads\mop_beta_v0.5.pk3" for writing

Connecting to raider.dnsalias.com...
...
=====================================

 
bondДата: Суббота, 19.06.2010, 15:48 | Сообщение # 14
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
а у меня вроде нормально все:

 
bondДата: Суббота, 19.06.2010, 18:03 | Сообщение # 15
Admin
Группа: Администраторы
Сообщений: 85
Репутация: 1
Статус: Offline
у меня все грузится нормально - в том числе и игра
и с mop_beta_v0.5.pk3, и с scythe2.wad

zip грузится потому, что pk3 там упакован в zip: http://wadhost.fathax.com/files/mop_beta_v0.5.zip
(может несколько смущает строка типа "Opening ZIP file...Cannot find "scythe2.pk7" in the downloaded zip file", но это нормально - не до конца продуманы сообщения при добавке PK7 просто)

строка "Cannot open "..\pwads\scythe2.wad" for writing" означает, что getwad не может создать файл для записи: "..\pwads\scythe2.wad", чтобы распаковать его из загруженного zip'а (zip похоже грузится в %TEMP%)

может, что-то не в порядке с каталогами? какая ОС? не vista/7 ?

кстатит, getwad - открытый проект, находится здесь: http://getwad.keystone.gr/ - можешь сам исходники поизучать

 
Форум » Обсуждение IDE и др. » Предложения, вопросы » Предложение (о введении поддержки относительных путей)
Страница 1 из 212»
Поиск:

bond © 2001-2017