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

> Правила форума — Моддинг Арканум

    Арканум модификация
  • В рамках здравого смысла ограничьте флуд и офф-топ;
  • Называйте темы понятно и конкретно;
  • Если Вы хотите узнать, где можно скачать какой-либо файл, патч, мод или саму игру Arcanum: Of Streamworks and Magick Obscura, ознакомьтесь с нашей подборкой ссылок
  • Просьба: Голосуйте иногда в рейтингах на форуме/сайте (низ страницы — баннеры). Для чего это делать: пропаганда игры, ведь АРКАНУМ жил, жив и будет жить;
  • Для двухстороннего общения пользуйте личные сообщения.

 
Ответить в эту темуОткрыть новую тему

> Help regarding .proto files

Shark
сообщение 17.5.2022, 0:24
Сообщение #1
Нет аватара
Прохожий
Group Icon
Группа: Прохожие
Сообщений: 8
Регистрация: 5.5.2022
Пользователь №: 7 312



So, while trying to merge some of the Positiff's weapon changes with the UAP2.0.2 changes, one weapon in particular is giving me problems.

Pyro Bow.

I want to have it visually looking like in UAP2.0.2 - shoots a flaming arrow, with an explosion when it hits.
I want to have it functioning like in ATR - so that bonus flame damage depends on spending fuel.

For now, i got kinda close:
- shoots a normal arrow, plays explosion when it hits, spends fuel

When i try to get that last "missing stuff" by comparing 006166.proto, i either break the .proto, or the game refuses to load.

By "breaking the proto" i mean, the game no longer shows the item as part of my test background, but the game loads and works fine.
"Game refusing to load" is simply the game crashing due to a malformed .proto file.

I have pinpointed some critical portions of it, that seems to control some "flags", whether the item has a WeaponEyeCandy or a script attached, as well as which script triggers.

01CD is the two byte, little endian, hex of the script to invoke.
1609 seems to be important, because ATR's version has 24 there. UAP's has 08.

There is alot of room (between 160E-2400) where UAP's version has non-zero values, but ATR's has just 00s.

So, i'm kinda trying out to either just use UAP's values and keeping the important/critical sections with ATR values, or somehow superimpose the values (if they're a bitmask/flags, i essentially just OR them.)

and that's what got me this close. However, i'm trying to get the *ideal* case.

The explosion-on-hit is declared in WeaponEyeCandy. The script is in the proto file. The projectile also seems to be in the proto file. Currently, i'm just missing the projectile, which i suspect is somewhere in the 1609-160D range.

example;
- using 08 on 1609 and 00 on 160D gives me the flaming projectile, but doesn't invoke the script.
- using 24 on 1609 and 6C on 160D gives me a normal projectile, but does invoke the script.

The stuff in between - i don't know what those are, so they might be less important for now. Just blindly copying them over from UAP's proto can work, but proto breaks as soon as I make an illegal combo on these two important addresses/offsets.


So, I can post some images / hex comparisons of ATR vs UAP proto file.
But, to make this less of a X/Y problem (where I think the problem is X when it's really Y) - is there any good document on .proto files, on what each byte means, and what the values on those positions mean?

I'm looking more for a "file specification" kind of thing, and less for a "I did this, here's a tutorial on how i did it where I explain just a few necessities which I had to change" like the ones i found so far.
EDIT: I found Krupp's stuff, lets see where that gets me in the following days

Image, of the stuff that currently works,
My changed version of ATR's 006166.proto on the left, the UAP2.0.2+pyro visuals on the right.
https://ibb.co/41PTXBC

Сообщение отредактировал Shark - 17.5.2022, 0:48
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22.12.2024, 6:05
IPS Driver Error  

Ошибка с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда.

Возвращаемая ошибка

Приносим свои извинения за предоставленные неудобства.