Перейти к контенту

Рекомендуемые сообщения

Akella-96,

будь лаской, не сочти за труд прочесть десяток предыдущих сообщений.

  • Нравится 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Всем доброго времени суток. Все сделал по инструкции:

скачал X-Ray extensions

xrGame.dll переименовал в xrGame_orig.dll и забросил в папку 3795_cs_10010(не знаю, почему она называется не 1510)

скачал masm32 10 версии

ml.exe перебросил в папку tools

xrGame.dll собралась. Запускаю игру и вылезает ошибка:

 

"xrGame.dll не является образом программы для windows NT. Проверьте назначение установочного диска."

 

Loading DLL: xrGame.dll

 

FATAL ERROR

 

[error]Expression : hGame

[error]Function : CEngineAPI::Initialize

[error]File : E:\priquel\sources\engine\xrEngine\EngineAPI.cpp

[error]Line : 101

[error]Description : Game DLL raised exception during loading or there is no game DLL at all

 

 

stack trace:

 

 

Ссылка на комментарий

sealis,

10 в данном случае - это номер версии сборки masm32 (последняя кажется 11). При этом сам ассемблер ml.exe в этих сборках имеет версию 6 с чем-то, т.е. не годится. Нужен ml.exe от Visual Studio не меньше 10-й.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

В сотрудничестве с Shadows добавил макрос для регистрации консольной команды для чтения/записи логических значений. Использовать также, как и прочие в файле console_commands_reg_fix.asm

REGISTER_CC_FLAG g_test_flags, 20h, "test_flag_6"

g_test_flags - переменная с флажками 32 бита

20h - значение маски, которая задаёт конкретный бит (в данном случае шестой по счёту, начиная счёт с единицы)

"test_flag_6" - имя консольной команды

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Патчинг xrGame текущей ревизией невозможен из-за нескольких ошибок.

 

Поддерживаю. Та же проблема.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

вообще, где можно скачать последнюю ревизию? захожу по адресу что в шапке, нифига там нету, раньше было...

UPD:кажись нарыл там, но хз то это или не то, и еще, можно узнать номер и дату последней ревизии на ЗП и изменения плз

UPD2: смотрю развитие проекта идет в основном на ТЧ, а что с ЗП?

Изменено пользователем Viнt@rь
Ссылка на комментарий

Viнt@rь, последние изменения можешь увидеть здесь: >>Click Me<<.

Скачивать, а точнее обновлять ревизию нужно с помощью программы TortoiseSVN.

Изменено пользователем ColR_iT
Ссылка на комментарий

ColR_iT

вот же понаделали прог... зачем?

:) на каждый проект разная, дропбокс и тп, выходит что, ради того что бы скачать файл нужно устанавливать прогу ппц

 

 

и это для ЗП тоже?

 

Вообще для проекта. :)

ColR_iT

 

UPD: я имел ввиду список изменений/нововведений, да и вообще, те ревизии, что там написаны: 34 и тп это и в ЗП добавляется тот функционал? или нет? :)

Изменено пользователем Viнt@rь
Ссылка на комментарий

В 33 ревизии не хватает довольно большого количества функций, при сборке жалуется на это. Можно конечно лишнее отрубить, но хотелось бы полный комплект :)

 

 

UPD2: смотрю развитие проекта идет в основном на ТЧ, а что с ЗП?

Ну там же по коду можно посмотреть, какие изменения вносились в ту или иную версию. Но в основном да - проект для ТЧ.

Ссылка на комментарий

Залил недостающие файлы.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Хотел задать два вопроса:

1) В каком .asm файле из проекта под ТЧ находится код, который отвечает за скрытие произвольной кости на оружии (weapon_fix.asm?)

2) Каким образом скрытие реализовано в движке. Оружию просто присваивается определённый флаг скрыть ту или иную кость, или есть какая то функция, которой передаётся, например, индекс кости? И если второе, то её ведь можно вызвать зная адрес в памяти?

  • Нравится 1

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

*Shoker*,

1) Нету такой функции. И вообще, вопрос не корректен. Кость на оружии для мировой модели или для худа? Есть функция для управления видимостью костей, но именно определенных. Само управление видимостью костей в game_object_fix.asm, а в weapon_fix.asm врезка, как видно в функции апдейта видимости аддонов.

 

2)Не оружию, а кости присваивается флаг видимость/невидимость. А кость получается из получения названия кости (один из аргументов) в set_wpn_bone_visible(...). Насчет второго - нет, нельзя.

  • Нравится 1
Ссылка на комментарий

malandrinus, попробовал добавить отсутствующий метод определения объекта как вертолет (obj:is_helicopter()):

xrgame_stubs

org 105558A0h - shift
off_105558A0 dd ?

В движке:

.data:105558A0 off_105558A0	dd offset off_10459240 ; DATA XREF: 00000000101DFD4Eo
.data:105558A0										; 000000001027B0BEo ...
.data:105558A4				 align 8
.data:105558A8 a_?avcse_alifeh db '.?AVCSE_ALifeHelicopter@@',0
.data:105558C2				 align 4
.data:105558C4 off_105558C4	dd offset off_10459240 ; DATA XREF: .rdata:104F3534o
.data:105558C4										; .rdata:off_104F3554o

 

game_object_castings

MAKE_CASTING2 CScriptGameObject__CHelicopter, off_105558A0

и

MAKE_CHECK_FUN CScriptGameObject__IsHelicopter		 , CScriptGameObject__CHelicopter

 

game_object_fix

PERFORM_EXPORT_BOOL__VOID CScriptGameObject__IsHelicopter,		 "is_helicopter"

В игре метод появился, но работать не хочет.

Может место врезки не то выбрал?

Изменено пользователем Shadows
Ссылка на комментарий

Извиняюсь за жуткую настойчивость(в прошлый раз пост удалили),но всё таки есть люди которые смогли бы сделать поднимающиеся болты для ЗП и ЧН?

Изменено пользователем Артём Карпенко
Ссылка на комментарий

Shadows,

здесь ты не место врезки выбираешь, а вид макроса и значение его аргумента. На основании чего они были выбраны?

 

Артём Карпенко,

я бы попробовал частично сделать это скриптами.

1. Делаешь специальную гранату с беззвучным и невидимым взрывом с визуалом и иконкой болта.

2. Следишь за её фейковой частью и при её пропадании (взрыве), спавнишь на уровне новый болт, который уже можно будет подобрать.

 

Задачи, которые останется решить:

1. сделать так, чтобы неписи этого болта не шугались

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Простите, если не в ту тему отписываю, просто есть надобность использовать методы данного набора(ЗП)

Возможно ли при получении окна(ПДА) методом

...

oPda = CUIListBox():GetMainInputReceiver()

...

Получить обьект (окна ПДА) класса CUITabControl(InitTab) и вручную задать ему активную кнопку

...

oPda.oTab:SetActiveTab("button_id")

...

(проверить самому пока что нет возможности)

Изменено пользователем Viнt@rь
Ссылка на комментарий

Мне как то не по душе этот метод,раздражает подскакивающий болт...

Изменено пользователем Артём Карпенко
Ссылка на комментарий

Что за подскакивание?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Во время спауна болт причудливо подпрыгивает как некрути,так что это не лучший вариант...Поэтому и обратился снова...

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...