diff --git a/CMakeLists.txt b/CMakeLists.txt index 636bb9b..4a34e0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,7 +191,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") list(APPEND MAIN_HEADERS src/xdg-user-dir-lookup.h) elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") find_package(PkgConfig REQUIRED) - pkg_check_modules(LINUXPKGS REQUIRED gtk+-3.0) + pkg_check_modules(LINUXPKGS REQUIRED gtk+-3.0 libxfconf-0) include_directories(${LINUXPKGS_INCLUDE_DIRS}) add_compile_options(${LINUXPKGS_CFLAGS_OTHER}) list(APPEND PLATFORM_LIBRARIES ${LINUXPKGS_LDFLAGS}) @@ -454,7 +454,7 @@ find_package(Ruby 3.0 REQUIRED COMPONENTS Development) pkg_check_modules(VORBISFILE REQUIRED vorbisfile) find_package_handle_standard_args(pixman-1 DEFAULT_MSG PIXMAN_LIBRARY PIXMAN_INCLUDE_DIR) mark_as_advanced(PIXMAN_INCLUDE_DIR PIXMAN_LIBRARY) -find_package(OpenSSL CONFIG REQUIRED COMPONENTS Crypto) +find_package(OpenSSL REQUIRED COMPONENTS Crypto) pkg_check_modules(SIGC2 REQUIRED sigc++-2.0) target_compile_definitions(${PROJECT_NAME} PRIVATE ${DEFINES}) diff --git a/PEOPLES.md b/PEOPLES.md index 79f2f0e..ef97c49 100644 --- a/PEOPLES.md +++ b/PEOPLES.md @@ -4,7 +4,7 @@ * "Визя" * DepressedTWM * referr -* MeTLAaaaaa +* блинчек ## Artists @@ -19,15 +19,16 @@ ## Testers and helpers: * Rubik * Prime 223432 - -## Donators -* Kodu +* Алула(from Oneshot) +* Охотник +* Ouzly ## Telegram moderators * Creature_of_steel1 * Обси(ENG channel) * Freskovich * "Визя" +* Ouzly ## Matrix moderators * referr diff --git a/PORTING.md b/PORTING.md deleted file mode 100644 index 395b9c4..0000000 --- a/PORTING.md +++ /dev/null @@ -1,48 +0,0 @@ - -## Операционные системы | Operating Systems -| Платформа
Platform | Завершено
Done % | Состояние
State | -| :--- | :---: | :--- | -| Windows | 100% | Играбельно | -| Linux | 91% | В работе, но уже играбельно
TODO:
 \* Fix Wallpaper manager -| *BSD | 15% | не в работе | -| GNU/Hurd | 0% | не в работеm не хватает библеотек | -| Solaris/OpenSolaris | 1% | не в работе | -| RedoxOS | 0% | Не хватает библеотек | -| Android | 4% | В работе | -| PS Vita | 1% | не в работе | -| PSP | 1% | не в работе | -| Emspritein(web) | 11% | Нет хватает библеотек
 \* Нужно написать порт библеотеки libsigc++2
(А лучше 3 и переписать движок)
 \* Проблемы с компиляцией и зависимостями | -| HaikuOS | 1% | не в работе | -| DOS | 1% | Не в работе | -| Ubuntu Touch | 60% | Будет почти готово тогда когда Linux порт будет доведён до ума | -| Аврора ОС | 0% | не в работе | -| ChromeOS/ChromiumOS | 0.4% | Неизвестное | -| MacOS | 10.5% | Неизвестное, но работа ведётся | -| Kyronix | 10% | В работе сторонней командой разработчиков| -| PS2 | 40% | В работе сторонним человеком| - -## Окружения рабочего стола | Desktop Environments -| Окружение
Environments | Завершено
Done % | -| :--- | :---: | -| X11 standalone window managers | 0% | -| Wayland standalone window managers | 0% | -| LXDE | 100% | -| XFCE | 10% | -| GNOME | 10% | -| KDE | 10% | -| LXQT | 0% | -| MATE | 100% | -| Cinnamon | 10% | -| Budgie | 0% | -| Deepin | 10% | -| COSMIC | 0% | -| Pantheon | 0% | -| Enlightenment | 0% | -| Unity | 0% | -| Sugar Desktop | 0% | -| ROX Desktop | 0% | -| Fluxbox | 0% | -| Trinity | 0% | -| Fish | 0% | -| Lumina | 0% | -| IceWM | 0% | diff --git a/binding-mri/binding-mri.cpp b/binding-mri/binding-mri.cpp index d484746..7b7b5f0 100644 --- a/binding-mri/binding-mri.cpp +++ b/binding-mri/binding-mri.cpp @@ -398,7 +398,7 @@ static void runCustomScript(const std::string &filename){ std::string scriptData; if (!readFileSDL(filename.c_str(), scriptData)){ - crash(Exception::NoFileError, false, "Unable to open %s", filename); + crash(Exception::NoFileError, false, "Unable to open %s", filename.c_str()); return; } @@ -430,7 +430,7 @@ static void runRMXPScripts(BacktraceData &btData){ try{ scriptArray = kernelLoadDataInt(scriptPack.c_str(), false); }catch (const Exception &e){ - crash(Exception::IOError, false ,"Failed to read script data: %s", e.msg); + crash(Exception::IOError, false, "Failed to read script data: %s", e.msg.c_str()); return; } diff --git a/binding-mri/binding-util.h b/binding-mri/binding-util.h index 8964139..d549bc1 100644 --- a/binding-mri/binding-util.h +++ b/binding-mri/binding-util.h @@ -26,6 +26,7 @@ //костыль ебаный сука #undef snprintf #undef inline +#undef close #include "exception.h" diff --git a/binding-mri/journal-binding.cpp b/binding-mri/journal-binding.cpp index 0f84e1a..ce91ace 100644 --- a/binding-mri/journal-binding.cpp +++ b/binding-mri/journal-binding.cpp @@ -19,7 +19,7 @@ #include #include #include - #ifdef OS_LINUX + #ifdef __linux__ #include #endif #include @@ -164,7 +164,7 @@ void journalBindingInit(){ mutex = SDL_CreateMutex(); SDL_memset((char*)lang_buffer, 0, BUFFER_SIZE); lang_buffer[0] = '_'; -#if defined __linux +#ifdef unix_like mkfifo(PIPE_PATH.c_str(), 0666); atexit(cleanup_pipe); #endif diff --git a/binding-mri/niko-binding.cpp b/binding-mri/niko-binding.cpp index ec8e169..33e0d8e 100644 --- a/binding-mri/niko-binding.cpp +++ b/binding-mri/niko-binding.cpp @@ -19,7 +19,7 @@ #include #include #include - #ifdef OS_LINUX + #ifdef __linux__ #include #endif #include diff --git a/binding-mri/screen-binding.cpp b/binding-mri/screen-binding.cpp index 92c2551..cbcd18e 100644 --- a/binding-mri/screen-binding.cpp +++ b/binding-mri/screen-binding.cpp @@ -6,6 +6,10 @@ #include "sharedstate.h" #include "pipe.h" +#if defined __FreeBSD__ || defined __DragonFly__ +#include +#endif + static Pipe ipc; static void start(){ @@ -29,10 +33,19 @@ static void start(){ #else #if defined unix_like char path[PATH_MAX]; - ssize_t len = readlink("/proc/self/exe", path, PATH_MAX); - if (len == -1) - rb_raise(rb_eRuntimeError, "Cannot determine path of running executable"); - std::string exename = std::string(path, len); + std::string exename; + #if defined __FreeBSD__ || defined __DragonFly__ + int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1}; + size_t size = sizeof(path); + if (sysctl(mib, 4, path, &size, NULL, 0) != 0) + rb_raise(rb_eRuntimeError, "Cannot determine path of running executable"); + exename = std::string(path); + #else + ssize_t len = readlink("/proc/self/exe", path, PATH_MAX); + if (len == -1) + rb_raise(rb_eRuntimeError, "Cannot determine path of running executable"); + exename = std::string(path, len); + #endif #else #endif diff --git a/src/main.cpp b/src/main.cpp index 1cc9657..b7f7036 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -284,7 +284,7 @@ int main(int argc, char *argv[]){ if (!conf.gameFolder.empty()){ if (chdir(conf.gameFolder.c_str()) != 0){ - crash(Exception::SDLError, false, "Unable to switch into gameFolder %s", conf.gameFolder); + crash(Exception::SDLError, false, "Unable to switch into gameFolder %s", conf.gameFolder.c_str()); return 0; } } diff --git a/src/meow.cpp b/src/meow.cpp index 35caba2..f6eea92 100644 --- a/src/meow.cpp +++ b/src/meow.cpp @@ -24,6 +24,9 @@ #include #undef vsnprintf #undef snprintf +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) || defined(__NetBSD__) +#define BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED +#endif #include #include #include diff --git a/src/modloader.cpp b/src/modloader.cpp index 9507b56..17d488f 100644 --- a/src/modloader.cpp +++ b/src/modloader.cpp @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/src/xdg-user-dir-lookup.c b/src/xdg-user-dir-lookup.c index 85e7df1..ebf99f8 100644 --- a/src/xdg-user-dir-lookup.c +++ b/src/xdg-user-dir-lookup.c @@ -27,6 +27,7 @@ #include "xdg-user-dir-lookup.h" +#include #include #include /**