Godot 3.6 + palette swaps on StartMenu & Creator (=

This commit is contained in:
Harmony Honey Monroe 2024-09-13 23:24:35 -04:00
parent ae914619bf
commit 23d11d9205
5 changed files with 43 additions and 16 deletions

View file

@ -272,16 +272,16 @@ func time_to_string(arg := 0.0, mod := 60.0):
func save_file(fname, arg):
var file = File.new()
file.open(str(fname), File.WRITE)
file.store_string(arg)
file.close()
if OK == file.open(str(fname), File.WRITE):
file.store_string(arg)
file.close()
func load_file(fname = ""):
var file = File.new()
file.open(str(fname), File.READ)
var content = file.get_as_text()
file.close()
return content
if OK == file.open(str(fname), File.READ):
var content = file.get_as_text()
file.close()
return content
func save():
var data = {}

View file

@ -66,6 +66,7 @@ func _input(event):
for i in 4:
set_color(i, randi() % 14)
fill_swatches(i)
$Stage.rnd()
elif is_no:
is_input = false
if !Shared.save_data[Shared.save_slot].empty(): Shared.is_save = true

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=25 format=2]
[gd_scene load_steps=26 format=2]
[ext_resource path="res://src/stage/SolidTileMap.tscn" type="PackedScene" id=1]
[ext_resource path="res://media/image/player_swap.png" type="Texture" id=2]
@ -14,6 +14,7 @@
[ext_resource path="res://media/image/solid_bricks.png" type="Texture" id=12]
[ext_resource path="res://media/image/8pixel.png" type="Texture" id=13]
[ext_resource path="res://src/menu/Blink.gd" type="Script" id=14]
[ext_resource path="res://src/stage/Stage.gd" type="Script" id=15]
[sub_resource type="TileSet" id=21]
0/name = "solid_bricks.png 0"
@ -98,7 +99,7 @@
6/name = "crate_tiles.png 6"
6/texture = ExtResource( 10 )
6/tex_offset = Vector2( 0, 0 )
6/modulate = Color( 0.670588, 0.321569, 0.211765, 1 )
6/modulate = Color( 0.678431, 0, 0.156863, 1 )
6/region = Rect2( 0, 24, 8, 8 )
6/tile_mode = 0
6/occluder_offset = Vector2( 0, 0 )
@ -238,11 +239,15 @@ font_data = ExtResource( 7 )
[node name="Creator" type="Node2D"]
script = ExtResource( 8 )
[node name="SolidTileMap" parent="." instance=ExtResource( 1 )]
[node name="Stage" type="Node2D" parent="."]
script = ExtResource( 15 )
is_random = true
[node name="SolidTileMap" parent="Stage" instance=ExtResource( 1 )]
tile_set = SubResource( 21 )
tile_data = PoolIntArray( 458729, 0, 1, 458730, 0, 1, 458731, 0, 1, 458732, 0, 1, 458733, 536870912, 0, 458734, 0, 1, 458735, 0, 0, 458736, 0, 1, 458737, 536870912, 0, 458738, 536870912, 1, 524274, 0, 0, 589810, 536870912, 1, 655346, 536870912, 0 )
[node name="DetailTileMap" parent="." instance=ExtResource( 4 )]
[node name="DetailTileMap" parent="Stage" instance=ExtResource( 4 )]
z_index = -11
tile_set = SubResource( 22 )
tile_data = PoolIntArray( 65516, 5, 0, 65517, 5, 0, 65518, 5, 0, 65519, 5, 0, 65520, 5, 0, 131052, 5, 0, 131053, 5, 0, 131054, 5, 0, 131055, 5, 0, 131056, 5, 0, 196588, 1073741829, 2, 196589, 5, 0, 196590, 5, 0, 196591, 5, 0, 196592, 1610612741, 2, 262125, 1073741829, 2, 262126, 5, 0, 262127, 1610612741, 2, 327662, 6, 0, 393198, 6, 0, 524273, 1073741829, 2, 524275, -1610612731, 2, 589811, -1610612731, 0, 655347, -1610612731, 0 )

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=39 format=2]
[gd_scene load_steps=40 format=2]
[ext_resource path="res://media/image/creator.png" type="Texture" id=1]
[ext_resource path="res://media/image/crate_tiles.png" type="Texture" id=2]
@ -25,6 +25,7 @@
[ext_resource path="res://media/font/m3x6.ttf" type="DynamicFontData" id=23]
[ext_resource path="res://media/font/QuinqueFive.ttf" type="DynamicFontData" id=24]
[ext_resource path="res://media/font/m3x6.tres" type="DynamicFont" id=25]
[ext_resource path="res://src/stage/Stage.gd" type="Script" id=26]
[sub_resource type="DynamicFont" id=3]
extra_spacing_top = -3
@ -831,6 +832,9 @@ align = 2
valign = 2
[node name="Stage" type="Node2D" parent="."]
script = ExtResource( 26 )
is_random = true
color_path = NodePath("../Control/Logo")
[node name="SolidTileMap" parent="Stage" instance=ExtResource( 11 )]
tile_set = SubResource( 13 )

View file

@ -2,6 +2,7 @@ tool
extends Node2D
export var palette := -1 setget set_palette
export var is_random := false
var palettes := [["c2c3c7", "5f574f", "008751", "ad0028"],
["c46874", "3d1c2f", "bd9400", "ad0028"],
["b2b2db", "39394f", "838700", "ab378a"],
@ -13,18 +14,32 @@ export var color_back := Color("5f574f") setget set_back
export var color_grass := Color("008751") setget set_grass
export var color_wood := Color("ad0028") setget set_wood
onready var map_solid := $SolidTileMap
onready var map_spike := $SpikeTileMap
onready var map_detail := $DetailTileMap
onready var map_obscure := $ObscureMap
onready var map_solid := get_node_or_null("SolidTileMap")
onready var map_spike := get_node_or_null("SpikeTileMap")
onready var map_detail := get_node_or_null("DetailTileMap")
onready var map_obscure := get_node_or_null("ObscureMap")
export var color_path : NodePath = ""
onready var color_node : CanvasItem = get_node_or_null(color_path)
func _ready():
if !Engine.editor_hint and is_random:
rnd(false)
set_palette()
set_solid()
set_back()
set_grass()
set_wood()
func rnd(is_act = true):
var p = randi() % 5
if p == palette:
p = (p + 1) % 5
palette = p
if is_act: set_palette()
func set_palette(arg := palette):
palette = arg
if palette > -1 and palette < palettes.size():
@ -51,6 +66,8 @@ func set_grass(arg := color_grass):
color_grass = arg
if map_detail:
map_detail.grass_color = color_grass
if color_node:
color_node.modulate = color_grass
func set_wood(arg := color_wood):
color_wood = arg