Checked all FIXMEs and TODOs (#353)
Co-authored-by: Dennis Ploeger <develop@dieploegers.de> Co-authored-by: dploeger <dploeger@users.noreply.github.com>
This commit is contained in:
@@ -31,16 +31,16 @@ var walk_context: ESCWalkContext = null
|
||||
# Wether the character was moved at all
|
||||
var moved: bool
|
||||
|
||||
# Angle degrees to the last position (TODO is that correct?)
|
||||
# Angle degrees from the last position to the next
|
||||
var last_deg: int
|
||||
|
||||
# Direction of the last position (TODO is that correct?)
|
||||
# Player Direction used to reflect the movement to the new position
|
||||
var last_dir: int
|
||||
|
||||
# Scale of the last position (TODO is that correct?)
|
||||
# The last scaling applied to the parent
|
||||
var last_scale: Vector2
|
||||
|
||||
# TODO Isn't this actually the flip state of the current animation?
|
||||
# Wether the current direction animation is flipped
|
||||
var pose_scale: int
|
||||
|
||||
|
||||
@@ -50,9 +50,6 @@ var _orig_speed: float = 0.0
|
||||
# Shortcut variable that references the node's parent
|
||||
onready var parent = get_parent()
|
||||
|
||||
# If character misses an animation, bypass it and proceed.
|
||||
onready var bypass_missing_animation = false
|
||||
|
||||
|
||||
# Currenly running task
|
||||
onready var task = MovableTask.NONE
|
||||
@@ -89,7 +86,6 @@ func _process(delta: float) -> void:
|
||||
dist *= parent.terrain.player_doubleclick_speed_multiplier
|
||||
var dir = (next - pos).normalized()
|
||||
|
||||
# TODO comment what this is all about
|
||||
dir = dir * (dir.x * dir.x + dir.y * dir.y * parent.v_speed_damp)
|
||||
|
||||
var new_pos
|
||||
@@ -115,33 +111,26 @@ func _process(delta: float) -> void:
|
||||
var current_animation = ""
|
||||
if parent.animation_sprite != null:
|
||||
current_animation = parent.animation_sprite.animation
|
||||
# elif animation != null:
|
||||
# current_animation = animation.current_animation
|
||||
|
||||
# FIXME This is obviously wrong as bypass_missing_animation is
|
||||
# always false
|
||||
bypass_missing_animation = false
|
||||
if !bypass_missing_animation:
|
||||
var animation_to_play = \
|
||||
parent.animations.directions[last_dir][0]
|
||||
if current_animation != animation_to_play:
|
||||
if parent.animation_sprite.frames.has_animation(
|
||||
animation_to_play
|
||||
):
|
||||
parent.animation_sprite.play(animation_to_play)
|
||||
else:
|
||||
bypass_missing_animation = true
|
||||
current_animation = animation_to_play
|
||||
escoria.logger.report_warnings(
|
||||
"movable.gd:_process()",
|
||||
[
|
||||
"Character %s has no animation %s "
|
||||
% [parent.global_id, animation_to_play],
|
||||
"Bypassing missing animation and " +
|
||||
"proceed movement."
|
||||
],
|
||||
true
|
||||
)
|
||||
var animation_to_play = \
|
||||
parent.animations.directions[last_dir][0]
|
||||
if current_animation != animation_to_play:
|
||||
if parent.animation_sprite.frames.has_animation(
|
||||
animation_to_play
|
||||
):
|
||||
parent.animation_sprite.play(animation_to_play)
|
||||
else:
|
||||
current_animation = animation_to_play
|
||||
escoria.logger.report_warnings(
|
||||
"movable.gd:_process()",
|
||||
[
|
||||
"Character %s has no animation %s "
|
||||
% [parent.global_id, animation_to_play],
|
||||
"Bypassing missing animation and " +
|
||||
"proceed movement."
|
||||
],
|
||||
true
|
||||
)
|
||||
|
||||
pose_scale = parent.animations.directions[last_dir][1]
|
||||
|
||||
@@ -152,53 +141,43 @@ func _process(delta: float) -> void:
|
||||
|
||||
|
||||
# Teleports this item to the target position.
|
||||
# TODO angle is only used for logging and has no further use, so it probably
|
||||
# can be removed
|
||||
#
|
||||
# #### Parameters
|
||||
#
|
||||
# - target: Position2d or ESCItem to teleport to
|
||||
func teleport(target: Node, angle: Object = null) -> void:
|
||||
if target is Position2D:
|
||||
func teleport(target: Node) -> void:
|
||||
if target.has_method("get_interact_position"):
|
||||
parent.position = target.get_interact_position()
|
||||
escoria.logger.info(
|
||||
"Object %s teleported at position %s with angle" %
|
||||
[parent.global_id, str(target.position)],
|
||||
[angle]
|
||||
"Object %s is teleported at position %s" % [
|
||||
target.name,
|
||||
parent.position
|
||||
]
|
||||
)
|
||||
elif "position" in target:
|
||||
escoria.logger.info(
|
||||
"Object %s teleported at position %s" %
|
||||
[parent.global_id, str(target.position)]
|
||||
)
|
||||
parent.position = target.position
|
||||
elif typeof(target) == TYPE_OBJECT:
|
||||
# FIXME this is better written as target is ESCItem if that's
|
||||
# the only case here
|
||||
# if target.get("interact_positions") != null:
|
||||
# parent.position = target.interact_positions.default
|
||||
# else:
|
||||
# parent.position = target.position
|
||||
parent.position = target.get_interact_position()
|
||||
escoria.logger.info("Object " + target.name + " teleported at position "
|
||||
+ str(parent.position) + " with angle ", str(angle))
|
||||
else:
|
||||
escoria.logger.report_errors("escitem.gd:teleport()",
|
||||
["Target to teleport to is null or unusable (" + str(target) + ")"])
|
||||
escoria.logger.report_errors(
|
||||
"ESCMovable#teleport()",
|
||||
["Couldn't understand how to manage teleport Target %s" % target]
|
||||
)
|
||||
|
||||
|
||||
# Teleports this item to the target position.
|
||||
# TODO angle is only used for logging and has no further use, so it probably
|
||||
# can be removed
|
||||
#
|
||||
# #### Parameters
|
||||
#
|
||||
# - target: Vector2 target position to teleport to
|
||||
func teleport_to(target: Vector2, angle: Object = null) -> void:
|
||||
if typeof(target) == TYPE_VECTOR2 :
|
||||
escoria.logger.info(
|
||||
"Object %s teleported at position %s with angle" %
|
||||
[parent.global_id, str(target)],
|
||||
[angle]
|
||||
)
|
||||
parent.position = target
|
||||
else:
|
||||
escoria.logger.report_errors("escitem.gd:teleport_to()",
|
||||
["Target to teleport to is null or unusable (" + str(target) + ")"])
|
||||
func teleport_to(target: Vector2) -> void:
|
||||
escoria.logger.info(
|
||||
"Object %s teleported to position %s" %
|
||||
[parent.global_id, str(target)]
|
||||
)
|
||||
parent.position = target
|
||||
|
||||
|
||||
# Walk to a given position
|
||||
@@ -236,14 +215,6 @@ func walk_to(pos: Vector2, p_walk_context: ESCWalkContext = null) -> void:
|
||||
set_process(true)
|
||||
|
||||
|
||||
# FIXME this function doesn't seem to be used anywhere
|
||||
func walk(target_pos, p_speed, context = null) -> void:
|
||||
if p_speed:
|
||||
_orig_speed = parent.speed
|
||||
parent.speed = p_speed
|
||||
walk_to(target_pos, context)
|
||||
|
||||
|
||||
# We have finished walking. Set the idle pose and complete
|
||||
#
|
||||
# #### Parameters
|
||||
@@ -331,7 +302,6 @@ func update_terrain(on_event_finished_name = null) -> void:
|
||||
|
||||
# Do not flip the entire character, because that would conflict
|
||||
# with shadows that expect to be siblings of $texture
|
||||
# TODO Make the character sprite not rely on the node name
|
||||
if pose_scale == -1 and parent.get_node("sprite").scale.x > 0:
|
||||
parent.get_node("sprite").scale.x *= pose_scale
|
||||
parent.collision.scale.x *= pose_scale
|
||||
@@ -340,18 +310,6 @@ func update_terrain(on_event_finished_name = null) -> void:
|
||||
parent.collision.scale.x *= -1
|
||||
|
||||
|
||||
# Get the player direction index based on rotation angles
|
||||
#
|
||||
# FIXME: This function doesn't seem to be used anymore
|
||||
# #### Parameters
|
||||
#
|
||||
# - angle: The rotation angle
|
||||
# - animations: The list of character animations
|
||||
func _get_dir(angle: float, animations) -> int:
|
||||
var deg = escoria.utils.get_deg_from_rad(angle)
|
||||
return _get_dir_deg(deg, animations)
|
||||
|
||||
|
||||
# Get the player direction index based on degrees
|
||||
#
|
||||
# #### Parameters
|
||||
@@ -385,7 +343,6 @@ func _get_dir_deg(deg: int, animations: Script) -> int:
|
||||
|
||||
# Returns true if given angle is inside the interval given by a starting_angle
|
||||
# and the size.
|
||||
# TODO Refactor to make this stuff understandable :D
|
||||
#
|
||||
# #### Parameters
|
||||
#
|
||||
@@ -416,20 +373,10 @@ func is_angle_in_interval(angle: float, interval: Array) -> bool:
|
||||
|
||||
# Sets character's angle and plays according animation.
|
||||
#
|
||||
# TODO: depending on current angle and current angle, the character may
|
||||
# directly turn around with no "progression". We may enhance this by
|
||||
# calculating successive directions to turn the character to, so that he
|
||||
# doesn't switch to opposite direction too fast.
|
||||
# For example, if character looks WEST and set_angle(EAST) is called, we may
|
||||
# want the character to first turn SOUTHWEST, then SOUTH, then SOUTHEAST and
|
||||
# finally EAST, all more or less fast.
|
||||
# Whatever the implementation, this should be activated using "parameter
|
||||
# "immediate" set to false.
|
||||
#
|
||||
# #### Parameters
|
||||
#
|
||||
# - deg int angle to set the character
|
||||
# - immediate bool (currently unused, see TODO below)
|
||||
# - immediate
|
||||
# If true, direction is switched immediately. Else, successive animations are
|
||||
# used so that the character turns to target angle.
|
||||
func set_angle(deg: int, immediate = true) -> void:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# `teleport object1 object2`
|
||||
#
|
||||
# Sets the position of object1 to the position of object2.
|
||||
# FIXME re-add the angle parameter here
|
||||
#
|
||||
# @ESC
|
||||
extends ESCBaseCommand
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# `teleport_pos object1 x y`
|
||||
#
|
||||
# Sets the position of object1 to the position (x,y).
|
||||
# FIXME re-add the angle parameter here
|
||||
#
|
||||
# @ESC
|
||||
extends ESCBaseCommand
|
||||
|
||||
@@ -18,7 +18,6 @@ var scheduled_events: Array = []
|
||||
func _process(delta: float) -> void:
|
||||
if events_queue.size() > 0:
|
||||
var running_event = events_queue.pop_front()
|
||||
# TODO: Handle event flags
|
||||
if not running_event.is_connected(
|
||||
"finished", self, "_on_event_finished"
|
||||
):
|
||||
|
||||
@@ -15,7 +15,6 @@ const END_REGEX = \
|
||||
|
||||
|
||||
# Dialog type
|
||||
# FIXME, currently unused, but needs reimplementation
|
||||
var type: String = ""
|
||||
|
||||
# Avatar used in the dialog
|
||||
|
||||
@@ -78,7 +78,6 @@ func _ready():
|
||||
|
||||
|
||||
# Manage inputs reaching the Area2D and emit the events to the input manager
|
||||
# TODO: Don't change private variables here, use an event for BUTTON_WHEEL
|
||||
#
|
||||
# #### Parameters
|
||||
# - _viewport: (not used)
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
# A playable character
|
||||
# TODO
|
||||
# - Currently the sprite node needs to be named "sprite". This is bad.
|
||||
# - Animation management doesn't allow using AnimationPlayer yet. Need to find
|
||||
# the best solution to manage both AnimatedSprite and AnimationPlayer.
|
||||
tool
|
||||
extends ESCItem
|
||||
class_name ESCPlayer
|
||||
|
||||
@@ -185,7 +185,6 @@ func save_settings():
|
||||
settings_res.voice_volume = escoria.settings.voice_volume
|
||||
settings_res.fullscreen = escoria.settings.fullscreen
|
||||
settings_res.skip_dialog = escoria.settings.skip_dialog
|
||||
settings_res.rate_shown = escoria.settings.rate_shown
|
||||
|
||||
var directory: Directory = Directory.new()
|
||||
if not directory.dir_exists(settings_folder):
|
||||
|
||||
@@ -35,6 +35,3 @@ export var fullscreen: bool = false
|
||||
|
||||
# True if skipping dialogs is allowed
|
||||
export var skip_dialog: bool = true
|
||||
|
||||
# FIXME: to be defined (achievements?)
|
||||
export var rate_shown: bool = false
|
||||
|
||||
@@ -244,7 +244,6 @@ func do(action: String, params: Array = []) -> void:
|
||||
|
||||
|
||||
# Event handler when an object/item was clicked
|
||||
# FIXME this method is way to complex
|
||||
#
|
||||
# #### Parameters
|
||||
#
|
||||
@@ -375,8 +374,6 @@ func _on_settings_loaded(p_settings: ESCSaveSettings) -> void:
|
||||
else:
|
||||
settings = ESCSaveSettings.new()
|
||||
|
||||
# TODO Apply globally
|
||||
# AudioServer.set_fx_global_volume_scale(settings.sfx_volume)
|
||||
AudioServer.set_bus_volume_db(
|
||||
AudioServer.get_bus_index("Master"),
|
||||
linear2db(settings.master_volume)
|
||||
|
||||
@@ -16,8 +16,6 @@ var current_scene: Node
|
||||
# The Escoria context currently in wait state
|
||||
var wait_level
|
||||
|
||||
# FIXME Document this variable
|
||||
var screen_ofs = Vector2(0, 0)
|
||||
|
||||
# Reference to the ESCBackgroundMusic node
|
||||
onready var bg_music = $bg_music
|
||||
@@ -111,7 +109,7 @@ func set_camera_limits(camera_limit_id: int = 0) -> void:
|
||||
scene_camera_limits.size.x,
|
||||
scene_camera_limits.position.y,
|
||||
scene_camera_limits.position.y + \
|
||||
scene_camera_limits.size.y + screen_ofs.y * 2
|
||||
scene_camera_limits.size.y
|
||||
)
|
||||
escoria.logger.info(
|
||||
"Setting camera limits from parameter ",
|
||||
@@ -119,7 +117,6 @@ func set_camera_limits(camera_limit_id: int = 0) -> void:
|
||||
)
|
||||
|
||||
current_scene.game.get_node("camera").set_limits(limits)
|
||||
current_scene.game.get_node("camera").set_offset(screen_ofs * 2)
|
||||
|
||||
|
||||
func save_game(p_savegame_res: Resource) -> void:
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
[ext_resource path="res://game/ui/commons/dialogs/dialog_box_inset.tscn" type="PackedScene" id=4]
|
||||
|
||||
[node name="dialog_player" type="ResourcePreloader"]
|
||||
resources = [ PoolStringArray( "dialog_box_inset", "dialog_label", "text_dialog_choice" ), [ ExtResource( 4 ), ExtResource( 1 ), ExtResource( 2 ) ] ]
|
||||
resources = [ PoolStringArray( "default", "dialog_box_inset", "dialog_label", "text_dialog_choice" ), [ ExtResource( 2 ), ExtResource( 4 ), ExtResource( 1 ), ExtResource( 2 ) ] ]
|
||||
script = ExtResource( 3 )
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# A transition player for scene changes
|
||||
# FIXME Add configuration to select a specific mask
|
||||
extends ColorRect
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@ func manage_input(_viewport, event, _shape_idx) -> void
|
||||
```
|
||||
|
||||
Manage inputs reaching the Area2D and emit the events to the input manager
|
||||
TODO: Don't change private variables here, use an event for BUTTON_WHEEL
|
||||
|
||||
#### Parameters
|
||||
- _viewport: (not used)
|
||||
|
||||
@@ -35,7 +35,6 @@ var type: String = ""
|
||||
```
|
||||
|
||||
Dialog type
|
||||
FIXME, currently unused, but needs reimplementation
|
||||
|
||||
### avatar
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ Wether the character was moved at all
|
||||
var last_deg: int
|
||||
```
|
||||
|
||||
Angle degrees to the last position (TODO is that correct?)
|
||||
Angle degrees from the last position to the next
|
||||
|
||||
### last\_dir
|
||||
|
||||
@@ -78,7 +78,7 @@ Angle degrees to the last position (TODO is that correct?)
|
||||
var last_dir: int
|
||||
```
|
||||
|
||||
Direction of the last position (TODO is that correct?)
|
||||
Player Direction used to reflect the movement to the new position
|
||||
|
||||
### last\_scale
|
||||
|
||||
@@ -86,7 +86,7 @@ Direction of the last position (TODO is that correct?)
|
||||
var last_scale: Vector2
|
||||
```
|
||||
|
||||
Scale of the last position (TODO is that correct?)
|
||||
The last scaling applied to the parent
|
||||
|
||||
### pose\_scale
|
||||
|
||||
@@ -94,7 +94,7 @@ Scale of the last position (TODO is that correct?)
|
||||
var pose_scale: int
|
||||
```
|
||||
|
||||
TODO Isn't this actually the flip state of the current animation?
|
||||
Wether the current direction animation is flipped
|
||||
|
||||
### parent
|
||||
|
||||
@@ -104,14 +104,6 @@ var parent
|
||||
|
||||
Shortcut variable that references the node's parent
|
||||
|
||||
### bypass\_missing\_animation
|
||||
|
||||
```gdscript
|
||||
var bypass_missing_animation
|
||||
```
|
||||
|
||||
If character misses an animation, bypass it and proceed.
|
||||
|
||||
### task
|
||||
|
||||
```gdscript
|
||||
@@ -125,12 +117,10 @@ Currenly running task
|
||||
### teleport
|
||||
|
||||
```gdscript
|
||||
func teleport(target: Node, angle: Object = null) -> void
|
||||
func teleport(target: Node) -> void
|
||||
```
|
||||
|
||||
Teleports this item to the target position.
|
||||
TODO angle is only used for logging and has no further use, so it probably
|
||||
can be removed
|
||||
|
||||
#### Parameters
|
||||
|
||||
@@ -139,12 +129,10 @@ can be removed
|
||||
### teleport\_to
|
||||
|
||||
```gdscript
|
||||
func teleport_to(target: Vector2, angle: Object = null) -> void
|
||||
func teleport_to(target: Vector2) -> void
|
||||
```
|
||||
|
||||
Teleports this item to the target position.
|
||||
TODO angle is only used for logging and has no further use, so it probably
|
||||
can be removed
|
||||
|
||||
#### Parameters
|
||||
|
||||
@@ -163,14 +151,6 @@ Walk to a given position
|
||||
- pos: Position to walk to
|
||||
- p_walk_context: Walk context to use
|
||||
|
||||
### walk
|
||||
|
||||
```gdscript
|
||||
func walk(target_pos, p_speed, context = null) -> void
|
||||
```
|
||||
|
||||
FIXME this function doesn't seem to be used anywhere
|
||||
|
||||
### walk\_stop
|
||||
|
||||
```gdscript
|
||||
@@ -203,7 +183,6 @@ func is_angle_in_interval(angle: float, interval: Array) -> bool
|
||||
|
||||
Returns true if given angle is inside the interval given by a starting_angle
|
||||
and the size.
|
||||
TODO Refactor to make this stuff understandable :D
|
||||
|
||||
#### Parameters
|
||||
|
||||
@@ -220,19 +199,9 @@ func set_angle(deg: int, immediate = true) -> void
|
||||
|
||||
Sets character's angle and plays according animation.
|
||||
|
||||
TODO: depending on current angle and current angle, the character may
|
||||
directly turn around with no "progression". We may enhance this by
|
||||
calculating successive directions to turn the character to, so that he
|
||||
doesn't switch to opposite direction too fast.
|
||||
For example, if character looks WEST and set_angle(EAST) is called, we may
|
||||
want the character to first turn SOUTHWEST, then SOUTH, then SOUTHEAST and
|
||||
finally EAST, all more or less fast.
|
||||
Whatever the implementation, this should be activated using "parameter
|
||||
"immediate" set to false.
|
||||
|
||||
#### Parameters
|
||||
|
||||
- deg int angle to set the character
|
||||
- immediate bool (currently unused, see TODO below)
|
||||
- immediate
|
||||
If true, direction is switched immediately. Else, successive animations are
|
||||
used so that the character turns to target angle.
|
||||
@@ -7,10 +7,6 @@
|
||||
## Description
|
||||
|
||||
A playable character
|
||||
TODO
|
||||
- Currently the sprite node needs to be named "sprite". This is bad.
|
||||
- Animation management doesn't allow using AnimationPlayer yet. Need to find
|
||||
the best solution to manage both AnimatedSprite and AnimationPlayer.
|
||||
|
||||
## Property Descriptions
|
||||
|
||||
|
||||
@@ -88,12 +88,4 @@ export var fullscreen: bool = false
|
||||
export var skip_dialog: bool = true
|
||||
```
|
||||
|
||||
True if skipping dialogs is allowed
|
||||
|
||||
### rate\_shown
|
||||
|
||||
```gdscript
|
||||
export var rate_shown: bool = false
|
||||
```
|
||||
|
||||
FIXME: to be defined (achievements?)
|
||||
True if skipping dialogs is allowed
|
||||
@@ -9,7 +9,6 @@
|
||||
`teleport object1 object2`
|
||||
|
||||
Sets the position of object1 to the position of object2.
|
||||
FIXME re-add the angle parameter here
|
||||
|
||||
@ESC
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
`teleport_pos object1 x y`
|
||||
|
||||
Sets the position of object1 to the position (x,y).
|
||||
FIXME re-add the angle parameter here
|
||||
|
||||
@ESC
|
||||
|
||||
|
||||
@@ -34,14 +34,6 @@ var wait_level
|
||||
|
||||
The Escoria context currently in wait state
|
||||
|
||||
### screen\_ofs
|
||||
|
||||
```gdscript
|
||||
var screen_ofs
|
||||
```
|
||||
|
||||
FIXME Document this variable
|
||||
|
||||
### bg\_music
|
||||
|
||||
```gdscript
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
## Description
|
||||
|
||||
A transition player for scene changes
|
||||
FIXME Add configuration to select a specific mask
|
||||
|
||||
## Property Descriptions
|
||||
|
||||
|
||||
@@ -331,11 +331,9 @@ Stops the event's execution.
|
||||
#### <a name="TeleportCommand.md"></a>`teleport object1 object2` [API-Doc](api/TeleportCommand.md)
|
||||
|
||||
Sets the position of object1 to the position of object2.
|
||||
FIXME re-add the angle parameter here
|
||||
#### <a name="TeleportPosCommand.md"></a>`teleport_pos object1 x y` [API-Doc](api/TeleportPosCommand.md)
|
||||
|
||||
Sets the position of object1 to the position (x,y).
|
||||
FIXME re-add the angle parameter here
|
||||
#### <a name="TurnToCommand.md"></a>`turn_to object degrees [immediate]` [API-Doc](api/TurnToCommand.md)
|
||||
|
||||
**This command is currently not fully implemented.**
|
||||
|
||||
@@ -11,9 +11,9 @@ anchor_top = 0.334
|
||||
anchor_right = 0.845
|
||||
anchor_bottom = 0.666
|
||||
margin_left = 0.100006
|
||||
margin_top = -0.199982
|
||||
margin_top = -0.200012
|
||||
margin_right = -0.100098
|
||||
margin_bottom = 0.200012
|
||||
margin_bottom = 0.199951
|
||||
script = ExtResource( 3 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
@@ -23,7 +23,7 @@ __meta__ = {
|
||||
margin_left = 7.0
|
||||
margin_top = 7.0
|
||||
margin_right = 876.0
|
||||
margin_bottom = 259.0
|
||||
margin_bottom = 292.2
|
||||
custom_constants/margin_right = 20
|
||||
custom_constants/margin_top = 20
|
||||
custom_constants/margin_left = 20
|
||||
@@ -36,35 +36,35 @@ __meta__ = {
|
||||
margin_left = 20.0
|
||||
margin_top = 20.0
|
||||
margin_right = 849.0
|
||||
margin_bottom = 232.0
|
||||
margin_bottom = 265.0
|
||||
custom_constants/separation = 35
|
||||
dragger_visibility = 1
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HSplitContainer"]
|
||||
margin_right = 174.0
|
||||
margin_bottom = 212.0
|
||||
margin_bottom = 245.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_stretch_ratio = 0.3
|
||||
|
||||
[node name="avatar" type="TextureRect" parent="MarginContainer/HSplitContainer/VBoxContainer"]
|
||||
margin_right = 174.0
|
||||
margin_bottom = 184.0
|
||||
margin_bottom = 217.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 2 )
|
||||
expand = true
|
||||
|
||||
[node name="name" type="Label" parent="MarginContainer/HSplitContainer/VBoxContainer"]
|
||||
margin_top = 188.0
|
||||
margin_top = 221.0
|
||||
margin_right = 174.0
|
||||
margin_bottom = 212.0
|
||||
margin_bottom = 245.0
|
||||
custom_fonts/font = ExtResource( 1 )
|
||||
valign = 1
|
||||
|
||||
[node name="text" type="RichTextLabel" parent="MarginContainer/HSplitContainer"]
|
||||
margin_left = 209.0
|
||||
margin_right = 829.0
|
||||
margin_bottom = 212.0
|
||||
margin_bottom = 245.0
|
||||
size_flags_horizontal = 3
|
||||
custom_fonts/normal_font = ExtResource( 1 )
|
||||
bbcode_enabled = true
|
||||
|
||||
@@ -13,7 +13,6 @@ func _ready():
|
||||
func _on_slot_pressed(p_slot_n: int):
|
||||
slot_pressed = p_slot_n
|
||||
if escoria.save_manager.save_game_exists(p_slot_n):
|
||||
# TODO Manage save override, ask for confirmation
|
||||
pass
|
||||
else:
|
||||
$save_name_popup.popup()
|
||||
|
||||
@@ -548,7 +548,7 @@ _global_script_class_icons={
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Escoria-reloaded"
|
||||
config/name="Escoria"
|
||||
run/main_scene="res://addons/escoria-core/game/main_scene.tscn"
|
||||
boot_splash/image="res://addons/escoria-core/logo/escoria-logo-small.png"
|
||||
boot_splash/fullsize=false
|
||||
|
||||
Reference in New Issue
Block a user