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

Set440

Граждане
  • Постов

    12
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Set440

  1. Патчи резиста магии нужно добавить в мастер, потому-что резист вообще неправильный и невозможный:

     

    1.Отражает действия алтарей и полезные спеллы...

    2.Сила воли и Удача тупо ни на что не влияют: Впиши 2000000000 удачи, и 65000 Воли — нифига, вообще не действует

     

    Тоесть, я бретона с атронахом создаю, чтоб мне маги давали ляща, и чтоб сопротивляться алтарям, ага...

  2. И это конечно не поможет тем единицам, что падают тупо всегда... потому-что нужна быстрая реакция после загрузки, и готовность в тех местах где они всегда падают...

     

    Это работает когда они падают рандомно, и очень редко.

  3.  

    That's not good. The code is trying to do using ::signbit; and the symbol isn't in the global namespace, it is in std:: namespace. I presume likewise with the others (I didn't chase them down). – Eljay

     

    Будет ли толк, если везде переписать using?

     

    ====

    В общем, как я понял, openmw-deps-mac нужно адаптировать под каталину

  4.  

    Спасибо, поправил, залинковал... теперь жестоко ругается на математику:

    build make
    [  0%] Building CXX object extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videoplayer.cpp.o
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    In file included from /Users/seth/openmw-deps/include/osg/Math:17:
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:314:9: error:
          no member named 'signbit' in the global namespace
    using ::signbit;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:315:9: error:
          no member named 'fpclassify' in the global namespace
    using ::fpclassify;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:316:9: error:
          no member named 'isfinite' in the global namespace; did you mean 'finite'?
    using ::isfinite;
          ~~^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:749:12: note:
          'finite' declared here
    extern int finite(double)
               ^
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    In file included from /Users/seth/openmw-deps/include/osg/Math:17:
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:317:9: error:
          no member named 'isinf' in the global namespace
    using ::isinf;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:318:9: error:
          no member named 'isnan' in the global namespace
    using ::isnan;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:319:9: error:
          no member named 'isnormal' in the global namespace
    using ::isnormal;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:320:7: error:
          no member named 'isgreater' in the global namespace; did you mean
          '::std::greater'?
    using ::isgreater;
          ^~
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/functional:728:29: note:
          '::std::greater' declared here
    struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool>
                                ^
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    In file included from /Users/seth/openmw-deps/include/osg/Math:17:
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:321:7: error:
          no member named 'isgreaterequal' in the global namespace; did you mean
          '::std::greater_equal'?
    using ::isgreaterequal;
          ^~
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/functional:757:29: note:
          '::std::greater_equal' declared here
    struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool>
                                ^
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    In file included from /Users/seth/openmw-deps/include/osg/Math:17:
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:322:9: error:
          no member named 'isless' in the global namespace
    using ::isless;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:323:9: error:
          no member named 'islessequal' in the global namespace
    using ::islessequal;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:324:9: error:
          no member named 'islessgreater' in the global namespace
    using ::islessgreater;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:325:9: error:
          no member named 'isunordered' in the global namespace
    using ::isunordered;
          ~~^
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:326:9: error:
          no member named 'isunordered' in the global namespace
    using ::isunordered;
          ~~^
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    /Users/seth/openmw-deps/include/osg/Math:114:46: error: expected unqualified-id
        inline bool isNaN(float v) { return std::isnan(v); }
                                                 ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:165:5: note:
          expanded from macro 'isnan'
        ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
        ^
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:11:
    In file included from /Users/seth/openmw-deps/include/osg/Texture2D:17:
    In file included from /Users/seth/openmw-deps/include/osg/Texture:18:
    In file included from /Users/seth/openmw-deps/include/osg/Image:17:
    In file included from /Users/seth/openmw-deps/include/osg/BufferObject:21:
    In file included from /Users/seth/openmw-deps/include/osg/buffered_value:17:
    In file included from /Users/seth/openmw-deps/include/osg/DisplaySettings:18:
    In file included from /Users/seth/openmw-deps/include/osg/Matrixd:18:
    In file included from /Users/seth/openmw-deps/include/osg/Vec3d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2d:17:
    In file included from /Users/seth/openmw-deps/include/osg/Vec2f:17:
    /Users/seth/openmw-deps/include/osg/Math:115:47: error: expected unqualified-id
        inline bool isNaN(double v) { return std::isnan(v); }
                                                  ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:165:5: note:
          expanded from macro 'isnan'
        ( sizeof(x) == sizeof(float)  ? __inline_isnanf((float)(x))          \
        ^
    15 errors generated.
    make[2]: *** [extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videoplayer.cpp.o] Error 1
    make[1]: *** [extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/all] Error 2
    make: *** [all] Error 2
    
  5. Я очень хочу наложить на сорцы патчи резиста магии (он имбалансный), но мне потом надо собрать движок.

     

    Я поставил все зависимости: Пакет Qt 5.5.1 (не из brew), XCode+CommandLineTools, все сборочные утилиты из HomeBrew

     

    Выкачал OpenMW-deps, поправил пути в CMake Qt (на OpenGL+AGL)

     

    CMake отработал правильно:

    export PATH_TO_QT_INSTALLATION="/Users/seth/Qt5.5.1/5.5/clang_64/lib/cmake/"
    export PATH_TO_DEPENDENCIES_DIR=/Users/seth/openmw-deps
    
    cmake \
        -D CMAKE_PREFIX_PATH="$PATH_TO_DEPENDENCIES_DIR;$PATH_TO_QT_INSTALLATION" \
        -D SDL2_INCLUDE_DIR="$PATH_TO_DEPENDENCIES_DIR/include/SDL2" \
        -D OPENGL_INCLUDE_DIR="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers" \
        -D OPENAL_INCLUDE_DIR="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Versions/A/Headers" \
        -D CMAKE_OSX_SYSROOT="$MAC_OS_VERSION" \
        -D DESIRED_QT_VERSION=5 \
        -D CMAKE_BUILD_TYPE=Debug \
        -D BUILD_MYGUI_PLUGIN=FALSE \
        -G"Unix Makefiles" \
        ../openmw/
    

    Но Make завершается с ошибкой, так-как не может найти string.h в XCode-CommandLineTools

    build make
    [  0%] Building CXX object extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videoplayer.cpp.o
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:1:
    In file included from /Users/seth/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.hpp:6:
    In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:505:
    In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string_view:176:
    In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__string:57:
    In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:642:
    In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cstring:61:
    /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string.h:61:15: fatal error:
          'string.h' file not found
    #include_next <string.h>
                  ^~~~~~~~~~
    1 error generated.
    make[2]: *** [extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videoplayer.cpp.o] Error 1
    make[1]: *** [extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/all] Error 2
    make: *** [all] Error 2
    

    Может кто подскажет, где копать?

  6. Я использую только коллизии по одной причине: Когда трогаешь неписей — их имена вшиваются в плагин, а я очень хочу чтобы фикс был совместим со всеми локализациями.

     

    Не важно, русские, немцы, американцы — все имеют право использовать фикс, с обратной совместимостью, без адаптаций.

     

    ====

    Вот если-бы такой код в виде патча для движка... но разработчики говорят: Приплыли! Не будем мы непонятный баг латать костылём, это мешает отладке!

  7. Достаточно сравнивать с заданной в КСе координатой Z

     

    Это если непись не ходит. Кроме-того, можно разозлить и стоячих NPC, чтоб они бегали за тобой — в этом случае непись сместится по Z в зависимости от поверхности. Нужно читать из сейва (если доступно).

     

    И ещё: суть падения в том, что либо непись стоит на статике, либо не стоит — третьего варианта нет.

     

    В редакторе он ПОДВЕШЕН НАД своим местом, тоесть при постановке он УЖЕ СМЕЩАЕТСЯ.

    Потому нужно сравнивать РАЗНИЦА > N

  8. Такой код лучше писать в виде кастомного патча. (Я у Akortunov"а хочу спросить)

     

    Только я как всегда в пролёте с патчами: мне нужен OpenMW под macOS, боюсь что не смогу собрать после патчей...

     

    =====

    Суть треда: Хлаалу и Телвани сражаются за Одирниран.

  9. Достаточно, пока авторы опенМВ не придумают таблетку, дать каждому "падлецу" НПЦ скрипт, который возвращает коррдинату Z при ее расхождении с первоначальным значением.

     

    И такой костыль просто не обязателен :)

     

    Это очень крутая идея!

    Смотри:

    Если ((НПЦ в воде или стоит на земле) и (оригинальныйZ - текущийZ) > N): ra;

     

    Но с таким подходом нужно оригинальныйZ брать из сейва (если нет — из мастера), и выполнять этот код единожды, при инициализации

  10. На ОпенМВ есть точно 2 таких непися, которые падают АБСОЛЮТНО ВСЕГДА (даже когда их восстанавливает ra).

    Их может быть максимум 10...

     

    Не всех надо подпирать, большинство достаточно подвинуть на пол-метра, на ровную плоскость.

     

    ====

    Все остальные не падают вообще, либо очень рандомно в самых крайних случаях — таких лечит ra по ситуации (и вероятность того, что они упадут снова крайне мала)

  11. Все пользователи МОРРОШИНД знают наверно такую проблему, что неписи проваливаются сквозь статики даже на ОпенМВ.

     

    Мне удалось выяснить подробности о причинах таких провалов.

     

    ПОДРОБНОСТИ:

     

    Во-первых: давайте определимся, что неписи не падают на землю или в воду, а СТАВЯТСЯ туда инициализацией. Например погонщик из Гнисиса при каждом "падении" с высоты имеет полное здоровье, а лодочница из Тель Аруна стоит под водой на земле... — всё это невозможно при ФИЗИЧЕСКОМ падении. Тоесть, баг никак не относится к физическому движку ВООБЩЕ.

     

    ПРИЧИНЫ ПАДЕНИЙ:

     

    Непись стоит (или инициализирован в редакторе) на неровности сложного меша, или на стыках мешей.

     

    РЕШЕНИЕ ПРОБЛЕМЫ:

     

    Неписей нужно передвинуть с неровности на горизонтальную плоскость, дальше от стыков (это будет работать с неписями из Вивека, и дядей из Гнисиса)

     

    Тех, что передвинуть невозможно — подпереть невидимой куб-коллизией (тётю из Тель Аруна двигать некуда)

    Куб-коллизия всегда находится в секции АКТИВАТОРЫ (имеет высший приоритет), а поскольку она низкополигональная, плоская и не включена в списки отрисовки — срабатывает моментально быстрее всех, и очень надёжно.

     

    БЛАГОДАРНОСТИ:

     

    В расследовании помогал Scarab-Phoenix

     

    PS:

     

    Баг связан со сложной математикой вычисления границ мешей и акторов — создатели движка его могут пофиксить ОЧЕНЬ НЕ СКОРО. К счастью, он довольно просто чинится вот-таким костылём. Потому я хочу попросить команду GFM обратить внимание на мой пост.

     

    Нам очень повезло, что баг очень предсказуем и логичен, и ведёт себя скорее как фича, нежели что-то паранормальное.

     

    https://drive.google.com/open?id=1-E2z-lYB1flXxVTaZPezlWp8ber0kOFw — Фиксит погонщика в Гнисисе и лодочницу из Тель Аруна — они падают при каждом переходе локаций.

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