.
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=14 format=3 uid="uid://boywgcl7f5ci6"]
|
||||
[gd_scene load_steps=18 format=3 uid="uid://boywgcl7f5ci6"]
|
||||
|
||||
[ext_resource type="Script" path="res://assets/characters/player.gd" id="1_bvkmh"]
|
||||
[ext_resource type="Script" path="res://src/viewport.gd" id="3_d52t1"]
|
||||
@ -6,8 +6,12 @@
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://c3twn8iltvcj0" path="res://assets/characters/coco/coco_bandicoot.skel" id="4_m8s0r"]
|
||||
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="5_migwh"]
|
||||
[ext_resource type="Script" path="res://assets/characters/coco/states/idle.gd" id="6_0vw3v"]
|
||||
[ext_resource type="Script" path="res://assets/characters/coco/states/move.gd" id="7_p4lpb"]
|
||||
[ext_resource type="Script" path="res://assets/characters/coco/states/jump.gd" id="8_1523y"]
|
||||
[ext_resource type="Script" path="res://assets/characters/coco/states/fall.gd" id="9_t8gpm"]
|
||||
[ext_resource type="Script" path="res://assets/characters/coco/states/pause.gd" id="10_qwrnp"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_xbknf"]
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_05y88"]
|
||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fy03b"]
|
||||
@ -18,7 +22,7 @@ transparency = 1
|
||||
shading_mode = 0
|
||||
diffuse_mode = 3
|
||||
specular_mode = 1
|
||||
albedo_texture = SubResource("ViewportTexture_xbknf")
|
||||
albedo_texture = SubResource("ViewportTexture_05y88")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||
@ -82,18 +86,32 @@ transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
shape = SubResource("CylinderShape3D_cbp6h")
|
||||
|
||||
[node name="LimboHSM" type="LimboHSM" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Idle" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Idle" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||
script = ExtResource("6_0vw3v")
|
||||
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||
|
||||
[node name="Move" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Move" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||
script = ExtResource("7_p4lpb")
|
||||
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||
|
||||
[node name="Jump" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Jump" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||
script = ExtResource("8_1523y")
|
||||
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||
|
||||
[node name="Fall" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Fall" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||
script = ExtResource("9_t8gpm")
|
||||
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||
|
||||
[node name="Attack" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Run" type="LimboState" parent="LimboHSM"]
|
||||
|
||||
[node name="AirAttack" type="LimboState" parent="LimboHSM"]
|
||||
[node name="Pause" type="LimboState" parent="LimboHSM" node_paths=PackedStringArray("sprite")]
|
||||
script = ExtResource("10_qwrnp")
|
||||
sprite = NodePath("../../MeshInstance3D/SubViewport/SpineSprite")
|
||||
|
||||
[node name="Spin" type="LimboState" parent="LimboHSM"]
|
||||
|
||||
[node name="AirSpin" type="LimboState" parent="LimboHSM"]
|
||||
|
||||
[node name="Crouch" type="LimboState" parent="LimboHSM"]
|
||||
|
||||
@ -1,42 +1,54 @@
|
||||
coco_bandicoot.png
|
||||
size:523,522
|
||||
size:522,812
|
||||
filter:Linear,Linear
|
||||
scale:0.5
|
||||
accessories.png
|
||||
bounds:442,162,47,57
|
||||
bounds:202,62,47,57
|
||||
coco_arm_back_1
|
||||
bounds:111,4,99,173
|
||||
bounds:419,637,99,173
|
||||
offsets:0,0,100,173
|
||||
rotate:90
|
||||
coco_arm_front_1
|
||||
bounds:286,41,88,198
|
||||
rotate:90
|
||||
bounds:253,77,88,198
|
||||
coco_body_1
|
||||
bounds:220,131,135,212
|
||||
offsets:0,0,139,212
|
||||
coco_eyebrows_1
|
||||
bounds:286,11,89,28
|
||||
coco_eyewhite_1
|
||||
bounds:2,2,107,104
|
||||
offsets:2,0,109,104
|
||||
coco_hand_back_1
|
||||
bounds:442,221,61,59
|
||||
coco_hand_front_1
|
||||
bounds:442,282,79,61
|
||||
coco_head_1
|
||||
bounds:220,345,222,175
|
||||
coco_leg_back_1
|
||||
bounds:126,105,92,415
|
||||
coco_leg_front_1
|
||||
bounds:2,108,122,412
|
||||
coco_ponytail_1
|
||||
bounds:357,135,83,208
|
||||
coco_pupil_back_1
|
||||
bounds:220,115,14,27
|
||||
bounds:2,121,135,229
|
||||
offsets:0,0,139,229
|
||||
rotate:90
|
||||
coco_eyebrows_1
|
||||
bounds:410,495,89,31
|
||||
coco_eyewhite_1
|
||||
bounds:416,528,107,104
|
||||
offsets:2,0,109,104
|
||||
rotate:90
|
||||
coco_hand_back_1
|
||||
bounds:431,122,61,59
|
||||
coco_hand_front_1
|
||||
bounds:347,483,79,61
|
||||
rotate:90
|
||||
coco_head_1
|
||||
bounds:345,183,222,175
|
||||
rotate:90
|
||||
coco_laptop_1
|
||||
bounds:2,2,198,117
|
||||
coco_leg_back_1
|
||||
bounds:2,718,92,415
|
||||
rotate:90
|
||||
coco_leg_front_1
|
||||
bounds:2,594,122,412
|
||||
rotate:90
|
||||
coco_ponytail_1
|
||||
bounds:253,277,90,188
|
||||
coco_pupil_back_1
|
||||
bounds:503,499,14,27
|
||||
coco_pupil_front_1
|
||||
bounds:377,11,28,62
|
||||
bounds:347,564,28,62
|
||||
rotate:90
|
||||
flower.png
|
||||
bounds:444,366,154,74
|
||||
bounds:347,407,154,74
|
||||
makeup_shotgun
|
||||
bounds:2,467,343,125
|
||||
makeup_shotgun_fx_0
|
||||
bounds:343,105,76,86
|
||||
rotate:90
|
||||
makeup_shotgun_fx_1
|
||||
bounds:2,258,207,249
|
||||
rotate:90
|
||||
|
||||
|
Before Width: | Height: | Size: 204 KiB After Width: | Height: | Size: 220 KiB |
@ -4,7 +4,7 @@
|
||||
[ext_resource type="SpineSkeletonDataResource" uid="uid://dn5wtcrr40ahd" path="res://assets/characters/coco/coco.tres" id="2_8ur8k"]
|
||||
[ext_resource type="Script" path="res://src/spine_sprite.gd" id="3_m02kv"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_8u2jr"]
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ofb5q"]
|
||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5xxpu"]
|
||||
@ -15,7 +15,7 @@ transparency = 1
|
||||
shading_mode = 0
|
||||
diffuse_mode = 3
|
||||
specular_mode = 1
|
||||
albedo_texture = SubResource("ViewportTexture_8u2jr")
|
||||
albedo_texture = SubResource("ViewportTexture_ofb5q")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||
|
||||
12
assets/characters/coco/states/fall.gd
Normal file
@ -0,0 +1,12 @@
|
||||
extends LimboState
|
||||
|
||||
@export var sprite: SpineSprite
|
||||
|
||||
func _enter() -> void:
|
||||
Messagebus.COCO_STATE.emit(self.name)
|
||||
agent.velocity.y = agent.JUMP_VELOCITY
|
||||
var a = sprite.get_animation_state()
|
||||
if a: a.set_animation("fall", true, 0)
|
||||
|
||||
func _update(delta) -> void:
|
||||
pass
|
||||
@ -1,15 +1,25 @@
|
||||
extends LimboState
|
||||
|
||||
@export var animation_player: Node
|
||||
@export var animation: SpineAnimationTrack
|
||||
@export var sprite: SpineSprite
|
||||
|
||||
func _enter() -> void:
|
||||
print("pretending to enter animation state")
|
||||
Messagebus.COCO_STATE.emit(self.name)
|
||||
var a = sprite.get_animation_state()
|
||||
if a: a.set_animation("idle", true, 0)
|
||||
if agent.armed:
|
||||
a.add_animation("holding/shotgun", false, 1)
|
||||
|
||||
func _update(delta) -> void:
|
||||
var a: Player = agent
|
||||
a.apply_movement(delta)
|
||||
if a.velocity.x != 0 or a.velocity.z != 0:
|
||||
get_root().dispatch("to_move")
|
||||
if Input.is_action_pressed("Pause"):
|
||||
get_root().dispatch("to_pause")
|
||||
agent.check_jump_input(delta)
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
22
assets/characters/coco/states/jump.gd
Normal file
@ -0,0 +1,22 @@
|
||||
extends LimboState
|
||||
|
||||
@export var sprite: SpineSprite
|
||||
|
||||
func _enter() -> void:
|
||||
Messagebus.COCO_STATE.emit(self.name)
|
||||
var a = sprite.get_animation_state()
|
||||
if a: a.set_animation("jump", false, 0)
|
||||
|
||||
|
||||
func _update(delta) -> void:
|
||||
#if agent.velocity.y < 0 and !agent.is_on_floor():
|
||||
#get_root().dispatch("to_fall")
|
||||
if agent.is_on_floor():
|
||||
get_root().dispatch("to_move")
|
||||
agent.apply_movement(delta)
|
||||
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
22
assets/characters/coco/states/move.gd
Normal file
@ -0,0 +1,22 @@
|
||||
extends LimboState
|
||||
|
||||
@export var sprite: SpineSprite
|
||||
|
||||
func _enter() -> void:
|
||||
Messagebus.COCO_STATE.emit(self.name)
|
||||
var a = sprite.get_animation_state()
|
||||
if a: a.set_animation("move", true, 0)
|
||||
if true:
|
||||
a.set_animation("holding/shotgun", false, 1)
|
||||
|
||||
func _ready() -> void:
|
||||
pass # Replace with function body.
|
||||
|
||||
func _update(delta) -> void:
|
||||
agent.apply_movement(delta)
|
||||
if agent.velocity.x == 0 and agent.velocity.z == 0:
|
||||
get_root().dispatch("to_idle")
|
||||
agent.check_jump_input(delta)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
22
assets/characters/coco/states/pause.gd
Normal file
@ -0,0 +1,22 @@
|
||||
extends LimboState
|
||||
|
||||
@export var sprite: SpineSprite
|
||||
|
||||
func _enter() -> void:
|
||||
sprite.animation_event.connect(emit_show_laptop)
|
||||
var a = sprite.get_animation_state()
|
||||
if agent.can_pause:
|
||||
a.set_empty_animation(0, 0.4)
|
||||
a.set_animation("holding/laptop", false, 1)
|
||||
#Messagebus.PAUSE.emit(true)
|
||||
|
||||
|
||||
func emit_show_laptop(sprite: SpineSprite, animation_state: SpineAnimationState, track_entry: SpineTrackEntry, event: SpineEvent):
|
||||
print("spine event"+str(event))
|
||||
var event_name = event.get_data().get_event_name()
|
||||
if event_name == "show_laptop":
|
||||
Messagebus.LAPTOP.emit(true)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
@ -1,27 +1,50 @@
|
||||
extends CharacterBody3D
|
||||
class_name Player
|
||||
|
||||
const SPEED = 150.0
|
||||
const RUN_SPEED = 400.0
|
||||
const JUMP_VELOCITY = 200
|
||||
|
||||
#
|
||||
#@export var state_machine: LimboHSM
|
||||
## States
|
||||
#@onready var idle_state: LimboState = $LimboHSM/Idle
|
||||
|
||||
@export var state_machine: LimboHSM
|
||||
@onready var idle_state: LimboState = $LimboHSM/Idle
|
||||
@onready var move_state: LimboState = $LimboHSM/Move
|
||||
@onready var jump_state: LimboState = $LimboHSM/Jump
|
||||
@onready var fall_state: LimboState = $LimboHSM/Fall
|
||||
@onready var pause_state: LimboState = $LimboHSM/Pause
|
||||
|
||||
var movement_input = Vector3.ZERO
|
||||
var last_direction:= Vector3.ONE
|
||||
@onready var camera: Camera3D = $Camera3D
|
||||
#
|
||||
#func _ready():
|
||||
#_initialize_state_machine()
|
||||
#
|
||||
#func _initialize_state_machine():
|
||||
#state_machine.initial_state = idle_state
|
||||
#state_machine.initialize(self)
|
||||
#state_machine.set_active(true)
|
||||
#
|
||||
func _physics_process(delta: float) -> void:
|
||||
|
||||
var armed = false
|
||||
var can_pause = true
|
||||
|
||||
func _ready():
|
||||
state_machine = $LimboHSM
|
||||
_initialize_state_machine()
|
||||
GDRx.on_physics_step()\
|
||||
.subscribe(check_buffered_jump).dispose_with(self)
|
||||
GDRx.on_physics_step()\
|
||||
.subscribe(check_coyote_jump).dispose_with(self)
|
||||
GDRx.on_physics_step()\
|
||||
.subscribe(handle_jump).dispose_with(self)
|
||||
GDRx.on_physics_step()\
|
||||
.subscribe(handle_move).dispose_with(self)
|
||||
|
||||
func _initialize_state_machine():
|
||||
state_machine.add_transition(idle_state, move_state, "to_move")
|
||||
state_machine.add_transition(move_state, idle_state, "to_idle")
|
||||
state_machine.add_transition(move_state, jump_state, "to_jump")
|
||||
state_machine.add_transition(idle_state, jump_state, "to_jump")
|
||||
state_machine.add_transition(jump_state, fall_state, "to_fall")
|
||||
state_machine.add_transition(state_machine.ANYSTATE, pause_state, "to_pause")
|
||||
|
||||
state_machine.initial_state = idle_state
|
||||
state_machine.initialize(self)
|
||||
state_machine.set_active(true)
|
||||
|
||||
|
||||
func apply_movement(delta: float) -> void:
|
||||
# Add the gravity.
|
||||
if not is_on_floor():
|
||||
velocity += get_gravity() * delta
|
||||
@ -29,18 +52,88 @@ func _physics_process(delta: float) -> void:
|
||||
self.velocity.x = delta * k * Input.get_axis("move_left", "move_right")
|
||||
self.velocity.z = delta * k * Input.get_axis("move_forward", "move_back")
|
||||
|
||||
if Input.is_key_pressed(KEY_E):
|
||||
var s: SpineSprite = $MeshInstance3D/SubViewport/SpineSprite
|
||||
var a = s.get_animation_state()
|
||||
a.set_animation("holding/shoot", false, 3)
|
||||
shoot_gun()
|
||||
armed = !armed
|
||||
Messagebus.DEBUG_XYZ.emit(self.global_transform.origin)
|
||||
|
||||
if Input.is_action_just_pressed("jump") and is_on_floor():
|
||||
self.velocity.y = delta * JUMP_VELOCITY
|
||||
var i = Input.get_axis("move_left", "move_right")
|
||||
if snapped(i, 1):
|
||||
last_direction = Vector3(sign(i), 1, 1)
|
||||
var t: Material = $MeshInstance3D.material_override
|
||||
t.uv1_scale = last_direction
|
||||
|
||||
move_and_slide()
|
||||
|
||||
func shoot_gun():
|
||||
var space_state = get_world_3d().direct_space_state
|
||||
|
||||
# use global coordinates, not local to node
|
||||
var start = self.to_global(Vector3(0, 0, 0))
|
||||
var end = self.to_global(Vector3(50, 0, 0)) * sign(last_direction.x)
|
||||
line(start, end, Color.BLACK, 4)
|
||||
var query = PhysicsRayQueryParameters3D.create(start, end)
|
||||
query.exclude = [self]
|
||||
var result = space_state.intersect_ray(query)
|
||||
print(result)
|
||||
|
||||
func line(pos1: Vector3, pos2: Vector3, color = Color.BLACK, persist_ms = 0):
|
||||
var mesh_instance := MeshInstance3D.new()
|
||||
var immediate_mesh := ImmediateMesh.new()
|
||||
var material := ORMMaterial3D.new()
|
||||
|
||||
mesh_instance.mesh = immediate_mesh
|
||||
mesh_instance.cast_shadow = GeometryInstance3D.SHADOW_CASTING_SETTING_OFF
|
||||
|
||||
immediate_mesh.surface_begin(Mesh.PRIMITIVE_LINES, material)
|
||||
immediate_mesh.surface_add_vertex(pos1)
|
||||
immediate_mesh.surface_add_vertex(pos1-Vector3(0,0,0.2))
|
||||
immediate_mesh.surface_add_vertex(pos2)
|
||||
immediate_mesh.surface_add_vertex(pos2-Vector3(0,0,0.2))
|
||||
immediate_mesh.surface_end()
|
||||
|
||||
material.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||
material.albedo_color = color
|
||||
|
||||
return await final_cleanup(mesh_instance, persist_ms)
|
||||
|
||||
|
||||
func final_cleanup(mesh_instance: MeshInstance3D, persist_ms: float):
|
||||
get_tree().get_root().add_child(mesh_instance)
|
||||
if persist_ms == 1:
|
||||
await get_tree().physics_frame
|
||||
mesh_instance.queue_free()
|
||||
elif persist_ms > 0:
|
||||
await get_tree().create_timer(persist_ms).timeout
|
||||
mesh_instance.queue_free()
|
||||
else:
|
||||
return mesh_instance
|
||||
|
||||
func apply_jump() -> void:
|
||||
pass
|
||||
#move_and_slide()
|
||||
|
||||
func check_coyote_jump(delta) -> void:
|
||||
pass
|
||||
|
||||
func check_buffered_jump(delta) -> void:
|
||||
pass
|
||||
|
||||
func handle_jump(delta) -> void:
|
||||
pass
|
||||
|
||||
func handle_move(delta) -> void:
|
||||
pass
|
||||
|
||||
func check_jump_input(delta) -> void:
|
||||
check_coyote_jump(delta)
|
||||
check_buffered_jump(delta)
|
||||
if Input.is_action_just_pressed("jump") and is_on_floor():
|
||||
state_machine.dispatch("to_jump")
|
||||
self.velocity.y = delta * JUMP_VELOCITY
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
var i = Input.get_axis("move_left", "move_right")
|
||||
if snapped(i, 1):
|
||||
self.last_direction = Vector3(sign(i), 1, 1)
|
||||
var t: Material = $MeshInstance3D.material_override
|
||||
t.uv1_scale = self.last_direction
|
||||
# handle camera
|
||||
camera.position.x = lerp(camera.position.x, position.x, 0.08)
|
||||
camera.position.y = lerp(camera.position.y, position.y, 0.08) + 0.07
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
tawna.png
|
||||
size:505,1156
|
||||
size:248,580
|
||||
filter:Linear,Linear
|
||||
scale:0.5
|
||||
tawna
|
||||
bounds:2,2,501,1152
|
||||
bounds:2,2,244,576
|
||||
|
||||
|
Before Width: | Height: | Size: 473 KiB After Width: | Height: | Size: 171 KiB |
@ -33,7 +33,7 @@ max_value = 200.0
|
||||
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.56535, 83.9717), 420.727, 420.727, 0, 0, Vector2(0.729483, 200), 0.0, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_7i7n4"]
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_cdclm"]
|
||||
viewport_path = NodePath("MeshInstance3D/SubViewport")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_a31vv"]
|
||||
@ -41,7 +41,7 @@ transparency = 1
|
||||
shading_mode = 0
|
||||
diffuse_mode = 3
|
||||
specular_mode = 1
|
||||
albedo_texture = SubResource("ViewportTexture_7i7n4")
|
||||
albedo_texture = SubResource("ViewportTexture_cdclm")
|
||||
billboard_mode = 1
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_iwcmf"]
|
||||
@ -105,7 +105,8 @@ canvas_cull_mask = 4294966273
|
||||
size = Vector2i(3671, 3671)
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="MeshInstance3D/SubViewport"]
|
||||
position = Vector2(1358, 0)
|
||||
position = Vector2(1827, 2016)
|
||||
scale = Vector2(2, 2)
|
||||
skeleton_data_res = SubResource("SpineSkeletonDataResource_ufcij")
|
||||
meshes = true
|
||||
preview_skin = "default"
|
||||
|
||||
@ -71,14 +71,14 @@ data = PackedVector3Array(5, 0, 5, -5, 0, 5, 5, 0, -5, -5, 0, 5, -5, 0, -5, 5, 0
|
||||
vertices = PackedVector3Array(1.56663, 0.279793, -3.25, 1.56663, 0.279793, -2.75, 2.31663, 0.279793, -2.5, 4.31663, 0.279793, -3.25, 2.31663, 0.279793, -1.5, 1.56663, 0.279793, 2.5, 8.31663, 0.279793, 2.5, 8.31663, 0.279793, -4.5, 1.56663, 0.279793, -1.25, 4.31663, 0.279793, -4.5, 0.81663, 0.279793, -2.5, -5.68337, 0.279793, -3.25, 0.81663, 0.279793, -1.5, -5.68337, 0.279793, 2.5)
|
||||
polygons = [PackedInt32Array(1, 0, 2), PackedInt32Array(2, 0, 3), PackedInt32Array(4, 3, 5), PackedInt32Array(5, 3, 6), PackedInt32Array(6, 3, 7), PackedInt32Array(4, 2, 3), PackedInt32Array(5, 8, 4), PackedInt32Array(3, 9, 7), PackedInt32Array(1, 10, 0), PackedInt32Array(0, 10, 11), PackedInt32Array(8, 5, 12), PackedInt32Array(12, 5, 13), PackedInt32Array(12, 13, 11), PackedInt32Array(11, 10, 12)]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_lyeeo"]
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_cn41h"]
|
||||
viewport_path = NodePath("NavigationRegion3D/MeshInstance3D/SubViewport")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mdr1l"]
|
||||
transparency = 2
|
||||
alpha_scissor_threshold = 0.5
|
||||
alpha_antialiasing_mode = 0
|
||||
albedo_texture = SubResource("ViewportTexture_lyeeo")
|
||||
albedo_texture = SubResource("ViewportTexture_cn41h")
|
||||
metallic_specular = 0.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lrfyr"]
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
[ext_resource type="Script" path="res://src/canvas_layer.gd" id="10_x3yev"]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
process_mode = 3
|
||||
script = ExtResource("1_l1pcn")
|
||||
test = 101
|
||||
|
||||
@ -35,6 +36,7 @@ script = ExtResource("5_4aaix")
|
||||
script = ExtResource("6_oxtdj")
|
||||
|
||||
[node name="LevelManager" type="Node" parent="."]
|
||||
process_mode = 1
|
||||
script = ExtResource("6_xklu3")
|
||||
|
||||
[node name="CameraManager" type="Node" parent="."]
|
||||
|
||||
BIN
assets/spine/coco-walk/images/Copy of coco_arm_front_1.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtk2iidlc7i0a"
|
||||
path="res://.godot/imported/Copy of coco_arm_front_1.png-5926d54fd8d331028e1d23f32e01ae22.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/Copy of coco_arm_front_1.png"
|
||||
dest_files=["res://.godot/imported/Copy of coco_arm_front_1.png-5926d54fd8d331028e1d23f32e01ae22.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
|
||||
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 41 KiB |
BIN
assets/spine/coco-walk/images/coco_body_2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
assets/spine/coco-walk/images/coco_body_2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dalxlvqrv3xku"
|
||||
path="res://.godot/imported/coco_body_2.png-08930752ff81f991009d83c86bef5d51.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/coco_body_2.png"
|
||||
dest_files=["res://.godot/imported/coco_body_2.png-08930752ff81f991009d83c86bef5d51.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
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 71 KiB |
BIN
assets/spine/coco-walk/images/coco_head_2.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
34
assets/spine/coco-walk/images/coco_head_2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bew858jkcyd8a"
|
||||
path="res://.godot/imported/coco_head_2.png-fcf8c73db8028f0695e327ce3f17e227.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/coco_head_2.png"
|
||||
dest_files=["res://.godot/imported/coco_head_2.png-fcf8c73db8028f0695e327ce3f17e227.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
|
||||
BIN
assets/spine/coco-walk/images/coco_laptop_1.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
34
assets/spine/coco-walk/images/coco_laptop_1.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b34tqsmac3h5y"
|
||||
path="res://.godot/imported/coco_laptop_1.png-fc0162ea4bfdc11b72bad2bf80a71225.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/coco_laptop_1.png"
|
||||
dest_files=["res://.godot/imported/coco_laptop_1.png-fc0162ea4bfdc11b72bad2bf80a71225.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
|
||||
BIN
assets/spine/coco-walk/images/coco_leg_back_2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
34
assets/spine/coco-walk/images/coco_leg_back_2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dbda31eli61mt"
|
||||
path="res://.godot/imported/coco_leg_back_2.png-e2c8d576243cf02a82c3944da9749514.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/coco_leg_back_2.png"
|
||||
dest_files=["res://.godot/imported/coco_leg_back_2.png-e2c8d576243cf02a82c3944da9749514.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
|
||||
BIN
assets/spine/coco-walk/images/coco_leg_front_2.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
34
assets/spine/coco-walk/images/coco_leg_front_2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dkvst4vvr44te"
|
||||
path="res://.godot/imported/coco_leg_front_2.png-0443a34e668f5a3fa97cf22ee2e8d4df.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/coco_leg_front_2.png"
|
||||
dest_files=["res://.godot/imported/coco_leg_front_2.png-0443a34e668f5a3fa97cf22ee2e8d4df.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
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.7 KiB |
BIN
assets/spine/coco-walk/images/makeup_shotgun.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://daa4nh3vyyu4f"
|
||||
path="res://.godot/imported/makeup_shotgun.png-ed09e1ad06d001e6ab56a822536fe663.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/makeup_shotgun.png"
|
||||
dest_files=["res://.godot/imported/makeup_shotgun.png-ed09e1ad06d001e6ab56a822536fe663.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
|
||||
BIN
assets/spine/coco-walk/images/makeup_shotgun_fx_0.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun_fx_0.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c728m6vxxhr5l"
|
||||
path="res://.godot/imported/makeup_shotgun_fx_0.png-ba24f917faf9c3b0162b7d53b829f3da.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/makeup_shotgun_fx_0.png"
|
||||
dest_files=["res://.godot/imported/makeup_shotgun_fx_0.png-ba24f917faf9c3b0162b7d53b829f3da.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
|
||||
BIN
assets/spine/coco-walk/images/makeup_shotgun_fx_1.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
34
assets/spine/coco-walk/images/makeup_shotgun_fx_1.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dwurne0py6y33"
|
||||
path="res://.godot/imported/makeup_shotgun_fx_1.png-b97eb4dd49b3856c1ff98fd3509cb8b0.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/coco-walk/images/makeup_shotgun_fx_1.png"
|
||||
dest_files=["res://.godot/imported/makeup_shotgun_fx_1.png-b97eb4dd49b3856c1ff98fd3509cb8b0.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
|
||||
@ -10,8 +10,8 @@
|
||||
"name": "test",
|
||||
"parent": "root",
|
||||
"length": 0,
|
||||
"x": 242.5,
|
||||
"y": 1265.4999999999995
|
||||
"x": 179.5000000000009,
|
||||
"y": 1334.4999999999995
|
||||
}
|
||||
],
|
||||
"slots": [
|
||||
@ -33,12 +33,24 @@
|
||||
"attachment": "coco_leg_back_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_leg_back_2",
|
||||
"bone": "root",
|
||||
"attachment": "coco_leg_back_2",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_body_1",
|
||||
"bone": "root",
|
||||
"attachment": "coco_body_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_body_2",
|
||||
"bone": "root",
|
||||
"attachment": "coco_body_2",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_hand_back_1",
|
||||
"bone": "root",
|
||||
@ -51,6 +63,18 @@
|
||||
"attachment": "coco_arm_front_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_leg_front_2",
|
||||
"bone": "root",
|
||||
"attachment": "coco_leg_front_2",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "Copy of coco_arm_front_1",
|
||||
"bone": "root",
|
||||
"attachment": "Copy of coco_arm_front_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_hand_front_1",
|
||||
"bone": "root",
|
||||
@ -63,6 +87,30 @@
|
||||
"attachment": "coco_ponytail_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "makeup_shotgun",
|
||||
"bone": "root",
|
||||
"attachment": "makeup_shotgun",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "makeup_shotgun_fx_0",
|
||||
"bone": "root",
|
||||
"attachment": "makeup_shotgun_fx_0",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "makeup_shotgun_fx_1",
|
||||
"bone": "root",
|
||||
"attachment": "makeup_shotgun_fx_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_laptop_1",
|
||||
"bone": "root",
|
||||
"attachment": "coco_laptop_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_eyewhite_1",
|
||||
"bone": "root",
|
||||
@ -87,6 +135,12 @@
|
||||
"attachment": "coco_head_1",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "coco_head_2",
|
||||
"bone": "root",
|
||||
"attachment": "coco_head_2",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "test",
|
||||
"bone": "test",
|
||||
@ -98,116 +152,188 @@
|
||||
"default": {
|
||||
"coco_arm_back_1": {
|
||||
"coco_arm_back_1": {
|
||||
"x": 106.0,
|
||||
"y": 747.0,
|
||||
"x": 43.0,
|
||||
"y": 787.0,
|
||||
"width": 200,
|
||||
"height": 346
|
||||
}
|
||||
},
|
||||
"coco_leg_front_1": {
|
||||
"coco_leg_front_1": {
|
||||
"x": -101.0,
|
||||
"y": 270.0,
|
||||
"x": -164.0,
|
||||
"y": 310.0,
|
||||
"width": 244,
|
||||
"height": 824
|
||||
}
|
||||
},
|
||||
"coco_leg_back_1": {
|
||||
"coco_leg_back_1": {
|
||||
"x": 72.0,
|
||||
"y": 280.5,
|
||||
"x": 9.0,
|
||||
"y": 320.5,
|
||||
"width": 184,
|
||||
"height": 829
|
||||
}
|
||||
},
|
||||
"coco_leg_back_2": {
|
||||
"coco_leg_back_2": {
|
||||
"x": 428.5,
|
||||
"y": 345.5,
|
||||
"width": 175,
|
||||
"height": 783
|
||||
}
|
||||
},
|
||||
"coco_body_1": {
|
||||
"coco_body_1": {
|
||||
"x": -29.0,
|
||||
"y": 730.5,
|
||||
"x": -92.0,
|
||||
"y": 788.0,
|
||||
"width": 278,
|
||||
"height": 458
|
||||
}
|
||||
},
|
||||
"coco_body_2": {
|
||||
"coco_body_2": {
|
||||
"x": 528.0,
|
||||
"y": 790.5,
|
||||
"width": 278,
|
||||
"height": 423
|
||||
}
|
||||
},
|
||||
"coco_hand_back_1": {
|
||||
"coco_hand_back_1": {
|
||||
"x": 213.5,
|
||||
"y": 591.0,
|
||||
"x": 150.5,
|
||||
"y": 631.0,
|
||||
"width": 121,
|
||||
"height": 118
|
||||
}
|
||||
},
|
||||
"coco_arm_front_1": {
|
||||
"coco_arm_front_1": {
|
||||
"x": -195.5,
|
||||
"y": 732.0,
|
||||
"x": -258.5,
|
||||
"y": 772.0,
|
||||
"width": 175,
|
||||
"height": 396
|
||||
}
|
||||
},
|
||||
"coco_leg_front_2": {
|
||||
"coco_leg_front_2": {
|
||||
"x": 869.5,
|
||||
"y": 339.0,
|
||||
"width": 847,
|
||||
"height": 760
|
||||
}
|
||||
},
|
||||
"Copy of coco_arm_front_1": {
|
||||
"Copy of coco_arm_front_1": {
|
||||
"x": 641.5,
|
||||
"y": 753.5,
|
||||
"width": 245,
|
||||
"height": 419
|
||||
}
|
||||
},
|
||||
"coco_hand_front_1": {
|
||||
"coco_hand_front_1": {
|
||||
"x": -270.5,
|
||||
"y": 548.0,
|
||||
"x": -333.5,
|
||||
"y": 588.0,
|
||||
"width": 157,
|
||||
"height": 122
|
||||
}
|
||||
},
|
||||
"coco_ponytail_1": {
|
||||
"coco_ponytail_1": {
|
||||
"x": -385.0,
|
||||
"y": 1426.0,
|
||||
"width": 166,
|
||||
"height": 416
|
||||
"x": -561.0,
|
||||
"y": 1485.5,
|
||||
"width": 180,
|
||||
"height": 375
|
||||
}
|
||||
},
|
||||
"makeup_shotgun": {
|
||||
"makeup_shotgun": {
|
||||
"x": 403.5,
|
||||
"y": 1760.0,
|
||||
"width": 685,
|
||||
"height": 250
|
||||
}
|
||||
},
|
||||
"makeup_shotgun_fx_0": {
|
||||
"makeup_shotgun_fx_0": {
|
||||
"x": 867.5,
|
||||
"y": 1838.5,
|
||||
"width": 151,
|
||||
"height": 171
|
||||
}
|
||||
},
|
||||
"makeup_shotgun_fx_1": {
|
||||
"makeup_shotgun_fx_1": {
|
||||
"x": 1298.0,
|
||||
"y": 1847.0,
|
||||
"width": 414,
|
||||
"height": 498
|
||||
}
|
||||
},
|
||||
"coco_laptop_1": {
|
||||
"coco_laptop_1": {
|
||||
"x": 927.0,
|
||||
"y": 1504.5,
|
||||
"width": 396,
|
||||
"height": 233
|
||||
}
|
||||
},
|
||||
"coco_eyewhite_1": {
|
||||
"coco_eyewhite_1": {
|
||||
"x": -14.0,
|
||||
"y": 1076.0,
|
||||
"x": -77.0,
|
||||
"y": 1116.0,
|
||||
"width": 218,
|
||||
"height": 208
|
||||
}
|
||||
},
|
||||
"coco_pupil_back_1": {
|
||||
"coco_pupil_back_1": {
|
||||
"x": 37.5,
|
||||
"y": 1047.0,
|
||||
"x": -25.5,
|
||||
"y": 1087.0,
|
||||
"width": 27,
|
||||
"height": 54
|
||||
}
|
||||
},
|
||||
"coco_pupil_front_1": {
|
||||
"coco_pupil_front_1": {
|
||||
"x": -35.5,
|
||||
"y": 1022.0,
|
||||
"x": -98.5,
|
||||
"y": 1062.0,
|
||||
"width": 55,
|
||||
"height": 124
|
||||
}
|
||||
},
|
||||
"coco_head_1": {
|
||||
"coco_head_1": {
|
||||
"x": 9.5,
|
||||
"y": 1090.5,
|
||||
"x": -53.5,
|
||||
"y": 1130.5,
|
||||
"width": 443,
|
||||
"height": 349
|
||||
}
|
||||
},
|
||||
"coco_head_2": {
|
||||
"coco_head_2": {
|
||||
"x": 529.5,
|
||||
"y": 1136.5,
|
||||
"width": 411,
|
||||
"height": 361
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"coco_eyebrows_1": {
|
||||
"x": -234.0,
|
||||
"y": -133.0,
|
||||
"y": -159.0,
|
||||
"width": 177,
|
||||
"height": 55
|
||||
"height": 61
|
||||
},
|
||||
"accessories.png": {
|
||||
"x": 125.5,
|
||||
"y": -98.0,
|
||||
"x": -121.5,
|
||||
"y": 133.0,
|
||||
"width": 94,
|
||||
"height": 113
|
||||
},
|
||||
"flower.png": {
|
||||
"x": 168.5,
|
||||
"y": 87.0,
|
||||
"y": 58.0,
|
||||
"width": 308,
|
||||
"height": 147
|
||||
}
|
||||
|
||||
BIN
assets/spine/menu/images/Paint Layer 2.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
34
assets/spine/menu/images/Paint Layer 2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://1cpwkt3c3ote"
|
||||
path="res://.godot/imported/Paint Layer 2.png-c35a357f49dc209385fae2819edf8b58.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/Paint Layer 2.png"
|
||||
dest_files=["res://.godot/imported/Paint Layer 2.png-c35a357f49dc209385fae2819edf8b58.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
|
||||
BIN
assets/spine/menu/images/hand.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
34
assets/spine/menu/images/hand.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://be8xujh4bijbf"
|
||||
path="res://.godot/imported/hand.png-6af6f0867f65a84e5c3ba9536ec71f50.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/hand.png"
|
||||
dest_files=["res://.godot/imported/hand.png-6af6f0867f65a84e5c3ba9536ec71f50.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
|
||||
BIN
assets/spine/menu/images/inv_screen.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
34
assets/spine/menu/images/inv_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dayktnhj5oaqg"
|
||||
path="res://.godot/imported/inv_screen.png-42600d6fffc14f704c343b178450af56.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/inv_screen.png"
|
||||
dest_files=["res://.godot/imported/inv_screen.png-42600d6fffc14f704c343b178450af56.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
|
||||
BIN
assets/spine/menu/images/journal_screen.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
34
assets/spine/menu/images/journal_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bkwgroj1wf15q"
|
||||
path="res://.godot/imported/journal_screen.png-9179f4e44a8c1aa6e251ac1447c4aa80.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/journal_screen.png"
|
||||
dest_files=["res://.godot/imported/journal_screen.png-9179f4e44a8c1aa6e251ac1447c4aa80.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
|
||||
BIN
assets/spine/menu/images/laptop.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
34
assets/spine/menu/images/laptop.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dnfw43vfvgjfo"
|
||||
path="res://.godot/imported/laptop.png-539b91d8263f66e2366aedc7afab93f4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/laptop.png"
|
||||
dest_files=["res://.godot/imported/laptop.png-539b91d8263f66e2366aedc7afab93f4.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
|
||||
BIN
assets/spine/menu/images/menu_screen.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
34
assets/spine/menu/images/menu_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bwcq0b2xs4frm"
|
||||
path="res://.godot/imported/menu_screen.png-62927edcc4dfcc13ab17ad3a9e335ea4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/menu_screen.png"
|
||||
dest_files=["res://.godot/imported/menu_screen.png-62927edcc4dfcc13ab17ad3a9e335ea4.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
|
||||
BIN
assets/spine/menu/images/pointer.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
34
assets/spine/menu/images/pointer.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cbn6tah6kf3jc"
|
||||
path="res://.godot/imported/pointer.png-4c58a57bd1fd0b4cf01b8bf522542c9b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/pointer.png"
|
||||
dest_files=["res://.godot/imported/pointer.png-4c58a57bd1fd0b4cf01b8bf522542c9b.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
|
||||
129
assets/spine/menu/images/spine.json
Normal file
@ -0,0 +1,129 @@
|
||||
{
|
||||
"skeleton": {
|
||||
"images": "/home/user/Projects/Games/Test/assets/spine/menu/images/"
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "root"
|
||||
}
|
||||
],
|
||||
"slots": [
|
||||
{
|
||||
"name": "Paint Layer 2",
|
||||
"bone": "root",
|
||||
"attachment": "Paint Layer 2",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "journal_screen",
|
||||
"bone": "root",
|
||||
"attachment": "journal_screen",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "menu_screen",
|
||||
"bone": "root",
|
||||
"attachment": "menu_screen",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "stats_screen",
|
||||
"bone": "root",
|
||||
"attachment": "stats_screen",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "inv_screen",
|
||||
"bone": "root",
|
||||
"attachment": "inv_screen",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "laptop",
|
||||
"bone": "root",
|
||||
"attachment": "laptop",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "hand",
|
||||
"bone": "root",
|
||||
"attachment": "hand",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "pointer",
|
||||
"bone": "root",
|
||||
"attachment": "pointer",
|
||||
"blend": "normal"
|
||||
}
|
||||
],
|
||||
"skins": {
|
||||
"default": {
|
||||
"Paint Layer 2": {
|
||||
"Paint Layer 2": {
|
||||
"x": -4.0,
|
||||
"y": 533.0,
|
||||
"width": 1128,
|
||||
"height": 974
|
||||
}
|
||||
},
|
||||
"journal_screen": {
|
||||
"journal_screen": {
|
||||
"x": 5.5,
|
||||
"y": 560.0,
|
||||
"width": 1029,
|
||||
"height": 800
|
||||
}
|
||||
},
|
||||
"menu_screen": {
|
||||
"menu_screen": {
|
||||
"x": 5.5,
|
||||
"y": 560.0,
|
||||
"width": 1029,
|
||||
"height": 800
|
||||
}
|
||||
},
|
||||
"stats_screen": {
|
||||
"stats_screen": {
|
||||
"x": 6.5,
|
||||
"y": 560.0,
|
||||
"width": 1027,
|
||||
"height": 800
|
||||
}
|
||||
},
|
||||
"inv_screen": {
|
||||
"inv_screen": {
|
||||
"x": 5.5,
|
||||
"y": 560.0,
|
||||
"width": 1029,
|
||||
"height": 800
|
||||
}
|
||||
},
|
||||
"laptop": {
|
||||
"laptop": {
|
||||
"x": 11.5,
|
||||
"y": 423.0,
|
||||
"width": 1477,
|
||||
"height": 1274
|
||||
}
|
||||
},
|
||||
"hand": {
|
||||
"hand": {
|
||||
"x": 424.0,
|
||||
"y": -131.5,
|
||||
"width": 472,
|
||||
"height": 249
|
||||
}
|
||||
},
|
||||
"pointer": {
|
||||
"pointer": {
|
||||
"x": -336.5,
|
||||
"y": 916.0,
|
||||
"width": 95,
|
||||
"height": 88
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animations": {}
|
||||
}
|
||||
BIN
assets/spine/menu/images/stats_screen.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
34
assets/spine/menu/images/stats_screen.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bpw2brxlsumv6"
|
||||
path="res://.godot/imported/stats_screen.png-302aca7bfa2eea78da137d33367ee802.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/menu/images/stats_screen.png"
|
||||
dest_files=["res://.godot/imported/stats_screen.png-302aca7bfa2eea78da137d33367ee802.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
|
||||
BIN
assets/spine/menu/menu.spine
Normal file
BIN
assets/spine/tawna/hairpin.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
34
assets/spine/tawna/hairpin.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cuvo5xehbgfpo"
|
||||
path="res://.godot/imported/hairpin.png-d317e6ed5bffcd982f5b071c30cd3f0f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/tawna/hairpin.png"
|
||||
dest_files=["res://.godot/imported/hairpin.png-d317e6ed5bffcd982f5b071c30cd3f0f.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
|
||||
59
assets/spine/tawna/spine.json
Normal file
@ -0,0 +1,59 @@
|
||||
{
|
||||
"skeleton": {
|
||||
"images": "/home/user/Projects/Games/Test/assets/spine/tawna/"
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "root"
|
||||
}
|
||||
],
|
||||
"slots": [
|
||||
{
|
||||
"name": "hairpin",
|
||||
"bone": "root",
|
||||
"attachment": "hairpin",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "tawna",
|
||||
"bone": "root",
|
||||
"attachment": "tawna",
|
||||
"blend": "normal"
|
||||
},
|
||||
{
|
||||
"name": "tawna2",
|
||||
"bone": "root",
|
||||
"attachment": "tawna2",
|
||||
"blend": "normal"
|
||||
}
|
||||
],
|
||||
"skins": {
|
||||
"default": {
|
||||
"hairpin": {
|
||||
"hairpin": {
|
||||
"x": 3667.36,
|
||||
"y": -2791.74,
|
||||
"width": 94,
|
||||
"height": 113
|
||||
}
|
||||
},
|
||||
"tawna": {
|
||||
"tawna": {
|
||||
"x": 3424.86,
|
||||
"y": -3257.24,
|
||||
"width": 487,
|
||||
"height": 1152
|
||||
}
|
||||
},
|
||||
"tawna2": {
|
||||
"tawna2": {
|
||||
"x": 3424.86,
|
||||
"y": -3257.24,
|
||||
"width": 487,
|
||||
"height": 1152
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animations": {}
|
||||
}
|
||||
BIN
assets/spine/tawna/tawna.png
Normal file
|
After Width: | Height: | Size: 459 KiB |
34
assets/spine/tawna/tawna.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://djs2larjanlvv"
|
||||
path="res://.godot/imported/tawna.png-1d74aecd9c905845687936a1f88f0c4f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/tawna/tawna.png"
|
||||
dest_files=["res://.godot/imported/tawna.png-1d74aecd9c905845687936a1f88f0c4f.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
|
||||
BIN
assets/spine/tawna/tawna.spine
Normal file
BIN
assets/spine/tawna/tawna2.png
Normal file
|
After Width: | Height: | Size: 458 KiB |
34
assets/spine/tawna/tawna2.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cmqeoeh8sgisa"
|
||||
path="res://.godot/imported/tawna2.png-36c7cd5d1e0c89767b6e48c5667f0d64.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/spine/tawna/tawna2.png"
|
||||
dest_files=["res://.godot/imported/tawna2.png-36c7cd5d1e0c89767b6e48c5667f0d64.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
|
||||
@ -1,8 +1,16 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var sprite: SpineSprite = $LaptopMenu/Control/SpineSprite
|
||||
|
||||
func _ready() -> void:
|
||||
GDRx.from_signal(Messagebus.DEBUG_XYZ).subscribe(display_xy).dispose_with(self)
|
||||
GDRx.from_signal(Messagebus.CHANGE_SCENE).subscribe(display_map).dispose_with(self)
|
||||
GDRx.from_signal(Messagebus.COCO_STATE).subscribe(display_state).dispose_with(self)
|
||||
|
||||
func display_state(name: String) -> void:
|
||||
var coco_state = "Idle"
|
||||
var state_label = $Control/MarginContainer/BoxContainer/VBoxContainer/StateLabel
|
||||
state_label.text = "State:"+name
|
||||
|
||||
#$FlipPage.set_shader_parameter("scale", Vector3(100,100,100))
|
||||
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://sq6kut2r2bqx"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://sq6kut2r2bqx"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://bsp54mgll6mvy" path="res://assets/ui/FOT-PopJoyStd-B.otf" id="1_7sq06"]
|
||||
[ext_resource type="Script" path="res://assets/ui/main_ui.gd" id="1_ca2yl"]
|
||||
[ext_resource type="Shader" path="res://assets/ui/main_ui.gdshader" id="2_jrexl"]
|
||||
[ext_resource type="PackedScene" uid="uid://cei6ecg57ja35" path="res://assets/ui/menu/laptop_menu.tscn" id="2_wklhg"]
|
||||
[ext_resource type="Shader" path="res://assets/characters/player_outline.gdshader" id="3_g5bqj"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_x68ve"]
|
||||
@ -33,6 +34,12 @@ shader_parameter/Alpha = 1.0
|
||||
[node name="MainUi" type="CanvasLayer"]
|
||||
script = ExtResource("1_ca2yl")
|
||||
|
||||
[node name="LaptopMenu" parent="." instance=ExtResource("2_wklhg")]
|
||||
offset_left = 261.0
|
||||
offset_top = -61.0
|
||||
offset_right = 157.0
|
||||
offset_bottom = 143.0
|
||||
|
||||
[node name="Transition" type="ColorRect" parent="."]
|
||||
material = SubResource("ShaderMaterial_x68ve")
|
||||
offset_right = 1949.0
|
||||
@ -81,6 +88,12 @@ layout_mode = 2
|
||||
size_flags_horizontal = 2
|
||||
size_flags_vertical = 8
|
||||
|
||||
[node name="StateLabel" type="Label" parent="Control/MarginContainer/BoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "State: Unknown"
|
||||
|
||||
[node name="XYZLabel" type="Label" parent="Control/MarginContainer/BoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||
@ -94,3 +107,7 @@ layout_mode = 2
|
||||
theme_override_fonts/font = ExtResource("1_7sq06")
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "Map: debug1"
|
||||
|
||||
[node name="LimboHSM" type="LimboHSM" parent="."]
|
||||
|
||||
[node name="LimboState" type="LimboState" parent="LimboHSM"]
|
||||
|
||||
24
assets/ui/menu/laptop_menu.atlas
Normal file
@ -0,0 +1,24 @@
|
||||
laptop_menu.png
|
||||
size:1684,1043
|
||||
filter:Linear,Linear
|
||||
scale:0.5
|
||||
Paint Layer 2
|
||||
bounds:743,477,564,487
|
||||
rotate:90
|
||||
hand
|
||||
bounds:518,166,236,125
|
||||
rotate:90
|
||||
inv_screen
|
||||
bounds:743,75,515,400
|
||||
journal_screen
|
||||
bounds:1232,526,515,400
|
||||
rotate:90
|
||||
laptop
|
||||
bounds:2,404,739,637
|
||||
menu_screen
|
||||
bounds:1282,9,515,400
|
||||
rotate:90
|
||||
pointer
|
||||
bounds:1232,480,48,44
|
||||
stats_screen
|
||||
bounds:2,2,514,400
|
||||
15
assets/ui/menu/laptop_menu.atlas.import
Normal file
@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.atlas"
|
||||
type="SpineAtlasResource"
|
||||
uid="uid://i8of4ot88vfe"
|
||||
path="res://.godot/imported/laptop_menu.atlas-af472bcf3fb58545990289cf0c991153.spatlas"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ui/menu/laptop_menu.atlas"
|
||||
dest_files=["res://.godot/imported/laptop_menu.atlas-af472bcf3fb58545990289cf0c991153.spatlas"]
|
||||
|
||||
[params]
|
||||
|
||||
normal_map_prefix="n"
|
||||
40
assets/ui/menu/laptop_menu.gd
Normal file
@ -0,0 +1,40 @@
|
||||
extends Control
|
||||
|
||||
@onready var spine_sprite: SpineSprite = $Control/SpineSprite
|
||||
var anim_state: SpineAnimationState
|
||||
var last_menu: String = "stats"
|
||||
var options = {
|
||||
"stats": {},
|
||||
"inv": {},
|
||||
"journal": {},
|
||||
"menu": {},
|
||||
}
|
||||
|
||||
func _ready() -> void:
|
||||
anim_state = spine_sprite.get_animation_state()
|
||||
anim_state.set_animation("pointer", true, 4)
|
||||
anim_state.set_animation("typing", true, 3)
|
||||
|
||||
Messagebus.LAPTOP.connect(maybe_show_laptop)
|
||||
|
||||
func maybe_show_laptop(show: bool):
|
||||
var a = spine_sprite.get_animation_state()
|
||||
if self.is_visible_in_tree():
|
||||
self.hide()
|
||||
a.set_animation("hide", false, 0)
|
||||
else:
|
||||
self.show()
|
||||
a.set_animation("show", false, 0)
|
||||
|
||||
|
||||
#
|
||||
#func _process(delta: float) -> void:
|
||||
#if Input.is_action_pressed("Pause"):
|
||||
#print("enter laptop state here")
|
||||
#if self.is_visible_in_tree():
|
||||
#self.hide()
|
||||
#anim_state.set_animation("hide", false, 0)
|
||||
#else:
|
||||
#self.show()
|
||||
#anim_state.set_animation("show", false, 0)
|
||||
#
|
||||
BIN
assets/ui/menu/laptop_menu.png
Normal file
|
After Width: | Height: | Size: 128 KiB |
34
assets/ui/menu/laptop_menu.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b40bk8khjimro"
|
||||
path="res://.godot/imported/laptop_menu.png-85ef6a041aef7f90db2ac657dd9888cf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ui/menu/laptop_menu.png"
|
||||
dest_files=["res://.godot/imported/laptop_menu.png-85ef6a041aef7f90db2ac657dd9888cf.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
|
||||
BIN
assets/ui/menu/laptop_menu.skel
Normal file
14
assets/ui/menu/laptop_menu.skel.import
Normal file
@ -0,0 +1,14 @@
|
||||
[remap]
|
||||
|
||||
importer="spine.skel"
|
||||
type="SpineSkeletonFileResource"
|
||||
uid="uid://cadv3ufdyphe6"
|
||||
path="res://.godot/imported/laptop_menu.skel-ef2460c46b9880fbf0b3a932a675a6d7.spskel"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/ui/menu/laptop_menu.skel"
|
||||
dest_files=["res://.godot/imported/laptop_menu.skel-ef2460c46b9880fbf0b3a932a675a6d7.spskel"]
|
||||
|
||||
[params]
|
||||
|
||||
34
assets/ui/menu/laptop_menu.tscn
Normal file
@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cei6ecg57ja35"]
|
||||
|
||||
[ext_resource type="SpineAtlasResource" uid="uid://i8of4ot88vfe" path="res://assets/ui/menu/laptop_menu.atlas" id="1_cjg4b"]
|
||||
[ext_resource type="Script" path="res://assets/ui/menu/laptop_menu.gd" id="1_lw7wl"]
|
||||
[ext_resource type="SpineSkeletonFileResource" uid="uid://cadv3ufdyphe6" path="res://assets/ui/menu/laptop_menu.skel" id="2_1tqrt"]
|
||||
|
||||
[sub_resource type="SpineSkeletonDataResource" id="SpineSkeletonDataResource_0o7ph"]
|
||||
atlas_res = ExtResource("1_cjg4b")
|
||||
skeleton_file_res = ExtResource("2_1tqrt")
|
||||
|
||||
[node name="LaptopMenu" type="Control"]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_lw7wl")
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="SpineSprite" type="SpineSprite" parent="Control"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(744.783, 1151)
|
||||
scale = Vector2(0.888371, 0.88837)
|
||||
skeleton_data_res = SubResource("SpineSkeletonDataResource_0o7ph")
|
||||
preview_skin = "Default"
|
||||
preview_animation = "-- Empty --"
|
||||
preview_frame = false
|
||||
preview_time = 0.0
|
||||
@ -98,7 +98,7 @@ func summon_minion(p_position: Vector2) -> void:
|
||||
minion.death.connect(func(): summon_count -= 1)
|
||||
|
||||
|
||||
## Method is used when this agent is summoned from the dungeons of the castle AaaAaaAAAAAaaAAaaaaaa
|
||||
## Method is used when this agent is summoned from the dungeons of the castle
|
||||
func play_summoning_effect() -> void:
|
||||
summoning_effect.emitting = true
|
||||
|
||||
|
||||
@ -103,6 +103,11 @@ zoom_out={
|
||||
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(261, 10),"global_position":Vector2(275, 80),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
Pause={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[input_devices]
|
||||
|
||||
|
||||
20
src/main.gd
@ -1,11 +1,31 @@
|
||||
extends Node
|
||||
|
||||
@export var test := 100
|
||||
var paused = false
|
||||
|
||||
func _ready() -> void:
|
||||
GDRx.start_periodic_timer(1.0) \
|
||||
.subscribe(func(i): print("Tick: ", i)) \
|
||||
.dispose_with(self)
|
||||
GDRx.on_input_as_observable(self) \
|
||||
.filter(is_pause_event) \
|
||||
.filter(can_pause) \
|
||||
.throttle_first(1) \
|
||||
.subscribe(handle_pause) \
|
||||
.dispose_with(self)
|
||||
|
||||
func is_pause_event(event):
|
||||
if event is InputEventKey:
|
||||
#print(event)
|
||||
return event.is_action("Pause")
|
||||
|
||||
func can_pause(event):
|
||||
return false
|
||||
|
||||
func handle_pause(event):
|
||||
paused = !paused
|
||||
print("PAUSE: "+str(paused))
|
||||
get_tree().paused = paused
|
||||
|
||||
func move() -> void:
|
||||
pass
|
||||
|
||||
@ -3,3 +3,5 @@ extends Node
|
||||
signal CHANGE_SCENE(scene: String)
|
||||
signal DEBUG_XYZ(origin: Vector3)
|
||||
signal DEBUG_MAP(name: String)
|
||||
signal COCO_STATE(name: String)
|
||||
signal LAPTOP(show: bool)
|
||||
|
||||
@ -5,7 +5,7 @@ extends SpineSprite
|
||||
func _ready() -> void:
|
||||
var a = get_animation_state()
|
||||
if a:
|
||||
a.set_animation("idle", true, 0)
|
||||
a.set_animation("animation", true, 0)
|
||||
a.set_time_scale(time_scale)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
|
||||