various fixes and add

This commit is contained in:
Altaezio
2026-02-27 12:23:52 +01:00
parent add394d968
commit 2f23b3fcb5
14 changed files with 86 additions and 32 deletions

View File

@@ -77,24 +77,24 @@ func build_seed_texture(random_seed: int) -> Texture:
rng.seed = random_seed
var texture_set : SeedTextureSet = pick_random(seed_texture_sets)
var seed_image := Image.create(SEED_TEXTURE_SIZE,SEED_TEXTURE_SIZE, false, Image.FORMAT_RGBA8)
var texture_set: SeedTextureSet = pick_random(seed_texture_sets)
var seed_image := Image.create(SEED_TEXTURE_SIZE, SEED_TEXTURE_SIZE, false, Image.FORMAT_RGBA8)
for color_texture in texture_set.color_textures:
var color_image = color_texture.get_image().duplicate()
color_image.resize(SEED_TEXTURE_SIZE,SEED_TEXTURE_SIZE)
for i in texture_set.color_textures.size():
var color_image = texture_set.get_color_image(i).duplicate()
color_image.resize(SEED_TEXTURE_SIZE, SEED_TEXTURE_SIZE)
modulate_image(color_image, pick_random(COLOR_PALETTE))
seed_image.blend_rect(
color_image,
Rect2i(0,0,SEED_TEXTURE_SIZE,SEED_TEXTURE_SIZE),
Rect2i(0, 0, SEED_TEXTURE_SIZE, SEED_TEXTURE_SIZE),
Vector2i.ZERO
)
if texture_set.outline_texture:
var outline_image = texture_set.outline_texture.get_image().duplicate()
outline_image.resize(SEED_TEXTURE_SIZE,SEED_TEXTURE_SIZE)
seed_image.blend_rect(outline_image, Rect2i(0,0,SEED_TEXTURE_SIZE,SEED_TEXTURE_SIZE),Vector2i.ZERO)
var outline_image = texture_set.outline_image
outline_image.resize(SEED_TEXTURE_SIZE, SEED_TEXTURE_SIZE)
seed_image.blend_rect(outline_image, Rect2i(0, 0, SEED_TEXTURE_SIZE, SEED_TEXTURE_SIZE), Vector2i.ZERO)
if rng.randi()%2 == 0:
if rng.randi() % 2 == 0:
seed_image.flip_x()
return ImageTexture.create_from_image(seed_image)

View File

@@ -4,17 +4,19 @@ class_name SeedTextureSet
@export var color_textures: Array[Texture]
@export var outline_texture: Texture
var color_images: Array[Image]: get = get_color_images
var color_images: Array[Image]
var outline_image: Image: get = get_outline_image
func get_color_images() -> Array[Image]:
if color_images == null:
color_images = []
for texture in color_textures:
color_images.append(texture.get_image())
return color_images
func get_color_image(ind: int) -> Image:
if color_images.size() == 0:
color_images.resize(color_textures.size())
if color_images[ind] == null:
print("get image")
color_images[ind] = color_textures[ind].get_image()
return color_images[ind]
func get_outline_image() -> Image:
if outline_image == null:
print("get image outilne")
outline_image = outline_texture.get_image()
return outline_image