src/ui/manager.cpp:46:2: warning: delete called on 'UIElement' that has virtual
functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
delete el;
Всем привет, зашел вот в стим, и увидел что там есть Krita, и там она стоит 899р, и Lifetime Upgrades стоит 1899р. Зашел на сайт krita.org и ничего такого не нашел там, я запутался.
Очевидно что и код, и структура мягко говоря не очень, решил переоформить все, сделать сборку через cmake итд. И так как хочется все красиво сделать, хотелось бы совета у сообщества.
Сейчас начал новую структуру накидывать и получилось как-то так:
Решил начать с этого, как лучше все это по папкам распихать, думал все инклуды с glm перенести в math/main.h но может не лучшее решение. Так же думал все инклуды из std вынести в какойнить файл, например в system/main.h. Хотелось бы услышать ваши идеи и предпочтения.
Пишу вот редактор уровней, Tiled мне оказалось мало, решил сделать что-то более сложное, чтобы можно было расставлять объекты как угодно, возможность создавать тайловые карты, менять топологию объектов (например чтобы сделать красивый блоб), назначать классы, менять ограничивающие полигоны, настраивать анимацию, ну и базовые деформации (хотя возможно их и не будет), так же хотелось сделать обрезание объектов, если слишком большой, чтобы не рисовать 2 разные текстуры, можно просто обрезать топологию.
Да дизайн похож на блендеровский, и не с проста, я ориентировался на бледеровский интерфейс, иконки тоже от туда взяты, со временем конечно придется их перерисовать. Так же позаимствовал панельку сверху тоже из идею нового UI для блендера. К сожалению толком своего ничего придумать не могу, а программа нужна, ну и интересно было ее поделать и реализовать интерфейс полностью на OpenGL.
Сейчас программа активно используется мною, для создани игры на Haxe, написал простой фреймворк для загрузки карт созданных в этом редакторе для него, в будущем будет еще и C++. Для меня программа оказалась очень даже полезной )
Возможно ли это? я почти доделал программу, и хочу выпускать ее под лицензией GPL, и делаю другой проект, и мне необходимо, чтобы этот коммерческий проект мог поставляться вместе с первым GPL'овским проектом. Может просто в установщик сделать пункт : «Установить программу с GPL лицензией?», и если выбран этот пункт, то выкачивать из интернета установщик программы GPL и запускать, и вроде как бы и не нарушаю тогда условия GPL, или все таки нарушаю?
Всем привет, как грамотно реализовать Undo и Redo в программе, где много различных параметров меняется, я думал отслеживать каждый шаг пользователя и записывать в историю, для каждого пункта истории сделать функции Undo и Redo, но тут получается для каждого определенного действия придется наследовать общий класс какой-то, например для удаления объекта, наследуем класс BaseHistoryElement и переписываем функции Undo, Redo в Undo меняем флаг deleted = false; ну и для Redo собственно наоборот. Но с таким подходом очень много кода выйдет для каждого действия, вот и интересно, может есть какой-то более правильный подход?
Вот купил UE4, решил попробовать скомпилировать под Linux редактор, собственно успешно! Первый раз не получилось скомпилировать, выдавало ошибку, использовал clang 3.4, решил попробовать использовать clang 3.5, не ожидал что заработает, но заработало )) В принципе работает нормально, правда интефейс глючит, а вот сама графика работает довольно быстро.
Всем привет, случайно отформатировал диск на котором операционная система, отформатировал быстро, т.е. удалил только таблицу, можно ли полностью все восстановить, и чтобы операционка тоже заработала?
Всем привет, при компиляции с флагом -O0 программа работает идеально, стоит добавить -O1 функция проверки пересечения 2х прямых перестает работать, можно ли отключить оптимизации для этой функции? Код функции:
#define EPS 0.00001f
bool Intersect (glm::vec2 A, glm::vec2 B) {
glm::vec2 p1 = v1->Pos;
glm::vec2 p2 = v2->Pos;
//
float rTop = (A.y-p1.y)*(p2.x-p1.x)-(A.x-p1.x)*(p2.y-p1.y);
float sTop = (A.y-p1.y)*(B.x-A.x)-(A.x-p1.x)*(B.y-A.y);
float rBot = (B.x-A.x)*(p2.y-p1.y)-(B.y-A.y)*(p2.x-p1.x);
float sBot = (B.x-A.x)*(p2.y-p1.y)-(B.y-A.y)*(p2.x-p1.x);
//
if (rBot == 0 || sBot == 0)
return false;
//
float r = rTop/rBot;
float s = sTop/sBot;
if (r > EPS && r < 1.0f-EPS && s > EPS && s < 1.0f-EPS)
return true;
return false;
}
есть еще другая функция, через скалярное произведение векторов, но для моей задачи она иногда работает не точно, а эта функция всегда хорошо определяла, есть ли пересечение, или нету.
обязательно нужна эргономичная клавиатура, вот не знаю, на сколько будет удобная первая, боюсь ее брать, а на второй уже работал, и в принципе привыкнуть можно к ней.
Всем привет, возникла такая проблема, создал форум на phpbb3, но там оказалась проблема со смайликами, только один смайл парсится, остальные остаются в виде кода смайла, после перехода на новую строку смайлик снова парсится. Выяснил что ошибка где-то в этой функции, но т.к. я с регулярными выражениями умею работать только в текстовом редакторе, для поиска, то нужна ваша помощь:
/**
* Parse Smilies
*/
function smilies($max_smilies = 0)
{
global $db, $user;
static $match;
static $replace;
// See if the static arrays have already been filled on an earlier invocation
if (!is_array($match))
{
$match = $replace = array();
// NOTE: obtain_* function? chaching the table contents?
// For now setting the ttl to 10 minutes
switch ($db->sql_layer)
{
case 'mssql':
case 'mssql_odbc':
case 'mssqlnative':
$sql = 'SELECT *
FROM ' . SMILIES_TABLE . '
ORDER BY LEN(code) DESC';
break;
case 'firebird':
$sql = 'SELECT *
FROM ' . SMILIES_TABLE . '
ORDER BY CHAR_LENGTH(code) DESC';
break;
// LENGTH supported by MySQL, IBM DB2, Oracle and Access for sure...
default:
$sql = 'SELECT *
FROM ' . SMILIES_TABLE . '
ORDER BY LENGTH(code) DESC';
break;
}
$result = $db->sql_query($sql, 600);
while ($row = $db->sql_fetchrow($result))
{
if (empty($row['code']))
{
continue;
}
// (assertion)
$match[] = preg_quote($row['code'], '#');
$replace[] = '<!-- s' . $row['code'] . ' --><img src="{SMILIES_PATH}/' . $row['smiley_url'] . '" alt="' . $row['code'] . '" title="' . $row['emotion'] . '" /><!-- s' . $row['code'] . ' -->';
}
$db->sql_freeresult($result);
}
if (sizeof($match))
{
if ($max_smilies)
{
// 'u' modifier has been added to correctly parse smilies within unicode strings
// For details: http://tracker.phpbb.com/browse/PHPBB3-10117
$num_matches = preg_match_all('#(?<=^|[\n .])(?:' . implode('|', $match) . ')(?![^<>]*>)#u', $this->message, $matches);
unset($matches);
if ($num_matches !== false && $num_matches > $max_smilies)
{
$this->warn_msg[] = sprintf($user->lang['TOO_MANY_SMILIES'], $max_smilies);
return;
}
}
// Make sure the delimiter # is added in front and at the end of every element within $match
// 'u' modifier has been added to correctly parse smilies within unicode strings
// For details: http://tracker.phpbb.com/browse/PHPBB3-10117
$this->message = trim(preg_replace(explode(chr(0), '#(?<=^|[\n .])' . implode('(?![^<>]*>)#u' . chr(0) . '#(?<=^|[\n .])', $match) . '(?![^<>]*>)#u'), $replace, $this->message));
}
}
Всем привет, ради интереса решил написать свой язык программирования, почти доделал, вот теперь решил сделать менеджер памяти для выделения памяти динамическим массивам и классам. Я написал пулловый аллокатор, но не совсем понятно как правильно пользоваться им, у меня есть буфер, в который записываются данные, и у каждого буфера размер чанка фиксированный, я думал сделать размер одного буфера равной размеру одной страницы, но не уверен что так правильно, ну и в зависимости от того, сколько нужно памяти, выбирается нужный буфер. Размеры чанков хочу менять по логарифмической шкале. Ну так вот вопрос в том, правильно ли я все понял?
Всем привет, давно читал статью на хабре про какую-то новую каскадную таблицу стилей, тот же css только с макросами, хочу вот опробовать его, а название забыл.
Всем привет, читал где-то что можно использовать С++ для написания мобильных приложений, вот вопросы которые мне интересны:
на iOS так же можно писать на С++?
если да то как сильно код будет отличаться от кода для андроида?
какие библиотеки стоит использовать для мобилок, помимо OpenGL ES, например для воспроизведения звука, для кроссплатформенного управления мултитачем, для физики?
ну и самое главное, как скомпилировать для андроид и для iOS приложение?
Подскажите пожалуйста, могу ли я распространять свой софт под лицензией FreeBSD, если в нем присутствуют некоторые бинарные файлы, которые распространяются под лицензией GPL?
и еще такой вопрос, могу ли я некоторые иконки взять из Blender, если опять же моя программа будет распространяться под лицензией FreeBSD?
Собственно не кубик )) В светлом блендере работать очень приятно. Перехожу с Maya, и для себя открыл, что в блендере даже удобнее работать, если настроить под себя, а инструменты для моделирования вообще очень понравились, в Maya 8.5 таких не было (не знаю как на счет Maya 2014). И открыл для себя отличный плагин F2: http://blenderartists.org/forum/showthread.php?278787-F2
Надеюсь инструменты для анимации меня так же порадуют :)
Всем привет, хочу попробовать писать свою музыку, какую для этого программу лучше использовать, раньше никогда не пробовал писать музыку, только на гитаре что-то могу по сочинять, так что считай с чистого листа все начну )
ну и где можно найти хорошие лупы и различные инструменты