This commit is contained in:
Moonshrike 2021-11-05 19:24:22 +02:00
commit e5ff616a42
175 changed files with 4272 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -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

Binary file not shown.

7
Game/default_env.tres Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

34
Game/icon.png.import Normal file
View 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
View 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"

View 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

View File

@ -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

View 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")

View File

@ -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

View File

@ -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

View File

@ -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

View 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

View File

@ -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)

View File

@ -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")

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View 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

View File

@ -0,0 +1,9 @@
extends CanvasLayer
func _ready() -> void:
Global.ui = self
func _exit_tree() -> void:
Global.ui = null

View 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()

View File

@ -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

View File

@ -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

View 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")

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

View 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Some files were not shown because too many files have changed in this diff Show More