Current time: 22.11.2024, 13:39 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Исследование героев
» туториал(ы)
Author Message
kostya_76 Offline

Posts: 33
Post: #391

Berserker, Так?
Ошибки указывают на строки с закрывающими фигурными скобками структур
12.02.2012 16:10
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #392

обернуть - значит вложить в открывающую и закрывающую конструкцию
Code:
#pragma pack(1)
struct foobar
{
int foo;
double bar;
};
#pragma pack()


и вообще, почему там typedef?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
(This post was last modified: 12.02.2012 16:35 by gamecreator.)
12.02.2012 16:33
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #393

сишный стиль объявления.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
12.02.2012 16:46
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #394

не может того быть. нет typedef с одним параметром.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
12.02.2012 16:53
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #395



Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
12.02.2012 17:45
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #396

там у typedef 2 параметра.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
12.02.2012 18:13
Find all posts by this user Quote this message in a reply
AVS Offline

Posts: 16
Post: #397

Интересно насколько сложно полностью перехватить создание случайных карт? (=встроить свой генератор, если я его допишу всетаки %) )
12.02.2012 18:16
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #398

Если ты действительно напишешь хороший генератор, думаю желающие его встроить найдутся.
12.02.2012 18:44
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #399

Berserker, Еще ошибку выдает:
12.02.2012 20:08
Find all posts by this user Quote this message in a reply
AVS Offline

Posts: 16
Post: #400

(12.02.2012 00:26)kostya_76 Wrote:  Создаю форму. Вызываю Form1.Show(); хоть в обработчике хука, хоть при загрузке длл - вылет.
Так тоже не получается:
VAR AOwner: TComponent;
Form1 := TForm1.Create(AOwner);
Form1.Show();

И не получится. Убери формы вообще и все связи с VCL.

Хотя в теории подружить VCL с героями возможно (но формы будут открываться отдельно от окна героев), а вот встроить их внутрь интерфейса нереально (если бы у окон героев были оконные хендлы, а их там AFAIK нет, то можно было бы вообще вставлять праактически любой виджет из VCL прямо на любое окно в игре)
(This post was last modified: 12.02.2012 20:16 by AVS.)
12.02.2012 20:15
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #401

(12.02.2012 20:15)AVS Wrote:  И не получится. Убери формы вообще и все связи с VCL.

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

Само-собой это окно отдельно от окна героев должно открываться.
12.02.2012 20:40
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #402

Реквизит встроила VCL-ые формы в игру. zvslib1 использует формы билдера для новых воговских диалогов. Я, к сожалению, добился только глючного модального запуска и бросил.
kostya_76, замените __stdcall на WINAPI.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
12.02.2012 21:02
Find all posts by this user Quote this message in a reply
kostya_76 Offline

Posts: 33
Post: #403

Berserker, Не помогает - такое сообщение об ошибке.
Собственно, мне пока нужен только хук, попробую сейчас функцию
typedef __stdcall void (*THook) (void* HandlerAddr, int HookType, int PatchSize, void* CodeAddr);
(This post was last modified: 12.02.2012 21:12 by kostya_76.)
12.02.2012 21:10
Find all posts by this user Quote this message in a reply
AVS Offline

Posts: 16
Post: #404

(12.02.2012 20:40)kostya_76 Wrote:  Само-собой это окно отдельно от окна героев должно открываться.

Тогда при запуске в хуке Application.Initialize. Еще возможно необходимо установить Application.Handle на реальный хендл героев.
Формы создавать Tform1.Create(nil) и ставить FreeOnRelease. Уже это должно работать.

(12.02.2012 21:02)Berserker Wrote:  Реквизит встроила VCL-ые формы в игру.

Ну если хукнуть главный цикл и "подсунуть под" окно героев VCL форму (чтобы окно героев было дочерним) потом наверное переписав обрабтку мыши и клавиатуры может и получится.

(12.02.2012 21:02)Berserker Wrote:  zvslib1 использует формы билдера для новых воговских диалогов. Я, к сожалению, добился только глючного модального запуска и бросил.

Увы я только мельком поглядел на исходники самого вога - этой либы в них нет - а в самом воге диалоги реализованы через грязные хаки с VMT классов внурти движка героев.
12.02.2012 21:22
Find all posts by this user Quote this message in a reply
baratorch Offline

Posts: 197
Post: #405

kostya_76
__stdcall void замени на void __stdcall
12.02.2012 21:43
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group