Сообщения

Движок моей мечты на Си

 Я уже давно болею идеей собственного движка. В этом нет какого-либо практического смысла. Просто я получаю удовольствие от подобной разработки. Последнюю неделю мысли про создание движка вернулись и я не знаю как от них избавиться, так как это вредит разработке моего основного проекта, RTS на Unity3d. Времени браться за разработку у меня на данный момент к сожалению нет. Поэтому я просто запишу ключевые идеи по ключевым моментам. Буду постепенно расширять статью по мере увеличения количества идей. 1. Технология Я хотел бы использоваться для разработки Си, так как С++ склоняет разработчиков к оверинженерингу. Си же напротив склоняет к простым решениям. Я хочу использовать C11 + расширения GNU (--std=gnu11), эту пару поддерживают самые распространенные компиляторы gcc и clang. Но, увы msvc не поддерживает требующиеся расширения GNU. Но, поддержка clang в Visual Studio улучшается с каждой версией, так что на Windows тоже можно использовать clang. Из GNU мне нужны следующие вещи: #pragma

Siege Up! Editor (beta)

Изображение
Check out video with editor demonstration. New version of the game is currently in BETA TEST ! Download it here: https://abuksigun.itch.io/siegeup PLEASE, READ INSTRUCTIONS CAREFULLY! If you have any questions, ask here  https://discord.gg/zhszmspu New features: Available for PC Updated editor (Put walls, units, buildings, create campaign, make own game modes) Multiplayer (up to 8 players, play via Wi-Fi) Transport ships to move your soldiers across the ocean! New buildings and units  Build across the map, capture new lands and gather resources!

Как настроить iptables

Я новичок, так что не гарантирую что все что написано ниже - правильно. Разрешить порт можно вот так: iptable -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT На Линуксе порты до 1024 может открывать только рут, так что порт 80 нужно перенаправить на 8080, например sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8080 Посмотреть настройки можно командами: iptable -L или iptable -S в чем разница я хз, гуглить! Для сохранения настроек нужно не забыть (для Убунты): sudo netfilter-persistent save Сохраняется, по сути последовательность команд для настройки. Посмотреть их для ip4 можно в файле /etc/iptables/rules.v4 Не знаю, можно ли менять этот файл на 

Unity3d Terrain shader template

Просто шаблон шейдера террайна

Header-only CMake библиотека

Оказалось в CMake очень легко сделать header-only либу cmake_minimum_required(VERSION 2.8.8) set(PROJECT_NAME MojitoReflection) project(${PROJECT_NAME})  # Ключевой момент. add_library без исходников и парметром INTERFACE add_library(${PROJECT_NAME} INTERFACE)  # Следующая строчка не обязательна, нужно только чтоб видеть исходники в проекте IDE file(GLOB PROJECT_SOURCES "${PROJECT_SOURCE_DIR}/src/*.hpp" "${PROJECT_SOURCE_DIR}/src/*.cpp")  # Следующая строчка не обязательна, нужно только чтоб видеть исходники в проекте IDE target_sources(${PROJECT_NAME} INTERFACE ${PROJECT_SOURCES})  # Указываем путь к заголовочникам target_include_directories(${PROJECT_NAME} INTERFACE ./src/) Подключаем: add_subdirectory("../reflection" "MojitoReflection/") target_link_libraries(${PROJECT_NAME} MojitoReflection)

QT отключает предупреждения в Visual Studio

Необычно, но Qt по дефолту вырубает целый список предупрждений в MSVC. Происходит это безобразие в qglobal.h QT_WARNING_DISABLE_MSVC(4251) /* class 'type' needs to have dll-interface to be used by clients of class 'type2' */ QT_WARNING_DISABLE_MSVC(4244) /* conversion from 'type1' to 'type2', possible loss of data */ QT_WARNING_DISABLE_MSVC(4275) /* non - DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier' */ QT_WARNING_DISABLE_MSVC(4514) /* unreferenced inline function has been removed */ QT_WARNING_DISABLE_MSVC(4800) /* 'type' : forcing value to bool 'true' or 'false' (performance warning) */ QT_WARNING_DISABLE_MSVC(4097) /* typedef-name 'identifier1' used as synonym for class-name 'identifier2' */ QT_WARNING_DISABLE_MSVC(4706) /* assignment within conditional expression */ #    if _MSC_VER <= 1310 // MSVC 2003 QT_WARNING_DISABLE_MSVC(4786) /* &

Нюансы UWP (Windows Universal Platform)

Очередная заметка по платформе, с которой едва ли придется часто пересекаться, но пересекаться точно придется.