IPB

Здравствуйте, гость ( Вход | Регистрация )

37 страниц V  « < 16 17 18 19 20 > »   
Reply to this topicStart new topic
> Баг-репорты
Etoprostoya
сообщение 03 Aug 2014, 15:24
Сообщение #341

Etoslozhnostatus
Сообщений: 8 573
Спасибо сказали: 15946 раз




Сегодня решил разобраться отчего HotA во время хода ИИ ставит себе высокий приоритет, из-за которого виснут остальные пользовательские (и не только) процессы, в частности, внешняя музыка сильно заикается. Такое же поведение наблюдалось при создании случайных карт в игре.
Оказалось, что это не HotA, а HD-mod так себя ведёт, который для удобства я всегда ставлю, поскольку вызов функции SetPriorityClass нет ни в одном .exe или .dll от HotA-SoD, зато есть в _HD3_.dll. Зачем это вообще нужно было делать? Может стоит убрать?


--------------------
- Да ну!?
- Horn of the Argali гну!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
DrSlash
сообщение 26 Aug 2014, 15:47 (Сообщение отредактировал DrSlash - 26 Aug 2014, 15:48)
Сообщение #342


Сообщений: 2 042
Спасибо сказали: 8098 раз




Игра скрашилась сразу после открытия поля боя, когда нажал "переиграть быструю битву":



Или краш связан с HotA, а не HD-модом?
Go to the top of the pageAdd Nick
 
+Quote Post
fireman
сообщение 31 Aug 2014, 10:42
Сообщение #343

Immortal
Сообщений: 2 768
Спасибо сказали: 959 раз




http://youtu.be/-3fV_zn43wQ
https://yadi.sk/d/lHQ2Tx5RaLxDo

Цитата(Алгор)
Перепроверил: баг действительно только с последними версиями HD. С модом не связан - возникает и на чистом WoG с отключенными паками, расширениями и всем, чем можно в _HD3_.ini
fireman, не отсылал ссылку на видео и лог baratorch'у? Я помню, о его нежелании поддерживать ВоГ, Эру и пр. проекты, но тут уже явная проблема с базовым функционалом, которую он планировал таки оставить для всех.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Antimius
сообщение 12 Sep 2014, 16:58
Сообщение #344

Advanced Member
Сообщений: 120
Спасибо сказали: 77 раз




Изучал вот код спрятанного Heroes3 и нашел вот такую ошибку в коде .
Должен произойти переход на адрес которого нет в программе.
Или эта локация которая не используется и ее можно удалить ?
Спрашиваю потому что ищу свободное место для процедуры


Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Sep 2014, 20:27 (Сообщение отредактировал Sav - 13 Sep 2014, 20:29)
Сообщение #345

Immortal
Сообщений: 9 438
Спасибо сказали: 3941 раз




^
Код неправильно дизассемблирован. Там команда начинается с адреса 0x617DA1, а не 0x617DA2. А вообще, это код функции memcpy (0x617B50), и используется игрой весьма активно.


---


При колдовстве двери измерений та часть карты, которая должна затемняться при игре онлайн постепенно "сгущает" своё затемнение, и через несколько секунд после открытия диалога ДД становится совсем чёрной. В сингле и хотсите такого эффекта нет (но ловится при при тесте с коннектом 2 версий Героев с 1 компа).


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 13 Sep 2014, 22:31
Сообщение #346

допустим, мяў
Сообщений: 24 065
Спасибо сказали: 13375 раз




Это ты сам себе пишешь, чтоб не забыть? )


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 13 Sep 2014, 23:08
Сообщение #347

😸🧡✊✌️
Сообщений: 16 396
Спасибо сказали: 3231 раз




Не, просто эффект прикольный.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 13 Sep 2014, 23:11
Сообщение #348

Immortal
Сообщений: 9 438
Спасибо сказали: 3941 раз




При чём тут я, если это баг HD? Он касается исключительно HD-шного функционала.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 13 Sep 2014, 23:22
Сообщение #349

Etoslozhnostatus
Сообщений: 8 573
Спасибо сказали: 15946 раз




Цитата(Antimius @ 12 Sep 2014, 17:58) *
.text:00617DD6 popa
.text:00617DD7 add [esi+edi*2], cl
.text:00617DDA popa
.text:00617DDB add [esi+edi*2], dl
.text:00617DDE popa

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


--------------------
- Да ну!?
- Horn of the Argali гну!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Antimius
сообщение 15 Sep 2014, 03:37 (Сообщение отредактировал Antimius - 15 Sep 2014, 03:38)
Сообщение #350

Advanced Member
Сообщений: 120
Спасибо сказали: 77 раз




Спасибо за ответы попробовал другим дизассемблером проверить действительно нет перехода , а место я таки нашел
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 29 Sep 2014, 21:16
Сообщение #351

Immortal
Сообщений: 1 468
Спасибо сказали: 1153 раза




Код
case LM_ERR_INSTANCE:
            fprintf(f, "%s\tERROR!   Can not create %s at %.8X (%s): Wrong Patcher Instance!\r\n",
                StrType(p->type), p->address, p->owner->name);
            break;
        }
Patch* PatcherInstance::Write(_ptr_ address, _ptr_ data, _dword_ size, _bool_ is_code)
{
    HMODULE hm = GetModuleHandleFromAddress(GetFuncReturnAdress(address));
    if ( (hm != hmodule) && (hm != Px86.hmodule) )
    {
        if (Px86.logging_on) log.Add(new LogRecord(LM_ERR_INSTANCE, this, address, 0, PATCH_));
        return NULL;
    }

Сложно сказать, к чему этот код. Из-за него проблемы.

Core.WriteAtCode(Patch.NumBytes, @Patch.Bytes, Patch.Addr); // успех
vs
Patcher.Write(cardinal(Patch.Addr), cardinal(@Patch.Bytes), Patch.NumBytes, CODE_PATCH); // провал

Так что переноса заплаток из файлов на рельсы Patcher не вышло.


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 30 Sep 2014, 09:21 (Сообщение отредактировал baratorch - 30 Sep 2014, 09:23)
Сообщение #352

Immortal
Сообщений: 2 413
Спасибо сказали: 4619 раз




Цитата(Berserker @ 30 Sep 2014, 00:16) *
Сложно сказать, к чему этот код. Из-за него проблемы.

Этот код для того чтобы патч мог быть записан от имени PatcherInstance только модулем создавшим этот PatcherInstance (или самой patcher_x86.dll).
Иначе мы бы смогли, например, из ХД вызвать Patcher.GetInstance("HotA") и писать патчи от имени Хоты, а из Хоты вызвать Patcher.GetInstance("HD") и писать патчи от имени хд. (а так мы можем только применять и отменять уже созданные другими модулями патчи). Лог и дамп бы оказались бесполезны из-за такой путаницы. Понятно что никто так делать не будет. Но я приучен делать защиту от дурака на совесть.

Возможно здесь нужно что-то изменить.

Но почему "провал"?

в лог патчера пишется "ERROR! Can not create %s at %.8X (%s): Wrong Patcher Instance!" ?
то есть hm получается неравным hmodule в той проверке?

На всякий случай напомню что Write является методом TPatcherInstance, а не TPatcher. А то экземпляр в приведенном коде неоднозначно назван Patcher.

Вобщем либо патч пытается записать модуль не создавший этот PatcherInstance, либо ошибка в другом (КО)
Может быть GetModuleHandleFromAddress(GetFuncReturnAdress(address)) не справляется с поставленной задачей и возвращает не то что задуманно (хэндл модуля вызвавшего функцию), но как это может случиться не представляю


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f
Go to the top of the pageAdd Nick
 
+Quote Post
Sadness
сообщение 01 Oct 2014, 22:18
Сообщение #353

Legendary lover
Сообщений: 629
Спасибо сказали: 307 раз




Саш, баг в моде, не работает орлоглаз.

http://forum.df2.ru/index.php?s=&showt...st&p=672979
на зф подробнее чуть описано

сделай в ближайшем релизе багфикс, пожалуйста
Go to the top of the pageAdd Nick
 
+Quote Post
AKuHAK
сообщение 02 Oct 2014, 14:05
Сообщение #354

God
Сообщений: 264
Спасибо сказали: 402 раза




Несколько пожеланий:
1) Хотелось бы, чтобы не было привязки к армагеддонским архивам. То есть, чтобы можно было недостающие файлы подгружать из основных архивов и избавиться от _ab лодов видов и сндов.
2) По прежнему не работает кнопка Переиграть сценарий в любых кампаниях.
3) Хотелось бы избежать вылетов при блокировании компьютера. Очевидно ошибка связана с тем, что стороннее приложение пытается ввести героев в оконный режим. После разблокирования компьютера кидает ошибку про директыкс и при следующем запуске играется в окне.


--------------------
Не качает с депозита? Используй JDownloader
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 02 Oct 2014, 14:54
Сообщение #355

😸🧡✊✌️
Сообщений: 16 396
Спасибо сказали: 3231 раз




Предложения, наверное, лучше туда писать.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 03 Oct 2014, 07:43
Сообщение #356

Immortal
Сообщений: 2 413
Спасибо сказали: 4619 раз




Цитата
3) Хотелось бы избежать вылетов при блокировании компьютера. Очевидно ошибка связана с тем, что стороннее приложение пытается ввести героев в оконный режим. После разблокирования компьютера кидает ошибку про директыкс и при следующем запуске играется в окне.

Играйте в GDI режимах, они застрахованы от подобных вещей (32-bit True (stretchable) GDI, 32-bit GDI).
А пытаться исправить это в остальных режимах не вижу смысла (т.к. я вообще не вижу смысла во всех режимах кроме 32-bit True (stretchable) GDI).
Тем более многие, даже новейшие, игры на директХ ведут себя так же (крашатся при просыпании после гибернации, при переключении на другие фуллскрин директХ игры и в др. подобных случаях )

Цитата
Саш, баг в моде, не работает орлоглаз.

У себя уже исправил. Но нужно время чтобы подготовить релиз (несколько дней, я полагаю).
Пока можно играть с выключенным HD+ - бага не будет.


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
fireman
сообщение 15 Oct 2014, 16:10
Сообщение #357

Immortal
Сообщений: 2 768
Спасибо сказали: 959 раз




При попытке запустить игру в 1920x1080 32 stech gdi вылетает. Разрешение экрана 1920x1080. По идее вылетов быть не должно.
https://onedrive.live.com/redir?resid=4B791...hint=file%2czip
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 15 Oct 2014, 20:37
Сообщение #358

Immortal
Сообщений: 1 468
Спасибо сказали: 1153 раза




На мой взгляд, указанная тобой, Бара, проверка, неэффективна. Мало ли из какого кода какого модуля вызывается запись патча? Из ЕРМ? Из сгенерированного в оперативной памяти обработчика? Из модуля, который использует функционал другого?

Patcher := Core.GlobalPatcher.CreateInstance(pchar(GetUniquePatchName(BinPatchSource)));
Я создавал по экземпляру патчера для каждого файла-заплатки под уникальным именем и тут же пробовал через этот объект вносить изменения в цикле:
Patcher.Write(cardinal(Patch.Addr), cardinal(@Patch.Bytes), Patch.NumBytes, CODE_PATCH);
В итоге ошибки и, как следствие, вылеты.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
SiTLar
сообщение 16 Oct 2014, 16:09
Сообщение #359

Newbie
Сообщений: 4
Спасибо сказали: 0 раз




Играем через 3G модем, связь не всегда отличная. Если играть с HD модом, при начале игры или загрузки сейва почти всегда возникает ошибка передачи данных. Насколько я понимаю, наступает таймаут. Если играть без мода, ошибки случаются очень редко. Было бы очень хорошо это преодолеть как-нибудь.
Go to the top of the pageAdd Nick
 
+Quote Post
Intofire
сообщение 18 Oct 2014, 15:18
Сообщение #360

Immortal
Сообщений: 1 259
Спасибо сказали: 189 раз






--------------------
Нет войне
Go to the top of the pageAdd Nick
 
+Quote Post

37 страниц V  « < 16 17 18 19 20 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27 July 2025 - 08:09
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика