Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Меняем разрешение в Героях (HDmod)
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > HD-мод
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55
SAG19330184
Цитата(Лентяй @ 29 Jun 2010, 15:43)
кнопку активации быстрой битвы бы, с индикатором, чтобы было видно, вкл она или выкл.

попробуй WT, тебе понравится wink.gif там быстрая битва включена всегда, но есть возможность ее переиграть если результат не понравился. Очень удобно
baratorch
Цитата(SAG19330184 @ 29 Jun 2010, 15:48)
Конкретно от Бараторча я ждал инструмента для добавления кнопок. Идей много, а реализовать кнопки не могу.

ну, именно для адвенча-менеджера это вполне уже можно сделать. Ведь ЕРМ может реагировать на нажатие кнопки и определять ее ID номер, так? В следующей версии могу сделать такой инструмент.
SAG19330184
Цитата(baratorch @ 29 Jun 2010, 16:35)
ну, именно для адвенча-менеджера это вполне уже можно сделать. Ведь ЕРМ может реагировать на нажатие кнопки и определять ее ID номер, так?

да ERM реагирует, если знает ID области нажатия мышой.
Цитата(baratorch @ 29 Jun 2010, 16:35)
В следующей версии могу сделать такой инструмент.

лучше оформить отдельным продуктом.
надо чтобы:
- кнопки располагались в произвольном месте
- произвольного (настраиваемого в отдельности для каждой кнопки) размера
feanor
Хм. Походу новый HD не работает с alpha.dll.
Проснусь - еще проверю.
Berserker
Цитата
Хм. Походу новый HD не работает с alpha.dll.

Оба затрагивают механизм ресурсов, по ходу.
baratorch
что такое альфа длл?
Ржавчина
Даёт возможность использовать альфа-канал дефов, и, как следствие, делать полупрозрачность.
baratorch
в теме ни одной живой ссылки на эту длл. А ведь автор вроде выкладывал ее еще и с исходниками. Есть у кого?
Sir Four
Цитата(SAG19330184 @ 29 Jun 2010, 17:29)
Цитата(Лентяй @ 29 Jun 2010, 15:43)
кнопку активации быстрой битвы бы, с индикатором, чтобы было видно, вкл она или выкл.

попробуй WT, тебе понравится wink.gif там быстрая битва включена всегда, но есть возможность ее переиграть если результат не понравился. Очень удобно

- а мне бы вертолет, только летать боюсь, вдруг упаду
- купи пароход - с ним не упадешь, разве что утонешь


banghead.gif

тема HD превратилась в выставку модов, пиар так и прет изо всех щелей. не надоело?
baratorch
альфа длл не трогает загрузку дефов, а ставит хуки на функции, рисующие дефы, а эти функции хд-мод не трогает.
у меня вообще через инжект_длл.экзе альфа длл не работает - не может поставить хуки, не только на хд, но и на не хд SoD 3.2 En.
А если я в HiRez.dll загружаю alpha.dll через LoadLibrary, то все норм. Правда я работу проверить не могу - лень придумать/найти что заменить, леньрисовать/заменять..
packa
Нет smile.gif
sergroj
Цитата(monster @ 29 Jun 2010, 10:14)
Скучно с вами.

Причина не в нас.

Цитата(Айвен @ 29 Jun 2010, 13:23)
Там практически такая структура и есть. Надо только напрячь немного башку свою и понять эту структуру.

Много не структурированных ресурсов. Я с Throutle полностью согласен.

Цитата(Айвен @ 29 Jun 2010, 13:23)
Так вот, одни это сделали и теперь спокойно пользуются, а другие гундосят, и будут гундосить при любом раскладе, потому что им всегда что-то не так.

facepalm.gif

Вариант "какая попало структура + тулкит с листингом файлов в такую же древовидную систему" у меня сделан в MMArchive, еще бы кто-то наполнил эту систему.
Айвен
Цитата
Я с Throutle полностью согласен.

Предлагаю вам вместе занятся более правильной структуризацией ресурсов игры. rolleyes.gif
Цитата
Вариант "какая попало структура + тулкит с листингом файлов в такую же древовидную систему" у меня сделан в MMArchive, еще бы кто-то наполнил эту систему.

Не понял.
sergroj
У меня в MMArchive есть Favorites - их можно наполнить файлами. Дерево хранится в файле имя_лода.lf в папке проги.

Забыл запостить:

Цитата(EtherniDee @ 14 Jun 2010, 21:54)
baratorch, создавай процесс через CreateProcessA, жди пока GetExitCodeProcess != true.

Нет, WaitForSingleObject на хендл процесса.
Throutle
Оффтоп:

С удовольствием бы занялся, и даж думаю что когда-нибудь займусь, но скила пока на это не хватает, а на поднятие скила до нужной величины - времени... Да что с Героями, я всё аватарки на контакты в мобильном не всем нарисовал и мелодии не всем нарезал, банально некогда, на работе прям какое-то массовое явление - перенос банклиентов и переделывание подписей и сертификатов, дело-то фигня, а возни много, вот к вечеру и убитый в хлам и ничего не хочется (((
Arkin Hgarod
Всем доброго дня. Скачал я версию 2.12 сего чуда, установил на русское Полное собрание и на wog 3.58f, который в свою очередь установлен на такое же Полное собрание. Живут они в разных папках, если это важно. Вроде всё правильно, новые бинарники появились. Однако, запускается и нормально работает исключительно Полное собрание (как чистое, так и из папки с wog).
Собственно, не могу запустить wog в хайрезе. Симптомы - что-то мигает, пару секунд курсор меняется на часы, потом всё опять тихо. Непатченый бинарник wog запускается нормально.
Тестировал на чистой WinXP Pro SP3 и Win2k Pro SP4, правда обе запущены в Vmware (так как я пользуюсь линуксом).
Сейчас качаю английские Heroes 3 Complete, буду ставить на них WOG без русификации и пробовать там.
Какие могут быть варианты решения, если и на английской не заработает? Тред читал, но мог что-то упустить.
gamecreator
Цитата(Throutle @ 29 Jun 2010, 17:05)
я не про дэф, а про лод
а лод не их личный. это было написано где-то.
Цитата(Throutle @ 30 Jun 2010, 09:18)
я всё аватарки на контакты в мобильном не всем нарисовал и мелодии не всем нарезал
а нафига?
CrackedMind
Цитата
Нет, WaitForSingleObject на хендл процесса.

Хмм, он разве не для потоков?
baratorch
Все правильно sergroj написал. Но это уже не актуально. Так как нет уже необходимости пользоваться сторонним приложением для паковки в лод. Вообще нет необходимости паковки в лод. Блин, как же это удобно!

Добавлено ([mergetime]1277972253[/mergetime]):
Arkin Hgarot, мне сложно сказать в чем дело и как помочь, потому что у меня на (непосредственно)XP sp3, все работает с вогом 3.58, поставленным на буковский комплит.
Лентяй
а у тебя любые дефы в папке хайреза будут юзаться или только хайрезные, а обычные надо в лоды по старинке загонять?
gamecreator
любые. он это писал.
Berserker
Чем больше будет дефов в папке - тем хуже.
baratorch
Засунул все 2570 дефов в папку, разницы на своем EeePC 1008HA не заметил.

Добавлено ([mergetime]1277991167[/mergetime]):
Засунул все 2570 дефов в папку, разницы на своем EeePC 1008HA не заметил.
Throutle
Надо будет попробовать подоставать всё из лодов...
Berserker
Я уже писал в другой теме, когда спор шёл с CrackedMind. Когда pcx-ы перенёс в папку, а также wavs и текстовики, то скорость игры упала раза в 4 на FAT32 и в 1.5 раза на NTFS, когда вся папка Героев была смонтирована на ROM-Disk. Не знаю, какие у вас компы и ОС, но у меня на любом при 2000 файлов в папке резко падает производительность программы, обращающейся к случайным файлам.
Etoprostoya
На NTFS это практически не заметно. Но всё равно, это плохо.
Либо ЛОД, либо другой какой архив с дефами, пэцэиксами - вариант по-лучше.
baratorch
Oбъясните, почему должна падать производительность.
gamecreator
потому что один файл нашел - и все.
Etoprostoya
Цитата(baratorch @ 01 Jul 2010, 20:46)
Oбъясните, почему должна падать производительность.

Из-за поиска среди большого количества файлов. Это особенно заметно на FAT32.
Впрочем, если будет десяток дефов, а не несколько сотен или больше, которые нужно подгружать, то это не критично, как тут пугают.
Sir Four
Количество файлов не имеет значения, потому что есть такая штука КЭШ. Один раз прогрузилось и все. Не дергает же он диск за дефами при каждой перерисовке. А если бы дергал, то ЛОД был бы бОльшим тормозом, т.к. там надо сначала распаковать, а уже потом юзать. На дворе 2010 ))
baratorch
попробовал на флешке отформатированной в фат16... Вроде что-то и есть но четко различить скорость не получилось (52 и 2570 дефов в папке).
Ведь в лоде тоже надо найти запись и плюс еще разархивировать ее.
tolich
Цитата(gamecreator @ 01 Jul 2010, 20:19)
потому что один файл нашел - и все.
Не только это. Еще надо помнить, что дисковая память выделяется кластерами и при хранении большого числа мелких файлов выше накладные расходы, в том числе и на каталоги.
Цитата(etoprostoya @ 01 Jul 2010, 18:44)
Либо ЛОД, либо другой какой архив с дефами, пэцэиксами - вариант по-лучше.
Если мне не изменяет склероз, LOD отличается от большинства форматов архивов наличием сравнительно короткого индекса. Тем же свойством, вроде бы обладают архивы zip. Так что их тоже можно использовать. А вот rar (особенно solid-ный) придется сканировать от начала до конца или составлять индекс вручную.
Berserker
Тесты говорят обратное. И при чём тут кэш? Файлы грузятся по требованию с рандомным доступом. Смысл кэша нулевой. При этом я тестировал даже при подключении всей папки героев как RAM-диска (форматнул в NTFS). И всё равно весь визуальный интерфейс и анимация работали с задержками. Неприятными, надо сказать. А на FAT32 вообще вход в город выдавал на несколько секунд чёрный экран. Да что говорить. Поставьте Handy Cashe и понаблюдайте за работой командера при входе в папку. 2000 каталогов - вход 3-4 секунды. Полный список файлов - несколько минут. Удаление каталога - 5-10 минут. Теорию в топку.
И всё же если её (теорию) вспомнить, то работать с одним уже открытым файлом, для которого известны адреса секторов, гораздо быстрее, чем постоянно рекурсивно гонять жёсткий диск в поисках файла для открытия, считывания его структуры, чтения, закрытия и так далее по кругу. И кэш для цельного архива эффективнее будет работать, заглатывая куски по Х мегабайт.

Цитата
т.к. там надо сначала распаковать, а уже потом юзать. На дворе 2010 ))

Не верно. Загрузить меньше в RAM и распаковать быстрее, чем загрузить больше с HDD. Касперски писал в одной из статей. Не согласиться трудно.
baratorch
Ах да, кстати, в оригинале да же если ниодного PCX-а в Data нету Игра всеравно "ищет" каждый рсх в Data посредством вызова CreateFile(...) если вызов успешный, игра загружает рсх, если нет - лезет в лод.

То же самое я сделал и с дефами...
Berserker
Попробуй вынуть всё из лодов, посмотришь сам.
Я кроме дефов делал:
Код
    {$IFDEF ERA2}
    // Патчим GetBitmap816
    General.HookCode(Ptr($55AA9A), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим GetBitmap16
    General.HookCode(Ptr($55AE96), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим GetPalette
    General.HookCode(Ptr($55B2BC), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим GetFont
    General.HookCode(Ptr($55BB27), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим GetText
    General.HookCode(Ptr($55BDE7), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим GetSample
    General.HookCode(Ptr($55C61F), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим OpenFile для GetSample
    General.HookCode(Ptr($604881), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
    General.HookCode(Ptr($604403), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
    General.HookCode(Ptr($604A17), @AsmHook_OpenFile, General.C_HOOKTYPE_CALL, 6);
    // Патчим GetSpreadsheet
    General.HookCode(Ptr($55C0B7), @AsmHook_OpenResource, General.C_HOOKTYPE_CALL, 5);
    // Патчим ссылки на Data\s
    Patch.Opcode:=$68;
    Patch.Addr:=@General.ErmPath[1];
    General.WriteAtCode(Ptr($72C2EB), @Patch, 5);
    General.WriteAtCode(Ptr($773EB9), @Patch, 5);
    General.WriteAtCode(Ptr($777E6F), @Patch, 5);
    Patch.Addr:=@General.ErtPath[1];
    General.WriteAtCode(Ptr($72C34C), @Patch, 5);
    Patch.Addr:=@General.ErsPath[1];
    General.WriteAtCode(Ptr($7B3800), @Patch.Addr, 4);
    {$ENDIF}
baratorch
я ж не спорить пытаюсь, мне интересно почему.

Ну и яже не отказываю в использовании лода: хотите -уберите все дефы из HiRezData\DEF в лод, хотите - сделайте наоборот. Для быстрого тестирования просто кидать в папку - очень удобно. Ну и загрузка из папки работает предельно четко, а вот например bitlib и H3wUpd, как выяснилось, конфликтуют..
SAG19330184
Цитата(EtherniDee @ 01 Jul 2010, 21:33)
Я кроме дефов делал:

EtherniDee, ты нужен стране! можешь поискать кой-какие вещи в коде для мультиплеер игроков?
Berserker
SAG, этот код из Эры 1.7, но перемещение ресурсов по отдельным папкам вместо Data не понравилось MОP-у, в итоге убрал.
Berserker
Бараторч, советую почитать: Джоэль Спольски, Joel on Software, глава "Проблема курицы и яйца". Отказавшись от ЕРМ и текущих наработок ты сразу отказываешься от достаточно большой аудитории клиентов. А в итоге работа окажется нужной 1%-у или ты сам забьёшь.
Etoprostoya
[off][font-size=very-very-small]
Ему просто интересно кодить в Героях. То, что его работой будут пользоваться другие, лишь дополнительный, но не основной стимул. Берса, например, сейчас уже не заставишь работать над Героями, так как основной стимул исчез, хотя того самого дополнительного хоть отбавляй.
[/font-size][/off]
gamecreator
Цитата(EtherniDee @ 02 Jul 2010, 15:19)
Бараторч, советую почитать: Джоэль Спольски, Joel on Software, глава "Проблема курицы и яйца".

так вот зачем в 3.59 ERM совмещено с Lua
Arkin Hgarod
Цитата(baratorch @ 01 Jul 2010, 19:17)
Arkin Hgarot, мне сложно сказать в чем дело и как помочь, потому что у меня на (непосредственно)XP sp3, все работает с вогом 3.58, поставленным на буковский комплит.

Небольшая просьба, пишите ник правильно, пожалуйста. (:
По существу - будет возможность, протестирую в "настоящей" Windows, а не виртуалке, сообщу о результатах. Может быть, тогда сможете что-то посоветовать...
Christophe
Не так давно нашел сей полезный мод. У меня широкоформатный дисплей, так что сами понимаете как проблематично играть на таком в героев на стандартном разрешении. Но с этим есть проблемка.
На стандартном дисплее 4:3 все отлично и без глюков. А вот на широкоформате, ради которого я и поставил мод, есть графический баг. Обзор мира выглядит вот так:

Миникарты на всех картах меньше XL имеют тот же дефект.

Есть ли решение?
Если нет, то будет ли исправляться?
Лентяй
Серый, не флудь! А то Бараторч не заметит этого поста и не исправит баг.
DRONыч
Странно, у меня тоже 16:9 и карты работают нормально.
Лентяй
Кристоф, кстати, не указал версию ни героев, ни хайреза.
Christophe
Цитата(Лентяй @ 06 Jul 2010, 22:19)
Кристоф, кстати, не указал версию ни героев, ни хайреза.

Пардон. Забыл.
У меня WoG 3.58f поверх SoD. Hirez 2.02.
Последнюю версию не стал использовать. Там пропала опция создания случайной карты.
Ее собственно не было раньше. Но в версии 2.02 она объявилась, и я остановился на ней.
baratorch
Самого главного не сказал, какое разрешение?

Я лично о косяке таком знаю, но он у меня проявлялся на совсем совсем нестандартных разрешениях, что-то типа 957x633.
Причину тоже понимаю, но работать над исправлением не было надобности, т.к. никто не жаловался.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.