IPB

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

138 страниц V  « < 38 39 40 41 42 > »   
Reply to this topicStart new topic
> Меняем разрешение в Героях (HDmod), дополнение к Heroes III
baratorch
сообщение 13 Mar 2010, 01:25 (Сообщение отредактировал baratorch - 13 Mar 2010, 05:53)
Сообщение #781

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




Так! Мой патч вообще-то до последнего момента был универсален, таким и будет оставаться дальше. Поэтому когда я спрашивал про кнопки, я имел ввиду кнопки, которые необходимы героям вообще, любым героям, т.е. тут надо ориентироваться на SoD, а не на какие-то специфические функции специфических модов.

Цитата
Сделать единый интерфейс добавления кнопок и всё. Далее сами реализуют.

про это мне можно не говорить, ибо планируется давно. Однако на разработку нужно прилично времени. Прежде всего надо найти и идентифицировать все оконные процедуры, затем внедрить добавление кнопок в каждую функцию создания окна, и внедрить обработку добавленых кнопок в каждую оконную процедуру. Далее надо придумать простой механизм наделения функционалом кнопок общий для героев (одинаковый как для СоД, так и для основанных на нем модов). Работы - огого!
А я сам уже могу добавлять кнопки прямо сейчас! И то на это нужно время, которого у меня будет все меньше и меньше ближе к лету (сезонная работа, спорт).

***

Вопрос. Нужно нарисовать кнопки из меню адвенча опшнз (посмотреть мир, карта загадка, копать, информация о сценарии, посмотреть ход противника) в стиле кнопок на панели адвенча менеджера. Только надо это сделать так, чтобы стиль и исполнение были на уровне. Как будто эти кнопки рисовали создатели оформления героев. Кто может? Тут в теме были примеры, но эти примеры меня не впечатлили. В связи с тем, что кнопки должны быть меньше по размеру, необходимо пересмотреть их содержание. Например вместо ямы, кучи и лопаты на кнопке 'копать' нужно оставить только лопату.

Вынос этих кнопок на адвенча менеджер был в планах давно. Так же в ближайших планах увеличение списка городов и героев. У величеием списка я хотел заняться в первую очередь, однако решение этой задачи оказалось в разы сложнее чем вынос кнопок.


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 13 Mar 2010, 15:48
Сообщение #782

Immortal
Сообщений: 6 278
Спасибо сказали: 12700 раз




Цитата(baratorch @ 13 Mar 2010, 01:25)
Вопрос. Нужно нарисовать кнопки из меню адвенча опшнз (посмотреть мир, карта загадка, копать, информация о сценарии, посмотреть ход противника) в стиле кнопок на панели адвенча менеджера. Только надо это сделать так, чтобы стиль и исполнение были на уровне. Как будто эти кнопки рисовали создатели оформления героев. Кто может?

Могу попробовать. А как называется деф кнопок, кто-нибудь подскажет?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 13 Mar 2010, 17:03
Сообщение #783

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




Кнопки опций: advdig, advinfo, advpuz, advturn, advview
Кнопки менеджера: iam000 - iam011


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 13 Mar 2010, 17:39
Сообщение #784

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




Цитата
нет в соде возможностей по обработке реакции на кнопки


есть smile.gif
если человек освоил страшный и ужасный ерм, то асм и с++ освоить не составит труда ))


После одного вечера работы наспех конечный высокоуровневый код выглядит так:

Код
void AddAdvmanButton(DWORD ID, char* def_name, int x, int y, int width, int height)
// ...

void AddAdvmanButtons()
{
        // ...

        AddAdvmanButton(330, "iam004.def", screen_Width - 178  , 600, 32, 32);
        AddAdvmanButton(331, "iam008.def", screen_Width - 178 + 32    , 600, 32, 32);
        AddAdvmanButton(332, "iam007.def", screen_Width - 178 + 32*2, 600, 32, 32);
        AddAdvmanButton(333, "iam002.def", screen_Width - 178 + 32*3, 600, 32, 32);
        AddAdvmanButton(334, "iam005.def", screen_Width - 178 + 32*4, 600, 32, 32);
    
        // ...
}


void Advman_Click()
{

//   ...
        switch (ID)
        {
        case 330:
                 Heroes::ViewWorld(ecx_arg);
                 break;
        case 331:
                 Heroes::ShowPuzzleMap(ecx_arg);
                 break;
        case 332:
                 if (Heroes::CanDig())
                          Heroes::Dig(ecx_arg);
                 break;
        case 333:
                 Heroes::ShowScenarioInfo();
                 break;
        case 334:
                 Heroes::ReplayOpponentTurn();
                 break;
        }
//  ...

}


разве не прелесть smile.gif А если еще немного подкорректировать интерфейс, вообще красота будет.

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


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 13 Mar 2010, 17:59 (Сообщение отредактировал feanor - 13 Mar 2010, 18:00)
Сообщение #785

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Отлично.
Только, емнип, просмотр карты принимает три аргумента в стеке (регистры не смотрел).
Или это обертка?
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 13 Mar 2010, 18:02
Сообщение #786

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




В ECX, как указатель на класс, можно что угодно запихнуть.


--------------------
- Да ну!?
- Horn of the Argali гну!
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 13 Mar 2010, 18:50
Сообщение #787

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




Цитата(feanor @ 13 Mar 2010, 20:59)
Отлично.
Только, емнип, просмотр карты принимает три аргумента в стеке (регистры не смотрел).
Или это обертка?


Обертка конечно. Принимает 2 аргумента в стеке + объект в ecx.

Ща разбираюсь со свойством кнопки Enabled.
вроде бы нашел, как менять значение,однако в результате картинка на кнопке меняется, но кнопка продолжает нажиматься и реагировать на клики. Неужели кнопку в оконной процедуре надо вручную тормозить....


Код
void Heroes::Button_Enabled_Set(DWORD Window, DWORD Button_ID, BOOL value)
{
     __asm
     {
           push Button_ID
           mov ecx, Window
           mov eax, 0x5FF5B0
           call eax
           test eax, eax
           jz lbl

           mov edx,dword ptr ds:[eax]
           push Value
           mov ecx,eax
           call dword ptr ds:[edx+0x24]

lbl:
    }
}


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 13 Mar 2010, 19:42
Сообщение #788

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Вроде бы ручками, свойство только для отображения sad.gif
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 14 Mar 2010, 04:54
Сообщение #789

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




версия 0.99 доступна для скачивания smile.gif

http://sites.google.com/site/heroes3hd/home


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 14 Mar 2010, 23:37
Сообщение #790

Immortal
Сообщений: 6 278
Спасибо сказали: 12700 раз




Цитата(baratorch @ 13 Mar 2010, 17:03)
Кнопки опций: advdig, advinfo, advpuz, advturn, advview
Кнопки менеджера: iam000 - iam011

Первые результаты



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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 15 Mar 2010, 00:36 (Сообщение отредактировал baratorch - 15 Mar 2010, 08:31)
Сообщение #791

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




итак, уже 1.0

http://sites.google.com/site/heroes3hd

изменения:
- исправил глюк с мощными заклинаниями в Фениксе
- сделал попытку отцентровать окно с синей колбой при загрузке карты, поскольку я работал вслепую, проверьте пожалуйста и отпишитесь о результате.
- другие незначительные исправления.


***

Iv, неплохо.
1я кнопка, я так понимаю, - посмотреть мир. Мне кажется компас не очень подходящая идея для этой кнопки. Лучше всего конечно - карта, но если не она, то какие-нибудь хрустальный шар или подзорная труба. Еще можно глобус - шар с ободком на подставке. Вобщем я думаю нужно найти подходящие 3д иконки, и их спользовать при создании.
Компас лучше оставить на будущее для какой-нибудь кнопки 'проложить маршрут' или типа того.
2-я кнопка в принципе хороша, но ей нехватает объема.

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


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
AlexSpl
сообщение 15 Mar 2010, 12:12 (Сообщение отредактировал AlexSpl - 15 Mar 2010, 12:13)
Сообщение #792

Immortal
Сообщений: 798
Спасибо сказали: 555 раз




У меня такая ошибка. SoD 3.2 EN. При попытке начать битву (тестил на кампании Йога) игра вылетает. Инструкция по адресу 0х2100D528 обратилась к памяти 0x01F2C3C8. Разрешение 1280x1024.
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Mar 2010, 13:46 (Сообщение отредактировал feanor - 15 Mar 2010, 13:55)
Сообщение #793

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Эра 1.6, 1280*1024, начинаю игру, захожу в замок, покупаю существ, кликаю на стек в гарнизоне - эксепшн по 0x74F4E4.

Аналогично падает Вог.
Go to the top of the pageAdd Nick
 
+Quote Post
alshturman
сообщение 15 Mar 2010, 14:14
Сообщение #794

Power Member
Сообщений: 151
Спасибо сказали: 29 раз




Цитата(baratorch @ 15 Mar 2010, 02:36)
изменения:
- исправил глюк с мощными заклинаниями в Фениксе

Отлично! good.gif Теперь можно в Феникс играть wink.gif.
С выходом новой версии Феникса появилась еще работенка для baratorch'a

Нужно отцентрировать новое меню выбора способностей во время боя:
http://xmages.net/upload/9a0515e7.jpg

И еще происходит наложение новых кнопок друг на друга в панели действий:
В оригинале выглядит так
http://xmages.net/upload/f8598e80.jpg

А в хайрезе так
http://xmages.net/upload/697db8f2.jpg

Добавлено ([mergetime]1268650999[/mergetime]):
Цитата(baratorch @ 15 Mar 2010, 02:36)
- сделал попытку отцентровать окно с синей колбой при загрузке карты, поскольку я работал вслепую, проверьте пожалуйста и отпишитесь о результате.

Теперь это выглядит вот так:
http://xmages.net/upload/e0c83415.jpg

Добавлено ([mergetime]1268651654[/mergetime]):
Цитата(feanor @ 15 Mar 2010, 15:46)
Эра 1.6, 1280*1024, начинаю игру, захожу в замок, покупаю существ, кликаю на стек в гарнизоне - эксепшн по 0x74F4E4.

Аналогично падает Вог.

У меня все отлично работает. И в 1024х768 и в 1280х1024 idontno.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Лентяй
сообщение 15 Mar 2010, 15:51
Сообщение #795

Hota Crew
Сообщений: 11 597
Спасибо сказали: 9892 раза




Все, у Бараторча есть 1.0. Так что пусть Феникцы сами берут и адаптируют свою версию под хайрез. Бараторч больше никому не обязан.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 15 Mar 2010, 20:18
Сообщение #796

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




Лентяй, не пори ерунду.
Бараторч, у тебя в последнем варианте dll? Экспортируй пару функций, которые бы возвращали структуру и записывали её по переданному адресу. Структура в виде int x,y - текущее разрешение экрана. Как Бес может центрировать диалоге в Фениксе, не зная про хайрез? Да и другие моды тоже.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 15 Mar 2010, 20:21
Сообщение #797

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Цитата
Нужно отцентрировать новое меню выбора способностей во время боя

поправь координаты в Data/cmenu.txt
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 15 Mar 2010, 20:26
Сообщение #798

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




По-моему, для окон, не изменяющих размеров в ХайРезе, изначально надо было делать так, чтобы координаты кнопок и всего прочего интерактивного были завязаны на активное окно в игре, а не экран игры. То есть для всех окон, кроме карты приключений (которая тоже окно, если кто не знает, а фон там заставка).


--------------------
- Да ну!?
- Horn of the Argali гну!
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 15 Mar 2010, 20:45
Сообщение #799

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




Угу. Это сразу бы решило все проблемы.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 15 Mar 2010, 20:51
Сообщение #800

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




Да, опосля мы все умны. gigi.gif


--------------------
- Да ну!?
- Horn of the Argali гну!
Go to the top of the pageAdd Nick
 
+Quote Post

138 страниц V  « < 38 39 40 41 42 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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