Гайд Proper Skin Preview

Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Достижение вот этого https://yougame.biz/threads/119970/ наиболее правильным путем:

Так как мы с вами не лохи какие-то, парсер мы юзать не буим, вместо этого мы заюзаем IBaseFileSystem
Код:
struct IBaseFileSystem
{
    VFUNC( 0, Read( void* output, int size, void* file ), int( __thiscall* )( void*, void*, int, void* ) )( output, size, file );
    VFUNC( 2, Open( const char* file_name, const char* options, const char* path_id ), void* ( __thiscall* )( void*, const char*, const char*, const char* ) )( file_name, options, path_id );
    VFUNC( 3, Close( void* file ), void( __thiscall* )( void*, void* ) )( file );
    VFUNC( 7, Size( void* file ), unsigned int( __thiscall* )( void*, void* ) )( file );
};
И добавляем переменную которая будет хранить этот интерфейс:
Код:
ADD_INTERFACE( IBaseFileSystem, basefilesys, "VBaseFileSystem" ); // VBaseFileSystem011 в filesystem_stdio.dll
После этого мы инициализируем текстуру так:

Код:
const auto handle = ctx::csgo->basefilesys->Open( "resource/flash/econ/default_generated/weapon_ak47_cu_ak_neon_rider_light_large.png", "r", "GAME" );
if ( handle )
{
    int file_len = ctx::csgo->basefilesys->Size( handle );
    char* image = new char[ file_len ];

    ctx::csgo->basefilesys->Read( image, file_len, handle );
    ctx::csgo->basefilesys->Close( handle );

    D3DXCreateTextureFromFileInMemory( ctx::csgo->device, image, file_len, &m_skin_texture );

    delete[ ] image;
}
И дальше можете отрисовывать как хотите, у меня меню на имгуи - поэтому я буду отрисовывать так:

Код:
if ( m_skin_texture )
    ImGui::Image( m_skin_texture, { 256, 192 } );
Результат:
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Пожалуй это самый правильный вариант как можно сделать


почему бы здесь не заюзать MemoryAlloc:Alloc ?
Вообще так-то можно, но этот код накидан на скорую руку просто потому что мне нужно сейчас идти и не было времени на его полировку
 
Забанен
Забаненный
Статус
Оффлайн
Регистрация
26 Ноя 2017
Сообщения
463
Реакции[?]
48
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
А чо такой жоский хайд?
Не, ну ваще хорошо
 
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Участник
Статус
Оффлайн
Регистрация
20 Апр 2017
Сообщения
1,298
Реакции[?]
377
Поинты[?]
2K
Тупой вопрос: в чем разница от ранее опубликованного Skin Preview, опубликованого в прошлом году?

P.S Честно, только название темы посмотрел, код не смотрел. :CoolStoryBob:
 
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Тупой вопрос: в чем разница от ранее опубликованного Skin Preview, опубликованого в прошлом году?

P.S Честно, только название темы посмотрел, код не смотрел. :CoolStoryBob:
Тут картинка парсится сразу из файлов игры а не серверов стима, благодаря этому не будет крашей при слабом инете, а также благодаря этому можно избежать лишнего ненужного интернет соединения в чите
 
Начинающий
Статус
Оффлайн
Регистрация
25 Апр 2020
Сообщения
18
Реакции[?]
5
Поинты[?]
3K
Можно просто в меню отрисовывать предмет и там на него текстурку накидывать(можно и не родную). И тогда можно будет менять параметры отрисовки(по типу переливания, отражения итд). Но тогда я не совсем уверен на счёт оптимизации \_(0|0)_/
 
Сверху Снизу