commit
|
After Width: | Height: | Size: 165 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/trinity_site_level_layout-level_design_z-index_0.png-05b8879ce933ed0eeba9d404ed43c171.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/levels/trinity_site/images/trinity_site_level_layout-level_design_z-index_0.png"
|
||||
dest_files=[ "res://.import/trinity_site_level_layout-level_design_z-index_0.png-05b8879ce933ed0eeba9d404ed43c171.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
BIN
Game/build/unnamedGame.zip
Normal file
7
Game/default_env.tres
Normal file
@ -0,0 +1,7 @@
|
||||
[gd_resource type="Environment" load_steps=2 format=2]
|
||||
|
||||
[sub_resource type="ProceduralSky" id=1]
|
||||
|
||||
[resource]
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
BIN
Game/icon.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
34
Game/icon.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://icon.png"
|
||||
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
94
Game/project.godot
Normal file
@ -0,0 +1,94 @@
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
;
|
||||
; Format:
|
||||
; [section] ; section goes between []
|
||||
; param=value ; assign values to parameters
|
||||
|
||||
config_version=4
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Game"
|
||||
run/main_scene="res://source/scenes/GUI/main_menu.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
Network="*res://source/assets/scripts/server_handlers/network_processors/network.gd"
|
||||
Global="*res://source/assets/scripts/server_handlers/global.gd"
|
||||
PersistentNodes="*res://source/scenes/OVERLAY/elements/persistent_nodes.tscn"
|
||||
|
||||
[debug]
|
||||
|
||||
settings/stdout/print_fps=true
|
||||
|
||||
[display]
|
||||
|
||||
window/size/width=1920
|
||||
window/size/height=1080
|
||||
window/size/test_width=1024
|
||||
window/size/test_height=600
|
||||
window/stretch/mode="2d"
|
||||
window/stretch/aspect="keep"
|
||||
|
||||
[global]
|
||||
|
||||
fps=false
|
||||
|
||||
[input]
|
||||
|
||||
input_right={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_left={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_up={
|
||||
"deadzone": 0.49,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_down={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_debug={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":96,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_enter={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_shift={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
input_shoot={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[physics]
|
||||
|
||||
common/enable_pause_aware_picking=true
|
||||
|
||||
[rendering]
|
||||
|
||||
environment/default_environment="res://default_env.tres"
|
||||
46
Game/source/assets/scripts/grass_handlers/grass_body.gd
Normal file
@ -0,0 +1,46 @@
|
||||
extends Area2D
|
||||
|
||||
var reacted = false
|
||||
var reactionComplete = true
|
||||
var state = false
|
||||
var activeAnimation = "idle"
|
||||
var playingLoop = true
|
||||
|
||||
func _process(delta):
|
||||
if reacted == true:
|
||||
playingLoop = false
|
||||
reactionComplete = false
|
||||
if state == false:
|
||||
activeAnimation = "transition_down"
|
||||
reacted = false
|
||||
state = true
|
||||
else:
|
||||
activeAnimation = "transition_up"
|
||||
reacted = false
|
||||
state = false
|
||||
else:
|
||||
if reactionComplete == true:
|
||||
if state == false:
|
||||
activeAnimation = "idle"
|
||||
else:
|
||||
activeAnimation = "idle_down"
|
||||
if activeAnimation == "transition_down" or activeAnimation == "transition_up":
|
||||
$trinity_site_level_grass_type_2_animated.play(activeAnimation)
|
||||
reactionComplete = true
|
||||
|
||||
func _on_Area2D_body_entered(body):
|
||||
if body.is_in_group("Player"):
|
||||
reacted = true
|
||||
pass
|
||||
|
||||
func _on_Area2D_body_exited(body):
|
||||
if body.is_in_group("Player"):
|
||||
reacted = true
|
||||
pass
|
||||
|
||||
func _on_trinity_site_level_grass_type_2_animated_animation_finished():
|
||||
if reactionComplete == false:
|
||||
reactionComplete = true
|
||||
$trinity_site_level_grass_type_2_animated.play(activeAnimation)
|
||||
pass
|
||||
|
||||
@ -0,0 +1,340 @@
|
||||
extends KinematicBody2D
|
||||
|
||||
var hp = 100 setget set_hp
|
||||
|
||||
var player_bullet = load("res://source/entities/bullet/player_bullet.tscn")
|
||||
var username_text = load("res://source/scenes/OVERLAY/elements/username_text.tscn")
|
||||
var username setget username_set
|
||||
var username_text_instance = null
|
||||
|
||||
var can_shoot = true
|
||||
var is_reloading = false
|
||||
|
||||
puppet var puppet_hp = 100 setget puppet_hp_set
|
||||
puppet var puppet_position = Vector2(0, 0) setget puppet_position_set
|
||||
puppet var puppet_velocity = Vector2()
|
||||
puppet var puppet_rotation = 0
|
||||
puppet var puppet_username = "" setget puppet_username_set
|
||||
|
||||
onready var tween = $Tween
|
||||
onready var sprite = $player_sprite
|
||||
onready var reload_timer = $reload_timer
|
||||
onready var shoot_point = $shoot_point
|
||||
onready var hit_timer = $hit_timer
|
||||
|
||||
|
||||
# Instance of data pre_processors
|
||||
var VDIR_preset_pre_processor_instance = preload("res://source/assets/scripts/pre_processors/vdir_pre_processor.gd").new()
|
||||
var UIN_preset_pre_processor_instance = preload("res://source/assets/scripts/pre_processors/uin_pre_processor.gd").new()
|
||||
|
||||
# Local class constants
|
||||
|
||||
# Local class variables
|
||||
var VDIR = {}
|
||||
var user_input = {}
|
||||
var user_state = {}
|
||||
var dimensions = {}
|
||||
var gravityVector = Vector2(0,0)
|
||||
var movementVector = Vector2(0,0)
|
||||
var movementSpeed = 0
|
||||
var maxMovementSpeed = 200
|
||||
var accelerationSpeed = 5
|
||||
var deccelerationSpeed = 4.25
|
||||
var jumpState = false
|
||||
var jumpSpeed = 0
|
||||
var maxJumpSpeed = 400
|
||||
var time = 0
|
||||
var timeOut = 1
|
||||
var timedOut = true
|
||||
var movementRight = false
|
||||
var movementLeft = true
|
||||
|
||||
|
||||
func _ready():
|
||||
get_tree().connect("network_peer_connected", self, "_network_peer_connected")
|
||||
username_text_instance = Global.instance_node_at_location(username_text, PersistentNodes, global_position)
|
||||
username_text_instance.player_following = self
|
||||
update_shoot_mode(false)
|
||||
Global.alive_players.append(self)
|
||||
|
||||
yield(get_tree(), "idle_frame")
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
Global.player_master = self
|
||||
|
||||
# Allow update process override.
|
||||
set_process(true)
|
||||
$player_animated_sprite.play("idle")
|
||||
|
||||
|
||||
func get_user_state():
|
||||
# Create a dictionary of all variables that relate to clients' active state.
|
||||
var user_state = {
|
||||
"global_position": global_transform.origin
|
||||
}
|
||||
return user_state
|
||||
|
||||
|
||||
func get_dimensions():
|
||||
# Create a dictionary of all (required) sizes in regards to the client.
|
||||
var dimensions = {
|
||||
"sprite": {
|
||||
"width":$player_sprite.texture.get_width(),
|
||||
"height":$player_sprite.texture.get_height(),
|
||||
"scale":$player_sprite.scale,
|
||||
},
|
||||
"collider": {
|
||||
"shape":$player_collider.get_shape(),
|
||||
"radius":$player_collider.get_shape().get_radius()
|
||||
}
|
||||
}
|
||||
return dimensions
|
||||
|
||||
|
||||
func process_rotation():
|
||||
var VDIR_ray_positive_y = VDIR["1"]["1"]["ray"]["position"].y - user_state["global_position"].y
|
||||
var VDIR_ray_negative_y = VDIR["1"]["2"]["ray"]["position"].y - user_state["global_position"].y
|
||||
var VDIR_ray_positive_x = VDIR["1"]["1"]["ray"]["position"].x - user_state["global_position"].x
|
||||
var VDIR_ray_negative_x = VDIR["1"]["2"]["ray"]["position"].x - user_state["global_position"].x
|
||||
var VDIR_ray_offset = sqrt(VDIR_ray_positive_y * VDIR_ray_positive_y + VDIR_ray_positive_x * VDIR_ray_positive_x) - sqrt(VDIR_ray_negative_y * VDIR_ray_negative_y + VDIR_ray_negative_x * VDIR_ray_negative_x)
|
||||
if VDIR_ray_offset > 1:
|
||||
rotation_degrees += VDIR_ray_offset / 10
|
||||
if VDIR_ray_offset < 1:
|
||||
rotation_degrees += VDIR_ray_offset / 10
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if username_text_instance != null:
|
||||
username_text_instance.name = "username" + name
|
||||
|
||||
|
||||
user_input = UIN_preset_pre_processor_instance.update()
|
||||
user_state = get_user_state()
|
||||
dimensions = get_dimensions()
|
||||
time += delta
|
||||
VDIR = VDIR_preset_pre_processor_instance.update(user_state, dimensions)
|
||||
for vector_type in VDIR:
|
||||
var v_t = str(vector_type)
|
||||
for vector in VDIR[v_t]:
|
||||
var v = str(vector)
|
||||
if v_t == "1":
|
||||
var space_state = get_world_2d().direct_space_state
|
||||
var ray_cast = space_state.intersect_ray((VDIR[v_t][v]["start"] - user_state["global_position"]).rotated(rotation) + user_state["global_position"],(VDIR[v_t][v]["end"] - user_state["global_position"]).rotated(rotation) + user_state["global_position"],[self])
|
||||
if "position" in ray_cast:
|
||||
VDIR[v_t][v]["ray"]["position"] = ray_cast.position
|
||||
VDIR[v_t][v]["ray"]["length"] = sqrt((VDIR[v_t][v]["ray"]["position"].y - user_state["global_position"].y)*(VDIR[v_t][v]["ray"]["position"].y - user_state["global_position"].y)+(VDIR[v_t][v]["ray"]["position"].x - user_state["global_position"].x)*(VDIR[v_t][v]["ray"]["position"].x - user_state["global_position"].x))
|
||||
VDIR[v_t][v]["ray"]["offset"] = dimensions["collider"]["radius"] - VDIR[v_t][v]["ray"]["length"]
|
||||
VDIR[v_t][v]["ray"]["collided"] = true
|
||||
else:
|
||||
VDIR[v_t][v]["ray"]["position"] = (VDIR[v_t][v]["end"] - user_state["global_position"]).rotated(rotation) + user_state["global_position"]
|
||||
VDIR[v_t][v]["ray"]["length"] = sqrt((VDIR[v_t][v]["ray"]["position"].y - user_state["global_position"].y)*(VDIR[v_t][v]["ray"]["position"].y - user_state["global_position"].y)+(VDIR[v_t][v]["ray"]["position"].x - user_state["global_position"].x)*(VDIR[v_t][v]["ray"]["position"].x - user_state["global_position"].x))
|
||||
VDIR[v_t][v]["ray"]["offset"] = dimensions["collider"]["radius"] - VDIR[v_t][v]["ray"]["length"]
|
||||
VDIR[v_t][v]["ray"]["collided"] = false
|
||||
update()
|
||||
process_rotation()
|
||||
|
||||
|
||||
func _physics_process(delta) -> void:
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master() and visible:
|
||||
if "0" in VDIR:
|
||||
if VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] > 2 and jumpState == false:
|
||||
gravityVector = (VDIR["1"]["0"]["ray"]["position"] - user_state["global_position"]).normalized()
|
||||
print("Gravity on")
|
||||
elif jumpState == false:
|
||||
gravityVector = Vector2(0,0)
|
||||
movementVector = Vector2(0,0)
|
||||
if user_input["right"] == true:
|
||||
movementVector = Vector2(1,0)
|
||||
elif user_input["left"] == true:
|
||||
movementVector = Vector2(-1,0)
|
||||
else:
|
||||
movementVector = Vector2(0,0)
|
||||
if movementVector.x == 1 and movementRight == false:
|
||||
movementRight = true
|
||||
movementLeft = false
|
||||
$player_animated_sprite.flip_h = true
|
||||
elif movementVector.x == -1 and movementLeft == false:
|
||||
movementLeft = true
|
||||
movementRight = false
|
||||
$player_animated_sprite.flip_h = false
|
||||
if movementVector != Vector2(0,0) and jumpState == false:
|
||||
movementSpeed = move_toward(movementSpeed, maxMovementSpeed, accelerationSpeed)
|
||||
elif movementVector != Vector2(0,0) and jumpState == true:
|
||||
movementSpeed = move_toward(movementSpeed, maxMovementSpeed * 2, accelerationSpeed)
|
||||
else:
|
||||
movementSpeed = move_toward(movementSpeed, 0, deccelerationSpeed)
|
||||
if timedOut == true and user_input["up"] == true and jumpState == false and VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] < 2:
|
||||
gravityVector = (VDIR["1"]["0"]["ray"]["position"] - user_state["global_position"]).normalized() * -1
|
||||
jumpSpeed = 0
|
||||
jumpState = true
|
||||
time = 0
|
||||
if jumpState == true and jumpSpeed < maxJumpSpeed:
|
||||
rotation_degrees = move_toward(rotation_degrees, 0, accelerationSpeed/10)
|
||||
jumpSpeed = move_toward(jumpSpeed, maxJumpSpeed, accelerationSpeed * 10)
|
||||
else:
|
||||
jumpState = false
|
||||
jumpSpeed = 100
|
||||
if user_input["boost"] == true:
|
||||
maxMovementSpeed = move_toward(maxMovementSpeed,120,accelerationSpeed)
|
||||
else:
|
||||
maxMovementSpeed = move_toward(maxMovementSpeed,60,deccelerationSpeed)
|
||||
if time < timeOut:
|
||||
timedOut = false
|
||||
else:
|
||||
timedOut = true
|
||||
move_and_slide(gravityVector * jumpSpeed + movementVector.rotated(rotation).normalized() * movementSpeed)
|
||||
|
||||
if Input.is_action_pressed("input_shoot") and can_shoot and not is_reloading:
|
||||
rpc("instance_bullet", get_tree().get_network_unique_id())
|
||||
is_reloading = true
|
||||
reload_timer.start()
|
||||
else:
|
||||
rotation = lerp_angle(rotation, puppet_rotation, delta * 8)
|
||||
|
||||
if not tween.is_active():
|
||||
move_and_slide(puppet_velocity * movementSpeed)
|
||||
if hp <= 0:
|
||||
if get_tree().is_network_server():
|
||||
rpc("destroy")
|
||||
|
||||
|
||||
|
||||
func _draw():
|
||||
for vector_type in VDIR:
|
||||
var v_t = str(vector_type)
|
||||
for vector in VDIR[v_t]:
|
||||
var v = str(vector)
|
||||
if v_t == "1":
|
||||
draw_line(VDIR[v_t][v]["start"] - user_state["global_position"],(VDIR[v_t][v]["ray"]["position"] - user_state["global_position"]).rotated(-rotation),Color(255,255,255,1),1)
|
||||
|
||||
|
||||
func lerp_angle(from, to, weight):
|
||||
return from + short_angle_dist(from, to) * weight
|
||||
|
||||
|
||||
func short_angle_dist(from, to):
|
||||
var max_angle = PI * 2
|
||||
var difference = fmod(to - from, max_angle)
|
||||
return fmod(2 * difference, max_angle) - difference
|
||||
|
||||
|
||||
func puppet_position_set(new_value) -> void:
|
||||
puppet_position = new_value
|
||||
tween.interpolate_property(self, "global_position", global_position, puppet_position, 0.1)
|
||||
tween.start()
|
||||
|
||||
|
||||
func set_hp(new_value):
|
||||
hp = new_value
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
rset("puppet_hp", hp)
|
||||
|
||||
|
||||
func puppet_hp_set(new_value):
|
||||
puppet_hp = new_value
|
||||
if get_tree().has_network_peer():
|
||||
if not is_network_master():
|
||||
hp = puppet_hp
|
||||
|
||||
|
||||
func username_set(new_value) -> void:
|
||||
username = new_value
|
||||
if is_network_master() and username_text_instance != null:
|
||||
username_text_instance.text = username
|
||||
rset("puppet_username", username)
|
||||
|
||||
|
||||
func puppet_username_set(new_value) -> void:
|
||||
puppet_username = new_value
|
||||
if not is_network_master() and username_text_instance != null:
|
||||
username_text_instance.text = puppet_username
|
||||
|
||||
|
||||
func _network_peer_connected(id) -> void:
|
||||
rset_id(id, "puppet_username", username)
|
||||
|
||||
|
||||
func _on_network_tick_rate_timeout():
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
rset_unreliable("puppet_position", global_position)
|
||||
#rset_unreliable("puppet_velocity", movementVector)
|
||||
rset_unreliable("puppet_rotation", rotation)
|
||||
|
||||
|
||||
sync func instance_bullet(id):
|
||||
var player_bullet_instance = Global.instance_node_at_location(player_bullet, PersistentNodes, shoot_point.global_position)
|
||||
player_bullet_instance.name = "Bullet" + name + str(Network.networked_object_name_index)
|
||||
player_bullet_instance.set_network_master(id)
|
||||
player_bullet_instance.player_rotation = rotation
|
||||
player_bullet_instance.player_owner = id
|
||||
Network.networked_object_name_index += 1
|
||||
|
||||
|
||||
sync func update_position(pos):
|
||||
global_position = pos
|
||||
puppet_position = pos
|
||||
|
||||
|
||||
func update_shoot_mode(shoot_mode):
|
||||
can_shoot = shoot_mode
|
||||
|
||||
|
||||
func _on_reload_timer_timeout():
|
||||
is_reloading = false
|
||||
|
||||
|
||||
func _on_hit_timer_timeout():
|
||||
modulate = Color(1, 1, 1, 1)
|
||||
|
||||
|
||||
func _on_hitbox_area_entered(area):
|
||||
if get_tree().is_network_server():
|
||||
if area.is_in_group("Player_damager") and area.get_parent().player_owner != int(name):
|
||||
rpc("hit_by_damager", area.get_parent().damage)
|
||||
area.get_parent().rpc("destroy")
|
||||
|
||||
|
||||
sync func hit_by_damager(damage):
|
||||
hp -= damage
|
||||
modulate = Color(5, 5, 5, 1)
|
||||
hit_timer.start()
|
||||
|
||||
|
||||
sync func enable() -> void:
|
||||
hp = 100
|
||||
can_shoot = false
|
||||
update_shoot_mode(false)
|
||||
username_text_instance.visible = true
|
||||
visible = true
|
||||
$player_collider.disabled = false
|
||||
$hitbox/CollisionShape2D.disabled = false
|
||||
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
Global.player_master = self
|
||||
|
||||
if not Global.alive_players.has(self):
|
||||
Global.alive_players.append(self)
|
||||
|
||||
|
||||
sync func destroy() -> void:
|
||||
username_text_instance.visible = false
|
||||
visible = false
|
||||
$player_collider.disabled = true
|
||||
$hitbox/CollisionShape2D.disabled = true
|
||||
Global.alive_players.erase(self)
|
||||
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
Global.player_master = null
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
Global.alive_players.erase(self)
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
Global.player_master = null
|
||||
|
||||
56
Game/source/assets/scripts/player_handlers/player_bullet.gd
Normal file
@ -0,0 +1,56 @@
|
||||
extends Sprite
|
||||
|
||||
var gravitile = 5
|
||||
|
||||
var velocity = Vector2(1, 0)
|
||||
var player_rotation
|
||||
|
||||
export(int) var speed = 1400
|
||||
export(int) var damage = 25
|
||||
|
||||
puppet var puppet_position setget puppet_position_set
|
||||
puppet var puppet_velocity = Vector2(0, 0)
|
||||
puppet var puppet_rotation = 0
|
||||
|
||||
onready var initial_position = global_position
|
||||
|
||||
var player_owner = 0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
visible = false
|
||||
yield(get_tree(), "idle_frame")
|
||||
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
velocity = velocity.rotated(player_rotation)
|
||||
rotation = player_rotation
|
||||
rset("puppet_velocity", velocity)
|
||||
rset("puppet_rotation", rotation)
|
||||
rset("puppet_position", global_position)
|
||||
|
||||
visible = true
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
global_position += velocity * speed * delta
|
||||
else:
|
||||
rotation = puppet_rotation
|
||||
global_position += puppet_velocity * speed * delta
|
||||
|
||||
|
||||
func puppet_position_set(new_value) -> void:
|
||||
puppet_position = new_value
|
||||
global_position = puppet_position
|
||||
|
||||
|
||||
sync func destroy() -> void:
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_Destroy_timer_timeout():
|
||||
if get_tree().has_network_peer():
|
||||
if get_tree().is_network_server():
|
||||
rpc("destroy")
|
||||
@ -0,0 +1,11 @@
|
||||
extends CollisionShape2D
|
||||
|
||||
onready var playerSpriteNAHeight = get_parent().get_child(2).texture.get_height() * get_parent().get_child(2).scale.y
|
||||
onready var playerSpriteNAWidth = get_parent().get_child(2).texture.get_width() * get_parent().get_child(2).scale.x
|
||||
|
||||
func _ready():
|
||||
var expectedColliderShape = CircleShape2D.new()
|
||||
set_shape(expectedColliderShape)
|
||||
var colliderRadius = playerSpriteNAHeight / 2
|
||||
expectedColliderShape.set_radius(colliderRadius)
|
||||
pass
|
||||
@ -0,0 +1,26 @@
|
||||
extends Node
|
||||
|
||||
var inputState = {}
|
||||
|
||||
func _init() -> void:
|
||||
inputState = {
|
||||
"right": false,
|
||||
"left": false,
|
||||
"up": false,
|
||||
"down": false,
|
||||
"debug": false,
|
||||
"enter": false
|
||||
}
|
||||
pass
|
||||
|
||||
func update():
|
||||
inputState = {
|
||||
"right": Input.is_action_pressed("input_right"),
|
||||
"left": Input.is_action_pressed("input_left"),
|
||||
"up": Input.is_action_pressed("input_up"),
|
||||
"down": Input.is_action_pressed("input_down"),
|
||||
"debug": Input.is_action_pressed("input_debug"),
|
||||
"boost": Input.is_action_pressed("input_shift"),
|
||||
"enter": Input.is_action_pressed("input_enter")
|
||||
}
|
||||
return inputState
|
||||
@ -0,0 +1,46 @@
|
||||
extends Node
|
||||
|
||||
var VDIR = {}
|
||||
|
||||
func update(userState, userDimensions):
|
||||
var bSP = 0
|
||||
var bHO = userDimensions["sprite"]["width"] / 2 * userDimensions["sprite"]["scale"].x
|
||||
var bVVO = userDimensions["sprite"]["height"] * userDimensions["sprite"]["scale"].y
|
||||
var spHO = userDimensions["collider"]["radius"]
|
||||
VDIR = {
|
||||
"0": {
|
||||
"0": {
|
||||
"start": Vector2(bSP, bSP),
|
||||
"end": Vector2(bSP, bVVO),
|
||||
"ray": {"position": Vector2(bSP, bVVO), "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
},
|
||||
"1": {
|
||||
"start": Vector2(spHO, bSP),
|
||||
"end": Vector2(spHO, bVVO),
|
||||
"ray": {"position": Vector2(spHO, bVVO), "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
},
|
||||
"2": {
|
||||
"start": Vector2(-spHO, bSP),
|
||||
"end": Vector2(-spHO, bVVO),
|
||||
"ray": {"position": Vector2(-spHO, bVVO), "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"0": {
|
||||
"start": Vector2(bSP, bSP) + userState["global_position"],
|
||||
"end": Vector2(bSP, bVVO) + userState["global_position"],
|
||||
"ray": {"position": Vector2(bSP, bVVO) + userState["global_position"], "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
},
|
||||
"1": {
|
||||
"start": Vector2(spHO, bSP) + userState["global_position"],
|
||||
"end": Vector2(spHO, bVVO) + userState["global_position"],
|
||||
"ray": {"position": Vector2(spHO, bVVO) + userState["global_position"], "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
},
|
||||
"2": {
|
||||
"start": Vector2(-spHO, bSP) + userState["global_position"],
|
||||
"end": Vector2(-spHO, bVVO) + userState["global_position"],
|
||||
"ray": {"position": Vector2(-spHO, bVVO) + userState["global_position"], "length": bVVO, "offset": bVVO - spHO, "collided": false}
|
||||
}
|
||||
}
|
||||
}
|
||||
return VDIR
|
||||
15
Game/source/assets/scripts/server_handlers/global.gd
Normal file
@ -0,0 +1,15 @@
|
||||
extends Node
|
||||
|
||||
var player_master = null
|
||||
var ui = null
|
||||
var alive_players = []
|
||||
|
||||
func instance_node_at_location(node: Object, parent: Object, location: Vector2) -> Object:
|
||||
var node_instance = instance_node(node, parent)
|
||||
node_instance.global_position = location
|
||||
return node_instance
|
||||
|
||||
func instance_node(node: Object, parent: Object) -> Object:
|
||||
var node_instance = node.instance()
|
||||
parent.add_child(node_instance)
|
||||
return node_instance
|
||||
@ -0,0 +1,111 @@
|
||||
extends Node
|
||||
|
||||
const DEFAULT_PORT = 28414
|
||||
const MAX_CLIENTS = 4
|
||||
|
||||
var server = null
|
||||
var client = null
|
||||
|
||||
var ip_address = ""
|
||||
var current_player_username = ""
|
||||
|
||||
var client_connected_to_server = false
|
||||
|
||||
var networked_object_name_index = 0 setget networked_object_name_index_set
|
||||
puppet var puppet_networked_object_name_index = 0 setget puppet_networked_object_name_index_set
|
||||
|
||||
onready var client_connection_timeout_timer = Timer.new()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
add_child(client_connection_timeout_timer)
|
||||
client_connection_timeout_timer.wait_time = 600 # 10 min
|
||||
client_connection_timeout_timer.one_shot = true
|
||||
|
||||
client_connection_timeout_timer.connect("timeout", self, "_client_connection_timeout")
|
||||
|
||||
if OS.get_name() == "Windows":
|
||||
ip_address = IP.get_local_addresses()[3]
|
||||
elif OS.get_name() == "Android":
|
||||
ip_address = IP.get_local_addresses()[0]
|
||||
else:
|
||||
ip_address = IP.get_local_addresses()[3]
|
||||
|
||||
for ip in IP.get_local_addresses():
|
||||
if ip.begins_with("192.168.") and not ip.ends_with(".1"):
|
||||
ip_address = ip
|
||||
|
||||
get_tree().connect("connected_to_server", self, "_connected_to_server")
|
||||
get_tree().connect("server_disconnected", self, "_server_disconnected")
|
||||
get_tree().connect("connection_failed", self, "_connection_failed")
|
||||
|
||||
|
||||
func create_server() -> void:
|
||||
server = NetworkedMultiplayerENet.new()
|
||||
server.create_server(DEFAULT_PORT, MAX_CLIENTS)
|
||||
get_tree().set_network_peer(server)
|
||||
Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_advertiser.tscn"), get_tree().current_scene)
|
||||
|
||||
|
||||
func join_server() -> void:
|
||||
client = NetworkedMultiplayerENet.new()
|
||||
client.create_client(ip_address, DEFAULT_PORT)
|
||||
get_tree().set_network_peer(client)
|
||||
client_connection_timeout_timer.start()
|
||||
|
||||
|
||||
func reset_network_connection() -> void:
|
||||
if get_tree().has_network_peer():
|
||||
get_tree().network_peer = null
|
||||
|
||||
|
||||
func _connected_to_server() -> void:
|
||||
print("Successfully connected to the server")
|
||||
|
||||
|
||||
func _server_disconnected() -> void:
|
||||
print("Disconnected from the server")
|
||||
|
||||
for child in PersistentNodes.get_children():
|
||||
if child.is_in_group("Net"):
|
||||
child.queue_free()
|
||||
reset_network_connection()
|
||||
|
||||
if Global.ui != null:
|
||||
var prompt = Global.instance_node(load("res://source/scenes/OVERLAY/elements/simple_prompt.tscn"), Global.ui)
|
||||
prompt.set_text("Disconnected from server")
|
||||
|
||||
|
||||
func _client_connection_timeout():
|
||||
if client_connected_to_server == false:
|
||||
print("Client has been timed out")
|
||||
|
||||
for child in PersistentNodes.get_children():
|
||||
if child.is_in_group("Net"):
|
||||
child.queue_free()
|
||||
reset_network_connection()
|
||||
|
||||
var connection_timeout_prompt = Global.instance_node(load("res://source/scenes/OVERLAY/elements/simple_prompt.tscn"), get_tree().current_scene)
|
||||
connection_timeout_prompt.set_text("Connection timed out")
|
||||
|
||||
|
||||
func _connection_failed():
|
||||
for child in PersistentNodes.get_children():
|
||||
if child.is_in_group("Net"):
|
||||
child.queue_free()
|
||||
reset_network_connection()
|
||||
|
||||
if Global.ui != null:
|
||||
var prompt = Global.instance_node(load("res://source/scenes/OVERLAY/elements/simple_prompt.tscn"), Global.ui)
|
||||
prompt.set_text("Connection failed")
|
||||
|
||||
|
||||
func puppet_networked_object_name_index_set(new_value):
|
||||
networked_object_name_index = new_value
|
||||
|
||||
|
||||
func networked_object_name_index_set(new_value):
|
||||
networked_object_name_index = new_value
|
||||
|
||||
if get_tree().is_network_server():
|
||||
rset("puppet_networked_object_name_index", networked_object_name_index)
|
||||
@ -0,0 +1,95 @@
|
||||
extends Control
|
||||
|
||||
var player = load("res://source/entities/player/player_node.tscn")
|
||||
|
||||
var min_players = 1
|
||||
var current_spawn_location_instance_number = 1
|
||||
var current_player_for_spawn_location_number = null
|
||||
|
||||
onready var multiplayer_config_ui = $multiplayer_configure
|
||||
onready var username_text_edit = $multiplayer_configure/username_text_edit
|
||||
onready var device_ip_address = $UI/device_ip_address
|
||||
onready var start_game = $UI/start_game
|
||||
|
||||
|
||||
func _ready():
|
||||
get_tree().connect("network_peer_connected", self, "_player_connected")
|
||||
get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
|
||||
get_tree().connect("connected_to_server", self, "_connected_to_server")
|
||||
|
||||
device_ip_address.text = Network.ip_address
|
||||
|
||||
if get_tree().network_peer != null:
|
||||
multiplayer_config_ui.hide()
|
||||
|
||||
current_spawn_location_instance_number = 1
|
||||
for player in PersistentNodes.get_children():
|
||||
if player.is_in_group("Player"):
|
||||
for spawn_location in $spawn_locations.get_children():
|
||||
if int(spawn_location.name) == current_spawn_location_instance_number and current_player_for_spawn_location_number != player:
|
||||
player.rpc("update_position", spawn_location.global_position)
|
||||
player.rpc("enable")
|
||||
current_spawn_location_instance_number += 1
|
||||
current_player_for_spawn_location_number = player
|
||||
else:
|
||||
start_game.hide()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if get_tree().network_peer != null:
|
||||
if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server():
|
||||
start_game.show()
|
||||
else:
|
||||
start_game.hide()
|
||||
|
||||
|
||||
func _player_connected(id) -> void:
|
||||
print("Player " + str(id) + " has connected")
|
||||
instance_player(id)
|
||||
|
||||
|
||||
func _player_disconnected(id) -> void:
|
||||
print("Player " + str(id) + " has disconnected")
|
||||
if PersistentNodes.has_node(str(id)):
|
||||
PersistentNodes.get_node(str(id)).username_text_instance.queue_free()
|
||||
PersistentNodes.get_node(str(id)).queue_free()
|
||||
|
||||
|
||||
func _on_create_server_pressed():
|
||||
if username_text_edit.text != "":
|
||||
Network.current_player_username = username_text_edit.text
|
||||
multiplayer_config_ui.hide()
|
||||
Network.create_server()
|
||||
instance_player(get_tree().get_network_unique_id())
|
||||
|
||||
|
||||
func _on_join_server_pressed():
|
||||
if username_text_edit.text != "":
|
||||
multiplayer_config_ui.hide()
|
||||
username_text_edit.hide()
|
||||
Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_browser.tscn"), self)
|
||||
|
||||
|
||||
func _connected_to_server() -> void:
|
||||
yield(get_tree().create_timer(0.1), "timeout")
|
||||
instance_player(get_tree().get_network_unique_id())
|
||||
|
||||
|
||||
func instance_player(id) -> void:
|
||||
var player_instance = Global.instance_node_at_location(player, PersistentNodes, get_node("spawn_locations/" + str(current_spawn_location_instance_number)).global_position)
|
||||
player_instance.name = str(id)
|
||||
player_instance.set_network_master(id)
|
||||
player_instance.username = username_text_edit.text
|
||||
current_spawn_location_instance_number += 1
|
||||
|
||||
|
||||
func _on_start_game_pressed():
|
||||
rpc("switch_to_game")
|
||||
|
||||
|
||||
sync func switch_to_game() -> void:
|
||||
for child in PersistentNodes.get_children():
|
||||
if child.is_in_group("Player"):
|
||||
child.update_shoot_mode(true)
|
||||
|
||||
get_tree().change_scene("res://source/levels/trinity_site/trinity_site_level.tscn")
|
||||
@ -0,0 +1,35 @@
|
||||
extends Node
|
||||
|
||||
export (float) var broadcast_interval = 1.0
|
||||
var server_info = {"name": "LAN Game"}
|
||||
|
||||
var socket_udp
|
||||
var broadcast_timer = Timer.new()
|
||||
var broadcast_port = Network.DEFAULT_PORT
|
||||
|
||||
|
||||
func _enter_tree():
|
||||
broadcast_timer.wait_time = broadcast_interval
|
||||
broadcast_timer.one_shot = false
|
||||
broadcast_timer.autostart = true
|
||||
|
||||
if get_tree().is_network_server():
|
||||
add_child(broadcast_timer)
|
||||
broadcast_timer.connect("timeout", self, "broadcast")
|
||||
|
||||
socket_udp = PacketPeerUDP.new()
|
||||
socket_udp.set_broadcast_enabled(true)
|
||||
socket_udp.set_dest_address('255.255.255.255', broadcast_port)
|
||||
|
||||
|
||||
func broadcast():
|
||||
server_info.name = Network.current_player_username
|
||||
var packet_message = to_json(server_info)
|
||||
var packet = packet_message.to_ascii()
|
||||
socket_udp.put_packet(packet)
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
broadcast_timer.stop()
|
||||
if socket_udp != null:
|
||||
socket_udp.close()
|
||||
@ -0,0 +1,48 @@
|
||||
extends Control
|
||||
|
||||
onready var server_listener = $server_listener
|
||||
onready var server_ip_text_edit = $background_panel/server_ip_text_edit
|
||||
onready var server_container = $background_panel/VBoxContainer
|
||||
onready var manual_setup_button = $background_panel/manual_setup
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
server_ip_text_edit.hide()
|
||||
|
||||
|
||||
func _on_server_listener_new_server(serverInfo):
|
||||
var server_node = Global.instance_node(load("res://source/scenes/GUI/server_handlers/server_display.tscn"), server_container)
|
||||
server_node.text = "%s - %s" % [serverInfo.ip, serverInfo.name]
|
||||
server_node.ip_address = str(serverInfo.ip)
|
||||
|
||||
|
||||
func _on_server_listener_remove_server(serverIp):
|
||||
for serverNode in server_container.get_children():
|
||||
if serverNode.is_in_group("Server_display"):
|
||||
if serverNode.ip_address == serverIp:
|
||||
serverNode.queue_free()
|
||||
break
|
||||
|
||||
|
||||
func _on_manual_setup_pressed():
|
||||
if manual_setup_button.text != "Exit setup":
|
||||
server_ip_text_edit.show()
|
||||
manual_setup_button.text = "Exit setup"
|
||||
server_container.hide()
|
||||
server_ip_text_edit.call_deferred("grab_focus")
|
||||
else:
|
||||
server_ip_text_edit.text = ""
|
||||
server_ip_text_edit.hide()
|
||||
manual_setup_button.text = "Manual setup"
|
||||
server_container.show()
|
||||
|
||||
|
||||
func _on_join_server_pressed():
|
||||
if server_ip_text_edit.text != "":
|
||||
Network.ip_address = server_ip_text_edit.text
|
||||
hide()
|
||||
Network.join_server()
|
||||
|
||||
|
||||
func _on_go_back_pressed():
|
||||
get_tree().reload_current_scene()
|
||||
@ -0,0 +1,9 @@
|
||||
extends Label
|
||||
|
||||
var ip_address = ""
|
||||
|
||||
|
||||
func _on_join_button_pressed():
|
||||
Network.ip_address = ip_address
|
||||
Network.join_server()
|
||||
get_parent().get_parent().queue_free()
|
||||
@ -0,0 +1,66 @@
|
||||
extends Node
|
||||
|
||||
|
||||
signal new_server
|
||||
signal remove_server
|
||||
|
||||
var cleanup_timer = Timer.new()
|
||||
var socket_udp = PacketPeerUDP.new()
|
||||
var listen_port = Network.DEFAULT_PORT
|
||||
var known_servers = {}
|
||||
|
||||
export (int) var server_cleanup_threshold = 3
|
||||
|
||||
|
||||
func _init():
|
||||
cleanup_timer.wait_time = server_cleanup_threshold
|
||||
cleanup_timer.one_shot = false
|
||||
cleanup_timer.autostart = true
|
||||
cleanup_timer.connect("timeout", self, 'cleanup')
|
||||
add_child(cleanup_timer)
|
||||
|
||||
|
||||
func _ready():
|
||||
known_servers.clear()
|
||||
|
||||
if socket_udp.listen(listen_port) != OK:
|
||||
print("GameServer LAN service: Error listening port: " + str(listen_port))
|
||||
else:
|
||||
print("GameServer LAN service: Llistening port: " + str(listen_port))
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if socket_udp.get_available_packet_count() > 0:
|
||||
var server_ip = socket_udp.get_packet_ip()
|
||||
var server_port = socket_udp.get_packet_port()
|
||||
var array_bytes = socket_udp.get_packet()
|
||||
|
||||
if server_ip != '' and server_port > 0:
|
||||
if not known_servers.has(server_ip):
|
||||
var serverMessage = array_bytes.get_string_from_ascii()
|
||||
var gameInfo = parse_json(serverMessage)
|
||||
gameInfo.ip = server_ip
|
||||
gameInfo.lastSeen = OS.get_unix_time()
|
||||
known_servers[server_ip] = gameInfo
|
||||
emit_signal("new_server", gameInfo)
|
||||
print(socket_udp.get_packet_ip())
|
||||
else:
|
||||
var gameInfo = known_servers[server_ip]
|
||||
gameInfo.lastSeen = OS.get_unix_time()
|
||||
|
||||
|
||||
func cleanup():
|
||||
var now = OS.get_unix_time()
|
||||
for server_ip in known_servers:
|
||||
var serverInfo = known_servers[server_ip]
|
||||
if (now - serverInfo.lastSeen) > server_cleanup_threshold:
|
||||
known_servers.erase(server_ip)
|
||||
print("Remove old server: %s" % server_ip)
|
||||
emit_signal("remove_server", server_ip)
|
||||
|
||||
|
||||
func _exit_tree():
|
||||
socket_udp.close()
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
extends Node2D
|
||||
|
||||
var current_spawn_location_instance_number = 1
|
||||
var current_player_location_instance_number = null
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
|
||||
|
||||
if get_tree().is_network_server():
|
||||
setup_player_positions()
|
||||
|
||||
|
||||
func setup_player_positions() -> void:
|
||||
for player in PersistentNodes.get_children():
|
||||
if player.is_in_group("Player"):
|
||||
for spawn_location in $spawn_locations.get_children():
|
||||
if int(spawn_location.name) == current_spawn_location_instance_number and current_player_location_instance_number != player:
|
||||
player.rpc("update_position", spawn_location.global_position)
|
||||
current_spawn_location_instance_number += 1
|
||||
current_player_location_instance_number = player
|
||||
|
||||
|
||||
func _player_disconnected(id) -> void:
|
||||
if PersistentNodes.has_node(str(id)):
|
||||
PersistentNodes.get_node(str(id)).username_text_instance.queue_free()
|
||||
PersistentNodes.get_node(str(id)).queue_free()
|
||||
7
Game/source/assets/scripts/trinity_site_body_handler.gd
Normal file
@ -0,0 +1,7 @@
|
||||
extends StaticBody2D
|
||||
|
||||
func _process(delta):
|
||||
if $"trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 01/trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 025".rotation_degrees < -58:
|
||||
$"trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 01/trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 025".rotation_degrees = 0
|
||||
$"trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 01/trinity_site_level_layout-level_design_z-index_-2-version_ct_f_hd_3840_2160 – 025".rotation_degrees += -0.01
|
||||
pass
|
||||
9
Game/source/assets/scripts/ui_element_handlers/UI.gd
Normal file
@ -0,0 +1,9 @@
|
||||
extends CanvasLayer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Global.ui = self
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
Global.ui = null
|
||||
19
Game/source/assets/scripts/ui_element_handlers/game_UI.gd
Normal file
@ -0,0 +1,19 @@
|
||||
extends CanvasLayer
|
||||
|
||||
# if 0, then singleplayer will work, if 1, then multiplayer only
|
||||
var winner_amount = 1
|
||||
|
||||
onready var win_timer = $Control/winner/win_timer
|
||||
onready var winner = $Control/winner
|
||||
|
||||
func _ready() -> void:
|
||||
winner.hide()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Global.alive_players.size() <= winner_amount and get_tree().has_network_peer():
|
||||
if Global.alive_players[0].name == str(get_tree().get_network_unique_id()):
|
||||
winner.show()
|
||||
|
||||
if win_timer.time_left <= 0:
|
||||
win_timer.start()
|
||||
@ -0,0 +1,9 @@
|
||||
extends Control
|
||||
|
||||
|
||||
func _on_ok_pressed():
|
||||
get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn")
|
||||
|
||||
|
||||
func set_text(text) -> void:
|
||||
$Label.text = text
|
||||
@ -0,0 +1,15 @@
|
||||
extends Node2D
|
||||
|
||||
var player_following = null
|
||||
var text = "" setget text_set
|
||||
onready var label = $Label
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if player_following != null:
|
||||
global_position = player_following.global_position
|
||||
|
||||
|
||||
func text_set(new_text) -> void:
|
||||
text = new_text
|
||||
label.text = text
|
||||
9
Game/source/assets/scripts/ui_element_handlers/winner.gd
Normal file
@ -0,0 +1,9 @@
|
||||
extends Label
|
||||
|
||||
sync func return_to_lobby():
|
||||
get_tree().change_scene("res://source/scenes/GUI/main_menu.tscn")
|
||||
|
||||
|
||||
#func _on_win_timer_timeout():
|
||||
# if get_tree().is_network_server():
|
||||
# rpc("return_to_lobby")
|
||||
BIN
Game/source/assets/sprites/bullet/bullet.png
Normal file
|
After Width: | Height: | Size: 659 B |
34
Game/source/assets/sprites/bullet/bullet.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/bullet.png-18282ec6da1a4943b48ba52afa2f37b8.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/bullet/bullet.png"
|
||||
dest_files=[ "res://.import/bullet.png-18282ec6da1a4943b48ba52afa2f37b8.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 1.png-b558478550e6d1936c72122630064deb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 1.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 1.png-b558478550e6d1936c72122630064deb.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 10.png-ec522b709593936611c719cfe2a608d4.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 10.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 10.png-ec522b709593936611c719cfe2a608d4.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 11.png-c9bbf2ef2f59da399e890ce817f55c11.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 11.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 11.png-c9bbf2ef2f59da399e890ce817f55c11.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 2.png-94999a82da3232e7d92c3f9ee67be815.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 2.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 2.png-94999a82da3232e7d92c3f9ee67be815.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 3.png-8aa6c0a56fbb388157d4fd8c060050bb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 3.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 3.png-8aa6c0a56fbb388157d4fd8c060050bb.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 4.png-ca524bffa1dad3792710ef47a48de61e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 4.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 4.png-ca524bffa1dad3792710ef47a48de61e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 39 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 5.png-085ea2af6c26ff900dcf762cee999823.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 5.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 5.png-085ea2af6c26ff900dcf762cee999823.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 39 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 6.png-5129eec9d861ea14e3c82822abab25c9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 6.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 6.png-5129eec9d861ea14e3c82822abab25c9.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 39 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 7.png-72e5dcffd49d5f69c8e378d0b877938a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 7.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 7.png-72e5dcffd49d5f69c8e378d0b877938a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 8.png-55092da9ec8ce8e625504044d2085f5a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 8.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 8.png-55092da9ec8ce8e625504044d2085f5a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation – 9.png-108d2d665d11cab4daa00a5c845b4c12.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation – 9.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation – 9.png-108d2d665d11cab4daa00a5c845b4c12.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite_idle_animation.png-39699617848bc9a4a118c7fe272d567e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/animation/idle/player_main_body_default_sprite_idle_animation.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite_idle_animation.png-39699617848bc9a4a118c7fe272d567e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/player_main_body_default_sprite.png-96f9ed57cf6d9efdccb3ecbc4b8cd6ff.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/character/player/player_main_body_default_sprite.png"
|
||||
dest_files=[ "res://.import/player_main_body_default_sprite.png-96f9ed57cf6d9efdccb3ecbc4b8cd6ff.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 9.png-f143775af7f41e51163398ab3a39c54b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 9.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 9.png-f143775af7f41e51163398ab3a39c54b.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 1.png-ae75072339dee46f89aad9d24750ff0e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 1.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 1.png-ae75072339dee46f89aad9d24750ff0e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 10.png-f11737325a0347480ef5c4e5fa653dea.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 10.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 10.png-f11737325a0347480ef5c4e5fa653dea.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 11.png-1d6afa519dbdf0e0278d774217d3d8c9.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 11.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 11.png-1d6afa519dbdf0e0278d774217d3d8c9.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 64 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 12.png-7f5b5ba27d27dbd1e1c9581d7898285e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 12.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 12.png-7f5b5ba27d27dbd1e1c9581d7898285e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 2.png-71ccce3b8074908ceef982bcab5f2b0d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 2.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 2.png-71ccce3b8074908ceef982bcab5f2b0d.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 3.png-c1755d6b86ab3eecc534f3de543e2974.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 3.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 3.png-c1755d6b86ab3eecc534f3de543e2974.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 4.png-2441b149f443f1d954d3857f7c9592d0.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 4.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 4.png-2441b149f443f1d954d3857f7c9592d0.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 61 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 5.png-d89139dcc7fb7b86f37c9de0bd8c21c3.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 5.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 5.png-d89139dcc7fb7b86f37c9de0bd8c21c3.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 61 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 6.png-7505edfe792d8fd4e05ac43986947084.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 6.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 6.png-7505edfe792d8fd4e05ac43986947084.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 61 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 7.png-38fb0d01ead2df4306cb4ea17f0595ca.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 7.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 7.png-38fb0d01ead2df4306cb4ea17f0595ca.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 58 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an – 8.png-71f75f1a986f79c542f48697b55e18a4.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an – 8.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an – 8.png-71f75f1a986f79c542f48697b55e18a4.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_an.png-74b9fc1ec4e8ec4cbb4f4d1243b8624e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/down_idle/grass_type-0_frame_an.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_an.png-74b9fc1ec4e8ec4cbb4f4d1243b8624e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 175 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 1.png-16cb2b50cfb9c33db6866c4b4fff7fe6.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 1.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 1.png-16cb2b50cfb9c33db6866c4b4fff7fe6.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 169 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 10.png-26a8f7ff8df5556899f92bd5b66a6004.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 10.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 10.png-26a8f7ff8df5556899f92bd5b66a6004.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 175 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 11.png-20867cd282f4c8303cb3725a280b6b65.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 11.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 11.png-20867cd282f4c8303cb3725a280b6b65.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 177 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 12.png-69410ad9e754ca82b0238b568782ba5d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 12.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 12.png-69410ad9e754ca82b0238b568782ba5d.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 169 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 2.png-0b5d02c1c03d087cb83d9122c077b631.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 2.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 2.png-0b5d02c1c03d087cb83d9122c077b631.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 166 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 3.png-21153c826f3066b9e185e79f4d1d152c.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 3.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 3.png-21153c826f3066b9e185e79f4d1d152c.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 165 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 4.png-f4d18147fc6fdea75fad04d859bbce2a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 4.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 4.png-f4d18147fc6fdea75fad04d859bbce2a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 168 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 5.png-c826bd62187b352eea6d8e8d788a1798.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 5.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 5.png-c826bd62187b352eea6d8e8d788a1798.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 168 KiB |
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass_type-0_frame_na – 6.png-2f0f43464d594df93a6b32d0cd89b209.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://source/assets/sprites/grass/idle/grass_type-0_frame_na – 6.png"
|
||||
dest_files=[ "res://.import/grass_type-0_frame_na – 6.png-2f0f43464d594df93a6b32d0cd89b209.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
After Width: | Height: | Size: 168 KiB |