diff --git a/assets/icon.jpg b/assets/icon.jpg new file mode 100644 index 0000000..d8acaa6 Binary files /dev/null and b/assets/icon.jpg differ diff --git a/assets/icon.jpg.import b/assets/icon.jpg.import new file mode 100644 index 0000000..dc980df --- /dev/null +++ b/assets/icon.jpg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmwlqy2skgqr6" +path="res://.godot/imported/icon.jpg-3b61e88287136a35309bec0495b40496.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icon.jpg" +dest_files=["res://.godot/imported/icon.jpg-3b61e88287136a35309bec0495b40496.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..3d01e84 Binary files /dev/null and b/assets/icon.png differ diff --git a/assets/icon.png.import b/assets/icon.png.import new file mode 100644 index 0000000..1275ad7 --- /dev/null +++ b/assets/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uwdgfkijpj34" +path="res://.godot/imported/icon.png-b6a7fb2db36edd3d95dc42f1dc8c1c5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icon.png" +dest_files=["res://.godot/imported/icon.png-b6a7fb2db36edd3d95dc42f1dc8c1c5d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/debug.keystore b/debug.keystore new file mode 100644 index 0000000..07dfbec Binary files /dev/null and b/debug.keystore differ diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..91b5902 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,305 @@ +[preset.0] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_0.1/retromario.x86_64" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" + +[preset.1] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Win_0.1/retromario.exe" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +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}'" + +[preset.2] + +name="Android" +platform="Android" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../../../../../home/jonas/Schreibtisch/Export_Mario_Android_0.1/retromario.apk" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.2.options] + +custom_template/debug="" +custom_template/release="" +gradle_build/use_gradle_build=false +gradle_build/export_format=0 +gradle_build/min_sdk="" +gradle_build/target_sdk="" +architectures/armeabi-v7a=false +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +version/code=1 +version/name="" +package/unique_name="com.example.$genname" +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_app_library=true +package/show_as_launcher_app=false +launcher_icons/main_192x192="res://assets/icon.png" +launcher_icons/adaptive_foreground_432x432="res://assets/icon.png" +launcher_icons/adaptive_background_432x432="res://assets/icon.png" +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=false +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 diff --git a/project.godot b/project.godot index 1f5cbc0..36c74b8 100644 --- a/project.godot +++ b/project.godot @@ -11,8 +11,11 @@ config_version=5 [application] config/name="RetroMario" +config/version="0.1" run/main_scene="res://scenes/level_1.tscn" config/features=PackedStringArray("4.2", "Forward Plus") +boot_splash/show_image=false +config/icon="res://assets/icon.png" [display] @@ -20,6 +23,15 @@ window/stretch/mode="viewport" [input] +ui_text_newline={ +"deadzone": 0.5, +"events": [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":4194310,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +ui_text_caret_document_end={ +"deadzone": 0.5, +"events": [] +} move_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":65,"key_label":0,"unicode":97,"echo":false,"script":null) @@ -47,6 +59,12 @@ crawl={ ] } +[input_devices] + +pointing/emulate_touch_from_mouse=true +pointing/emulate_mouse_from_touch=false + [rendering] textures/canvas_textures/default_texture_filter=0 +textures/vram_compression/import_etc2_astc=true diff --git a/scenes/player.tscn b/scenes/player.tscn index f52d841..5f84a85 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -90,7 +90,6 @@ position = Vector2(35, 0) zoom = Vector2(3, 3) limit_left = -160 limit_bottom = 32 -position_smoothing_enabled = true [node name="ColorRect" type="ColorRect" parent="Camera2D"] visible = false @@ -99,6 +98,7 @@ offset_left = -3995.0 offset_top = -1678.0 offset_right = 3965.0 offset_bottom = 1594.0 +mouse_filter = 1 color = Color(0, 0, 0, 1) [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] @@ -143,11 +143,8 @@ one_shot = true [node name="Control" type="Control" parent="CanvasLayer"] layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +anchors_preset = 0 +mouse_filter = 1 [node name="CoinAmt" type="Label" parent="CanvasLayer/Control"] layout_mode = 1 @@ -155,6 +152,7 @@ offset_left = 136.0 offset_top = 56.0 offset_right = 241.0 offset_bottom = 104.0 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 0.627451, 0.266667, 1) theme_override_fonts/font = ExtResource("3_mkgvb") theme_override_font_sizes/font_size = 40 diff --git a/scripts/coin.gd b/scripts/coin.gd index 6909d1a..971aecd 100644 --- a/scripts/coin.gd +++ b/scripts/coin.gd @@ -1,5 +1,8 @@ extends Area2D -func _on_body_entered(body): +func collect_coin(body): body.increase_coins() queue_free() + +func _on_body_entered(body): + collect_coin(body) diff --git a/scripts/player.gd b/scripts/player.gd index 777f512..2f93649 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -8,7 +8,7 @@ extends CharacterBody2D const SPEED = 130.0 -const JUMP_VELOCITY = -360.0 +const JUMPt_velocity = -360.0 var on_pipe = false var right_pipe = false var left_pipe = false @@ -20,6 +20,35 @@ var coins = 0 var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var on_pause = false +# touch controls +var touch_anchor = Vector2.ZERO +var jump = false +var crawl = false +var toucht_velocity = Vector2.ZERO +var t_velocity = 0 + +func _unhandled_input(event): + if event is InputEventScreenTouch or event is InputEventScreenDrag: + if event.is_pressed(): + if event.position.x < get_viewport_rect().size.x / 2: + touch_anchor = event.position + elif not jump: + jump = true + elif event.position.x < get_viewport_rect().size.x / 2: + toucht_velocity = event.position - touch_anchor + if abs(toucht_velocity.x) > 30: + t_velocity = 1 if toucht_velocity.x > 0 else -1 + else: + t_velocity = 0 + + if toucht_velocity.y > 30: + crawl = true + if event is InputEventScreenTouch and event.is_released(): + if event.position.x < get_viewport_rect().size.x / 2: + toucht_velocity = Vector2.ZERO + t_velocity = 0 + crawl = false + func _ready(): color_rect.visible = false @@ -33,7 +62,9 @@ func _process(delta): camera_2d.limit_top = 32 # check pipe - if on_pipe and Input.is_action_just_pressed("crawl") and is_on_floor() or right_pipe and Input.is_action_pressed("move_right"): + if on_pipe and (Input.is_action_just_pressed("crawl") or crawl) and is_on_floor() or right_pipe and (Input.is_action_pressed("move_right") or t_velocity > 0): + crawl = false + t_velocity = 0 color_rect.visible = true pipe_timer.start() pipe_timer_half.start() @@ -45,11 +76,13 @@ func _physics_process(delta): velocity.y += gravity * delta # Handle jump. - if not on_pause and Input.is_action_just_pressed("jump") and is_on_floor(): - velocity.y = JUMP_VELOCITY + if not on_pause and (Input.is_action_just_pressed("jump") or jump) and is_on_floor(): + jump = false + velocity.y = JUMPt_velocity # get input - var direction = Input.get_axis("move_left", "move_right") + + var direction = Input.get_axis("move_left", "move_right") + t_velocity if on_pause: direction = 0