Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
|
Re: RMG SODIf you keep the same seed and only disable HiHook at 0x531D80, you get normal treasure density?
|
Re: RMG SODYes it is. The same result (normal treasure density) is if i am just disabling "return 1".
|
Re: RMG SODTrying to change swapping algorithm.
Current algorithm is: - PlaceObstacles (before Roads) - PlaceRoads - PlaceObjects - PlaceObstacles second time (for drawing Obstacles around Objects). But it having that problems: - underground doesn't have abyss - can't change Obstacles after roads placement So better way is PlaceRoads, without PlaceObstacles. I am doing it this way:
But having this problem with diagonal roads: It looks like some bits should also be changed, but which? Update: Fixed this problem. Сейчас думаю как лучше поступить с наложением объектов на дороги. Стандартный алгоритм не учитывает наличие дорог и ставит объекты прямо на них. Если всем дорогам присвоить флаг mustBeBlocked = 0. То проблема с наложением объектов решается, не один объект не закрывает дороги. Однако возникает проблема с открытыми объектами т.к. алгоритм размещения объектов считает теперь дорогу закрытым тайлом. |
Re: RMG SODЕсть проблема с перестановкой дорог в подземелье.
В момент создания дорог 0x54A105, маска клеток (isBlocked,mustBeBlocked,canBeBlocked) и земля (6) пропасти и обычных клеток не отличаются. И дороги идут напрямик по пропасти. Я думал что установка земли пропасти (9) происходит в RMG_00543ED0. Но нет, это происходит где-то RMG_GenerateObjects_00547850. Где это место? Никак не могу найти. |
|
Re: RMG SODMaybe rock terrain is considered as obstacle ?
Ultimately we need more reversing of RMG to properly identify what is what and which sub does what. I'm working on something else for now and the foreseeable future but I still want to look at RMG at some point |
Re: RMG SODThe problem is that the usual underground tile (road allowed) and a tile that will become an abyss(road is not allowed), have same mask isBlocked=1,mustBeBlocked=1,canBeBlocked=0, land =6.
Looks like its not so extremely hard to fix most of the RMG problems. But yes, definitely more reversing of RMG is needed. The problem is I can do nothing when I see something like this: So I will wait for that happy day when you find time to look at RMG. |
|
Re: RMG SODWhat helps a lot is to set known structures to their type (right-click variable or press y).
Then when you see a subroutine use this structure as argument, modify the subroutine declaration (press y when cursor is on it). It takes a while but in the end it's the best way to move forward)) |
Re: RMG SODВот частично разобраный конкретно этот участок кода.
Но место создания пропасти, которое ты ищешь находится где-то тут 0x544028 |
Re: RMG SODigrik писал(а): Ого! Круто! А есть еще что-нибудь подобное по RMG? Например, было бы очень полезно понять алгоритм расстановки объектов. Как это детально происходит? Как происходит генерация списка объектов? Как потом этот список объектов расставляется - общей маской или по отдельности? Где именно происходит определение координат размещения объекта? и т.д. и т.п. |
Re: RMG SODНет, настолько детально разобраного RMG у меня нет.
Я бы может и занялся этой частью, но даже на банальные вещи для героев выкроить времени я совсем не могу. |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7