Merge remote-tracking branch 'origin/wa/game-connection' into wa/game-connection

pull/18/head
Wade 2025-05-04 22:22:02 +07:00
commit 7a8c82f890
53 changed files with 575 additions and 122 deletions

@ -3,9 +3,11 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dcamohwwb5prk"
path="res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.ctex"
path.s3tc="res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.s3tc.ctex"
path.etc2="res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.etc2.ctex"
metadata={
"vram_texture": false
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "007d2d2af08d0a09042bcd8910fe8d8f"
@ -14,11 +16,11 @@ generator_parameters={
[deps]
source_file="res://models/road-split_colormap.png"
dest_files=["res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.ctex"]
dest_files=["res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.s3tc.ctex", "res://.godot/imported/road-split_colormap.png-d20fd957a58f362b47c3e36589efd30c.etc2.ctex"]
[params]
compress/mode=0
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
@ -34,4 +36,4 @@ 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
detect_3d/compress_to=0

@ -47,7 +47,6 @@ func set_structures(new_structures: Array[Structure]) -> void:
# Function to deduplicate structures
func _deduplicate_structures() -> void:
print("\n=== Deduplicating Structures ===")
# Create a new array to store unique structures
var unique_structures: Array[Structure] = []
@ -69,7 +68,6 @@ func _deduplicate_structures() -> void:
# Skip if we've seen this path before
if path in seen_paths:
print("Skipping duplicate structure: " + path)
continue
seen_paths[path] = true
@ -77,7 +75,6 @@ func _deduplicate_structures() -> void:
# Initialize unlocked property only if it doesn't exist
if not "unlocked" in structure:
structure.unlocked = false
print("Adding structure: " + path + " - Unlocked: " + str(structure.unlocked))
unique_structures.append(structure)
# Replace the original structures array with our deduplicated one
@ -85,10 +82,6 @@ func _deduplicate_structures() -> void:
_structures.append_array(unique_structures)
# Print final structure list for verification
print("\nFinal structure list:")
for i in range(_structures.size()):
var structure = _structures[i]
print(str(i) + ": " + structure.model.resource_path + " - Unlocked: " + str(structure.unlocked))
print("=== Structure Deduplication Complete ===\n")
func _ready():

@ -69,14 +69,14 @@ func _ready():
hud.controls_panel = controls_panel
# Show intro text if available
if generic_text_panel and intro_text_resource:
generic_text_panel.apply_resource_data(intro_text_resource)
generic_text_panel.show_panel()
generic_text_panel.closed.connect(func():
if generic_text_panel and generic_text_panel.resource_data and generic_text_panel.resource_data.panel_type == 0 and controls_panel:
controls_panel.show_panel()
)
#if generic_text_panel and intro_text_resource:
#generic_text_panel.apply_resource_data(intro_text_resource)
#generic_text_panel.show_panel()
#
#generic_text_panel.closed.connect(func():
#if generic_text_panel and generic_text_panel.resource_data and generic_text_panel.resource_data.panel_type == 0 and controls_panel:
#controls_panel.show_panel()
#)
# Connect controls panel closed signal
if controls_panel:

@ -57,13 +57,6 @@ func _unlock_starting_structures(structure_paths: Array) -> void:
push_error("No structures available")
return
# Print current unlock status
print("\nCurrent structure status:")
for i in range(structures.size()):
var structure = structures[i]
if structure.model:
print("Structure ", i, ": ", structure.model.resource_path, " - Unlocked: ", structure.unlocked)
# Process each path
for path in structure_paths:
print("\nProcessing path: ", path)
@ -95,12 +88,9 @@ func _unlock_starting_structures(structure_paths: Array) -> void:
var structure_path = structure.model.resource_path
print("Checking structure: ", structure_path)
# Only try exact path matches
for possible_path in possible_paths:
if structure_path == possible_path:
print("Found exact path match: ", possible_path)
structure.unlocked = true
found_match = true
break
@ -110,20 +100,6 @@ func _unlock_starting_structures(structure_paths: Array) -> void:
if not found_match:
print("WARNING: No match found for path: ", path)
print("Available structures:")
for i in range(structures.size()):
var structure = structures[i]
if structure.model:
print(" ", i, ": ", structure.model.resource_path)
# Print final unlock status
print("\nFinal structure status:")
for i in range(structures.size()):
var structure = structures[i]
if structure.model:
print("Structure ", i, ": ", structure.model.resource_path, " - Unlocked: ", structure.unlocked)
print("=== Structure Unlocking Complete ===\n")
# Convert mission dictionaries to MissionData objects
func _convert_missions(mission_dicts: Array) -> Array[MissionData]:

@ -104,49 +104,6 @@ func _ready() -> void:
old_panel.queue_free()
print("Removed existing learning panel")
# Load the learning panel scene
learning_panel_scene = load("res://scenes/ui/learning_panel.tscn")
if not learning_panel_scene:
push_error("Failed to load learning panel scene")
return
# Instantiate the learning panel
learning_panel = learning_panel_scene.instantiate()
learning_panel.name = "LearningPanelFromScene"
add_child(learning_panel)
# Hide the panel initially
learning_panel.hide()
# Load the fullscreen learning panel scene
var fullscreen_panel_scene = load("res://scenes/fullscreen_learning_panel.tscn")
if fullscreen_panel_scene:
fullscreen_learning_panel = fullscreen_panel_scene.instantiate()
fullscreen_learning_panel.name = "FullscreenLearningPanel"
add_child(fullscreen_learning_panel)
print("Created fullscreen learning panel")
# Fall back to existing panels if needed
if not learning_panel:
learning_panel = get_node_or_null("/root/Main/LearningPanel")
if learning_panel:
print("Using existing learning panel from Main")
# Connect signals for both panel types
if learning_panel:
learning_panel.completed.connect(_on_learning_completed)
learning_panel.panel_opened.connect(_on_learning_panel_opened)
learning_panel.panel_closed.connect(_on_learning_panel_closed)
print("Connected learning panel signals")
if fullscreen_learning_panel:
fullscreen_learning_panel.completed.connect(_on_learning_completed)
fullscreen_learning_panel.panel_opened.connect(_on_learning_panel_opened)
fullscreen_learning_panel.panel_closed.connect(_on_learning_panel_closed)
print("Connected fullscreen learning panel signals")
print("\n=== Setting up Connection Timer ===")
# Create a simple timer to force a learning companion connection in 3 seconds
# This is a fallback in case the normal connection doesn't work

@ -5,13 +5,6 @@ static func process_mission_structures(structures: Array[Structure], mission_dat
print("\n=== Processing Mission Structures ===")
print("Mission ID: ", mission_data.id)
# Print current unlock status
print("\nCurrent structure status:")
for i in range(structures.size()):
var structure = structures[i]
if structure.model:
print("Structure ", i, ": ", structure.model.resource_path, " - Unlocked: ", structure.unlocked if "unlocked" in structure else "no unlock property")
# Don't lock all structures at start - only unlock new ones
var paths_to_unlock = []
@ -48,15 +41,11 @@ static func unlock_structure_by_path(structures: Array[Structure], path: String)
print("\nStarting structure matching...")
for structure in structures:
if not structure.model:
print("WARNING: Structure has no model!")
continue
var structure_path = structure.model.resource_path
print("\nChecking structure: ", structure_path)
# Try exact path match first
if structure_path == path:
print("Found exact path match, unlocking")
structure.unlocked = true
break

@ -138,13 +138,10 @@ func _unlock_structure(item_path: String):
var found = false
for structure in structures:
if structure.model:
print("Checking structure: " + structure.model.resource_path)
# Check for exact match with either path
if structure.model.resource_path == item_path or structure.model.resource_path == glb_path:
if "unlocked" in structure:
structure.unlocked = true
print("SUCCESS: Unlocked structure by exact match: " + structure.model.resource_path)
found = true
break
@ -152,16 +149,11 @@ func _unlock_structure(item_path: String):
elif structure.model.resource_path.get_basename() == item_path.get_basename():
if "unlocked" in structure:
structure.unlocked = true
print("SUCCESS: Unlocked structure by base name match: " + structure.model.resource_path)
found = true
break
if not found:
print("WARNING: No matching structure found for: " + item_path)
print("Available structures:")
for structure in structures:
if structure.model:
print(" " + structure.model.resource_path)
# Function to update the builder after unlocking structures
func _update_builder_structures():

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfbhlgtc85va2"
path="res://.godot/imported/arcology.png-f11e46b40d717314bf7ada9ed326e6a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/arcology.png"
dest_files=["res://.godot/imported/arcology.png-f11e46b40d717314bf7ada9ed326e6a8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ifx1vg8alwoe"
path="res://.godot/imported/building-small-a.png-7a96d999d5b83c6383f207d9779f3e56.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/building-small-a.png"
dest_files=["res://.godot/imported/building-small-a.png-7a96d999d5b83c6383f207d9779f3e56.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpcasr2l800fw"
path="res://.godot/imported/building-small-b.png-68170b9a879fb76cbc394d2bfa0155c8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/building-small-b.png"
dest_files=["res://.godot/imported/building-small-b.png-68170b9a879fb76cbc394d2bfa0155c8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ds1rjagkye4te"
path="res://.godot/imported/building-small-c.png-c0fc73bc2566c3aa92c47346ec64a371.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/building-small-c.png"
dest_files=["res://.godot/imported/building-small-c.png-c0fc73bc2566c3aa92c47346ec64a371.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d07k2l11vyxab"
path="res://.godot/imported/fountain.png-f69f7f605bc194fe3592727bfc5e021d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/fountain.png"
dest_files=["res://.godot/imported/fountain.png-f69f7f605bc194fe3592727bfc5e021d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cr6cn7bakntxv"
path="res://.godot/imported/garage.png-5cc9aaf1549862b0d3d5f54d12babb6a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/garage.png"
dest_files=["res://.godot/imported/garage.png-5cc9aaf1549862b0d3d5f54d12babb6a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3h6lgsvm50oi"
path="res://.godot/imported/grass-trees-tall.png-420ddd483ce12c30125ef80a62849f6f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/grass-trees-tall.png"
dest_files=["res://.godot/imported/grass-trees-tall.png-420ddd483ce12c30125ef80a62849f6f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxcpi16mnedgk"
path="res://.godot/imported/grass-trees.png-5c0dc752d5058984c1605ff42a16d454.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/grass-trees.png"
dest_files=["res://.godot/imported/grass-trees.png-5c0dc752d5058984c1605ff42a16d454.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfe6g8d1xxpnc"
path="res://.godot/imported/grass.png-732cec040a5e9d1e532a92e33dfe1360.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/grass.png"
dest_files=["res://.godot/imported/grass.png-732cec040a5e9d1e532a92e33dfe1360.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmvx085yrt1mm"
path="res://.godot/imported/pavement.png-509dc62d4fcb8fba833bffe0068f883a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/pavement.png"
dest_files=["res://.godot/imported/pavement.png-509dc62d4fcb8fba833bffe0068f883a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3wvmf0xvpx53"
path="res://.godot/imported/power-plant.png-ab18836cf433027f79b47cfc0a22f79a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/power-plant.png"
dest_files=["res://.godot/imported/power-plant.png-ab18836cf433027f79b47cfc0a22f79a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c73y46u0q5grk"
path="res://.godot/imported/road-intersection.png-b058ee593baf6e4b4a59a7f2fcf85747.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/road-intersection.png"
dest_files=["res://.godot/imported/road-intersection.png-b058ee593baf6e4b4a59a7f2fcf85747.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cm6nduv4dmuig"
path="res://.godot/imported/road-split.png-223e557c19fc2a8883db5cd685bd7d2c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/road-split.png"
dest_files=["res://.godot/imported/road-split.png-223e557c19fc2a8883db5cd685bd7d2c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://drgawf8nwj587"
path="res://.godot/imported/road-straight-light.png-9d7cb7966a8c1baf1b136ce3a5ac208f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/road-straight-light.png"
dest_files=["res://.godot/imported/road-straight-light.png-9d7cb7966a8c1baf1b136ce3a5ac208f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bi0jul6kiedo6"
path="res://.godot/imported/road-straight.png-4a15cb99037383e44ed270405dd2f838.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/road-straight.png"
dest_files=["res://.godot/imported/road-straight.png-4a15cb99037383e44ed270405dd2f838.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://fnyvmcdspbfi"
path="res://.godot/imported/store.png-320b72ff8e5500852b23a2d033e91cb6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/updated/store.png"
dest_files=["res://.godot/imported/store.png-320b72ff8e5500852b23a2d033e91cb6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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

@ -15,5 +15,5 @@ kW_production = 0.0
selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "Description"
thumbnail = "Thumbnail"
description = "Garage"
thumbnail = "res://sprites/updated/garage.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A small residential building that can house 1 person. Perfect for getting your city started!"
thumbnail = "res://sprites/residential/residential-building-red.png"
thumbnail = "res://sprites/updated/building-small-a.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A slightly larger residential building that can house 1 person. A good upgrade from the basic house!"
thumbnail = "res://sprites/residential/residential-building-blue.png"
thumbnail = "res://sprites/updated/building-small-b.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = true
description = "A spacious multi-story apartment complex that comfortably houses 5 citizens, providing efficient population growth for your expanding city."
thumbnail = "res://sprites/residential/building-small-c.png"
thumbnail = "res://sprites/updated/building-small-c.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A lush area featuring small trees that provides shade, clean air, and a pleasant atmosphere for nearby residents."
thumbnail = "res://sprites/terrain/grass-trees-tall.png"
thumbnail = "res://sprites/updated/grass-trees-tall.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "Some cool trees and grass!"
thumbnail = "res://sprites/terrain/grass-trees.png"
thumbnail = "res://sprites/updated/grass-trees.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A beautiful centerpiece that adds charm to your city while providing citizens with a place to relax and socialize."
thumbnail = "res://sprites/terrain/fountain.png"
thumbnail = "res://sprites/updated/fountain.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A pedestrian-friendly surface that creates walkable areas and enhances the appearance of your city spaces."
thumbnail = "res://sprites/roads/pavement.png"
thumbnail = "res://sprites/updated/pavement.png"

@ -16,4 +16,4 @@ selector_scale = 13
unlocked = false
spawn_builder = false
description = "A power-generating facility that produces electricity to keep your city's buildings operational and citizens happy. Produces 40 kW of energy."
thumbnail = "res://sprites/power_plants/coal_power_plant.png"
thumbnail = "res://sprites/updated/power-plant.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A crucial junction where roads meet, allowing traffic to flow in multiple directions throughout your city."
thumbnail = "res://sprites/roads/intersection.png"
thumbnail = "res://sprites/updated/road-intersection.png"

@ -15,5 +15,5 @@ kW_production = 0.0
selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "Description"
thumbnail = "Thumbnail"
description = "Road Split"
thumbnail = "res://sprites/updated/road-split.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "An illuminated road segment that provides safety and visibility for your citizens at night."
thumbnail = "res://sprites/roads/road-straight-lampposts.png"
thumbnail = "res://sprites/updated/road-straight-light.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = false
description = "A basic road for connecting parts of your city."
thumbnail = "res://models/road-straight.glb"
thumbnail = "res://sprites/updated/road-straight.png"

@ -16,4 +16,4 @@ selector_scale = 2.8
unlocked = false
spawn_builder = true
description = "A commercial building where citizens can purchase goods, providing essential services while generating income for your city."
thumbnail = "res://sprites/stores/store.png"
thumbnail = "res://sprites/updated/store.png"