Skip to content

Commit b649455

Browse files
committed
Patch check and change level best time
1 parent bac67f7 commit b649455

File tree

10 files changed

+48
-52
lines changed

10 files changed

+48
-52
lines changed

project.godot

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ config/description="Little Rage is a Solo platformer game based on speedrun and
1515
config/version="0.6.0b"
1616
config/tags=PackedStringArray("games", "singleplayer")
1717
run/main_scene="res://scenes/uis/MainMenu.tscn"
18-
config/features=PackedStringArray("4.4", "GL Compatibility")
18+
config/features=PackedStringArray("4.5", "GL Compatibility")
1919
boot_splash/bg_color=Color(0.235294, 0.737255, 0.988235, 1)
2020
boot_splash/image="res://assets/textures/ui/icons/icon.png"
2121
config/icon="res://assets/textures/ui/icons/icon.png"

scenes/bundles/player/Player.tscn

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=25 format=3 uid="uid://bkwmpwrjnhece"]
1+
[gd_scene load_steps=24 format=3 uid="uid://bkwmpwrjnhece"]
22

33
[ext_resource type="Script" uid="uid://bfs5k272tk1ct" path="res://scripts/level/player/PlayerComponent.gd" id="1_fvwbd"]
44
[ext_resource type="Script" uid="uid://bl11t1bqyd5kg" path="res://scripts/level/player/cosmetic/skin/PlayerSkinSprite.gd" id="4_433oa"]
@@ -24,9 +24,6 @@
2424
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h7ve1"]
2525
size = Vector2(16, 32)
2626

27-
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ksqbl"]
28-
size = Vector2(1280, 720)
29-
3027
[sub_resource type="Animation" id="Animation_10f12"]
3128
length = 0.001
3229
tracks/0/type = "value"
@@ -92,11 +89,10 @@ position_smoothing_enabled = true
9289
script = ExtResource("6_bc5q0")
9390
player = NodePath("..")
9491

95-
[node name="LevelEntryAnimation" parent="." node_paths=PackedStringArray("player", "player_camera", "player_menus", "skip_control") instance=ExtResource("7_2geyv")]
92+
[node name="LevelEntryAnimation" parent="." node_paths=PackedStringArray("player", "player_camera", "player_menus") instance=ExtResource("7_2geyv")]
9693
player = NodePath("..")
9794
player_camera = NodePath("../Camera2D")
9895
player_menus = NodePath("../Menus")
99-
skip_control = NodePath("../Menus/SkipControl/TouchScreenButton")
10096

10197
[node name="ParallaxBackground" parent="." instance=ExtResource("8_nd3ki")]
10298

@@ -147,13 +143,6 @@ player_status_ui = NodePath("../PlayerStatus")
147143

148144
[node name="PauseMenu" parent="Menus" instance=ExtResource("16_rp8rw")]
149145

150-
[node name="SkipControl" type="CanvasLayer" parent="Menus"]
151-
152-
[node name="TouchScreenButton" type="TouchScreenButton" parent="Menus/SkipControl"]
153-
position = Vector2(640, 360)
154-
shape = SubResource("RectangleShape2D_ksqbl")
155-
action = "pause"
156-
157146
[node name="SoundEffectPlayer" type="AudioStreamPlayer2D" parent="."]
158147
bus = &"Sound Effects"
159148
script = ExtResource("17_ob0nn")

scenes/uis/WinMenu.tscn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,15 +339,15 @@ vertical_alignment = 1
339339
position = Vector2(961, 260)
340340
emitting = false
341341
amount = 32
342-
process_material = SubResource("ParticleProcessMaterial_hl02j")
343342
lifetime = 5.0
344343
speed_scale = 2.0
345344
explosiveness = 1.0
345+
process_material = SubResource("ParticleProcessMaterial_hl02j")
346346

347347
[node name="AnimationPlayer" type="AnimationPlayer" parent="Singleplayer"]
348348
root_node = NodePath("../BestTimeLabel")
349349
libraries = {
350-
"": SubResource("AnimationLibrary_gnhhu")
350+
&"": SubResource("AnimationLibrary_gnhhu")
351351
}
352352

353353
[connection signal="pressed" from="Singleplayer/VBoxContainer/NextLevel" to="." method="_on_next_level_pressed"]

scripts/level/LevelEntryAnimation.gd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ extends Node2D
33
@export var player: PlayerComponent
44
@export var player_camera: Camera2D
55
@export var player_menus: PlayerMenus
6-
@export var skip_control: TouchScreenButton
76

87
@onready var animation_camera: Camera2D = $Camera2D
98
@onready var animation_player: AnimationPlayer = $AnimationPlayer
@@ -20,6 +19,9 @@ func _ready() -> void:
2019
func _input(event: InputEvent) -> void:
2120
if event.is_action_pressed("pause") && animation_player.is_playing():
2221
skip()
22+
if event is InputEventScreenTouch && animation_player.is_playing():
23+
if event.is_pressed():
24+
skip()
2325

2426
func skip():
2527
animation_player.stop()
@@ -49,7 +51,5 @@ func play_animation() -> void:
4951
queue_free()
5052

5153
func enable_status() -> void:
52-
if Game.is_mobile:
53-
skip_control.queue_free()
5454
player_menus.player_status.visible = !LevelManager.current_level.is_empty()
5555
player_menus.mobile_control.visible = Game.is_mobile

scripts/level/LevelManager.gd

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@ func get_level_best_time(level_id: String) -> Array:
4242
return levels_best_times.get(level_id, [0, 0, 0])
4343

4444
func time_to_int(time: Array) -> int:
45-
return int(str(time[0]).pad_zeros(2) + str(time[1]).pad_zeros(2) + str(time[2]).pad_zeros(2))
45+
return int(time[0]) * 10000 + int(time[1]) * 100 + int(time[2])
4646

4747
func is_best_time(current_time: Array[int]) -> bool:
4848
var best_time: Array = get_level_best_time(current_level)
4949
if best_time == [0, 0, 0]:
5050
return true
51-
if time_to_int(best_time) > time_to_int(current_time):
51+
var best_time_num: int = time_to_int(best_time)
52+
var current_time_num: int = time_to_int(current_time)
53+
if best_time_num > current_time_num:
5254
AchievementManager.unlock_achievement("new_record")
5355
return true
5456
return false

scripts/save/SaveManager.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func save() -> void:
4444
data["current_death_particle"] = PlayerParticleManager.current_death_particle
4545
data["current_jump_particle"] = PlayerParticleManager.current_jump_particle
4646
data["current_step_particle"] = PlayerParticleManager.current_step_particle
47-
save_file.store_string(JSON.stringify(data))
47+
save_file.store_string(JSON.stringify(data, " "))
4848
save_file.close()
4949

5050
func create_save() -> void:

scripts/sounds/UISoundAdder.gd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ func _enter_tree() -> void:
99
var player: AudioStreamPlayer = AudioStreamPlayer.new()
1010
add_child(player)
1111
player.bus = "Sound Effects"
12+
process_mode = Node.PROCESS_MODE_ALWAYS
1213

1314
var stream: AudioStreamPolyphonic = AudioStreamPolyphonic.new()
1415
stream.polyphony = 64

scripts/uis/player/PlayerMenus.gd

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ class_name PlayerMenus
55
@onready var mobile_control: CanvasLayer = $MobileControl
66

77
func _ready() -> void:
8-
mobile_control.visible = Game.is_mobile
8+
mobile_control.visible = Game.is_mobile
99

1010
func _unhandled_key_input(event: InputEvent) -> void:
11-
if event is InputEventKey:
12-
if event.is_action_pressed("ui_enable"):
13-
visible = !visible
14-
Overlay.visible = visible
15-
player_status.visible = visible
11+
if event is InputEventKey:
12+
if event.is_action_pressed("ui_enable"):
13+
visible = !visible
14+
Overlay.visible = visible
15+
player_status.visible = visible

scripts/uis/player/WinMenu.gd

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ func on_player_win(time: Array[int], death_count: int):
1818

1919
func open(time: Array[int], death_count: int):
2020
MusicManager.stop()
21+
2122
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
22-
if PlayerSkinManager.current_skin == "mexican_player" && PlayerHatManager.current_hat == "mexican_hat":
23-
mexican_mode()
23+
var mexican_mode: bool = PlayerSkinManager.current_skin == "mexican_player" && \
24+
PlayerHatManager.current_hat == "mexican_hat"
25+
2426
get_tree().paused = true
2527
Game.can_pause = false
26-
var time_sum: int = 0
27-
for i in time:
28-
time_sum += i
28+
2929
player_status_ui.visible = false
3030
singleplayer.visible = true
3131

@@ -34,7 +34,11 @@ func open(time: Array[int], death_count: int):
3434
var music_id: String = "level_win_" + Level.level_theme_to_str(level_theme)
3535
if is_best_time:
3636
music_id += "_variant"
37-
MusicManager.play_music(music_id)
37+
if mexican_mode:
38+
MusicManager.play_music("mexican_music")
39+
Game.instanceNodeAtPos(load("res://scenes/bundles/particles/tacosParticle.tscn"), self, Vector2(0, -100))
40+
else:
41+
MusicManager.play_music(music_id)
3842

3943
if LevelManager.is_default_level(LevelManager.current_level):
4044
var current_level_number: int = int(LevelManager.current_level.replace("level_", ""))
@@ -48,6 +52,10 @@ func open(time: Array[int], death_count: int):
4852
time_label.start(time, death_count)
4953
await best_time_animation.animation_finished
5054

55+
var time_sum: int = 0
56+
for i in time:
57+
time_sum += i
58+
5159
if is_best_time:
5260
if LevelManager.get_level_best_time(LevelManager.current_level) != [0, 0, 0]:
5361
LootBoxesManager.add_loot_box(0, true)
@@ -58,10 +66,6 @@ func open(time: Array[int], death_count: int):
5866
else:
5967
LootBoxesManager.add_loot_box((time_sum * time_sum) / pow(3 * 99, 2))
6068

61-
func mexican_mode():
62-
MusicManager.play_music("mexican_music")
63-
Game.instanceNodeAtPos(load("res://scenes/bundles/particles/tacosParticle.tscn"), self, Vector2(0, -100))
64-
6569
func exit():
6670
LevelManager.current_level = ""
6771
Game.can_pause = true

scripts/uis/solo_menu/level_selector/LevelsList.gd

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ var current_index: int = 0
1010
signal on_level_selected(level: Level)
1111

1212
func _ready() -> void:
13-
load_level_list()
13+
load_level_list()
1414

1515
func load_level_list() -> void:
16-
clear()
17-
levels = []
18-
current_index = 0
19-
for level in LevelManager.levels:
20-
var is_default: bool = LevelManager.is_default_level(level.id)
21-
if (is_default && default) || (!is_default && custom):
22-
levels.append(level.id)
23-
add_item(level.name)
24-
if !levels.is_empty():
25-
_on_item_selected.call_deferred(0)
16+
clear()
17+
levels = []
18+
current_index = 0
19+
for level in LevelManager.levels:
20+
var is_default: bool = LevelManager.is_default_level(level.id)
21+
if (is_default && default) || (!is_default && custom):
22+
levels.append(level.id)
23+
add_item(level.name)
24+
if !levels.is_empty():
25+
_on_item_selected.call_deferred(0)
2626

2727
func _on_item_selected(index: int) -> void:
28-
current_index = index
29-
on_level_selected.emit(LevelManager.get_level(levels[index]))
28+
current_index = index
29+
on_level_selected.emit(LevelManager.get_level(levels[index]))
3030

3131
func get_level_from_selection() -> Level:
32-
return LevelManager.get_level(levels[current_index])
32+
return LevelManager.get_level(levels[current_index])

0 commit comments

Comments
 (0)