Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Загрузка иконок из панорамы

Ревёрсер среднего звена
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
300
Реакции
109
Почитал https://yougame.biz/threads/264431/, попробовал загрузить через этот device со структурами как на его скрине, не получилось, хотя и возвращает тру. Какая должна быть структура класса у output?

Также хочу знать, можно ли и есть ли смысл конвертировать полученное изображение из формата DX11 в OpenGL. Или лучше не долбиться, а сделать напрямую через панораму, панельки там создавать и т. д.?
 
единственный минус панорамы - она еще в "бете"(как и сама дота), поэтому ее габен часто модифицирует(= по кд меняются оффсеты индексы и тд) в общем сложно поддерживать панораму(еще у панорамы есть проблема с градиентами - там у габена кастомный уебанский алгоритм градиентов(по-другому высчитываются цвета), не как в традиционном html+css). кр4 жопу готовь если ты панораму собрался юзать, много ебли будет
 
единственный минус панорамы - она еще в "бете"(как и сама дота), поэтому ее габен часто модифицирует(= по кд меняются оффсеты индексы и тд) в общем сложно поддерживать панораму(еще у панорамы есть проблема с градиентами - там у габена кастомный уебанский алгоритм градиентов(по-другому высчитываются цвета), не как в традиционном html+css). кр4 жопу готовь если ты панораму собрался юзать, много ебли будет
Ну значит будем на острие ревёрсинга. Мы люди закалённые, выдержим всё(кроме работы вальв по отлову читеров)
 
А, не, всё нормально, этот метод можно вызывать даже без этого CUIRenderDevice:
C++:
Expand Collapse Copy
typedef bool (*LoadUITextureFn)(void* thisptr, void** texturePtr, const char* textureName);
inline LoadUITextureFn LoadUITexture{};

SIGSCAN_OFF(LoadUITexture, "57 48 83 EC 20 48 8B 1A 49 8B F0 48 8B FA 48 85 DB", L"panorama.dll", -10);
Теперь остаётся только перелопатить мои сурсы с OpenGL в DirectX11 и можно шиковать
 
А inventory чейнджеры всякие, оверпласы фемиды панораму используют чтобы шмотки в инвентарь добавить?
Странное предположение при наличии инфы по этой теме даже здесь, на yougay.biz
Там долбят CGCClient, добавляя и надевая через инвентарь шмотки. Правда там ещё, вроде как, надо не дать доте перед началом игры обновить инвентарь
 
А, не, всё нормально, этот метод можно вызывать даже без этого CUIRenderDevice:
C++:
Expand Collapse Copy
typedef bool (*LoadUITextureFn)(void* thisptr, void** texturePtr, const char* textureName);
inline LoadUITextureFn LoadUITexture{};

SIGSCAN_OFF(LoadUITexture, "57 48 83 EC 20 48 8B 1A 49 8B F0 48 8B FA 48 85 DB", L"panorama.dll", -10);
Теперь остаётся только перелопатить мои сурсы с OpenGL в DirectX11 и можно шиковать
textureptr это ID3D11ShaderResourceView ?
 
textureptr это ID3D11ShaderResourceView ?
Зайди в ту тему, на которую я оставил ссылку, там в последнем комменте скрин кода(ну или у меня в репе посмотри SDK/Interfaces/Panorama.h)
Это CSource2UITexture** на твою буфер-переменную, туда кладётся CSource2UITexture*, в котором есть всё ещё вальвоский CTextureDx11, а уже в нём лежат два шейдер вью: один UNORM, другой SRGB. Оба в DXGI_FORMATе BC3(я почитал про это, судя по всему сжатые для экономии места), он рендерится по-уродски, как в той теме. Хотя у предметов стандартный R8G8B8A8(и даже у некоторых способностей, лол)
В лучшем чите во Вселенной, судя по дампу, идёт ручная распаковка vtex_c файлов, и понятно почему
 
Назад
Сверху Снизу