diff --git a/Assets/Temp Music/awesomeness.wav.import b/Assets/Temp Music/awesomeness.wav.import index ef0f2c9..e423fd2 100644 --- a/Assets/Temp Music/awesomeness.wav.import +++ b/Assets/Temp Music/awesomeness.wav.import @@ -18,7 +18,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=false edit/normalize=false -edit/loop_mode=0 +edit/loop_mode=2 edit/loop_begin=0 edit/loop_end=-1 compress/mode=0 diff --git a/Assets/Temp Music/omw-to-beat-the-big-bad.wav.import b/Assets/Temp Music/omw-to-beat-the-big-bad.wav.import index 87f4127..e00b910 100644 --- a/Assets/Temp Music/omw-to-beat-the-big-bad.wav.import +++ b/Assets/Temp Music/omw-to-beat-the-big-bad.wav.import @@ -18,7 +18,7 @@ force/max_rate=false force/max_rate_hz=44100 edit/trim=false edit/normalize=false -edit/loop_mode=0 +edit/loop_mode=2 edit/loop_begin=0 edit/loop_end=-1 compress/mode=0 diff --git a/Scripts/SaveSystem/GameDataSaver.gd b/Scripts/SaveSystem/GameDataSaver.gd index 4013988..30b90bb 100644 --- a/Scripts/SaveSystem/GameDataSaver.gd +++ b/Scripts/SaveSystem/GameDataSaver.gd @@ -13,6 +13,10 @@ func load_data(): "display_mode": 0, "vsync_on": false, "current_resolution_index": 0, + "move_up": KEY_W, + "move_down": KEY_S, + "move_left": KEY_A, + "move_right": KEY_D, "master_volume": 0, "music_volume": 0, "sfx_volume": 0, diff --git a/Scripts/SaveSystem/GlobalSettings.gd b/Scripts/SaveSystem/GlobalSettings.gd index 667d236..0890f19 100644 --- a/Scripts/SaveSystem/GlobalSettings.gd +++ b/Scripts/SaveSystem/GlobalSettings.gd @@ -4,6 +4,8 @@ extends Node @export var music_bus_index : int = 1 @export var sfx_bus_index : int = 2 +@export var remappable_input_actions = ["move_up", "move_down", "move_left", "move_right"] + const resolutions_dictionary : Dictionary = { "800x600" : Vector2(800, 600), "1024x546" : Vector2(1024, 546), @@ -59,3 +61,14 @@ func update_sfx_volume(vol : int) -> void: Save.save_data() AudioServer.set_bus_volume_db(sfx_bus_index, vol) pass + +# Controls +func set_controls_from_save_file() -> void: + for remappable_input_action in remappable_input_actions: + for i in Save.game_data.keys().size(): + if Save.game_data.keys()[i] == remappable_input_action: + for key in InputMap.action_get_events(remappable_input_action): + InputMap.action_erase_event(remappable_input_action, key) + var control_key = InputEventKey.new() + control_key.set_keycode(Save.game_data.values()[i]) + InputMap.action_add_event(remappable_input_action, control_key) diff --git a/Scripts/UI/MainMenuManager.gd b/Scripts/UI/MainMenuManager.gd index 06e599a..54b9f5a 100644 --- a/Scripts/UI/MainMenuManager.gd +++ b/Scripts/UI/MainMenuManager.gd @@ -6,6 +6,7 @@ extends Node # Engine Callbackss func _ready(): + GlobalSettings.set_controls_from_save_file() GlobalSettings.set_display_mode(Save.game_data.display_mode) GlobalSettings.toggle_vsync(Save.game_data.vsync_on) GlobalSettings.set_resolution(Save.game_data.current_resolution_index) diff --git a/Scripts/UI/Remaping/RemapController.gd b/Scripts/UI/Remaping/RemapController.gd index a75eb2d..f054198 100644 --- a/Scripts/UI/Remaping/RemapController.gd +++ b/Scripts/UI/Remaping/RemapController.gd @@ -26,8 +26,10 @@ func remap_key(event): print(event) # Do Actual Rebinding for key in InputMap.action_get_events(remap_action): - InputMap.action_erase_event(remap_action, key) + InputMap.action_erase_event(remap_action, key) InputMap.action_add_event(remap_action, event) + print(event.as_text_keycode()) + #Save.game_data["%s" % [remap_action]] = event.get_text_keycode() remap_button.display_key() remap_button = null set_process_unhandled_key_input(false) diff --git a/project.godot b/project.godot index 79d1506..cd9af76 100644 --- a/project.godot +++ b/project.godot @@ -45,56 +45,48 @@ ui_left={ "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":4194319,"physical_keycode":0,"key_label":0,"unicode":4194319,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":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,"echo":false,"script":null) ] } ui_right={ "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":4194321,"physical_keycode":0,"key_label":0,"unicode":4194321,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":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,"echo":false,"script":null) ] } ui_up={ "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":4194320,"physical_keycode":0,"key_label":0,"unicode":4194320,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":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,"echo":false,"script":null) ] } ui_down={ "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":4194322,"physical_keycode":0,"key_label":0,"unicode":4194322,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":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":83,"key_label":0,"unicode":115,"echo":false,"script":null) ] } move_left={ "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":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"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":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) ] } move_right={ "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":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"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":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) ] } move_up={ "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":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"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":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) ] } move_down={ "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":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"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":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) ] } attack={ @@ -116,6 +108,6 @@ attack={ [rendering] -textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" +textures/canvas_textures/default_texture_filter=0