Compare commits
6 Commits
release/1.
...
release/1.
| Author | SHA1 | Date | |
|---|---|---|---|
| c6a7ab376e | |||
| 738b60248d | |||
| 56b3007400 | |||
| 2252a80bb9 | |||
| 29c9cd4828 | |||
| 6d426fe4fb |
@@ -57,7 +57,9 @@ func _load_api_config() -> void:
|
||||
|
||||
func get_scores(collection: String) -> Array[RTMIScoreRow]:
|
||||
var http_request = http_requests[collection]
|
||||
var response_data = await _score_http_request(http_request, "%s/databases/%s/collections/%s/documents" % [api_url, database_id, collection])
|
||||
var response_data = await _score_http_request(
|
||||
http_request, '%s/databases/%s/collections/%s/documents?queries[1]={"method":"limit","values":[100]}' % [api_url, database_id, collection]
|
||||
)
|
||||
|
||||
if not response_data:
|
||||
return []
|
||||
|
||||
@@ -41,6 +41,11 @@ unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
collection = "perfect"
|
||||
|
||||
[node name="Label" type="Label" parent="CenterContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "SCOREBOARD_NOTE"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 1
|
||||
|
||||
@@ -9,9 +9,13 @@ DEFAULT_DESTINATION_PATH="../escoria-demo-game"
|
||||
DESTINATION_PATH="${1:-$DEFAULT_DESTINATION_PATH}"
|
||||
|
||||
REMOTE_PATCHES=(
|
||||
#"https://patch-diff.githubusercontent.com/raw/godot-escoria/escoria-demo-game/pull/777.patch"
|
||||
https://patch-diff.githubusercontent.com/raw/godot-escoria/escoria-demo-game/pull/793.patch
|
||||
https://patch-diff.githubusercontent.com/raw/godot-escoria/escoria-demo-game/pull/792.patch
|
||||
https://patch-diff.githubusercontent.com/raw/godot-escoria/escoria-demo-game/pull/791.patch
|
||||
)
|
||||
|
||||
WORKING_COMMIT="2f6ec324f7b5b37d9226dbc99fcd46f01283a3b6"
|
||||
|
||||
PROJECT_PATH=$PWD
|
||||
|
||||
echo -e
|
||||
@@ -26,18 +30,13 @@ echo -e
|
||||
echo -e "${BLUE}Cleaning and updating the repo${NOCOLOR}"
|
||||
echo -e ==========================
|
||||
|
||||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
if [ "$BRANCH" != "main" ]
|
||||
then
|
||||
echo -e ${RED}Not on main branch. Aborting. ${NOCOLOR}
|
||||
echo -e
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
git clean -fx
|
||||
git reset --hard
|
||||
git pull origin main
|
||||
|
||||
git fetch
|
||||
git pull origin $WORKING_COMMIT
|
||||
git checkout $WORKING_COMMIT
|
||||
|
||||
echo -e
|
||||
echo -e "${BLUE}Applying remote patches...${NOCOLOR}"
|
||||
|
||||
@@ -145,7 +145,7 @@ animation = "idle_up"
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
dir_angles = [SubResource("1"), SubResource("2"), SubResource("3"), SubResource("4"), SubResource("5"), SubResource("6"), SubResource("7"), SubResource("8")]
|
||||
directions = [SubResource("9"), SubResource("10"), SubResource("11"), SubResource("12"), SubResource("13"), SubResource("14"), SubResource("15"), SubResource("16")]
|
||||
idles = [SubResource("17"), SubResource("18"), SubResource("19"), SubResource("20"), SubResource("21"), SubResource("22"), SubResource("23"), SubResource("24")]
|
||||
speaks = [SubResource("25"), SubResource("26"), SubResource("27"), SubResource("28"), SubResource("29"), SubResource("30"), SubResource("31"), SubResource("32")]
|
||||
dir_angles = Array[ExtResource("2")]([SubResource("1"), SubResource("2"), SubResource("3"), SubResource("4"), SubResource("5"), SubResource("6"), SubResource("7"), SubResource("8")])
|
||||
directions = Array[ExtResource("3")]([SubResource("9"), SubResource("10"), SubResource("11"), SubResource("12"), SubResource("13"), SubResource("14"), SubResource("15"), SubResource("16")])
|
||||
idles = Array[ExtResource("3")]([SubResource("17"), SubResource("18"), SubResource("19"), SubResource("20"), SubResource("21"), SubResource("22"), SubResource("23"), SubResource("24")])
|
||||
speaks = Array[ExtResource("3")]([SubResource("25"), SubResource("26"), SubResource("27"), SubResource("28"), SubResource("29"), SubResource("30"), SubResource("31"), SubResource("32")])
|
||||
|
||||
@@ -18,7 +18,7 @@ animation = "speak"
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
dir_angles = [SubResource("1")]
|
||||
directions = [SubResource("2")]
|
||||
idles = [SubResource("2")]
|
||||
speaks = [SubResource("3")]
|
||||
dir_angles = Array[ExtResource("2")]([SubResource("1")])
|
||||
directions = Array[ExtResource("3")]([SubResource("2")])
|
||||
idles = Array[ExtResource("3")]([SubResource("2")])
|
||||
speaks = Array[ExtResource("3")]([SubResource("3")])
|
||||
|
||||
@@ -18,7 +18,7 @@ animation = "speak"
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1")
|
||||
dir_angles = [SubResource("1")]
|
||||
directions = [SubResource("2")]
|
||||
idles = [SubResource("2")]
|
||||
speaks = [SubResource("3")]
|
||||
dir_angles = Array[ExtResource("2")]([SubResource("1")])
|
||||
directions = Array[ExtResource("3")]([SubResource("2")])
|
||||
idles = Array[ExtResource("3")]([SubResource("2")])
|
||||
speaks = Array[ExtResource("3")]([SubResource("3")])
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"SLOW_TEXT_MODE","Slow dialogs","Dialogues lents","","Dialogos lentos","Elkarrizketa mantsoak"
|
||||
"SKIP_VIDEO"," Skip video","Passer la vidéo","","Saltar video","Bideoa pasa"
|
||||
"ACHIEVEMENT_UNLOCKED_NOTIFICATION_LABEL","Unlocked achievement:","Objectifs débloqués:","","Logro desbloqueado:","Lorpen desblokeatua:"
|
||||
"ACHIEVEMENT_SUMMARY","Achivement summary","Résumé des objectifs atteints","","Resumen de logros","Lorpenen laburpena"
|
||||
"ACHIEVEMENT_SUMMARY","Achievement summary","Résumé des objectifs atteints","","Resumen de logros","Lorpenen laburpena"
|
||||
"TOTAL_TIME","Total time","Temps total","","Tiempo total","Denbora totala"
|
||||
"POSITION","Position","","","Posición","Postua"
|
||||
"SCOREBOARD_PERFECT_TITLE","Perfect TOP 10","Parfait TOP 10",,"Perfect TOP 10","Perfect TOP 10"
|
||||
@@ -35,11 +35,12 @@
|
||||
"SKIP_CREDITS","Skip credits","Sauter les crédits",,"Saltar créditos","Kredituak pasa"
|
||||
"SHOW_CREDITS","Continue","","","Continuar sin enviar","Jarraitu bidali gabe"
|
||||
"NAME_PLACEHOLDER","Your name","","","Tu nombre","Zure izena"
|
||||
"SUBMIT_SCORE","Sumbit score","Envoyer le score",,"Enviar puntuación","Puntuazioa bidali"
|
||||
"SUBMIT_SCORE","Submit score","Envoyer le score",,"Enviar puntuación","Puntuazioa bidali"
|
||||
"SUBMIT_PERFECT_SCORE","Submit PERFECT score","Envoyer PARFAIT score","","Enviar puntuación PERFECTA","Puntuazioa PERFEKTUA bidali"
|
||||
"BACK_MAIN_MENU","Return to the main menu","Retour au menu principal","","Volver al menú principal","Menu nagusira bueltatu"
|
||||
"SCOREBOARD_REFRESH","Refresh","Rafaîchir","","Refrescar","Eguneratu"
|
||||
"SCOREBOARD_BACK","Back","Retour","Zurück","Volver","Itzuli"
|
||||
"CURRENT_PLAYING_TIME","Current playing time:","Temps de partie :","","Tiempo de la partida:","Jolastutako denbora:"
|
||||
"ACHIEVEMENTS","Achievements","Objectifs","","Logros","Lorpenak"
|
||||
"ACHIEVEMENTS_MENU_NOTE","Get all the achievements to get a perfect score.","Obtenez tous les objectifs pour obtenir un score parfait.","","Consigue todos los logros para obtener una puntuación perfecta.","Lortu lorpen guztiak puntuazio perfektua lortzeko."
|
||||
"ACHIEVEMENTS_MENU_NOTE","Get all the achievements to get a perfect score.","Obtenez tous les objectifs pour obtenir un score parfait.","","Consigue todos los logros para obtener una puntuación perfecta.","Lortu lorpen guztiak puntuazio perfektua lortzeko."
|
||||
"SCOREBOARD_NOTE","Only the best score for each player is registered.","Seul le meilleur score de chaque joueur est enregistré.","","Solo se registra la mejor puntuación de cada jugador.","Jokalari bakoitzaren puntuaziorik onena bakarrik erregistratzen da."
|
||||
|
@@ -232,7 +232,7 @@
|
||||
"cocina_cuchillos_action3_cuchillo","Leave it in place","Laisser à sa place","Dejar en su sitio","Bere tokian utzi"
|
||||
"cocina_cuchillos_action3_cuchillo_say","The knife in its place!","Le couteau à sa place ","El cuchillo a su sitio!","Labana bere lekura!"
|
||||
"cocina_cuerno_action1_say","Uli's horn, the call for food.","La corne d'Uli, l'appel de la nourriture.","El cuerno de Uli, la llamada para comer.","Uliko adarra, bazkaltzera deitzeko."
|
||||
"cocina_cuerno_action2_say","Charge!","A l'assaut !","A la saca!","Barrura!"
|
||||
"cocina_cuerno_action2_say","Into the bag!","A l'assaut !","A la saca!","Barrura!"
|
||||
"cocina_cuerno_action3_say","It looks like an animal's horn. It's used to call people to the table.","On dirait la corne d'un animal. Il est utilisé pour appeler à table.","Parece un cuerno de algún animal. Lo usan para llamar a comer.","Animaliaren baten adarra dirudi. Otorduetara deitzeko erabiltzen dute."
|
||||
"cocina_cuerno_action4_hint","I should ask Eneko to taste the lentils before calling people to the table.","Je devrais demander à Eneko qu'il goûte les lentilles avant d'appeler les gens à table.","Debería pedirle a Eneko que pruebe las lentejas antes de llamar a la gente.","Adarra jo aurretik Enekori dilistak dastatzeko esan beharko nioke."
|
||||
"cocina_cuerno_action4_say","If I blow it here, people in the garden won't hear me. I should find a better place.","Si je la sonne ici, les gens au potager ne vont pas m'entendre. Il faudrait trouver un meilleur endroit.","Si lo toco aquí no me va a oir la gente que esté en la huerta, debería buscar un sitio mejor.","Adarra hemen jotzen badut baratzean daudenek ez dute tutik ere entzungo. Leku hobe bat bilatu beharko dut."
|
||||
@@ -304,7 +304,7 @@
|
||||
"cocina_ajo_action2_say","A good head of garlic, just what I needed for good lentils.","Une bonne tête d'ail, juste ce dont j'avais besoin pour de bonnes lentilles.","Una buena cabeza de ajo, justo lo que necesitaba para unas buenas lentejas.","Baratxuri oso bat, dilista goxo batzuk prestatzeko ezinbestekoa!"
|
||||
"mechero_action1_say_1","My lighter, so good!","Mon briquet, trop bien !","Mi mechero, que bien!!","Nire txiskeroa, zeinen ongi!!"
|
||||
"mechero_action1_say_2","Wait, I left it on the table for a minute and it disappeared.","Attends, je l'ai laissé une minute sur la table et il a disparu.","Ayer lo dejé un segundo encima de la mesa y desapareció.","Atzo mahi gainean utzi eta desagertu egin zen."
|
||||
"mechero_action2_say","Charge!","A l'assaut !","A la saca!","Barrura!"
|
||||
"mechero_action2_say","Into the bag!","A l'assaut !","A la saca!","Barrura!"
|
||||
"mechero_action3_say_1","It looks like it has no gas.","On dirait qu'il n'a pas de gaz.","Parece que no tiene gas.","Ez zaio gasik gelditzen."
|
||||
"mechero_action3_say_2","That explains why it was abandoned.","Ça explique qu'il ait été abandonné.","Eso explica que lo hayan abandonado.","Horregatik utzi dute hortik."
|
||||
"mechero_action3_say_3","If you come to Uli, watch your lighter.","Si tu viens à Uli, fais gaffe à ton briquet.","Si vienes a Uli vigila tu mechero.","Ulira bazatoz zaindu zure txiskeroa."
|
||||
@@ -317,7 +317,7 @@
|
||||
"olla_vacia_action3_romero_say","First, I should fill the pot with water.","D'abord, il faudrait que je remplisse la casserole d'eau.","Primero debería llenar la olla de agua.","Eltzea urez bete beharko nuke lehenik."
|
||||
"tooltip_olla_llena_action2","Scare the lentils","Faire peur aux lentilles","Asustar las lentejas","Dilistak izutu"
|
||||
"olla_llena_action2_say","Booooooh!!","Bouuuuuh !!","Buuuuh!!","Buuuuh!!"
|
||||
"olla_llena_action2_say2","Krkrkrkrkr","Krkrkrkrkr","ji ji ji","ji ji ji"
|
||||
"olla_llena_action2_say2","hehehe","Krkrkrkrkr","ji ji ji","ji ji ji"
|
||||
"olla_llena_action2_without_lentejas_say","First, I need to put the lentils in the pot.","D'abord, il faut que je mette les lentilles dans la casserole.","Primero tengo que poner lentejas en la olla.","Lehenik dilistak eltzean jarri behar ditut."
|
||||
"olla_llena_action1_say","It's full of water.","Elle est pleine d'eau.","Está llena de agua","Urez beteta dago"
|
||||
"olla_llena_action1_lentejas_say","lentils","lentilles","lentejas","dilistak"
|
||||
|
||||
|
28
patches/esc_autoload.patch
Normal file
28
patches/esc_autoload.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
diff --git a/addons/escoria-core/game/esc_autoload.gd b/addons/escoria-core/game/esc_autoload.gd
|
||||
index 6c3377dd..bebbe862 100644
|
||||
--- a/addons/escoria-core/game/esc_autoload.gd
|
||||
+++ b/addons/escoria-core/game/esc_autoload.gd
|
||||
@@ -2,6 +2,15 @@ extends Node
|
||||
## This is Escoria's singleton script.
|
||||
## It holds accessors to some utils, such as Escoria's logger.
|
||||
|
||||
+## Signal sent when Escoria starts a new game[br]
|
||||
+## [br]
|
||||
+## #### Parameters[br]
|
||||
+## [br]
|
||||
+## None.
|
||||
+## [br]
|
||||
+signal new_game_started
|
||||
+
|
||||
+
|
||||
## Signal sent when Escoria is paused[br]
|
||||
## [br]
|
||||
## #### Parameters[br]
|
||||
@@ -221,6 +230,7 @@ func set_game_paused(p_paused: bool):
|
||||
## Returns nothing.
|
||||
func new_game():
|
||||
get_escoria().new_game()
|
||||
+ new_game_started.emit()
|
||||
|
||||
## Called from main menu's "quit" button.[br]
|
||||
## [br]
|
||||
@@ -1,83 +0,0 @@
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd b/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
||||
index 4205f92d..26399e77 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter_factory.gd
|
||||
@@ -3,7 +3,7 @@ extends RefCounted
|
||||
class_name ESCInterpreterFactory
|
||||
|
||||
|
||||
-static var _interpreter: ESCInterpreter = null
|
||||
+var _interpreter: ESCInterpreter = null
|
||||
|
||||
|
||||
## Produces an interpreter as a singleton.[br]
|
||||
@@ -15,7 +15,7 @@ static var _interpreter: ESCInterpreter = null
|
||||
## #### Returns[br]
|
||||
## [br]
|
||||
## Returns a `ESCInterpreter` value. (`ESCInterpreter`)
|
||||
-static func create_interpreter() -> ESCInterpreter:
|
||||
+func create_interpreter() -> ESCInterpreter:
|
||||
if not _interpreter:
|
||||
_interpreter = load("res://addons/escoria-core/game/core-scripts/esc/compiler/esc_interpreter.gd").new(ESCCompiler.load_commands(), ESCCompiler.load_globals())
|
||||
return _interpreter
|
||||
@@ -25,7 +25,7 @@ static func create_interpreter() -> ESCInterpreter:
|
||||
return _interpreter
|
||||
|
||||
|
||||
-static func reset_interpreter() -> void:
|
||||
+func reset_interpreter() -> void:
|
||||
if is_instance_valid(_interpreter):
|
||||
_interpreter.cleanup()
|
||||
_interpreter = null
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
||||
index 28d867c3..d9f89017 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd
|
||||
@@ -726,7 +726,7 @@ func _telekinetic_applies_to(event: ESCGrammarStmts.Event) -> bool:
|
||||
var tk_flag_condition = event.get_flags_with_conditions().get("TK")
|
||||
|
||||
if tk_flag_condition:
|
||||
- var interpreter: ESCInterpreter = ESCInterpreterFactory.create_interpreter()
|
||||
+ var interpreter: ESCInterpreter = escoria.interpreter_factory.create_interpreter()
|
||||
|
||||
var result = interpreter.look_up_global(tk_flag_condition.get_name())
|
||||
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd b/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
||||
index c029f476..41536d39 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/esc_compiler.gd
|
||||
@@ -123,7 +123,7 @@ func _compiler_shim(source: String, filename: String = "", associated_global_id:
|
||||
|
||||
# Some static analysis
|
||||
if not had_error and _run_script_analysis():
|
||||
- var resolver: ESCResolver = ESCResolver.new(ESCInterpreterFactory.create_interpreter())
|
||||
+ var resolver: ESCResolver = ESCResolver.new(escoria.interpreter_factory.create_interpreter())
|
||||
resolver.resolve(parsed_statements)
|
||||
|
||||
if not filename.is_empty():
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
||||
index 78c992a0..6ee5381a 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd
|
||||
@@ -229,7 +229,7 @@ func _process(delta: float) -> void:
|
||||
#var rc = _running_events[channel_name].run()
|
||||
#escoria.interpreter.reset()
|
||||
#var resolver: ESCResolver = ESCResolver.new(escoria.interpreter)
|
||||
- var interpreter: ESCInterpreter = ESCInterpreterFactory.create_interpreter()
|
||||
+ var interpreter: ESCInterpreter = escoria.interpreter_factory.create_interpreter()
|
||||
var resolver: ESCResolver = ESCResolver.new(interpreter)
|
||||
var event = _running_events[channel_name]
|
||||
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd b/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
||||
index 1358239c..b91a3661 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/types/esc_statement.gd
|
||||
@@ -107,7 +107,7 @@ func is_valid() -> bool:
|
||||
## Returns a `int` value. (`int`)
|
||||
func run() -> int:
|
||||
if parsed_statements.size() > 0:
|
||||
- var interpreter = ESCInterpreterFactory.create_interpreter()
|
||||
+ var interpreter = escoria.interpreter_factory.create_interpreter()
|
||||
var resolver: ESCResolver = ESCResolver.new(interpreter)
|
||||
resolver.resolve(parsed_statements)
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_inventory_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_inventory_manager.gd
|
||||
index 7c550f2a..944aead7 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/esc_inventory_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/esc_inventory_manager.gd
|
||||
@@ -16,7 +16,9 @@ class_name ESCInventoryManager
|
||||
## [br]
|
||||
## Returns a `bool` value. (`bool`)
|
||||
func inventory_has(item: String) -> bool:
|
||||
- return escoria.globals_manager.has("i/%s" % item)
|
||||
+ if not escoria.globals_manager.has("i/%s" % item):
|
||||
+ return false
|
||||
+ return escoria.globals_manager.get_global("i/%s" % item)
|
||||
|
||||
|
||||
## Retrieves all inventory items.[br]
|
||||
@@ -1,19 +0,0 @@
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc_item.gd b/addons/escoria-core/game/core-scripts/esc_item.gd
|
||||
index cbce2e51..3164579a 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc_item.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc_item.gd
|
||||
@@ -672,12 +672,12 @@ func get_animation_player() -> Node:
|
||||
child is AnimationPlayer:
|
||||
player_node_path = child.get_path()
|
||||
if player_node_path.is_empty():
|
||||
- ESCSafeLogging.log_warn(
|
||||
+ ESCSafeLogging.log_debug(
|
||||
self,
|
||||
"Can not find animation_player or animated sprite for %s." % global_id
|
||||
)
|
||||
elif not has_node(player_node_path):
|
||||
- ESCSafeLogging.log_warn(
|
||||
+ ESCSafeLogging.log_debug(
|
||||
self,
|
||||
"Can not find animation_player node at path %s for %s." % [player_node_path, global_id]
|
||||
)
|
||||
17
patches/esc_settings_manager.patch
Normal file
17
patches/esc_settings_manager.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
diff --git a/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd b/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
index 18d4247d..f631a10b 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
@@ -293,3 +293,11 @@ func save_settings():
|
||||
self,
|
||||
"There was an issue writing settings %s" % save_path
|
||||
)
|
||||
+
|
||||
+
|
||||
+## Returns a custom setting by key or an optional default value. Returns null if not found and no default value is defined.
|
||||
+func get_custom_setting(key: String, default_value = null):
|
||||
+ if custom_settings.has(key):
|
||||
+ return custom_settings.get(key)
|
||||
+
|
||||
+ return default_value
|
||||
\ No newline at end of file
|
||||
@@ -1,28 +0,0 @@
|
||||
diff --git a/addons/escoria-core/game/esc_inputs_manager.gd b/addons/escoria-core/game/esc_inputs_manager.gd
|
||||
index 762da5ea..e2686e24 100644
|
||||
--- a/addons/escoria-core/game/esc_inputs_manager.gd
|
||||
+++ b/addons/escoria-core/game/esc_inputs_manager.gd
|
||||
@@ -5,6 +5,9 @@
|
||||
extends Resource
|
||||
class_name ESCInputsManager
|
||||
|
||||
+## Emitted when input mode changes.
|
||||
+signal input_mode_changed(new_mode)
|
||||
+
|
||||
|
||||
## Valid input flags[br]
|
||||
## * INPUT_ALL: All input is allowed[br]
|
||||
@@ -27,7 +30,12 @@ const ESC_UI_PRIMARY_ACTION = "esc_ui_primary_action"
|
||||
|
||||
|
||||
## The current input mode
|
||||
-var input_mode = INPUT_ALL
|
||||
+var input_mode = INPUT_ALL:
|
||||
+ get:
|
||||
+ return input_mode
|
||||
+ set(new_mode):
|
||||
+ input_mode = new_mode
|
||||
+ input_mode_changed.emit(new_mode)
|
||||
|
||||
## A LIFO stack of hovered items
|
||||
var hover_stack: HoverStack
|
||||
@@ -1,370 +0,0 @@
|
||||
diff --git a/README.md b/README.md
|
||||
index fd3d3e60..5e57540a 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -40,7 +40,10 @@ This is the demo game that acts as a testing ground for future Escoria developme
|
||||
* “Mystical Ocean Puzzle Game” (Licence CC-BY 4.0)
|
||||
by Eric Matyas
|
||||
www.soundimage.org
|
||||
-
|
||||
+* "Ambient bird sounds"
|
||||
+ License: CC0
|
||||
+ [https://freesound.org/people/Garuda1982/sounds/691629/](https://freesound.org/people/Garuda1982/sounds/691629/)
|
||||
+
|
||||
## Cursors
|
||||
|
||||
* Pointers part 4 by "yd"
|
||||
diff --git a/addons/escoria-core/buses/default_bus_layout.tres b/addons/escoria-core/buses/default_bus_layout.tres
|
||||
index 6ff12e0a..90726934 100644
|
||||
--- a/addons/escoria-core/buses/default_bus_layout.tres
|
||||
+++ b/addons/escoria-core/buses/default_bus_layout.tres
|
||||
@@ -19,3 +19,9 @@ bus/3/mute = false
|
||||
bus/3/bypass_fx = false
|
||||
bus/3/volume_db = 0.0
|
||||
bus/3/send = &"Master"
|
||||
+bus/4/name = &"Ambient"
|
||||
+bus/4/solo = false
|
||||
+bus/4/mute = false
|
||||
+bus/4/bypass_fx = false
|
||||
+bus/4/volume_db = 0.0
|
||||
+bus/4/send = &"Master"
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd
|
||||
index 8d1c7c1c..047fcabb 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/esc_object_manager.gd
|
||||
@@ -16,11 +16,15 @@ const SOUND = "_sound"
|
||||
## Reserved speech player object.
|
||||
const SPEECH = "_speech"
|
||||
|
||||
+## Reserved ambient player object.
|
||||
+const AMBIENT = "_ambient"
|
||||
+
|
||||
## Array of objects that are reserved and automatically created when Escoria starts up.
|
||||
const RESERVED_OBJECTS = [
|
||||
MUSIC,
|
||||
SOUND,
|
||||
SPEECH,
|
||||
+ AMBIENT,
|
||||
]
|
||||
|
||||
|
||||
@@ -489,7 +493,7 @@ func save_game(p_savegame: ESCSaveGame) -> void:
|
||||
|
||||
p_savegame.objects[room_obj.room_global_id] = room_objects_dict
|
||||
|
||||
- # Add in reserved objects (music, speech, sound), too.
|
||||
+ # Add in reserved objects (music, speech, sound, ambient), too.
|
||||
var reserved_objects: Dictionary = reserved_objects_container.objects
|
||||
for obj_global_id in reserved_objects:
|
||||
if not reserved_objects[obj_global_id] is ESCObject:
|
||||
diff --git a/addons/escoria-core/game/core-scripts/esc/types/esc_object.gd b/addons/escoria-core/game/core-scripts/esc/types/esc_object.gd
|
||||
index 76df48b1..64d3596b 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/esc/types/esc_object.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/esc/types/esc_object.gd
|
||||
@@ -192,7 +192,7 @@ func get_save_data() -> Dictionary:
|
||||
if self.node.has_method("get_custom_data"):
|
||||
save_data["custom_data"] = self.node.get_custom_data()
|
||||
|
||||
- if self.global_id in ["_music", "_sound"] and self.node.get("state"):
|
||||
+ if self.global_id in ["_music", "_sound", "_ambient"] and self.node.get("state"):
|
||||
save_data["state"] = self.node.get("state")
|
||||
save_data["playback_position"] = self.node.get_playback_position()
|
||||
|
||||
diff --git a/addons/escoria-core/game/core-scripts/save_data/esc_savesettings.gd b/addons/escoria-core/game/core-scripts/save_data/esc_savesettings.gd
|
||||
index 9117d0ec..1df5a43e 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/save_data/esc_savesettings.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/save_data/esc_savesettings.gd
|
||||
@@ -37,6 +37,10 @@ class_name ESCSaveSettings
|
||||
## Speech volume only.
|
||||
@export var speech_volume: float = ProjectSettings.get_setting(
|
||||
"escoria/sound/speech_volume")
|
||||
+
|
||||
+## Ambient volume only.
|
||||
+@export var ambient_volume: float = ProjectSettings.get_setting(
|
||||
+ "escoria/sound/ambient_volume")
|
||||
|
||||
## True if game has to be fullscreen.
|
||||
@export var fullscreen: bool = ProjectSettings.get_setting(
|
||||
diff --git a/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd b/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
index 722f409e..23a9f855 100644
|
||||
--- a/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
+++ b/addons/escoria-core/game/core-scripts/save_data/esc_settings_manager.gd
|
||||
@@ -77,6 +77,14 @@ func apply_settings() -> void:
|
||||
)
|
||||
)
|
||||
)
|
||||
+ AudioServer.set_bus_volume_db(
|
||||
+ AudioServer.get_bus_index(escoria.BUS_AMBIENT),
|
||||
+ linear_to_db(
|
||||
+ ESCProjectSettingsManager.get_setting(
|
||||
+ ESCProjectSettingsManager.AMBIENT_VOLUME
|
||||
+ )
|
||||
+ )
|
||||
+ )
|
||||
|
||||
var mode = Window.MODE_EXCLUSIVE_FULLSCREEN if ESCProjectSettingsManager.get_setting(ESCProjectSettingsManager.FULLSCREEN) else Window.MODE_WINDOWED
|
||||
DisplayServer.window_set_mode(mode)
|
||||
@@ -130,6 +138,10 @@ func save_settings_resource_to_project_settings(settings: ESCSaveSettings):
|
||||
ESCProjectSettingsManager.SPEECH_VOLUME,
|
||||
settings.speech_volume
|
||||
)
|
||||
+ ESCProjectSettingsManager.set_setting(
|
||||
+ ESCProjectSettingsManager.AMBIENT_VOLUME,
|
||||
+ settings.ambient_volume
|
||||
+ )
|
||||
ESCProjectSettingsManager.set_setting(
|
||||
ESCProjectSettingsManager.FULLSCREEN,
|
||||
settings.fullscreen
|
||||
@@ -196,6 +208,9 @@ func get_settings() -> ESCSaveSettings:
|
||||
settings.speech_volume = ESCProjectSettingsManager.get_setting(
|
||||
ESCProjectSettingsManager.SPEECH_VOLUME
|
||||
)
|
||||
+ settings.ambient_volume = ESCProjectSettingsManager.get_setting(
|
||||
+ ESCProjectSettingsManager.AMBIENT_VOLUME
|
||||
+ )
|
||||
settings.fullscreen = ESCProjectSettingsManager.get_setting(
|
||||
ESCProjectSettingsManager.WINDOW_MODE
|
||||
) in [DisplayServer.WINDOW_MODE_FULLSCREEN, DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN]
|
||||
@@ -278,3 +293,10 @@ func save_settings():
|
||||
self,
|
||||
"There was an issue writing settings %s" % save_path
|
||||
)
|
||||
+
|
||||
+## Returns a custom setting by key or an optional default value. Returns null if not found and no default value is defined.
|
||||
+func get_custom_setting(key: String, default_value = null):
|
||||
+ if custom_settings.has(key):
|
||||
+ return custom_settings.get(key)
|
||||
+
|
||||
+ return default_value
|
||||
\ No newline at end of file
|
||||
diff --git a/addons/escoria-core/game/esc_autoload.gd b/addons/escoria-core/game/esc_autoload.gd
|
||||
index 24b14687..1a224469 100644
|
||||
--- a/addons/escoria-core/game/esc_autoload.gd
|
||||
+++ b/addons/escoria-core/game/esc_autoload.gd
|
||||
@@ -2,6 +2,14 @@ extends Node
|
||||
## This is Escoria's singleton script.
|
||||
## It holds accessors to some utils, such as Escoria's logger.
|
||||
|
||||
+## Signal sent when Escoria starts a new game[br]
|
||||
+## [br]
|
||||
+## #### Parameters[br]
|
||||
+## [br]
|
||||
+## None.
|
||||
+## [br]
|
||||
+signal new_game_started
|
||||
+
|
||||
## Signal sent when Escoria is paused[br]
|
||||
## [br]
|
||||
## #### Parameters[br]
|
||||
@@ -45,6 +53,9 @@ const BUS_MUSIC = "Music"
|
||||
## Speech audio bus
|
||||
const BUS_SPEECH = "Speech"
|
||||
|
||||
+## Ambient sound audio bus
|
||||
+const BUS_AMBIENT = "Ambient"
|
||||
+
|
||||
# Path to camera scene
|
||||
const CAMERA_SCENE_PATH = "res://addons/escoria-core/game/scenes/camera_player/camera.tscn"
|
||||
|
||||
@@ -218,6 +229,7 @@ func set_game_paused(p_paused: bool):
|
||||
## Returns nothing.
|
||||
func new_game():
|
||||
get_escoria().new_game()
|
||||
+ new_game_started.emit()
|
||||
|
||||
## Called from main menu's "quit" button.[br]
|
||||
## [br]
|
||||
diff --git a/addons/escoria-core/game/esc_project_settings_manager.gd b/addons/escoria-core/game/esc_project_settings_manager.gd
|
||||
index 1e0bee53..3a2b10be 100644
|
||||
--- a/addons/escoria-core/game/esc_project_settings_manager.gd
|
||||
+++ b/addons/escoria-core/game/esc_project_settings_manager.gd
|
||||
@@ -89,6 +89,8 @@ const SPEECH_EXTENSION = _ESCORIA_SETTINGS_ROOT + "/" + _SOUND_ROOT + "/" + "spe
|
||||
const SPEECH_FOLDER = _ESCORIA_SETTINGS_ROOT + "/" + _SOUND_ROOT + "/" + "speech_folder"
|
||||
## Path to the speech volume setting.
|
||||
const SPEECH_VOLUME = _ESCORIA_SETTINGS_ROOT + "/" + _SOUND_ROOT + "/" + "speech_volume"
|
||||
+## Path to the ambient volume setting.
|
||||
+const AMBIENT_VOLUME = _ESCORIA_SETTINGS_ROOT + "/" + _SOUND_ROOT + "/" + "ambient_volume"
|
||||
|
||||
## Platform-related Escoria project settings root.
|
||||
const _PLATFORM_ROOT = "platform"
|
||||
diff --git a/addons/escoria-core/game/main.tscn b/addons/escoria-core/game/main.tscn
|
||||
index 66e7755b..60f548b5 100644
|
||||
--- a/addons/escoria-core/game/main.tscn
|
||||
+++ b/addons/escoria-core/game/main.tscn
|
||||
@@ -1,10 +1,11 @@
|
||||
-[gd_scene load_steps=6 format=3 uid="uid://dwlr0gu4erswn"]
|
||||
+[gd_scene load_steps=7 format=3 uid="uid://dwlr0gu4erswn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cgvex4ltwyld6" path="res://addons/escoria-core/game/main.gd" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0q36us3uuimq" path="res://addons/escoria-core/game/scenes/esc_prompt/esc_prompt_popup.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" uid="uid://c1txn45mpksqd" path="res://addons/escoria-core/game/scenes/sound/esc_music_player.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" uid="uid://uwqpnwjmp6aq" path="res://addons/escoria-core/game/scenes/sound/esc_sound_player.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8ecyitwga1dx" path="res://addons/escoria-core/game/scenes/sound/esc_speech_player.tscn" id="6"]
|
||||
+[ext_resource type="PackedScene" uid="uid://wsdpiju6bxqd" path="res://addons/escoria-core/game/scenes/sound/esc_ambient_player.tscn" id="6_sy38t"]
|
||||
|
||||
[node name="main" type="Node"]
|
||||
script = ExtResource("1")
|
||||
@@ -41,3 +42,11 @@ layout_mode = 3
|
||||
anchors_preset = 15
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
+
|
||||
+[node name="bg_ambient" parent="." instance=ExtResource("6_sy38t")]
|
||||
+layout_mode = 3
|
||||
+anchors_preset = 15
|
||||
+offset_right = 0.0
|
||||
+offset_bottom = 0.0
|
||||
+grow_horizontal = 2
|
||||
+grow_vertical = 2
|
||||
diff --git a/addons/escoria-core/game/scenes/sound/esc_sound_player.gd b/addons/escoria-core/game/scenes/sound/esc_sound_player.gd
|
||||
index 05f839a8..2a9fa64c 100644
|
||||
--- a/addons/escoria-core/game/scenes/sound/esc_sound_player.gd
|
||||
+++ b/addons/escoria-core/game/scenes/sound/esc_sound_player.gd
|
||||
@@ -2,7 +2,7 @@
|
||||
extends Control
|
||||
class_name ESCSoundPlayer
|
||||
|
||||
-## Global id of the background sound player.
|
||||
+## Global id of the sfx sound player.
|
||||
@export var global_id: String = "_sound"
|
||||
|
||||
## The state of the sound player. "default" or "off" disable sound. Any other
|
||||
diff --git a/addons/escoria-core/game/scenes/sound/esc_speech_player.gd b/addons/escoria-core/game/scenes/sound/esc_speech_player.gd
|
||||
index 74e2ceb8..31fc6681 100644
|
||||
--- a/addons/escoria-core/game/scenes/sound/esc_speech_player.gd
|
||||
+++ b/addons/escoria-core/game/scenes/sound/esc_speech_player.gd
|
||||
@@ -2,7 +2,7 @@
|
||||
extends Control
|
||||
class_name ESCSpeechPlayer
|
||||
|
||||
-## Global id of the background music player.
|
||||
+## Global id of the speech player.
|
||||
@export var global_id: String = "_speech"
|
||||
|
||||
## Reference to the audio player.
|
||||
diff --git a/addons/escoria-core/ui_library/menus/options/options.gd b/addons/escoria-core/ui_library/menus/options/options.gd
|
||||
index 2ba85861..32a97586 100644
|
||||
--- a/addons/escoria-core/ui_library/menus/options/options.gd
|
||||
+++ b/addons/escoria-core/ui_library/menus/options/options.gd
|
||||
@@ -61,6 +61,7 @@ func initialize_options(p_settings):
|
||||
_options.get_node("sound_volume").value = p_settings["sfx_volume"]
|
||||
_options.get_node("music_volume").value = p_settings["music_volume"]
|
||||
_options.get_node("speech_volume").value = p_settings["speech_volume"]
|
||||
+ _options.get_node("ambient_volume").value = p_settings["ambient_volume"]
|
||||
_options.get_node("fullscreen").set_pressed_no_signal(p_settings["fullscreen"])
|
||||
|
||||
|
||||
@@ -142,6 +143,21 @@ func _on_speech_volume_value_changed(value: float) -> void:
|
||||
escoria.settings_manager.apply_settings()
|
||||
changed = true
|
||||
|
||||
+# Ambient volume was changed
|
||||
+#
|
||||
+# #### Parameters
|
||||
+# - value: The new volume level
|
||||
+func _on_ambient_volume_value_changed(value: float) -> void:
|
||||
+ if ESCProjectSettingsManager.get_setting(
|
||||
+ ESCProjectSettingsManager.AMBIENT_VOLUME
|
||||
+ ) != value:
|
||||
+ ESCProjectSettingsManager.set_setting(
|
||||
+ ESCProjectSettingsManager.AMBIENT_VOLUME,
|
||||
+ value
|
||||
+ )
|
||||
+ escoria.settings_manager.apply_settings()
|
||||
+ changed = true
|
||||
+
|
||||
|
||||
# Fullscreen was changed
|
||||
#
|
||||
diff --git a/addons/escoria-core/ui_library/menus/options/options.tscn b/addons/escoria-core/ui_library/menus/options/options.tscn
|
||||
index cbcab577..133315cf 100644
|
||||
--- a/addons/escoria-core/ui_library/menus/options/options.tscn
|
||||
+++ b/addons/escoria-core/ui_library/menus/options/options.tscn
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://bhcfnds3yy2yv"]
|
||||
|
||||
-[ext_resource type="Texture2D" uid="uid://gwy5bljr0ik1" path="res://addons/escoria-core/ui_library/menus/options/flags/de.png" id="1"]
|
||||
+[ext_resource type="Texture2D" uid="uid://r6b3dp6ipv5k" path="res://addons/escoria-core/ui_library/menus/options/flags/de.png" id="1"]
|
||||
[ext_resource type="Script" uid="uid://btyrwps5h2qn7" path="res://addons/escoria-core/ui_library/menus/options/options.gd" id="4"]
|
||||
|
||||
[node name="options" type="Control"]
|
||||
@@ -98,6 +98,16 @@ step = 0.001
|
||||
|
||||
[node name="label6" type="Label" parent="VBoxContainer/MarginContainer/options"]
|
||||
layout_mode = 2
|
||||
+text = "AMBIENT_VOLUME"
|
||||
+
|
||||
+[node name="ambient_volume" type="HSlider" parent="VBoxContainer/MarginContainer/options"]
|
||||
+layout_mode = 2
|
||||
+size_flags_horizontal = 3
|
||||
+max_value = 1.0
|
||||
+step = 0.001
|
||||
+
|
||||
+[node name="label7" type="Label" parent="VBoxContainer/MarginContainer/options"]
|
||||
+layout_mode = 2
|
||||
text = "FULLSCREEN"
|
||||
|
||||
[node name="fullscreen" type="CheckBox" parent="VBoxContainer/MarginContainer/options"]
|
||||
@@ -120,6 +130,7 @@ text = "APPLY"
|
||||
[connection signal="value_changed" from="VBoxContainer/MarginContainer/options/sound_volume" to="." method="_on_sound_volume_changed"]
|
||||
[connection signal="value_changed" from="VBoxContainer/MarginContainer/options/music_volume" to="." method="_on_music_volume_changed"]
|
||||
[connection signal="value_changed" from="VBoxContainer/MarginContainer/options/speech_volume" to="." method="_on_speech_volume_value_changed"]
|
||||
+[connection signal="value_changed" from="VBoxContainer/MarginContainer/options/ambient_volume" to="." method="_on_ambient_volume_value_changed"]
|
||||
[connection signal="toggled" from="VBoxContainer/MarginContainer/options/fullscreen" to="." method="_on_fullscreen_toggled"]
|
||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/back" to="." method="_on_back_pressed"]
|
||||
[connection signal="pressed" from="VBoxContainer/HBoxContainer/apply" to="." method="_on_apply_pressed"]
|
||||
diff --git a/game/rooms/room04/esc/left_exit.esc b/game/rooms/room04/esc/left_exit.esc
|
||||
index a5fe6648..bd0a2aa5 100644
|
||||
--- a/game/rooms/room04/esc/left_exit.esc
|
||||
+++ b/game/rooms/room04/esc/left_exit.esc
|
||||
@@ -1,4 +1,5 @@
|
||||
:exit_scene
|
||||
+ stop_snd(_ambient)
|
||||
change_scene("res://game/rooms/room03/room03.tscn")
|
||||
|
||||
:look
|
||||
diff --git a/game/rooms/room04/esc/right_exit.esc b/game/rooms/room04/esc/right_exit.esc
|
||||
index 20d5cd16..658ff435 100644
|
||||
--- a/game/rooms/room04/esc/right_exit.esc
|
||||
+++ b/game/rooms/room04/esc/right_exit.esc
|
||||
@@ -1,2 +1,3 @@
|
||||
:exit_scene
|
||||
+ stop_snd(_ambient)
|
||||
change_scene("res://game/rooms/room05/room05.tscn")
|
||||
diff --git a/game/rooms/room04/esc/room04.esc b/game/rooms/room04/esc/room04.esc
|
||||
index 6545739b..4e281146 100644
|
||||
--- a/game/rooms/room04/esc/room04.esc
|
||||
+++ b/game/rooms/room04/esc/room04.esc
|
||||
@@ -1,6 +1,8 @@
|
||||
:setup
|
||||
global r4_door_look_count = 0
|
||||
|
||||
+ play_snd("res://game/sfx/sounds/birds_ambient_loop.ogg", _ambient)
|
||||
+
|
||||
if ESC_LAST_SCENE == "room3":
|
||||
teleport($player, $l_exit)
|
||||
# Set player look right
|
||||
diff --git a/game/translations/main_menu.csv b/game/translations/main_menu.csv
|
||||
index fae9a28a..9e51686f 100644
|
||||
--- a/game/translations/main_menu.csv
|
||||
+++ b/game/translations/main_menu.csv
|
||||
@@ -11,6 +11,7 @@ GENERAL_VOLUME,General,Général,Allgemein,General
|
||||
MUSIC_VOLUME,Music,Musique,Musik,Música
|
||||
SOUND_VOLUME,Sound effects,Effets sonores,Soundeffekte,Efectos de sonido
|
||||
SPEECH_VOLUME,Speech,Voix,Sprachausgabe,Voz
|
||||
+AMBIENT_VOLUME,Ambient,Ambiance,Atmosphäre,Ambiente
|
||||
FULLSCREEN,Fullscreen,Plein écran,Vollbild,Pantalla completa
|
||||
CANCEL,Cancel,Annuler,Abbrechen,Cancelar
|
||||
OK,OK,Ok,Ok,Ok
|
||||
diff --git a/project.godot b/project.godot
|
||||
index 742cd758..37462240 100644
|
||||
--- a/project.godot
|
||||
+++ b/project.godot
|
||||
@@ -74,6 +74,7 @@ sound/sfx_volume=1
|
||||
sound/speech_volume=1
|
||||
sound/speech_folder="res://game/speech"
|
||||
sound/speech_extension="ogg"
|
||||
+sound/ambient_volume=1
|
||||
platform/skip_cache=false
|
||||
platform/skip_cache.mobile=true
|
||||
sound/speech_enabled=1
|
||||
@@ -8,13 +8,13 @@ escoria_version = "1.0.0"
|
||||
game_version = "Local"
|
||||
name = "post-intro"
|
||||
date = {
|
||||
"day": 9,
|
||||
"day": 12,
|
||||
"dst": false,
|
||||
"hour": 14,
|
||||
"minute": 27,
|
||||
"hour": 0,
|
||||
"minute": 22,
|
||||
"month": 11,
|
||||
"second": 30,
|
||||
"weekday": 0,
|
||||
"second": 58,
|
||||
"weekday": 3,
|
||||
"year": 2025
|
||||
}
|
||||
main = {
|
||||
@@ -50,16 +50,10 @@ globals = {
|
||||
}
|
||||
inventory = ["turno_cocina_frontal", "turno_cocina_libro_de_cocina"]
|
||||
objects = {
|
||||
"_ambient": {
|
||||
"active": true,
|
||||
"interactive": true,
|
||||
"playback_position": 4.716553,
|
||||
"state": "res://gymkhana/sounds/birds_ambient_loop.ogg"
|
||||
},
|
||||
"_music": {
|
||||
"active": true,
|
||||
"interactive": true,
|
||||
"playback_position": 7.9789567,
|
||||
"playback_position": 9.395374,
|
||||
"state": "res://gymkhana/sounds/pause_menu_loop.ogg"
|
||||
},
|
||||
"_sound": {
|
||||
@@ -260,7 +254,7 @@ settings = {
|
||||
"custom_settings": {
|
||||
"clear_text_by_click_only": false,
|
||||
"slow_text_mode": false,
|
||||
"video_subtitles": false
|
||||
"video_subtitles": true
|
||||
},
|
||||
"escoria_version": "1.0.0",
|
||||
"fullscreen": false,
|
||||
@@ -269,7 +263,7 @@ settings = {
|
||||
"sfx_volume": 1.0,
|
||||
"speech_enabled": true,
|
||||
"speech_volume": 1.0,
|
||||
"text_lang": "es",
|
||||
"text_lang": "en",
|
||||
"voice_lang": "es_ES"
|
||||
}
|
||||
custom_data = {
|
||||
|
||||
@@ -8,13 +8,13 @@ escoria_version = "1.0.0"
|
||||
game_version = "Local"
|
||||
name = "con ajo"
|
||||
date = {
|
||||
"day": 2,
|
||||
"day": 12,
|
||||
"dst": false,
|
||||
"hour": 2,
|
||||
"minute": 32,
|
||||
"hour": 0,
|
||||
"minute": 28,
|
||||
"month": 11,
|
||||
"second": 33,
|
||||
"weekday": 0,
|
||||
"second": 52,
|
||||
"weekday": 3,
|
||||
"year": 2025
|
||||
}
|
||||
main = {
|
||||
@@ -23,7 +23,6 @@ main = {
|
||||
}
|
||||
globals = {
|
||||
"ESC_CURRENT_SCENE": "cocina_delante",
|
||||
"ESC_DIALOG_CHOSEN_OPTION": "Ya he hecho las lentejas!",
|
||||
"ESC_LAST_SCENE": "cocina",
|
||||
"FORCE_LAST_SCENE_NULL": false,
|
||||
"_COUNT_turno_cocina_patata": 4,
|
||||
@@ -40,12 +39,13 @@ globals = {
|
||||
"turno_cocina_carton_encendido_picked": true,
|
||||
"turno_cocina_carton_picked": true,
|
||||
"turno_cocina_cocina_gas_encendida": false,
|
||||
"turno_cocina_cuchillo_en_su_sitio": false,
|
||||
"turno_cocina_cuchillo_picked": true,
|
||||
"turno_cocina_cuerno_picked": true,
|
||||
"turno_cocina_economica_con_madera": true,
|
||||
"turno_cocina_economica_con_olla": true,
|
||||
"turno_cocina_economica_encendida": true,
|
||||
"turno_cocina_eneko_cata_ok": false,
|
||||
"turno_cocina_eneko_cata_ok": true,
|
||||
"turno_cocina_eneko_catando": false,
|
||||
"turno_cocina_frontal_debajo_sofa": true,
|
||||
"turno_cocina_frontal_entregado": false,
|
||||
@@ -56,7 +56,6 @@ globals = {
|
||||
"turno_cocina_ingrediente_patatas": true,
|
||||
"turno_cocina_ingrediente_romero": false,
|
||||
"turno_cocina_libro_de_cocina_picked": true,
|
||||
"turno_cocina_libro_leido_count": 0.0,
|
||||
"turno_cocina_madera_picked": true,
|
||||
"turno_cocina_mechero_picked": true,
|
||||
"turno_cocina_mikel_played_times": 0.0,
|
||||
@@ -76,17 +75,11 @@ globals = {
|
||||
}
|
||||
inventory = ["turno_cocina_cuchillo", "turno_cocina_cuerno", "turno_cocina_frontal", "turno_cocina_libro_de_cocina", "turno_cocina_mechero", "turno_cocina_pegatina"]
|
||||
objects = {
|
||||
"_ambient": {
|
||||
"active": true,
|
||||
"interactive": true,
|
||||
"playback_position": 7.0617685,
|
||||
"state": "res://gymkhana/sounds/birds_ambient_loop.ogg"
|
||||
},
|
||||
"_music": {
|
||||
"active": true,
|
||||
"interactive": true,
|
||||
"playback_position": 9.000635,
|
||||
"state": "res://gymkhana/sounds/intro_menu_loop.ogg"
|
||||
"playback_position": 7.6190476,
|
||||
"state": "res://gymkhana/sounds/pause_menu_loop.ogg"
|
||||
},
|
||||
"_sound": {
|
||||
"active": true,
|
||||
@@ -112,7 +105,7 @@ objects = {
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_bol_lentejas": {
|
||||
"turno_cocina_carton_encendido": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
@@ -139,20 +132,30 @@ objects = {
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_frontal": {
|
||||
"active": true,
|
||||
"turno_cocina_mechero": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action3": "tooltip_frontal_action3",
|
||||
"action4": "tooltip_frontal_action4"
|
||||
"action1": "tooltip_common_look",
|
||||
"action2": "tooltip_common_pick",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_mechero": {
|
||||
"active": true,
|
||||
"turno_cocina_olla_vacia": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"target_tooltips": {
|
||||
"action3": {
|
||||
"turno_cocina_ajo": "tooltip_turno_cocina_olla_vacia_action3_drop_in",
|
||||
"turno_cocina_bol_lentejas": "tooltip_turno_cocina_olla_vacia_action3_drop_in",
|
||||
"turno_cocina_patata": "tooltip_turno_cocina_olla_vacia_action3_drop_in",
|
||||
"turno_cocina_romero": "tooltip_turno_cocina_olla_vacia_action3_drop_in"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"action1": "tooltip_common_look",
|
||||
"action2": "tooltip_common_pick",
|
||||
@@ -166,6 +169,7 @@ objects = {
|
||||
"turno_cocina_patata": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"count": 4,
|
||||
"count_textures": [{
|
||||
"start": 1,
|
||||
"texture": "res://gymkhana/items/assets/turno_cocina_patata.png"
|
||||
@@ -194,16 +198,6 @@ objects = {
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_peso_usado": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action3": "tooltip_common_look"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
}
|
||||
},
|
||||
"cocina_delante": {
|
||||
@@ -284,10 +278,10 @@ objects = {
|
||||
"player": {
|
||||
"active": true,
|
||||
"custom_data": {},
|
||||
"global_transform": Transform2D(0.85431373, 0, 0, 0.85431373, 716, 473),
|
||||
"global_transform": Transform2D(0.96705884, 0, 0, 0.96705884, 677.6001, 541.60004),
|
||||
"interactive": false,
|
||||
"last_deg": 71,
|
||||
"last_dir": 4,
|
||||
"last_deg": 21,
|
||||
"last_dir": 3,
|
||||
"state": "idle_down"
|
||||
},
|
||||
"puerta_cocina_start": {
|
||||
@@ -365,6 +359,17 @@ objects = {
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_frontal": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action3": "tooltip_frontal_action3",
|
||||
"action4": "tooltip_frontal_action4"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_libro_de_cocina": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
@@ -391,6 +396,27 @@ objects = {
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_patata_grande": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"target_tooltips": {
|
||||
"action3": {
|
||||
"turno_cocina_cuchillo": "tooltip_turno_cocina_patata_grande_action3_turno_cocina_cuchillo"
|
||||
},
|
||||
"action4": {
|
||||
"turno_cocina_cuchillo": "tooltip_turno_cocina_patata_grande_action4_turno_cocina_cuchillo"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"action1": "tooltip_common_look",
|
||||
"action2": "tooltip_turno_cocina_patata_grande_action2",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_pegatina": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
@@ -400,6 +426,93 @@ objects = {
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_peso": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"target_tooltips": {
|
||||
"action3": {
|
||||
"turno_cocina_bol": "tooltip_cocina_peso_action3_bol"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"action1": "tooltip_common_whats_this",
|
||||
"action2": "tooltip_common_pick",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
}
|
||||
},
|
||||
"cocina_detras": {
|
||||
"turno_cocina_carton": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"target_tooltips": {
|
||||
"action3": {
|
||||
"turno_cocina_mechero": "tooltip_turno_cocina_carton_action3_turno_cocina_mechero"
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"action1": "tooltip_common_look",
|
||||
"action2": "tooltip_common_pick",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_madera": {
|
||||
"active": false,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action1": "tooltip_cocina_delante_madera_action1",
|
||||
"action2": "tooltip_cocina_delante_madera_action2",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
}
|
||||
},
|
||||
"despensa": {
|
||||
"turno_cocina_bol_lentejas": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_peso_bol": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action1": "tooltip_common_whats_this",
|
||||
"action2": "tooltip_common_pick",
|
||||
"action3": "tooltip_common_look",
|
||||
"action4": "tooltip_common_use"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
},
|
||||
"turno_cocina_peso_usado": {
|
||||
"active": true,
|
||||
"custom_data": {
|
||||
"tooltips": {
|
||||
"action3": "tooltip_common_look"
|
||||
}
|
||||
},
|
||||
"interactive": true,
|
||||
"state": "default"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -415,17 +528,17 @@ settings = {
|
||||
"custom_settings": {
|
||||
"clear_text_by_click_only": false,
|
||||
"slow_text_mode": false,
|
||||
"video_subtitles": false
|
||||
"video_subtitles": true
|
||||
},
|
||||
"escoria_version": "1.0.0",
|
||||
"fullscreen": false,
|
||||
"master_volume": 0.35,
|
||||
"music_volume": 1.0,
|
||||
"master_volume": 1.0,
|
||||
"music_volume": 0.35,
|
||||
"sfx_volume": 1.0,
|
||||
"speech_enabled": true,
|
||||
"speech_volume": 1.0,
|
||||
"text_lang": "es",
|
||||
"voice_lang": "fr_FR"
|
||||
"text_lang": "en",
|
||||
"voice_lang": "es_ES"
|
||||
}
|
||||
custom_data = {
|
||||
"ui_type": "rtmi-ui"
|
||||
|
||||
Reference in New Issue
Block a user