diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ffa8c9..e846224 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## v0.11.0 Changes + +- Updated godot version to 4.3 +- Added a new control scheme (should be enabled by you in settings) as the old one was kinda hard to use +- As suggested by [lealternativeto.net](https://www.lealternative.net/), the new controls have the player moving automatically down for android only (touch left/right side of screen to move to side) +- Added info regarding the new controls in the help section +- The fire button now reacts to user input like the home screen buttons instead of just performing the action + ## v0.10.11 Changes - F-droid didnt recognise the last update, so adding a new one diff --git a/export_presets.cfg b/export_presets.cfg index 0e51ebd..a4b6c87 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -3,6 +3,7 @@ name="Windows Desktop" platform="Windows Desktop" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -13,6 +14,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.0.options] @@ -20,10 +22,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=1 binary_format/embed_pck=true -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="x86_64" codesign/enable=false codesign/timestamp=true @@ -43,6 +43,8 @@ application/file_description="" application/copyright="" application/trademarks="" application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" ssh_remote_deploy/port="22" @@ -60,12 +62,17 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue Remove-Item -Recurse -Force '{temp_dir}'" +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false [preset.1] name="Web" platform="Web" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -76,12 +83,14 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.1.options] custom_template/debug="" custom_template/release="" variant/extensions_support=false +variant/thread_support=false vram_texture_compression/for_desktop=true vram_texture_compression/for_mobile=false html/export_icon=true @@ -91,6 +100,7 @@ html/canvas_resize_policy=2 html/focus_canvas_on_start=true html/experimental_virtual_keyboard=false progressive_web_app/enabled=false +progressive_web_app/ensure_cross_origin_isolation_headers=true progressive_web_app/offline_page="" progressive_web_app/display=1 progressive_web_app/orientation=0 @@ -102,8 +112,9 @@ progressive_web_app/background_color=Color(0, 0, 0, 1) [preset.2] name="Linux/X11" -platform="Linux/X11" +platform="Linux" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -114,6 +125,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.2.options] @@ -121,10 +133,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=1 binary_format/embed_pck=true -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="x86_64" ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" @@ -138,12 +148,17 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") rm -rf \"{temp_dir}\"" +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false [preset.3] name="macOS" platform="macOS" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -154,6 +169,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.3.options] @@ -174,6 +190,7 @@ application/copyright_localized={} application/min_macos_version="10.12" application/export_angle=0 display/high_res=true +application/additional_plist_content="" xcode/platform_build="14C18" xcode/sdk_version="13.1" xcode/sdk_build="22C55" @@ -232,6 +249,148 @@ privacy/network_volumes_usage_description="" privacy/network_volumes_usage_description_localized={} privacy/removable_volumes_usage_description="" privacy/removable_volumes_usage_description_localized={} +privacy/tracking_enabled=false +privacy/tracking_domains=PackedStringArray() +privacy/collected_data/name/collected=false +privacy/collected_data/name/linked_to_user=false +privacy/collected_data/name/used_for_tracking=false +privacy/collected_data/name/collection_purposes=0 +privacy/collected_data/email_address/collected=false +privacy/collected_data/email_address/linked_to_user=false +privacy/collected_data/email_address/used_for_tracking=false +privacy/collected_data/email_address/collection_purposes=0 +privacy/collected_data/phone_number/collected=false +privacy/collected_data/phone_number/linked_to_user=false +privacy/collected_data/phone_number/used_for_tracking=false +privacy/collected_data/phone_number/collection_purposes=0 +privacy/collected_data/physical_address/collected=false +privacy/collected_data/physical_address/linked_to_user=false +privacy/collected_data/physical_address/used_for_tracking=false +privacy/collected_data/physical_address/collection_purposes=0 +privacy/collected_data/other_contact_info/collected=false +privacy/collected_data/other_contact_info/linked_to_user=false +privacy/collected_data/other_contact_info/used_for_tracking=false +privacy/collected_data/other_contact_info/collection_purposes=0 +privacy/collected_data/health/collected=false +privacy/collected_data/health/linked_to_user=false +privacy/collected_data/health/used_for_tracking=false +privacy/collected_data/health/collection_purposes=0 +privacy/collected_data/fitness/collected=false +privacy/collected_data/fitness/linked_to_user=false +privacy/collected_data/fitness/used_for_tracking=false +privacy/collected_data/fitness/collection_purposes=0 +privacy/collected_data/payment_info/collected=false +privacy/collected_data/payment_info/linked_to_user=false +privacy/collected_data/payment_info/used_for_tracking=false +privacy/collected_data/payment_info/collection_purposes=0 +privacy/collected_data/credit_info/collected=false +privacy/collected_data/credit_info/linked_to_user=false +privacy/collected_data/credit_info/used_for_tracking=false +privacy/collected_data/credit_info/collection_purposes=0 +privacy/collected_data/other_financial_info/collected=false +privacy/collected_data/other_financial_info/linked_to_user=false +privacy/collected_data/other_financial_info/used_for_tracking=false +privacy/collected_data/other_financial_info/collection_purposes=0 +privacy/collected_data/precise_location/collected=false +privacy/collected_data/precise_location/linked_to_user=false +privacy/collected_data/precise_location/used_for_tracking=false +privacy/collected_data/precise_location/collection_purposes=0 +privacy/collected_data/coarse_location/collected=false +privacy/collected_data/coarse_location/linked_to_user=false +privacy/collected_data/coarse_location/used_for_tracking=false +privacy/collected_data/coarse_location/collection_purposes=0 +privacy/collected_data/sensitive_info/collected=false +privacy/collected_data/sensitive_info/linked_to_user=false +privacy/collected_data/sensitive_info/used_for_tracking=false +privacy/collected_data/sensitive_info/collection_purposes=0 +privacy/collected_data/contacts/collected=false +privacy/collected_data/contacts/linked_to_user=false +privacy/collected_data/contacts/used_for_tracking=false +privacy/collected_data/contacts/collection_purposes=0 +privacy/collected_data/emails_or_text_messages/collected=false +privacy/collected_data/emails_or_text_messages/linked_to_user=false +privacy/collected_data/emails_or_text_messages/used_for_tracking=false +privacy/collected_data/emails_or_text_messages/collection_purposes=0 +privacy/collected_data/photos_or_videos/collected=false +privacy/collected_data/photos_or_videos/linked_to_user=false +privacy/collected_data/photos_or_videos/used_for_tracking=false +privacy/collected_data/photos_or_videos/collection_purposes=0 +privacy/collected_data/audio_data/collected=false +privacy/collected_data/audio_data/linked_to_user=false +privacy/collected_data/audio_data/used_for_tracking=false +privacy/collected_data/audio_data/collection_purposes=0 +privacy/collected_data/gameplay_content/collected=false +privacy/collected_data/gameplay_content/linked_to_user=false +privacy/collected_data/gameplay_content/used_for_tracking=false +privacy/collected_data/gameplay_content/collection_purposes=0 +privacy/collected_data/customer_support/collected=false +privacy/collected_data/customer_support/linked_to_user=false +privacy/collected_data/customer_support/used_for_tracking=false +privacy/collected_data/customer_support/collection_purposes=0 +privacy/collected_data/other_user_content/collected=false +privacy/collected_data/other_user_content/linked_to_user=false +privacy/collected_data/other_user_content/used_for_tracking=false +privacy/collected_data/other_user_content/collection_purposes=0 +privacy/collected_data/browsing_history/collected=false +privacy/collected_data/browsing_history/linked_to_user=false +privacy/collected_data/browsing_history/used_for_tracking=false +privacy/collected_data/browsing_history/collection_purposes=0 +privacy/collected_data/search_hhistory/collected=false +privacy/collected_data/search_hhistory/linked_to_user=false +privacy/collected_data/search_hhistory/used_for_tracking=false +privacy/collected_data/search_hhistory/collection_purposes=0 +privacy/collected_data/user_id/collected=false +privacy/collected_data/user_id/linked_to_user=false +privacy/collected_data/user_id/used_for_tracking=false +privacy/collected_data/user_id/collection_purposes=0 +privacy/collected_data/device_id/collected=false +privacy/collected_data/device_id/linked_to_user=false +privacy/collected_data/device_id/used_for_tracking=false +privacy/collected_data/device_id/collection_purposes=0 +privacy/collected_data/purchase_history/collected=false +privacy/collected_data/purchase_history/linked_to_user=false +privacy/collected_data/purchase_history/used_for_tracking=false +privacy/collected_data/purchase_history/collection_purposes=0 +privacy/collected_data/product_interaction/collected=false +privacy/collected_data/product_interaction/linked_to_user=false +privacy/collected_data/product_interaction/used_for_tracking=false +privacy/collected_data/product_interaction/collection_purposes=0 +privacy/collected_data/advertising_data/collected=false +privacy/collected_data/advertising_data/linked_to_user=false +privacy/collected_data/advertising_data/used_for_tracking=false +privacy/collected_data/advertising_data/collection_purposes=0 +privacy/collected_data/other_usage_data/collected=false +privacy/collected_data/other_usage_data/linked_to_user=false +privacy/collected_data/other_usage_data/used_for_tracking=false +privacy/collected_data/other_usage_data/collection_purposes=0 +privacy/collected_data/crash_data/collected=false +privacy/collected_data/crash_data/linked_to_user=false +privacy/collected_data/crash_data/used_for_tracking=false +privacy/collected_data/crash_data/collection_purposes=0 +privacy/collected_data/performance_data/collected=false +privacy/collected_data/performance_data/linked_to_user=false +privacy/collected_data/performance_data/used_for_tracking=false +privacy/collected_data/performance_data/collection_purposes=0 +privacy/collected_data/other_diagnostic_data/collected=false +privacy/collected_data/other_diagnostic_data/linked_to_user=false +privacy/collected_data/other_diagnostic_data/used_for_tracking=false +privacy/collected_data/other_diagnostic_data/collection_purposes=0 +privacy/collected_data/environment_scanning/collected=false +privacy/collected_data/environment_scanning/linked_to_user=false +privacy/collected_data/environment_scanning/used_for_tracking=false +privacy/collected_data/environment_scanning/collection_purposes=0 +privacy/collected_data/hands/collected=false +privacy/collected_data/hands/linked_to_user=false +privacy/collected_data/hands/used_for_tracking=false +privacy/collected_data/hands/collection_purposes=0 +privacy/collected_data/head/collected=false +privacy/collected_data/head/linked_to_user=false +privacy/collected_data/head/used_for_tracking=false +privacy/collected_data/head/collection_purposes=0 +privacy/collected_data/other_data_types/collected=false +privacy/collected_data/other_data_types/linked_to_user=false +privacy/collected_data/other_data_types/used_for_tracking=false +privacy/collected_data/other_data_types/collection_purposes=0 ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" ssh_remote_deploy/port="22" @@ -249,6 +408,7 @@ rm -rf \"{temp_dir}\"" name="Android arm32" platform="Android" runnable=false +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -259,12 +419,16 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.4.options] custom_template/debug="" custom_template/release="" gradle_build/use_gradle_build=false +gradle_build/gradle_build_directory="" +gradle_build/android_source_template="" +gradle_build/compress_native_libraries=false gradle_build/export_format=0 gradle_build/min_sdk="" gradle_build/target_sdk="" @@ -272,15 +436,15 @@ architectures/armeabi-v7a=true architectures/arm64-v8a=false architectures/x86=false architectures/x86_64=false -version/code=100093 -version/name="0.10.11" +version/code=100101 +version/name="0.11.0" package/unique_name="com.game.asteroids_revenge" package/name="" package/signed=true package/app_category=2 package/retain_data_on_uninstall=false package/exclude_from_recents=false -package/show_in_android_tv=false +package/show_in_android_tv=true package/show_in_app_library=true package/show_as_launcher_app=false launcher_icons/main_192x192="" @@ -293,7 +457,7 @@ screen/support_small=true screen/support_normal=true screen/support_large=true screen/support_xlarge=true -user_data_backup/allow=false +user_data_backup/allow=true command_line/extra_args="" apk_expansion/enable=false apk_expansion/SALT="" @@ -452,6 +616,7 @@ permissions/write_user_dictionary=false name="Android arm64" platform="Android" runnable=true +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -462,12 +627,16 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.5.options] custom_template/debug="" custom_template/release="" gradle_build/use_gradle_build=false +gradle_build/gradle_build_directory="" +gradle_build/android_source_template="" +gradle_build/compress_native_libraries=false gradle_build/export_format=0 gradle_build/min_sdk="" gradle_build/target_sdk="" @@ -475,15 +644,15 @@ architectures/armeabi-v7a=false architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false -version/code=100094 -version/name="0.10.11" +version/code=100102 +version/name="0.11.0" package/unique_name="com.game.asteroids_revenge" package/name="" package/signed=true package/app_category=2 package/retain_data_on_uninstall=false package/exclude_from_recents=false -package/show_in_android_tv=false +package/show_in_android_tv=true package/show_in_app_library=true package/show_as_launcher_app=false launcher_icons/main_192x192="res://icons/icon.png" @@ -496,7 +665,7 @@ screen/support_small=true screen/support_normal=true screen/support_large=true screen/support_xlarge=true -user_data_backup/allow=false +user_data_backup/allow=true command_line/extra_args="" apk_expansion/enable=false apk_expansion/SALT="" @@ -653,8 +822,9 @@ permissions/write_user_dictionary=false [preset.6] name="Linux/X11 (arm64)" -platform="Linux/X11" +platform="Linux" runnable=false +advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" @@ -665,6 +835,7 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false +script_export_mode=2 [preset.6.options] @@ -672,10 +843,8 @@ custom_template/debug="" custom_template/release="" debug/export_console_wrapper=1 binary_format/embed_pck=true -texture_format/bptc=true -texture_format/s3tc=true -texture_format/etc=false -texture_format/etc2=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false binary_format/architecture="arm64" ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" @@ -689,3 +858,7 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") rm -rf \"{temp_dir}\"" +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false diff --git a/fastlane/metadata/android/en-US/changelogs/100102.txt b/fastlane/metadata/android/en-US/changelogs/100102.txt new file mode 100644 index 0000000..622fd61 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/100102.txt @@ -0,0 +1,8 @@ +v0.11.0 Changes + +- Updated godot version to 4.3 +- Added a new control scheme (should be enabled by you in settings) as the old one was kinda hard to use +- As suggested by [lealternativeto.net](https://www.lealternative.net/), the new controls have the player moving automatically down for android only (touch left/right side of screen to move to side) +- Added info regarding the new controls in the help section +- The fire button now reacts to user input like the home screen buttons instead of just performing the action + diff --git a/locale/translations.DESCRIPTION.translation b/locale/translations.DESCRIPTION.translation index 3444d79..74c9f7e 100644 Binary files a/locale/translations.DESCRIPTION.translation and b/locale/translations.DESCRIPTION.translation differ diff --git a/locale/translations.ar.translation b/locale/translations.ar.translation index 35b8c70..677a60b 100644 Binary files a/locale/translations.ar.translation and b/locale/translations.ar.translation differ diff --git a/locale/translations.bg.translation b/locale/translations.bg.translation index a98d9a8..1ec6322 100644 Binary files a/locale/translations.bg.translation and b/locale/translations.bg.translation differ diff --git a/locale/translations.br.translation b/locale/translations.br.translation index 3c926cd..4d6f19c 100644 Binary files a/locale/translations.br.translation and b/locale/translations.br.translation differ diff --git a/locale/translations.bs.translation b/locale/translations.bs.translation index 0fbb0c5..b26cb5d 100644 Binary files a/locale/translations.bs.translation and b/locale/translations.bs.translation differ diff --git a/locale/translations.cs.translation b/locale/translations.cs.translation index 0ef3759..938db4e 100644 Binary files a/locale/translations.cs.translation and b/locale/translations.cs.translation differ diff --git a/locale/translations.csv b/locale/translations.csv index f899526..24f5931 100644 --- a/locale/translations.csv +++ b/locale/translations.csv @@ -644,16 +644,18 @@ MENU_VR_COMFORT_MODE,For sensitive people in VR,VR comfort mode,Mode de comfort MENU_VR_HMD_ORIENT_RESET,Using abbrev. HMD (Head mounted display),HMD orientation reset,Restaurer l'orientation du HDM,Reiniciar orientación de HMD,HMD-Orientierung zurücksetzen,Resetta orientazione HMD,Reiniciar orientação HMD,Reiniciar orientação HMD,Сброс ориентации VR-шлема,HMD προσανατολισμό επαναφορά,Görüş Ünitesi yön sıfırla.,Nulstil HMD orientering,Nullstill HMD orientering,Nollställ orientering av VR-hjälm,Reset HMD orientatie,Resetuj orientację HMD,HMD suunta alkutilaan,HMDの画面位置設定をリセット,HMD方向重置,HMD方向重置,HMD 방향 재설정,Vyresetovat orientaci HMD,HMD Orientáció beálítás,Resetare orientare HMD ,หน่วยแสดงผลสวมศีรษะ,Нулиране на ориентацията на ППС,HMD,نسيان ضبط شاشة الوجه,HMD orjentacija MENU_VR_VIRTUAL_REALITY,,Virtual Reality,Réalité virtuelle,Realidad Virtual,Virtuelle Realität,Realtà Virtuale,Realidade Virtual,Realidade Virtual,Виртуальная реальность,Εικονική πραγματικότητα,Sanal Gerçeklik,Virtual Reality,Virtuell virkelighet,Virtuell verklighet,Virtuele Realiteit,Wirtualna Rzeczywistość,Virtuaalitodellisuus,バーチャルリアリティ,虚拟现实,虛擬現實,가상현실,Virtuální realita,Virtuális valóság,Realitate Virtuala,ภาพเสมือน,Виртуална реалност,מציאות-מדומה,الواقع الافتراضي VR,VR GAME_TITLE,, Asteroid's revenge, La vengeance de l'astéroïde, La venganza del asteroide, Die Rache des Asteroiden, La vendetta dell'asteroide, A vingança do asteróide, A vingança do asteróide, Месть астероида, Η εκδίκηση του αστεροειδούς, Asteroitin intikamı, Asteroidens hævn, Asteroidens hevn, Asteroidens hämnd, De wraak van de asteroïde, Zemsta asteroidy, Asteroidin kosto, アステロイドの復讐, 小行星的复仇, 小行星的复仇, 소행성의 복수, Asteroidova pomsta, Aszteroida bosszúja, Răzbunarea asteroidului, การแก้แค้นของดาวเคราะห์น้อย, Отмъщението на астероида, נקמתו של האסטרואיד, انتقام الكويكب, Asteroidna osveta -GAME_HINT,,Beat the boss to unlock frenzy mode,Battez le boss pour débloquer le mode frénésie,Vence al jefe para desbloquear el modo frenesí.,"Besiege den Boss, um den Raserei-Modus freizuschalten",Sconfiggi il boss per sbloccare la modalità frenesia,Vença o chefe para desbloquear o modo frenético,Vença o chefe para desbloquear o modo frenético,"Победите босса, чтобы разблокировать режим безумия.",Κερδίστε το αφεντικό για να ξεκλειδώσετε τη λειτουργία φρενίτιδας,Çılgınlık modunun kilidini açmak için patronu yen,Slå chefen for at låse op for vanvid-tilstand,Slå sjefen for å låse opp vanvidd-modus,Slå chefen för att låsa upp frenesiläget,Versla de baas om de razernijmodus te ontgrendelen,"Pokonaj bossa, aby odblokować tryb szaleństwa",Voita pomo avataksesi vimmatilan,ボスを倒してフレンジーモードのロックを解除します,击败boss以解锁疯狂模式,击败boss以解锁疯狂模式,보스를 물리치고 프렌지 모드를 잠금 해제하세요,Porazte šéfa a odemkněte režim šílenství,Győzd le a főnököt az őrület mód feloldásához,Învinge șeful pentru a debloca modul frenezie,เอาชนะบอสเพื่อปลดล็อคโหมดบ้าคลั่ง,"Победете шефа, за да отключите режима на ярост",היכו את הבוס כדי לפתוח את מצב הטירוף,تغلب على الرئيس لفتح وضع الهيجان,Pobijedite šefa da otključate način ludila +GAME_HINT,,Beat the boss to unlock frenzy mode,Battez le boss pour débloquer le mode frénésie,Vence al jefe para desbloquear el modo frenesí.,"Besiege den Boss, um den Raserei-Modus freizuschalten",Sconfiggi il boss per sbloccare la modalità frenesia,Vença o chefe para desbloquear o modo frenesi,Vença o chefe para desbloquear o modo frenesi,"Победите босса, чтобы разблокировать режим безумия.",Κερδίστε το αφεντικό για να ξεκλειδώσετε τη λειτουργία φρενίτιδας,Çılgınlık modunun kilidini açmak için patronu yen,Slå chefen for at låse op for vanvid-tilstand,Slå sjefen for å låse opp vanvidd-modus,Slå chefen för att låsa upp frenesiläget,Versla de baas om de razernijmodus te ontgrendelen,"Pokonaj bossa, aby odblokować tryb szaleństwa",Voita pomo avataksesi vimmatilan,ボスを倒してフレンジーモードをロック解除します,击败boss以解锁疯狂模式,击败boss以解锁疯狂模式,보스를 물리치고 프렌지 모드를 잠금 해제하세요,Porazte šéfa a odemkněte režim šílenství,Győzd le a főnököt az őrület mód feloldásához,Învinge șeful pentru a debloca modul frenezie,เอาชนะบอสเพื่อปลดล็อคโหมดบ้าคลั่ง,"Победете шефа, за да отключите режима на ярост",היכו את הבוס כדי לפתוח את מצב הטירוף,تغلب على الرئيس لفتح وضع الهيجان,Pobijedite šefa da otključate način ludila GAME_FRENZY_MODE,,Frenzy mode,Mode Frénésie,modo frenesí,Frenzy-Modus,Modalità frenesia,Modo Frenesi,Modo Frenesi,Режим безумия,Λειτουργία φρενίτιδας,Çılgınlık modu,Frenzy-tilstand,Frenzy-modus,Frenzy läge,Frenzy-modus,Tryb szału,Frenzy-tila,フレンジーモード,疯狂模式,疯狂模式,프렌지 모드,Režim šílenství,Frenzy mód,Modul frenezie,โหมดบ้าคลั่ง,Frenzy режим,מצב טירוף,وضع الهيجان,Frenzy mode -GAME_HARD_MODE_HINT_LABEL,,Go up for a harder mode,Montez pour un mode plus difficile,Sube a un modo más difícil,Gehen Sie für einen härteren Modus nach oben,Sali per una modalità più difficile,Suba para um modo mais difícil,Suba para um modo mais difícil,Перейти на более сложный режим,Ανεβείτε για μια πιο σκληρή λειτουργία,Daha zor bir mod için yukarı çıkın,Gå op for en hårdere tilstand,Gå opp for en hardere modus,Gå upp för ett hårdare läge,Ga naar boven voor een hardere modus,Przejdź do trudniejszego trybu,Siirry kovempaan tilaan,より難しいモードに進みます,进入更难的模式,进入更难的模式,더 어려운 모드로 올라가세요,Přejděte na těžší režim,Menj fel egy keményebb módra,Urcați pentru un mod mai greu,ขึ้นไปสำหรับโหมดที่ยากขึ้น,Качете се за по-труден режим,תעלה על מצב קשה יותר,انتقل إلى الوضع الأصعب,Idite na teži način +GAME_HARD_MODE_HINT_LABEL,,Go up for a harder mode (normal controls only),Montez pour un mode plus difficile (commandes normales uniquement),Sube a un modo más difícil (solo controles normales),"Gehen Sie nach oben, um einen schwierigeren Modus zu wählen (nur normale Steuerung).",Sali per una modalità più difficile (solo controlli normali),Suba para um modo mais difícil (apenas controles normais),Suba para um modo mais difícil (apenas controles normais),Перейдите на более сложный режим (только обычное управление),Ανεβείτε για μια πιο σκληρή λειτουργία (μόνο κανονικά στοιχεία ελέγχου),Daha zor bir moda geçin (yalnızca normal kontroller),Gå op for en hårdere tilstand (kun normale kontroller),Gå opp for en hardere modus (kun normale kontroller),Gå upp för ett hårdare läge (endast normala kontroller),Ga naar boven voor een moeilijkere modus (alleen normale bedieningselementen),Przejdź do trudniejszego trybu (tylko normalne sterowanie),Siirry kovempaan tilaan (vain normaalit säätimet),より難しいモードに進みます(通常のコントロールのみ),进入更难的模式(仅限普通控制),进入更难的模式(仅限普通控制),더 어려운 모드로 이동하세요(일반 컨트롤만 해당),Přejděte na tvrdší režim (pouze normální ovládací prvky),Lépjen fel egy keményebb módra (csak normál kezelőszervekkel),Treceți pentru un mod mai greu (numai comenzile normale),ขึ้นไปสำหรับโหมดที่ยากขึ้น (การควบคุมปกติเท่านั้น),Качете се за по-труден режим (само нормални контроли),עבור למצב קשה יותר (בקרות רגילות בלבד),انتقل إلى الوضع الأصعب (عناصر التحكم العادية فقط),Idite na teži način rada (samo normalne kontrole) GAME_OBJECTIVE_LOWEST_SCORE,,Lowest score,Note la plus basse,Puntuación más baja,Niedrigste Punktzahl,Punteggio più basso,Pontuação mais baixa,Pontuação mais baixa,Самый низкий балл,Χαμηλότερη βαθμολογία,En düşük puan,Laveste score,Laveste poengsum,Lägsta poäng,Laagste score,Najniższy wynik,Alin pistemäärä,最低スコア,最低分,最低分,최저 점수,Nejnižší skóre,A legalacsonyabb pontszám,Cel mai mic scor,คะแนนต่ำสุด,Най-нисък резултат,הציון הנמוך ביותר,أدنى درجة,Najniži rezultat HUD_JOYSTICK_VISIBILITY,,Joystick visiblity,Visibilité du joystick,Visibilidad del joystick,Joystick-Sichtbarkeit,Visibilità tramite joystick,Visibilidade do joystick,Visibilidade do joystick,Видимость джойстика,Ορατότητα Joystick,Kumanda kolu görünürlüğü,Joystick synlighed,Joystick synlighet,Joystick synlighet,Zichtbaarheid van de joystick,Widoczność joysticka,Joystick-näkyvyys,ジョイスティックの可視性,操纵杆可见性,操纵杆可见性,조이스틱 가시성,Viditelnost joysticku,Joystick láthatósága,Vizibilitatea joystick-ului,การมองเห็นจอยสติ๊ก,Видимост на джойстика,נראות של ג'ויסטיק,رؤية عصا التحكم,Vidljivost džojstika -HUD_FIRE_BUTTON_VISIBILITY,,Fire button visibility,Visibilité du bouton de tir,Visibilidad del botón de disparo,Sichtbarkeit des Feuerknopfes,Visibilità del pulsante di fuoco,Visibilidade do botão de disparo,Visibilidade do botão de disparo,Видимость кнопки огня,Ορατότητα κουμπιού πυρκαγιάς,Ateşleme butonu görünürlüğü,Brand knap synlighed,Brannknappsynlighet,Brandknapps synlighet,Zichtbaarheid van de vuurknop,Widoczność przycisku strzału,Palopainikkeen näkyvyys,ファイアボタンの可視性,消防按钮可见性,消防按钮可见性,발사 버튼 가시성,Viditelnost tlačítka střelby,A tűz gomb láthatósága,Vizibilitatea butonului de foc,การมองเห็นปุ่มไฟ,Видимост на бутона за пожар,נראות כפתור אש,رؤية زر النار,Vidljivost dugmeta za vatru -GAME_SETTINGS_BUTTON_VISIBILITY_HINT,,(Note: You can still use the joystick once disabled when you tap where they were visible previously),(Remarque : vous pouvez toujours utiliser le joystick une fois désactivé lorsque vous appuyez là où il était visible auparavant),(Nota: aún puedes usar el joystick una vez desactivado cuando tocas donde estaban visibles anteriormente),"(Hinweis: Sie können den Joystick auch nach der Deaktivierung weiterhin verwenden, indem Sie auf die Stelle tippen, an der er zuvor sichtbar war.)",(Nota: puoi comunque utilizzare il joystick una volta disabilitato quando tocchi il punto in cui era visibile in precedenza),(Observação: você ainda pode usar o joystick depois de desativado ao tocar onde eles estavam visíveis anteriormente),(Observação: você ainda pode usar o joystick depois de desativado ao tocar onde eles estavam visíveis anteriormente),"(Примечание. Вы по-прежнему можете использовать отключенный джойстик, коснувшись того места, где он был виден ранее.)",(Σημείωση: Μπορείτε ακόμα να χρησιμοποιήσετε το joystick όταν είναι απενεργοποιημένο όταν πατήσετε στο σημείο που ήταν ορατό προηγουμένως),(Not: Daha önce görünür oldukları yere dokunduğunuzda joystick'i devre dışı bıraktığınızda da kullanmaya devam edebilirsiniz),"(Bemærk: Du kan stadig bruge joysticket, når det er deaktiveret, når du trykker på det sted, hvor de var synlige tidligere)",(Merk: Du kan fortsatt bruke joysticken når den er deaktivert når du trykker der de var synlige tidligere),(Obs: Du kan fortfarande använda joysticken när den är inaktiverad när du trycker på där de var synliga tidigare),"(Opmerking: u kunt de joystick nog steeds gebruiken als deze eenmaal is uitgeschakeld, wanneer u tikt op de plaats waar deze eerder zichtbaar was)","(Uwaga: po wyłączeniu joysticka nadal możesz używać, dotykając miejsca, w którym był on wcześniej widoczny)","(Huomaa: Voit silti käyttää ohjainta, kun se on poistettu käytöstä, kun napautat paikkaa, jossa ne olivat aiemmin näkyvissä)",(注: ジョイスティックが以前に表示されていた場所をタップすると、無効化されたジョイスティックを引き続き使用できます),(注意:当您点击之前可见的位置时,您仍然可以使用禁用后的操纵杆),(注意:当您点击之前可见的位置时,您仍然可以使用禁用后的操纵杆),(참고: 비활성화된 후에도 이전에 표시되었던 위치를 탭하면 조이스틱을 계속 사용할 수 있습니다.),"(Poznámka: Joystick můžete používat i po deaktivaci, když klepnete na místo, kde byl předtím vidět)","(Megjegyzés: A letiltott joystickot továbbra is használhatja, amikor megérinti azt a helyet, ahol korábban látható volt)",(Notă: puteți folosi în continuare joystick-ul odată dezactivat când atingeți unde erau vizibile anterior),(หมายเหตุ: คุณยังคงสามารถใช้จอยสติ๊กได้เมื่อปิดใช้งานแล้วเมื่อคุณแตะตำแหน่งที่มองเห็นได้ก่อนหน้านี้),"(Забележка: Все още можете да използвате джойстика, след като бъде деактивиран, когато докоснете там, където са били видими преди)",(הערה: אתה עדיין יכול להשתמש בג'ויסטיק ברגע שהושבת כאשר אתה מקיש במקום שבו הם היו גלויים בעבר),(ملاحظة: لا يزال بإمكانك استخدام عصا التحكم بمجرد تعطيلها عند النقر على المكان الذي كانت مرئية فيه سابقًا),(Napomena: Još uvijek možete koristiti džojstik kada je onemogućen kada dodirnete mjesto gdje su prethodno bili vidljivi) -CONTROLS_ARROW_KEYS,,Arrow keys,Touches directionnelles,Teclas de flecha,Pfeiltasten,Tasti freccia,Teclas de seta,Teclas de seta,Клавиши со стрелками,Πληκτρα ΒΕΛΟΥΣ,Ok tuşları,Piletasterne,Piltastene,Piltangenter,Pijltjestoetsen,Klawisze strzałek,Nuolinäppäimillä,矢印キー,方向键,方向键,화살표 키,Šipky,Nyilakkal,Sagetile,ปุ่มลูกศร,Клавишите със стрелки,מקשי חצים,مفاتيح السهم,Tasteri sa strelicama -CONTROLS_MOVEMENT,,Movement,Mouvement,Movimiento,Bewegung,Movimento,Movimento,Movimento,Движение,Κίνηση,Hareket,Bevægelse,Bevegelse,Rörelse,Beweging,Ruch,Liike,動き,移动,移动,움직임,Hnutí,Mozgalom,Circulaţie,ความเคลื่อนไหว,Движение,תְנוּעָה,حركة,Pokret +HUD_FIRE_BUTTON_VISIBILITY,,Fire button visibility,Visibilité du bouton de tir,Visibilidad del botón de disparo,Sichtbarkeit des Feuerknopfes,Visibilità del pulsante di fuoco,Visibilidade do botão de disparo,Visibilidade do botão de disparo,Видимость кнопки огня,Ορατότητα κουμπιού πυρκαγιάς,Ateşleme butonu görünürlüğü,Brand knap synlighed,Brannknappsynlighet,Brandknapps synlighet,Zichtbaarheid van de vuurknop,Widoczność przycisku strzału,Palopainikkeen näkyvyys,ファイアボタンの可視性,消防按钮可见性,消防按钮可见性,발사 버튼 가시성,Viditelnost tlačítka střelby,A tűz gomb láthatósága,Vizibilitatea butonului de foc,การมองเห็นปุ่มไฟ,Видимост на пожарния бутон,נראות כפתור אש,رؤية زر النار,Vidljivost dugmeta za vatru +GAME_SETTINGS_BUTTON_VISIBILITY_HINT,,(Note: You can still use the joystick once disabled when you tap where they were visible previously),(Remarque : vous pouvez toujours utiliser le joystick une fois désactivé lorsque vous appuyez là où il était visible auparavant),(Nota: aún puedes usar el joystick una vez desactivado cuando tocas donde estaban visibles anteriormente),"(Hinweis: Sie können den Joystick auch nach der Deaktivierung weiterhin verwenden, indem Sie auf die Stelle tippen, an der er zuvor sichtbar war.)",(Nota: puoi comunque utilizzare il joystick una volta disabilitato quando tocchi il punto in cui era visibile in precedenza),(Observação: você ainda pode usar o joystick depois de desativado ao tocar onde eles estavam visíveis anteriormente),(Observação: você ainda pode usar o joystick depois de desativado ao tocar onde eles estavam visíveis anteriormente),"(Примечание. Вы по-прежнему можете использовать отключенный джойстик, коснувшись того места, где он был виден ранее)",(Σημείωση: Μπορείτε ακόμα να χρησιμοποιήσετε το joystick όταν είναι απενεργοποιημένο όταν πατήσετε στο σημείο που ήταν ορατό προηγουμένως),(Not: Daha önce görünür oldukları yere dokunduğunuzda joystick'i devre dışı bıraktığınızda da kullanmaya devam edebilirsiniz),"(Bemærk: Du kan stadig bruge joysticket, når det er deaktiveret, når du trykker på det sted, hvor de tidligere var synlige)",(Merk: Du kan fortsatt bruke joysticken når den er deaktivert når du trykker der de var synlige tidligere),(Obs: Du kan fortfarande använda joysticken när den är inaktiverad när du trycker på där de var synliga tidigare),"(Opmerking: u kunt de joystick nog steeds gebruiken als deze eenmaal is uitgeschakeld, wanneer u tikt op de plaats waar deze eerder zichtbaar was)","(Uwaga: po wyłączeniu joysticka nadal możesz używać, dotykając miejsca, w którym był on wcześniej widoczny)","(Huomaa: Voit silti käyttää ohjainta, kun se on poistettu käytöstä, kun napautat paikkaa, jossa ne olivat aiemmin näkyvissä)",(注: ジョイスティックが以前に表示されていた場所をタップすると、無効化されたジョイスティックを引き続き使用できます),(注意:当您点击之前可见的位置时,您仍然可以使用禁用后的操纵杆),(注意:当您点击之前可见的位置时,您仍然可以使用禁用后的操纵杆),(참고: 비활성화된 후에도 이전에 표시되었던 위치를 탭하면 조이스틱을 계속 사용할 수 있습니다.),"(Poznámka: Joystick můžete používat i po deaktivaci, když klepnete na místo, kde byl předtím vidět)","(Megjegyzés: A letiltott joystickot továbbra is használhatja, amikor megérinti azt a helyet, ahol korábban látható volt)",(Notă: puteți folosi în continuare joystick-ul odată dezactivat când atingeți unde erau vizibile anterior),(หมายเหตุ: คุณยังคงสามารถใช้จอยสติ๊กได้เมื่อปิดใช้งานแล้วเมื่อคุณแตะตำแหน่งที่มองเห็นได้ก่อนหน้านี้),"(Забележка: Все още можете да използвате джойстика, след като бъде деактивиран, когато докоснете там, където са били видими преди)",(הערה: אתה עדיין יכול להשתמש בג'ויסטיק לאחר השבתה כאשר אתה מקיש במקום שבו הם היו גלויים בעבר),(ملاحظة: لا يزال بإمكانك استخدام عصا التحكم بمجرد تعطيلها عند النقر على المكان الذي كانت مرئية فيه سابقًا),(Napomena: Još uvijek možete koristiti džojstik kada je onemogućen kada dodirnete mjesto gdje su prethodno bili vidljivi) +CONTROLS_ARROW_KEYS,,Arrow keys,Touches fléchées,teclas de flecha,Pfeiltasten,Tasti freccia,Teclas de seta,Teclas de seta,Клавиши со стрелками,Πλήκτρα βέλους,Ok tuşları,Piletasterne,Piltastene,Piltangenter,Pijltjestoetsen,Klawisze strzałek,Nuolinäppäimet,矢印キー,方向键,方向键,화살표 키,Klávesy se šipkami,Nyilak,Tastele săgeți,ปุ่มลูกศร,Клавиши със стрелки,מקשי החצים,مفاتيح الأسهم,Tasteri sa strelicama +CONTROLS_MOVEMENT,,Movement,Mouvement,Movimiento,Bewegung,Movimento,Movimento,Movimento,Движение,Κίνηση,Hareket,Bevægelse,Bevegelse,Rörelse,Beweging,Ruch,Liike,動き,移动,移动,움직임,Hnutí,Mozgás,Circulaţie,ความเคลื่อนไหว,Движение,תְנוּעָה,حركة,Pokret TOUCH_CONTROLS_LABEL,,For touchscreen,Pour écran tactile,Para pantalla táctil,Für Touchscreen,Per touchscreen,Para tela sensível ao toque,Para tela sensível ao toque,Для сенсорного экрана,Για οθόνη αφής,Dokunmatik ekran için,Til touchskærm,For berøringsskjerm,För pekskärm,Voor touchscreen,Do ekranu dotykowego,Kosketusnäytölle,タッチスクリーン用,用于触摸屏,用于触摸屏,터치스크린용,Pro dotykovou obrazovku,Érintőképernyőhöz,Pentru ecran tactil,สำหรับหน้าจอสัมผัส,За сензорен екран,עבור מסך מגע,لشاشة اللمس,Za ekran osetljiv na dodir HELP_JOYSTICK_CONTROLS,,Joystick: move,Joystick : bouger,Palanca de mando: mover,Joystick: bewegen,Joystick: muovi,Joystick: mover,Joystick: mover,Джойстик: двигаться,Joystick: κίνηση,Kumanda kolu: hareket ettir,Joystick: Bevæg dig,Joystick: flytt,Joystick: flytta,Joystick: bewegen,Joystick: poruszaj się,Joystick: liiku,ジョイスティック: 移動,操纵杆:移动,操纵杆:移动,조이스틱: 이동,Joystick: pohyb,Joystick: mozog,Joystick: mișcă,จอยสติ๊ก: ย้าย,Джойстик: движение,ג'ויסטיק: זז,عصا التحكم: تحرك,Džojstik: pokret HELP_FIRE_BUTTON_CONTROLS,,bottom right button: fire,bouton en bas à droite : feu,botón inferior derecho: fuego,Knopf unten rechts: Feuer,pulsante in basso a destra: fuoco,botão inferior direito: fogo,botão inferior direito: fogo,нижняя правая кнопка: огонь,κάτω δεξιά κουμπί: φωτιά,sağ alt düğme: ateş,nederste højre knap: brand,nederste høyre knapp: brann,nedre högra knappen: eld,knop rechtsonder: vuur,prawy dolny przycisk: ogień,alhaalla oikea painike: tuli,右下のボタン:発射,右下按钮:开火,右下按钮:开火,오른쪽 하단 버튼: 발사,tlačítko vpravo dole: oheň,jobb alsó gomb: tűz,butonul din dreapta jos: foc,ปุ่มล่างขวา: ไฟ,долен десен бутон: огън,כפתור ימין למטה: אש,الزر الأيمن السفلي: النار,donje desno dugme: vatra -GAME_SETTINGS_LABEL,,Settings,Paramètres,Ajustes,Einstellungen,Impostazioni,Configurações,Configurações,Настройки,Ρυθμίσεις,Ayarlar,Indstillinger,Innstillinger,inställningar,Instellingen,Ustawienia,asetukset,設定,设置,设置,설정,Nastavení,Beállítások,Setări,การตั้งค่า,Настройки,הגדרות,إعدادات,Postavke \ No newline at end of file +GAME_SETTINGS_LABEL,,Settings,Paramètres,Ajustes,Einstellungen,Impostazioni,Configurações,Configurações,Настройки,Ρυθμίσεις,Ayarlar,Indstillinger,Innstillinger,Inställningar,Instellingen,Ustawienia,Asetukset,設定,设置,设置,설정,Nastavení,Beállítások elemre,Setări,การตั้งค่า,Настройки,הגדרות,إعدادات,Postavke +HELP_ANDROID_CONTROLS,,"If you are having trouble with the current android controls, you can use the alternative controls by turning ""use alternative control scheme"" on, hold the right or left side of the screen to move right or left.","Si vous rencontrez des problèmes avec les commandes Android actuelles, vous pouvez utiliser les commandes alternatives en activant « Utiliser un schéma de contrôle alternatif », maintenez le côté droit ou gauche de l'écran pour vous déplacer vers la droite ou la gauche.","Si tiene problemas con los controles actuales de Android, puede usar los controles alternativos activando ""usar esquema de control alternativo"", mantenga presionado el lado derecho o izquierdo de la pantalla para moverse hacia la derecha o hacia la izquierda.","Wenn Sie Probleme mit den aktuellen Android-Steuerelementen haben, können Sie die alternativen Steuerelemente verwenden, indem Sie „Alternatives Steuerschema verwenden“ aktivieren und die rechte oder linke Seite des Bildschirms gedrückt halten, um nach rechts oder links zu navigieren.","Se riscontri problemi con gli attuali controlli Android, puoi utilizzare i controlli alternativi attivando ""usa schema di controllo alternativo"", tieni premuto il lato destro o sinistro dello schermo per spostarti a destra o a sinistra.","Se estiver tendo problemas com os controles atuais do Android, você pode usar os controles alternativos ativando ""usar esquema de controle alternativo"", segurando o lado direito ou esquerdo da tela para mover para a direita ou para a esquerda.","Se estiver tendo problemas com os controles atuais do Android, você pode usar os controles alternativos ativando ""usar esquema de controle alternativo"", segurando o lado direito ou esquerdo da tela para mover para a direita ou para a esquerda.","Если у вас возникли проблемы с текущими элементами управления Android, вы можете использовать альтернативные элементы управления, включив «использовать альтернативную схему управления» и удерживая правую или левую часть экрана, перемещаться вправо или влево.","Εάν αντιμετωπίζετε προβλήματα με τα τρέχοντα χειριστήρια του Android, μπορείτε να χρησιμοποιήσετε τα εναλλακτικά στοιχεία ελέγχου ενεργοποιώντας τη ""χρήση εναλλακτικού συστήματος ελέγχου"", κρατήστε πατημένο τη δεξιά ή την αριστερή πλευρά της οθόνης για να μετακινηθείτε δεξιά ή αριστερά.","Mevcut android kontrollerinde sorun yaşıyorsanız ""alternatif kontrol şemasını kullan"" seçeneğini açarak alternatif kontrolleri kullanabilir, ekranın sağ veya sol tarafını basılı tutarak sağa veya sola hareket edebilirsiniz.","Hvis du har problemer med de aktuelle Android-kontroller, kan du bruge de alternative kontroller ved at slå ""brug alternativ kontrolskema"" til, holde højre eller venstre side af skærmen for at flytte til højre eller venstre.","Hvis du har problemer med de gjeldende Android-kontrollene, kan du bruke de alternative kontrollene ved å slå på ""bruk alternativt kontrollskjema"", hold høyre eller venstre side av skjermen for å flytte til høyre eller venstre.","Om du har problem med de nuvarande Android-kontrollerna kan du använda de alternativa kontrollerna genom att aktivera ""använd alternativt kontrollschema"", håll höger eller vänster sida av skärmen för att flytta åt höger eller vänster.","Als u problemen ondervindt met de huidige Android-besturing, kunt u de alternatieve besturing gebruiken door ""gebruik alternatief besturingsschema"" in te schakelen, de rechter- of linkerkant van het scherm vast te houden om naar rechts of links te bewegen.","Jeśli masz problemy z bieżącym sterowaniem Androidem, możesz skorzystać z alternatywnych elementów sterujących, włączając opcję „użyj alternatywnego schematu sterowania” i przytrzymaj prawą lub lewą stronę ekranu, aby przejść w prawo lub w lewo.","Jos sinulla on ongelmia nykyisten Android-säätimien kanssa, voit käyttää vaihtoehtoisia säätimiä ottamalla ""käytä vaihtoehtoista ohjausjärjestelmää"" päälle, pitämällä näytön oikeaa tai vasenta reunaa liikkuaksesi oikealle tai vasemmalle.",現在の Android コントロールに問題がある場合は、「代替コントロール スキームを使用する」をオンにして、画面の右側または左側を押したまま右または左に移動することで、代替コントロールを使用できます。,如果您在使用当前的 Android 控件时遇到问题,可以通过打开“使用替代控制方案”来使用替代控件,按住屏幕的右侧或左侧可向右或向左移动。,如果您在使用当前的 Android 控件时遇到问题,可以通过打开“使用替代控制方案”来使用替代控件,按住屏幕的右侧或左侧可向右或向左移动。,"현재 안드로이드 컨트롤에 문제가 있는 경우 ""대체 컨트롤 구성표 사용""을 켜서 대체 컨트롤을 사용할 수 있습니다. 화면의 오른쪽이나 왼쪽을 길게 눌러 오른쪽이나 왼쪽으로 이동할 수 있습니다.","Pokud máte potíže se současnými ovládacími prvky systému Android, můžete použít alternativní ovládací prvky zapnutím funkce „použít alternativní schéma ovládání“, podržením pravé nebo levé strany obrazovky se přesunete doprava nebo doleva.","Ha problémái vannak a jelenlegi Android vezérlőkkel, használhatja az alternatív vezérlőket az ""alternatív vezérlési séma használata"" bekapcsolásával, és tartsa lenyomva a képernyő jobb vagy bal oldalát, hogy jobbra vagy balra mozogjon.","Dacă întâmpinați probleme cu comenzile Android actuale, puteți utiliza comenzile alternative activând „Utilizați schema de control alternativă”, țineți apăsată partea dreaptă sau stângă a ecranului pentru a vă deplasa la dreapta sau la stânga.","หากคุณประสบปัญหากับส่วนควบคุม Android ในปัจจุบัน คุณสามารถใช้ส่วนควบคุมอื่นได้โดยเปิด ""ใช้รูปแบบการควบคุมอื่น"" จากนั้นกดด้านขวาหรือซ้ายของหน้าจอค้างไว้เพื่อเลื่อนไปทางขวาหรือซ้าย","Ако имате проблеми с текущите контроли на android, можете да използвате алтернативните контроли, като включите „използване на алтернативна схема за управление“, задръжте дясната или лявата страна на екрана, за да се движите надясно или наляво.","אם אתה נתקל בבעיות עם פקדי האנדרואיד הנוכחיים, אתה יכול להשתמש בפקדים החלופיים על ידי הפעלת ""השתמש בסכימת שליטה חלופית"", החזק את הצד הימני או השמאלי של המסך כדי לנוע ימינה או שמאלה.","إذا كنت تواجه مشكلة مع عناصر التحكم الحالية في Android، فيمكنك استخدام عناصر التحكم البديلة عن طريق تشغيل ""استخدام نظام التحكم البديل""، مع الاستمرار على الجانب الأيمن أو الأيسر من الشاشة للتحرك يمينًا أو يسارًا.","Ako imate problema sa trenutnim android kontrolama, možete koristiti alternativne kontrole uključivanjem ""Koristi alternativnu šemu kontrole"", držite desnu ili lijevu stranu ekrana da biste se pomicali udesno ili ulijevo." +MENU_OPTIONS_USE_ALT_CONTROLS,,Use alternative control scheme,Utiliser un schéma de contrôle alternatif,Utilice un esquema de control alternativo,Verwenden Sie ein alternatives Steuerungsschema,Utilizzare uno schema di controllo alternativo,Use esquema de controle alternativo,Use esquema de controle alternativo,Использовать альтернативную схему управления,Χρησιμοποιήστε εναλλακτικό σχήμα ελέγχου,Alternatif kontrol şemasını kullanın,Brug alternativ kontrolordning,Bruk alternativ kontrollplan,Använd alternativt kontrollschema,Gebruik een alternatief controleschema,Użyj alternatywnego schematu sterowania,Käytä vaihtoehtoista ohjausjärjestelmää,代替制御スキームを使用する,使用替代控制方案,使用替代控制方案,대체 제어 방식 사용,Použijte alternativní schéma ovládání,Használjon alternatív szabályozási sémát,Utilizați o schemă de control alternativă,ใช้แผนการควบคุมทางเลือก,Използвайте алтернативна схема за управление,השתמש בסכימת בקרה חלופית,استخدام نظام التحكم البديل,Koristite alternativnu šemu upravljanja \ No newline at end of file diff --git a/locale/translations.da.translation b/locale/translations.da.translation index c824fe4..d755941 100644 Binary files a/locale/translations.da.translation and b/locale/translations.da.translation differ diff --git a/locale/translations.de.translation b/locale/translations.de.translation index 2f5cd71..8057236 100644 Binary files a/locale/translations.de.translation and b/locale/translations.de.translation differ diff --git a/locale/translations.el.translation b/locale/translations.el.translation index c30f13c..a00f367 100644 Binary files a/locale/translations.el.translation and b/locale/translations.el.translation differ diff --git a/locale/translations.en.translation b/locale/translations.en.translation index 33defe7..e0f353f 100644 Binary files a/locale/translations.en.translation and b/locale/translations.en.translation differ diff --git a/locale/translations.es.translation b/locale/translations.es.translation index 552aed0..82c30b5 100644 Binary files a/locale/translations.es.translation and b/locale/translations.es.translation differ diff --git a/locale/translations.fi.translation b/locale/translations.fi.translation index 4860e86..1c8997d 100644 Binary files a/locale/translations.fi.translation and b/locale/translations.fi.translation differ diff --git a/locale/translations.fr.translation b/locale/translations.fr.translation index fea7c04..ef28da7 100644 Binary files a/locale/translations.fr.translation and b/locale/translations.fr.translation differ diff --git a/locale/translations.he.translation b/locale/translations.he.translation index 428c274..3fa4965 100644 Binary files a/locale/translations.he.translation and b/locale/translations.he.translation differ diff --git a/locale/translations.hu.translation b/locale/translations.hu.translation index dcf6e75..3169e85 100644 Binary files a/locale/translations.hu.translation and b/locale/translations.hu.translation differ diff --git a/locale/translations.it.translation b/locale/translations.it.translation index 0a2ec28..852c34e 100644 Binary files a/locale/translations.it.translation and b/locale/translations.it.translation differ diff --git a/locale/translations.ja.translation b/locale/translations.ja.translation index 3a6acaf..84f555d 100644 Binary files a/locale/translations.ja.translation and b/locale/translations.ja.translation differ diff --git a/locale/translations.ko.translation b/locale/translations.ko.translation index 717c32c..6c75d26 100644 Binary files a/locale/translations.ko.translation and b/locale/translations.ko.translation differ diff --git a/locale/translations.lzh.translation b/locale/translations.lzh.translation index 9c2e1b9..288db31 100644 Binary files a/locale/translations.lzh.translation and b/locale/translations.lzh.translation differ diff --git a/locale/translations.nb.translation b/locale/translations.nb.translation index 71bed4b..187bd37 100644 Binary files a/locale/translations.nb.translation and b/locale/translations.nb.translation differ diff --git a/locale/translations.nl.translation b/locale/translations.nl.translation index 23e5ac5..44155a2 100644 Binary files a/locale/translations.nl.translation and b/locale/translations.nl.translation differ diff --git a/locale/translations.pl.translation b/locale/translations.pl.translation index fe82818..3fd40f8 100644 Binary files a/locale/translations.pl.translation and b/locale/translations.pl.translation differ diff --git a/locale/translations.pt.translation b/locale/translations.pt.translation index 6560d9d..26c2223 100644 Binary files a/locale/translations.pt.translation and b/locale/translations.pt.translation differ diff --git a/locale/translations.ro.translation b/locale/translations.ro.translation index bb23819..d64c53a 100644 Binary files a/locale/translations.ro.translation and b/locale/translations.ro.translation differ diff --git a/locale/translations.ru.translation b/locale/translations.ru.translation index d947b0e..97e1abc 100644 Binary files a/locale/translations.ru.translation and b/locale/translations.ru.translation differ diff --git a/locale/translations.sv.translation b/locale/translations.sv.translation index a74cf46..e265ada 100644 Binary files a/locale/translations.sv.translation and b/locale/translations.sv.translation differ diff --git a/locale/translations.th.translation b/locale/translations.th.translation index eaa2188..6e53ade 100644 Binary files a/locale/translations.th.translation and b/locale/translations.th.translation differ diff --git a/locale/translations.tr.translation b/locale/translations.tr.translation index aaf30b4..cb8b962 100644 Binary files a/locale/translations.tr.translation and b/locale/translations.tr.translation differ diff --git a/locale/translations.zh.translation b/locale/translations.zh.translation index 9e0d3c2..934afea 100644 Binary files a/locale/translations.zh.translation and b/locale/translations.zh.translation differ diff --git a/resources/button-theme.tres b/resources/button-theme.tres index 759161c..9305902 100644 --- a/resources/button-theme.tres +++ b/resources/button-theme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://bmy6kos4l110s"] +[gd_resource type="Theme" load_steps=9 format=3 uid="uid://bmy6kos4l110s"] [ext_resource type="FontFile" uid="uid://5u8hgsjkihsm" path="res://art-and-sound/kenney_space-shooter-redux/Bonus/kenvector_future.ttf" id="1_tli68"] @@ -18,9 +18,22 @@ corner_radius_top_right = 8 corner_radius_bottom_right = 8 corner_radius_bottom_left = 8 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bovvx"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6u3qw"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_2i5pt"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_v2drj"] + [resource] default_font = ExtResource("1_tli68") default_font_size = 34 /styles/stylebox_custom = SubResource("StyleBoxFlat_wwy38") Button/styles/hover = SubResource("StyleBoxEmpty_yq41d") Button/styles/normal = SubResource("StyleBoxFlat_8ugsr") +NoOutlineButton/base_type = &"Button" +NoOutlineButton/styles/disabled = SubResource("StyleBoxEmpty_bovvx") +NoOutlineButton/styles/disabled_mirrored = SubResource("StyleBoxEmpty_6u3qw") +NoOutlineButton/styles/focus = SubResource("StyleBoxEmpty_2i5pt") +NoOutlineButton/styles/hover = SubResource("StyleBoxEmpty_v2drj") diff --git a/scenes/game_state.gd b/scenes/game_state.gd index 5c9db0d..ae850e4 100644 --- a/scenes/game_state.gd +++ b/scenes/game_state.gd @@ -17,6 +17,7 @@ var locale : String = "en" var frenzy_high_score : int = 0 var frenzy_lowest_score:int = 0 var first_time_opened: bool +var player_alt_touch_controls: bool = false #region Saving and loading func _ready() -> void: @@ -48,7 +49,8 @@ func save_game(): "boss_defeated": boss_defeated, "locale": locale, "frenzy_high_score": frenzy_high_score, - "frenzy_lowest_score": frenzy_lowest_score + "frenzy_lowest_score": frenzy_lowest_score, + "player_alt_touch_controls": player_alt_touch_controls, } var jstr := JSON.stringify(data) @@ -70,4 +72,5 @@ func load_game(): locale = current_line["locale"] frenzy_high_score = current_line["frenzy_high_score"] frenzy_lowest_score = current_line["frenzy_lowest_score"] + player_alt_touch_controls = current_line["player_alt_touch_controls"] #endregion diff --git a/scenes/hud.gd b/scenes/hud.gd index f8d0318..2da132d 100644 --- a/scenes/hud.gd +++ b/scenes/hud.gd @@ -11,7 +11,16 @@ func _ready() -> void: %"Virtual Joystick".visible = GameState.joystick_is_visible %FireButton.visible = GameState.fire_button_is_visible - # Connect to player signals + if GameState.player_alt_touch_controls: + %LeftTouchScreenButton.show() + %RightTouchScreenButton.show() + %"Virtual Joystick".process_mode = Node.PROCESS_MODE_DISABLED + %"Virtual Joystick".hide() + %FireButton.scale = Vector2(4,4) + # idk how this works but (width + size)/2 doesnt + %FireButton.global_position.x = ProjectSettings.get_setting("display/window/size/viewport_width")/2 - (%FireButton.size.x * %FireButton.scale.x)/2 + + # Connect to player signals (for opening scene without player i.e debugging) if player: player.bullet_fired.connect(_on_player_bullet_fired) player.bullets_reset.connect(_on_player_bullets_reset) @@ -63,3 +72,24 @@ func _on_player_bullet_fired() -> void: func _on_player_bullets_reset() -> void: update_bullets_bar(0) + + +func _on_right_touch_screen_button_button_down() -> void: + Input.action_press("right") + + +func _on_left_touch_screen_button_button_down() -> void: + Input.action_press("left") + + +func _on_right_touch_screen_button_button_up() -> void: + Input.action_release("right") + + +func _on_left_touch_screen_button_button_up() -> void: + Input.action_release("left") + + +func _on_fire_button_button_down() -> void: + Input.action_press("fire") + Input.action_release("fire") diff --git a/scenes/hud.tscn b/scenes/hud.tscn index 7538d1f..adc360c 100644 --- a/scenes/hud.tscn +++ b/scenes/hud.tscn @@ -4,9 +4,10 @@ [ext_resource type="LabelSettings" uid="uid://bj4owgofe5ayt" path="res://resources/textstyle.tres" id="2_8bg75"] [ext_resource type="LabelSettings" uid="uid://cnoygoxh0kgme" path="res://resources/small_textstyle.tres" id="3_6pdgi"] [ext_resource type="PackedScene" uid="uid://dmr0fcamx7t56" path="res://addons/joystick/virtual_joystick.tscn" id="5_vxcta"] -[ext_resource type="Texture2D" uid="uid://0jhdq4bj5wh3" path="res://art-and-sound/kenney_space-shooter-redux/PNG/Meteors/meteorBrown_small1.png" id="6_m0fvi"] +[ext_resource type="Texture2D" uid="uid://ceroyuqbhc4ys" path="res://art-and-sound/kenney_space-shooter-redux/PNG/Meteors/meteorBrown_med1.png" id="6_5rvp1"] [ext_resource type="Texture2D" uid="uid://b7fpmcg7ian2w" path="res://art-and-sound/missile/spr_missile.png" id="6_o465q"] [ext_resource type="Texture2D" uid="uid://c33xrciyt6ilb" path="res://art-and-sound/bg_1_1.png" id="7_2s6xh"] +[ext_resource type="Theme" uid="uid://bmy6kos4l110s" path="res://resources/button-theme.tres" id="7_oub31"] [sub_resource type="Animation" id="Animation_c728u"] length = 0.001 @@ -75,9 +76,6 @@ _data = { "showText": SubResource("Animation_ye65v") } -[sub_resource type="RectangleShape2D" id="RectangleShape2D_7yggq"] -size = Vector2(30, 30) - [node name="HUD" type="CanvasLayer"] layer = -3 script = ExtResource("1_ocri0") @@ -190,17 +188,6 @@ action_up = "up" action_down = "down" metadata/_edit_use_anchors_ = true -[node name="FireButton" type="TouchScreenButton" parent="Control"] -unique_name_in_owner = true -modulate = Color(1, 1, 1, 0.52549) -texture_filter = 1 -position = Vector2(450, 950) -scale = Vector2(4.515, 4.20588) -texture_normal = ExtResource("6_m0fvi") -shape = SubResource("RectangleShape2D_7yggq") -action = "fire" -visibility_mode = 1 - [node name="VBoxContainer" type="VBoxContainer" parent="Control"] layout_mode = 1 anchors_preset = 15 @@ -252,3 +239,55 @@ text = "0" label_settings = ExtResource("2_8bg75") horizontal_alignment = 2 vertical_alignment = 2 + +[node name="TouchAltVBoxContainer" type="VBoxContainer" parent="Control"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +metadata/_edit_use_anchors_ = true + +[node name="HBoxContainer" type="HBoxContainer" parent="Control/TouchAltVBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 +size_flags_stretch_ratio = 2.75 + +[node name="LeftTouchScreenButton" type="Button" parent="Control/TouchAltVBoxContainer/HBoxContainer"] +unique_name_in_owner = true +visible = false +modulate = Color(1, 1, 1, 0) +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="RightTouchScreenButton" type="Button" parent="Control/TouchAltVBoxContainer/HBoxContainer"] +unique_name_in_owner = true +visible = false +modulate = Color(1, 1, 1, 0) +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Control" type="Control" parent="Control/TouchAltVBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="FireButton" type="Button" parent="Control/TouchAltVBoxContainer/Control"] +unique_name_in_owner = true +modulate = Color(1, 1, 1, 0.52549) +layout_mode = 0 +offset_left = 399.0 +offset_top = 53.0001 +offset_right = 450.0 +offset_bottom = 104.0 +scale = Vector2(3.205, 3.205) +focus_mode = 0 +theme = ExtResource("7_oub31") +icon = ExtResource("6_5rvp1") +icon_alignment = 1 + +[connection signal="button_down" from="Control/TouchAltVBoxContainer/HBoxContainer/LeftTouchScreenButton" to="." method="_on_left_touch_screen_button_button_down"] +[connection signal="button_up" from="Control/TouchAltVBoxContainer/HBoxContainer/LeftTouchScreenButton" to="." method="_on_left_touch_screen_button_button_up"] +[connection signal="button_down" from="Control/TouchAltVBoxContainer/HBoxContainer/RightTouchScreenButton" to="." method="_on_right_touch_screen_button_button_down"] +[connection signal="button_up" from="Control/TouchAltVBoxContainer/HBoxContainer/RightTouchScreenButton" to="." method="_on_right_touch_screen_button_button_up"] +[connection signal="button_down" from="Control/TouchAltVBoxContainer/Control/FireButton" to="." method="_on_fire_button_button_down"] diff --git a/scenes/player_rock.gd b/scenes/player_rock.gd index 4e3a159..4b846c1 100644 --- a/scenes/player_rock.gd +++ b/scenes/player_rock.gd @@ -21,8 +21,13 @@ func _physics_process(delta): if visible: %Sprite2D.rotation += delta * PI/2 var direction = Input.get_vector("left", "right","up","down") - velocity = direction * SPEED - velocity.y /= 2 + if GameState.player_alt_touch_controls: + velocity.x = direction.x * SPEED + velocity.y = SPEED/2 + velocity *= abs(velocity.normalized()) + else: + velocity = direction * SPEED + velocity.y /= 2 move_and_slide() if Input.is_action_just_pressed("fire"): diff --git a/scenes/settings.gd b/scenes/settings.gd index 98b678d..41c22f9 100644 --- a/scenes/settings.gd +++ b/scenes/settings.gd @@ -97,12 +97,17 @@ func _on_language_option_button_item_selected(index: int) -> void: GameState.locale = locale +func _on_android_automove_button_toggled(toggled_on: bool) -> void: + GameState.player_alt_touch_controls = toggled_on + update_buttons() + GameState.save_game() func update_buttons(): $VBoxContainer/SoundEffectsButton.button_pressed = GameState.sound_effects $VBoxContainer/MusicButton.button_pressed = GameState.music $VBoxContainer/JoystickButton.button_pressed = GameState.joystick_is_visible $VBoxContainer/FireTouchButton.button_pressed = GameState.fire_button_is_visible + $VBoxContainer/AndroidAutomoveButton.button_pressed = GameState.player_alt_touch_controls func _on_back_button_pressed() -> void: %MenuClickSound.play() @@ -110,6 +115,7 @@ func _on_back_button_pressed() -> void: Transition.change_scene_with_transition("res://scenes/main.tscn") + #region Text Size and Fullscreen button """ const TEXT_THEMES = [ diff --git a/scenes/settings.tscn b/scenes/settings.tscn index 62bd8b8..76379be 100644 --- a/scenes/settings.tscn +++ b/scenes/settings.tscn @@ -81,6 +81,13 @@ theme = ExtResource("4_w4twb") text = "HUD_FIRE_BUTTON_VISIBILITY" alignment = 1 +[node name="AndroidAutomoveButton" type="CheckButton" parent="VBoxContainer"] +layout_mode = 2 +theme = ExtResource("4_w4twb") +text = "MENU_OPTIONS_USE_ALT_CONTROLS" +alignment = 1 +autowrap_mode = 3 + [node name="LanguageOptionsButton" type="OptionButton" parent="VBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 200) @@ -146,5 +153,6 @@ bus = &"SoundEffects" [connection signal="toggled" from="VBoxContainer/MusicButton" to="." method="_on_music_button_toggled"] [connection signal="toggled" from="VBoxContainer/JoystickButton" to="." method="_on_joystick_button_toggled"] [connection signal="toggled" from="VBoxContainer/FireTouchButton" to="." method="_on_fire_touch_button_toggled"] +[connection signal="toggled" from="VBoxContainer/AndroidAutomoveButton" to="." method="_on_android_automove_button_toggled"] [connection signal="item_selected" from="VBoxContainer/LanguageOptionsButton" to="." method="_on_language_option_button_item_selected"] [connection signal="pressed" from="BackButton" to="." method="_on_back_button_pressed"] diff --git a/scenes/tutorial.tscn b/scenes/tutorial.tscn index e5189da..731e4a8 100644 --- a/scenes/tutorial.tscn +++ b/scenes/tutorial.tscn @@ -164,4 +164,11 @@ horizontal_alignment = 1 vertical_alignment = 1 autowrap_mode = 3 +[node name="Label" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "HELP_ANDROID_CONTROLS" +label_settings = ExtResource("5_jbwbu") +horizontal_alignment = 1 +autowrap_mode = 3 + [connection signal="pressed" from="BackButton" to="." method="_on_back_button_pressed"] diff --git a/scenes/world.tscn b/scenes/world.tscn index dc3e049..790d2c3 100644 --- a/scenes/world.tscn +++ b/scenes/world.tscn @@ -64,6 +64,7 @@ position_smoothing_speed = 7.0 [node name="ProjectilePath" type="Path2D" parent="Camera2D2"] unique_name_in_owner = true +position = Vector2(6, -445) curve = SubResource("Curve2D_pkpba") metadata/_edit_group_ = true