diff --git a/CHANGELOG.md b/CHANGELOG.md index b8e9e3c..a7b5597 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## v0.12.0 Changes + +- Now supports android TV and its variants properly, +- Tried it on an fully android 7.1.1 smartwatch and it is somewhat playable with alt controls +- The start button is immediately brought into focus, which allows all buttons to be accessed by tab movement or android tv remotes +- Added x86 and x86 64 android versions + ## v0.11.3 Changes - Add arrows for alt controls at the bottom left and right of the screen diff --git a/export_presets.cfg b/export_presets.cfg index 1d4dd38..74145b3 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -436,7 +436,7 @@ architectures/armeabi-v7a=true architectures/arm64-v8a=false architectures/x86=false architectures/x86_64=false -version/code=100107 +version/code=100110 version/name="0.11.3" package/unique_name="com.game.asteroids_revenge" package/name="" @@ -447,8 +447,8 @@ package/exclude_from_recents=false package/show_in_android_tv=true package/show_in_app_library=true package/show_as_launcher_app=false -launcher_icons/main_192x192="" -launcher_icons/adaptive_foreground_432x432="" +launcher_icons/main_192x192="res://icons/icon.png" +launcher_icons/adaptive_foreground_432x432="res://icons/icon.png" launcher_icons/adaptive_background_432x432="" graphics/opengl_debug=false xr_features/xr_mode=0 @@ -644,7 +644,7 @@ architectures/armeabi-v7a=false architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false -version/code=100108 +version/code=100111 version/name="0.11.3" package/unique_name="com.game.asteroids_revenge" package/name="" @@ -821,6 +821,214 @@ permissions/write_user_dictionary=false [preset.6] +name="Android x86_64" +platform="Android" +runnable=false +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="exports/asteroids-revenge-android-x86_64.apk" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.6.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="" +architectures/armeabi-v7a=false +architectures/arm64-v8a=false +architectures/x86=true +architectures/x86_64=true +version/code=100112 +version/name="0.11.3" +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=true +package/show_in_app_library=true +package/show_as_launcher_app=false +launcher_icons/main_192x192="res://icons/icon.png" +launcher_icons/adaptive_foreground_432x432="res://icons/icon.png" +launcher_icons/adaptive_background_432x432="" +graphics/opengl_debug=false +xr_features/xr_mode=0 +screen/immersive_mode=true +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +user_data_backup/allow=true +command_line/extra_args="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +permissions/custom_permissions=PackedStringArray() +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/manage_external_storage=false +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/post_notifications=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false + +[preset.7] + name="Linux/X11 (arm64)" platform="Linux" runnable=false @@ -837,7 +1045,7 @@ encrypt_pck=false encrypt_directory=false script_export_mode=2 -[preset.6.options] +[preset.7.options] custom_template/debug="" custom_template/release="" diff --git a/fastlane/metadata/android/en-US/changelogs/100111.txt b/fastlane/metadata/android/en-US/changelogs/100111.txt new file mode 100644 index 0000000..29bec3e --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/100111.txt @@ -0,0 +1,7 @@ +v0.12.0 Changes + +- Now supports android TV and its variants properly, +- Tried it on an fully android 7.1.1 smartwatch and it is somewhat playable with alt controls +- The start button is immediately brought into focus, which allows all buttons to be accessed by tab movement or android tv remotes +- Added x86 and x86 64 android versions + diff --git a/project.godot b/project.godot index 6bfdbcd..a5900f6 100644 --- a/project.godot +++ b/project.godot @@ -48,29 +48,35 @@ down={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":false,"script":null) ] } up={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":false,"script":null) ] } right={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } left={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } fire={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } diff --git a/resources/button-theme.tres b/resources/button-theme.tres index 9305902..c02c2b5 100644 --- a/resources/button-theme.tres +++ b/resources/button-theme.tres @@ -1,5 +1,6 @@ -[gd_resource type="Theme" load_steps=9 format=3 uid="uid://bmy6kos4l110s"] +[gd_resource type="Theme" load_steps=10 format=3 uid="uid://bmy6kos4l110s"] +[ext_resource type="StyleBox" uid="uid://dfgh43i4b1mqt" path="res://resources/darken_slightly.tres" id="1_85sep"] [ext_resource type="FontFile" uid="uid://5u8hgsjkihsm" path="res://art-and-sound/kenney_space-shooter-redux/Bonus/kenvector_future.ttf" id="1_tli68"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wwy38"] @@ -37,3 +38,5 @@ 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") +OnlyDarkenButton/base_type = &"Button" +OnlyDarkenButton/styles/pressed = ExtResource("1_85sep") diff --git a/resources/darken_slightly.tres b/resources/darken_slightly.tres new file mode 100644 index 0000000..3f65cc3 --- /dev/null +++ b/resources/darken_slightly.tres @@ -0,0 +1,7 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://dfgh43i4b1mqt"] + +[ext_resource type="Texture2D" uid="uid://fbqq070gb4a8" path="res://art-and-sound/kenney_space-shooter-redux/Backgrounds/darkPurple.png" id="1_hgd7m"] + +[resource] +texture = ExtResource("1_hgd7m") +modulate_color = Color(1, 1, 1, 0.564706) diff --git a/scenes/Main.gd b/scenes/Main.gd index 592dff3..cd46a21 100644 --- a/scenes/Main.gd +++ b/scenes/Main.gd @@ -10,7 +10,7 @@ func _ready() -> void: %HardModeButton.show() %HintLabel.hide() GameState.save_game() - + %StartButton.grab_focus() func _on_start_button_pressed(): diff --git a/scenes/main.tscn b/scenes/main.tscn index bdd1e68..9707097 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=3 uid="uid://dh74b3h6q3026"] +[gd_scene load_steps=14 format=3 uid="uid://dh74b3h6q3026"] [ext_resource type="Script" path="res://scenes/Main.gd" id="1_0lgb2"] [ext_resource type="Theme" uid="uid://vdypn6ym62cq" path="res://scenes/main-theme.tres" id="1_jeava"] @@ -12,13 +12,6 @@ [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6uu41"] -[sub_resource type="InputEventKey" id="InputEventKey_0cih4"] -device = -1 -keycode = 4194309 - -[sub_resource type="Shortcut" id="Shortcut_f7s2m"] -events = [SubResource("InputEventKey_0cih4")] - [sub_resource type="Animation" id="Animation_bg1rt"] length = 0.001 tracks/0/type = "value" @@ -79,11 +72,6 @@ size_flags_vertical = 4 texture = ExtResource("2_as2ci") metadata/_edit_use_anchors_ = true -[node name="SettingsButton" type="TouchScreenButton" parent="."] -modulate = Color(1, 1, 1, 0.827451) -position = Vector2(546, 1054) -texture_normal = ExtResource("6_3qcx3") - [node name="BGM" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("7_62cej") autoplay = true @@ -111,9 +99,10 @@ layout_mode = 2 alignment = 1 metadata/_edit_use_anchors_ = true -[node name="SpacerConrol" type="Control" parent="MarginContainer/VBoxContainer"] +[node name="SpacerControl" type="Control" parent="MarginContainer/VBoxContainer"] layout_mode = 2 size_flags_vertical = 3 +size_flags_stretch_ratio = 2.3 [node name="GameName" type="Label" parent="MarginContainer/VBoxContainer"] layout_mode = 2 @@ -131,7 +120,6 @@ layout_mode = 2 theme_override_fonts/font = ExtResource("3_k5igf") theme_override_font_sizes/font_size = 40 theme_override_styles/normal = SubResource("StyleBoxTexture_6uu41") -shortcut = SubResource("Shortcut_f7s2m") text = "MENU_LABEL_PLAY" [node name="HintLabel" type="Label" parent="MarginContainer/VBoxContainer"] @@ -177,13 +165,29 @@ layout_mode = 2 theme = ExtResource("5_mt70k") text = "MENU_LABEL_QUIT" -[node name="SpacerConrol2" type="Control" parent="MarginContainer/VBoxContainer"] +[node name="SpacerControl2" type="Control" parent="MarginContainer/VBoxContainer"] layout_mode = 2 size_flags_vertical = 3 size_flags_stretch_ratio = 2.67 -[connection signal="pressed" from="SettingsButton" to="." method="_on_touch_screen_button_pressed"] +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"] +layout_mode = 2 + +[node name="SpacerControl3" type="Control" parent="MarginContainer/VBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 2.3 + +[node name="SettingsButton" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"] +modulate = Color(1, 1, 1, 0.827451) +layout_mode = 2 +theme = ExtResource("5_mt70k") +icon = ExtResource("6_3qcx3") +icon_alignment = 2 + [connection signal="pressed" from="MarginContainer/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/HardModeButton" to="." method="_on_hard_mode_button_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/HelpButton" to="." method="_on_help_button_pressed"] [connection signal="pressed" from="MarginContainer/VBoxContainer/ExitButton" to="." method="_on_exit_button_pressed"] +[connection signal="pressed" from="MarginContainer/VBoxContainer/HBoxContainer/SettingsButton" to="." method="_on_touch_screen_button_pressed"] diff --git a/scenes/settings.gd b/scenes/settings.gd index 41c22f9..702a9e5 100644 --- a/scenes/settings.gd +++ b/scenes/settings.gd @@ -115,8 +115,13 @@ func _on_back_button_pressed() -> void: Transition.change_scene_with_transition("res://scenes/main.tscn") +func _on_fullscreen_button_toggled(toggled_on: bool) -> void: + if toggled_on: + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) + else: + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) -#region Text Size and Fullscreen button +# Region Text Size and Fullscreen button """ const TEXT_THEMES = [ preload("res://src/ui/theme.tres"), diff --git a/scenes/settings.tscn b/scenes/settings.tscn index 76379be..b26eb73 100644 --- a/scenes/settings.tscn +++ b/scenes/settings.tscn @@ -88,6 +88,13 @@ text = "MENU_OPTIONS_USE_ALT_CONTROLS" alignment = 1 autowrap_mode = 3 +[node name="FullscreenButton" type="CheckButton" parent="VBoxContainer"] +layout_mode = 2 +theme = ExtResource("4_w4twb") +text = "MENU_OPTIONS_FULLSCREEN" +alignment = 1 +autowrap_mode = 3 + [node name="LanguageOptionsButton" type="OptionButton" parent="VBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 200) @@ -154,5 +161,6 @@ bus = &"SoundEffects" [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="toggled" from="VBoxContainer/FullscreenButton" to="." method="_on_fullscreen_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/update_script.sh b/update_script.sh index da53735..aeb394b 100755 --- a/update_script.sh +++ b/update_script.sh @@ -63,12 +63,19 @@ fi echo "Changelog for version $version_name has been saved to $changelog_file" # Update version codes and version name in export_presets.cfg -sed -i "s/version\/code=[0-9]*/version\/code=$version_code/" export_presets.cfg -sed -i "s/version\/name=\"[^\"]*\"/version\/name=\"$version_name\"/" export_presets.cfg + +# Set version_code-1 at the top sed -i "0,/version\/code=[0-9]*/s//version\/code=$((version_code-1))/" export_presets.cfg +# Set version_code in the middle +sed -i "0,/version\/code=[0-9]*/! {0,/version\/code=[0-9]*/s//version\/code=$version_code/}" export_presets.cfg + +# Set version_code+1 at the bottom +sed -i "$(grep -n 'version/code=' export_presets.cfg | tail -n1 | cut -d: -f1),\$s/version\/code=[0-9]*/version\/code=$((version_code+1))/" export_presets.cfg + echo "Updated version codes and version name in export_presets.cfg" + # If we've made it this far, run the butler-upload script echo "Please export your releases in godot-app and push your changes to github." @@ -96,7 +103,8 @@ if [ "$exported_releases" = "yes" ]; then "./exports/asteroids-revenge-linux.x86_64" \ "./exports/asteroids-revenge-macOS.zip" \ "./exports/asteroids-revenge-android-arm64.apk" \ - "./exports/asteroids-revenge-android-arm32.apk" + "./exports/asteroids-revenge-android-arm32.apk" \ + "./exports/asteroids-revenge-android-x86_64.apk" fi echo "Upload completed successfully!"