helldrg Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 (изменено) Доброе утро всем! Я хотел сделать трейнер в стиле metro приложения, которое пишется(один из вариантов) на с++ и xaml, но для этого нужна лицензия разработчика и по скринам эти приложения не много не подходят по своему строению для трейнеров. Зато можно было бы продавать их в Windows Store =) И тогда я решил на winapi попробовать сделать некое подобие. И вот, что у меня получилось, кончено это совсем не metro, но квадратики оттуда все таки есть: А теперь загадка: с какой стороны изображение фотошопа, а с какой изображение программы =) Скрытый текст Из всего этого, меня больше всего радует, что кривой кодировки не будет, так как все сделано картинками, я надеюсь gmz будет доволен =) Единственное, что меня озадачило - с программой идет пачка картинок, это не есть хорошо. Вот сейчас думаю как их в exe вшить. Я помню какая то есть игра, которая известна тем, что она состоит из одного exe весом мегабайта 3, точно не помню, а содержит в себе большой уровень (целый замок) модели оружий, монстров, музыку и звуки. У них получилось все это засунуть в exe, я думаю и у меня получится несколько картинок запихать =) Ну и как обычно, если есть замечания, предложения пишите! P.S.: Место для рекламы свободно :DDDDDDDDDD Изменено 10 октября, 2016 пользователем helldrg Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 Почитай про ресурсы в EXE-файле, в эту сторону копать нужно. Там же обычно лежат всякие иконки, курсоры и другие штуки. В сторе эти вещи продавать нельзя, т.к. они нарушают лицензии 99% игр и местами законодательства. Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 Цитата Почитай про ресурсы в EXE-файле, в эту сторону копать нужно. Там же обычно лежат всякие иконки, курсоры и другие штуки. С ресурсами там что то нечистое. Я делаю дедовским способом: Записываю в переменную картинку, и пытаюсь её считать =) Цитата В сторе эти вещи продавать нельзя, т.к. они нарушают лицензии 99% игр и местами законодательства. ох уж эти законы =(( Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 30 minutes ago, helldrg said: С ресурсами там что то нечистое. Я делаю дедовским способом: Записываю в переменную картинку, и пытаюсь её считать =) ох уж эти законы =(( А что с ресурсами не так? Добавляешь картинку, даешь ей ID, компилируешь файл с ресурсами, линкуешь его к проекту, в проекте - обращаешься по ID. Главное - картинки в BMP и звуки в WAV в трейнер не совать. Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 (изменено) Цитата А что с ресурсами не так? Я с ними никогда не сталкивался, а когда прогуглил ничего внятного не нашел, а так, как я сейчас делаю - все прозрачно и понятно для меня, но пока что еще не заработало =) WAV в трейнер не совать. :D Не нравится музыка в трейнерах? А я уж музычку из охотников за приведениями подобрал((( Изменено 10 октября, 2016 пользователем helldrg Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 (изменено) 25 минуты назад, helldrg сказал: Не нравится музыка в трейнерах? А я уж музычку из охотников за приведениями подобрал((( Wav весит много, А вот xm, it будет идеально в трейнере. 40 секунд музыки около 8-9 кб. Изменено 10 октября, 2016 пользователем partoftheworlD 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 Цитата Wav весит много, А вот xm, it будет идеально в трейнере. 40 секунд музыки около 8-9 кб. Спасибо большое, буду иметь ввиду) Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 Да, именно размер я и имел ввиду. Меня слегка передергивает от трейнеров размером в 5-6 мегабайт, которые умеют выводить текст стандартным шрифтом и все. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 Цитата Да, именно размер я и имел ввиду. Меня слегка передергивает от трейнеров размером в 5-6 мегабайт, которые умеют выводить текст стандартным шрифтом и все. :DDDDD Наконец то получилось картинки в exe засовывать, ошибка была в том, что я читал из массива данные и через memcpy записывал их в буфер типа void*, но перед этим нужно было память через VirtualAlloc выделить - всю ночь на это потратил =((( Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 1 минуту назад, keng сказал: Да, именно размер я и имел ввиду. Чтобы размер еще меньше сделать, можно ассемблерными вставками пользоваться, где это реально может ускорить и уменьшить функцию, либо тогда писать все на ассемблере. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 6 minutes ago, partoftheworlD said: Чтобы размер еще меньше сделать, можно ассемблерными вставками пользоваться, где это реально может ускорить и уменьшить функцию, либо тогда писать все на ассемблере. Большинство современных компиляторов сделают код намного эффективнее, чем чисто на ассемблере, так что сразу на нем писать - дело вкуса отдельно взятых маньяков (вроде меня). Главное всякие CRT и CLR повыкидывать - и тогда что ассемблер, что С\С++ - один фиг бинарник будет маленький. Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 (изменено) 6 часов назад, keng сказал: Главное всякие CRT и CLR повыкидывать А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было Изменено 10 октября, 2016 пользователем helldrg Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 48 minutes ago, helldrg said: А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было Там в свойствах проекта (говоря про MSVS) есть опция, как CRT подключается к бинарнику. Среди варивантов есть возможность подключать ее как внешнюю библиотеку. В этом случае она просто будет валяться в импорте и все. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 1 час назад, helldrg сказал: А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было Вроде бы это. Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 без "crt startup" имел ввиду Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 partoftheworlD Я это и нашел =) Походу по дефолту если создаешь пустой проект, то clr не используется. gmz Про crt читать надо, что там подключать надо, что бы программа работала, попозже займусь этим =) Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 1 минуту назад, helldrg сказал: Про crt читать надо, что там подключать надо, что бы программа работала, попозже займусь этим =) если у тебя вс ниже 2015.3 - может не сработать Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 (изменено) Юзайте C++ Builder Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX) Изменено 10 октября, 2016 пользователем ШАРИК Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 Цитата Юзайте C++ Builder Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX) :DDD У нас когда началось программирование на с++, нам дали компы с этим бидером - в нем ничего не запускалось, постоянные ошибки были, а этот интерфейс просто ужас! Я хотел установить там VS но прав админа не было, тогда Dev c++ принес поставил и жизнь наладилась) Но самый плохой редактор, это делфи, не важно что за фирма делала, не важно какой версии - я на эту тему могу целую статью юмористическую написать, как меня этот язык всю жизнь преследовал и как я пытался избежать его Цитата если у тебя вс ниже 2015.3 - может не сработать У меня vs15.3 если просто поставить настройки как на скринах, понятное дело программа не скомпилируется там еще что то нужно, потом узнаю) Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 (изменено) 21 минуты назад, ШАРИК сказал: Юзайте C++ Builder Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX) после этих твиков из вс2015 можно выжать х32 2кб ехе (1 апи) почти как на мингве.. а тот билдер такое может? Изменено 10 октября, 2016 пользователем gmz Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 (изменено) gmz Не много по умничаю :DDD а ты опцию такую применял?/opt:nowin98 Ты наверно и так знаешь, но вдруг, все может быть, она выравнивание секций по 512 б делает, а по дефолту 4кб, но ты это уже где то писал про 4 =) Изменено 10 октября, 2016 пользователем helldrg Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 ШАРИК Вот я щас нагнал на Borland и вспомнил, что в VS с++ уже как лет 10 не могут добавить рефакторинг Если я не прав поправьте меня, но нажимая Ctrl+R из года в год я вижу надпись, что рафакторинга нет в текущем выпуске Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 58 minutes ago, ШАРИК said: Юзайте C++ Builder Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX) Как бе, цпп билдер - это IDE, а не компилятор. Компилятор в этом пакете - clang. Я так могу сказать - юзайте vim. Ссылка на комментарий Поделиться на другие сайты Поделиться
helldrg Опубликовано 10 октября, 2016 Автор Поделиться Опубликовано 10 октября, 2016 (изменено) Цитата Я так могу сказать - юзайте vim. Батюшки, открыл в вики посмотреть, что это за зверь, описание вначале заинтриговало "Один из мощнейших редакторов". Посмотрел скрин, и захотелось, как в дестве подписывал книжки дописать "того тысячелетия" =) Изменено 10 октября, 2016 пользователем helldrg Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 10 октября, 2016 Поделиться Опубликовано 10 октября, 2016 16 minutes ago, helldrg said: Батюшки, открыл в вики посмотреть, что это за зверь, описание вначале заинтриговало "Один из мощнейших редакторов". Посмотрел скрин, и захотелось, как в дестве подписывал книжки дописать "того тысячелетия" =) Вот, а я без него жить не могу. Все, что можно сделать с текстом - делаю в нем. @Xipho, например, сидит на предшественнике - vi. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения