Berserker
Posts: 16657
|
(30.03.2015 23:17)igrik Wrote:
Обновляет весь диалог и при любом разрешении экрана (с HD и без него). В том числе и арты
PS: не без помощи Berserker'a
Игрик, я верно твою функцию преобразовал?
Code:
MOV ECX, [$6A3D90]
PUSH 0
MOV EAX, $5AF4E0
CALL EAX
MOV ECX, [$6A3D90]
PUSH 1
MOV EAX, $5AF4E0
CALL EAX
MOV ECX, [$6A3D90]
MOV EAX, $5B1200
CALL EAX
MOV ECX, [$6A3D90]
MOV ECX, [ECX + 56]
MOV EAX, [ECX]
MOV EAX, [EAX + 20]
PUSH $0000FFFF
PUSH $FFFF0001
PUSH 0
CALL EAX
MOV ECX, [$6992D0]
PUSH DWORD [$40144F] // 600
PUSH DWORD [$401448] // 800
PUSH 0
PUSH 0
MOV EAX, $603190
CALL EAX
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
25.04.2015 01:01 |
|
igrik
Posts: 2819
|
ток увидел сообщение
Я не знаю, Берс. Я в этом не шарю
; 0 - Голова
; 1 - Плечи
; 2 - Шея
; 3 - Правая рука
; 4 - Левая рука
; 5 - Торс
; 6 - Левое кольцо / Правое кольцо [замки = 0...2]
; 7 - Ноги
; 8 - Разное 5...1 [замки = 0...5]
; 9 - Баллиста
;10 - Тележка с боеприпасами
;11 - Палатка первой помощи
;12 - Катапульта (фигушки, я всегда с вами)
;13 - Книга Заклинаий thx gamecreator
game bug fixes extended.dll || My Plugins || My GitHub
|
|
27.05.2015 13:44 |
|
gamecreator
Posts: 7107
|
|
15.08.2015 18:53 |
|
gamecreator
Posts: 7107
|
|
25.08.2015 01:40 |
|
feanor
Posts: 624
|
Code:
NOALIGN struct _BattleStack_ : public _Struct_ // размер 0x548
{
_byte_ already_attack; // +0 ?
_byte_ field_01; // +1 ?
_byte_ field_02; // +2 ?
_byte_ field_03; // +3 ?
_byte_ field_04[4]; // +4 ?
_int32_ all_stacks_count; // +8 //полное число стеков у игрока
_byte_ field_0C[4]; // +12 0x0C
_dword_ field_10; // +16 0x10 //=-1 после атаки и/или ответа(????)
_byte_ field_14[8]; // +20 0x14 ?
_int32_ aim_to_move_or_shoot; // 28 +0x1C //позиция на поле боя (куда бежать/стрелять)
_byte_ fireshield; // +32 0x20 // огненный щит
_byte_ field_21[7]; // +33 0x21 ?
_int32_ clone_index; // +40 0x28 //номер стэка клона этого
_byte_ field_2C[4]; // +44 0x2C ?
_dword_ field_30; // +48 0x30 ?
_int32_ creature_id; // +52 0x34 // тип монстра
_int32_ hex_ix; // +56 0x38 //позиция на поле боя
_int32_ def_group_ix; // +60 0x3C
_int32_ def_frame_ix; // +64 0x40
_dword_ second_hex_is_right; // +68 0x44 //(=1) сдвиг в сторону второй занятой клетки для монстра с двумя клетками
_dword_ field_48; // +72 0x48 ?
_int32_ count_current; // +76 0x4C // число монстров
_int32_ count_before_attack; // +80 +0x50 // число монстров до удара по ним в тек. атаку
_dword_ field_54; // +84 0x54 ?
_int32_ lost_hp; // +88 0x58 потери здоровья последнего монстра
_int32_ army_slot_ix; // +92 0x5C номер слота of _Army_ (0...6), -1 - будет удален после битвы
_int32_ count_at_start; // +96 0x60 число монстров в начале битвы
_dword_ field_64; // +100 0x64 ?
_dword_ anim_value; // +104 0x68 = cranim.f[15] при инициализации
_int32_ full_hp; // +108 0x6C полное здоровье (исп. как база для лечения)
_bool32_ field_70; // +112 0x70 ?
//////////////////////////////////////////////////////////////////////////////////
_CreatureInfo_ creature;
//////////////////////////////////////////////////////////////////////////////////
//_int_ town; //+116 0x74
//_int_ level; //+120 0x78
//_char_* sound_name; //+124 0x7C
//_char_* def_name; //+128 0x80
//_int_ flags; //+132 0x84
//_char_* name_single; //+136 0x88
//_char_* name_plural; //+140 0x8C
//_char_* specification_description; //+144 0x90
//_int_ cost_wood; //+148 0x94
//_int_ cost_mercury; //+152 0x98
//_int_ cost_ore; //+156 0x9C
//_int_ cost_sulfur; //+160 0xA0
//_int_ cost_crystal; //+164 0xA4
//_int_ cost_jems; //+168 0xA8
//_int_ cost_gold; //+172 0xAC
//_int_ fight_value; //+176 0xB0
//_int_ AI_value; //+180 0xB4
//_int_ growth; //+184 0xB8
//_int_ horde_growth; //+188 0xBC
//_int_ hit_points; //+192 0xC0
//_int_ speed; //+196 0xC4
//_int_ attack; //+200 0xC8
//_int_ defence; //+204 0xCC
//_int_ damage_min; //+208 0xD0
//_int_ damage_max; //+212 0xD4
//_int_ shots; //+216 0xD8
//_int_ spells_count; //+220 0xDC
//_int_ advmap_low; //+224 0xE0
//_int_ advmap_high; //+228 0xE4
///////////////////////////////////////////////////////////////////////////////
_byte_ field_E8; // +232 0xE8 ?
_bool8_ is_1_killed; // +233 0xE9 =1, если умирал хоть один
_bool8_ is_killed; // +234 0xEA =1, если был убит весь стэк
_byte_ field_EB; // +235 0xEB ?
_int32_ current_creatures_spell_id; // +236 0xEC номер заклинания существа в тек раунде 0x50 Acid breath
_int32_ field_F0; // +240 0xF0 _byte_=1 перед атакой на него 441434
_int32_ side; // +244 0xF4 0 - attacker, 1 - defender
_dword_ index_on_side; // +248 F8 dd = номер стэка у стороны на поле боя
_dword_ field_FC; // +252 FC dd = ? что-то с магией
_dword_ field_100; // +256 100 dd 43DEA4
_dword_ field_104; // +260 104 dd 43DEAD
_dword_ field_108; // +264 108 dd
_dword_ field_10C; // +268 10C dd
_CreatureAnim_ cr_anim; // +272 0x110
_Def_* def; // +356 0x164 def монстра, загрузка: 43DA8E
_Def_* def_shot; // +360 0x168 def выстрела, загрузка: 43DA8E
_dword_ field_16C; // +364 0x16С ?
_Wav_* wav_move; // +368 0x170 звук перемещения (move), загрузка: 43DA8E
_Wav_* wav_attack; // +372 0x174 звук атаки (attk/wnce/shot), загрузка: 43DA8E
_Wav_* wav_wnce; // +376 0x178 звук 'колдует' (wnce), загрузка: 43DA8E
_Wav_* wav_shot; // +380 0x17C звук выстрела (shot), загрузка: 43DA8E
_Wav_* wav_kill; // +384 0x180 звук смерти (kill), загрузка: 43DA8E
_Wav_* wav_defend; // +388 0x184 звук обороны (wnce/dfnd), загрузка: 43DA8E
_Wav_* wav_ext1; // +392 0x188 звук дополнительный 1 (ext1), загрузка: 43DA8E
_Wav_* wav_ext2; // +396 0x18С звук дополнительный 2 (ext2), загрузка: 43DA8E
_dword_ field_190; // +400 0x190 ?
_int32_ active_spells_count; // +404 0x194 dd = количество уже наложенных заклинаний
_int32_ active_spell_duration[81]; // +408 0x198 есть заклинание (длительность) или нет
_int32_ active_spells_power[81]; // +732 0x2DC (сила действия заклинания)
_byte_ field_420[52]; // +1056 0x420 ?
_int32_ retaliations; // +1108 0x454 // 441B17 (кол-во ответов на атаку 0= не отв. на атаку)// настройка для грифонов 46D6A0
_int32_ bless_value; // +1112 0x458 Bless добавка к Max. Damage
_int32_ curse_value; // +1116 0x45C Curse убавка к Min. Damage
_int32_ field_460; // +1120 0x460 ?
_int32_ bloodlast_value;// +1124 0x464 Bloodlast добавка к Атаке с бонусами
_int32_ precision_value;// +1128 0x468 Precision добавка к Атаке с бонусами
_byte_ field_46C[32]; // +1132 0x46C ?
_int32_ king_type; // +1164 0x48C dd KING_123 тип (1=KING_1,2=KING_2,3=KING_3) // исп для расчета Slayer. Бонус 8 к Атаке: 0x4421D2
_int32_ field_490; // +1168 0x490 dd номер атакера по порядку??? уже атаковал??? (сбрасывается после первого удара)
_int32_ counerstrike_retaliations; // +1172 0x494 dd кол. доп. ответов на атаку, добавленных Counerstrike заклом
_byte_ field_498[40]; // +1176 0x498 ?
_bool8_ blinded; // +1216 0x4C0 db Blinded - снизить защиту (сбросить после?) при атаке на него (уст. перед ударом)
_bool8_ paralized; // +1217 0x4C1 db Paralized - снизить защиту (сбросить после?) при атаке на него (уст. перед ударом)
_bool8_ forgetfulness; // +1218 0x4C2 dd Forgetfulness - уровень (>2 - не может стрелять)
_byte_ field_4C3[25]; // +1219 0x4C3 ?
_int32_ defend_bonus; // +1244 0x4DC dd = величина бонуса при выборе защиты
_int32_ faerie_dragon_spell;// +1248 0x4E0 dd заклинание для сказ дракона
_byte_ field_4E4[100];
// +4EC dd 44152A
// +4F1 db 43DF88
// +514 dd
// +518 dd -> dd first \ adjusted stacks pointers
// +51C dd -> dd last /
// +524 dd
// +528 dd -> dd first \ adjusted to wich stacks pointers
// +52C dd -> dd last /
};
(This post was last modified: 26.08.2015 01:09 by feanor.)
|
|
26.08.2015 01:08 |
|
igrik
Posts: 2819
|
|
10.09.2015 18:17 |
|
igrik
Posts: 2819
|
да, ты сам можешь динамически изменять координаты, НО перед вызовом диалога. Как обновлять/перерисовывать диалог на лету я так и не разобрался
(17.07.2015 16:11)gamecreator Wrote: Ну и не забыть перерисовать диалог:
hdlg->0x7299FD(-1
!!SN:E7510525/1/-1; вызывает у меня вылет, тут видимо я не так что-то понял
upd: Algor, если будут вопросы или нужна помощь по этой функции, обращайся. Например можно ее дописать, чтобы прилеплять диалог к правому/ левому/нижнему/верхнему бокам экрана
game bug fixes extended.dll || My Plugins || My GitHub
|
|
10.09.2015 18:41 |
|
Bes
Posts: 5422
|
igrik, может тут есть что-то для обновления?
|
|
10.09.2015 19:30 |
|
igrik
Posts: 2819
|
|
10.09.2015 19:40 |
|
Bes
Posts: 5422
|
igrik, а обновлять такой смещённый диалог через DL:S уже не помогает?
ведь это и есть обновление, если грубо
|
|
10.09.2015 19:47 |
|