Compare commits

..

6 Commits

Author SHA1 Message Date
tiger tiger tiger 53042effa2 Merge pull request 'implement texture switching and adding thank-you prompt' (#2) from laurins-lair into development
Reviewed-on: #2
Reviewed-by: tiger tiger tiger <tiger@noreply.localhost>
2026-03-12 13:07:54 +00:00
betalars ffcb9ba174 add visual distinction to old board 2026-03-11 23:09:58 +01:00
betalars 1c9c95f3b4 implement sprite-sheet switching depending on age and room 2026-03-11 13:56:53 +01:00
betalars 8637479c82 import card age variations 2026-03-11 13:54:15 +01:00
betalars ed8fac9d5e add thank-you-beta text 2026-03-06 18:46:44 +01:00
betalars 0d1713f024 rename p to prompts 2026-03-05 22:07:06 +01:00
54 changed files with 1081 additions and 115 deletions

BIN
design/cards-src/new_cardsheet_masked.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0001.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0002.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0003.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0004.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0005.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0006.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0007.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0008.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0009.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0010.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0011.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-aged0012.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0001.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0002.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0003.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0004.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0005.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0006.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0007.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0008.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0009.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0010.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0011.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/post-it-new0012.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/cards-src/second_cardset_compositing.blend (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,318 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="2000"
height="660"
viewBox="0 0 529.16665 174.625"
version="1.1"
id="svg1"
xml:space="preserve"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
sodipodi:docname="sticky-notes.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="0.52294229"
inkscape:cx="1712.4261"
inkscape:cy="651.12348"
inkscape:window-width="2560"
inkscape:window-height="1534"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"><inkscape:page
x="0"
y="0"
width="529.16663"
height="174.625"
id="page3"
margin="0"
bleed="0" /><inkscape:page
x="539.16663"
y="0"
width="529.16663"
height="174.625"
id="page4"
margin="0"
bleed="0" /><inkscape:page
x="1078.3333"
y="0"
width="529.16663"
height="174.625"
id="page5"
margin="0"
bleed="0" /></sodipodi:namedview><defs
id="defs1" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><g
id="g3"
transform="matrix(0.75000002,0,0,0.74999998,178.24974,-189.17711)"><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0012.png"
id="image1-6"
x="291.50027"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0011.png"
id="image1-2"
x="291.50027"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0010.png"
id="image1-3"
x="291.50027"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0009.png"
id="image1-26"
x="115.11139"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0008.png"
id="image1-9"
x="115.11139"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0007.png"
id="image1-37"
x="115.11139"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0006.png"
id="image1-28"
x="-61.277512"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0005.png"
id="image1-61"
x="-61.277512"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0004.png"
id="image1-1"
x="-61.277512"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0003.png"
id="image1-8"
x="-237.66641"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0002.png"
id="image1-36"
x="-237.66641"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-new0001.png"
id="image1-32"
x="-237.66641"
y="252.23615" /></g><g
id="g1"
transform="matrix(0.74999998,0,0,0.74999996,717.41637,-189.61156)"><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0012.png"
id="image1-94"
x="291.50031"
y="408.03766" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0011.png"
id="image1-17"
x="291.50031"
y="330.42654" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0010.png"
id="image1-59"
x="291.50031"
y="252.81543" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0009.png"
id="image1-73"
x="115.11139"
y="408.03766" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0008.png"
id="image1-39"
x="115.11139"
y="330.42654" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0007.png"
id="image1-29"
x="115.11139"
y="252.81543" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0006.png"
id="image1-885"
x="-61.277512"
y="408.03766" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0005.png"
id="image1-38"
x="-61.277512"
y="330.42654" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0004.png"
id="image1-15"
x="-61.277512"
y="252.81543" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0003.png"
id="image1-81"
x="-237.66641"
y="408.03766" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0002.png"
id="image1-44"
x="-237.66641"
y="330.42654" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it0001.png"
id="image1-63"
x="-237.66641"
y="252.81543" /></g><g
id="g2"
transform="matrix(0.75,0,0,0.74999998,1256.583,-189.17711)"><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0012.png"
id="image1-5"
x="291.50031"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0011.png"
id="image1-65"
x="291.50031"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0010.png"
id="image1-7"
x="291.50031"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0006.png"
id="image1-4"
x="-61.277512"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0005.png"
id="image1-68"
x="-61.277512"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0004.png"
id="image1-64"
x="-61.277512"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0003.png"
id="image1-48"
x="-237.66641"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0002.png"
id="image1-27"
x="-237.66641"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0001.png"
id="image1-10"
x="-237.66641"
y="252.23615" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0009.png"
id="image1-62"
x="115.11139"
y="407.45837" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0008.png"
id="image1-74"
x="115.11139"
y="329.84726" /><image
width="176.3889"
height="77.611115"
preserveAspectRatio="none"
xlink:href="post-it-aged0007.png"
id="image1-75"
x="115.11139"
y="252.23615" /></g></g></svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
design/post-its.blend (Stored with Git LFS)

Binary file not shown.

View File

@ -28,7 +28,7 @@ func start_room_async():
%SceneAnimationPlayer.start_soundtrack()
if not State.save_game.childhood_board_complete:
P.instruction.call_deferred("Find all three Momentos to collect all thoughts.")
Prompts.instruction.call_deferred("Find all three Momentos to collect all thoughts.")
Scenes.player_enable.emit(true)

View File

@ -316,7 +316,7 @@ We hope you are looking forward to finding a better frame of mind. ,We hope you
demo-credits,"Frame of Mind is made by betalars.
They were supported by:
Adrian Schmid, April and somebody that I used to know Programming
tiger tiger tiger, Adrian Schmid, April and somebody that I used to know Programming
Jas Arianna and Newt Voice Acting
STTLE OST
Dieu Linh Vu, Polynormal Games - Producing, Publishing and Marketing
@ -329,7 +329,7 @@ the R42 Games Accellerator and to the contributers of blender, godot and inkscap
Frame of mind is would not have been possible without purple sloth games.","Frame of Mind ist made by betalars.
Dey wurde unterstützt von:
Adrian Schmid, April und einer Person, die ich mal kannte Programmierung
tiger tiger tiger, Adrian Schmid, April und einer Person, die ich mal kannte Programmierung
Jas Arianna and Newt Voice Acting
STTLE OST
Dieu Linh Vu, Polynormal Games - Producing, Publishing und Marketing
@ -610,3 +610,6 @@ spoken text,Spoken Text,Gesprochener Text,,,
closed captions,Closed Captions,Untertitel für Hörgeschädigte,,,
UI Scale,UI Scale,UI Skalierung,,,
menu_a11y_statement,Open Information on Accessibility,Informationen zu Barrierefreiheit öffnen,,,
thank_you_beta_title,Thanks for contributing to the beta!,Danke für deinen Beitrag zur Beta!,,,
thank_you_beta_text,"We hope you enjoyed playing our game. If you did, and especially if you didnt, please take some time to fill out our feedback form. This will help us find some little things we can still enhance to make Frame of Mind as good as it can be for its release.","Wir hoffen dir hat unser Spiel gefallen. Wenn es das getan hat, und insbesondere, wenn das das nicht getan hat, nimm dir bitte ein wenig Zeit für unseren Feedback-Bogen. Das hilft uns noch ein paar Ecken und Kanten zu finden, die wir vor der Veröffentlichung noch fixen können.",,,
beta_quit,quit and open survey,Schließen und Fragebogen öffnen,,,

1 keys en de es ja notes
316 p_lovable yet I am still lovable to them. ich bin trotzdem liebenswürdig für sie.
317 p_my_trauma that isn't me, but it is my trauma. das war nicht ich, das war mein Trauma.
318 c_difficult_teachers School is difficult for teachers too Schule ist auch für Lehrkräfte fies
319 p_failing_forward and there's value in failing forward. es ist viel Wert, in der richtigen Richtung zu Scheitern.
320 p_nightmare_children children can be nightmares at times. Kinder können richtig grausam sein.
321 c_mom Mom always took care of everything at home Mom hat sich früher einfach um alles gekümmert
322 p_good_intensions that was well intended, but has now become a burden. ds war damals gut gemeint, ist aber heute richtig belastend.
329 p_bodily_needs my body really needed that. mein Körper hat das echt gebraucht!
330 c_mental_health I wish teachers knew more about mental health Es hätte so geholfen, wenn meine Lehrkräfte mehr von mentaler Gesundheit verstanden hätten
331 p_early_recognition recognising such things early makes a huge difference. so Sachen früh erkennen macht einen riesen Unterschied.
332 p_unhelpful_lectures unfortunately the lectures I had really did not help me. leider haben die Vorlesungen dazu mir gar nicht geholfen.
333 c_adhd_life I couldn't tell apart my life experience and ADHD Ich kann mein Leben und ADHS nicht ganz auseinander halten.
334 p_upset_thoughts thinking of that makes me so upset. Ich werde wütend wenn ich nur darüber nachdenke.
335 p_me_weird do others think I'm weird because of that? halten mich andere deswegen für komisch?
610
611
612
613
614
615

BIN
src/logic-scenes/board/board-texture/cardbord-box.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://diviesbhf6p77"
path="res://.godot/imported/cardbord-box.png-3bbc1757a80e471bf9aee1299244b5c7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/board-texture/cardbord-box.png"
dest_files=["res://.godot/imported/cardbord-box.png-3bbc1757a80e471bf9aee1299244b5c7.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -7,6 +7,12 @@ signal closed
@export var dropzone_padding : int = 100
@export var sticky_width : float = 400.0
@export var sticky_height : float = 110.0
@export var is_memory_board: bool = false:
set(is_memory):
is_memory_board = is_memory
if is_node_ready():
%CardboardBox.visible = is_memory
var all_names : Array[StringName] = []
var notes : Array[StickyNote] = []
@ -39,19 +45,20 @@ func _delayed_ready() ->void:
var board_room := State.room as RoomWithBoard
assert(board_room, "CardBoard spawned in room that's not a RoomWithboard.")
board_room.card_board = self
is_memory_board = is_memory_board
## Updates prompt label based on the interaction type and collected state
func _show_prompt() -> void:
var overrides : Array[StringName] = [&"menu_back"]
P.right_bottom(P.pick(&"ui_cancel"), overrides)
P.instruction(I18n.get_memento_prompt(mementos_collected))
P.performed.connect(_perform)
Prompts.right_bottom(Prompts.pick(&"ui_cancel"), overrides)
Prompts.instruction(I18n.get_memento_prompt(mementos_collected))
Prompts.performed.connect(_perform)
func _hide_prompt():
P.performed.disconnect(_perform)
P.clear()
Prompts.performed.disconnect(_perform)
Prompts.clear()
func play():
@ -324,7 +331,7 @@ func give_lore_feedback():
fitting_card_count += int(child.card_id == child.get_attached_note().parent_id)
if float(fitting_card_count) / float(total_card_count) < 0.2:
P.instruction("You can move on, but you may not have understood Lisa.")
Prompts.instruction("You can move on, but you may not have understood Lisa.")
if not unfitting:
if State.speech_language == 2:
$AnimationPlayer.play("unfitting_de")
@ -332,7 +339,7 @@ func give_lore_feedback():
$AnimationPlayer.play("unfitting")
unfitting = true
elif fitting_card_count < total_card_count:
P.instruction(TranslationServer.translate("You may leave the room, but Lisa only agrees with %d of the %d connections.") % [fitting_card_count, total_card_count])
Prompts.instruction(TranslationServer.translate("You may leave the room, but Lisa only agrees with %d of the %d connections.") % [fitting_card_count, total_card_count])
if not incomplete:
if State.speech_language == 2:
$AnimationPlayer.play("incomplete_de")
@ -340,7 +347,7 @@ func give_lore_feedback():
$AnimationPlayer.play("incomplete")
incomplete = true
else:
P.instruction("Lisa would like you to leave her room and move on.")
Prompts.instruction("Lisa would like you to leave her room and move on.")
if not complete:
if State.speech_language == 2:
$AnimationPlayer.play("complete_de")
@ -460,7 +467,7 @@ func initialise_from_save(savegame: SaveGame) -> void:
return
print("CardBoard: Loading board state from save...")
print(" Positions: %d, Attachments: %d" % [
print(" sositions: %d, Attachments: %d" % [
savegame.board_positions.size(),
savegame.board_attachments.size()
])

View File

@ -1,6 +1,52 @@
[gd_resource type="SpriteFrames" format=3 uid="uid://j7e7me3hl6xt"]
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="1_l4v2i"]
[ext_resource type="Texture2D" uid="uid://dp6fjs7j5utkw" path="res://logic-scenes/board/card-textures/new_cardsheet_masked.png" id="1_ss35y"]
[ext_resource type="Texture2D" uid="uid://dg2vrwfbvu81a" path="res://logic-scenes/board/card-textures/cardsheet_aged.png" id="2_raj2g"]
[sub_resource type="AtlasTexture" id="AtlasTexture_raj2g"]
atlas = ExtResource("1_ss35y")
region = Rect2(0, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_xl8lv"]
atlas = ExtResource("1_ss35y")
region = Rect2(600, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_l28wk"]
atlas = ExtResource("1_ss35y")
region = Rect2(0, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_sbdnw"]
atlas = ExtResource("1_ss35y")
region = Rect2(600, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_cd8vj"]
atlas = ExtResource("1_ss35y")
region = Rect2(0, 880, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_le20m"]
atlas = ExtResource("1_ss35y")
region = Rect2(600, 880, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_0smow"]
atlas = ExtResource("2_raj2g")
region = Rect2(0, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_paray"]
atlas = ExtResource("2_raj2g")
region = Rect2(600, 0, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_2bj7h"]
atlas = ExtResource("2_raj2g")
region = Rect2(0, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_fb7od"]
atlas = ExtResource("2_raj2g")
region = Rect2(600, 440, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_yj6oj"]
atlas = ExtResource("2_raj2g")
region = Rect2(0, 880, 600, 440)
[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"]
atlas = ExtResource("1_l4v2i")
@ -26,6 +72,49 @@ region = Rect2(0, 880, 600, 440)
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_raj2g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xl8lv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l28wk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sbdnw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cd8vj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_le20m")
}],
"loop": true,
"name": &"adult",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_0smow")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_paray")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2bj7h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fb7od")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yj6oj")
}],
"loop": true,
"name": &"aged",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ykk13")
}, {
"duration": 1.0,
@ -41,6 +130,6 @@ animations = [{
"texture": SubResource("AtlasTexture_j7wh6")
}],
"loop": true,
"name": &"default",
"name": &"youth",
"speed": 5.0
}]

Binary file not shown.

BIN
src/logic-scenes/board/card-textures/cardsheet_aged.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dg2vrwfbvu81a"
path="res://.godot/imported/cardsheet_aged.png-2e545dd863af0549a5c1b87e471ca56a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/card-textures/cardsheet_aged.png"
dest_files=["res://.godot/imported/cardsheet_aged.png-2e545dd863af0549a5c1b87e471ca56a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dp6fjs7j5utkw"
path="res://.godot/imported/new_cardsheet_masked.png-15eea4ee2afa1118c647ec30dd98308b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/card-textures/new_cardsheet_masked.png"
dest_files=["res://.godot/imported/new_cardsheet_masked.png-15eea4ee2afa1118c647ec30dd98308b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -1,95 +1,275 @@
[gd_resource type="SpriteFrames" format=3 uid="uid://bixem613olfie"]
[ext_resource type="Texture2D" uid="uid://c8ckkjmdegyis" path="res://logic-scenes/board/card-textures/postitsheet.png" id="1_c6eib"]
[ext_resource type="Texture2D" uid="uid://cay8l2v7n4upv" path="res://logic-scenes/board/card-textures/sticky_sheet_adult.png" id="1_u7rfb"]
[ext_resource type="Texture2D" uid="uid://canmm5j4ehjla" path="res://logic-scenes/board/card-textures/sticky_sheet_aged.png" id="2_jhwxt"]
[ext_resource type="Texture2D" uid="uid://cdwejajkpmxyo" path="res://logic-scenes/board/card-textures/sticky_sheet_youth.png" id="3_6sdaw"]
[sub_resource type="AtlasTexture" id="AtlasTexture_nj16s"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_kjsrc"]
atlas = ExtResource("1_u7rfb")
region = Rect2(0, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_23tiq"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_yjjip"]
atlas = ExtResource("1_u7rfb")
region = Rect2(500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_aomh0"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_vmoce"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1000, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_n3svg"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_tjm76"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_tfg7a"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_o4k7j"]
atlas = ExtResource("1_u7rfb")
region = Rect2(0, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_dtics"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_a5dbm"]
atlas = ExtResource("1_u7rfb")
region = Rect2(500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_e0ocs"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_7bkso"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1000, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_bpwg2"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_t4pdl"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_xaxol"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_siy8d"]
atlas = ExtResource("1_u7rfb")
region = Rect2(0, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_ifitb"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_vlwlr"]
atlas = ExtResource("1_u7rfb")
region = Rect2(500, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_6slhe"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_8qdds"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1000, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_4tk5m"]
atlas = ExtResource("1_c6eib")
[sub_resource type="AtlasTexture" id="AtlasTexture_x5ved"]
atlas = ExtResource("1_u7rfb")
region = Rect2(1500, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_3jx04"]
atlas = ExtResource("2_jhwxt")
region = Rect2(0, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_admdt"]
atlas = ExtResource("2_jhwxt")
region = Rect2(500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_5swfu"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1000, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_1sr0r"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_py4bb"]
atlas = ExtResource("2_jhwxt")
region = Rect2(0, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_21mmr"]
atlas = ExtResource("2_jhwxt")
region = Rect2(500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_y4c4w"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1000, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_y0a44"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_ea32c"]
atlas = ExtResource("2_jhwxt")
region = Rect2(0, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_1ijur"]
atlas = ExtResource("2_jhwxt")
region = Rect2(500, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_derx1"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1000, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_ig05x"]
atlas = ExtResource("2_jhwxt")
region = Rect2(1500, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_hxygb"]
atlas = ExtResource("3_6sdaw")
region = Rect2(0, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_q516a"]
atlas = ExtResource("3_6sdaw")
region = Rect2(500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_x8821"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1000, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_kbtmx"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1500, 0, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_c3shq"]
atlas = ExtResource("3_6sdaw")
region = Rect2(0, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_swkol"]
atlas = ExtResource("3_6sdaw")
region = Rect2(500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_r7w6p"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1000, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_k7obe"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1500, 220, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_soodd"]
atlas = ExtResource("3_6sdaw")
region = Rect2(0, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_hdxsk"]
atlas = ExtResource("3_6sdaw")
region = Rect2(500, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_kedgd"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1000, 440, 500, 220)
[sub_resource type="AtlasTexture" id="AtlasTexture_p0bo4"]
atlas = ExtResource("3_6sdaw")
region = Rect2(1500, 440, 500, 220)
[resource]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nj16s")
"texture": SubResource("AtlasTexture_kjsrc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_23tiq")
"texture": SubResource("AtlasTexture_yjjip")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aomh0")
"texture": SubResource("AtlasTexture_vmoce")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n3svg")
"texture": SubResource("AtlasTexture_tjm76")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tfg7a")
"texture": SubResource("AtlasTexture_o4k7j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dtics")
"texture": SubResource("AtlasTexture_a5dbm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e0ocs")
"texture": SubResource("AtlasTexture_7bkso")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bpwg2")
"texture": SubResource("AtlasTexture_t4pdl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xaxol")
"texture": SubResource("AtlasTexture_siy8d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ifitb")
"texture": SubResource("AtlasTexture_vlwlr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6slhe")
"texture": SubResource("AtlasTexture_8qdds")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4tk5m")
"texture": SubResource("AtlasTexture_x5ved")
}],
"loop": true,
"name": &"default",
"name": &"adult",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_3jx04")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_admdt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5swfu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1sr0r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_py4bb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_21mmr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y4c4w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y0a44")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ea32c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1ijur")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_derx1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ig05x")
}],
"loop": true,
"name": &"aged",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hxygb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q516a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x8821")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kbtmx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c3shq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_swkol")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r7w6p")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k7obe")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_soodd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hdxsk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kedgd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p0bo4")
}],
"loop": true,
"name": &"youth",
"speed": 5.0
}]

BIN
src/logic-scenes/board/card-textures/sticky_sheet_adult.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cay8l2v7n4upv"
path="res://.godot/imported/sticky_sheet_adult.png-2fcaaa1c5384c902ff2797d398fbf333.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/card-textures/sticky_sheet_adult.png"
dest_files=["res://.godot/imported/sticky_sheet_adult.png-2fcaaa1c5384c902ff2797d398fbf333.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
src/logic-scenes/board/card-textures/sticky_sheet_aged.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://canmm5j4ehjla"
path="res://.godot/imported/sticky_sheet_aged.png-c2fdb0f68e847a07cf080f67be5ea5df.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/card-textures/sticky_sheet_aged.png"
dest_files=["res://.godot/imported/sticky_sheet_aged.png-c2fdb0f68e847a07cf080f67be5ea5df.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
src/logic-scenes/board/card-textures/sticky_sheet_youth.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cdwejajkpmxyo"
path="res://.godot/imported/sticky_sheet_youth.png-daf393cbe0c5dd6e777a564cde903bb6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://logic-scenes/board/card-textures/sticky_sheet_youth.png"
dest_files=["res://.godot/imported/sticky_sheet_youth.png-daf393cbe0c5dd6e777a564cde903bb6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -2,6 +2,7 @@ extends Draggable
class_name Card
var card_id : StringName
var from_youth: bool
enum burned {
NOT,
@ -141,6 +142,8 @@ func init(card_name: String = "card", own_id:StringName = "-1") -> void:
push_error("Illegal card!", card_name, own_id)
card_id = own_id
name = card_name
# first digit of the card id is 0-3 for youth cards.
from_youth = (card_id as String)[0] as int < 4
func _ready():
@ -154,6 +157,14 @@ func _ready():
func _on_text_updated():
if is_node_ready() and name != "c_void" and name != "3.c_void":
if from_youth:
if State.current_room == State.rooms.YOUTH or State.onready_room == State.rooms.YOUTH:
background_sprite.animation = "youth"
else:
background_sprite.animation = "aged"
else:
background_sprite.animation = "adult"
var curr_frame := text.hash() % background_sprite.sprite_frames.get_frame_count(background_sprite.animation)
background_sprite.frame = curr_frame
@ -168,7 +179,11 @@ func _on_text_updated():
wiggle_pos = float(text.hash() % 100)
# the adult cards are more straight.
if from_youth:
label.rotation = deg_to_rad(transfor_arr[curr_frame].get_rotation())
else:
label.rotation = 0.0
#label.position = transfor_arr[curr_frame].origin
burn_progress = burn_progress

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=5 format=3 uid="uid://dy5rd437h5hsw"]
[gd_scene format=3 uid="uid://dy5rd437h5hsw"]
[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="1_emip0"]
[ext_resource type="SpriteFrames" uid="uid://j7e7me3hl6xt" path="res://logic-scenes/board/card-textures/card-sprites.tres" id="2_mai6h"]
@ -7,7 +7,7 @@
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mai6h"]
size = Vector2(277, 231)
[node name="Card" type="Area2D"]
[node name="Card" type="Area2D" unique_id=5263467]
collision_layer = 4
collision_mask = 0
priority = 50
@ -15,15 +15,17 @@ script = ExtResource("1_emip0")
text = "card"
metadata/type = "card"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1957667374]
position = Vector2(5.5, 0)
shape = SubResource("RectangleShape2D_mai6h")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=740699330]
scale = Vector2(0.6, 0.6)
sprite_frames = ExtResource("2_mai6h")
animation = &"youth"
autoplay = "youth"
[node name="Label" type="Label" parent="."]
[node name="Label" type="Label" parent="." unique_id=1847219475]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://bnskiyx1sksww"]
[gd_scene load_steps=23 format=3 uid="uid://bnskiyx1sksww"]
[ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"]
[ext_resource type="Shader" uid="uid://kyd37e0s6fdu" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"]
@ -10,6 +10,8 @@
[ext_resource type="AudioStream" uid="uid://swlo6elqs4vx" path="res://base-environments/youth_room/audio/board_incomplete_de.wav" id="7_2qppy"]
[ext_resource type="Script" uid="uid://c1oub0cs7cph6" path="res://dev-util/stereo-switch.gd" id="8_ni75f"]
[ext_resource type="AudioStream" uid="uid://y8fg3wjscvci" path="res://base-environments/youth_room/audio/board_unfitting_de.wav" id="10_kvxnu"]
[ext_resource type="Texture2D" uid="uid://diviesbhf6p77" path="res://logic-scenes/board/board-texture/cardbord-box.png" id="11_ni75f"]
[ext_resource type="FontFile" uid="uid://ch1p8h6ayxbqk" path="res://import/fonts/Caveat-VariableFont_wght.ttf" id="12_2qppy"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"]
shader = ExtResource("1_ggnth")
@ -160,6 +162,13 @@ mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_m1g7s")
script = ExtResource("3_8v4c4")
[node name="TextureRect" type="TextureRect" parent="."]
clip_contents = true
layout_direction = 3
layout_mode = 2
texture = ExtResource("11_ni75f")
expand_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
@ -188,3 +197,12 @@ volume_db = 10.0
mix_target = 2
bus = &"text"
script = ExtResource("8_ni75f")
[node name="Label" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_fonts/font = ExtResource("12_2qppy")
theme_override_font_sizes/font_size = 70
text = "take away "

View File

@ -1,8 +1,9 @@
extends Draggable
class_name StickyNote
var sticky_id
var sticky_id: StringName
var parent_id: StringName
var from_youth: bool
var sibling: StickyNote
var shift_tween: Tween
@ -70,6 +71,9 @@ func init(sticky_name: String = "sticky_note", card_id: StringName = "-1") -> vo
parent_id = StringName(card_id.rsplit(".", false, 1)[0])
sticky_id = card_id
# first digit of the card id is 0-3 for youth cards.
from_youth = (card_id as String)[0] as int < 4
func _ready() -> void:
super._ready()
label = $Content/Label
@ -81,6 +85,15 @@ func _ready() -> void:
func _on_text_updated():
label.text = text
if from_youth:
if State.current_room == State.rooms.YOUTH or State.onready_room == State.rooms.YOUTH:
background_sprite.animation = "youth"
else:
background_sprite.animation = "aged"
else:
background_sprite.animation = "adult"
background_sprite.frame = text.hash() % background_sprite.sprite_frames.get_frame_count(background_sprite.animation)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=5 format=3 uid="uid://vkcdj8c3ytbq"]
[gd_scene format=3 uid="uid://vkcdj8c3ytbq"]
[ext_resource type="Script" uid="uid://r12efqgk6t4n" path="res://logic-scenes/board/sticky-note.gd" id="1_yvh5n"]
[ext_resource type="SpriteFrames" uid="uid://bixem613olfie" path="res://logic-scenes/board/card-textures/sticky-note_sprites.tres" id="2_260t4"]
@ -8,7 +8,7 @@
radius = 48.0
height = 312.0
[node name="sticky-note" type="Area2D"]
[node name="sticky-note" type="Area2D" unique_id=1136333559]
collision_layer = 2
collision_mask = 6
priority = 100
@ -17,21 +17,22 @@ text = "card"
highlight_color = Color(1.2, 1.2, 1.2, 1)
metadata/type = "sticky-note"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1553038340]
position = Vector2(99.5, 0)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_ml4q7")
[node name="Content" type="Node2D" parent="."]
[node name="Content" type="Node2D" parent="." unique_id=578817653]
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="Content"]
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="Content" unique_id=5220114]
unique_name_in_owner = true
position = Vector2(99.5, 0)
scale = Vector2(0.65, 0.65)
sprite_frames = ExtResource("2_260t4")
frame = 3
animation = &"youth"
autoplay = "youth"
[node name="Label" type="Label" parent="Content"]
[node name="Label" type="Label" parent="Content" unique_id=1176239183]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5

View File

@ -69,7 +69,7 @@ func expand() -> void:
func collapse() -> void:
if not shown: return
shown = false
P.clear()
Prompts.clear()
if tween: tween.kill()
tween = create_tween().set_ease(Tween.EASE_IN).set_trans(Tween.TRANS_BACK)
@ -182,14 +182,14 @@ func interact() -> void:
func _show_prompt() -> void:
var overrides : Array[StringName] = []
if playable is StoryPlayable:
P.interaction(I18n.get_story_caption(playable.scene_id))
Prompts.interaction(I18n.get_story_caption(playable.scene_id))
overrides = ["listen again" if collected else "MementoLabel_collect"]
P.center(P.pick("collect_memento_ui"), overrides)
Prompts.center(Prompts.pick("collect_memento_ui"), overrides)
elif playable is CardBoard:
P.interaction("Mind Board")
Prompts.interaction("Mind Board")
overrides = ["find connections"]
P.center(P.pick("collect_memento_ui"), overrides)
Prompts.center(Prompts.pick("collect_memento_ui"), overrides)
elif playable is CardBurner:
P.interaction("Move on")
Prompts.interaction("Move on")
overrides = ["Move on"]
P.center(P.pick("collect_memento_ui"), overrides)
Prompts.center(Prompts.pick("collect_memento_ui"), overrides)

View File

@ -38,7 +38,7 @@ PromptManager="*uid://7tdmg25cjdqd"
Steam="*res://dev-util/steam.gd"
Main="*res://singletons/main/main.tscn"
I18n="*res://dev-util/i18n.gd"
P="*res://ui/prompter/prompter.tscn"
Prompts="*res://ui/prompter/prompter.tscn"
[debug]

View File

@ -1,17 +1,9 @@
[gd_scene load_steps=8 format=3 uid="uid://citwb7f4dl3l1"]
[gd_scene format=3 uid="uid://citwb7f4dl3l1"]
[ext_resource type="Texture2D" uid="uid://d0ucjqi8tx6vt" path="res://import/interface-elements/frame.png" id="1_picwm"]
[ext_resource type="FontFile" uid="uid://cb66e4mqysgf8" path="res://import/fonts/title_handwriting.tres" id="2_jb5y5"]
[ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_oob40"]
[sub_resource type="GDScript" id="GDScript_cqlqo"]
script/source = "extends Button
func _pressed():
OS.shell_open(\"https://store.steampowered.com/app/2515480/Frame_of_Mind__A_game_of_thoughts/\")
"
[sub_resource type="GDScript" id="GDScript_ugp0t"]
script/source = "extends Button
@ -36,14 +28,14 @@ func _on_pressed():
get_tree().quit()
"
[node name="ending" type="Panel"]
[node name="ending" type="Panel" unique_id=193492620]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="childhood" type="CenterContainer" parent="."]
[node name="childhood" type="CenterContainer" parent="." unique_id=241016621]
self_modulate = Color(1, 1, 1, 0.923078)
layout_mode = 1
anchors_preset = 15
@ -52,11 +44,11 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="PanelContainer" type="PanelContainer" parent="childhood"]
[node name="PanelContainer" type="PanelContainer" parent="childhood" unique_id=1457352563]
layout_mode = 2
mouse_filter = 1
[node name="StartFrame" type="TextureRect" parent="childhood/PanelContainer"]
[node name="StartFrame" type="TextureRect" parent="childhood/PanelContainer" unique_id=1355611482]
custom_minimum_size = Vector2(0, 900)
layout_mode = 2
size_flags_vertical = 0
@ -64,9 +56,9 @@ texture = ExtResource("1_picwm")
expand_mode = 2
stretch_mode = 4
[node name="Panel" type="PanelContainer" parent="childhood/PanelContainer/StartFrame"]
[node name="Panel" type="PanelContainer" parent="childhood/PanelContainer/StartFrame" unique_id=909046247]
show_behind_parent = true
layout_mode = 2
layout_mode = 0
offset_left = 199.0
offset_top = -112.0
offset_right = 1039.0
@ -74,36 +66,36 @@ offset_bottom = 697.0
rotation = 0.459022
mouse_filter = 1
[node name="VBoxContainer" type="VBoxContainer" parent="childhood/PanelContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="childhood/PanelContainer" unique_id=1532130957]
layout_mode = 2
[node name="HSeparator" type="HSeparator" parent="childhood/PanelContainer/VBoxContainer"]
[node name="HSeparator" type="HSeparator" parent="childhood/PanelContainer/VBoxContainer" unique_id=1023887909]
custom_minimum_size = Vector2(0, 20)
layout_mode = 2
[node name="Label" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
[node name="Label" type="Label" parent="childhood/PanelContainer/VBoxContainer" unique_id=1828739578]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
text = "Thanks for Playing the Demo!"
text = "thank_you_beta_title"
horizontal_alignment = 1
[node name="Label3" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
[node name="Label3" type="Label" parent="childhood/PanelContainer/VBoxContainer" unique_id=287708555]
layout_mode = 2
size_flags_horizontal = 3
text = "We hope you are looking forward to finding a better frame of mind. "
text = "thank_you_beta_text"
horizontal_alignment = 1
autowrap_mode = 3
visible_characters_behavior = 1
[node name="Button3" type="Button" parent="childhood/PanelContainer/VBoxContainer"]
[node name="Button" type="Button" parent="childhood/PanelContainer/VBoxContainer" unique_id=1529182247]
layout_mode = 2
size_flags_horizontal = 4
theme_override_fonts/font = ExtResource("2_jb5y5")
theme_override_font_sizes/font_size = 50
text = "Wishlist for a better frame of mind"
script = SubResource("GDScript_cqlqo")
text = "beta_quit"
script = SubResource("GDScript_ugp0t")
[node name="Label2" type="Label" parent="childhood/PanelContainer/VBoxContainer"]
[node name="Label2" type="Label" parent="childhood/PanelContainer/VBoxContainer" unique_id=350374625]
layout_mode = 2
size_flags_horizontal = 3
text = "demo-credits"
@ -111,21 +103,13 @@ horizontal_alignment = 1
autowrap_mode = 3
visible_characters_behavior = 1
[node name="Button" type="Button" parent="childhood/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
theme_override_fonts/font = ExtResource("2_jb5y5")
theme_override_font_sizes/font_size = 50
text = "quit"
script = SubResource("GDScript_ugp0t")
[node name="Button2" type="Button" parent="childhood/PanelContainer/VBoxContainer"]
[node name="Button2" type="Button" parent="childhood/PanelContainer/VBoxContainer" unique_id=1801377027]
layout_mode = 2
size_flags_horizontal = 4
text = "These Creative Commons pojects made frame of mind possible."
script = SubResource("GDScript_m3ofj")
[node name="StartBottom" type="TextureRect" parent="childhood/PanelContainer/VBoxContainer"]
[node name="StartBottom" type="TextureRect" parent="childhood/PanelContainer/VBoxContainer" unique_id=900491125]
custom_minimum_size = Vector2(0, 64)
layout_mode = 2
size_flags_vertical = 8
@ -133,7 +117,7 @@ texture = ExtResource("3_oob40")
expand_mode = 2
stretch_mode = 4
[node name="Button" type="Button" parent="."]
[node name="Button" type="Button" parent="." unique_id=288018089]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0