various fixes and add
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user