BETEP/macs509 87 Report post Posted August 10, 2016 Возникла вот такая проблема: при запуске обычного клиента 1.36 мы видим перед загрузкой самого окна клиента одну из 9 картинок \texture\ui\loading_1.bmp Хотелось бы узнать где хранится перечень открываемых картинок, что бы с 9 уменьшить до 1. Если просто убрать из клиента остальные 8, он тупо будет показывать картинку №1 только 1 раз из 9 запусков. В папке scripts вроде такого не нашел. И так же интересна возможность использования другого расширения например tga или png, а не bmp т.к. нет поддержки прозрачности. Quote Share this post Link to post Share on other sites
RedMAN 22 Report post Posted August 10, 2016 Самое простое решение - переименуй нужную картинку в loading_1-9. Будет 9 одинаковых картинок и получится одна и та же картинка при каждом запуске 1 Quote Share this post Link to post Share on other sites
Guest Report post Posted August 10, 2016 10 hours ago, BETEP/macs509 said: Возникла вот такая проблема: при запуске обычного клиента 1.36 мы видим перед загрузкой самого окна клиента одну из 9 картинок \texture\ui\loading_1.bmp Хотелось бы узнать где хранится перечень открываемых картинок, что бы с 9 уменьшить до 1. Если просто убрать из клиента остальные 8, он тупо будет показывать картинку №1 только 1 раз из 9 запусков. В папке scripts вроде такого не нашел. И так же интересна возможность использования другого расширения например tga или png, а не bmp т.к. нет поддержки прозрачности. Тоже как-то интересовался этим. V3ct0r говорил, что изменять нужно через game.exe. Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted August 11, 2016 В Game.exe есть строка texture\ui\loading_%i.bmp в которую вместо %i функция sprintf подставляет номер выбранной картинки. Твоя задача заменить эту строку, например на texture\ui\loading_1.bmp и отредактировать код который с ней работает. Если открыть Game.exe в отладчике и найти где используется данная строка, то там будет такой код call _rand cdq mov ecx, 9 idiv ecx inc edx push edx lea edx, [esp+154h+name] push offset aTextureUiLoadi ; "texture\\ui\\loading_%i.bmp" push edx ; char * call _sprintf add esp, 0Ch push 10h ; fuLoad push 0 ; cy push 0 ; cx push 0 ; type lea eax, [esp+160h+name] push eax ; name push 0 ; hInst call ds:LoadImageA Т.к. мы хотим убрать случайную генерацию строки, то функция sprint нам больше не нужна. Вырезаем ее. И также передаем строку напрямую в функцию LoadImage() nop nop nop nop nop nop nop nop nop nop nop ; На самом деле nop будет больше, столько сколько байт занимают вырезанные инструкции push 10h ; fuLoad push 0 ; cy push 0 ; cx push 0 ; type push offset aTextureUiLoadi ; "texture\\ui\\loading_1.bmp" push 0 ; hInst call ds:LoadImageA 2 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted August 11, 2016 Я менял texture\\ui\\loading_%i.bmp, но за закосячил, вин 10 писала что неправильная версия приложения. Но это в принципе решаемо как сказал RedMAN. Прозрачность не работает если даже добавить альфа канал bmp, если же сменить расширения в exe тоже нечего не происходит, и там еще выравнивание стоит по центру экрана но верхней части изображения, то есть оно смещается к низу экрана Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted August 11, 2016 С прозрачностью я нечего не придумал. Но с уменьшением картинок я сделал вот что: т.к на работе нету нечего кроме notepad я открыл game.exe в нем нашел по bmp строку с @texture\ui\loading_%i.bmp и изменил на @texture\ui\loading1_1.bmp Вроде работает нормально вместо 9 картинок нужна 1 Quote Share this post Link to post Share on other sites