Недавно задался вопросом, возможно ли передать картинку в клиент L2, собственно посмотрел на реализацию эмблем клана в Interface.u, и понял что нужно копать в нативные функции. Задача состоит в том что бы посмотреть в nwindow.dll как байтовый массив превращается в объект Texture и написать такую же функцию только для своих нужд.
Отсюда вопрос, есть ли какие-то мануалы по IDA Pro для Lineage 2, или люди у которых можно поспрашивать че да как.
n3k0nation Написал:На клиент с сервера приходит уже готовая DDS текстура, впрочем, клиент отсылает на сервер, также, уже готовую текстуру.
Эм, нет, на клиент отправляется байтовый массив, размер изображения и id клана, потом в клиенте все это превращается в объект Texture и вставляется в нужное место.
Хочу реализовать такую же нативную функцию в параметры которой буду передавать массив, а получать из не текстуру.
Правда? А че внутри байтового массива? Идите курите формат DDS, все спеки есть в гугле. Как сравните по байтикам хотя бы заголовок (он всего лишь 124 байта) - приходите назад.
Код создания UTexture я уже скидывал выше, это не более чем инкапсуляция текстуры сжатой DXT.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Эм, нет, на клиент отправляется байтовый массив, размер изображения и id клана, потом в клиенте все это превращается в объект Texture и вставляется в нужное место.
Хочу реализовать такую же нативную функцию в параметры которой буду передавать массив, а получать из не текстуру.
Эта _data и есть уже готовая dds в dxt1, которую однажды прислал клиент.
Крч, что я хочу сделать:
Пользователь на сайте загружает изображение профиля. Это фото сохраняется в бд, затем отобразить его в игре при помощи Unreal Script'ов. Где и как это уже другая история.
Собственно передать информацию на клиент я могу. Все что нужно это грубо говоря написать функцию на С++ в которой превратить то что я получил от сервера в UTexture и вызвать ее в Unreal Script'ах в нужном мне месте.
Как писать нативные функции что бы их можно было использовать в том же interface.u ?
moveton Написал:Эта _data и есть уже готовая dds в dxt1, которую однажды прислал клиент.
Надеюсь можно как-то конвертировать png\jpg в dds при помощи java
n3k0nation Написал:Правда? А че внутри байтового массива? Идите курите формат DDS, все спеки есть в гугле. Как сравните по байтикам хотя бы заголовок (он всего лишь 124 байта) - приходите назад.
Код создания UTexture я уже скидывал выше, это не более чем инкапсуляция текстуры сжатой DXT.
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.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.