diff --git a/src/actor/Player.gd b/src/actor/Player.gd index b096e43..064d25a 100644 --- a/src/actor/Player.gd +++ b/src/actor/Player.gd @@ -261,7 +261,9 @@ func death(): # reset scene remove_player() - Shared.start_reset() + var wait := 0.5 + Shared.wipe_scene(Shared.scene_path, wait) + Pause.clock = wait func win(): # explosion diff --git a/src/autoload/Pause.gd b/src/autoload/Pause.gd index 9f933e1..b9f5e2a 100644 --- a/src/autoload/Pause.gd +++ b/src/autoload/Pause.gd @@ -81,7 +81,7 @@ func select(): "go": toggle_pause() "redo": - Shared.do_reset() + Shared.wipe_scene() toggle_pause() Audio.play("menu_reset", 0.9, 1.1) "stages": diff --git a/src/autoload/Shared.gd b/src/autoload/Shared.gd index 7bf26ca..ce52e32 100644 --- a/src/autoload/Shared.gd +++ b/src/autoload/Shared.gd @@ -10,9 +10,6 @@ var node_camera_game : Camera2D var obscure_map var is_quit := false -var is_reset := false -var reset_clock := 0.0 -var reset_time := 1.0 var is_level_select := false var is_in_game := false @@ -29,8 +26,6 @@ var creator_path := "res://src/menu/Creator.tscn" var save_data := {} var save_filename := "box.save" -var replay_filename := "replay.save" - var window_scale := 1 var view_size := Vector2(228, 128) var bus_volume = [10, 10, 10] @@ -55,12 +50,17 @@ var is_note := false var notes := {} var is_replay_note := false var is_replay := false +var replay_map := "" var username := "crate_kid" export (Array, Color) var palette := [] var player_colors = [8, 0, 11, 13] var preset_palettes = [[7, 13, 6, 3], [8, 0, 11, 13], [11, 7, 9, 0], [12, 1, 7, 5], [9, 8, 12, 3]] +var scene_dict := {} +var save_slot := 0 +var save_path := "user://save/0/" + func _ready(): print("Shared._ready(): ") randomize() @@ -85,9 +85,19 @@ func _ready(): for i in [1, 2]: set_bus_volume(i, 7) - # get world maps - maps = dir_list(map_path) - print("maps: ", maps, " ", maps.size()) + # get all maps + for i in dir_list(map_path): + scene_dict[map_path + i] = load(map_path + i) + maps.append(i.split(".")[0]) + print("maps: ", maps, " ", maps.size(), " ", scene_dict) + + var dir = Directory.new() + if !dir.open("user://save") == OK: + dir.make_dir("user://save") + for i in 3: + var s = "user://save/" + str(i) + if !dir.open(s) == OK: + dir.make_dir(s) # load save data load_save() @@ -96,12 +106,6 @@ func _ready(): Wipe.connect("finish", self, "wipe_finish") func _physics_process(delta): - # reset timer - if is_reset: - reset_clock -= delta - if reset_clock < 0: - do_reset() - if is_in_game: # map time if !Pause.is_paused: @@ -130,13 +134,9 @@ func _physics_process(delta): ### Changing Maps -func start_reset(): - if !is_reset: - is_reset = true - reset_clock = reset_time - -func do_reset(): - is_reset = false +func wipe_scene(arg := scene_path, timer := 0.0): + if timer > 0.0: yield(get_tree().create_timer(timer), "timeout") + scene_path = arg Wipe.start() Pause.set_process_input(false) @@ -144,29 +144,21 @@ func wipe_quit(): is_quit = true Wipe.start() -func wipe_scene(arg := ""): - scene_path = arg - do_reset() - func wipe_finish(): if is_quit: get_tree().quit() else: change_map() -func set_map(arg): - current_map = clamp(arg, 0, Shared.maps.size() - 1) - if arg > Shared.maps.size() - 1: - scene_path = win_screen_path - else: - scene_path = map_path + maps[current_map] + ".tscn" - func change_map(): save() if is_win: save_replays() - get_tree().change_scene(scene_path) + if !scene_dict.has(scene_path): + scene_dict[scene_path] = load(scene_path) + get_tree().change_scene_to(scene_dict[scene_path]) + is_level_select = scene_path == level_select_path is_in_game = scene_path.begins_with(map_path) or scene_path.begins_with(win_screen_path) map_name = "" if !is_in_game else scene_path.split("/")[-1].trim_suffix(".tscn") @@ -226,50 +218,25 @@ func change_map(): func save_file(fname, arg): var file = File.new() - file.open("user://" + str(fname), File.WRITE) + file.open(str(fname), File.WRITE) file.store_string(arg) file.close() -func load_file(fname = "box.save"): +func load_file(fname = "user://box.save"): var file = File.new() - file.open("user://" + str(fname), File.READ) + file.open(str(fname), File.READ) var content = file.get_as_text() file.close() return content func save(): - save_file(save_filename, JSON.print(save_data, "\t")) + save_file(save_path + save_filename, JSON.print(save_data, "\t")) -func save_replays(): - save_file(replay_filename, JSON.print(replays, "\t")) - -func create_save(): - save_data = {} - save_data["map"] = 0 - save_data["notes"] = {} - save_data["times"] = {} - save_data["username"] = username - save_data["player_colors"] = player_colors - save() - -func generate_username(): - var u = "" - var prefix = "crate box block square rect pack cube stack throw jump jumpin climb thinky brain spike skull pixel puzzle pico" - var middle = [" ", "_", "-", "."] - var suffix = "kid dude dood pal friend bud buddy guy gal boy girl homie person human robot cyborg man woman cousin cuz head face butt fart arms legs body hands feet mind" - var pf : Array = prefix.split(" ", false) - var sf : Array = suffix.split(" ", false) - pf.shuffle() - sf.shuffle() - var end = middle.duplicate() - end.append("") - middle.shuffle() - end.shuffle() - var _name = pf[0] + middle[0] + sf[0] + end[0] + str(randi() % 100) - return _name +func save_replays(arg := replay_map): + save_file(save_path + arg + ".save", JSON.print(replays[arg], "\t")) func load_save(): - var l = load_file(save_filename) + var l = load_file(save_path + save_filename) if l: save_data = JSON.parse(l).result @@ -309,16 +276,42 @@ func load_save(): create_save() func load_replays(): - var l = load_file(replay_filename) - if l: - replays = JSON.parse(l).result - else: - print(replay_filename + " not found") + for i in dir_list(save_path): + var l = load_file(save_path + i) + if l: + replays[i.split(".")[0]] = JSON.parse(l).result + else: + print(save_path + i + " not found") + +func generate_username(): + var u = "" + var prefix = "crate box block square rect pack cube stack throw jump jumpin climb thinky brain spike skull pixel puzzle pico" + var middle = [" ", "_", "-", "."] + var suffix = "kid dude dood pal friend bud buddy guy gal boy girl homie person human robot cyborg man woman cousin cuz head face butt fart arms legs body hands feet mind" + var pf : Array = prefix.split(" ", false) + var sf : Array = suffix.split(" ", false) + pf.shuffle() + sf.shuffle() + var end = middle.duplicate() + end.append("") + middle.shuffle() + end.shuffle() + var _name = pf[0] + middle[0] + sf[0] + end[0] + str(randi() % 100) + return _name func delete_save(): print("delete save") create_save() +func create_save(): + save_data = {} + save_data["map"] = 0 + save_data["notes"] = {} + save_data["times"] = {} + save_data["username"] = username + save_data["player_colors"] = player_colors + save() + func unlock(): map_save = 99 save_data["map"] = map_save @@ -342,24 +335,20 @@ func win(): save_data["username"] = username var m = map_name + ("-note" if is_note else "") + replay_map = m if !replays.has(m): replays[m] = [] replays[m].append(replay) replays[m].sort_custom(self, "sort_replays") - if replays[m].size() > 10: - replays[m].resize(10) + if replays[m].size() > 5: + replays[m].resize(5) - #save() - print("map complete")#, save_data: ", save_data) + print("map complete") Leaderboard.submit_score(m, -map_frame) - if map_save > ms: - set_map(current_map + 1) - else: - scene_path = level_select_path - start_reset() + wipe_scene(level_select_path) func sort_replays(a, b): if a["frames"] < b["frames"]: @@ -382,7 +371,7 @@ func dir_list(path : String): dir.list_dir_begin(true, true) var file_name = dir.get_next() while file_name: - array.append(file_name.split(".")[0]) + array.append(file_name) file_name = dir.get_next() dir.list_dir_end() array.sort() diff --git a/src/autoload/UI.tscn b/src/autoload/UI.tscn index 746f67b..af5b397 100644 --- a/src/autoload/UI.tscn +++ b/src/autoload/UI.tscn @@ -34,6 +34,7 @@ extra_spacing_char = 1 font_data = ExtResource( 5 ) [node name="UI" type="CanvasLayer"] +pause_mode = 2 layer = 5 script = ExtResource( 3 ) diff --git a/src/map/4-4.tscn b/src/map/4-4.tscn index b88ad64..838b1b8 100644 --- a/src/map/4-4.tscn +++ b/src/map/4-4.tscn @@ -25,7 +25,7 @@ z_index = -11 tile_data = PoolIntArray( -917496, 536870917, 0, -917495, 536870917, 0, -917494, 536870917, 0, -917493, 536870917, 0, -917492, 536870917, 0, -917491, 536870917, 0, -917490, 536870917, 0, -917489, 536870917, 0, -917488, 536870917, 0, -917487, 536870917, 0, -786436, 5, 2, -786435, 1610612741, 0, -786434, -1610612731, 2, -851960, 1073741829, 2, -851959, -1610612731, 0, -851958, 536870917, 0, -851957, -1610612731, 0, -851956, -1610612731, 0, -851955, -1610612731, 0, -851954, 536870917, 0, -851953, -1610612731, 0, -851952, 536870917, 0, -851951, 536870917, 0, -720900, 5, 0, -720899, 1610612741, 0, -720898, 5, 0, -786422, 536870917, 1, -786416, 1073741829, 2, -786415, -1610612731, 0, -655369, 536870916, 3, -655368, 4, 0, -655367, 4, 3, -655364, -1073741819, 2, -655363, -1610612731, 0, -655362, 1610612741, 2, -720893, 5, 2, -720892, -1610612731, 2, -720890, 536870916, 3, -720889, 4, 0, -720888, 4, 3, -720886, 536870917, 1, -720879, 5, 0, -589834, 536870916, 3, -589833, 536870916, 2, -589832, 536870916, 3, -589831, 536870916, 2, -589827, 5, 1, -655346, 536870917, 2, -655344, -2147483643, 2, -655343, 5, 0, -524298, 4, 2, -524297, 4, 0, -524296, 536870916, 2, -524291, 5, 1, -524290, -1610612731, 2, -589821, -1073741819, 2, -589820, 1610612741, 2, -589819, 4, 2, -589818, 4, 0, -589817, 536870916, 1, -589816, 536870916, 2, -589811, -1610612731, 1, -589810, -1610612731, 1, -589809, -1610612731, 1, -589808, -1610612731, 0, -589807, -1610612731, 0, -524275, 5, 0, -524272, 1073741829, 2, -524271, 5, 0, -393219, 1610612741, 2, -458741, 5, 2, -458739, 1610612741, 2, -458735, -1073741819, 0, -393212, 536870916, 3, -393211, 4, 3, -393205, 5, 0, -393199, 5, 0, -327677, 536870916, 3, -327676, 4, 0, -327675, 4, 3, -327673, 5, 2, -327669, 5, 0, -327664, -2147483643, 2, -327663, 5, 0, -196616, 536870916, 3, -196615, 4, 1, -196613, 536870916, 3, -196612, 4, 3, -262140, 4, 1, -262139, 4, 1, -262133, -1073741819, 2, -262131, -1610612731, 2, -262129, -2147483643, 2, -262128, 5, 0, -262127, -1073741819, 0, -131080, 4, 0, -131079, 536870916, 2, -131077, 536870916, 3, -131076, 4, 0, -131075, 4, 3, -196605, 4, 2, -196604, 4, 1, -196603, 536870916, 0, -196602, 4, 3, -196595, -1610612731, 1, -196594, -1610612731, 1, -196593, -1610612731, 0, -196592, -1610612731, 0, -196591, -1610612731, 0, -65544, 536870916, 3, -65543, 4, 1, -131057, 1073741829, 2, -131056, 5, 0, -131055, 5, 0, -8, 4, 2, -7, 4, 3, -6, 4, 2, -5, 4, 1, -4, 4, 0, -3, 536870916, 2, -2, 5, 0, -1, -1610612731, 0, -65536, -1610612731, 0, -65535, 5, 0, -65526, 5, 1, -65520, 5, 0, -65519, -1073741819, 0, 65528, 4, 2, 65529, 4, 3, 65530, 536870916, 0, 65531, 536870916, 2, 65534, 1073741829, 2, 65535, 5, 0, 0, 5, 0, 1, 1610612741, 2, 3, 536870916, 3, 4, 536870916, 0, 5, 4, 1, 6, 536870916, 2, 9, 5, 2, 10, 1610612741, 0, 11, -1610612731, 2, 17, 5, 0, 65539, 4, 2, 65540, 536870916, 2, 65541, 536870916, 3, 65542, 536870916, 2, 65545, -1073741819, 2, 65546, 1610612741, 0, 65547, 1610612741, 2, 131076, 4, 2, 131077, 536870916, 2 ) [node name="ObscureMap" parent="." instance=ExtResource( 9 )] -tile_data = PoolIntArray( -786443, 536870912, 0, -786442, 536870912, 0, -786441, 536870912, 0, -786440, 536870912, 0, -786439, 536870912, 0, -786438, 536870912, 0, -786437, 536870912, 0, -786436, 536870912, 0, -786435, 536870912, 0, -786434, 536870912, 0, -786433, 536870912, 0, -851968, 536870912, 0, -851967, 536870912, 0, -851966, 536870912, 0, -851965, 536870912, 0, -851964, 536870912, 0, -851963, 536870912, 0, -851962, 536870912, 0, -851961, 536870912, 0, -851960, 536870912, 0, -851959, 536870912, 0, -851958, 536870912, 0, -851957, 536870912, 0, -851956, 536870912, 0, -851955, 536870912, 0, -851954, 536870912, 0, -851953, 536870912, 0, -851952, 536870912, 0, -851951, 536870912, 0, -720907, 536870912, 0, -720906, 536870912, 0, -720905, 536870912, 0, -720904, 536870912, 0, -720903, 536870912, 0, -720902, 536870912, 0, -720901, 536870912, 0, -720900, 536870912, 0, -720899, 536870912, 0, -720898, 536870912, 0, -720897, 536870912, 0, -786432, 536870912, 0, -786431, 536870912, 0, -786430, 536870912, 0, -786429, 536870912, 0, -786428, 536870912, 0, -786427, 536870912, 0, -786426, 536870912, 0, -786425, 536870912, 0, -786424, 536870912, 0, -786423, 536870912, 0, -786422, 536870912, 0, -786421, 536870912, 0, -786420, 536870912, 0, -786419, 536870912, 0, -786418, 536870912, 0, -786417, 536870912, 0, -786416, 536870912, 0, -786415, 536870912, 0, -655371, 536870912, 0, -655370, 536870912, 0, -655369, 536870912, 0, -655368, 536870912, 0, -655367, 536870912, 0, -655366, 536870912, 0, -655365, 536870912, 0, -655364, 536870912, 0, -655363, 536870912, 0, -655362, 536870912, 0, -655361, 536870912, 0, -720896, 536870912, 0, -720895, 536870912, 0, -720894, 536870912, 0, -720893, 536870912, 0, -720892, 536870912, 0, -720891, 536870912, 0, -720890, 536870912, 0, -720889, 536870912, 0, -720888, 536870912, 0, -720887, 536870912, 0, -720886, 536870912, 0, -720885, 536870912, 0, -720884, 536870912, 0, -720883, 536870912, 0, -720882, 536870912, 0, -720881, 536870912, 0, -720880, 536870912, 0, -720879, 536870912, 0, -589835, 536870912, 0, -589834, 536870912, 0, -589833, 536870912, 0, -589832, 536870912, 0, -589831, 536870912, 0, -589830, 536870912, 0, -589829, 536870912, 0, -589828, 536870912, 0, -589827, 536870912, 0, -589826, 536870912, 0, -589825, 536870912, 0, -655360, 536870912, 0, -655348, 536870912, 0, -655347, 536870912, 0, -655346, 536870912, 0, -655345, 536870912, 0, -655344, 536870912, 0, -655343, 536870912, 0, -524299, 536870912, 0, -524298, 536870912, 0, -524297, 536870912, 0, -524296, 536870912, 0, -524295, 536870912, 0, -524294, 536870912, 0, -524293, 536870912, 0, -524292, 536870912, 0, -524291, 536870912, 0, -524290, 536870912, 0, -524289, 536870912, 0, -589824, 536870912, 0, -589823, 2, 2, -458763, 536870912, 0, -458762, 536870912, 0, -458761, 536870912, 0, -458760, 536870912, 0, -458759, 536870912, 0, -458758, 536870912, 0 ) +tile_data = PoolIntArray( -917515, 536870912, 0, -917514, 536870912, 0, -917513, 536870912, 0, -917512, 536870912, 0, -917511, 536870912, 0, -917510, 536870912, 0, -917509, 536870912, 0, -917508, 536870912, 0, -917507, 536870912, 0, -917506, 536870912, 0, -917505, 536870912, 0, -983040, 536870912, 0, -983039, 536870912, 0, -983038, 536870912, 0, -983037, 536870912, 0, -983036, 536870912, 0, -983035, 536870912, 0, -983034, 536870912, 0, -983033, 536870912, 0, -983032, 536870912, 0, -983031, 536870912, 0, -983030, 536870912, 0, -983029, 536870912, 0, -983028, 536870912, 0, -983027, 536870912, 0, -983026, 536870912, 0, -983025, 536870912, 0, -983024, 536870912, 0, -983023, 536870912, 0, -851979, 536870912, 0, -851978, 536870912, 0, -851977, 536870912, 0, -851976, 536870912, 0, -851975, 536870912, 0, -851974, 536870912, 0, -851973, 536870912, 0, -851972, 536870912, 0, -851971, 536870912, 0, -851970, 536870912, 0, -851969, 536870912, 0, -917504, 536870912, 0, -917503, 536870912, 0, -917502, 536870912, 0, -917501, 536870912, 0, -917500, 536870912, 0, -917499, 536870912, 0, -917498, 536870912, 0, -917497, 536870912, 0, -917496, 536870912, 0, -917495, 536870912, 0, -917494, 536870912, 0, -917493, 536870912, 0, -917492, 536870912, 0, -917491, 536870912, 0, -917490, 536870912, 0, -917489, 536870912, 0, -917488, 536870912, 0, -917487, 536870912, 0, -786443, 536870912, 0, -786442, 536870912, 0, -786441, 536870912, 0, -786440, 536870912, 0, -786439, 536870912, 0, -786438, 536870912, 0, -786437, 536870912, 0, -786436, 536870912, 0, -786435, 536870912, 0, -786434, 536870912, 0, -786433, 536870912, 0, -851968, 536870912, 0, -851967, 536870912, 0, -851966, 536870912, 0, -851965, 536870912, 0, -851964, 536870912, 0, -851963, 536870912, 0, -851962, 536870912, 0, -851961, 536870912, 0, -851960, 536870912, 0, -851959, 536870912, 0, -851958, 536870912, 0, -851957, 536870912, 0, -851956, 536870912, 0, -851955, 536870912, 0, -851954, 536870912, 0, -851953, 536870912, 0, -851952, 536870912, 0, -851951, 536870912, 0, -720907, 536870912, 0, -720906, 536870912, 0, -720905, 536870912, 0, -720904, 536870912, 0, -720903, 536870912, 0, -720902, 536870912, 0, -720901, 536870912, 0, -720900, 536870912, 0, -720899, 536870912, 0, -720898, 536870912, 0, -720897, 536870912, 0, -786432, 536870912, 0, -786431, 536870912, 0, -786430, 536870912, 0, -786429, 536870912, 0, -786428, 536870912, 0, -786427, 536870912, 0, -786426, 536870912, 0, -786425, 536870912, 0, -786424, 536870912, 0, -786423, 536870912, 0, -786422, 536870912, 0, -786421, 536870912, 0, -786420, 536870912, 0, -786419, 536870912, 0, -786418, 536870912, 0, -786417, 536870912, 0, -786416, 536870912, 0, -786415, 536870912, 0, -655371, 536870912, 0, -655370, 536870912, 0, -655369, 536870912, 0, -655368, 536870912, 0, -655367, 536870912, 0, -655366, 536870912, 0, -655365, 536870912, 0, -655364, 536870912, 0, -655363, 536870912, 0, -655362, 536870912, 0, -655361, 536870912, 0, -720896, 536870912, 0, -720895, 536870912, 0, -720894, 536870912, 0, -720893, 536870912, 0, -720892, 536870912, 0, -720891, 536870912, 0, -720890, 536870912, 0, -720889, 536870912, 0, -720888, 536870912, 0, -720887, 536870912, 0, -720886, 536870912, 0, -720885, 536870912, 0, -720884, 536870912, 0, -720883, 536870912, 0, -720882, 536870912, 0, -720881, 536870912, 0, -720880, 536870912, 0, -720879, 536870912, 0, -589835, 536870912, 0, -589834, 536870912, 0, -589833, 536870912, 0, -589832, 536870912, 0, -589831, 536870912, 0, -589830, 536870912, 0, -589829, 536870912, 0, -589828, 536870912, 0, -589827, 536870912, 0, -589826, 536870912, 0, -589825, 536870912, 0, -655360, 536870912, 0, -655348, 536870912, 0, -655347, 536870912, 0, -655346, 536870912, 0, -655345, 536870912, 0, -655344, 536870912, 0, -655343, 536870912, 0, -524299, 536870912, 0, -524298, 536870912, 0, -524297, 536870912, 0, -524296, 536870912, 0, -524295, 536870912, 0, -524294, 536870912, 0, -524293, 536870912, 0, -524292, 536870912, 0, -524291, 536870912, 0, -524290, 536870912, 0, -524289, 536870912, 0, -589824, 536870912, 0, -589823, 2, 2, -458763, 536870912, 0, -458762, 536870912, 0, -458761, 536870912, 0, -458760, 536870912, 0, -458759, 536870912, 0, -458758, 536870912, 0 ) [node name="GameCamera" parent="." instance=ExtResource( 6 )] position = Vector2( 28, -40 ) diff --git a/src/map/4-5.tscn b/src/map/4-5.tscn index f83d696..fd89b82 100644 --- a/src/map/4-5.tscn +++ b/src/map/4-5.tscn @@ -15,13 +15,13 @@ script = ExtResource( 10 ) [node name="SolidTileMap" parent="." instance=ExtResource( 3 )] -tile_data = PoolIntArray( -983056, 1, 0, -983055, 1, 0, -983054, 1, 0, -983053, 1, 0, -983052, 1, 0, -983051, 1, 0, -983050, 1, 0, -983049, 1, 0, -983048, 1, 0, -983047, 1, 0, -983046, 1, 0, -983045, 1, 0, -983044, 1, 0, -983043, 1, 0, -983042, 1, 0, -983041, 1, 0, -1048576, 1, 0, -1048575, 1, 0, -1048574, 1, 0, -1048573, 1, 0, -1048572, 1, 0, -1048571, 1, 0, -1048570, 1, 0, -1048569, 1, 0, -1048568, 1, 0, -1048567, 1, 0, -1048566, 1, 0, -1048565, 1, 0, -1048564, 1, 0, -1048563, 1, 0, -917520, 1, 0, -983027, 1, 0, -851984, 1, 0, -917491, 1, 0, -786448, 1, 0, -851955, 1, 0, -720912, 1, 0, -786419, 1, 0, -655376, 1, 0, -720883, 1, 0, -589840, 1, 0, -589831, 0, 0, -589830, 0, 1, -589829, 0, 1, -589828, 0, 1, -589827, 0, 1, -589826, 0, 1, -589825, 0, 1, -655360, 0, 1, -655359, 0, 1, -655358, 0, 1, -655357, 0, 1, -655356, 0, 1, -655355, 0, 0, -655352, 0, 0, -655351, 1, 0, -655350, 1, 0, -655349, 1, 0, -655348, 1, 0, -655347, 1, 0, -524304, 1, 0, -524296, 0, 0, -524295, 0, 1, -589816, 0, 1, -458768, 1, 0, -458761, 0, 0, -458760, 0, 1, -524280, 0, 1, -393232, 1, 0, -393226, 0, 0, -393225, 0, 1, -458744, 0, 1, -327696, 1, 0, -327695, 1, 0, -327694, 1, 0, -327693, 1, 0, -327692, 1, 0, -327691, 0, 0, -327690, 0, 1, -393213, 0, 0, -393212, 0, 1, -393211, 0, 1, -393210, 0, 1, -393209, 0, 1, -393208, 0, 0, -262155, 0, 1, -327677, 0, 1, -196619, 0, 1, -262141, 0, 1, -131083, 0, 1, -196605, 0, 1, -65547, 0, 1, -65539, 0, 0, -65538, 0, 1, -65537, 0, 1, -131072, 0, 1, -131071, 0, 1, -131070, 0, 1, -131069, 0, 0, -11, 0, 1, -3, 0, 1, 65525, 0, 1, 65533, 0, 1, 131061, 0, 1, 131069, 0, 1, 196597, 0, 0, 196598, 0, 1, 196599, 0, 1, 196600, 0, 1, 196601, 0, 1, 196602, 0, 1, 196603, 0, 1, 196604, 0, 1, 196605, 0, 0 ) +tile_data = PoolIntArray( -983056, 1, 0, -983055, 1, 0, -983054, 1, 0, -983053, 1, 0, -983052, 1, 0, -983051, 1, 0, -983050, 1, 0, -983049, 1, 0, -983048, 1, 0, -983047, 1, 0, -983046, 1, 0, -983045, 1, 0, -983044, 1, 0, -983043, 1, 0, -983042, 1, 0, -983041, 1, 0, -1048576, 1, 0, -1048575, 1, 0, -1048574, 1, 0, -1048573, 1, 0, -1048572, 1, 0, -1048571, 1, 0, -1048570, 1, 0, -1048569, 1, 0, -1048568, 1, 0, -1048567, 1, 0, -1048566, 1, 0, -1048565, 1, 0, -1048564, 1, 0, -1048563, 1, 0, -917520, 1, 0, -983027, 1, 0, -851984, 1, 0, -917491, 1, 0, -786448, 1, 0, -851955, 1, 0, -720912, 1, 0, -786419, 1, 0, -655376, 1, 0, -720883, 1, 0, -589840, 1, 0, -589831, 0, 0, -589830, 0, 1, -589829, 536870912, 0, -589828, 0, 1, -589827, 0, 0, -589826, 0, 1, -589825, 0, 1, -655360, 536870912, 0, -655359, 0, 1, -655358, 0, 0, -655357, 0, 1, -655356, 0, 1, -655355, 536870912, 0, -655352, 0, 0, -655351, 1, 0, -655350, 1, 0, -655349, 1, 0, -655348, 1, 0, -655347, 1, 0, -524304, 1, 0, -524296, 536870912, 1, -524295, 536870912, 0, -589816, 0, 1, -458768, 1, 0, -458761, 536870912, 0, -458760, 0, 1, -524280, 536870912, 0, -393232, 1, 0, -393226, 0, 1, -393225, 0, 0, -458744, 0, 1, -327696, 1, 0, -327695, 1, 0, -327694, 1, 0, -327693, 1, 0, -327692, 1, 0, -327691, 536870912, 0, -327690, 0, 1, -393213, 536870912, 1, -393212, 536870912, 0, -393211, 0, 1, -393210, 0, 0, -393209, 0, 1, -393208, 536870912, 0, -262155, 0, 1, -327677, 0, 0, -196619, 0, 1, -262141, 0, 1, -131083, 536870912, 0, -196605, 536870912, 0, -65547, 0, 1, -65539, 0, 0, -65538, 0, 1, -65537, 536870912, 0, -131072, 0, 1, -131071, 0, 0, -131070, 0, 1, -131069, 0, 0, -11, 0, 0, -3, 0, 1, 65525, 0, 0, 65533, 536870912, 0, 131061, 0, 1, 131069, 0, 1, 196597, 0, 0, 196598, 0, 1, 196599, 0, 1, 196600, 536870912, 0, 196601, 0, 1, 196602, 0, 1, 196603, 0, 0, 196604, 0, 1, 196605, 536870912, 0 ) [node name="SpikeTileMap" parent="." instance=ExtResource( 5 )] [node name="DetailTileMap" parent="." instance=ExtResource( 2 )] z_index = -11 -tile_data = PoolIntArray( -720912, 5, 0, -720911, 5, 0, -720910, -2147483643, 0, -720909, 5, 0, -720908, -2147483643, 0, -720907, -536870907, 2, -720898, 5, 1, -655376, -1073741819, 0, -655375, -2147483643, 0, -655374, -1073741819, 0, -655373, -2147483643, 0, -655372, -536870907, 2, -655362, 5, 1, -655361, -1610612731, 2, -589840, 5, 0, -589839, 5, 0, -589838, -1073741819, 0, -589837, 1610612741, 2, -524290, 5, 1, -458755, -1073741819, 2, -458754, 1610612741, 1, -458753, -1610612731, 1, -524288, -1610612731, 1, -524287, -1610612731, 2, -393231, 5, 2, -393227, 5, 2, -393221, 5, 2, -393218, 5, 1, -393217, 1610612741, 2, -458751, 1610612741, 2, -458747, 5, 2, -458746, 1610612741, 0, -458745, -1610612731, 2, -327696, -1610612731, 1, -327695, -1610612731, 1, -327694, -1610612731, 1, -327693, -1610612731, 1, -327692, -1610612731, 1, -327689, -536870907, 2, -327686, -1073741819, 0, -327685, -1073741819, 0, -327684, -1073741819, 0, -327682, 5, 1, -262157, 1073741829, 2, -262154, 1610612741, 2, -262151, -1073741819, 2, -262150, -1073741819, 0, -262149, -1073741819, 0, -262148, -1073741819, 0, -262147, -1610612731, 1, -262146, -1610612731, 1, -262145, -1610612731, 1, -327680, -1610612731, 2, -327675, -1073741819, 2, -327674, 1610612741, 1, -327673, 1610612741, 2, -196620, 536870916, 3, -196618, 536870916, 2, -196614, -1073741819, 0, -196613, -1073741819, 0, -196612, -1073741819, 0, -196610, 1610612741, 2, -262138, 1610612741, 1, -262135, 536870917, 2, -262132, 536870917, 2, -131085, 536870916, 3, -131084, 4, 0, -131081, 5, 2, -131080, 5, 0, -131077, 1610612741, 2, -196602, 1610612741, 1, -196601, -1073741819, 1, -196600, -1073741819, 1, -196599, -1073741819, 1, -196598, -1073741819, 1, -196597, -1073741819, 1, -196596, -1073741819, 1, -196595, -1073741819, 1, -65550, 536870916, 3, -65549, 536870916, 1, -65548, 536870916, 2, -65545, -1610612731, 0, -65544, 5, 0, -65543, -1610612731, 2, -131066, 1610612741, 2, -131061, 1610612741, 2, -14, 4, 2, -13, 536870916, 0, -9, -1073741819, 2, -8, 5, 0, -7, 1610612741, 0, -6, -1610612731, 2, 65522, 4, 2, 65523, 536870916, 1, 65524, 4, 3, 65529, 1610612741, 1, 65532, 536870916, 3, 65534, 4, 3, 131059, 4, 2, 131060, 536870916, 0, 131062, 4, 3, 131064, -2147483643, 2, 131065, 1610612741, 1, 131067, 536870916, 3, 131068, 4, 0, 131070, 536870916, 0, 196592, 5, 0, 196593, 5, 0, 196594, -1610612731, 2, 196596, 4, 2, 196606, 4, 1, 196607, 536870916, 2, 262128, 5, 0, 262129, 1073741829, 0, 262130, -1610612731, 0, 262132, 4, 2, 262133, 4, 1, 262134, 536870916, 2, 262137, 1610612741, 1, 262138, -536870907, 2, 262139, 4, 2, 262140, 4, 3, 262141, 4, 2, 262142, 536870916, 2, 327664, 5, 0, 327665, 1073741829, 0, 327666, -1610612731, 0, 327668, 4, 2, 327669, 536870916, 2, 327673, 1610612741, 1 ) +tile_data = PoolIntArray( -720912, 5, 0, -720911, 5, 0, -720910, -2147483643, 0, -720909, 5, 0, -720908, -2147483643, 0, -720907, -536870907, 2, -720898, 5, 1, -655376, -1073741819, 0, -655375, -2147483643, 0, -655374, -1073741819, 0, -655373, -2147483643, 0, -655372, -536870907, 2, -655362, 5, 1, -655361, -1610612731, 2, -720895, 536870916, 3, -720894, 4, 0, -720893, 4, 3, -720884, 5, 2, -589840, 5, 0, -589839, 5, 0, -589838, -1073741819, 0, -589837, 1610612741, 2, -655350, -1073741819, 2, -655349, -2147483643, 1, -655348, -2147483643, 1, -655347, -2147483643, 1, -524290, 5, 1, -589822, 4, 2, -589821, 536870916, 0, -589820, 536870916, 2, -589813, 1073741829, 1, -589812, 1610612741, 2, -458755, -1073741819, 2, -458754, 1610612741, 1, -458753, -1610612731, 1, -524288, -1610612731, 1, -524287, -1610612731, 2, -524277, 1073741829, 1, -393231, 5, 2, -393227, 5, 2, -393221, 5, 2, -393218, 5, 1, -393217, 1610612741, 2, -458751, 1610612741, 2, -458747, 5, 2, -458746, 1610612741, 0, -458745, -1610612731, 2, -458742, -2147483643, 2, -458741, 1073741829, 1, -327696, -1610612731, 1, -327695, -1610612731, 1, -327694, -1610612731, 1, -327693, -1610612731, 1, -327692, -1610612731, 1, -327689, -536870907, 2, -327686, -1073741819, 0, -327685, -1073741819, 0, -327684, -1073741819, 0, -327682, 5, 1, -393205, 1073741829, 1, -393204, -1610612731, 2, -262157, 1073741829, 2, -262154, 1610612741, 2, -262151, -1073741819, 2, -262150, -1073741819, 0, -262149, -1073741819, 0, -262148, -1073741819, 0, -262147, -1610612731, 1, -262146, -1610612731, 1, -262145, -1610612731, 1, -327680, -1610612731, 2, -327675, -1073741819, 2, -327674, 1610612741, 1, -327673, 1610612741, 2, -327669, 1073741829, 1, -196620, 536870916, 3, -196618, 536870916, 2, -196614, -1073741819, 0, -196613, -1073741819, 0, -196612, -1073741819, 0, -196610, 1610612741, 2, -262138, 1610612741, 1, -262135, 536870917, 2, -262133, 1073741829, 1, -262132, 536870917, 2, -131085, 536870916, 3, -131084, 4, 0, -131081, 5, 2, -131080, 5, 0, -131077, 1610612741, 2, -196602, 1610612741, 1, -196601, -1073741819, 1, -196600, -1073741819, 1, -196599, -1073741819, 1, -196598, -1073741819, 1, -196597, -1073741819, 1, -196596, -1073741819, 1, -196595, -1073741819, 1, -65550, 536870916, 3, -65549, 536870916, 1, -65548, 536870916, 2, -65545, -1610612731, 0, -65544, 5, 0, -65543, -1610612731, 2, -131066, 1610612741, 2, -131061, 1610612741, 2, -14, 4, 2, -13, 536870916, 0, -9, -1073741819, 2, -8, 5, 0, -7, 1610612741, 0, -6, -1610612731, 2, -65536, 1073741829, 2, -65535, 536870917, 0, -65534, -536870907, 2, -65529, 536870916, 3, -65528, 4, 3, 65522, 4, 2, 65523, 536870916, 1, 65524, 4, 3, 65529, 1610612741, 1, 65532, 536870916, 3, 65534, 4, 3, 7, 4, 2, 8, 4, 0, 9, 4, 3, 131059, 4, 2, 131060, 536870916, 0, 131062, 4, 3, 131064, -2147483643, 2, 131065, 1610612741, 1, 131067, 536870916, 3, 131068, 4, 0, 131070, 536870916, 0, 65539, 536870916, 3, 65540, 4, 0, 65541, 536870916, 1, 65542, 536870916, 2, 65544, 4, 2, 65545, 536870916, 1, 65546, 4, 0, 65547, 4, 3, 196592, 5, 0, 196593, 5, 0, 196594, -1610612731, 2, 196596, 4, 2, 196606, 4, 1, 196607, 536870916, 2, 131076, 4, 2, 131077, 536870916, 1, 131078, 536870916, 0, 131079, 536870916, 2, 131080, 536870916, 3, 131081, 536870916, 0, 131082, 536870916, 1, 131083, 536870916, 2, 262128, 5, 0, 262129, 1073741829, 0, 262130, -1610612731, 0, 262132, 4, 2, 262133, 4, 1, 262134, 536870916, 2, 262137, 1610612741, 1, 262138, -536870907, 2, 262139, 4, 2, 262140, 4, 3, 262141, 4, 2, 262142, 536870916, 2, 196614, 4, 2, 196615, 4, 0, 196616, 4, 1, 196617, 536870916, 2, 327664, 5, 0, 327665, 1073741829, 0, 327666, -1610612731, 0, 327668, 4, 2, 327669, 536870916, 2, 327673, 1610612741, 1, 262151, 4, 2, 262152, 536870916, 2 ) [node name="ObscureMap" parent="." instance=ExtResource( 4 )] tile_data = PoolIntArray( -917519, 536870912, 0, -917518, 536870912, 0, -917517, 536870912, 0, -917516, 536870912, 0, -917515, 536870912, 0, -917514, 536870912, 0, -917513, 536870912, 0, -917512, 536870912, 0, -917511, 536870912, 0, -917510, 536870912, 0, -917509, 536870912, 0, -917508, 536870912, 0, -917507, 536870912, 0, -917506, 536870912, 0, -917505, 536870912, 0, -983040, 536870912, 0, -983039, 536870912, 0, -983038, 536870912, 0, -983037, 536870912, 0, -983036, 536870912, 0, -983035, 536870912, 0, -983034, 536870912, 0, -983033, 536870912, 0, -983032, 536870912, 0, -983031, 536870912, 0, -983030, 536870912, 0, -983029, 536870912, 0, -983028, 536870912, 0, -851983, 536870912, 0, -851982, 536870912, 0, -851981, 536870912, 0, -851980, 536870912, 0, -851979, 536870912, 0, -851978, 536870912, 0, -851977, 536870912, 0, -851976, 536870912, 0, -851975, 536870912, 0, -851974, 536870912, 0, -851973, 536870912, 0, -851972, 536870912, 0, -851971, 536870912, 0, -851970, 536870912, 0, -851969, 536870912, 0, -917504, 536870912, 0, -917503, 536870912, 0, -917502, 536870912, 0, -917501, 536870912, 0, -917500, 536870912, 0, -917499, 536870912, 0, -917498, 536870912, 0, -917497, 536870912, 0, -917496, 536870912, 0, -917495, 536870912, 0, -917494, 536870912, 0, -917493, 536870912, 0, -917492, 536870912, 0, -786447, 536870912, 0, -786446, 536870912, 0, -786445, 536870912, 0, -786444, 536870912, 0, -786443, 536870912, 0, -786442, 536870912, 0, -786441, 536870912, 0, -786440, 536870912, 0, -786439, 536870912, 0, -786438, 536870912, 0, -786437, 536870912, 0, -786436, 536870912, 0, -786435, 536870912, 0, -786434, 536870912, 0, -786433, 536870912, 0, -851968, 536870912, 0, -851967, 536870912, 0, -851966, 536870912, 0, -851965, 536870912, 0, -851964, 536870912, 0, -851963, 536870912, 0, -851962, 536870912, 0, -851961, 536870912, 0, -851960, 536870912, 0, -851959, 536870912, 0, -851958, 536870912, 0, -851957, 536870912, 0, -851956, 536870912, 0, -720911, 536870912, 0, -720910, 536870912, 0, -720909, 536870912, 0, -720908, 536870912, 0, -720907, 536870912, 0, -720906, 536870912, 0, -720905, 536870912, 0, -720904, 536870912, 0, -720903, 536870912, 0, -720902, 536870912, 0, -720901, 536870912, 0, -720900, 536870912, 0, -720899, 536870912, 0, -720898, 536870912, 0, -720897, 536870912, 0, -786432, 536870912, 0, -786431, 536870912, 0, -786430, 536870912, 0, -786429, 536870912, 0, -786428, 536870912, 0, -786427, 536870912, 0, -786426, 536870912, 0, -786425, 536870912, 0, -786424, 536870912, 0, -786423, 536870912, 0, -786422, 536870912, 0, -786421, 536870912, 0, -786420, 536870912, 0, -655375, 536870912, 0, -655374, 536870912, 0, -655373, 536870912, 0, -655372, 536870912, 0, -655371, 536870912, 0, -655370, 536870912, 0, -655369, 536870912, 0, -655368, 536870912, 0, -655367, 536870912, 0, -655366, 536870912, 0, -655365, 536870912, 0, -655364, 536870912, 0, -655363, 536870912, 0, -655362, 536870912, 0, -655361, 536870912, 0, -720896, 536870912, 0, -720895, 536870912, 0, -720894, 536870912, 0, -720893, 536870912, 0, -720892, 536870912, 0, -720891, 536870912, 0, -720890, 536870912, 0, -720889, 536870912, 0, -720888, 536870912, 0, -720887, 536870912, 0, -720886, 536870912, 0, -720885, 536870912, 0, -720884, 536870912, 0, -589839, 536870912, 0, -589838, 536870912, 0, -589837, 536870912, 0, -589836, 536870912, 0, -589835, 536870912, 0, -589834, 536870912, 0, -589833, 536870912, 0, -589832, 536870912, 0, -655354, 2, 3, -655353, 536870914, 3, -524303, 536870912, 0, -524302, 536870912, 0, -524301, 536870912, 0, -524300, 536870912, 0, -524299, 536870912, 0, -524298, 536870912, 0, -524297, 536870912, 0, -458767, 536870912, 0, -458766, 536870912, 0, -458765, 536870912, 0, -458764, 536870912, 0, -458763, 536870912, 0, -458762, 536870912, 0, -393231, 536870912, 0, -393230, 536870912, 0, -393229, 536870912, 0, -393228, 536870912, 0, -393227, 536870912, 0 ) diff --git a/src/menu/options/Back.gd b/src/menu/options/Back.gd index 681ecf0..7cc1cbb 100644 --- a/src/menu/options/Back.gd +++ b/src/menu/options/Back.gd @@ -1,7 +1,6 @@ extends Node2D func act(): - Shared.scene_path = Shared.main_menu_path - Shared.do_reset() + Shared.wipe_scene(Shared.main_menu_path) owner.set_process_input(false) Audio.play("menu_back", 0.9, 1.1) diff --git a/src/menu/select.gd b/src/menu/select.gd index 616bb54..c33dcab 100644 --- a/src/menu/select.gd +++ b/src/menu/select.gd @@ -70,11 +70,6 @@ func _ready(): show_scoreboard() -func sort_load_list(a, b): - if abs(a[0] - cursor) < abs(b[0] - cursor): - return true - return false - func sort_list(a, b): if abs(a - cursor) < abs(b - cursor): return true @@ -110,9 +105,10 @@ func _physics_process(delta): for i in last_refresh.keys(): last_refresh[i] = max(0, last_refresh[i] - delta) + var ticks : float = OS.get_ticks_msec() + if is_screening: screen_time += delta - var ticks = OS.get_ticks_msec() while OS.get_ticks_msec() < ticks + (delta * timeout_mod): if screen_list.size() > 0: @@ -126,29 +122,16 @@ func _physics_process(delta): # load stages elif is_load: loading_time += delta - if loader == null and load_list.size() > 0: - loader = ResourceLoader.load_interactive(load_list[0][1]) - - if loader != null: - var ticks = OS.get_ticks_msec() - - while OS.get_ticks_msec() < ticks + (delta * timeout_mod): - var error = loader.poll() - if error == ERR_FILE_EOF: - var map = loader.get_resource().instance() - var pop = load_list.pop_front() - pop[2].add_child(map) - screen_static[pop[0]].visible = false - loader = null - break - elif error != OK: - # failed - loader = null - break - if load_list.size() == 0: - is_load = false - print(loading_time, " loading time") + while OS.get_ticks_msec() < ticks + (delta * timeout_mod): + if load_list.size() > 0: + var pop = load_list.pop_front() + pop[2].add_child(Shared.scene_dict[pop[1]].instance()) + screen_static[pop[0]].visible = false + else: + is_load = false + print(loading_time, " loading time") + break func make_screen(i := 0): var new = screen.duplicate() @@ -177,13 +160,13 @@ func make_screen(i := 0): screens.append(new) overlays.append(new.get_node("Overlay")) screen_static.append(new.get_node("Vis/Static")) - view_scene(new.get_node("Vis/ViewportContainer/Viewport"), Shared.map_path + Shared.maps[i] + ".tscn") + view_scene(new.get_node("Vis/ViewportContainer/Viewport"), Shared.map_path + Shared.maps[i] + ".tscn", i) # view a scene inside the viewport by path -func view_scene(port, path): +func view_scene(port, path, arg): for i in port.get_children(): i.queue_free() - + load_list.append([port_count, path, port]) port_count += 1 @@ -265,5 +248,5 @@ func time_to_string(arg := 0.0): func open_map(): if cursor <= Shared.map_save: - Shared.set_map(cursor) - Shared.do_reset() + Shared.current_map = cursor + Shared.wipe_scene(Shared.map_path + Shared.maps[cursor] + ".tscn") diff --git a/src/menu/select.tscn b/src/menu/select.tscn index 2ba9b54..6206711 100644 --- a/src/menu/select.tscn +++ b/src/menu/select.tscn @@ -178,6 +178,7 @@ position = Vector2( -12, -12 ) texture = ExtResource( 8 ) [node name="Scores" type="Control" parent="Control"] +visible = false margin_left = 111.0 margin_top = 41.0 margin_right = 245.0