mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-12-15 15:30:21 -08:00
Expanded Level Icons
Level icons are now defined in their own custom JSON file (LevelIcons.json) which determines which icons will be shown, along with an area where the user can input the size of their icons for custom sizing (larger sizes will likely be a bit odd in behavior, smaller should work fine though) Along with that, icons have been greatly expanded, with 32 new level icons available for levels to use now, (a total of 45!) along with various older icons recieving slight touch-ups. Various levels now use these new icons to better represent major recognizable elements from those levels, and to give them a bit more variation between each other. If there are any additional level icons that would make sense for implementation, let me know. I think this should cover most of the important ones, though.
This commit is contained in:
parent
3d5b27b040
commit
d4c1450980
11 changed files with 649 additions and 183 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 KiB |
BIN
Assets/Sprites/UI/LevelIcons/DayLevelIcons.png
Normal file
BIN
Assets/Sprites/UI/LevelIcons/DayLevelIcons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
40
Assets/Sprites/UI/LevelIcons/DayLevelIcons.png.import
Normal file
40
Assets/Sprites/UI/LevelIcons/DayLevelIcons.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bx7jvtnfom4ik"
|
||||
path="res://.godot/imported/DayLevelIcons.png-6cf9f039701f5af6b2ebbc4c2d093290.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/UI/LevelIcons/DayLevelIcons.png"
|
||||
dest_files=["res://.godot/imported/DayLevelIcons.png-6cf9f039701f5af6b2ebbc4c2d093290.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
235
Assets/Sprites/UI/LevelIcons/LevelIcons.json
Normal file
235
Assets/Sprites/UI/LevelIcons/LevelIcons.json
Normal file
|
|
@ -0,0 +1,235 @@
|
|||
{
|
||||
"icon_size": [56, 32],
|
||||
"icon_data": {
|
||||
"SMB1_ICONS": [
|
||||
[
|
||||
["day", [0,0]],
|
||||
["day", [0,4]],
|
||||
["day", [1,0]],
|
||||
["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],
|
||||
["day", [3,1]],
|
||||
["day", [1,2]],
|
||||
["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],
|
||||
["day", [0,1]],
|
||||
["day", [1,0]],
|
||||
["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],
|
||||
["day", [0,5]],
|
||||
["day", [1,3]],
|
||||
["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,3]],
|
||||
["night", [1,0]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [0,2]],
|
||||
["night", [1,1]],
|
||||
["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],
|
||||
["night", [0,4]],
|
||||
["night", [1,2]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,3]],
|
||||
["night", [2,0]],
|
||||
["night", [1,6]],
|
||||
],
|
||||
],
|
||||
"SMBLL_ICONS": [
|
||||
[
|
||||
["day", [0,2]],
|
||||
["day", [0,7]],
|
||||
["day", [1,0]],
|
||||
["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [1,2]],
|
||||
["day", [0,1]],
|
||||
["day", [1,2]],
|
||||
["day", [1,7]],
|
||||
],
|
||||
[
|
||||
["day", [0,3]],
|
||||
["day", [3,0]],
|
||||
["day", [1,1]],
|
||||
["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],
|
||||
["day", [0,3]],
|
||||
["day", [1,1]],
|
||||
["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],
|
||||
["night", [0,6]],
|
||||
["night", [1,0]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [3,1]],
|
||||
["night", [1,2]],
|
||||
["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],
|
||||
["night", [1,2]],
|
||||
["night", [1,1]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],
|
||||
["night", [2,0]],
|
||||
["night", [2,2]],
|
||||
["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [3,6]],
|
||||
["night", [3,7]],
|
||||
["night", [4,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],
|
||||
["day", [0,5]],
|
||||
["day", [1,0]],
|
||||
["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],
|
||||
["day", [3,1]],
|
||||
["day", [1,1]],
|
||||
["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],
|
||||
["day", [1,0]],
|
||||
["day", [1,1]],
|
||||
["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["day", [2,6]],
|
||||
["day", [2,6]],
|
||||
["day", [2,7]],
|
||||
["day", [1,7]],
|
||||
],
|
||||
],
|
||||
"SMBS_ICONS": [
|
||||
[
|
||||
["day", [0,1]],
|
||||
["day", [0,4]],
|
||||
["day", [1,0]],
|
||||
["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],
|
||||
["day", [3,1]],
|
||||
["day", [1,2]],
|
||||
["day", [1,7]],
|
||||
],
|
||||
[
|
||||
["day", [3,0]],
|
||||
["day", [1,2]],
|
||||
["day", [1,0]],
|
||||
["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],
|
||||
["day", [0,5]],
|
||||
["day", [1,3]],
|
||||
["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,0]],
|
||||
["night", [1,0]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,2]],
|
||||
["night", [1,0]],
|
||||
["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],
|
||||
["night", [3,1]],
|
||||
["night", [1,2]],
|
||||
["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [1,3]],
|
||||
["night", [2,1]],
|
||||
["night", [0,7]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
],
|
||||
"SMBANN_ICONS": [
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [0,4]],
|
||||
["night", [1,0]],
|
||||
["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],
|
||||
["night", [3,1]],
|
||||
["night", [1,2]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [0,1]],
|
||||
["night", [1,0]],
|
||||
["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,5]],
|
||||
["night", [1,3]],
|
||||
["night", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,3]],
|
||||
["night", [1,1]],
|
||||
["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],
|
||||
["night", [0,2]],
|
||||
["night", [1,1]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],
|
||||
["night", [3,1]],
|
||||
["night", [1,2]],
|
||||
["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],
|
||||
["night", [0,3]],
|
||||
["night", [2,0]],
|
||||
["night", [1,7]],
|
||||
],
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png
Normal file
BIN
Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 279 B |
40
Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png.import
Normal file
40
Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxx6r6wjnkfqo"
|
||||
path="res://.godot/imported/LockedLevelIcon.png-37b1e7a62a34d00d34a37d8e54f17024.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png"
|
||||
dest_files=["res://.godot/imported/LockedLevelIcon.png-37b1e7a62a34d00d34a37d8e54f17024.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
Assets/Sprites/UI/LevelIcons/NightLevelIcons.png
Normal file
BIN
Assets/Sprites/UI/LevelIcons/NightLevelIcons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
40
Assets/Sprites/UI/LevelIcons/NightLevelIcons.png.import
Normal file
40
Assets/Sprites/UI/LevelIcons/NightLevelIcons.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bgjedrd2p0j04"
|
||||
path="res://.godot/imported/NightLevelIcons.png-ea0f1c34b333a381e0d0071d5de93bde.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sprites/UI/LevelIcons/NightLevelIcons.png"
|
||||
dest_files=["res://.godot/imported/NightLevelIcons.png-ea0f1c34b333a381e0d0071d5de93bde.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -507,3 +507,11 @@ func get_base_asset_version() -> int:
|
|||
|
||||
func get_version_num_int(ver_num := "0.0.0") -> int:
|
||||
return int(ver_num.replace(".", ""))
|
||||
|
||||
func merge_dict(target: Dictionary, source: Dictionary) -> void:
|
||||
# SkyanUltra: Used to properly merge dictionaries JSONs rather than out right overwriting entries.
|
||||
for key in source.keys():
|
||||
if target.has(key) and target[key] is Dictionary and source[key] is Dictionary:
|
||||
merge_dict(target[key], source[key])
|
||||
else:
|
||||
target[key] = source[key]
|
||||
|
|
|
|||
|
|
@ -12,49 +12,136 @@ var starting_value := -1
|
|||
@export var has_challenge_stuff := false
|
||||
@export var has_disco_stuff := false
|
||||
|
||||
const LEVEL_ICON_JSON_PATH := "res://Assets/Sprites/UI/LevelIcons/LevelIcons.json"
|
||||
|
||||
const LEVEL_ICONS := {
|
||||
"SMB1": SMB1_ICONS,
|
||||
"SMBLL": SMBLL_ICONS,
|
||||
"SMBS": SMBS_ICONS,
|
||||
"SMBANN": SMB1_ICONS
|
||||
"SMBANN": SMBANN_ICONS
|
||||
}
|
||||
|
||||
const SMB1_ICONS := [
|
||||
"0123",
|
||||
"0453",
|
||||
"0023",
|
||||
"0163",
|
||||
"8893",
|
||||
"8893",
|
||||
"8AB3",
|
||||
"8883"
|
||||
[
|
||||
["day", [0,0]],["day", [0,4]],["day", [1,0]],["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],["day", [3,1]],["day", [1,2]],["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],["day", [0,1]],["day", [1,0]],["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],["day", [0,5]],["day", [1,3]],["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,3]],["night", [1,0]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],["night", [0,2]],["night", [1,1]],["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],["night", [0,4]],["night", [1,2]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,3]],["night", [2,0]],["night", [1,6]],
|
||||
],
|
||||
]
|
||||
|
||||
const SMBLL_ICONS := [
|
||||
"0123",
|
||||
"0053",
|
||||
"0423",
|
||||
"0023",
|
||||
"8193",
|
||||
"8AB3",
|
||||
"8993",
|
||||
"88D3",
|
||||
"8888",
|
||||
"0123",
|
||||
"0423",
|
||||
"0523",
|
||||
"0003"
|
||||
[
|
||||
["day", [0,2]],["day", [0,7]],["day", [1,0]],["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [1,2]],["day", [0,1]],["day", [1,2]],["day", [1,7]],
|
||||
],
|
||||
[
|
||||
["day", [0,3]],["day", [3,0]],["day", [1,1]],["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],["day", [0,3]],["day", [1,1]],["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],["night", [0,6]],["night", [1,0]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],["night", [3,1]],["night", [1,2]],["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],["night", [1,2]],["night", [1,1]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],["night", [2,0]],["night", [2,2]],["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],["night", [3,6]],["night", [3,7]],["night", [4,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],["day", [0,5]],["day", [1,0]],["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],["day", [3,1]],["day", [1,1]],["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,2]],["day", [1,0]],["day", [1,1]],["day", [1,5]],
|
||||
],
|
||||
[
|
||||
["day", [2,6]],["day", [2,6]],["day", [2,7]],["day", [1,7]],
|
||||
],
|
||||
]
|
||||
|
||||
const SMBS_ICONS := [
|
||||
"0123",
|
||||
"0453",
|
||||
"0023",
|
||||
"0163",
|
||||
"8893",
|
||||
"8893",
|
||||
"8AB3",
|
||||
"CA13"
|
||||
[
|
||||
["day", [0,1]],["day", [0,4]],["day", [1,0]],["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["day", [0,0]],["day", [3,1]],["day", [1,2]],["day", [1,7]],
|
||||
],
|
||||
[
|
||||
["day", [3,0]],["day", [1,2]],["day", [1,0]],["day", [1,4]],
|
||||
],
|
||||
[
|
||||
["day", [0,1]],["day", [0,5]],["day", [1,3]],["day", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,0]],["night", [1,0]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,2]],["night", [1,0]],["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],["night", [3,1]],["night", [1,2]],["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [1,3]],["night", [2,1]],["night", [0,7]],["night", [1,5]],
|
||||
],
|
||||
]
|
||||
|
||||
const SMBANN_ICONS := [
|
||||
[
|
||||
["night", [0,0]],["night", [0,4]],["night", [1,0]],["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,2]],["night", [3,1]],["night", [1,2]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],["night", [0,1]],["night", [1,0]],["night", [1,4]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,5]],["night", [1,3]],["night", [1,6]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,3]],["night", [1,1]],["night", [1,7]],
|
||||
],
|
||||
[
|
||||
["night", [0,0]],["night", [0,2]],["night", [1,1]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,3]],["night", [3,1]],["night", [1,2]],["night", [1,5]],
|
||||
],
|
||||
[
|
||||
["night", [0,1]],["night", [0,3]],["night", [2,0]],["night", [1,7]],
|
||||
],
|
||||
]
|
||||
|
||||
const NUMBER_Y := [
|
||||
|
|
@ -86,6 +173,7 @@ func open() -> void:
|
|||
starting_value = Global.level_num
|
||||
print([Global.level_num, starting_value])
|
||||
selected_level = Global.level_num - 1
|
||||
setup_level_icon_data()
|
||||
setup_visuals()
|
||||
update_pb()
|
||||
show()
|
||||
|
|
@ -93,10 +181,22 @@ func open() -> void:
|
|||
await get_tree().create_timer(0.1).timeout
|
||||
active = true
|
||||
|
||||
const CHARSET := "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
|
||||
var visited_levels := "0000"
|
||||
|
||||
const ICON_DAY := preload("res://Assets/Sprites/UI/LevelIcons/DayLevelIcons.png")
|
||||
const ICON_NIGHT := preload("res://Assets/Sprites/UI/LevelIcons/NightLevelIcons.png")
|
||||
const ICON_LOCKED := preload("res://Assets/Sprites/UI/LevelIcons/LockedLevelIcon.png")
|
||||
var icon_size := [56, 32]
|
||||
|
||||
func setup_level_icon_data() -> void:
|
||||
var json = JSON.parse_string(FileAccess.open(LEVEL_ICON_JSON_PATH, FileAccess.READ).get_as_text())
|
||||
icon_size = json.icon_size
|
||||
for key in json.icon_data:
|
||||
if get(key) is Dictionary and json.icon_data[key] is Dictionary:
|
||||
Global.merge_dict(get(key), json.icon_data[key])
|
||||
else:
|
||||
set(key, json.icon_data[key])
|
||||
|
||||
func setup_visuals() -> void:
|
||||
%MarathonBits.visible = Global.current_game_mode == Global.GameMode.MARATHON_PRACTICE
|
||||
%ChallengeBits.visible = Global.current_game_mode == Global.GameMode.CHALLENGE
|
||||
|
|
@ -107,16 +207,19 @@ func setup_visuals() -> void:
|
|||
var level_theme = Global.LEVEL_THEMES[Global.current_campaign][Global.world_num - 1]
|
||||
visited_levels = (SaveManager.visited_levels.substr((Global.world_num - 1) * 4, 4))
|
||||
var level_visited = SaveManager.visited_levels[SaveManager.get_level_idx(Global.world_num, idx + 1)] != "0" or Global.debug_mode
|
||||
var num = CHARSET.find(LEVEL_ICONS[Global.current_campaign][Global.world_num - 1][idx])
|
||||
if level_visited == false:
|
||||
num = 7
|
||||
i.get_node("ChallengeModeBits").visible = Global.current_game_mode == Global.GameMode.CHALLENGE
|
||||
if Global.current_game_mode == Global.GameMode.CHALLENGE:
|
||||
setup_challenge_mode_bits(i.get_node("ChallengeModeBits"), idx + 1)
|
||||
i.get_node("Icon").region_rect = Rect2((num % 4) * 56, (num / 4) * 32, 56, 32)
|
||||
var cur_level = LEVEL_ICONS[Global.current_campaign][Global.world_num - 1][idx]
|
||||
var cur_icon = ICON_LOCKED if not level_visited else ICON_NIGHT if cur_level[0] == "night" else ICON_DAY
|
||||
var grid_size = [cur_icon.get_width() - icon_size[0], cur_icon.get_height() - icon_size[1]]
|
||||
var clamp_icon = clamp([cur_level[1][0] * icon_size[0], cur_level[1][1] * icon_size[1]], [0, 0], grid_size)
|
||||
i.get_node("Icon").texture = cur_icon
|
||||
i.get_node("Icon").region_rect = Rect2(clamp_icon[0], clamp_icon[1], icon_size[0], icon_size[1])
|
||||
print(clamp_icon)
|
||||
i.get_node("Icon/Number").region_rect.position.y = clamp(NUMBER_Y.find(level_theme) * 12, 0, 9999)
|
||||
i.get_node("Icon/Number").region_rect.position.x = (idx) * 12
|
||||
i.get_node("Icon/RankMedal").visible = Global.current_campaign == "SMBANN"
|
||||
i.get_node("ChallengeModeBits").visible = Global.current_game_mode == Global.GameMode.CHALLENGE
|
||||
if Global.current_game_mode == Global.GameMode.CHALLENGE:
|
||||
setup_challenge_mode_bits(i.get_node("ChallengeModeBits"), idx + 1)
|
||||
if Global.current_campaign == "SMBANN":
|
||||
i.get_node("Icon/RankMedal").frame = "ZFDCBASP".find(DiscoLevel.level_ranks[SaveManager.get_level_idx(Global.world_num, idx + 1)])
|
||||
i.get_node("Icon/RankMedal/SRankParticles").visible = i.get_node("Icon/RankMedal").frame == 6
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue