IPB

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

7 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> Инженерный анализ, Reverse Engineering
Astaroth
сообщение 26 Mar 2010, 15:56
Сообщение #41

Life...
Сообщений: 1 118
Спасибо сказали: 1012 раза




Код
int null; //??
- Может это невозможность появления заклинания на карте? Но тогда было бы достаточно типа bool


--------------------
Хочешь узнать тайны своего компьютерного почерка?
Я смогу помочь тебе в этой теме
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 26 Mar 2010, 15:58 (Сообщение отредактировал feanor - 26 Mar 2010, 15:58)
Сообщение #42

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Для этого есть другая таблица, емнип. У меня вчера было подозрение на SS:O, но проверять уже влом было


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 26 Mar 2010, 16:45
Сообщение #43

Etoprostostatus
Сообщений: 8 517
Спасибо сказали: 15766 раз




Цитата(Astaroth @ 26 Mar 2010, 15:56)
Код
int null; //??
- Может это невозможность появления заклинания на карте? Но тогда было бы достаточно типа bool

bool и есть int32. Как правило.


--------------------
Etoprostopodpis'
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 27 Mar 2010, 08:02
Сообщение #44

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




Цитата(Entuser @ 22 Jan 2008, 11:10)
7AD78 - тут в екзишнеке храниться число 5 - после загрузки изменяется на 34(HEX) - влияет на число загружаемых строк в ZCRTRAITS.
mem 007012A4 / file 29C2A4 - изменяет это значение и много других

Объяснение.
Файл с параметрами монстров был разбит разработчиками (видимо, для личного удобства) на разделы с промежутками в три строки, и грузится он пораздельно. Число 5 - это не что иное, как кол-во строк, грузящихся из последнего раздела текстовика (5 боевых машин). Соотвественно, ВОГ изменяет это значение на своё - 34h, что в exe по адресу 0x32532C.
С CrAnim-ом - абсолютно аналогично.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 30 Mar 2010, 10:15
Сообщение #45

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




Шарпшутерство

75DD50 cmp eax,00000095h
75DD55 jz L0075DDD2
75DD57 cmp eax,00000089h
75DD5C jz L0075DDD2
75DD5E cmp eax,000000AAh
75DD63 jz L0075DDD2
75DD65 cmp eax,000000ABh
75DD6A jz L0075DDD2

То есть, прямой стрелой пуляют 3 снайпера + Стрелковая Башня.

Нет пенальти за препятствия

760590 cmp eax,00000022h
760593 jz L00760622
760599 cmp eax,00000023h
76059C jz L00760622
7605A2 cmp eax,00000088h
7605A7 jz L00760622
7605A9 cmp eax,00000089h
7605AE jz L00760622
7605B0 cmp eax,00000095h
7605B5 jz L00760622
7605B7 cmp eax,000000AAh
7605BC jz L00760622
7605BE cmp eax,000000ABh
7605C3 jz L00760622

То, что этот бонус даёт флаг 2048 - сказки. smile.gif


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 11 Apr 2010, 21:17 (Сообщение отредактировал feanor - 09 May 2012, 17:58)
Сообщение #46

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Комбо-артефакты

Кажется, таблица комбо-артефактов расположена по адресу 788BF8. [00660B6C]
Формат хранения данных - что-то похожее на битовое поле, 18h байт на запись.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 14 Apr 2010, 23:59
Сообщение #47

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




Размещаю изыскания Master Of Puppets, по его же просьбе.

Ненависть

443138 mov dl,[eax+CASE_004434DC]
44313E jmp [CASE_PROCTABLE_004434C8+edx*4]

В маленькой (монстры 112-129) таблице 5 значений. Значения 00-03 чисто для элементалей - каждый элементаль ненавидит обоих элементалей противоположной стихии. Управление, однако, всё равно передаётся на PROC0004 - она же для остальных существ, т.е., там case вложен в case. Диапазон - от Ангела до Чёрного Дракона.
Содовский код там имеет вид:

CASE_004434C8_PROC0004:

443195 mov eax,[edi+34h]
443198 add ecx,FFFFFFF4h
44319B cmp ecx,00000047h
44319E ja CASE_004434F0_PROC0006
4431A4 xor edx,edx
4431A6 mov dl,[ecx+CASE_0044350C]
4431AC jmp [CASE_PROCTABLE_004434F0+edx*4]

Однако при запуске WoG код изменяется так:

CASE_004434C8_PROC0004:

443195 mov ecx,[ebp+08h]
443198 call SUB_L00766DE6
44319D or eax,eax
44319F jz L00443410
4431A5 mov ecx,[ebp-10h]
4431A8 jmp L00443211
4431AA nop
4431AB nop

Код меняет отрезок воговского копирования exe3273A4-3273AF (78BD8Ch/443195h/17h).
В итоге ненавистью существ в WoG занимается SUB_L00766E14, куда скопирован и case, и таблица СОДа. Туда же, видимо, встроена и ненависть через опыт существ.
При условии, что тип существа соответствует "ненавистному", задаётся процент доп. урона. В СОД это унифицировано, в ВОГ же - рутинно задаётся одной и той же командой:

mov dword ptr [ebp-0Ch],00000032h

Исключения - Титан и Чёрный Дракон. У них это:

mov dword ptr [ebp-0Ch],00000005h

Похоже на опечатку: вместо 150% урона - 105%. Несложный тест подтверждает, что баг реален и мы с ним жили.( Впрочем, у себя я его уже исправил. smile.gif
Кстати, и в СОД, и в ВОГ Чёрный Дракон равнодушен к Гигантам. Справедливо - Титан тоже равнодушен к Красным.
Независимо от реальных процентов доп. урона, в логе битвы будет показано "50%". Проблема в упрощённом обращении к строке genrltxt.txt.


Кавалерийский бонус

75D823 cmp dword ptr [L028460C0],0000000Ah; - Каварелист
75D82A jnz L0075D838
75D82C mov dword ptr [L02846420],0000000Bh
75D836 jmp L0075D860
75D838 cmp dword ptr [L028460C0],0000000Bh; - Чемпион
75D83F jnz L0075D84D
75D841 mov dword ptr [L02846420],0000000Bh


Отсос 2-х очков маны

4650D0 sub eax,0000003Dh; - Привидение
..........
465174 add eax,FFFFFFFEh; - кол-во забираемых очков


Магический канал

5A24DC cmp dword ptr [eax-000000C0h],0000002Bh; - Чёрт


Смертельный удар
766DB9 sub eax,43; - Рыцарь Смерти
4435C0 jz L004435D1
............
4436DE cmp eax,00000014h; - шанс срабатывания абилки


Снижение стоимости заклинаний

766BFA cmp dword ptr [ebp-18h],00000022h - Маг
766BFE jz L00766C06
766C00 cmp dword ptr [ebp-18h],00000023h - АрхиМаг
766C04 jnz L00766C0D
766C06 mov dword ptr [ebp-0Ch],00000002h - кол-во очков на удешевление


Особые земли

Case:

4FD5A1 mov cl,[eax+CASE_004FD5E8]
4FD5A7 jmp [CASE_PROCTABLE_004FD5D0+ecx*4]

Проверки для подсказок при наведении мыши, ПКМ и для !!TR:

4FD52A cmp eax,00000015h
4FD52D lea ecx,[edi+ecx*4]
4FD530 jz L004FD57F
4FD532 cmp eax,0000002Eh
4FD535 jz L004FD57F
4FD537 cmp eax,000000E3h
4FD53C jz L004FD57F
4FD53E cmp eax,000000E0h
4FD543 jz L004FD57F
4FD545 cmp eax,000000DEh
4FD54A jz L004FD57F
4FD54C cmp eax,000000E1h
4FD551 jz L004FD57F
4FD553 cmp eax,000000E4h
4FD558 jz L004FD57F
4FD55A cmp eax,000000E2h
4FD55F jz L004FD57F
4FD561 cmp eax,000000E7h
4FD566 jz L004FD57F
4FD568 cmp eax,000000E5h
4FD56D jz L004FD57F

Посмотреть журнал

!!SN:E5433616/1;


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Дьяк
сообщение 16 Apr 2010, 21:32
Сообщение #48

Member
Сообщений: 94
Спасибо сказали: 51 раз




Маленькое наблюдение.
Описанные тобой, МОР, свойства монстров,а именно: снижение стоимости заклинания, кавалерийский бонус, пенальти за расстояние и шарпшутерство - находятся почему-то в секции кода ЗВС? Тем не менее эти свойства есть и в оригинальном СОДе, может это промежуточный код?
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 16 Apr 2010, 21:53
Сообщение #49

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




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


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 17 Apr 2010, 21:56 (Сообщение отредактировал feanor - 17 Apr 2010, 22:15)
Сообщение #50

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Привязка удачи к артефактам.
К сожалению, это сделано в коде - нет никакой особой таблицы.
Функция проверки удачи - 0x4E3930.

Проверка на часы недоброго часа:
4E3966: 55h
4E39AB: 55h

Проверка на остальные артефакты:
4E3A52: C6h - брелок
4E3A90: 2Dh - глаз дракона
4E3ACD: 2Eh - клевер удачи
4E3B0B: 2Fh - карты

Пример кода на проверку одного артефакта:
Код
CPU Disasm
Address   Hex dump          Command                                  Comments
004E3A8C  |.  8BCF          MOV ECX,EDI
004E3A8E  |>  8339 2D       /CMP DWORD PTR DS:[ECX],2D //номер артефакта
004E3A91  |.  74 31         |JE SHORT 004E3AC4
004E3A93  |.  40            |INC EAX
004E3A94  |.  83C1 08       |ADD ECX,8
004E3A97  |.  83F8 13       |CMP EAX,13
004E3A9A  |.^ 7C F2         \JL SHORT 004E3A8E
004E3A9C  |.  8B0D 680B6600 MOV ECX,DWORD PTR DS:[660B68]
004E3AA2  |.  8B81 B8050000 MOV EAX,DWORD PTR DS:[ECX+5B8]
004E3AA8  |.  83F8 FF       CMP EAX,-1
004E3AAB  |.  74 1A         JE SHORT 004E3AC7
004E3AAD  |.  8D1440        LEA EDX,[EAX*2+EAX]
004E3AB0  |.  A1 6C0B6600   MOV EAX,DWORD PTR DS:[660B6C]
004E3AB5  |.  8B0CD0        MOV ECX,DWORD PTR DS:[EDX*8+EAX]
004E3AB8  |.  51            PUSH ECX                                ; /Arg1
004E3AB9  |.  8BCE          MOV ECX,ESI                            ; |
004E3ABB  |.  E8 A059FFFF   CALL 004D9460                          ; \Era_1_6.004D9460 - функция проверки наличия артефакта
004E3AC0  |.  84C0          TEST AL,AL
004E3AC2  |.  74 03         JE SHORT 004E3AC7
004E3AC4  |>  FF45 0C       INC DWORD PTR SS:[ARG.2] //увеличение удачи


Аналогичная функция для морали - 004E3C20


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 21 Apr 2010, 13:21 (Сообщение отредактировал Master Of Puppets - 03 May 2010, 10:42)
Сообщение #51

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




Чуть-чуть.

Контрудары

В начале битвы:

43D6A0 cmp eax,00000004h - Грифон
43D6A3 mov [esi+5Ch],ecx
43D6A6 mov dword ptr [esi+00000454h],00000001h - кол-во ответок для обычного существа
43D6B0 jnz L0043D6BC
43D6B2 mov dword ptr [esi+00000454h],00000002h - кол-во ответок для Грифона
43D6BC cmp eax,00000005h - Кор. Грифон
43D6BF jnz L0043D6CB
43D6C1 mov dword ptr [esi+00000454h],00001388h - кол-во ответок для Кор. Грифона

446E65 - аналогичный код для ответок в каждом раунде.

Шпионаж

4E605C push 0000008Fh; - Вор

Передвижение по песку

4B177B push 0000008Eh; - Кочевник


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 25 Apr 2010, 16:19 (Сообщение отредактировал feanor - 25 Apr 2010, 16:19)
Сообщение #52

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




5BDCE0 - Начисление плюшек спецстроениями типа водоворота маны, академии, Вальгаллы и т.п.
Соответственно, здесь же можно их и отрубить (для"болванок" городов), к примеру:

Убить Mana Vortex - 5BDD50: EB
Убить Academy: 5BDFF5: EB

Типы призываемых заклятьями существ
mem:5A2042,5A2057,5A206C,5A2081 - номера для огненного, земляного, водного и воздушного элементалей.

Оно конечно легко ищется из ранее упомянутого свитча - но свитч еще расковырять надо. Пусть будет.


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 25 Apr 2010, 17:05 (Сообщение отредактировал feanor - 25 Apr 2010, 17:06)
Сообщение #53

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Цитата(Чёртос-2 (Chortos-2) @ 20 Jun 2007, 15:29)
Вот они, цвета наши. smile.gif В WoG они хранятся по адресу 0043F5C4, но только для существ с номерами от 35 (архимаг) до 121 (магический элементаль) включительно — при этом психическому и магическому элементалю зачем‑то выставлен белый цвет, правда, я так и не понял, зачем. (Архимагу выставлен зеленый, созерцателю и злому глазу — белый, всем остальным в таблице — черный; если существа нет в таблице, подразумевается черный.) Ноль соответствует зеленому лучу, один — белому, и два — черному. Ловим функцию… (Ловим в первом сообщении темы.)

реально цвет луча определяется значение регистра ecx после свитча в районе 43F296h

0 - черный, 12Е - зеленый, 130 - белый.
Если расширить свитч и поиграться с этим значением, то дополнительно получим:
12F - тонкий фиолетово-черный
12D - синий
FF - ярко-синий
37B0 - светло-зеленый
F800 - красный.

Похоже, что в ecx хранится цвет в RGB565.
_____________________
Смотрим на радужных бехолдеров!
Они стреляют новыми радужными лучами!!11


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 29 Apr 2010, 09:45
Сообщение #54

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




SUB_L0044AA90 - функция проверки наличия существ у героя.
Принимает два параметра - номер существа и адрес структуры героя (со смещением до первого слота существ). Возвращает в eax суммарное кол-во заданных существ у героя. Если их нет, то и eax = 0.

Банка с джемом smile.gif

4B8ACF push 00000085h - Кристальный Дракон.
4B8B28 lea ecx,[ebx+00020BE8h] - загрузка исполнительного адреса (смещение в структуре игрока). Изменив, допустим, на +4, можно заставить существо производить Драг. Камни вместо Кристаллов и т.д.
4B8B40 add dword ptr [ecx],00000003h - собственно, кол-во добавляемого ресурса в неделю.


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Vade Parvis
сообщение 29 Apr 2010, 13:20 (Сообщение отредактировал Vade Parvis - 29 Apr 2010, 13:20)
Сообщение #55

Immortal
Сообщений: 23 252
Спасибо сказали: 18485 раз




Цитата
F800 - красный.
Гоблины с бластерами? rolleyes.gif


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 01 May 2010, 07:19 (Сообщение отредактировал Master Of Puppets - 03 May 2010, 10:40)
Сообщение #56

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




Цитата
Маленькое наблюдение.
Описанные тобой, МОР, свойства монстров,а именно: снижение стоимости заклинания, кавалерийский бонус, пенальти за расстояние и шарпшутерство - находятся почему-то в секции кода ЗВС? Тем не менее эти свойства есть и в оригинальном СОДе, может это промежуточный код?

Абилки вынесены из-за опыта существ. А код - действительно промежуточный, что, тем не менее, не убирает его с повестки дня, так как WoG обращается к нему и при выключенном опыте. В большинстве случаев делается так: при запуске exe перед проверкой на существо ставится хук на вог-функцию. Если проверок несколько - хук также затирает и их, оставляя лишь последнюю. В вог-функции сначала идут проверки на существа, имеющие этот бонус в СОД, затем - на существа, имеющие бонус в качестве абилки опыта. В обоих случаях при наличии свойства в изначальный регистр или ячейку памяти заносится номер монстра, имеющего данный бонус в СОД, с которым СОД его далее и сравнивает в оставшейся проверке.
Способ несколько странный и смахивает на жульничество - подтасовка номера монстра под нужный СОДу. Хотя, может, так и безопаснее...

Как уже говорил, ключ ко всем таким вещам - воговское копирование массивов. По-моему, оно делится на три вида:
1. Откуда/Куда/Сколько байт
2. Куда/Что/Сколько байт
3. Адрес для помещения хука/0/Адрес вог-функции

Посмотрев, что и куда копируется, можно найти много интересных штук и облегчить себе жизнь. Простой пример: отрезок exe3253D0-325C1B - снятие всех ограничений на хинт по существу (adress/197/4).
Слава фактически предоставил нам свой огромный труд на блюдечке, безо всяких исходников.

Повышение цен заклинаний

4E554C push 00000014h - Пегас
4E554E mov ecx,edi
4E5550 call SUB_L0044A850
4E5555 test al,al
4E5557 jnz L004E5566
4E5559 push 00000015h - Серебряный Пегас
4E555B mov ecx,edi
4E555D call SUB_L0044A850
4E5562 test al,al
4E5564 jz L004E5569
4E5566 add esi,00000002h - кол-во очков на подорожание

Код стоит прямо перед снижением цен на заклинания Магами и Архимагами. Странно, что ВОГ вклинился только в нижний участок.

Уменьшение вражеской защиты

75D4A0 cmp dword ptr [ebp-04h],00000060h - Чудище
75D4A4 jz L0075D4AE
75D4A6 cmp dword ptr [ebp-04h],00000061h - Древнее Чудище
75D4AA jz L0075D4E0

75D551 cmp dword ptr [edx+34h],0000009Ch - Чудище-Привидение
75D558 jnz L0075D564

Блок удара

766A8D cmp dword ptr [ecx+34h],000000C4h - Драколич
766A94 setnz dl
766A97 dec edx
766A98 and edx,00000014h - %-ый шанс срабатывания

Его же сопротивление магии:

75D9FC cmp dword ptr [ecx+34h],000000C4h
75DA03 jnz L0075DA14
75DA05 mov edx,[L0283282C]
75DA0B sub edx,00000014h

Всегда положительная мораль

На поле боя:

767133 cmp dword ptr [ebp-04h],0000004Eh - Минотавр
767137 jz L0076713F
767139 cmp dword ptr [ebp-04h],0000004Fh - Король-Минотавр
76713D jnz L0076714B

В слоте:

44AEF7 cmp edi,0000004Eh
44AEFA jz L0044AF01
44AEFC cmp edi,0000004Fh
44AEFF jnz L0044AF0B

Магическая Аура

767244 cmp dword ptr [eax+34h],00000018h - Единорог
767248 jnz L00767256
76724A mov dword ptr [L028601E8],00000019h - Боевой Единорог

и

76729F cmp dword ptr [eax+34h],00000018h
7672A3 jnz L007672B1
7672A5 mov dword ptr [L028601E8],00000019h

Бряк, поставленный на эти адреса, даёт о себе знать, когда существо встаёт рядом с другим существом.

+1 к морали союзников

44BA46 cmp dword ptr [eax],0000000Ch - Ангел
............
760A15 cmp dword ptr [ecx],0000000Dh - Архангел
760A18 jz L00760A32
760A1A cmp dword ptr [ecx],00000096h - Верховный Архангел
760A20 jz L00760A32

А это для текста "Архангелы в группе" в окне существа (иначе будет "Алебардщики в группе"):

760A39 cmp dword ptr [edx],0000000Dh
760A3C jz L00760A56
760A3E cmp dword ptr [edx],00000096h
760A44 jz L00760A56


-1 к удаче врага

7609BC cmp dword ptr [edx],00000037h - Архидьявол
7609BF jz L007609D9
7609C1 cmp dword ptr [edx],00000099h - Антихрист
7609C7 jz L007609D9

Для текста:

7609F6 cmp dword ptr [ecx],00000037h
7609F9 jz L00760A0E
7609FB cmp dword ptr [ecx],00000099h

Между этими проверками есть ещё проверки неясного содержания. В общем, надо ещё разобраться, что за что отвечает.


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 10 Jun 2010, 10:35 (Сообщение отредактировал feanor - 14 Jun 2010, 12:26)
Сообщение #57

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Навыки, дающиеся в Университете Сопряжения:
Код
005D330A   C745 D0 0A000000 MOV DWORD PTR SS:[EBP-30],0E
005D3311   C745 D4 0F000000 MOV DWORD PTR SS:[LOCAL.11],0F
005D3318   C745 D8 10000000 MOV DWORD PTR SS:[LOCAL.10],10
005D331F   C745 DC 11000000 MOV DWORD PTR SS:[LOCAL.9],11


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 12 Jun 2010, 20:49 (Сообщение отредактировал feanor - 13 Jun 2010, 15:46)
Сообщение #58

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Объекты на карте
4A8160 - функция (один большой свитч), обрабатывающая вход в объекты на карте.

из которой можно вызнать, к примеру
Откуда берет артефакты Чёрный Рынок:
По адресу 699538h лежит некий указатель
Прибавляем к нему 1F684h, получаем второй указатель
Этот указатель показывает на таблицу артефактов (7 DWORDов на каждый черный рынок).

Пример:
Код
//устанавливаем в первый слот первого рынка магическую книжку.
!!UN:C6919480/4/?y1;
!!VRy1:+128644;
!!UN:Cy1/4/?y2;
!!UN:Cy2/4/0;


Номер рынка можно узнать через OB:C - он совпадает с контрольным числом.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
MasterOfPuppets
сообщение 14 Jun 2010, 12:35 (Сообщение отредактировал Master Of Puppets - 14 Jun 2010, 12:40)
Сообщение #59

Анти-Всë
Сообщений: 2 984
Спасибо сказали: 2296 раз




Боян, но пусть будет:

679DD0h - массив стартовых параметров героев. 5Ch байт на структуру героя. Данные:
1. Пол
2. ?
3. Класс
4. Первый стартовый навык
5. Уровень первого стартового навыка
6. Второй стартовый навык
7. Уровень второго стартового навыка
8. Наличие Книги Заклинаний: да/нет
9. Стартовое заклинание
10. Стартовая армия, тип существа, слот №1
11. Стартовая армия, тип существа, слот №2
12. Стартовая армия, тип существа, слот №3
13. Ссылка на название малого портрета
14. Ссылка на название большого портрета
15. ? (напоминает запрет/доступность для найма, но при изменении эффекта не замечено)
Остальные данные (16-23) всегда нулевые, для чего нужны - неизвестно.

678420h - специализации героев. 28h байт на специализацию.
Всё как в HE:X.


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 19 Jul 2010, 18:26
Сообщение #60

laughed as one fey
Сообщений: 11 809
Спасибо сказали: 19672 раза




Репортаж с чемоданов (:.

Структуры стэков на поле боя.
[0x699420]+0x54CC+stack_num*0x548.
Формат описан в справке Драколича ("о недокументированных возможностях BM:G")
Все поля - по 4 байта (точнее, выравнены по 4м байтам - там, где в сорцах были шорты и чары, в дампе остались 0xBAADF00D)
Первые четыре байта соответствуют BM:G-полю -102.

Слух дня в таверне

Адрес: [699538h]+4E419h

Вообще, [699538h] - это все сохраняемые в сейве данные. Структуры героев (в самом начале), городов, объектов etc, etc.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

7 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



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