Current time: 01.11.2024, 07:38 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Замена Сопряжения
» готовый туториал
Author Message
Ivor Offline
Moderators

Posts: 1138
Post: #16

Сделал


Моды (Иные герои, иные заклинания), скины, портреты
15.12.2015 20:32
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #17

что то не могу разобраться по координатам мозаики карты грааля по координате Х
0х006818F4 PuzzlePiecesX - но это только для "Castl"
Хотя ниже идущая таблица 0х00681954 PuzzlePiecesY для всех типов зАмков.
А где таблица по Х для Конфлы?


game bug fixes extended.dll || My Plugins || My GitHub
15.12.2015 21:41
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #18

Потому что, емнип, сначала идут X для замка (48 word), потом Y для замка, потом X для оплота, потом Y для оплота и так далее.
А IDA почему-то считает PuzzlePieces массивами, а не указателями и возвращает смущающий код.
16.12.2015 15:05
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #19

Так, чо там еще надо править?

Ресурс в хранилище, ресурс бонусный, стены осады, башенных стрелков, уровень ГМ, остатки спецстроений, орды, окно холла, что-то еще?
17.12.2015 01:20
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #20

Намудохался я с этой мозаикой конкретно, но результатом доволен. И с феном оказывается HD его подменяет в "Fix.Cosmetic", а я то трепал себе мозги((
Вот как выглядит окно осады в замке. Нужны адреса чтобы подвигать основную башню, стены, ворота. Как заменять стрелков и двигать их знаю
Сейчас двигаю здания в экране города, так что пока что полный список нужных фичь не могу составить. Но на вскидку:
Ресурс в хранилище - смогу
Ресурс бонусный: мне не нужен, но все же в долгострое желателен
Стены осады - нужно, ибо пока что не знаю как
Стрелки в башнях - уже сделал
ГМ - нужен
Остатки спецстроений - очень желательно. Я тут бессилен
Орды - не понял о чем речь, если доп.существа (на прирост) то нужно
Окно хола- нужно

Короч: почти все нужно, а если будет удобный инструмент: вообще ништяк))
Что еще? - в голову пока не приходит...


game bug fixes extended.dll || My Plugins || My GitHub
17.12.2015 03:56
Visit this user's website Find all posts by this user Quote this message in a reply
Macron1 Offline

Posts: 521
Post: #21

(17.12.2015 03:56)igrik Wrote:  Стены осады - нужно, ибо пока что не знаю как
Надо сдвинуть на 20 по x и 20 по y - меняешь размеры canvas соответсвенно в графическом редакторе у соотв. картинок.
Это для положительного изменения координат верно.


VCMI - будущее Heroes 3!
17.12.2015 14:15
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #22

пишу пока только по данным из Heroes3f.c
Quote:Нужны адреса чтобы подвигать основную башню, стены, ворота.
Так вроде вот же в сорцах
Code:
extern __int16 WallSection_X[]; // idb
extern __int16 WallSection_Y[]; // idb
0066D844 вроде, идут так же - 9 блоков для замков, в каждом по 324(?) байта, первая половина - X, вторая - Y.

приеду домой, гляну не по кофейной гуще
впрочем, в Фордже стены вместе с кодом делал Аксолотль и я потом прост сдвинул бинарник с циты на конфлу

Quote:Остатки спецстроений - очень желательно. Я тут бессилен
Так, чо там есть.
Верфь остается.
Орды позже посмотрю.
Кузница пока норм.
Торговца артефактами тож хз пока.

Университет.
Для человека его достаточно сделать некликабельным, ну, для особо ушлых можно в функции 005D31A0 поменять номера навыков, передаваемые диалогу.
Для ИИ - sub_005D3180 определяет навыки в конфловом универе, а sub_005253B0 отвечает за выучивание, в том числе и на карте (ИИ, кстати, дуром тратит деньги на все подряд, лохопед).
Вызывается эта парочка дважды в Sub_005258B0_AIBuildInTown, кстати, там же можно и управлять желанием ИИ строить универ. Просто занопь, думаю.

ГМ - надо банить в масках строительства и запрещать в окне отстройки, ничего кроме нету. Второе - в 00460D70 (Dlg_Choose2Build_Fill), первое пока не скажу где, я в принципе делал это для TSW, но сейчас сорцы не под рукой.
(This post was last modified: 17.12.2015 15:27 by feanor.)
17.12.2015 15:26
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #23

По поводу стен (в окне боя в замке) не нужно копать. Я разобрался и сейчас выстраиваю правильные координаты.
Универ я хотел выпилить. Постараюсь это сделать. И нужно взамен него впилить орду.
Торговцев хочу оставить = грот в топку
Верфь остается.

Quote:(ИИ, кстати, дуром тратит деньги на все подряд, лохопед).
т.е. в универе на КП он учит все нафиг не нужные навыки, в том числе и чародейство?


game bug fixes extended.dll || My Plugins || My GitHub
17.12.2015 21:37
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #24

Quote: И нужно взамен него впилить орду.
Не нужно взамен, нужно вторую орду активировать.

Quote:т.е. в универе на КП он учит все нафиг не нужные навыки, в том числе и чародейство?
Нет, те которые нельзя (магия огня у рейнджеров, лидерство и пп у некров) он не выучит. Но вот на орлоглаз и навигацию с радостью просадит деньги.
17.12.2015 23:38
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #25

Quote:
Quote:И нужно взамен него впилить орду.
Не нужно взамен, нужно вторую орду активировать.
Если так получится, то будет еще лучше.


game bug fixes extended.dll || My Plugins || My GitHub
18.12.2015 12:24
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #26

feanor, появилось 2 вопроса:
1. При наведении на гильдию магов она не выделяется желтой обводкой. Но если курсор мыши увести влево на 50 пискелей то срабатывает выделение гильдии и ее можно посетить
2. Некоторые объекты перекрывают другие объекты. Например тут таверна спрятана под водоемом.


game bug fixes extended.dll || My Plugins || My GitHub
24.12.2015 11:59
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #27

Quote:1. При наведении на гильдию магов она не выделяется желтой обводкой. Но если курсор мыши увести влево на 50 пискелей то срабатывает выделение гильдии и ее можно посетить
Проверь, совпадают ли маска и деф по размеру, хз.

Quote:2. Некоторые объекты перекрывают другие объекты. Например тут таверна спрятана под водоемом.
Табличку приоритетов надо править.
TownsBuildingsDrawQueue по вогобазе
(This post was last modified: 24.12.2015 15:02 by feanor.)
24.12.2015 14:58
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2819
Post: #28

Наконец-то таки у немя сегодня было время на работе, чтобы допилить координаты строений. И теперь, feanor, как впилить вторую орду. А первую - перевести из 1 уровня существ во второй


game bug fixes extended.dll || My Plugins || My GitHub
29.12.2015 00:10
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #29

А хз, я пока не начинал) Посмотри табличку HordeBuildingsData, я хз

вот так редактируется окно холла
Code:
int flux_X_offsets[] = {0,2,4,6,1,3,5,
                        3,4,1,2,0,6,
                        5,1,3,5};

int flux_Y_offsets[] = {3,3,3,3,4,4,4,
                        1,0,1,0,0,0,
                        1,2,2,2}; //позиции в сетке

int flux_buildings[] = {0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,
                        0x00,0x05,0x0E,0x07,0x0A,0x10,
                        21,18,17,24};//строения



int __stdcall HallBldFix(LoHook* h, HookContext* c)
{    
    if( o_TownMgr->town->type == 8)
    {
        c->edx = flux_buildings[c->ecx];
        
        if (o_TownMgr->town->IsBuildingBuilt(9,1) && c->edx == 7)  c->edx = 23;  //а тут мы даем новое спецстроенне в клетке форта после постройки замка

        return NO_EXEC_DEFAULT;
    }

    return EXEC_DEFAULT;
}



int __stdcall HallLocFix(LoHook* h, HookContext* c)
{
    //148 3D0
    *(int*)0x5CC933 = (int)flux_Y_offsets - c->ebp;
    *(int*)0x5CC954 = (int)flux_X_offsets - c->ebp;

    *(int*)0x5CC9A4 = (int)flux_Y_offsets - c->ebp;
    *(int*)0x5CC9B5 = (int)flux_X_offsets - c->ebp;

    *(int*)0x5CCA0F = (int)flux_Y_offsets - c->ebp;
    *(int*)0x5CCA2D = (int)flux_X_offsets - c->ebp;

    *(int*)0x5CCA79 = (int)flux_Y_offsets - c->ebp;
    *(int*)0x5CCA9A = (int)flux_X_offsets - c->ebp;


    return EXEC_DEFAULT;    
}

..
        //не строим домики (освобождаем строение 23)
        *(char*)0x5BEFF6 = 99;

        //окно холла
        //*(char*)0x66D044 = 18; //количество строений в окне холла
        //*(char*)0x836B30 = 18;

        
        emerald->WriteLoHook(0x5CA8FC,(void*)HallLocFix);
        emerald->WriteLoHook(0x460DE2,(void*)HallBldFix);
29.12.2015 01:31
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #30

Табличка-битмап замещающих строений (орды и братство меча) строится в 004EB810, ближе к концу, по структуре сомнительнейшего вида.
(такая же как и для дерева строений)
(This post was last modified: 30.12.2015 01:50 by feanor.)
30.12.2015 01:49
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