Сообщения

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)

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

Структурные исключения Windows

Стал ближе знакомиться с компилятором MSVC и программированием для Windows и узнал о такой виндовой фиче как "Структурные исключения". Если вкратце, то вот: Структурные исключения (SEH) - Асинхронные исключения, использовались для изначально для языка Си, обрабатывают такие ситуации, как деление на ноль, обращение к недоступному учаcтку памяти. С флагом /EHa, структурные исключения начинают конвертиться в типизированные исключения и могут ловиться в обычных try-catch (в доках не рекомендуют это делать). Без флага, ловятся специальной конструкцией __try{}__except{}__finally{}. https://docs.microsoft.com/en-us/cpp/cpp/exception-handling-differences?view=vs-2017 https://docs.microsoft.com/en-us/cpp/build/reference/eh-exception-handling-model?view=vs-2017 Vector Exception Handling - это способ обработки SEH, вызываются функции обработчики одна за другой при срабатывании структурного исключения, перед разворачиванием стека. https://docs.microsoft.com/en-us/windows/deskto