From 19178eefcba12aca34b21bfccfcf53dba6bb15cb Mon Sep 17 00:00:00 2001 From: Docent27 Date: Fri, 5 Nov 2021 16:13:42 +0200 Subject: [PATCH] Version bump to OpenMW-Android 0.47 Release --- app/src/main/AndroidManifest.xml | 4 +- app/src/main/res/values/strings.xml | 442 +++++++++--------- app/src/main/res/xml/settings.xml | 139 +++--- buildscripts/CMakeLists.txt | 56 ++- buildscripts/build.sh | 2 +- .../cmakelist_backups/CMakeLists112.txt | 44 +- .../openmw/{gamma.patch => 00-gamma.patch} | 0 ...=> 01-loadingscreen-disable-for-now.patch} | 0 ...always-show-mouse-when-possible-pat.patch} | 0 ...-context-being-lost-on-app-minimize.patch} | 0 ...ve-user-settings-file-when-ok-is-pr.patch} | 0 ...tringops-use-boost-format-instead-o.patch} | 0 .../{fix-build.patch => 06-fix-build.patch} | 0 ...ygui.patch => 07-disable-logs-mygui.patch} | 0 ...nmw.patch => 08-minimal-logs-openmw.patch} | 0 .../{0017-bigfont.patch => 09-bigfont.patch} | 0 .../{0018-highp.patch => 10-highp.patch} | 0 ...selector.patch => 11-mygui-selector.patch} | 0 ...selector.patch => 12-water-selector.patch} | 0 ...s-selector.patch => 13-vfs-selector.patch} | 0 .../{227.patch => 14-terrain_occlusion.patch} | 0 .../patches/openmw/15-bullet-collision.patch | 125 +++++ .../openmw/{psa.patch => 16-psa.patch} | 0 .../{0019-shadows.patch => shadows.patch} | 0 24 files changed, 473 insertions(+), 339 deletions(-) rename buildscripts/patches/openmw/{gamma.patch => 00-gamma.patch} (100%) rename buildscripts/patches/openmw/{0001-loadingscreen-disable-for-now.patch => 01-loadingscreen-disable-for-now.patch} (100%) rename buildscripts/patches/openmw/{0009-windowmanagerimp-always-show-mouse-when-possible-pat.patch => 02-windowmanagerimp-always-show-mouse-when-possible-pat.patch} (100%) rename buildscripts/patches/openmw/{0010-android-fix-context-being-lost-on-app-minimize.patch => 03-android-fix-context-being-lost-on-app-minimize.patch} (100%) rename buildscripts/patches/openmw/{0014-settingswindow-save-user-settings-file-when-ok-is-pr.patch => 04-settingswindow-save-user-settings-file-when-ok-is-pr.patch} (100%) rename buildscripts/patches/openmw/{0012-components-misc-stringops-use-boost-format-instead-o.patch => 05-components-misc-stringops-use-boost-format-instead-o.patch} (100%) rename buildscripts/patches/openmw/{fix-build.patch => 06-fix-build.patch} (100%) rename buildscripts/patches/openmw/{0015-disable-logs-mygui.patch => 07-disable-logs-mygui.patch} (100%) rename buildscripts/patches/openmw/{0016-minimal-logs-openmw.patch => 08-minimal-logs-openmw.patch} (100%) rename buildscripts/patches/openmw/{0017-bigfont.patch => 09-bigfont.patch} (100%) rename buildscripts/patches/openmw/{0018-highp.patch => 10-highp.patch} (100%) rename buildscripts/patches/openmw/{0019-mygui-selector.patch => 11-mygui-selector.patch} (100%) rename buildscripts/patches/openmw/{0020-water-selector.patch => 12-water-selector.patch} (100%) rename buildscripts/patches/openmw/{0021-vfs-selector.patch => 13-vfs-selector.patch} (100%) rename buildscripts/patches/openmw/{227.patch => 14-terrain_occlusion.patch} (100%) create mode 100644 buildscripts/patches/openmw/15-bullet-collision.patch rename buildscripts/patches/openmw/{psa.patch => 16-psa.patch} (100%) rename buildscripts/patches/openmw/{0019-shadows.patch => shadows.patch} (100%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c62467443..761396085 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,13 +12,13 @@ android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" - android:label="TES III - Morrowind" + android:label="OpenMW" android:theme="@style/MyTheme" tools:ignore="GoogleAppIndexingWarning"> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0d1f6a7c8..825716e8a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,11 +1,11 @@ - Tes III Morrowind + OpenMW - Европейский - Русский - Английский + European + Russian + English @@ -32,98 +32,98 @@ halfResolution - Настройки + Main settings Start game Navigation View Navigation View Closed - Файлы игры - Настройка игровых механик - Шейдеры - Пиксельное освещение - Радиальный туман - Гироскоп - Растянуть фон на весь экран - Подсветка неактуальных диалогов - Показать бонус к урону стрел и болтов - Подробная информацию об оружии - Показать вероятность успеха зачарования - Всегда лучший удар - Reflected absorb не имеют эффекта. - Показывать продолжительность заклинания - Запрет торговцам одевать купленное - Зачарованное оружие без магического флага - Союзники сразу атакуют врагов - Грабёж во время анимации смерти - Ребаланс цен камней душ - Дополнительные анимации - Торговец помнит отношение к вам - Кобура для оружия (мод) - Кобура для щитов (мод) - Необычная аммуниция обходит сопротевление - Анимация использования для зачаров - Нормализация скорости расс - Повреждение усталости валит с ног - Тело ведет себя реалистично - Плавное движение - NPC стараются не сталкиваться - NPC уступают дорогу - Более реалистичное плавание - Навыки на основе атрибутов - Кража у сбитых с ног NPC - Сбор ростительности (мод) - Все NPC умеют плавать - Шейдерная вода - Включить приломление - Башкотряс - Камера от плеча - Переключать плечи когда препятствие - Вращение камеры когда бездействие - Повернуть камеру в сторону взгляда - Настройки камеры - Субтитры - Всегда скрытность - Отсекать мелкие обьекты - Автоматически использовать PBR текстуры - Применить освещение к отражениям - Автосохранения во время отдыха - Отображать наигранное время - Настройки сохранения игры - Зажимное освещение - Параметры травы - Включить траву - Графическая библиотека + Game files + Game mechanics + Shaders + Force per pixel lighting + Radial fog + Gyroscope + Stretch the background to full screen + Color topic enable + Show projectile damage + Show melee info + Show enchant chance + Best attack + Classic reflected absorb spells behavior + Show effect duration + Prevent merchant equipping + Enchanted weapons are magical + Followers attack on sight + Can loot during death animation + Rebalance soul gem values + Use additional anim sources + Barter disposition change is permanent + Weapon sheathing + Shield sheathing + Only appropriate ammunition bypasses resistance + Use magic item animations + Normalise race speed + Uncapped damage fatigue + Turn to movement direction + Smooth movement + NPCs avoid collisions + NPCs give way + Swim upward correction + Trainers training skills based on base skill + Always allow stealing from knocked out actors + Graphic herbalism + Allow actors to follow over water surface + Enable water shader + Refraction + Head bobbing + View over shoulder + Auto switch shoulder + Preview if stand still + Deferred preview rotation + Camera settings + Subtitles + Toggle sneak + Small feature culling + Auto use normal/specular maps + Apply lighting to environment maps + Autosave + Timeplayed + Save game settings + Clamp lighting + Groundcover settings + Groundcover enable + Graphics library gles2 - Отладка - Графика - Командная строка - Переменные среды - Интерфейс - Гамма - Масштаб интерфейса + Debug settings + Graphic settings + Command line + Environment variables + Interface + Gamma + UI Scaling Auto (%1$.2f) - Экран всегда включен + The screen is always on Virtual touchpad sensitivity - Сброс конфигурационного файла + Reset configs Reset on-screen controls - Экранное управление - Убрать экранное управление - Настройки конфиг файла успешно сброшены до значений по умолчанию + On-screen controls + Hide screen controls + Config file settings have been successfully reset to default values Language settings - Язык игры + Game Language win1251 Alpha+ Alpha- Size+ Size- Reset to defaults - FPS физики игры - Разрешить запись в settings.cfg - Предзагрузка внешних сеток - Предзагрузка быстрых перемещений - Предзагрузка дверей - Предзагрузка экземпляров - Подкачка обьектов - Всегда бег + FPS physics + Allow writing to settings.cfg + Preload exterior grid + Preload fast travel + Preload doors + Preload instances + Object paging + Always run GLESv1 @@ -171,35 +171,35 @@ false Back - Разрешение экрана - Моды - О программе + Screen resolution + Mods + About About OMW - Моды - Моды ESM-ESP - Архивы BSA + Mods + Mods ESM-ESP + Archives BSA Error locating data files - Please select a directory which contains both the \"Morrowind.ini\" file and the \"Data Files\" directory. + Please select a directory which contains both the \"Morrowind.ini\" file and the \"Data Files\" directory No permissions - OMW needs storage permissions to locate and access Morrowind game files. Please grant this permission through settings. - Failure transforming the configuration file. Please ensure your \"Morrowind.ini\" is well-formed. + OMW needs storage permissions to locate and access Morrowind game files. Please grant this permission through settings + Failure transforming the configuration file. Please ensure your \"Morrowind.ini\" is well-formed Data files not found - You must copy Morrowind game files to your device and select the path under \"Game files\" before the game can be played. + You must copy Morrowind game files to your device and select the path under \"Game files\" before the game can be played Производительность No content files! - There are no content files enabled. Before the game can run, you must activate at least one plugin file from the \"Mods…\" menu. + There are no content files enabled. Before the game can run, you must activate at least one plugin file from the \"Mods…\" menu Proceed anyway Configure mods - Режим управления + Controls mode - Гибриный - Режим джойстика - Сенсорный + Hybrid + Joystick + Touch hybrid @@ -213,28 +213,28 @@ Privacy policy Report crashes automatically? - Would you like to enable automatic crash reporting?\nIf a crash occurs, some data about your device, configuration and installed mods will be automatically submitted to Bugsnag. You can find more information in the Privacy Policy.\nThis setting can be changed at any time from the menu. + Would you like to enable automatic crash reporting?\nIf a crash occurs, some data about your device, configuration and installed mods will be automatically submitted to Bugsnag. You can find more information in the Privacy Policy.\nThis setting can be changed at any time from the menu Please restart the application - You must restart the application for these settings to come into effect. + You must restart the application for these settings to come into effect Crash reporting How To Unable to open a URL You don\'t appear to have a web browser installed. Tried to open the following URL:\n\n%1$s - Включить Quick кнопки - Включить FN кнопки - Всегда отображать все иконки + Enable Quick buttons + Enable FN buttons + Always show top bar - Дальность видимости + Viewing distance 8192 - Ультра - Высокая - Средняя - Нормальная - Минимальная + Ultra + High + Medium + Normal + Low 81920 @@ -243,10 +243,10 @@ 8192 2048 - FPS ограничителя + Framerate limit 30 - Без ограничений + No limits 60 fps 30 fps @@ -255,38 +255,38 @@ 60 30 - Вертикальная синхронизация - Предзагрузка - Далёкий ландшафт - Полноэкранное сглаживание + VSync + Preloading + Distant terrain + Antialiasing 0 - 4х кратное - Выкл + 4 + 0 4 0 - Асинхронная физика + Async num threads 1 - Два потока - Один поток - Выключено + 2 + 1 + 0 2 1 0 - Подсказки для вора + Show owned 0 - Оба варианта сразу - Меняется цвет прицела - Всплывающая подсказка - Без подсказок + Both + Crosshair only + Tool tip only + No color 3 @@ -294,26 +294,26 @@ 1 0 - Формула урона MCP в рукопашке + Strength influences hand to hand 0 - Включить, кроме оборотней - Включить - Выключить + Werewolves are ignored + Factors into werewolves damage calculation + Does not factor it in 2 1 0 - Множитель зачарования снарядов + Projectiles enchant multiplier 0 - 1 + 1 - Maximum 0.75 0.5 - 0.25 - как в MCP - 0 - по одному + 0.25 - How in MCP + 0 - Can only enchant one projectile 1 @@ -322,13 +322,13 @@ 0.25 0 - Качество отражения воды + Reflection and refraction texture quality 512 - Высокое - Среднее - Низкое - Очень низкое + High + Medium + Low + Very low 2048 @@ -336,15 +336,15 @@ 512 256 - Количество обьектов отражения + Draw objects on water reflections 0 - Ультра - Высокое - Среднее - Нормальное - Низкое - Выкл + Groundcover + Actors + Objects + World + Terrain + Off 5 @@ -354,26 +354,26 @@ 1 0 - Детализация ландшафта + Terrain lod factor 0.5 - Высокая - Средняя - Низкая + High details + Normal details + Low details 1.0 0.75 0.5 - Сложность игры + Game difficulty 0 - Очень сложно - Сложно - Нормально - Легко - Очень легко + Very hard + Hard + Normal + Easy + Very easy 100 @@ -382,7 +382,7 @@ -50 -100 - FPS подзагрузки + Preload target framerate 60 60 fps @@ -392,59 +392,59 @@ 60 30 - Параметры отсекателя обьектов + Small feature culling 8 - Сильное отсечение - Нормальное отсечение - Лёгкое отсечение + High quality + Normal + High performance - 16 - 8 2 + 8 + 16 - Количество быстрых сохранений + Max quicksaves 1 - 10 сохранений - 5 сохранений - 1 сохранение + 10 saves + 5 saves + 1 saves 10 5 1 - Потоки предзагрузки + Preload num threads 1 - Два потока - Один поток + Two threads + One thread 2 1 - Плотность травы + Groundcover density 0.5 - Полная плотность - Половинная плотность - Частичная плотность + Full + Medium + Low 1 0.5 0.25 - Минимаотный размер блока + Min chunk size 0.5 - Полный блок - Половинный блок - Частичный блок - Маленький блок + Full + High + Medium + Low 1 @@ -452,53 +452,53 @@ 0.25 0.125 - Реакция травы на главного героя + Stomp mode 0 - Учитывается позиция и высота - Учитывается позиция - Не реагирует + The player height above the ground is taken into account, too + The player XY position is taken into account + Grass cannot be trampled 2 1 0 - Интенсивность замятия травы + Stomp intensity 0 - Усиленное замятие - Нормальное замятие - Мягкое замятие + MGE XE levels + Reduced levels + Gentle levels 2 1 0 - Детализация подкачки обьектов + Cull objects smaller than this size divided by distance 0.03 - Высокая - Средняя - Низкая + High quality + Normal + High performance 0.01 0.03 0.05 - Метод освещения + Lighting method legacy - Продвинутый - Классический + Shaders + Legacy shaders compatibility legacy - Количество источников света + Number of light sources 8 32 @@ -512,14 +512,14 @@ 16 8 - Яркость фона в интерьерах + Interior brightness 0.08 - Максимальная яркость - Высокая яркость - Средняя яркость - Низкая яркость - Без фоновой подсветки + Very bright + Bright + Normal + Dark + Very dark 1.0 @@ -528,31 +528,31 @@ 0.08 0.0 - Дистанция предзагрузки + Preload distance 1000 - Сильно увеличенная - Увеличенная - Стандартная + Very high + High + Normal 5000 3000 1000 - Коэффициент слияния подкачки объектов + Object paging merge factor 3000 - Сильно увеличенный - Увеличенный - Стандартный + High + Normal + Low 15000 3000 250 - Уровень ведения журнала LOG файла + OpenMW debug level ERROR DEBUG @@ -568,7 +568,7 @@ WARNING ERROR - Стиль UI в игре + MyGUI Hud preset none OpenHUD @@ -578,34 +578,34 @@ preset_01 none - Стиль шейдерной воды + Water shader preset 1 Vtastek - Классический OMW + OpenMW 2 1 - Стиль игрового интерфейса + Game UI Style 1 - Тёмный - Классический OMW + Dark + OpenMW 2 1 - Дальность прорисовки травы + Rendering distance 6144 - Высокая - Выше среднего - Средняя - Ниже среднего - Низкая + Ultra + High + Normal + Low + Very low 8192 diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index 6a40a61f2..845ebcb57 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -16,19 +16,19 @@ @@ -172,36 +172,36 @@ @@ -268,7 +268,7 @@ + @@ -671,31 +672,31 @@ @@ -705,7 +706,7 @@ -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/shared-library-1.1.2.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/gamma-1.1.2.patch + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/shared-library-1.1.6.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/disable-shader-hacks.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/psa-1.1.6.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/highp-fog.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/gl4es/gamma-1.1.6.patch ) ExternalProject_Add(gl4es @@ -322,7 +325,7 @@ ExternalProject_Add(gl4es PATCH_COMMAND ${GL4ES_PATCH} CONFIGURE_COMMAND "" - + BUILD_COMMAND ${wrapper_command} ndk-build ${COMMON_NDK_BUILD_FLAGS} @@ -411,6 +414,7 @@ set(OSG_PATCH patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/osg/0002-BufferObject-make-numClients-atomic.patch && patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/osg/0004-IncrementalCompileOperation-wrap-some-stuff-in-atomi.patch && patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/osg/remove-zlib-dependency.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/osg/psa.patch && patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/osg/0005-CullSettings-make-inheritanceMask-atomic-to-silence-.patch ) @@ -418,7 +422,7 @@ ExternalProject_Add(osg DEPENDS libjpeg-turbo libpng gl4es freetype2 URL https://github.com/OpenMW/osg/archive/${OSG_VERSION}.tar.gz - #https://github.com/xyzz/openmw-deps/releases/download/v0/OpenSceneGraph-${OSG_VERSION}.tar.gz + # https://github.com/xyzz/openmw-deps/releases/download/v0/OpenSceneGraph-${OSG_VERSION}.tar.gz URL_HASH ${OSG_HASH} DOWNLOAD_DIR ${download_dir} @@ -453,29 +457,31 @@ set(OPENMW_COMMON ) set(OPENMW_PATCH - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/gamma.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0001-loadingscreen-disable-for-now.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0009-windowmanagerimp-always-show-mouse-when-possible-pat.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0010-android-fix-context-being-lost-on-app-minimize.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0014-settingswindow-save-user-settings-file-when-ok-is-pr.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0012-components-misc-stringops-use-boost-format-instead-o.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/fix-build.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0015-disable-logs-mygui.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0016-minimal-logs-openmw.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0017-bigfont.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0018-highp.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0019-mygui-selector.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0020-water-selector.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0021-vfs-selector.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/227.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/00-gamma.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/01-loadingscreen-disable-for-now.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/02-windowmanagerimp-always-show-mouse-when-possible-pat.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/03-android-fix-context-being-lost-on-app-minimize.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/04-settingswindow-save-user-settings-file-when-ok-is-pr.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/05-components-misc-stringops-use-boost-format-instead-o.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/06-fix-build.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/07-disable-logs-mygui.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/08-minimal-logs-openmw.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/09-bigfont.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/10-highp.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/11-mygui-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/12-water-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/13-vfs-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/14-terrain_occlusion.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/15-bullet-collision.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/16-psa.patch && cp ${CMAKE_SOURCE_DIR}/patches/openmw/android_main.cpp /apps/openmw/android_main.cpp ) ExternalProject_Add(openmw DEPENDS boost openal osg mygui ffmpeg sdl2 bullet lz4 - URL https://github.com/OpenMW/openmw/archive/${OPENMW_VERSION}.tar.gz - URL_HASH ${OPENMW_HASH} + URL https://github.com/OpenMW/openmw/archive/refs/tags/openmw-0.47.0.tar.gz + # URL_HASH ${OPENMW_HASH} DOWNLOAD_DIR ${download_dir} PATCH_COMMAND ${OPENMW_PATCH} diff --git a/buildscripts/build.sh b/buildscripts/build.sh index d88700b50..f400b5b21 100755 --- a/buildscripts/build.sh +++ b/buildscripts/build.sh @@ -4,7 +4,7 @@ set -e DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd $DIR -export ARCH="arm" +export ARCH="arm64" export CCACHE="false" ASAN="false" DEPLOY_RESOURCES="true" diff --git a/buildscripts/cmakelist_backups/CMakeLists112.txt b/buildscripts/cmakelist_backups/CMakeLists112.txt index c7211985d..993f312e6 100644 --- a/buildscripts/cmakelist_backups/CMakeLists112.txt +++ b/buildscripts/cmakelist_backups/CMakeLists112.txt @@ -40,17 +40,17 @@ set(MYGUI_HASH SHA256=d1d5f294670ae71f7200ed4b30859018281d8cfd45d6a38d18b97a4aba set(GL4ES_VERSION 0f5345f74ce66f89ed2debb458a52addd33c5ae6) set(GL4ES_HASH SHA256=e88d5222cebd4394c2564335739fff54b4332c8a812f5749bda828eb45dfdfab) -# https://github.com/openscenegraph/OpenSceneGraph/releases -set(OSG_VERSION b02abe200c4847e73b887b064a89ea1758a5b733) -set(OSG_HASH SHA256=30a56c5d998b086dba2ea7e9e5e11f99a6866892880fa4f048ad0422d280c438) +# https://github.com/OpenMW/osg/releases +set(OSG_VERSION bbe61c3bc510a4f5bb4aea21cce506519c2d24e6) +set(OSG_HASH SHA256=62ad80311e9bb96c47b38322d8871118cd9abbc152fd97c7aea67a2b4014601d) # https://github.com/lz4/lz4/releases set(LZ4_VERSION 1.9.3) set(LZ4_HASH SHA256=030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1) # https://github.com/OpenMW/openmw/commits/master -set(OPENMW_VERSION b81df8af9c42da9ead15791ce020ac085bbad494) -set(OPENMW_HASH SHA256=18ae0aa322200c517507d939234c68c2e45788a8fd54007bc5499771820a031b) +# set(OPENMW_VERSION bac679d5f5a252e479a576855c8b00bad9b67d6a) +# set(OPENMW_HASH SHA256=a4306492378af312b4957e93d4fb52b626eae046f025d19e4642568b92612100) # End of configurable options @@ -453,28 +453,30 @@ set(OPENMW_COMMON ) set(OPENMW_PATCH - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/gamma.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0001-loadingscreen-disable-for-now.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0009-windowmanagerimp-always-show-mouse-when-possible-pat.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0010-android-fix-context-being-lost-on-app-minimize.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0014-settingswindow-save-user-settings-file-when-ok-is-pr.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0012-components-misc-stringops-use-boost-format-instead-o.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/fix-build.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0015-disable-logs-mygui.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0016-minimal-logs-openmw.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0017-bigfont.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0018-highp.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0019-mygui-selector.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/0020-water-selector.patch && - patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/227.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/00-gamma.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/01-loadingscreen-disable-for-now.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/02-windowmanagerimp-always-show-mouse-when-possible-pat.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/03-android-fix-context-being-lost-on-app-minimize.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/04-settingswindow-save-user-settings-file-when-ok-is-pr.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/05-components-misc-stringops-use-boost-format-instead-o.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/06-fix-build.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/07-disable-logs-mygui.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/08-minimal-logs-openmw.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/09-bigfont.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/10-highp.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/11-mygui-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/12-water-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/13-vfs-selector.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/14-terrain_occlusion.patch && + patch -d -p1 -t -N < ${CMAKE_SOURCE_DIR}/patches/openmw/15-bullet-collision.patch && cp ${CMAKE_SOURCE_DIR}/patches/openmw/android_main.cpp /apps/openmw/android_main.cpp ) ExternalProject_Add(openmw DEPENDS boost openal osg mygui ffmpeg sdl2 bullet lz4 - URL https://github.com/OpenMW/openmw/archive/${OPENMW_VERSION}.tar.gz - URL_HASH ${OPENMW_HASH} + URL https://github.com/OpenMW/openmw/archive/refs/tags/openmw-0.47.0.tar.gz + # URL_HASH ${OPENMW_HASH} DOWNLOAD_DIR ${download_dir} PATCH_COMMAND ${OPENMW_PATCH} diff --git a/buildscripts/patches/openmw/gamma.patch b/buildscripts/patches/openmw/00-gamma.patch similarity index 100% rename from buildscripts/patches/openmw/gamma.patch rename to buildscripts/patches/openmw/00-gamma.patch diff --git a/buildscripts/patches/openmw/0001-loadingscreen-disable-for-now.patch b/buildscripts/patches/openmw/01-loadingscreen-disable-for-now.patch similarity index 100% rename from buildscripts/patches/openmw/0001-loadingscreen-disable-for-now.patch rename to buildscripts/patches/openmw/01-loadingscreen-disable-for-now.patch diff --git a/buildscripts/patches/openmw/0009-windowmanagerimp-always-show-mouse-when-possible-pat.patch b/buildscripts/patches/openmw/02-windowmanagerimp-always-show-mouse-when-possible-pat.patch similarity index 100% rename from buildscripts/patches/openmw/0009-windowmanagerimp-always-show-mouse-when-possible-pat.patch rename to buildscripts/patches/openmw/02-windowmanagerimp-always-show-mouse-when-possible-pat.patch diff --git a/buildscripts/patches/openmw/0010-android-fix-context-being-lost-on-app-minimize.patch b/buildscripts/patches/openmw/03-android-fix-context-being-lost-on-app-minimize.patch similarity index 100% rename from buildscripts/patches/openmw/0010-android-fix-context-being-lost-on-app-minimize.patch rename to buildscripts/patches/openmw/03-android-fix-context-being-lost-on-app-minimize.patch diff --git a/buildscripts/patches/openmw/0014-settingswindow-save-user-settings-file-when-ok-is-pr.patch b/buildscripts/patches/openmw/04-settingswindow-save-user-settings-file-when-ok-is-pr.patch similarity index 100% rename from buildscripts/patches/openmw/0014-settingswindow-save-user-settings-file-when-ok-is-pr.patch rename to buildscripts/patches/openmw/04-settingswindow-save-user-settings-file-when-ok-is-pr.patch diff --git a/buildscripts/patches/openmw/0012-components-misc-stringops-use-boost-format-instead-o.patch b/buildscripts/patches/openmw/05-components-misc-stringops-use-boost-format-instead-o.patch similarity index 100% rename from buildscripts/patches/openmw/0012-components-misc-stringops-use-boost-format-instead-o.patch rename to buildscripts/patches/openmw/05-components-misc-stringops-use-boost-format-instead-o.patch diff --git a/buildscripts/patches/openmw/fix-build.patch b/buildscripts/patches/openmw/06-fix-build.patch similarity index 100% rename from buildscripts/patches/openmw/fix-build.patch rename to buildscripts/patches/openmw/06-fix-build.patch diff --git a/buildscripts/patches/openmw/0015-disable-logs-mygui.patch b/buildscripts/patches/openmw/07-disable-logs-mygui.patch similarity index 100% rename from buildscripts/patches/openmw/0015-disable-logs-mygui.patch rename to buildscripts/patches/openmw/07-disable-logs-mygui.patch diff --git a/buildscripts/patches/openmw/0016-minimal-logs-openmw.patch b/buildscripts/patches/openmw/08-minimal-logs-openmw.patch similarity index 100% rename from buildscripts/patches/openmw/0016-minimal-logs-openmw.patch rename to buildscripts/patches/openmw/08-minimal-logs-openmw.patch diff --git a/buildscripts/patches/openmw/0017-bigfont.patch b/buildscripts/patches/openmw/09-bigfont.patch similarity index 100% rename from buildscripts/patches/openmw/0017-bigfont.patch rename to buildscripts/patches/openmw/09-bigfont.patch diff --git a/buildscripts/patches/openmw/0018-highp.patch b/buildscripts/patches/openmw/10-highp.patch similarity index 100% rename from buildscripts/patches/openmw/0018-highp.patch rename to buildscripts/patches/openmw/10-highp.patch diff --git a/buildscripts/patches/openmw/0019-mygui-selector.patch b/buildscripts/patches/openmw/11-mygui-selector.patch similarity index 100% rename from buildscripts/patches/openmw/0019-mygui-selector.patch rename to buildscripts/patches/openmw/11-mygui-selector.patch diff --git a/buildscripts/patches/openmw/0020-water-selector.patch b/buildscripts/patches/openmw/12-water-selector.patch similarity index 100% rename from buildscripts/patches/openmw/0020-water-selector.patch rename to buildscripts/patches/openmw/12-water-selector.patch diff --git a/buildscripts/patches/openmw/0021-vfs-selector.patch b/buildscripts/patches/openmw/13-vfs-selector.patch similarity index 100% rename from buildscripts/patches/openmw/0021-vfs-selector.patch rename to buildscripts/patches/openmw/13-vfs-selector.patch diff --git a/buildscripts/patches/openmw/227.patch b/buildscripts/patches/openmw/14-terrain_occlusion.patch similarity index 100% rename from buildscripts/patches/openmw/227.patch rename to buildscripts/patches/openmw/14-terrain_occlusion.patch diff --git a/buildscripts/patches/openmw/15-bullet-collision.patch b/buildscripts/patches/openmw/15-bullet-collision.patch new file mode 100644 index 000000000..8cfc543c1 --- /dev/null +++ b/buildscripts/patches/openmw/15-bullet-collision.patch @@ -0,0 +1,125 @@ +From e23b0edda4a49296c56b29251fe3f00fd6b0adba Mon Sep 17 00:00:00 2001 +From: wareya +Date: Fri, 22 Oct 2021 23:11:23 -0400 +Subject: [PATCH] Add pre-pass to collision trace function that traces over + less distance if possible + +--- + apps/openmw/mwphysics/trace.cpp | 74 +++++++++++++++++++++------------ + 1 file changed, 47 insertions(+), 27 deletions(-) + +diff --git a/apps/openmw/mwphysics/trace.cpp b/apps/openmw/mwphysics/trace.cpp +index 049d026e8e..b2c5410a62 100644 +--- a/apps/openmw/mwphysics/trace.cpp ++++ b/apps/openmw/mwphysics/trace.cpp +@@ -12,31 +12,49 @@ + namespace MWPhysics + { + +-void ActorTracer::doTrace(const btCollisionObject *actor, const osg::Vec3f& start, const osg::Vec3f& end, const btCollisionWorld* world) ++ActorConvexCallback sweepHelper(const btCollisionObject *actor, const btVector3& from, const btVector3& to, const btCollisionWorld* world, bool actorFilter) + { +- const btVector3 btstart = Misc::Convert::toBullet(start); +- const btVector3 btend = Misc::Convert::toBullet(end); +- + const btTransform &trans = actor->getWorldTransform(); +- btTransform from(trans); +- btTransform to(trans); +- from.setOrigin(btstart); +- to.setOrigin(btend); ++ btTransform transFrom(trans); ++ btTransform transTo(trans); ++ transFrom.setOrigin(from); ++ transTo.setOrigin(to); ++ ++ const btCollisionShape *shape = actor->getCollisionShape(); ++ assert(shape->isConvex()); + +- const btVector3 motion = btstart-btend; ++ const btVector3 motion = from - to; // FIXME: this is backwards; means ActorConvexCallback is doing dot product tests backwards too + ActorConvexCallback newTraceCallback(actor, motion, btScalar(0.0), world); + // Inherit the actor's collision group and mask + newTraceCallback.m_collisionFilterGroup = actor->getBroadphaseHandle()->m_collisionFilterGroup; + newTraceCallback.m_collisionFilterMask = actor->getBroadphaseHandle()->m_collisionFilterMask; ++ if(actorFilter) ++ newTraceCallback.m_collisionFilterMask &= ~CollisionType_Actor; + +- const btCollisionShape *shape = actor->getCollisionShape(); +- assert(shape->isConvex()); +- world->convexSweepTest(static_cast(shape), from, to, newTraceCallback); ++ world->convexSweepTest(static_cast(shape), transFrom, transTo, newTraceCallback); ++ return newTraceCallback; ++} ++ ++void ActorTracer::doTrace(const btCollisionObject *actor, const osg::Vec3f& start, const osg::Vec3f& end, const btCollisionWorld* world) ++{ ++ const btVector3 btstart = Misc::Convert::toBullet(start); ++ btVector3 btend = Misc::Convert::toBullet(end); ++ ++ bool do_fallback = false; ++ if((btend-btstart).length2() > 5.0*5.0) ++ { ++ btend = btstart + (btend-btstart).normalized()*5.0; ++ do_fallback = true; ++ } ++ ++ auto newTraceCallback = sweepHelper(actor, btstart, btend, world, false); + + // Copy the hit data over to our trace results struct: + if(newTraceCallback.hasHit()) + { + mFraction = newTraceCallback.m_closestHitFraction; ++ if((end-start).length2() > 0.0) ++ mFraction *= (btend-btstart).length() / (end-start).length(); + mPlaneNormal = Misc::Convert::toOsg(newTraceCallback.m_hitNormalWorld); + mEndPos = (end-start)*mFraction + start; + mHitPoint = Misc::Convert::toOsg(newTraceCallback.m_hitPointWorld); +@@ -44,6 +62,22 @@ void ActorTracer::doTrace(const btCollisionObject *actor, const osg::Vec3f& star + } + else + { ++ if(do_fallback) ++ { ++ btend = Misc::Convert::toBullet(end); ++ auto newTraceCallback = sweepHelper(actor, btstart, btend, world, false); ++ ++ if(newTraceCallback.hasHit()) ++ { ++ mFraction = newTraceCallback.m_closestHitFraction; ++ mPlaneNormal = Misc::Convert::toOsg(newTraceCallback.m_hitNormalWorld); ++ mEndPos = (end-start)*mFraction + start; ++ mHitPoint = Misc::Convert::toOsg(newTraceCallback.m_hitPointWorld); ++ mHitObject = newTraceCallback.m_hitCollisionObject; ++ return; ++ } ++ } ++ // fallthrough + mEndPos = end; + mPlaneNormal = osg::Vec3f(0.0f, 0.0f, 1.0f); + mFraction = 1.0f; +@@ -54,21 +88,7 @@ void ActorTracer::doTrace(const btCollisionObject *actor, const osg::Vec3f& star + + void ActorTracer::findGround(const Actor* actor, const osg::Vec3f& start, const osg::Vec3f& end, const btCollisionWorld* world) + { +- const btVector3 btstart = Misc::Convert::toBullet(start); +- const btVector3 btend = Misc::Convert::toBullet(end); +- +- const btTransform &trans = actor->getCollisionObject()->getWorldTransform(); +- btTransform from(trans.getBasis(), btstart); +- btTransform to(trans.getBasis(), btend); +- +- const btVector3 motion = btstart-btend; +- ActorConvexCallback newTraceCallback(actor->getCollisionObject(), motion, btScalar(0.0), world); +- // Inherit the actor's collision group and mask +- newTraceCallback.m_collisionFilterGroup = actor->getCollisionObject()->getBroadphaseHandle()->m_collisionFilterGroup; +- newTraceCallback.m_collisionFilterMask = actor->getCollisionObject()->getBroadphaseHandle()->m_collisionFilterMask; +- newTraceCallback.m_collisionFilterMask &= ~CollisionType_Actor; +- +- world->convexSweepTest(actor->getConvexShape(), from, to, newTraceCallback); ++ auto newTraceCallback = sweepHelper(actor->getCollisionObject(), Misc::Convert::toBullet(start), Misc::Convert::toBullet(end), world, true); + if(newTraceCallback.hasHit()) + { + mFraction = newTraceCallback.m_closestHitFraction; +-- +GitLab + diff --git a/buildscripts/patches/openmw/psa.patch b/buildscripts/patches/openmw/16-psa.patch similarity index 100% rename from buildscripts/patches/openmw/psa.patch rename to buildscripts/patches/openmw/16-psa.patch diff --git a/buildscripts/patches/openmw/0019-shadows.patch b/buildscripts/patches/openmw/shadows.patch similarity index 100% rename from buildscripts/patches/openmw/0019-shadows.patch rename to buildscripts/patches/openmw/shadows.patch