11 Commits

Author SHA1 Message Date
SkyanUltra
f04b20e5b8 BowserBro palettes and slight Bowser file clean-up (#636)
* Different world palettes for BowserBro, and slight optimization to Bowser.

BowserBro still will not use Bowser's green palette in any of the areas where the game would genuinely use the green palette, but he will follow the rules of other non-green palette areas so he has more consistency in those areas.

* BowserBro palette and sprite now correctly set.

* Fix Bowser.png
2025-10-20 21:56:34 +01:00
John Cooper McDonald
fbe86af2cd Make the rest of the credits images pack replacable (#640)
* Make the rest of the credits images pack replacable

* Update Credits.tscn
2025-10-20 21:01:25 +01:00
John Cooper McDonald
6a373125b1 Fix challenge transition text shadow + show high score (#641) 2025-10-20 20:57:50 +01:00
KirbyKidJ
50da5f62f3 Some Fake Bowser Fixes (#635)
This PR fixes the issues mentioned in #557   with Fake and Real Bowsers. Also for fun, I got the Bowser fall SFX to work when you kill a REAL Bowser or Bowser Bro by moving it outside of Bowser before they were freed from the scene.
2025-10-20 09:43:34 +01:00
SkyanUltra
b87d6e6a7c Fix for broken crouch size in marathon/boo races. (#632)
Previously, if you entered a boo race your hitbox scale changes would never be applied, meaning your crouch size would be unchanged from your standing stance. This fixes that, and adds a single parameter to apply character physics.
2025-10-20 09:41:45 +01:00
JHDev2006
65718342c6 Merge branch 'main' of https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public 2025-10-19 21:31:11 +01:00
JHDev2006
f77e1510cf fixed bumpers crashing, and FINALLY HAVE SORTED RESOURCE PACK EXTRACTION, ONLY TOOK BEING ABLE TO DOWNLOAD SOME OF THE FILES FROM THE FUCKING GITHUB TO WORK YEAAAAAAAAAAAAAA I LOVE GODOT 2025-10-19 21:31:09 +01:00
John Cooper McDonald
2d0c34ce69 Fix Lakitu and deco not spawning in Challenge 8-2 (#629) 2025-10-19 18:16:34 +01:00
John Cooper McDonald
d37910a379 Don't give points for the powerup from a checkpoint (#628) 2025-10-19 09:53:26 +01:00
JHDev2006
6011e6f63b Merge branch 'main' of https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public 2025-10-19 09:45:49 +01:00
JHDev2006
23345bbbf1 removed sp scrolling from settings menu
i coded it in about 10 minutes as a joke, and didnt really intend on it being something proper + it comes with a whole new slew of bugs which im not willing to commit to yet, soz. its still in the code so should be relatively easy to hack in, maybe itll come back in future, who knows
2025-10-19 09:45:48 +01:00
25 changed files with 466 additions and 293 deletions

View File

@@ -74,15 +74,6 @@
} }
}, },
"variations": { "variations": {
"Overworld": {
"source": "Bowser.png",
"rect": [
0.0,
0.0,
96.0,
96.0
]
},
"default": { "default": {
"source": "Bowser.png", "source": "Bowser.png",
"rect": [ "rect": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 B

After

Width:  |  Height:  |  Size: 697 B

View File

@@ -74,15 +74,6 @@
} }
}, },
"variations": { "variations": {
"Overworld": {
"source": "BowsersBro.png",
"rect": [
0.0,
0.0,
96.0,
96.0
]
},
"default": { "default": {
"source": "BowsersBro.png", "source": "BowsersBro.png",
"rect": [ "rect": [
@@ -91,6 +82,54 @@
96.0, 96.0,
96.0 96.0
] ]
},
"Underwater": {
"source": "BowsersBro.png",
"rect": [
96.0,
0.0,
96.0,
96.0
]
},
"CastleWater": {
"link": "Underwater"
},
"Snow": {
"source": "BowsersBro.png",
"rect": [
192.0,
0.0,
96.0,
96.0
]
},
"Space": {
"source": "BowsersBro.png",
"rect": [
0.0,
96.0,
96.0,
96.0
]
},
"Volcano": {
"source": "BowsersBro.png",
"rect": [
96.0,
96.0,
96.0,
96.0
]
},
"Bonus": {
"source": "BowsersBro.png",
"rect": [
192.0,
96.0,
96.0,
96.0
]
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -90,7 +90,6 @@ script/source = "extends AchievementProgressCalculator
func get_progress() -> int: func get_progress() -> int:
var medal_amount := 0 var medal_amount := 0
SpeedrunHandler.load_best_times(campaign) SpeedrunHandler.load_best_times(campaign)
print(SpeedrunHandler.best_level_warpless_times)
var world := 0 var world := 0
for x in SpeedrunHandler.best_level_warpless_times: for x in SpeedrunHandler.best_level_warpless_times:
var level := 0 var level := 0
@@ -100,7 +99,6 @@ func get_progress() -> int:
level += 1 level += 1
world += 1 world += 1
for x in SpeedrunHandler.best_level_any_times: for x in SpeedrunHandler.best_level_any_times:
print(SpeedrunHandler.best_level_any_times)
if SpeedrunHandler.best_level_any_times[x] <= SpeedrunHandler.LEVEL_GOLD_ANY_TIMES[campaign][x] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and SpeedrunHandler.best_level_any_times[x] > 0: if SpeedrunHandler.best_level_any_times[x] <= SpeedrunHandler.LEVEL_GOLD_ANY_TIMES[campaign][x] * SpeedrunHandler.MEDAL_CONVERSIONS[medal_index] and SpeedrunHandler.best_level_any_times[x] > 0:
medal_amount += 1 medal_amount += 1
var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text()) var save = JSON.parse_string(FileAccess.open(Global.config_path.path_join(\"saves/\" + campaign + \".sav\"), FileAccess.READ).get_as_text())

View File

@@ -382,6 +382,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/TileArtists/Label"] [node name="Label3" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -401,6 +403,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ouss1") texture = SubResource("AtlasTexture_ouss1")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/TileArtists/Label"] [node name="Label4" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -420,6 +424,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_yji2n") texture = SubResource("AtlasTexture_yji2n")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/TileArtists/Label"] [node name="Label5" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -439,6 +445,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4ssyu") texture = SubResource("AtlasTexture_4ssyu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/TileArtists/Label"] [node name="Label6" type="Label" parent="Labels/TileArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -458,6 +466,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_8pyc7") texture = SubResource("AtlasTexture_8pyc7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/TileArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/TileArtists"]
layout_mode = 0 layout_mode = 0
@@ -466,6 +476,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("4_j3afk") texture = ExtResource("4_j3afk")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="BGArtists" type="Control" parent="Labels"] [node name="BGArtists" type="Control" parent="Labels"]
visible = false visible = false
@@ -516,6 +528,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/BGArtists/Label"] [node name="Label3" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -535,6 +549,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_6kpe2") texture = SubResource("AtlasTexture_6kpe2")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/BGArtists/Label"] [node name="Label4" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -554,6 +570,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_3s1o5") texture = SubResource("AtlasTexture_3s1o5")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/BGArtists/Label"] [node name="Label6" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -573,6 +591,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_x745s") texture = SubResource("AtlasTexture_x745s")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/BGArtists/Label"] [node name="Label5" type="Label" parent="Labels/BGArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -592,6 +612,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/BGArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/BGArtists"]
layout_mode = 0 layout_mode = 0
@@ -600,6 +622,8 @@ offset_top = 112.0
offset_right = 144.0 offset_right = 144.0
offset_bottom = 224.0 offset_bottom = 224.0
texture = ExtResource("6_s34bh") texture = ExtResource("6_s34bh")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="EnemyArtists" type="Control" parent="Labels"] [node name="EnemyArtists" type="Control" parent="Labels"]
visible = false visible = false
@@ -650,6 +674,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label3" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -669,6 +695,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label4" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -688,6 +716,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_885hu") texture = SubResource("AtlasTexture_885hu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label5" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -707,6 +737,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_j5uy1") texture = SubResource("AtlasTexture_j5uy1")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label6" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -726,6 +758,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_oqk7k") texture = SubResource("AtlasTexture_oqk7k")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/EnemyArtists/Label"] [node name="Label7" type="Label" parent="Labels/EnemyArtists/Label"]
layout_mode = 0 layout_mode = 0
@@ -745,6 +779,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ud3pl") texture = SubResource("AtlasTexture_ud3pl")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/EnemyArtists"] [node name="TextureRect" type="TextureRect" parent="Labels/EnemyArtists"]
layout_mode = 0 layout_mode = 0
@@ -753,6 +789,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("7_k6bv2") texture = ExtResource("7_k6bv2")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label10" type="Label" parent="Labels/EnemyArtists"] [node name="Label10" type="Label" parent="Labels/EnemyArtists"]
layout_mode = 0 layout_mode = 0
@@ -773,6 +811,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_isghj") texture = SubResource("AtlasTexture_isghj")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="LevelDesign" type="Control" parent="Labels"] [node name="LevelDesign" type="Control" parent="Labels"]
visible = false visible = false
@@ -823,6 +863,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label4" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -842,6 +884,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_oe1k8") texture = SubResource("AtlasTexture_oe1k8")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/LevelDesign/Label/Label4"] [node name="Label5" type="Label" parent="Labels/LevelDesign/Label/Label4"]
layout_mode = 0 layout_mode = 0
@@ -861,6 +905,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_sqdyg") texture = SubResource("AtlasTexture_sqdyg")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label5" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -880,6 +926,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4ssyu") texture = SubResource("AtlasTexture_4ssyu")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label7" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -899,6 +947,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_0ixvh") texture = SubResource("AtlasTexture_0ixvh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect2" type="TextureRect" parent="Labels/LevelDesign/Label/Label7/TextureRect"] [node name="TextureRect2" type="TextureRect" parent="Labels/LevelDesign/Label/Label7/TextureRect"]
layout_mode = 1 layout_mode = 1
@@ -910,6 +960,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/LevelDesign/Label"] [node name="Label3" type="Label" parent="Labels/LevelDesign/Label"]
layout_mode = 0 layout_mode = 0
@@ -929,6 +981,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_g2gtw") texture = SubResource("AtlasTexture_g2gtw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/LevelDesign"] [node name="Label2" type="Label" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -969,6 +1023,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/LevelDesign/Label2"] [node name="Label2" type="Label" parent="Labels/LevelDesign/Label2"]
layout_mode = 0 layout_mode = 0
@@ -988,6 +1044,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_shsp7") texture = SubResource("AtlasTexture_shsp7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/LevelDesign"] [node name="Label3" type="Label" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -1027,6 +1085,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_i063v") texture = SubResource("AtlasTexture_i063v")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/LevelDesign"] [node name="TextureRect" type="TextureRect" parent="Labels/LevelDesign"]
layout_mode = 0 layout_mode = 0
@@ -1035,6 +1095,8 @@ offset_top = 120.0
offset_right = 248.0 offset_right = 248.0
offset_bottom = 232.0 offset_bottom = 232.0
texture = ExtResource("8_3648a") texture = ExtResource("8_3648a")
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Sound" type="Control" parent="Labels"] [node name="Sound" type="Control" parent="Labels"]
layout_mode = 3 layout_mode = 3
@@ -1084,6 +1146,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s34bh") texture = SubResource("AtlasTexture_s34bh")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/Sound/Label"] [node name="Label3" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1103,6 +1167,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_23b0w") texture = SubResource("AtlasTexture_23b0w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/Sound/Label"] [node name="Label4" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1122,6 +1188,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_yeh4c") texture = SubResource("AtlasTexture_yeh4c")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Sound/Label"] [node name="Label6" type="Label" parent="Labels/Sound/Label"]
layout_mode = 0 layout_mode = 0
@@ -1141,6 +1209,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_mjy6w") texture = SubResource("AtlasTexture_mjy6w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label2" type="Label" parent="Labels/Sound"] [node name="Label2" type="Label" parent="Labels/Sound"]
layout_mode = 0 layout_mode = 0
@@ -1180,6 +1250,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_irr87") texture = SubResource("AtlasTexture_irr87")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Sound/Label2"] [node name="Label6" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1199,6 +1271,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_mjy6w") texture = SubResource("AtlasTexture_mjy6w")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/Sound/Label2"] [node name="Label7" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1218,6 +1292,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_3diwr") texture = SubResource("AtlasTexture_3diwr")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label8" type="Label" parent="Labels/Sound/Label2"] [node name="Label8" type="Label" parent="Labels/Sound/Label2"]
layout_mode = 0 layout_mode = 0
@@ -1237,6 +1313,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ttapi") texture = SubResource("AtlasTexture_ttapi")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/Sound"] [node name="TextureRect" type="TextureRect" parent="Labels/Sound"]
layout_mode = 0 layout_mode = 0
@@ -1372,6 +1450,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_4e2pw") texture = SubResource("AtlasTexture_4e2pw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label3" type="Label" parent="Labels/Localizers/Label"] [node name="Label3" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1404,6 +1484,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_17gvw") texture = SubResource("AtlasTexture_17gvw")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label4" type="Label" parent="Labels/Localizers/Label"] [node name="Label4" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1436,6 +1518,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_suvme") texture = SubResource("AtlasTexture_suvme")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label5" type="Label" parent="Labels/Localizers/Label"] [node name="Label5" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1468,6 +1552,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_d4vu4") texture = SubResource("AtlasTexture_d4vu4")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label6" type="Label" parent="Labels/Localizers/Label"] [node name="Label6" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1500,6 +1586,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_ekvxv") texture = SubResource("AtlasTexture_ekvxv")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label7" type="Label" parent="Labels/Localizers/Label"] [node name="Label7" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1532,6 +1620,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label8" type="Label" parent="Labels/Localizers/Label"] [node name="Label8" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1564,6 +1654,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_txoml") texture = SubResource("AtlasTexture_txoml")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label9" type="Label" parent="Labels/Localizers/Label"] [node name="Label9" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1596,6 +1688,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_d2mcn") texture = SubResource("AtlasTexture_d2mcn")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label10" type="Label" parent="Labels/Localizers/Label"] [node name="Label10" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1628,6 +1722,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_igtl7") texture = SubResource("AtlasTexture_igtl7")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label11" type="Label" parent="Labels/Localizers/Label"] [node name="Label11" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1660,6 +1756,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_wjira") texture = SubResource("AtlasTexture_wjira")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label12" type="Label" parent="Labels/Localizers/Label"] [node name="Label12" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1692,6 +1790,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_s2n2q") texture = SubResource("AtlasTexture_s2n2q")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="Label13" type="Label" parent="Labels/Localizers/Label"] [node name="Label13" type="Label" parent="Labels/Localizers/Label"]
layout_mode = 0 layout_mode = 0
@@ -1724,6 +1824,8 @@ offset_bottom = 16.0
grow_horizontal = 0 grow_horizontal = 0
texture = SubResource("AtlasTexture_bdyah") texture = SubResource("AtlasTexture_bdyah")
stretch_mode = 2 stretch_mode = 2
script = ExtResource("11_d4vu4")
metadata/_custom_type_script = "uid://ca3bew33g45eq"
[node name="TextureRect" type="TextureRect" parent="Labels/Localizers"] [node name="TextureRect" type="TextureRect" parent="Labels/Localizers"]
layout_mode = 0 layout_mode = 0

View File

@@ -132,6 +132,7 @@ offset_left = -44.0
offset_top = -11.0 offset_top = -11.0
offset_right = 156.0 offset_right = 156.0
offset_bottom = 5.0 offset_bottom = 5.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "CHALLENGE_DIALOGUE_SCORE" text = "CHALLENGE_DIALOGUE_SCORE"
uppercase = true uppercase = true
@@ -143,8 +144,10 @@ offset_left = -8.0
offset_top = -11.0 offset_top = -11.0
offset_right = 56.0 offset_right = 56.0
offset_bottom = 12.0 offset_bottom = 12.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "0" text = "0"
horizontal_alignment = 2 horizontal_alignment = 2
uppercase = true
[node name="Target" type="Label" parent="BG/Control/ChallengeScoreText"] [node name="Target" type="Label" parent="BG/Control/ChallengeScoreText"]
layout_mode = 1 layout_mode = 1
@@ -155,8 +158,10 @@ offset_left = -8.0
offset_right = 8.0 offset_right = 8.0
offset_bottom = 23.0 offset_bottom = 23.0
theme_override_colors/font_color = Color(0.462745, 0.52549, 1, 1) theme_override_colors/font_color = Color(0.462745, 0.52549, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "/00000" text = "/00000"
horizontal_alignment = 2 horizontal_alignment = 2
uppercase = true
[node name="ChallengeCoins2" type="Label" parent="BG/Control"] [node name="ChallengeCoins2" type="Label" parent="BG/Control"]
unique_name_in_owner = true unique_name_in_owner = true
@@ -166,6 +171,7 @@ offset_left = -44.0
offset_top = -27.0 offset_top = -27.0
offset_right = 156.0 offset_right = 156.0
offset_bottom = -11.0 offset_bottom = -11.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "CHALLENGE_DIALOGUE_COINS" text = "CHALLENGE_DIALOGUE_COINS"
uppercase = true uppercase = true
@@ -230,7 +236,7 @@ metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[node name="TextShadowColourChanger" type="Node" parent="." node_paths=PackedStringArray("labels")] [node name="TextShadowColourChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("10_abjth") script = ExtResource("10_abjth")
labels = [NodePath("../BG/Control/World"), NodePath("../BG/Control/LivesCount"), NodePath("../BG/Control/MarathonPB"), NodePath("../BG/Control/WorldNum"), NodePath("../BG/Control/CustomLevelName"), NodePath("../BG/Control/CustomLevelAuthor")] labels = [NodePath("../BG/Control/World"), NodePath("../BG/Control/LivesCount"), NodePath("../BG/Control/MarathonPB"), NodePath("../BG/Control/WorldNum"), NodePath("../BG/Control/CustomLevelName"), NodePath("../BG/Control/CustomLevelAuthor"), NodePath("../BG/Control/ChallengeScore"), NodePath("../BG/Control/ChallengeScoreText"), NodePath("../BG/Control/ChallengeScoreText/Target"), NodePath("../BG/Control/ChallengeCoins2")]
metadata/_custom_type_script = "uid://dt2p68xl462v2" metadata/_custom_type_script = "uid://dt2p68xl462v2"
[connection signal="timeout" from="Timer" to="." method="transition"] [connection signal="timeout" from="Timer" to="." method="transition"]

View File

@@ -238,7 +238,7 @@ metadata/_custom_type_script = "uid://pfwgmuchergf"
[node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")] [node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")]
script = ExtResource("27_nvjju") script = ExtResource("27_nvjju")
nodes_to_delete = [NodePath("../Blocks/QuestionBlock2"), null, NodePath("../Blocks/BrickBlock7")] nodes_to_delete = [NodePath("../Blocks/QuestionBlock2"), NodePath("../Blocks/BrickBlock7")]
metadata/_custom_type_script = "uid://cgm3opb5qudc1" metadata/_custom_type_script = "uid://cgm3opb5qudc1"
[node name="RedCoin" parent="ChallengeNodes" instance=ExtResource("28_t63mw")] [node name="RedCoin" parent="ChallengeNodes" instance=ExtResource("28_t63mw")]

View File

@@ -164,9 +164,8 @@ position = Vector2(3192, 0)
[node name="Checkpoint" parent="." instance=ExtResource("20_xv2tb")] [node name="Checkpoint" parent="." instance=ExtResource("20_xv2tb")]
position = Vector2(1328, 0) position = Vector2(1328, 0)
[node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")] [node name="ChallengeNodes" type="Node" parent="."]
script = ExtResource("21_8rqg6") script = ExtResource("21_8rqg6")
nodes_to_delete = [null]
metadata/_custom_type_script = "uid://cgm3opb5qudc1" metadata/_custom_type_script = "uid://cgm3opb5qudc1"
[node name="RedCoin" parent="ChallengeNodes" instance=ExtResource("22_cxldk")] [node name="RedCoin" parent="ChallengeNodes" instance=ExtResource("22_cxldk")]

View File

@@ -112,7 +112,7 @@ tile_map_data = PackedByteArray("AAD7////AAAAAAAAAAD8////AAABAAAAAAD+////AAABAAA
[node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")] [node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")]
script = ExtResource("21_f001g") script = ExtResource("21_f001g")
nodes_to_delete = [NodePath("../Blocks/QuestionBlock3"), NodePath("../Coin"), null, NodePath("../Blocks/QuestionBlock4")] nodes_to_delete = [NodePath("../Blocks/QuestionBlock3"), NodePath("../Coin"), NodePath("../Blocks/QuestionBlock4")]
metadata/_custom_type_script = "uid://cgm3opb5qudc1" metadata/_custom_type_script = "uid://cgm3opb5qudc1"
[node name="QuestionBlock" parent="ChallengeNodes" instance=ExtResource("9_vtupl")] [node name="QuestionBlock" parent="ChallengeNodes" instance=ExtResource("9_vtupl")]

View File

@@ -1054,7 +1054,7 @@ position = Vector2(2976, -96)
[node name="InvisibleQuestionBlock" parent="ChallengeNodes" index="5"] [node name="InvisibleQuestionBlock" parent="ChallengeNodes" index="5"]
position = Vector2(504, -104) position = Vector2(504, -104)
[node name="InvisibleQuestionBlock2" parent="ChallengeNodes" index="6" instance=ExtResource("3_dfskb")] [node name="InvisibleQuestionBlock3" parent="ChallengeNodes" index="6" instance=ExtResource("3_dfskb")]
position = Vector2(1176, -104) position = Vector2(1176, -104)
[node name="Enemies" type="Node" parent="." index="13"] [node name="Enemies" type="Node" parent="." index="13"]

View File

@@ -185,7 +185,7 @@ optional = true
[node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")] [node name="ChallengeNodes" type="Node" parent="." node_paths=PackedStringArray("nodes_to_delete")]
script = ExtResource("20_8cbri") script = ExtResource("20_8cbri")
nodes_to_delete = [NodePath("../Enemies/Lakitu"), NodePath("../DecoTiles"), NodePath("../Blocks")] nodes_to_delete = [NodePath("../Blocks")]
force_on = true force_on = true
metadata/_custom_type_script = "uid://cgm3opb5qudc1" metadata/_custom_type_script = "uid://cgm3opb5qudc1"

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=41 format=3 uid="uid://duptcik2j0b04"] [gd_scene load_steps=40 format=3 uid="uid://duptcik2j0b04"]
[ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"] [ext_resource type="Texture2D" uid="uid://d3sxabber73q6" path="res://Assets/Sprites/Enemies/Bowser.png" id="1_8mi7o"]
[ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"] [ext_resource type="Script" uid="uid://wtypg4d0l6j2" path="res://Scripts/Classes/Entities/Enemies/Bowser.gd" id="1_ma5fd"]
@@ -11,7 +11,6 @@
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"] [ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Bowser.json" id="6_nf6hu"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"] [ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="6_pvhfi"]
[ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"] [ext_resource type="Script" uid="uid://c3gg32ivrlq8n" path="res://Scripts/Classes/Components/GibSpawner.gd" id="6_va0n6"]
[ext_resource type="JSON" path="res://Assets/Sprites/Enemies/Goomba.json" id="9_exf4b"]
[ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"] [ext_resource type="Script" uid="uid://5octqlf4ohel" path="res://Scripts/Classes/Components/ScoreNoteSpawner.gd" id="11_pvhfi"]
[ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"] [ext_resource type="Script" uid="uid://cqif1li7otvpl" path="res://Scripts/Parts/SpriteFramesToJsonConverter.gd" id="14_nf6hu"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"] [ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="15_nf6hu"]
@@ -300,7 +299,7 @@ metadata/_custom_type_script = "uid://caq1qiwmy0mox"
script = ExtResource("5_17x2r") script = ExtResource("5_17x2r")
node_to_affect = NodePath("..") node_to_affect = NodePath("..")
property_name = "sprite_frames" property_name = "sprite_frames"
resource_json = ExtResource("9_exf4b") resource_json = ExtResource("6_nf6hu")
use_cache = false use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik" metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
@@ -344,6 +343,7 @@ metadata/_custom_type_script = "uid://dri2d5jtu0fbq"
[node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")] [node name="GibSpawner" type="Node" parent="." node_paths=PackedStringArray("visuals")]
script = ExtResource("6_va0n6") script = ExtResource("6_va0n6")
visuals = NodePath("../SpriteScaleJoint/DeathSprite") visuals = NodePath("../SpriteScaleJoint/DeathSprite")
gib_type = 1
metadata/_custom_type_script = "uid://c3gg32ivrlq8n" metadata/_custom_type_script = "uid://c3gg32ivrlq8n"
[node name="ScoreNoteSpawner" type="Node" parent="."] [node name="ScoreNoteSpawner" type="Node" parent="."]
@@ -403,13 +403,14 @@ hitbox = NodePath("../SpriteScaleJoint/Sprite/Hitbox")
metadata/_custom_type_script = "uid://ba18grqjixded" metadata/_custom_type_script = "uid://ba18grqjixded"
[connection signal="killed" from="." to="GibSpawner" method="summon_gib"] [connection signal="killed" from="." to="GibSpawner" method="summon_gib"]
[connection signal="killed" from="." to="." method="show_smoke" unbinds=1]
[connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]] [connection signal="killed" from="." to="ScoreNoteSpawner" method="spawn_note" binds= [5000]]
[connection signal="killed" from="." to="." method="show_smoke" unbinds=1]
[connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"] [connection signal="area_entered" from="SpriteScaleJoint/Sprite/Hitbox" to="." method="on_area_entered"]
[connection signal="timeout" from="JumpTimer" to="." method="jump"] [connection signal="timeout" from="JumpTimer" to="." method="jump"]
[connection signal="timeout" from="HammerTime" to="." method="throw_hammers"] [connection signal="timeout" from="HammerTime" to="." method="throw_hammers"]
[connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"] [connection signal="timeout" from="FlameTimer" to="." method="breathe_fire"]
[connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1] [connection signal="fireball_hit" from="FireballDetection" to="." method="fireball_hit" unbinds=1]
[connection signal="gib_about_to_spawn" from="GibSpawner" to="." method="on_gib_about_to_spawn"]
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6] [connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="play_music" flags=6]
[connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]] [connection signal="attached" from="TrackJoint" to="MoveAnimation" method="play" binds= ["RESET"]]
[connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"] [connection signal="moving_shell_entered" from="ShellDetection" to="ShellDetection" method="destroy_shell"]

View File

@@ -11,3 +11,6 @@ resource_json = ExtResource("2_qcxx5")
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"] [node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
resource_json = ExtResource("2_qcxx5") resource_json = ExtResource("2_qcxx5")
[node name="GibSpawner" parent="." index="8" node_paths=PackedStringArray("visuals")]
visuals = NodePath("../SpriteScaleJoint/DeathSprite")

View File

@@ -5,7 +5,7 @@
[node name="TrueBowser" instance=ExtResource("1_xtf8a")] [node name="TrueBowser" instance=ExtResource("1_xtf8a")]
can_hammer = true can_hammer = true
metadata/is_real = true is_real = true
[node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"] [node name="ResourceSetterNew" parent="SpriteScaleJoint/DeathSprite" index="0"]
resource_json = ExtResource("4_ryqkh") resource_json = ExtResource("4_ryqkh")

View File

@@ -447,7 +447,7 @@ size_flags_vertical = 3
theme_override_constants/separation = -4 theme_override_constants/separation = -4
script = ExtResource("4_avtty") script = ExtResource("4_avtty")
category_name = "SETTINGS_VISUALS" category_name = "SETTINGS_VISUALS"
options = [NodePath("ParallaxStyle"), NodePath("BGParticles"), NodePath("HUDStyle"), NodePath("RainbowEffect"), NodePath("TransformationEffect"), NodePath("TextShadows"), NodePath("BridgeDestructionAnimation"), NodePath("VisibleTimers"), NodePath("TransitionAnimation"), NodePath("SpecialScrollingMode"), NodePath("ColourfulPipes"), NodePath("FirebarStyle"), NodePath("ExtraParticles")] options = [NodePath("ParallaxStyle"), NodePath("BGParticles"), NodePath("HUDStyle"), NodePath("RainbowEffect"), NodePath("TransformationEffect"), NodePath("TextShadows"), NodePath("BridgeDestructionAnimation"), NodePath("VisibleTimers"), NodePath("TransitionAnimation"), null, NodePath("ColourfulPipes"), NodePath("FirebarStyle"), NodePath("ExtraParticles")]
[node name="Control" type="Control" parent="PanelContainer/MarginContainer/VBoxContainer/Visuals"] [node name="Control" type="Control" parent="PanelContainer/MarginContainer/VBoxContainer/Visuals"]
custom_minimum_size = Vector2(0, 4) custom_minimum_size = Vector2(0, 4)
@@ -516,13 +516,6 @@ title = "VISUAL_TRANSITION_EFFECT"
values = ["VISUAL_TRANSITION_CLASSIC", "VISUAL_TRANSITION_SMOOTH"] values = ["VISUAL_TRANSITION_CLASSIC", "VISUAL_TRANSITION_SMOOTH"]
settings_category = "visuals" settings_category = "visuals"
[node name="SpecialScrollingMode" parent="PanelContainer/MarginContainer/VBoxContainer/Visuals" groups=["Options"] instance=ExtResource("3_dl6kk")]
layout_mode = 2
option_key = "smbs_scroll"
title = "VISUAL_SMBS_SCROLL"
values = ["VISUAL_SMBS_SCROLL_OFF", "VISUAL_SMBS_SCROLL_X1", "VISUAL_SMBS_SCROLL_PC8801"]
settings_category = "visuals"
[node name="ColourfulPipes" parent="PanelContainer/MarginContainer/VBoxContainer/Visuals" groups=["Options"] instance=ExtResource("3_dl6kk")] [node name="ColourfulPipes" parent="PanelContainer/MarginContainer/VBoxContainer/Visuals" groups=["Options"] instance=ExtResource("3_dl6kk")]
layout_mode = 2 layout_mode = 2
option_key = "colour_pipes" option_key = "colour_pipes"
@@ -1020,7 +1013,6 @@ script = ExtResource("19_k6yev")
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/BridgeDestructionAnimation" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="bridge_changed"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/BridgeDestructionAnimation" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="bridge_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisibleTimers" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="visible_timers_changed"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisibleTimers" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="visible_timers_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/TransitionAnimation" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="transition_style_changed"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/TransitionAnimation" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="transition_style_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/SpecialScrollingMode" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="smbs_scroll_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/ColourfulPipes" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="colourful_pipes_changed"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/ColourfulPipes" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="colourful_pipes_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/FirebarStyle" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="firebar_style_changed"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/FirebarStyle" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="firebar_style_changed"]
[connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/ExtraParticles" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="extra_particles"] [connection signal="value_changed" from="PanelContainer/MarginContainer/VBoxContainer/Visuals/ExtraParticles" to="PanelContainer/MarginContainer/VBoxContainer/Visuals/VisualsSetter" method="extra_particles"]

View File

@@ -50,15 +50,12 @@ func get_target_y(player: Player) -> float:
return player.global_position.y - 8 return player.global_position.y - 8
func show_smoke() -> void: func show_smoke() -> void:
# guzlad: ugly but it'll have to do until we move the metadata stuff to actual variables if is_real: return
if (((Global.current_game_mode == Global.GameMode.CUSTOM_LEVEL) or (Global.current_game_mode == Global.GameMode.LEVEL_EDITOR)) and !is_real): var smoke = preload("res://Scenes/Prefabs/Particles/SmokeParticle.tscn").instantiate()
var smoke = preload("res://Scenes/Prefabs/Particles/SmokeParticle.tscn").instantiate() smoke.scale = Vector2(2, 2)
smoke.scale = Vector2(2, 2) smoke.global_position =global_position
smoke.global_position =global_position AudioManager.play_sfx("magic", global_position)
AudioManager.play_sfx("magic", global_position) add_sibling(smoke)
add_sibling(smoke)
elif has_meta("is_real"):
return
func breathe_fire() -> void: func breathe_fire() -> void:
if can_fire == false: if can_fire == false:
@@ -133,7 +130,8 @@ func fireball_hit() -> void:
func play_music() -> void: func play_music() -> void:
for i: EntityGenerator in get_tree().get_nodes_in_group("EntityGenerators"): for i: EntityGenerator in get_tree().get_nodes_in_group("EntityGenerators"):
if i.entity_scene != null: if i.entity_scene != null:
if i.entity_scene.resource_path == "res://Scenes/Prefabs/Entities/Enemies/BowserFlame.tscn": if i.entity_scene.resource_path == "res://Scenes/
Prefabs/Entities/Enemies/BowserFlame.tscn":
i.queue_free() i.queue_free()
if Settings.file.audio.extra_bgm == 0: return if Settings.file.audio.extra_bgm == 0: return
if Global.level_editor != null: if Global.level_editor != null:
@@ -141,6 +139,14 @@ func play_music() -> void:
if music_enabled: if music_enabled:
AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.BOWSER, 5, false) AudioManager.set_music_override(AudioManager.MUSIC_OVERRIDES.BOWSER, 5, false)
func on_timeout() -> void: func on_timeout() -> void:
move_dir = [-1, 1].pick_random() move_dir = [-1, 1].pick_random()
func on_gib_about_to_spawn() -> void:
if is_real:
$FallSFX.play()
$FallSFX.finished.connect($FallSFX.queue_free)
$FallSFX.reparent(get_parent())
# guzlad: ugly but it'll have to do until we move the metadata stuff to actual variables
if ((Global.current_game_mode == Global.GameMode.CUSTOM_LEVEL) or (Global.current_game_mode == Global.GameMode.LEVEL_EDITOR)) and !is_real:
$SpriteScaleJoint/DeathSprite/ResourceSetterNew.resource_json = load("res://Assets/Sprites/Enemies/Goomba.json")

View File

@@ -32,7 +32,7 @@ func bounce_player(player: Player) -> void:
$Sprite.play("Idle") $Sprite.play("Idle")
func refresh_hitbox() -> void: func refresh_hitbox() -> void:
$Hitbox/CollisionShape2D.set_deferred("disabled", true) $PlayerDetection/CollisionShape2D.set_deferred("disabled", true)
await get_tree().physics_frame await get_tree().physics_frame
$Hitbox/CollisionShape2D.set_deferred("disabled", false) $PlayerDetection/CollisionShape2D.set_deferred("disabled", false)

View File

@@ -216,7 +216,9 @@ func _ready() -> void:
character = CHARACTERS[int(Global.player_characters[player_id])] character = CHARACTERS[int(Global.player_characters[player_id])]
Global.can_time_tick = true Global.can_time_tick = true
if [Global.GameMode.BOO_RACE, Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) == false: if [Global.GameMode.BOO_RACE, Global.GameMode.MARATHON, Global.GameMode.MARATHON_PRACTICE].has(Global.current_game_mode) == false:
apply_character_physics() apply_character_physics(true)
else:
apply_character_physics(false)
apply_character_sfx_map() apply_character_sfx_map()
Global.level_theme_changed.connect(apply_character_sfx_map) Global.level_theme_changed.connect(apply_character_sfx_map)
Global.level_theme_changed.connect(apply_character_physics) Global.level_theme_changed.connect(apply_character_physics)
@@ -232,22 +234,24 @@ func _ready() -> void:
if Global.level_editor == null: if Global.level_editor == null:
recenter_camera() recenter_camera()
func apply_character_physics() -> void: func apply_character_physics(apply: bool) -> void:
var path = "res://Assets/Sprites/Players/" + character + "/CharacterInfo.json" var path = "res://Assets/Sprites/Players/" + character + "/CharacterInfo.json"
if int(Global.player_characters[player_id]) > 3: if int(Global.player_characters[player_id]) > 3:
path = path.replace("res://Assets/Sprites/Players", Global.config_path.path_join("custom_characters/")) path = path.replace("res://Assets/Sprites/Players", Global.config_path.path_join("custom_characters/"))
path = ResourceSetter.get_pure_resource_path(path) path = ResourceSetter.get_pure_resource_path(path)
var json = JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text()) var json = JSON.parse_string(FileAccess.open(path, FileAccess.READ).get_as_text())
for i in json.physics:
set(i, json.physics[i]) if apply:
for i in json.physics:
set(i, json.physics[i])
for i in get_tree().get_nodes_in_group("SmallCollisions"): for i in get_tree().get_nodes_in_group("SmallCollisions"):
var hitbox_scale = json.get("small_hitbox_scale", [1, 1]) var hitbox_scale = json.get("small_hitbox_scale", [1, 1]) if apply else [1, 1]
i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("small_crouch_scale", 0.75)) i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("small_crouch_scale", 0.75) if apply else 0.5)
i._physics_process(0) i._physics_process(0)
for i in get_tree().get_nodes_in_group("BigCollisions"): for i in get_tree().get_nodes_in_group("BigCollisions"):
var hitbox_scale = json.get("big_hitbox_scale", [1, 1]) var hitbox_scale = json.get("big_hitbox_scale", [1, 1]) if apply else [1, 1]
i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("big_crouch_scale", 0.5)) i.hitbox = Vector3(hitbox_scale[0], hitbox_scale[1] if i.get_meta("scalable", true) else 1, json.get("big_crouch_scale", 0.5) if apply else 0.5)
i._physics_process(0) i._physics_process(0)
func apply_classic_physics() -> void: func apply_classic_physics() -> void:
@@ -698,12 +702,13 @@ func set_power_state_frame() -> void:
can_bump_fly = %Sprite.sprite_frames.has_animation("FlyBump") can_bump_fly = %Sprite.sprite_frames.has_animation("FlyBump")
can_kick_anim = %Sprite.sprite_frames.has_animation("Kick") can_kick_anim = %Sprite.sprite_frames.has_animation("Kick")
func get_power_up(power_name := "") -> void: func get_power_up(power_name := "", give_points := true) -> void:
if is_dead: if is_dead:
return return
Global.score += 1000 if give_points:
DiscoLevel.combo_amount += 1 Global.score += 1000
score_note_spawner.spawn_note(1000) DiscoLevel.combo_amount += 1
score_note_spawner.spawn_note(1000)
AudioManager.play_sfx("power_up", global_position) AudioManager.play_sfx("power_up", global_position)
if Settings.file.difficulty.damage_style == 0 and power_state.state_name != power_name: if Settings.file.difficulty.damage_style == 0 and power_state.state_name != power_name:
if power_name != "Big" and power_state.state_name != "Big": if power_name != "Big" and power_state.state_name != "Big":

View File

@@ -62,7 +62,7 @@ func on_area_entered(area: Area2D) -> void:
sublevel_id = Global.level_editor.sub_level_id sublevel_id = Global.level_editor.sub_level_id
if Settings.file.difficulty.checkpoint_style == 2 and has_meta("is_flag"): if Settings.file.difficulty.checkpoint_style == 2 and has_meta("is_flag"):
if player.power_state.state_name == "Small": if player.power_state.state_name == "Small":
player.get_power_up("Big") player.get_power_up("Big", false)
respawn_position = global_position respawn_position = global_position
crossed.emit(area.owner) crossed.emit(area.owner)

View File

@@ -106,7 +106,7 @@ func handle_challenge_mode_transition() -> void:
%ChallengeScoreText/Target.show() %ChallengeScoreText/Target.show()
%ChallengeCoins2.show() %ChallengeCoins2.show()
%ChallengeCoins.show() %ChallengeCoins.show()
%ChallengeScoreText.text = str(Global.score) %ChallengeScoreText.text = str(int(ChallengeModeHandler.top_challenge_scores[Global.world_num - 1][Global.level_num - 1]))
var idx = 0 var idx = 0
for i in %ChallengeCoins.get_children(): for i in %ChallengeCoins.get_children():
if ChallengeModeHandler.is_coin_collected(idx, ChallengeModeHandler.red_coins_collected[Global.world_num - 1][Global.level_num - 1]): if ChallengeModeHandler.is_coin_collected(idx, ChallengeModeHandler.red_coins_collected[Global.world_num - 1][Global.level_num - 1]):

View File

@@ -3,6 +3,10 @@ extends Node
var files := [] var files := []
var directories := [] var directories := []
signal fnt_file_downloaded(text: String)
var downloaded_fnt_text := []
const base_info_json := { const base_info_json := {
"name": "New Pack", "name": "New Pack",
"description": "Template, give me a description!", "description": "Template, give me a description!",
@@ -19,14 +23,26 @@ func create_template() -> void:
destination = i.replace("res://Assets", Global.config_path.path_join("resource_packs/new_pack")) destination = i.replace("res://Assets", Global.config_path.path_join("resource_packs/new_pack"))
else: else:
destination = i.replace(Global.config_path.path_join("resource_packs/BaseAssets"), Global.config_path.path_join("resource_packs/new_pack")) destination = i.replace(Global.config_path.path_join("resource_packs/BaseAssets"), Global.config_path.path_join("resource_packs/new_pack"))
print("Copying '" + i + "' to: '" + destination) var data = []
var old_file = FileAccess.open(i, FileAccess.READ) if i.contains(".fnt"):
if old_file != null: data = await download_fnt_text(i)
var new_file = FileAccess.open(destination, FileAccess.WRITE) ## Imagine being one of the best open source game engines, yet not able to get the FUCKING CONTENTS
new_file.store_buffer(old_file.get_buffer(old_file.get_length())) ## OF AN FNT FILE SO INSTEAD YOU HAVE TO WRITE THE MOST BULLSHIT CODE TO DOWNLOAD THE FUCKING FILE
## FROM THE FUCKING GITHUB REPO. WHY? BECAUSE GODOT IS SHIT. FUCK GODOT.
elif i.contains(".bgm") == false and i.contains(".ctex") == false and i.contains(".json") == false and i.contains("res://") and i.contains(".fnt") == false:
var resource = load(i)
if resource is Texture:
data = resource.get_image().save_png_to_buffer()
elif resource is AudioStream:
data = resource.get_data()
else:
var old_file = FileAccess.open(i, FileAccess.READ)
data = old_file.get_buffer(old_file.get_length())
old_file.close() old_file.close()
new_file.close()
var new_file = FileAccess.open(destination, FileAccess.WRITE)
new_file.store_buffer(data)
new_file.close()
var pack_info_path = Global.config_path.path_join("resource_packs/new_pack/pack_info.json") var pack_info_path = Global.config_path.path_join("resource_packs/new_pack/pack_info.json")
DirAccess.make_dir_recursive_absolute(pack_info_path.get_base_dir()) DirAccess.make_dir_recursive_absolute(pack_info_path.get_base_dir())
@@ -35,9 +51,24 @@ func create_template() -> void:
file.close() file.close()
print("Done") print("Done")
func download_fnt_text(file_path := "") -> PackedByteArray:
var http = HTTPRequest.new()
const GITHUB_URL = "https://raw.githubusercontent.com/JHDev2006/Super-Mario-Bros.-Remastered-Public/refs/heads/main/"
var url = GITHUB_URL + file_path.replace("res://", "")
add_child(http)
http.request_completed.connect(file_downloaded)
http.request(url, [], HTTPClient.METHOD_GET)
await fnt_file_downloaded
http.queue_free()
return downloaded_fnt_text
func file_downloaded(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void:
downloaded_fnt_text = body
fnt_file_downloaded.emit(downloaded_fnt_text)
func get_directories(base_dir := "", files := [], directories := []) -> void: func get_directories(base_dir := "", files := [], directories := []) -> void:
for i in DirAccess.get_directories_at(base_dir): for i in DirAccess.get_directories_at(base_dir):
if base_dir.contains("LevelGuides") == false: if base_dir.contains("LevelGuides") == false and base_dir.contains(".godot") == false:
directories.append(base_dir + "/" + i) directories.append(base_dir + "/" + i)
get_directories(base_dir + "/" + i, files, directories) get_directories(base_dir + "/" + i, files, directories)
get_files(base_dir + "/" + i, files) get_files(base_dir + "/" + i, files)