Перейти к содержанию

Немного фотошопа


helldrg

Рекомендуемые сообщения

Доброе утро всем! Я хотел сделать трейнер в стиле metro приложения, которое пишется(один из вариантов) на с++ и xaml, но для этого нужна лицензия разработчика и по скринам эти приложения не много не подходят по своему строению для трейнеров. Зато можно было бы продавать их в Windows Store =) И тогда я решил на winapi попробовать сделать некое подобие. И вот, что у меня получилось, кончено это совсем не metro, но квадратики оттуда все таки есть:
А теперь загадка: с какой стороны изображение фотошопа, а с какой изображение программы =)
 

Скрытый текст

download?id=hRkdIw62akkSG2ypwuXaYfwFu6QW

Из всего этого, меня больше всего радует, что кривой кодировки не будет, так как все сделано картинками, я надеюсь  gmz будет доволен =)

Единственное, что меня озадачило - с программой идет пачка картинок, это не есть хорошо. Вот сейчас думаю как их в exe вшить. Я помню какая то есть игра, которая известна тем, что она состоит из одного exe весом мегабайта 3, точно не помню, а содержит в себе большой уровень (целый замок) модели оружий, монстров, музыку и звуки. У них получилось все это засунуть в exe, я думаю и у меня получится несколько картинок запихать =)

Ну и как обычно, если есть замечания, предложения пишите!
P.S.: Место для рекламы свободно :DDDDDDDDDD

Изменено пользователем helldrg
Ссылка на комментарий
Поделиться на другие сайты

Почитай про ресурсы в EXE-файле, в эту сторону копать нужно. Там же обычно лежат всякие иконки, курсоры и другие штуки. В сторе эти вещи продавать нельзя, т.к. они нарушают лицензии 99% игр и местами законодательства. :D

Ссылка на комментарий
Поделиться на другие сайты

Цитата

Почитай про ресурсы в EXE-файле, в эту сторону копать нужно. Там же обычно лежат всякие иконки, курсоры и другие штуки.

С ресурсами там что то нечистое. Я делаю дедовским способом: Записываю в переменную картинку, и пытаюсь её считать =)

Цитата

В сторе эти вещи продавать нельзя, т.к. они нарушают лицензии 99% игр и местами законодательства. :D

ох уж эти законы =((

Ссылка на комментарий
Поделиться на другие сайты

30 minutes ago, helldrg said:

С ресурсами там что то нечистое. Я делаю дедовским способом: Записываю в переменную картинку, и пытаюсь её считать =)

ох уж эти законы =((

А что с ресурсами не так? Добавляешь картинку, даешь ей ID, компилируешь файл с ресурсами, линкуешь его к проекту, в проекте - обращаешься по ID. Главное - картинки в BMP и звуки в WAV в трейнер не совать. :D

Ссылка на комментарий
Поделиться на другие сайты

Цитата

А что с ресурсами не так? 

Я с ними никогда не сталкивался, а когда прогуглил ничего внятного не нашел, а так, как я сейчас делаю - все прозрачно и понятно для меня, но пока что еще не заработало =)

 WAV в трейнер не совать. :D

Не нравится музыка в трейнерах? А я уж музычку из охотников за приведениями подобрал(((

Изменено пользователем helldrg
Ссылка на комментарий
Поделиться на другие сайты

25 минуты назад, helldrg сказал:

Не нравится музыка в трейнерах? А я уж музычку из охотников за приведениями подобрал(((

Wav весит много, А вот xm, it будет идеально в трейнере. 40 секунд музыки около 8-9 кб.

Изменено пользователем partoftheworlD
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Да, именно размер я и имел ввиду. Меня слегка передергивает от трейнеров размером в 5-6 мегабайт, которые умеют выводить текст стандартным шрифтом и все. :D

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Цитата

Да, именно размер я и имел ввиду. Меня слегка передергивает от трейнеров размером в 5-6 мегабайт, которые умеют выводить текст стандартным шрифтом и все. :D

:DDDDD
Наконец то получилось картинки в exe засовывать, ошибка была в том, что я читал из массива данные и через memcpy записывал их в буфер типа void*, но перед этим нужно было память через VirtualAlloc выделить - всю ночь на это потратил =(((

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, keng сказал:

Да, именно размер я и имел ввиду.

 

Чтобы размер еще меньше сделать, можно ассемблерными вставками пользоваться, где это реально может ускорить и уменьшить функцию, либо тогда писать все на ассемблере.

Ссылка на комментарий
Поделиться на другие сайты

6 minutes ago, partoftheworlD said:

 

Чтобы размер еще меньше сделать, можно ассемблерными вставками пользоваться, где это реально может ускорить и уменьшить функцию, либо тогда писать все на ассемблере.

Большинство современных компиляторов сделают код намного эффективнее, чем чисто на ассемблере, так что сразу на нем писать - дело вкуса отдельно взятых маньяков (вроде меня). Главное всякие CRT и CLR повыкидывать - и тогда что ассемблер, что С\С++ - один фиг бинарник будет маленький.

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, keng сказал:

Главное всякие CRT и CLR повыкидывать

А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я  так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было

Изменено пользователем helldrg
Ссылка на комментарий
Поделиться на другие сайты

48 minutes ago, helldrg said:

А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я  так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было

Там в свойствах проекта (говоря про MSVS) есть опция, как CRT подключается к бинарнику. Среди варивантов есть возможность подключать ее как внешнюю библиотеку. В этом случае она просто будет валяться в импорте и все.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, helldrg сказал:

А это делается для CRT, как говорил gmz, другую точку входа в программу надо? А CLR я  так понял отключена по умолчанию, потому что я в настройках поставил No Common Language RunTime Support ничего не изменилось, а до этого там просто пустое поле было

WC4qI1TiNYY.jpg

Вроде бы это.

Ссылка на комментарий
Поделиться на другие сайты

Я это и нашел =) Походу по дефолту если создаешь пустой проект, то clr не используется.

Про crt читать надо, что там подключать надо, что бы программа работала, попозже займусь этим =)

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, helldrg сказал:

Про crt читать надо, что там подключать надо, что бы программа работала, попозже займусь этим =)

если у тебя вс ниже 2015.3 - может не сработать

Ссылка на комментарий
Поделиться на другие сайты

Юзайте C++ Builder ;) Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX)

Изменено пользователем ШАРИК
Ссылка на комментарий
Поделиться на другие сайты

 

Цитата

 

Юзайте C++ Builder ;) Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX)

 

 

:DDD 
У нас когда началось программирование на с++, нам дали компы с этим бидером - в нем ничего не запускалось, постоянные ошибки были, а этот интерфейс просто ужас! Я хотел установить там VS но прав админа не было, тогда Dev c++ принес поставил и жизнь наладилась)
Но самый плохой редактор, это делфи, не важно что за фирма делала, не важно какой версии - я на эту тему могу целую статью юмористическую написать, как меня этот язык всю жизнь преследовал и как я пытался избежать его

 

Цитата

если у тебя вс ниже 2015.3 - может не сработать

У меня vs15.3 если просто поставить настройки как на скринах, понятное дело программа не скомпилируется там еще что то нужно, потом узнаю)

Ссылка на комментарий
Поделиться на другие сайты

21 минуты назад, ШАРИК сказал:

Юзайте C++ Builder ;) Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX)

после этих твиков из вс2015 можно выжать х32 2кб ехе (1 апи) :D

почти как на мингве.. а тот билдер такое может?

Изменено пользователем gmz
Ссылка на комментарий
Поделиться на другие сайты

Не много по умничаю :DDD а ты опцию такую применял?
/opt:nowin98

Ты наверно и так знаешь, но вдруг, все может быть, она выравнивание секций по 512 б делает, а по дефолту 4кб, но ты это уже где то писал про 4 =)

Изменено пользователем helldrg
Ссылка на комментарий
Поделиться на другие сайты

Вот я щас нагнал на Borland и вспомнил, что в VS с++ уже как лет 10 не могут добавить рефакторинг

Если я не прав поправьте меня, но нажимая Ctrl+R из года в год я вижу надпись, что рафакторинга нет в текущем выпуске

Ссылка на комментарий
Поделиться на другие сайты

58 minutes ago, ШАРИК said:

Юзайте C++ Builder ;) Удобно , никаких зависимостей , красивый дизайн , маленький вес (можно упаковать с помощью UPX)

Как бе, цпп билдер - это IDE, а не компилятор. Компилятор в этом пакете - clang. Я так могу сказать - юзайте vim. :D

Ссылка на комментарий
Поделиться на другие сайты

Цитата

Я так могу сказать - юзайте vim. :D

Батюшки, открыл в вики посмотреть, что это за зверь, описание вначале заинтриговало "Один из мощнейших редакторов". Посмотрел скрин, и захотелось, как в дестве подписывал книжки дописать "того тысячелетия" =)

Изменено пользователем helldrg
Ссылка на комментарий
Поделиться на другие сайты

16 minutes ago, helldrg said:

Батюшки, открыл в вики посмотреть, что это за зверь, описание вначале заинтриговало "Один из мощнейших редакторов". Посмотрел скрин, и захотелось, как в дестве подписывал книжки дописать "того тысячелетия" =)

Вот, а я без него жить не могу. Все, что можно сделать с текстом - делаю в нем. @Xipho, например, сидит на предшественнике - vi. :)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.