Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Игровой клиент (https://forum.zone-game.info/forumdisplay.php?f=54)
-   -   Костылизация nwindow.dll (https://forum.zone-game.info/showthread.php?t=42505)

Triumvare 15.09.2017 22:17

Костылизация nwindow.dll
 
Недавно задался вопросом, возможно ли передать картинку в клиент L2, собственно посмотрел на реализацию эмблем клана в Interface.u, и понял что нужно копать в нативные функции. Задача состоит в том что бы посмотреть в nwindow.dll как байтовый массив превращается в объект Texture и написать такую же функцию только для своих нужд.

Отсюда вопрос, есть ли какие-то мануалы по IDA Pro для Lineage 2, или люди у которых можно поспрашивать че да как.

Заранее спасибо.

n3k0nation 15.09.2017 22:26

Re: Костылизация nwindow.dll
 
Нэ?

Triumvare 15.09.2017 22:42

Re: Костылизация nwindow.dll
 
Цитата:

Сообщение от n3k0nation (Сообщение 427912)

Походу не оно, я имел ввиду, как из массива что приходит на клиент создается текстура. Либо я туповат. В любом случае спасибо. :)

n3k0nation 15.09.2017 22:43

Re: Костылизация nwindow.dll
 
На клиент с сервера приходит уже готовая DDS текстура, впрочем, клиент отсылает на сервер, также, уже готовую текстуру.

Triumvare 15.09.2017 23:14

Re: Костылизация nwindow.dll
 
Вложений: 1
Цитата:

Сообщение от n3k0nation (Сообщение 427914)
На клиент с сервера приходит уже готовая DDS текстура, впрочем, клиент отсылает на сервер, также, уже готовую текстуру.

https://forum.zone-game.info/attachm...1&d=1505506273

Эм, нет, на клиент отправляется байтовый массив, размер изображения и id клана, потом в клиенте все это превращается в объект Texture и вставляется в нужное место. :)

Хочу реализовать такую же нативную функцию в параметры которой буду передавать массив, а получать из не текстуру.

n3k0nation 15.09.2017 23:24

Re: Костылизация nwindow.dll
 
Правда? А че внутри байтового массива? Идите курите формат DDS, все спеки есть в гугле. Как сравните по байтикам хотя бы заголовок (он всего лишь 124 байта) - приходите назад.

Код создания UTexture я уже скидывал выше, это не более чем инкапсуляция текстуры сжатой DXT.

moveton 15.09.2017 23:26

Re: Костылизация nwindow.dll
 
Цитата:

Сообщение от Triumvare (Сообщение 427915)
https://forum.zone-game.info/attachm...1&d=1505506273

Эм, нет, на клиент отправляется байтовый массив, размер изображения и id клана, потом в клиенте все это превращается в объект Texture и вставляется в нужное место. :)

Хочу реализовать такую же нативную функцию в параметры которой буду передавать массив, а получать из не текстуру.

Эта _data и есть уже готовая dds в dxt1, которую однажды прислал клиент.

n3k0nation 15.09.2017 23:27

Re: Костылизация nwindow.dll
 
Цитата:

Сообщение от Triumvare (Сообщение 427915)
Хочу реализовать такую же нативную функцию в параметры которой буду передавать массив, а получать из не текстуру.

Ну, создайте объект UTexture и передайте ему текстуру. В чем проблема?

Triumvare 15.09.2017 23:47

Re: Костылизация nwindow.dll
 
Крч, что я хочу сделать:
Пользователь на сайте загружает изображение профиля. Это фото сохраняется в бд, затем отобразить его в игре при помощи Unreal Script'ов. Где и как это уже другая история.
Собственно передать информацию на клиент я могу. Все что нужно это грубо говоря написать функцию на С++ в которой превратить то что я получил от сервера в UTexture и вызвать ее в Unreal Script'ах в нужном мне месте.

Как писать нативные функции что бы их можно было использовать в том же interface.u ?

Цитата:

Сообщение от moveton (Сообщение 427917)
Эта _data и есть уже готовая dds в dxt1, которую однажды прислал клиент.

Надеюсь можно как-то конвертировать png\jpg в dds при помощи java :)

Цитата:

Сообщение от n3k0nation (Сообщение 427916)
Правда? А че внутри байтового массива? Идите курите формат DDS, все спеки есть в гугле. Как сравните по байтикам хотя бы заголовок (он всего лишь 124 байта) - приходите назад.

Код создания UTexture я уже скидывал выше, это не более чем инкапсуляция текстуры сжатой DXT.

Каюсь, был не прав.

n3k0nation 16.09.2017 01:17

Re: Костылизация nwindow.dll
 
Цитата:

Сообщение от Triumvare (Сообщение 427919)
Надеюсь можно как-то конвертировать png\jpg в dds при помощи java

Декодировать текстуру, сжать ее DXT и запилить заголовок DDS. Это если в общих словах. Подробности зависят уже от конкретного исходного и таргет форматов (и DXT далеко не один). Все спеки на эти форматы есть в сети, по DDS на сайте мелкомягких, в частности. Только не забудьте учесть byte-ordering.


Цитата:

Сообщение от Triumvare (Сообщение 427919)
Как писать нативные функции что бы их можно было использовать в том же interface.u ?

Цитата:

You can declare UnrealScript functions as native, which means that the function is callable from UnrealScript, but is actually implemented (elsewhere) in C++. For example, the Actor class contains a lot of native function definitions, such as:
Код:

  native(266) final function bool Move( vector Delta );
The number inside the parenthesis after the native keyword corresponds to the number of the function as it was declared in C++ (using the AUTOREGISTER_NATIVE macro), and is only required for operator functions. The native function is expected to reside in the DLL named identically to the package of the class containing the UnrealScript definition.
Больше информации в документации UDK.


Текущее время: 23:54. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot