Compare commits

..

124 Commits

Author SHA1 Message Date
tiger tiger tiger 8c10640eb5 tweak: removed unused parameter waning 2026-05-06 18:14:48 +02:00
tiger tiger tiger b40bcffcfd fix: subway unloads stations on exit 2026-05-06 15:57:04 +02:00
tiger tiger tiger 06b06d8ada fix: card_board was unable to return a solid Array[Draggable] 2026-05-06 15:40:50 +02:00
betalars 6d72a09e1d Merge commit '69c8cc14f6df8d688d0d8adfd8b73fbd4e166057' into development 2026-04-20 19:56:34 +02:00
betalars 69c8cc14f6 visual updates to outside 2026-04-20 19:37:40 +02:00
betalars eb5ff356bf uuid updates 2026-04-20 19:36:31 +02:00
betalars 9ec8e1569a visual polish for volunteer room 2026-04-20 19:36:03 +02:00
tiger tiger tiger b6398e59b7 fix: world boundary / collision for subway sequence moved into proper nodes again 2026-04-15 20:12:28 +02:00
betalars 026522b9a1 Implement good-enough-for-beta smartphone assets 2026-03-26 23:28:21 +01:00
betalars 33dd1d978b chat bubble theming and import 2026-03-23 19:41:54 +01:00
betalars 15b17c639d Merge commit '39fe28f5ed2a9499fdc18f1a459c87f52dc4653d' into laurins-lair 2026-03-23 11:39:49 +01:00
betalars a63c8f3fb9 i18n updates 2026-03-23 11:37:15 +01:00
betalars 9781944174 adding shiny dice and some more voice lines 2026-03-22 23:34:48 +01:00
tiger tiger tiger 39fe28f5ed feat: signal-inspired layout and chat now loads messages from root resource 2026-03-21 13:54:42 +01:00
tiger tiger tiger 9d0272f68c fix: font polish and layouts 2026-03-20 22:06:48 +01:00
tiger tiger tiger 9c3984aee0 feat: proper layouts for own and other messages 2026-03-20 21:29:35 +01:00
tiger tiger tiger 9ce65f7004 feat: testing layout system fix 2026-03-20 15:58:00 +01:00
tiger tiger tiger 65dfda2a8e feat: testing layout system fix 2026-03-20 15:38:09 +01:00
tiger tiger tiger 64c6ae5a40 feat: layout containers for chat view 2026-03-20 14:40:17 +01:00
betalars 7982f97301 add autism poster asset 2026-03-17 22:58:50 +01:00
tiger tiger tiger 7ba13a9093 fix: autoplay disabled on cards and stickies 2026-03-12 14:25:56 +01:00
betalars 420462b242 push missing scene update 2026-03-12 14:18:20 +01:00
tiger tiger tiger fad39d1d37 fix: %CardboardBox node renamed, and take away label set as child 2026-03-12 14:14:18 +01:00
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
tiger tiger tiger e0d744450b fix: removed blend1 backup 2026-02-22 23:13:18 +01:00
tiger tiger tiger c13d3ed020 chore: light rebake 2026-02-22 17:26:39 +01:00
tiger tiger tiger b967173038 fix: restore track dollies 2026-02-22 17:11:11 +01:00
tiger tiger tiger 34dbfbb7ee chore: light rebake 2026-02-22 17:10:03 +01:00
tiger tiger tiger fd1a82c8b8 fix: gitattributes and ignore 2026-02-22 17:02:00 +01:00
tiger tiger tiger b8eb871b24 chg: port to 4.6.1 2026-02-22 17:01:35 +01:00
betalars 4c0fd2fab1 importing and syncing german voicelines 2026-01-26 17:38:00 +01:00
tiger tiger tiger 109f5d9f45 fix: rebake lights, optimize perf 2026-01-24 17:11:05 +01:00
tiger tiger tiger 24a80a1642 fix: trains left invisible 2026-01-24 17:06:58 +01:00
tiger tiger tiger 1797a13859 fix: rebake lights, optimize perf 2026-01-24 17:03:00 +01:00
tiger tiger tiger bf406970f9 fix: crash 2026-01-24 14:16:46 +01:00
tiger tiger tiger d59b9119af fix: subways couldn't stop at endstation and would travel into limbo 2026-01-24 14:12:31 +01:00
tiger tiger tiger 6dacdc95c7 feat: working on train labels 2026-01-24 13:59:14 +01:00
tiger tiger tiger df09968e86 feat: working on subway labeling and coloring system 2026-01-24 13:18:36 +01:00
tiger tiger tiger d9855e55fc fix: voluntary room starting pitch was still overridden 2026-01-24 11:07:47 +01:00
tiger tiger tiger b99864bb6b fix: card uniqueness 2026-01-24 11:01:49 +01:00
tiger tiger tiger 2f59da1441 fix: player animation track path fix 2026-01-24 10:57:55 +01:00
tiger tiger tiger cd830ac6ce fix: player animation tracks no longer cut them down by 1 head's size 2026-01-24 10:50:38 +01:00
tiger tiger tiger 5afe964bf4 tweak: improved log message 2026-01-24 10:19:00 +01:00
tiger tiger tiger 4ca3dbf993 test: reduced some normal map resolutions 2026-01-24 10:17:28 +01:00
tiger tiger tiger 49fa79f72e fix: reduced voxel GI resolution in youth room to restore light range 2026-01-24 10:14:20 +01:00
tiger tiger tiger 0d363a5948 tweak: added a (missing story caption) default for missing story captions. 2026-01-24 10:08:51 +01:00
tiger tiger tiger 6eaff1c7fc fix: wrong interpolation method... 2026-01-23 17:38:32 +01:00
tiger tiger tiger e2c2f69162 feat: back button maybe standard bottom right? 2026-01-23 16:31:14 +01:00
tiger tiger tiger 7d067ca2ac feat: board can now be left with the mouse :D 2026-01-23 16:25:28 +01:00
tiger tiger tiger 874292245c fix: wrong memento action was hooked up 2026-01-23 16:08:11 +01:00
tiger tiger tiger 4059fd8c2b fix: had corrupted a translation key by removing punctuation 2026-01-23 16:05:46 +01:00
tiger tiger tiger 2a1531a249 feat: game instruction shown in youth room for as long as no memento has been hovered and the room is not solved 2026-01-23 16:05:09 +01:00
tiger tiger tiger b3ec003acc fix: removed custom positioning of interactables in youth room 2026-01-23 15:41:39 +01:00
tiger tiger tiger 73e4ed38d0 fix: icons now refresh when icons change. 2026-01-23 15:38:21 +01:00
tiger tiger tiger a33a7bccc9 feat: first prompts implemented, various small fixed 2026-01-23 15:30:58 +01:00
tiger tiger tiger 65cdfd3282 feat: first basic prompt 2026-01-23 15:23:53 +01:00
tiger tiger tiger acb84bbb01 feat: prompter is now an autoload 2026-01-23 15:05:24 +01:00
tiger tiger tiger 85d4809356 feat: can now add things to prompter and it can perform things. 2026-01-23 14:47:10 +01:00
tiger tiger tiger 0cf78000dd fix: tool scripts were causing havoc on inherited scene editing§ 2026-01-23 14:12:12 +01:00
tiger tiger tiger 50a471bc28 feat: basic prompt button, needs work 2026-01-23 13:39:47 +01:00
tiger tiger tiger 77cc3398e3 feat: started working on prompter class. feat: curtain now hides itself entirely in debug boot. change: skip action is now called scene_skip 2026-01-23 11:30:42 +01:00
tiger tiger tiger bebfbbab00 fix: no double escape press / settings menu doesnt steal focus 2026-01-22 20:29:22 +01:00
tiger tiger tiger d9c43de267 fix: can now leave canvas (still bug needs double ESC) 2026-01-22 19:51:39 +01:00
tiger tiger tiger d9ce285bd6 fix: can now leave canvas (still bug needs double ESC) 2026-01-22 19:42:28 +01:00
tiger tiger tiger 5d7a2bdeab feat: added scroll keys and better scrolling 2026-01-22 19:31:52 +01:00
tiger tiger tiger 460f3b687c fix: scrolling of stories. 2026-01-22 19:09:46 +01:00
tiger tiger tiger d8411a9d49 fix: game never set state PLAY 2026-01-22 18:46:28 +01:00
tiger tiger tiger 4290328a52 fix: Pause Menu now halts the app state and restores it, and ensures savegame 2026-01-22 18:41:44 +01:00
tiger tiger tiger 199c267e8e fix: Pause Menu works. 2026-01-22 18:36:36 +01:00
tiger tiger tiger 1ad3566742 fix: cards now properly talk to the right handler. 2026-01-22 17:58:56 +01:00
tiger tiger tiger 451ace47e6 refactor: some events turned into gui_input 2026-01-22 17:42:56 +01:00
tiger tiger tiger 8bc4e2b079 fix: reduce debug spam 2026-01-22 17:05:27 +01:00
tiger tiger tiger 79feca85ab fix: reduce debug spam, refactor unhandled input 2026-01-22 16:43:25 +01:00
tiger tiger tiger 963e49e741 fix: adding ui_pause input action, and logging unhandled input (very spammy) 2026-01-22 16:21:12 +01:00
tiger tiger tiger e5f315af16 refactor: named the get_ready and start_room functions _async so it's clearer how they work differently 2026-01-22 16:06:11 +01:00
tiger tiger tiger 1a387f03e4 tweak: remove demo ending 2026-01-22 16:00:01 +01:00
tiger tiger tiger f0ada4c688 tweak: remove demo ending button 2026-01-22 15:59:44 +01:00
tiger tiger tiger 16db50cb26 tweak: light now in keyhole of door 2026-01-22 15:59:01 +01:00
betalars de8537d727 revert removing export from progress variable 2026-01-22 15:52:03 +01:00
tiger tiger tiger a949ba41fb Merge branch 'development' of https://community.rokojori.com/betalars/frame-of-mind into development 2026-01-22 15:13:38 +01:00
betalars 58a5a1e85d adding existing audio clips into scenes 2026-01-22 15:12:25 +01:00
betalars 1b6b9d5fa6 add blend1 files back to gitignore 2026-01-22 15:12:25 +01:00
tiger tiger tiger dbd76cec55 fix: pause menu cleanup 2026-01-22 15:12:24 +01:00
tiger tiger tiger 9ed9bdb7d8 fix: void card 2026-01-22 14:56:16 +01:00
tiger tiger tiger 76d0ba5c5c fix: can now debug-play StoryPlayables 2026-01-22 14:25:36 +01:00
tiger tiger tiger a70833adda fix: added doorinteractive to volunteer room 2026-01-22 14:19:22 +01:00
tiger tiger tiger c60bb80a86 fix: add %UI node to subway_sequence 2026-01-22 12:04:41 +01:00
tiger tiger tiger e5958bfe74 fix: ensuring %DoorInteractable gets unlocked. 2026-01-22 12:02:18 +01:00
tiger tiger tiger 662cb9b9a5 refactor: interactables also spawn more controlled, and there's a delayed inversion of control to ensure cardboard is ready. 2026-01-22 11:57:59 +01:00
tiger tiger tiger ff973c2978 refactor: rooms now ensure ID, rooms now share initialization code 2026-01-22 11:02:58 +01:00
tiger tiger tiger 270f0ab081 tweak: doors unlock the collider on the up flank 2026-01-22 01:47:15 +01:00
tiger tiger tiger 44ee583db9 fix: loading in both board rooms unified 2026-01-22 01:36:54 +01:00
tiger tiger tiger 8c03cb05e5 fix: loading savegame 3 times after merge 2026-01-22 01:28:34 +01:00
tiger tiger tiger c7a41fd229 merge: linux changes 2026-01-22 01:18:35 +01:00
tiger tiger tiger d52829e2f9 fix: card loading 2026-01-22 01:15:53 +01:00
tiger tiger tiger d9d42dc6a5 fix: improper order of operations / delegation for cardboard caused it to be not loaded 2026-01-21 23:46:46 +01:00
tiger tiger tiger e70ebca863 chore: remove count logic that was cause for a bug before 2026-01-21 23:40:53 +01:00
tiger tiger tiger 7a10b7db1a fix: evaluations now count correctly 2026-01-21 23:36:11 +01:00
tiger tiger tiger d26f272c8f fix: Id type now stricter 2026-01-21 23:32:55 +01:00
tiger tiger tiger 1a6049b2d2 fix: bootup problems resolved. 2026-01-21 23:23:00 +01:00
tiger tiger tiger 8e4fe676a2 chore: debugging cardboard, better movement, but now save state has problems§ 2026-01-21 22:35:35 +01:00
tiger tiger tiger 72fbdd4e57 chore: clean up old code 2026-01-21 21:40:30 +01:00
tiger tiger tiger 83568806b2 fix: card-board uses more single-responsibility, and now allows cards to slide nicely into the gaps 2026-01-21 21:38:31 +01:00
tiger tiger tiger d18970a887 fix: trying to make cards a bit more robust 2026-01-21 20:43:13 +01:00
tiger tiger tiger f6873ead20 fix: rosenthal station actually therapizes 2026-01-21 18:22:53 +01:00
tiger tiger tiger 896d1b89d5 feat: train easings exposed 2026-01-21 18:16:11 +01:00
tiger tiger tiger afc7ccf158 fix: godot chopped up music streams, and I found a lot of pcm compressed stuff 2026-01-21 18:01:56 +01:00
tiger tiger tiger 59c0773ac7 fix: music playing 2026-01-21 17:38:43 +01:00
tiger tiger tiger 7dde564bf1 fix: couldn't load into adult room correctly if going through the entire game 2026-01-21 17:11:25 +01:00
tiger tiger tiger 5635498b53 chore: regenerate lighting in volunteer room, and fixup collider on interactables. 2026-01-21 16:36:13 +01:00
tiger tiger tiger 5b2b80a70d fix: small sorting bug, tested adult room 2026-01-21 16:25:16 +01:00
tiger tiger tiger 48634e887c feat: interactable have a faint glow 2026-01-21 16:04:17 +01:00
tiger tiger tiger cce97774f0 feat: interactable have a faint glow 2026-01-21 16:01:51 +01:00
tiger tiger tiger 95f0af7d16 fix: interactables now handle input as delegated by player, scene_finished etc. are not emitted twice 2026-01-21 15:41:40 +01:00
tiger tiger tiger 1a1f8707b1 fix: room identification and save games were getting tangled up 2026-01-21 15:09:59 +01:00
tiger tiger tiger ac2f4b04b4 fix: glitchy appearance of storyplayables 2026-01-21 13:33:13 +01:00
tiger tiger tiger 18895fd44c fix: moved some audio sources 2026-01-21 13:25:38 +01:00
tiger tiger tiger c3f1f55990 fix: moved some audio sources 2026-01-21 13:23:54 +01:00
tiger tiger tiger 7d6c6b1545 fix: train timings, minor transition issue to adult room, train audio 2026-01-21 13:23:04 +01:00
403 changed files with 18112 additions and 4058 deletions

44
.gitattributes vendored
View File

@ -1,24 +1,50 @@
# Normalize EOL for all files that Git considers text files. # Normalize EOL for all files that Git considers text files.
* text=auto eol=lf * text=auto eol=lf
*.blend filter=lfs diff=lfs merge=lfs -text
# Explicit text files
*.gd text eol=lf
*.gdshader text eol=lf
*.cfg text eol=lf
*.tscn text eol=lf
*.tres text eol=lf
*.import text eol=lf
*.godot text eol=lf
*.md text eol=lf
*.txt text eol=lf
*.json text eol=lf
*.csv text eol=lf
*.xml text eol=lf
*.nix text eol=lf
*.svg text eol=lf
*.vdf text eol=lf
*.translation text eol=lf
*.theme text eol=lf
# Binary images
*.png filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text *.jpg filter=lfs diff=lfs merge=lfs -text
*.blend1 filter=lfs diff=lfs merge=lfs -text
*.aup3 filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text *.jpeg filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text *.tga filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text *.ico filter=lfs diff=lfs merge=lfs -text
# Art source files
*.kra filter=lfs diff=lfs merge=lfs -text *.kra filter=lfs diff=lfs merge=lfs -text
*.ase filter=lfs diff=lfs merge=lfs -text *.ase filter=lfs diff=lfs merge=lfs -text
*.aseprite filter=lfs diff=lfs merge=lfs -text *.aseprite filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text *.xcf filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text *.pdf filter=lfs diff=lfs merge=lfs -text
# 3D assets
*.blend filter=lfs diff=lfs merge=lfs -text
*.blend1 filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
# Audio
*.wav filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.flac filter=lfs diff=lfs merge=lfs -text *.flac filter=lfs diff=lfs merge=lfs -text
*.aup3 filter=lfs diff=lfs merge=lfs -text
# Fonts
*.ttf filter=lfs diff=lfs merge=lfs -text *.ttf filter=lfs diff=lfs merge=lfs -text
# Archives & packages
*.zip filter=lfs diff=lfs merge=lfs -text
# Misc binary
*.bin filter=lfs diff=lfs merge=lfs -text *.bin filter=lfs diff=lfs merge=lfs -text

6
.gitignore vendored
View File

@ -8,6 +8,10 @@ export.cfg
export_credentials.cfg export_credentials.cfg
*.tmp *.tmp
# Mics Backup and temp files
*.blend1
*.md.backup
# Imported translations (automatically generated from CSV files) # Imported translations (automatically generated from CSV files)
*.translation *.translation
@ -36,6 +40,8 @@ mono_crash.*.json
AGENTS.md AGENTS.md
CHANGELOG.md CHANGELOG.md
ISSUES.md ISSUES.md
.claude/
CLAUDE.md
.devcontainer/ .devcontainer/
**/.idea **/.idea

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/cards_compositing.blend1 (Stored with Git LFS)

Binary file not shown.

View File

@ -66,6 +66,8 @@
+ [Queen of Fire](https://www.peppercarrot.com/en/viewer/artworks__2023-05-18_Queen-of-Fire_by-David-Revoy.html), [Magic system of hereva](https://www.peppercarrot.com/en/viewer/artworks__2015-06-08_magic-system-of-hereva_by-David-Revoy.html), [Character design for a hippiah witch](https://www.peppercarrot.com/en/viewer/artworks__2020-01-03_character-design-for-a-hippiah-witch_by-David-Revoy.html), [Pepper and Carrot Book 4](https://www.drivethrucomics.com/product/385896/PepperCarrot--Book-4-Everything-Changes?src=shop) and [Saffron steampunk clothes](https://www.peppercarrot.com/en/viewer/artworks__2020-05-09_Saffron-steampunk-clothes_by-David-Revoy.html) by [David Revoy](https://www.peppercarrot.com/en/about/index.html), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en) + [Queen of Fire](https://www.peppercarrot.com/en/viewer/artworks__2023-05-18_Queen-of-Fire_by-David-Revoy.html), [Magic system of hereva](https://www.peppercarrot.com/en/viewer/artworks__2015-06-08_magic-system-of-hereva_by-David-Revoy.html), [Character design for a hippiah witch](https://www.peppercarrot.com/en/viewer/artworks__2020-01-03_character-design-for-a-hippiah-witch_by-David-Revoy.html), [Pepper and Carrot Book 4](https://www.drivethrucomics.com/product/385896/PepperCarrot--Book-4-Everything-Changes?src=shop) and [Saffron steampunk clothes](https://www.peppercarrot.com/en/viewer/artworks__2020-05-09_Saffron-steampunk-clothes_by-David-Revoy.html) by [David Revoy](https://www.peppercarrot.com/en/about/index.html), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en)
+ [Procesa, the sea witch](https://katharsisdrill.art/cc_images/Procesa_the_sea_witch.png), [Arkariater](https://katharsisdrill.art/cc_images/Arkariater.png), [Cryo hamber](https://katharsisdrill.art/cc_images/Cryo_Chamber.png) and [Caladrabn](https://katharsisdrill.art/cc_images/Caladrabn.png), by [Katharsisdrill](https://katharsisdrill.art), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en) (CW: Nudity, Body Horror) + [Procesa, the sea witch](https://katharsisdrill.art/cc_images/Procesa_the_sea_witch.png), [Arkariater](https://katharsisdrill.art/cc_images/Arkariater.png), [Cryo hamber](https://katharsisdrill.art/cc_images/Cryo_Chamber.png) and [Caladrabn](https://katharsisdrill.art/cc_images/Caladrabn.png), by [Katharsisdrill](https://katharsisdrill.art), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en) (CW: Nudity, Body Horror)
+ [Flow © Dream Well Studio](https://www.blender.org/download/releases/4-4/) by [Sacrebleu Productions, Take Five](https://flow.movie/), Splash Artwork Image licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + [Flow © Dream Well Studio](https://www.blender.org/download/releases/4-4/) by [Sacrebleu Productions, Take Five](https://flow.movie/), Splash Artwork Image licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en)
+ [Titans of Growth](https://inkscape.org/~rafael_clemos/%E2%98%85titans-of-growth), by [Rafael Cundari](https://inkscape.org/~rafael_clemos/), [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
+ [Vector Driving](https://inkscape.org/~atareumco/%E2%98%85vector-driving), by [atareumco](https://inkscape.org/~atareumco/), [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
## Pen and Paper Rulebooks ## Pen and Paper Rulebooks
- [Dungeons and Dragons](https://www.dndbeyond.com/) by Wizards of the Cost, Creative commons, [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) - [Dungeons and Dragons](https://www.dndbeyond.com/) by Wizards of the Cost, Creative commons, [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en)

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

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

BIN
design/volunteer room/dice/phone_screen.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/volunteer room/dice/smartphine.blend (Stored with Git LFS) Normal file

Binary file not shown.

BIN
design/volunteer room/outside/outside-voluntary.blend (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View File

@ -47,6 +47,7 @@ func _update_events():
# TODO: Find a cleaner way to cast these values # TODO: Find a cleaner way to cast these values
var tmp: Array = [] var tmp: Array = []
if Engine.is_editor_hint(): if Engine.is_editor_hint():
print("reading project settings")
tmp = ProjectSettings.get_setting("input/" + action)["events"] tmp = ProjectSettings.get_setting("input/" + action)["events"]
else: else:
tmp = InputMap.action_get_events(action) tmp = InputMap.action_get_events(action)

View File

@ -5,5 +5,5 @@ func _ready() -> void:
$MarkdownLabel.display_file("res://addons/markdownlabel/README.md") $MarkdownLabel.display_file("res://addons/markdownlabel/README.md")
$MarkdownLabel.task_checkbox_clicked.connect( $MarkdownLabel.task_checkbox_clicked.connect(
func(id: int, line: int, checked: bool, text: String) -> void: func(id: int, line: int, checked: bool, text: String) -> void:
print_debug("%s task #%d on line %d: %s" % ["Checked" if checked else "Unchecked", id, line, text]) print("%s task #%d on line %d: %s" % ["Checked" if checked else "Unchecked", id, line, text])
) )

View File

@ -640,7 +640,7 @@ func _reset_escaped_chars(_text: String,code:=false) -> String:
func _debug(string: String) -> void: func _debug(string: String) -> void:
if not _debug_mode: if not _debug_mode:
return return
print_debug(string) print(string)
func _denotes_fenced_code_block(line: String, character: String) -> bool: func _denotes_fenced_code_block(line: String, character: String) -> bool:
var stripped_line := line.strip_edges() var stripped_line := line.strip_edges()

Binary file not shown.

View File

@ -5,25 +5,56 @@ extends Node3D
@export var index : int = -1 @export var index : int = -1
@export var signage_group : String @export var signage_group : String
@export var pre_arrival_time : float = 17.0 @export_group("Motion")
@export var arrival_time : float = 15.0 @export_subgroup("Arrival")
@export var pre_leave_time : float = 20.0 @export var pre_arrival_time : float = 17.0 # hold train for this long (to sync with audio!)
@export var arrival_time : float = 15.0 # train takes this long to enter (shorter = faster)
@export var trans_arrival : Tween.TransitionType = Tween.TRANS_CIRC
@export var ease_arrival : Tween.EaseType = Tween.EASE_OUT
@export_subgroup("In Station")
@export var station_wait_time : float = 20.0
@export_subgroup("Departure")
@export var door_close_time : float = 1.0 @export var door_close_time : float = 1.0
@export var leave_time : float = 15.0 @export var leave_time : float = 15.0 # train takes this long to leave the platform
@export var post_leave_time : float = 5.0 @export var trans_departure : Tween.TransitionType = Tween.TRANS_QUAD
@export var ease_departure : Tween.EaseType = Tween.EASE_IN
@onready var origination : Node3D = $Origination @onready var origination : Node3D = $Origination
@onready var destination : Node3D = $Destination @onready var destination : Node3D = $Destination
@onready var subway : SubwayTrain = $Subway @onready var subway : SubwayTrain = $Subway
@onready var subway_audio_main : AudioStreamPlayer3D = %SubwayTrainAudio
@onready var subway_audio_2 : AudioStreamPlayer3D = %SubwayTrainAudioIntense
var player_on_board : bool:
get: return %EntryDetect.overlaps_body(State.player)
var tween : Tween = null var tween : Tween = null
signal departure(index : int)
## Player is about to arrive
signal train_approaching(track : Dolly)
## Player has fully arrived at station
signal train_arrived(track : Dolly)
## Player is departing in train
signal train_departing(track : Dolly)
## Player has fully left the station with train
signal train_left(track : Dolly)
func _ready() -> void: func _ready() -> void:
reset() reset()
func set_line(line: StringName):
subway.set_line(line)
## One arrival and departure ## One arrival and departure
func cycle() -> void: func cycle() -> void:
await arrive() await arrive()
@ -33,48 +64,60 @@ func reset() -> void:
if tween: tween.kill() if tween: tween.kill()
subway.global_position = origination.global_position subway.global_position = origination.global_position
func _seat_player_if_inside() -> bool: func _seat_player() -> void:
if %EntryDetect.overlaps_body(State.player):
prints("Player departs inside Train", self.name) prints("Player departs inside Train", self.name)
State.player.reparent(subway) State.player.reparent(subway)
return true
return false
func _unseat_player_if_inside() -> void: func _unseat_player() -> void:
if %EntryDetect.overlaps_body(State.player):
prints("Player arrives on Train", self.name) prints("Player arrives on Train", self.name)
State.player.reparent(get_parent()) State.player.reparent(get_parent())
func arrive(endstation : bool = false) -> void: func arrive(endstation : bool = false) -> void:
%SubwayTrainAudio.play(0) subway_audio_main.play()
%SubwayTrainAudioIntense.play(0) subway_audio_2.play()
await get_tree().create_timer(pre_arrival_time).timeout await get_tree().create_timer(pre_arrival_time).timeout
if player_on_board:
train_approaching.emit(self)
if tween: tween.kill() if tween: tween.kill()
tween = create_tween().set_trans(Tween.TRANS_CIRC).set_ease(Tween.EASE_OUT) tween = create_tween().set_trans(trans_arrival).set_ease(ease_arrival)
tween.parallel().tween_property(subway, "global_position", self.global_position, arrival_time) tween.parallel().tween_property(subway, "global_position", self.global_position, arrival_time)
await tween.finished await tween.finished
subway.door_open = true subway.door_open = true
_unseat_player_if_inside()
if player_on_board:
_unseat_player()
train_arrived.emit(self)
if endstation: if endstation:
%SubwayTrainAudio.stop() subway_audio_main.stop()
%SubwayTrainAudioIntense.stop() subway_audio_2.stop()
func leave() -> void: func leave() -> void:
await get_tree().create_timer(pre_leave_time).timeout await get_tree().create_timer(station_wait_time).timeout
subway.door_open = false subway.door_open = false
await get_tree().create_timer(door_close_time).timeout await get_tree().create_timer(door_close_time).timeout
var seated := _seat_player_if_inside()
if player_on_board:
_seat_player()
train_departing.emit(self)
if tween: tween.kill() if tween: tween.kill()
tween = create_tween().set_trans(Tween.TRANS_QUART).set_ease(Tween.EASE_IN) tween = create_tween().set_trans(trans_departure).set_ease(ease_departure)
tween.parallel().tween_property(subway, "global_position", destination.global_position, leave_time) tween.parallel().tween_property(subway, "global_position", destination.global_position, leave_time)
# Player is on board and will be leaving
await tween.finished await tween.finished
await %SubwayTrainAudio.finished
# Player was on board and has left the station # Player was on board and has left the station
if seated: departure.emit(index) if player_on_board: train_left.emit(self)
reset() reset() # Warp back / rewind train position

View File

@ -1,52 +1,57 @@
class_name Fahrplan extends Node3D class_name Fahrplan extends Node3D
## easy graph: <station> : [Track1Train1 (next halt), Track1Train2], [Track2Train1(next halt), ...] ## easy graph: <station> : [Track1Train1 (next halt), Track1Train2], [Track2Train1(next halt), ...]
@onready var fahrplan : Dictionary[Node3D, Array] = { ## CAVEAT: These must be direct children of the fahrplan!
$station_hirschfeld: [[$station_university_mensa, $station_parity_square],[]], @onready var fahrplan : Dictionary[Station, Array] = {
$station_hirschfeld : [[$station_university_mensa, $station_parity_square],[]], $hirschfeld: [["u2", $uni_mensa, "u1", $parity_square],[]],
$station_university_mensa : [[$station_university_main],[]], $uni_mensa : [["u2", $uni_main],[]],
$station_university_main: [[$station_ministry],[$station_rosenthal, $station_university_mensa]], $uni_main: [["u2", $ministry],["u8", $rosenthal, "u2", $uni_mensa, "u1", $saint_exupery]],
$station_parity_square : [[$station_saint_exupery],[$station_rosenthal]], $parity_square : [["u4", $saint_exupery, "u1", $saint_exupery], []],
$station_saint_exupery : [[$station_saint_exupery],[$station_rosenthal]], $saint_exupery : [["u4", $rosenthal], ["u1", $uni_main]],
$station_ministry : [null,null], # Endstation $ministry : [null, null], # Endstation
$station_rosenthal : [null,null], # Endstation $rosenthal : [null, null], # Endstation
} }
## List of all registered station nodes, used to unparent them
@onready var stations : Array[Station] = fahrplan.keys()
@onready var tracks : Array[Dolly] = [%Track0Dolly, %Track1Dolly] @onready var tracks : Array[Dolly] = [%Track0Dolly, %Track1Dolly]
@export var random_wait : Vector2 = Vector2(1.0, 10.0) @export var empty_train_random_delay : Vector2 = Vector2(5.0, 20.0)
func _set_signage_texts(group: StringName, message: String) -> void: func _set_signage_texts(group: StringName, message: String) -> void:
get_tree().call_group(group, "set_text", "") get_tree().set_group(group, "text", "")
for i in range(len(message)): for i in range(len(message)):
get_tree().call_group(group, "set_text", message.substr(0, i+1)) get_tree().set_group(group, "text", message.substr(0, i+1))
await get_tree().create_timer(0.05).timeout await get_tree().create_timer(0.05).timeout
func _ready() -> void: func _ready() -> void:
var x : Node3D = $station_hirschfeld
print(x.name)
await get_tree().process_frame await get_tree().process_frame
tracks[0].departure.connect(player_departed) tracks[0].train_left.connect(_player_train_left)
tracks[1].departure.connect(player_departed) tracks[1].train_left.connect(_player_train_left)
enter_station($station_hirschfeld) _unparent_all_stations_except($hirschfeld)
enter_station(current)
var current_station : Node3D = null ## The current station
var current : Station
var stop := false var stop := false
var destinations : Array[Node3D] = [null, null] var destinations : Array[Station] = [null, null]
func train_traffic_loop(track: Dolly, cancel: Array) -> void: ## Begins the scheduled traffic (looping through the list of destinations) on a given track
func _begin_traffic_loop(track: Dolly, cancel: Array) -> void:
if not track.player_on_board and fahrplan[current][track.index] == null: # empty trains dont arrive at endstation
_set_signage_texts(track.signage_group, "Gleis gesperrt")
return
if fahrplan[current_station][track.index] == null: # empty array (just no routes) would be falsy if fahrplan[current][track.index] == null: # empty trains dont arrive at endstation
track.arrive(true) track.arrive(true)
_set_signage_texts(track.signage_group, "Endstation") _set_signage_texts(track.signage_group, "Endstation")
return return
var routes : Array = fahrplan[current_station][track.index] var routes : Array = fahrplan[current][track.index]
if routes.is_empty(): if routes.is_empty():
_set_signage_texts(track.signage_group, "Verkehr z. Zt.\nunregelmäßig") _set_signage_texts(track.signage_group, "Verkehr z. Zt.\nunregelmäßig")
return return
@ -54,13 +59,19 @@ func train_traffic_loop(track: Dolly, cancel: Array) -> void:
while true: while true:
if cancel.is_empty(): return # abort the loop if cancel.is_empty(): return # abort the loop
var next : Node = routes.pop_front() var line : StringName = routes.pop_front()
var next : Station = routes.pop_front()
routes.append(line) # It's a ring buffer
routes.append(next) # It's a ring buffer routes.append(next) # It's a ring buffer
destinations[track.index] = next destinations[track.index] = next
_set_signage_texts(track.signage_group, next.name) # TODO: load nice string track.set_line(line)
_set_signage_texts(track.signage_group, current.get_label(line, next)) # TODO: load nice string
await get_tree().create_timer(randf_range(random_wait.x, random_wait.y)).timeout # Vary our schedule a little by making empty trains wait a random amount of time
if not track.player_on_board:
await get_tree().create_timer(randf_range(empty_train_random_delay.x, empty_train_random_delay.y)).timeout
if cancel.is_empty(): return # abort the loop if cancel.is_empty(): return # abort the loop
await track.cycle() # arrive and depart await track.cycle() # arrive and depart
@ -68,16 +79,30 @@ func train_traffic_loop(track: Dolly, cancel: Array) -> void:
var cancellation_token : Array var cancellation_token : Array
func enter_station(station: Node): func enter_station(station: Station):
prints("------------", "ENTER STATION", station, station.name, "------------") prints("------------", "ENTER STATION", station, station.name, "------------")
if current_station: current_station.visible = false remove_child(current)
current_station = station current = station
current_station.visible = true add_child(station)
cancellation_token = ["go"] # Allocate a new stopping token cancellation_token = ["go"] # Allocate a new stopping token
train_traffic_loop(tracks[0], cancellation_token) _begin_traffic_loop(tracks[0], cancellation_token)
train_traffic_loop(tracks[1], cancellation_token) _begin_traffic_loop(tracks[1], cancellation_token)
func player_departed(track_index : int) -> void: func _player_train_left(track: Dolly) -> void:
cancellation_token.clear() cancellation_token.clear()
enter_station(destinations[track_index]) enter_station(destinations[track.index])
func _unparent_all_stations_except(except : Node3D):
for station in stations:
assert(station.get_parent() == self, "A station that isn't a child of Fahrplan is in the Fahrplan: %s" % station.name)
station.visible = true # Make visible by default, parenting handles visibility and collision
if station == except:
current = station
continue
remove_child(station)
func unload() -> void:
for station in stations:
station.queue_free()

View File

@ -1,18 +1,8 @@
class_name Station extends Resource extends Node3D
class_name Station
enum id { @export var i18n_key : StringName
HIRSCHFELD, @export var train_labels : Dictionary[StringName,String] = {}
PARITY,
EXUPERY,
ROSENTHAL,
UNI_1,
UNI_2,
MINISTRY
}
@export var station_name: StringName = "" func get_label(line: StringName, next_stop: Station) -> String:
@export var memory: Scenes.id = Scenes.id.YOUTH_DRAVEN return train_labels.get(line+next_stop.name, line+next_stop.name)
@export_file("*.tscn") var station_path: String = ""
@export var arriving_lines: Dictionary[TrainLine.id, float]
@export var departing_lines: Dictionary[TrainLine.id, float]
@export var announcement: AudioStream

View File

@ -1 +1 @@
uid://cyeh7sa20bmcf uid://pmhadgsfinjc

View File

@ -1,27 +1,27 @@
extends RoomTemplate extends Room
class_name SubwaySequence class_name SubwaySequence
@export var all_stations: Dictionary[Station.id, Station]
@export var all_lines: Dictionary[TrainLine.id, TrainLine]
func _ready() -> void: func _ready() -> void:
super._ready()
id = State.rooms.TRANSITION id = State.rooms.TRANSITION
super._ready()
func get_ready_async() -> void:
await super.get_ready_async()
func start_room_async():
await super.start_room_async()
func start_room():
super.start_room()
Scenes.player_enable.emit(true) Scenes.player_enable.emit(true)
await Main.curtain.open() await Main.curtain.open()
var next_room : String = await proceed # emitted by burnout_station.gd and therapy_station.gd
await Main.curtain.black()
Main._load_room(next_room)
func pull_save_state(save: SaveGame) -> void: func pull_save_state(save: SaveGame) -> void:
#FIXME
save.sequences_enabled = Scenes.enabled_sequences save.sequences_enabled = Scenes.enabled_sequences
save.current_room = State.rooms.ADULTHOOD
save_game = save save_game = save
# Call parent to restore player position # Call parent to restore player position
super.pull_save_state(save) super.pull_save_state(save)
func unload() -> void:
$Logic/Fahrplan.unload()

View File

@ -1,6 +1,8 @@
extends Node3D extends Node3D
class_name SubwayTrain class_name SubwayTrain
@export var materials : Dictionary[StringName, Material] = {}
@export var door_open: bool: @export var door_open: bool:
set(open): set(open):
if door_open == open: return if door_open == open: return
@ -10,8 +12,10 @@ class_name SubwayTrain
else: else:
%TrainModel/AnimationPlayer.play("door_close") %TrainModel/AnimationPlayer.play("door_close")
func _ready() -> void:
%TrainModel/AnimationPlayer.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(_discard) -> void:
%FrontWallClosed.disabled = door_open %FrontWallClosed.disabled = door_open
func set_line(line : StringName):
$TrainModel/traun_hull.material_overlay = materials[line]
$TrainModel/LineLabelBack.text = line.to_upper()
$TrainModel/LineLabelFront.text = line.to_upper()

View File

@ -1,14 +0,0 @@
class_name TrainLine extends Resource
enum id {
NONE,
RING,
U2,
U3,
U8
}
@export var train_id: id = id.NONE
@export var destination: StringName = ""
@export var via: StringName = ""
@export var stops: Dictionary[Station, float]

View File

@ -1 +0,0 @@
uid://dfkq0djtygmma

View File

@ -5,5 +5,4 @@ resource_name = "display"
cull_mode = 2 cull_mode = 2
albedo_color = Color(0.16613327, 0.10919999, 0.28, 1) albedo_color = Color(0.16613327, 0.10919999, 0.28, 1)
metallic = 0.1 metallic = 0.1
metallic_specular = 0.3 roughness = 0.4
roughness = 0.15

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=12 format=3 uid="uid://tuv111h6jsnu"] [gd_scene format=3 uid="uid://tuv111h6jsnu"]
[ext_resource type="PackedScene" uid="uid://swh2v0icrwum" path="res://base-environments/transition/import/meta_station.glb" id="1_yekr5"] [ext_resource type="PackedScene" uid="uid://swh2v0icrwum" path="res://base-environments/transition/import/meta_station.glb" id="1_yekr5"]
[ext_resource type="Shader" uid="uid://i3k8blcd043t" path="res://base-environments/transition/shaders/escalator_disp.gdshader" id="2_klf6x"] [ext_resource type="Shader" uid="uid://i3k8blcd043t" path="res://base-environments/transition/shaders/escalator_disp.gdshader" id="2_klf6x"]
@ -56,103 +56,127 @@ shader_parameter/density = 0.05
[sub_resource type="PlaneMesh" id="PlaneMesh_yyrp7"] [sub_resource type="PlaneMesh" id="PlaneMesh_yyrp7"]
[node name="meta_station" instance=ExtResource("1_yekr5")] [sub_resource type="BoxShape3D" id="BoxShape3D_yyrp7"]
size = Vector3(8, 2.5, 0.5)
[node name="water_001" parent="." index="0"] [sub_resource type="BoxShape3D" id="BoxShape3D_jh12p"]
size = Vector3(4, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_f7u4i"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_8c00m"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_6sjee"]
size = Vector3(4.393, 2.5, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_2mi8a"]
size = Vector3(0.4, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_sw3d8"]
size = Vector3(2.393, 1.0219727, 1.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_nwu5x"]
size = Vector3(4.325035, 0.5001221, 29.45169)
[node name="meta_station" unique_id=862984273 instance=ExtResource("1_yekr5")]
[node name="water_001" parent="." index="0" unique_id=111926402]
gi_mode = 0 gi_mode = 0
[node name="water" parent="." index="1"] [node name="water" parent="." index="1" unique_id=1328856464]
gi_mode = 0 gi_mode = 0
[node name="signal_lights_004" parent="." index="21"] [node name="signal_lights_004" parent="." index="21" unique_id=972850034]
gi_mode = 2 gi_mode = 2
[node name="TransformerBuzzAudio" type="AudioStreamPlayer3D" parent="signal_lights_004" index="0"] [node name="TransformerBuzzAudio" type="AudioStreamPlayer3D" parent="signal_lights_004" index="0" unique_id=1439750635]
transform = Transform3D(1, 0, 0, 0, 1, -8.526513e-14, 0, 8.526513e-14, 1, 2.947373, 0.36035156, 1.2887176e-07) transform = Transform3D(1, 0, 0, 0, 1, -8.526513e-14, 0, 8.526513e-14, 1, 2.947373, 0.36035156, 1.2887176e-07)
stream = ExtResource("2_yyrp7") stream = ExtResource("2_yyrp7")
unit_size = 2.0 unit_size = 2.0
autoplay = true autoplay = true
bus = &"sfx" bus = &"sfx"
[node name="signal_lights_003" parent="." index="22"] [node name="signal_lights_003" parent="." index="22" unique_id=1393034]
gi_mode = 2 gi_mode = 2
[node name="signal_lights_002" parent="." index="23"] [node name="signal_lights_002" parent="." index="23" unique_id=52720530]
gi_mode = 2 gi_mode = 2
[node name="TransformerBuzzAudio" type="AudioStreamPlayer3D" parent="signal_lights_002" index="0"] [node name="TransformerBuzzAudio" type="AudioStreamPlayer3D" parent="signal_lights_002" index="0" unique_id=1680482042]
transform = Transform3D(1, 0, -8.351873e-23, 0, 1, 1.9106857e-15, -8.351873e-23, 0, 1, -8.365656, -0.024308532, 3.6567445e-07) transform = Transform3D(1, 0, -8.351873e-23, 0, 1, 1.9106857e-15, -8.351873e-23, 0, 1, -8.365656, -0.024308532, 3.6567445e-07)
stream = ExtResource("2_yyrp7") stream = ExtResource("2_yyrp7")
unit_size = 2.0 unit_size = 2.0
autoplay = true autoplay = true
bus = &"sfx" bus = &"sfx"
[node name="signal_lights_001" parent="." index="24"] [node name="signal_lights_001" parent="." index="24" unique_id=1944425223]
gi_mode = 2 gi_mode = 2
[node name="railway_lighting" parent="." index="35"] [node name="railway_lighting" parent="." index="35" unique_id=2080917627]
cast_shadow = 0 cast_shadow = 0
gi_mode = 2 gi_mode = 2
[node name="FluorescentLuz" parent="." index="41"] [node name="FluorescentLuz" parent="." index="41" unique_id=1745682064]
cast_shadow = 0 cast_shadow = 0
[node name="escalator_stairs_L" parent="." index="43"] [node name="escalator_stairs_L" parent="." index="43" unique_id=1621434836]
custom_aabb = AABB(-0.8, 0, -1, 1.6, 3.5, 7) custom_aabb = AABB(-0.8, 0, -1, 1.6, 3.5, 7)
gi_mode = 0 gi_mode = 0
surface_material_override/0 = SubResource("ShaderMaterial_jh12p") surface_material_override/0 = SubResource("ShaderMaterial_jh12p")
[node name="Ceiling" parent="." index="44"] [node name="Ceiling" parent="." index="44" unique_id=143112021]
cast_shadow = 0 cast_shadow = 0
[node name="escalator_stairs_L_001" parent="." index="46"] [node name="escalator_stairs_L_001" parent="." index="46" unique_id=774045853]
transform = Transform3D(1, 0, 2.3841858e-07, 0, 1, 0, -2.3841858e-07, 0, 1, -0.854971, 3.1997495, 4.8378654) transform = Transform3D(1, 0, 2.3841858e-07, 0, 1, 0, -2.3841858e-07, 0, 1, -0.854971, 3.1997495, 4.8378654)
material_override = SubResource("ShaderMaterial_klf6x") material_override = SubResource("ShaderMaterial_klf6x")
custom_aabb = AABB(-0.8, -3, -9, 1.6, 3.5, 7) custom_aabb = AABB(-0.8, -3, -9, 1.6, 3.5, 7)
gi_mode = 0 gi_mode = 0
[node name="Voids" type="Node3D" parent="." index="47"] [node name="Voids" type="Node3D" parent="." index="47" unique_id=1990649157]
transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 1, 0, 0, 0) transform = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 1, 0, 0, 0)
[node name="Void" type="MeshInstance3D" parent="Voids" index="0"] [node name="Void" type="MeshInstance3D" parent="Voids" index="0" unique_id=145697625]
transform = Transform3D(3.52244, 0, 0, 0, -1.1920929e-07, 2.81712, 0, -2.81712, -1.1920929e-07, -6.37235, 1.2251098, 0.16566086) transform = Transform3D(3.52244, 0, 0, 0, -1.1920929e-07, 2.81712, 0, -2.81712, -1.1920929e-07, -6.37235, 1.2251098, 0.16566086)
material_override = SubResource("ShaderMaterial_e0ljd") material_override = SubResource("ShaderMaterial_e0ljd")
gi_mode = 0 gi_mode = 0
mesh = SubResource("PlaneMesh_yyrp7") mesh = SubResource("PlaneMesh_yyrp7")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Void2" type="MeshInstance3D" parent="Voids" index="1"] [node name="Void2" type="MeshInstance3D" parent="Voids" index="1" unique_id=1359246771]
transform = Transform3D(3.52244, 0, 0, 0, -1.1920929e-07, 2.81712, 0, -2.81712, -1.1920929e-07, 6.372, 1.2249999, 0.16599989) transform = Transform3D(3.52244, 0, 0, 0, -1.1920929e-07, 2.81712, 0, -2.81712, -1.1920929e-07, 6.372, 1.2249999, 0.16599989)
material_override = SubResource("ShaderMaterial_e0ljd") material_override = SubResource("ShaderMaterial_e0ljd")
gi_mode = 0 gi_mode = 0
mesh = SubResource("PlaneMesh_yyrp7") mesh = SubResource("PlaneMesh_yyrp7")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Void3" type="MeshInstance3D" parent="Voids" index="2"] [node name="Void3" type="MeshInstance3D" parent="Voids" index="2" unique_id=1648551827]
transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.1920929e-07, 2.81712, -3.07942e-07, 2.81712, 1.1920929e-07, 6.372, 1.2251072, -66.291595) transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.1920929e-07, 2.81712, -3.07942e-07, 2.81712, 1.1920929e-07, 6.372, 1.2251072, -66.291595)
material_override = SubResource("ShaderMaterial_e0ljd") material_override = SubResource("ShaderMaterial_e0ljd")
gi_mode = 0 gi_mode = 0
mesh = SubResource("PlaneMesh_yyrp7") mesh = SubResource("PlaneMesh_yyrp7")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Void4" type="MeshInstance3D" parent="Voids" index="3"] [node name="Void4" type="MeshInstance3D" parent="Voids" index="3" unique_id=1928136706]
transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.1920929e-07, 2.81712, -3.07942e-07, 2.81712, 1.1920929e-07, -6.37235, 1.2250023, -66.29199) transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.1920929e-07, 2.81712, -3.07942e-07, 2.81712, 1.1920929e-07, -6.37235, 1.2250023, -66.29199)
material_override = SubResource("ShaderMaterial_e0ljd") material_override = SubResource("ShaderMaterial_e0ljd")
gi_mode = 0 gi_mode = 0
mesh = SubResource("PlaneMesh_yyrp7") mesh = SubResource("PlaneMesh_yyrp7")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Void5" type="MeshInstance3D" parent="Voids" index="4"] [node name="Void5" type="MeshInstance3D" parent="Voids" index="4" unique_id=144937323]
transform = Transform3D(3.52244, 0, 0, 0, -2.21081, 1.7459902, 0, -1.7459902, -2.21081, 0, 4.91844, 1.5205798) transform = Transform3D(3.52244, 0, 0, 0, -2.21081, 1.7459902, 0, -1.7459902, -2.21081, 0, 4.91844, 1.5205798)
material_override = SubResource("ShaderMaterial_e0ljd") material_override = SubResource("ShaderMaterial_e0ljd")
gi_mode = 0 gi_mode = 0
mesh = SubResource("PlaneMesh_yyrp7") mesh = SubResource("PlaneMesh_yyrp7")
skeleton = NodePath("") skeleton = NodePath("")
[node name="station_display_R" parent="." index="48"] [node name="station_display_R" parent="." index="48" unique_id=717625287]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="station_display_R" index="0" groups=["signage2"]] [node name="Label3D" type="Label3D" parent="station_display_R" index="0" unique_id=1483256478 groups=["signage2"]]
transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -163,7 +187,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="station_display_R" index="1" groups=["signage2"]] [node name="Label3D2" type="Label3D" parent="station_display_R" index="1" unique_id=200294395 groups=["signage2"]]
transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -174,10 +198,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_012" parent="." index="49"] [node name="Cube_012" parent="." index="49" unique_id=344629753]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_012" index="0" groups=["signage1"]] [node name="Label3D" type="Label3D" parent="Cube_012" index="0" unique_id=663534524 groups=["signage1"]]
transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458555, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458555, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -188,7 +212,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_012" index="1" groups=["signage1"]] [node name="Label3D2" type="Label3D" parent="Cube_012" index="1" unique_id=1765168718 groups=["signage1"]]
transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -199,10 +223,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_014" parent="." index="50"] [node name="Cube_014" parent="." index="50" unique_id=1445806880]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_014" index="0" groups=["signage2"]] [node name="Label3D" type="Label3D" parent="Cube_014" index="0" unique_id=433447963 groups=["signage2"]]
transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -213,7 +237,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_014" index="1" groups=["signage2"]] [node name="Label3D2" type="Label3D" parent="Cube_014" index="1" unique_id=504377523 groups=["signage2"]]
transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -224,10 +248,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_016" parent="." index="51"] [node name="Cube_016" parent="." index="51" unique_id=1680412331]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_016" index="0" groups=["signage1", "signage2"]] [node name="Label3D" type="Label3D" parent="Cube_016" index="0" unique_id=869875951 groups=["signage1", "signage2"]]
transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -238,7 +262,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_016" index="1" groups=["signage1"]] [node name="Label3D2" type="Label3D" parent="Cube_016" index="1" unique_id=161017806 groups=["signage1"]]
transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -249,10 +273,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_010" parent="." index="52"] [node name="Cube_010" parent="." index="52" unique_id=1863769251]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_010" index="0" groups=["signage2"]] [node name="Label3D" type="Label3D" parent="Cube_010" index="0" unique_id=521079851 groups=["signage2"]]
transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -263,7 +287,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_010" index="1" groups=["signage2"]] [node name="Label3D2" type="Label3D" parent="Cube_010" index="1" unique_id=1080113923 groups=["signage2"]]
transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -274,10 +298,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_017" parent="." index="53"] [node name="Cube_017" parent="." index="53" unique_id=48237932]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_017" index="0" groups=["signage1"]] [node name="Label3D" type="Label3D" parent="Cube_017" index="0" unique_id=1122044412 groups=["signage1"]]
transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458555, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458555, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -288,7 +312,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_017" index="1" groups=["signage1"]] [node name="Label3D2" type="Label3D" parent="Cube_017" index="1" unique_id=973870713 groups=["signage1"]]
transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.855903, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.855903, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -299,10 +323,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_018" parent="." index="54"] [node name="Cube_018" parent="." index="54" unique_id=176965991]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_018" index="0" groups=["signage2"]] [node name="Label3D" type="Label3D" parent="Cube_018" index="0" unique_id=223573175 groups=["signage2"]]
transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895195e-13, 0, 1, 0, -1.9895195e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -313,7 +337,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_018" index="1" groups=["signage2"]] [node name="Label3D2" type="Label3D" parent="Cube_018" index="1" unique_id=1733940824 groups=["signage2"]]
transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742282e-08, 0, 1, 0, 8.742282e-08, 0, -1, 0.85590327, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -324,10 +348,10 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Cube_019" parent="." index="55"] [node name="Cube_019" parent="." index="55" unique_id=1049546297]
cast_shadow = 0 cast_shadow = 0
[node name="Label3D" type="Label3D" parent="Cube_019" index="0" groups=["signage1"]] [node name="Label3D" type="Label3D" parent="Cube_019" index="0" unique_id=1354074723 groups=["signage1"]]
transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458553, 0.35, 0.1) transform = Transform3D(1, 0, 1.9895197e-13, 0, 1, 0, -1.9895197e-13, 0, 1, -0.8458553, 0.35, 0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -338,7 +362,7 @@ outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Label3D2" type="Label3D" parent="Cube_019" index="1" groups=["signage1"]] [node name="Label3D2" type="Label3D" parent="Cube_019" index="1" unique_id=1646653447 groups=["signage1"]]
transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1) transform = Transform3D(-1, 0, -8.742293e-08, 0, 1, 0, 8.742293e-08, 0, -1, 0.85590315, 0.35, -0.1)
transparency = 0.6 transparency = 0.6
modulate = Color(2.454227, 1.0085243, 0.54216844, 1) modulate = Color(2.454227, 1.0085243, 0.54216844, 1)
@ -348,3 +372,102 @@ font = ExtResource("5_e0ljd")
outline_size = 2 outline_size = 2
horizontal_alignment = 0 horizontal_alignment = 0
vertical_alignment = 0 vertical_alignment = 0
[node name="Collision" type="StaticBody3D" parent="." index="56" unique_id=1055434316]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.015596004, -0.007891655, 0.018885009)
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Collision" index="0" unique_id=905570126]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, -66.5)
shape = SubResource("BoxShape3D_yyrp7")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Collision" index="1" unique_id=171734135]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, 0.25)
shape = SubResource("BoxShape3D_yyrp7")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Collision" index="2" unique_id=1336395804]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.8523458, 1, -1.1576476)
shape = SubResource("BoxShape3D_jh12p")
[node name="CollisionShape3D7" type="CollisionShape3D" parent="Collision" index="3" unique_id=459417206]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.567, 1.031, -2)
shape = SubResource("BoxShape3D_f7u4i")
[node name="CollisionShape3D8" type="CollisionShape3D" parent="Collision" index="4" unique_id=1713197009]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.567, 1.031, -2)
shape = SubResource("BoxShape3D_8c00m")
[node name="CollisionShape3D9" type="CollisionShape3D" parent="Collision" index="5" unique_id=1762662266]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 1.031, -2)
shape = SubResource("BoxShape3D_6sjee")
[node name="CollisionShape3D10" type="CollisionShape3D" parent="Collision" index="6" unique_id=301178296]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -7.783883)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D11" type="CollisionShape3D" parent="Collision" index="7" unique_id=769617460]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -9.45743)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D12" type="CollisionShape3D" parent="Collision" index="8" unique_id=1739733979]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -17.783882)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D13" type="CollisionShape3D" parent="Collision" index="9" unique_id=452385568]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -19.45743)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D14" type="CollisionShape3D" parent="Collision" index="10" unique_id=1034267510]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -16.102852)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D15" type="CollisionShape3D" parent="Collision" index="11" unique_id=1680690289]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -27.783882)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Collision" index="12" unique_id=1047818203]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -29.45743)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D17" type="CollisionShape3D" parent="Collision" index="13" unique_id=1702025022]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -26.102852)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D18" type="CollisionShape3D" parent="Collision" index="14" unique_id=258872744]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -37.783882)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D19" type="CollisionShape3D" parent="Collision" index="15" unique_id=1156771712]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -39.457428)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D20" type="CollisionShape3D" parent="Collision" index="16" unique_id=508183040]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -36.10285)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D21" type="CollisionShape3D" parent="Collision" index="17" unique_id=1259391866]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -47.783882)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D22" type="CollisionShape3D" parent="Collision" index="18" unique_id=1503501217]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -49.457428)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D23" type="CollisionShape3D" parent="Collision" index="19" unique_id=2073149697]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -46.10285)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D24" type="CollisionShape3D" parent="Collision" index="20" unique_id=1205879072]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -57.783882)
shape = SubResource("BoxShape3D_2mi8a")
[node name="CollisionShape3D26" type="CollisionShape3D" parent="Collision" index="21" unique_id=735293042]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -56.10285)
shape = SubResource("BoxShape3D_sw3d8")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="Collision" index="22" unique_id=597591053]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.8618617, 1, -1.1576476)
shape = SubResource("BoxShape3D_jh12p")
[node name="train" type="CollisionShape3D" parent="Collision" index="23" unique_id=1987119272]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.0680046, -0.24993896, -32.189793)
shape = SubResource("BoxShape3D_nwu5x")

View File

@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=10 format=3 uid="uid://b3wybjajg4dr3"] [gd_resource type="ShaderMaterial" format=3 uid="uid://b3wybjajg4dr3"]
[ext_resource type="Texture2D" uid="uid://dg241b0ow4owm" path="res://base-environments/transition/import/textures/StationTiles_Albedo.png" id="1_oop75"] [ext_resource type="Texture2D" uid="uid://dg241b0ow4owm" path="res://base-environments/transition/import/textures/StationTiles_Albedo.png" id="1_oop75"]
[ext_resource type="Texture2D" uid="uid://dst0u5b51mx4h" path="res://base-environments/transition/shaders/water_color.exr" id="1_s12gp"] [ext_resource type="Texture2D" uid="uid://dst0u5b51mx4h" path="res://base-environments/transition/shaders/water_color.exr" id="1_s12gp"]

View File

@ -8,6 +8,7 @@
[resource] [resource]
resource_name = "train_windows" resource_name = "train_windows"
transparency = 4 transparency = 4
cull_mode = 2
albedo_texture = ExtResource("1_qqnyp") albedo_texture = ExtResource("1_qqnyp")
metallic = 1.0 metallic = 1.0
metallic_texture = ExtResource("2_orwl3") metallic_texture = ExtResource("2_orwl3")

View File

@ -9,6 +9,7 @@
resource_name = "train_windows_transparent" resource_name = "train_windows_transparent"
transparency = 1 transparency = 1
blend_mode = 4 blend_mode = 4
cull_mode = 2
albedo_texture = ExtResource("1_p8q8d") albedo_texture = ExtResource("1_p8q8d")
metallic = 1.0 metallic = 1.0
metallic_texture = ExtResource("2_eds1u") metallic_texture = ExtResource("2_eds1u")

View File

@ -1,5 +1,5 @@
shader_type spatial; shader_type spatial;
render_mode cull_back, blend_add, unshaded; render_mode cull_disabled, blend_add, unshaded;
varying vec3 world_pos; varying vec3 world_pos;
uniform float state = 0.0; uniform float state = 0.0;

View File

@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://dchm78gv31r6a"] [gd_resource type="ShaderMaterial" load_steps=4 format=3 uid="uid://dchm78gv31r6a"]
[ext_resource type="Shader" uid="uid://dpowid5cwvgu0" path="res://base-environments/transition/shaders/timetravel.gdshader" id="1_0da7x"] [ext_resource type="Shader" uid="uid://dpowid5cwvgu0" path="res://base-environments/transition/shaders/timetravel.gdshader" id="1_0da7x"]
[ext_resource type="Texture2D" uid="uid://dst0u5b51mx4h" path="res://base-environments/transition/shaders/water_color.exr" id="2_4vy32"] [ext_resource type="Texture2D" uid="uid://dst0u5b51mx4h" path="res://base-environments/transition/shaders/water_color.exr" id="2_4vy32"]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,8 @@
extends Node3D extends Station
func _ready() -> void: func _ready() -> void:
State.room.save_game.burnout = true %PlayerDetect.body_entered.connect(func(body):
%PlayerDetect.body_entered.connect(func(body): if visible and body is PlayerController: State.room.proceed.emit(Main.adulthood_room_path)) if visible and body is PlayerController:
State.room.save_game.subway_burnout = true
await Main.curtain.black()
State.room.proceed.emit(Main.adulthood_room_path))

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1,14 @@
[gd_scene load_steps=4 format=3 uid="uid://d2j0d88axhfue"] [gd_scene format=3 uid="uid://d2j0d88axhfue"]
[ext_resource type="PackedScene" uid="uid://c1ivlhueth0xe" path="res://base-environments/transition/import/dungeon_station.glb" id="1_4tuwp"] [ext_resource type="PackedScene" uid="uid://c1ivlhueth0xe" path="res://base-environments/transition/import/dungeon_station.glb" id="1_4tuwp"]
[ext_resource type="AudioStream" uid="uid://31dunmt6i7ck" path="res://base-environments/transition/audio/328953__sandermotions__escalator-1.wav" id="3_ke0al"] [ext_resource type="AudioStream" uid="uid://31dunmt6i7ck" path="res://base-environments/transition/audio/328953__sandermotions__escalator-1.wav" id="3_ke0al"]
[ext_resource type="PackedScene" uid="uid://tuv111h6jsnu" path="res://base-environments/transition/import/textures/meta_station_imported.tscn" id="5_ru87u"] [ext_resource type="PackedScene" uid="uid://tuv111h6jsnu" path="res://base-environments/transition/import/textures/meta_station_imported.tscn" id="5_ru87u"]
[node name="station_hirschfeld" instance=ExtResource("1_4tuwp")] [node name="station_hirschfeld" unique_id=825756048 instance=ExtResource("1_4tuwp")]
[node name="meta_station" parent="." index="5" instance=ExtResource("5_ru87u")] [node name="meta_station" parent="." index="5" unique_id=1517771541 instance=ExtResource("5_ru87u")]
[node name="EscalatorAudio" type="AudioStreamPlayer3D" parent="meta_station" index="56"] [node name="EscalatorAudio" type="AudioStreamPlayer3D" parent="meta_station" index="56" unique_id=775809027]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5971837, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5971837, 0)
stream = ExtResource("3_ke0al") stream = ExtResource("3_ke0al")
attenuation_model = 1 attenuation_model = 1

View File

@ -1,4 +1,8 @@
extends Node3D extends Station
func _ready() -> void: func _ready() -> void:
%PlayerDetect.body_entered.connect(func(body): if visible and body is PlayerController: State.room.proceed.emit(Main.adulthood_room_path)) %PlayerDetect.body_entered.connect(func(body):
if visible and body is PlayerController:
State.room.save_game.subway_burnout = false
await Main.curtain.black()
State.room.proceed.emit(Main.adulthood_room_path))

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,15 @@
[gd_scene load_steps=25 format=3 uid="uid://df3ur5wll8vx7"] [gd_scene load_steps=31 format=3 uid="uid://df3ur5wll8vx7"]
[ext_resource type="PackedScene" uid="uid://4j1tlhfm3p40" path="res://base-environments/transition/subway_train.tscn" id="1_2h2xx"] [ext_resource type="PackedScene" uid="uid://4j1tlhfm3p40" path="res://base-environments/transition/subway_train.tscn" id="1_2h2xx"]
[ext_resource type="Script" uid="uid://dgfje4druu3sw" path="res://base-environments/transition/code/dolly.gd" id="1_5jpg8"] [ext_resource type="Script" uid="uid://dgfje4druu3sw" path="res://base-environments/transition/code/dolly.gd" id="1_5jpg8"]
[ext_resource type="Script" uid="uid://cyohujvfoiof7" path="res://base-environments/transition/code/subway_train.gd" id="2_aacjs"] [ext_resource type="Script" uid="uid://cyohujvfoiof7" path="res://base-environments/transition/code/subway_train.gd" id="2_aacjs"]
[ext_resource type="AudioStream" uid="uid://cwfr6sgcwg7sl" path="res://base-environments/transition/audio/450918__kyles__metro-subway-montreal-verdun-station-arrive-and-leave-semidistant-from-bridge-over-tracks-overpass.ogg" id="3_4h0n7"] [ext_resource type="AudioStream" uid="uid://cwfr6sgcwg7sl" path="res://base-environments/transition/audio/450918__kyles__metro-subway-montreal-verdun-station-arrive-and-leave-semidistant-from-bridge-over-tracks-overpass.ogg" id="3_4h0n7"]
[ext_resource type="Material" uid="uid://cl7e6lpjalm0c" path="res://base-environments/transition/shaders/u1.material" id="3_j8pin"]
[ext_resource type="Material" uid="uid://c0baqy42xdxtg" path="res://base-environments/transition/shaders/u2.material" id="4_3w708"]
[ext_resource type="Material" uid="uid://bw4y5b5lnw3cn" path="res://base-environments/transition/shaders/u4.material" id="5_3x5rc"]
[ext_resource type="Material" uid="uid://cor0uho8hnfqc" path="res://base-environments/transition/shaders/u7.material" id="6_ckebf"]
[ext_resource type="Material" uid="uid://d0kk76pja0orj" path="res://base-environments/transition/shaders/u8.material" id="7_dyyau"]
[ext_resource type="FontFile" uid="uid://b231f0liphck" path="res://import/fonts/AtkinsonHyperlegible-Regular.ttf" id="10_3w708"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_aacjs"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_aacjs"]
shading_mode = 0 shading_mode = 0
@ -108,14 +114,6 @@ size = Vector3(31.194, 0.8, 3.8)
[node name="TrainDolly" type="Node3D"] [node name="TrainDolly" type="Node3D"]
script = ExtResource("1_5jpg8") script = ExtResource("1_5jpg8")
index = null
signage_group = null
pre_arrival_time = null
arrival_time = null
pre_leave_time = null
door_close_time = null
leave_time = null
post_leave_time = null
metadata/_custom_type_script = "uid://dgfje4druu3sw" metadata/_custom_type_script = "uid://dgfje4druu3sw"
[node name="Destination" type="Node3D" parent="."] [node name="Destination" type="Node3D" parent="."]
@ -130,6 +128,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -150)
[node name="Subway" type="Node3D" parent="."] [node name="Subway" type="Node3D" parent="."]
script = ExtResource("2_aacjs") script = ExtResource("2_aacjs")
materials = Dictionary[StringName, Material]({
&"u1": ExtResource("3_j8pin"),
&"u2": ExtResource("4_3w708"),
&"u4": ExtResource("5_3x5rc"),
&"u7": ExtResource("6_ckebf"),
&"u8": ExtResource("7_dyyau")
})
metadata/_custom_type_script = "uid://cyohujvfoiof7" metadata/_custom_type_script = "uid://cyohujvfoiof7"
[node name="WarpEffecScreen" type="MeshInstance3D" parent="Subway"] [node name="WarpEffecScreen" type="MeshInstance3D" parent="Subway"]
@ -160,26 +165,40 @@ spot_angle = 15.0
[node name="SubwayTrainAudio" type="AudioStreamPlayer3D" parent="Subway"] [node name="SubwayTrainAudio" type="AudioStreamPlayer3D" parent="Subway"]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -0.4578781, 0, -6.1605225) transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, -0.742, -11.098)
stream = ExtResource("3_4h0n7") stream = ExtResource("3_4h0n7")
unit_size = 100.0 unit_size = 100.0
max_polyphony = 2
panning_strength = 0.7 panning_strength = 0.7
bus = &"sfx" bus = &"sfx"
playback_type = 1 playback_type = 1
[node name="SubwayTrainAudioIntense" type="AudioStreamPlayer3D" parent="Subway"] [node name="SubwayTrainAudioIntense" type="AudioStreamPlayer3D" parent="Subway"]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0.6660023, 0, 0) transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, -0.802, 10.908)
stream = ExtResource("3_4h0n7") stream = ExtResource("3_4h0n7")
attenuation_model = 1 attenuation_model = 1
unit_size = 15.0 unit_size = 15.0
max_polyphony = 2
panning_strength = 0.9
bus = &"sfx" bus = &"sfx"
playback_type = 1 playback_type = 1
[node name="TrainModel" parent="Subway" instance=ExtResource("1_2h2xx")] [node name="TrainModel" parent="Subway" instance=ExtResource("1_2h2xx")]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.4114173e-08, 0, -0.7804413) transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.4114173e-08, 0, -0.7804413)
script = null
[node name="LineLabelFront" type="Label3D" parent="Subway/TrainModel"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -15.413577, 2.7434583, -6.737489e-07)
text = "U0"
font = ExtResource("10_3w708")
font_size = 64
[node name="LineLabelBack" type="Label3D" parent="Subway/TrainModel"]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 15.410003, 2.7434583, 6.9981036e-07)
text = "U0"
font = ExtResource("10_3w708")
font_size = 64
[node name="Collider" type="AnimatableBody3D" parent="Subway"] [node name="Collider" type="AnimatableBody3D" parent="Subway"]
unique_name_in_owner = true unique_name_in_owner = true

View File

@ -1,20 +1,12 @@
[gd_scene load_steps=15 format=4 uid="uid://4j1tlhfm3p40"] [gd_scene format=4 uid="uid://4j1tlhfm3p40"]
[ext_resource type="PackedScene" uid="uid://dmh8tmuvftqus" path="res://base-environments/transition/import/subway_train.glb" id="1_8e51f"] [ext_resource type="PackedScene" uid="uid://dmh8tmuvftqus" path="res://base-environments/transition/import/subway_train.glb" id="1_8e51f"]
[ext_resource type="Material" uid="uid://dchm78gv31r6a" path="res://base-environments/transition/shaders/timetravel.tres" id="2_g5p57"] [ext_resource type="Material" uid="uid://dchm78gv31r6a" path="res://base-environments/transition/shaders/timetravel.tres" id="2_g5p57"]
[ext_resource type="Script" uid="uid://cyohujvfoiof7" path="res://base-environments/transition/code/subway_train.gd" id="2_skiem"] [ext_resource type="Material" uid="uid://ddw7mob1qmlbj" path="res://base-environments/transition/shaders/u0.material" id="3_81crm"]
[ext_resource type="Material" uid="uid://rh1lc61j6qd8" path="res://base-environments/transition/import/textures/roof_greeble.tres" id="3_q0ort"] [ext_resource type="Material" uid="uid://rh1lc61j6qd8" path="res://base-environments/transition/import/textures/roof_greeble.tres" id="3_q0ort"]
[ext_resource type="Texture2D" uid="uid://bewykr0twbplg" path="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_realesrgan-x4plus-anime.png" id="5_6pwip"] [ext_resource type="Texture2D" uid="uid://bewykr0twbplg" path="res://base-environments/transition/import/textures/LateralTren_baseColor_upscayl_2x_realesrgan-x4plus-anime.png" id="5_6pwip"]
[ext_resource type="VoxelGIData" uid="uid://coibvxeouqllc" path="res://base-environments/transition/vfx/voxelGI_subway_train.tres" id="5_q0ort"] [ext_resource type="VoxelGIData" uid="uid://coibvxeouqllc" path="res://base-environments/transition/vfx/voxelGI_subway_train.tres" id="5_q0ort"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8e51f"]
cull_mode = 2
albedo_color = Color(0.22188288, 0.6046251, 0.8484487, 1)
metallic = 0.5
roughness = 0.5
clearcoat_enabled = true
clearcoat_roughness = 0.2
[sub_resource type="ArrayMesh" id="ArrayMesh_f2ux3"] [sub_resource type="ArrayMesh" id="ArrayMesh_f2ux3"]
_surfaces = [{ _surfaces = [{
"aabb": AABB(-5.128359, -0.2631049, -1.4985942, 10.841061, 0.57964456, 3.1154532), "aabb": AABB(-5.128359, -0.2631049, -1.4985942, 10.841061, 0.57964456, 3.1154532),
@ -52,6 +44,7 @@ shadow_mesh = SubResource("ArrayMesh_f2ux3")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q0ort"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q0ort"]
transparency = 1 transparency = 1
blend_mode = 1 blend_mode = 1
cull_mode = 2
albedo_texture = ExtResource("5_6pwip") albedo_texture = ExtResource("5_6pwip")
roughness = 0.1 roughness = 0.1
@ -143,200 +136,198 @@ _data = {
&"door_open": SubResource("Animation_8e51f") &"door_open": SubResource("Animation_8e51f")
} }
[node name="subway_train" instance=ExtResource("1_8e51f")] [node name="subway_train" unique_id=1755696385 instance=ExtResource("1_8e51f")]
script = ExtResource("2_skiem")
[node name="traun_hull" parent="." index="0"] [node name="traun_hull" parent="." index="0" unique_id=997216472]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
layers = 4 layers = 4
gi_mode = 2 gi_mode = 2
surface_material_override/0 = SubResource("StandardMaterial3D_8e51f") surface_material_override/0 = ExtResource("3_81crm")
[node name="ApoyaCristalesLateralesPared3_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="0"] [node name="ApoyaCristalesLateralesPared3_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="0" unique_id=985506164]
layers = 4 layers = 4
[node name="ApoyaCristalesLateralesPared3_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="1"] [node name="ApoyaCristalesLateralesPared3_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="1" unique_id=1929128547]
layers = 4 layers = 4
[node name="cabin" parent="traun_hull" index="2"] [node name="cabin" parent="traun_hull" index="2" unique_id=1235405392]
layers = 4 layers = 4
[node name="cabin_001" parent="traun_hull" index="3"] [node name="cabin_001" parent="traun_hull" index="3" unique_id=42368085]
layers = 4 layers = 4
[node name="cabin_windows" parent="traun_hull" index="4"] [node name="cabin_windows" parent="traun_hull" index="4" unique_id=1682732857]
layers = 4 layers = 4
[node name="cabin_windows_001" parent="traun_hull" index="5"] [node name="cabin_windows_001" parent="traun_hull" index="5" unique_id=903571490]
layers = 4 layers = 4
[node name="ceiling" parent="traun_hull" index="6"] [node name="ceiling" parent="traun_hull" index="6" unique_id=2103099870]
layers = 4 layers = 4
[node name="ceiling_001" parent="traun_hull" index="7"] [node name="ceiling_001" parent="traun_hull" index="7" unique_id=2139068792]
layers = 4 layers = 4
[node name="Cube_004" parent="traun_hull" index="8"] [node name="Cube_004" parent="traun_hull" index="8" unique_id=720511511]
layers = 4 layers = 4
[node name="Cube_005" parent="traun_hull" index="9"] [node name="Cube_005" parent="traun_hull" index="9" unique_id=1016564497]
layers = 4 layers = 4
[node name="Cube_007" type="MeshInstance3D" parent="traun_hull" index="10"] [node name="Cube_007" type="MeshInstance3D" parent="traun_hull" index="10" unique_id=2100437457]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.140757, 3.1445234, -1.4974344e-06) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.140757, 3.1445234, -1.4974344e-06)
layers = 4 layers = 4
mesh = SubResource("ArrayMesh_7uxbi") mesh = SubResource("ArrayMesh_7uxbi")
skeleton = NodePath("") skeleton = NodePath("")
[node name="Cube_006" parent="traun_hull" index="11"] [node name="Cube_006" parent="traun_hull" index="11" unique_id=728325690]
layers = 4 layers = 4
[node name="Cube_008" parent="traun_hull" index="12"] [node name="Cube_008" parent="traun_hull" index="12" unique_id=1209871809]
layers = 4 layers = 4
[node name="Cube_010" parent="traun_hull" index="13"] [node name="Cube_010" parent="traun_hull" index="13" unique_id=110333036]
layers = 4 layers = 4
[node name="Cube_012" parent="traun_hull" index="14"] [node name="Cube_012" parent="traun_hull" index="14" unique_id=82219605]
layers = 4 layers = 4
[node name="Cube_014" parent="traun_hull" index="15"] [node name="Cube_014" parent="traun_hull" index="15" unique_id=100170641]
layers = 4 layers = 4
[node name="door_seat2_low_MAT_SEATS_0_001" parent="traun_hull" index="16"] [node name="door_seat2_low_MAT_SEATS_0_001" parent="traun_hull" index="16" unique_id=1608318234]
layers = 4 layers = 4
[node name="door_seat2_low_MAT_SEATS_0_002" parent="traun_hull" index="17"] [node name="door_seat2_low_MAT_SEATS_0_002" parent="traun_hull" index="17" unique_id=537892245]
layers = 4 layers = 4
[node name="door_seating_001" parent="traun_hull" index="18"] [node name="door_seating_001" parent="traun_hull" index="18" unique_id=29456754]
layers = 4 layers = 4
[node name="door_seating_002" parent="traun_hull" index="19"] [node name="door_seating_002" parent="traun_hull" index="19" unique_id=1992095810]
layers = 4 layers = 4
[node name="door_seating_003" parent="traun_hull" index="20"] [node name="door_seating_003" parent="traun_hull" index="20" unique_id=1640376733]
layers = 4 layers = 4
[node name="door_seating_004" parent="traun_hull" index="21"] [node name="door_seating_004" parent="traun_hull" index="21" unique_id=1861798917]
layers = 4 layers = 4
[node name="door_seating_005" parent="traun_hull" index="22"] [node name="door_seating_005" parent="traun_hull" index="22" unique_id=1788081881]
layers = 4 layers = 4
[node name="Icosphere_003" parent="traun_hull" index="23"] [node name="Icosphere_003" parent="traun_hull" index="23" unique_id=430174688]
layers = 4 layers = 4
[node name="Icosphere_016" parent="traun_hull" index="24"] [node name="Icosphere_016" parent="traun_hull" index="24" unique_id=1677194569]
layers = 4 layers = 4
[node name="Icosphere_017" parent="traun_hull" index="25"] [node name="Icosphere_017" parent="traun_hull" index="25" unique_id=1644178170]
layers = 4 layers = 4
[node name="Icosphere_018" parent="traun_hull" index="26"] [node name="Icosphere_018" parent="traun_hull" index="26" unique_id=1112737943]
layers = 4 layers = 4
[node name="Icosphere_019" parent="traun_hull" index="27"] [node name="Icosphere_019" parent="traun_hull" index="27" unique_id=1423877139]
layers = 4 layers = 4
[node name="Icosphere_020" parent="traun_hull" index="28"] [node name="Icosphere_020" parent="traun_hull" index="28" unique_id=1819164379]
layers = 4 layers = 4
[node name="interiour_walls" parent="traun_hull" index="29"] [node name="interiour_walls" parent="traun_hull" index="29" unique_id=1262158040]
layers = 4 layers = 4
[node name="interiour_walls_001" parent="traun_hull" index="30"] [node name="interiour_walls_001" parent="traun_hull" index="30" unique_id=412676970]
layers = 4 layers = 4
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="31"] [node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_001" parent="traun_hull" index="31" unique_id=1236591883]
layers = 4 layers = 4
[node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="32"] [node name="MarcosPuertasInteriorLateral2_LP_004_LateralesInteriores_0_002" parent="traun_hull" index="32" unique_id=708054081]
layers = 4 layers = 4
[node name="middle_seating" parent="traun_hull" index="33"] [node name="middle_seating" parent="traun_hull" index="33" unique_id=1557584304]
layers = 4 layers = 4
[node name="middle_seating_001" parent="traun_hull" index="34"] [node name="middle_seating_001" parent="traun_hull" index="34" unique_id=1546075330]
layers = 4 layers = 4
[node name="middle_seating_002" parent="traun_hull" index="35"] [node name="middle_seating_002" parent="traun_hull" index="35" unique_id=1396264635]
layers = 4 layers = 4
[node name="middle_seating_003" parent="traun_hull" index="36"] [node name="middle_seating_003" parent="traun_hull" index="36" unique_id=1389438019]
layers = 4 layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="37"] [node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="37" unique_id=1287465993]
layers = 4 layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_002" parent="traun_hull" index="38"] [node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_002" parent="traun_hull" index="38" unique_id=1131705536]
layers = 4 layers = 4
[node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_003" parent="traun_hull" index="39"] [node name="SeparadoresSueloInterior_LP_006_SueloInterior_0_003" parent="traun_hull" index="39" unique_id=1657133970]
layers = 4 layers = 4
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_002" parent="traun_hull" index="40"] [node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_002" parent="traun_hull" index="40" unique_id=95643343]
layers = 4 layers = 4
[node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_003" parent="traun_hull" index="41"] [node name="SeparadoresSueloInterior_LP_007_SueloInterior_0_003" parent="traun_hull" index="41" unique_id=628074467]
layers = 4 layers = 4
[node name="SueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="42"] [node name="SueloInterior_LP_006_SueloInterior_0_001" parent="traun_hull" index="42" unique_id=887426]
layers = 4 layers = 4
[node name="train_display" parent="traun_hull" index="43"] [node name="train_display" parent="traun_hull" index="43" unique_id=2037687580]
layers = 4 layers = 4
[node name="undercarriage" parent="traun_hull" index="44"] [node name="undercarriage" parent="traun_hull" index="44" unique_id=806213779]
layers = 4 layers = 4
[node name="VentanaLateral2_LP_004_LateralTren_0_003" parent="traun_hull" index="45"] [node name="VentanaLateral2_LP_004_LateralTren_0_003" parent="traun_hull" index="45" unique_id=840775399]
layers = 4 layers = 4
surface_material_override/0 = ExtResource("2_g5p57") surface_material_override/0 = ExtResource("2_g5p57")
surface_material_override/1 = SubResource("StandardMaterial3D_q0ort") surface_material_override/1 = SubResource("StandardMaterial3D_q0ort")
[node name="VentanaLateral2_LP_004_LateralTren_0_004" parent="traun_hull" index="46"] [node name="VentanaLateral2_LP_004_LateralTren_0_004" parent="traun_hull" index="46" unique_id=987259430]
layers = 4 layers = 4
surface_material_override/0 = ExtResource("2_g5p57") surface_material_override/0 = ExtResource("2_g5p57")
surface_material_override/1 = SubResource("StandardMaterial3D_q0ort") surface_material_override/1 = SubResource("StandardMaterial3D_q0ort")
[node name="wall_seating_001" parent="traun_hull" index="47"] [node name="wall_seating_001" parent="traun_hull" index="47" unique_id=437405653]
layers = 4 layers = 4
[node name="wall_seating_002" parent="traun_hull" index="48"] [node name="wall_seating_002" parent="traun_hull" index="48" unique_id=1403151742]
layers = 4 layers = 4
[node name="wall_seating_003" parent="traun_hull" index="49"] [node name="wall_seating_003" parent="traun_hull" index="49" unique_id=218529971]
layers = 4 layers = 4
[node name="wall_seating_004" parent="traun_hull" index="50"] [node name="wall_seating_004" parent="traun_hull" index="50" unique_id=15472790]
layers = 4 layers = 4
[node name="wall_seating_005" parent="traun_hull" index="51"] [node name="wall_seating_005" parent="traun_hull" index="51" unique_id=1434451492]
layers = 4 layers = 4
[node name="wall_seating_006" parent="traun_hull" index="52"] [node name="wall_seating_006" parent="traun_hull" index="52" unique_id=1915677652]
layers = 4 layers = 4
[node name="wall_seating_007" parent="traun_hull" index="53"] [node name="wall_seating_007" parent="traun_hull" index="53" unique_id=307891428]
layers = 4 layers = 4
[node name="wall_seating_008" parent="traun_hull" index="54"] [node name="wall_seating_008" parent="traun_hull" index="54" unique_id=305835946]
layers = 4 layers = 4
[node name="window_frames" parent="traun_hull" index="55"] [node name="window_frames" parent="traun_hull" index="55" unique_id=290961844]
layers = 4 layers = 4
[node name="window_frames_001" parent="traun_hull" index="56"] [node name="window_frames_001" parent="traun_hull" index="56" unique_id=1848579204]
layers = 4 layers = 4
[node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1"] [node name="AnimationPlayer" type="AnimationPlayer" parent="." index="1" unique_id=766382601]
libraries = { libraries/ = SubResource("AnimationLibrary_skiem")
&"": SubResource("AnimationLibrary_skiem")
}
[node name="VoxelGI" type="VoxelGI" parent="." index="2"] [node name="VoxelGI" type="VoxelGI" parent="." index="2" unique_id=2117963437]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.35, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.35, 0)
layers = 4 layers = 4
subdiv = 0
size = Vector3(35, 4.6, 4) size = Vector3(35, 4.6, 4)
data = ExtResource("5_q0ort") data = ExtResource("5_q0ort")

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,23 @@
[gd_scene format=3 uid="uid://d1rrpray86q17"]
[ext_resource type="PackedScene" uid="uid://d1sqf5cgd8sba" path="res://base-environments/youth_room/import/dice-models.glb" id="1_vh430"]
[node name="dice-models" unique_id=911256849 instance=ExtResource("1_vh430")]
[node name="d12" parent="." index="0" unique_id=65177081]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.038978957, 0.6987885, -2.4119375)
[node name="d6" parent="." index="1" unique_id=220306213]
transform = Transform3D(0, -1, 0, 1, 0, 0, 0, 0, 1, 2.2221472, 0.5278461, -2.6088107)
[node name="d4" parent="." index="2" unique_id=1166078388]
transform = Transform3D(0.69187284, 0, 0.7220194, 0, 1, 0, -0.7220194, 0, 0.69187284, 3.019659, 0.34691018, -0.26562953)
[node name="d20" parent="." index="3" unique_id=1519015411]
transform = Transform3D(0.7535016, -0.5529435, -0.3556526, 0.3512268, 0.79585314, -0.49321136, 0.5557653, 0.24672082, 0.79388523, -0.016941644, 0.81124437, -0.006403886)
[node name="d10" parent="." index="4" unique_id=673773739]
transform = Transform3D(-0.30351675, -9.893264e-07, -0.9528261, 9.893264e-07, -1, 7.231638e-07, -0.9528261, -7.231638e-07, 0.30351675, -1.8407929, 0.027106762, -1.7446356)
[node name="d100" parent="." index="5" unique_id=1792677124]
transform = Transform3D(0.8973767, 6.74069e-07, 0.44126534, -6.8304064e-07, 1, -1.3852043e-07, -0.44126534, -1.7709712e-07, 0.8973766, 1.4871418, 1.0925838, -0.7358486)

Binary file not shown.

View File

@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://l3qqenak1y8l"
path="res://.godot/imported/outside-voluntary.glb-9e33f982ef1e0c830fa4e481e01561e0.scn"
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary.glb"
dest_files=["res://.godot/imported/outside-voluntary.glb-9e33f982ef1e0c830fa4e481e01561e0.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={}
gltf/naming_version=2
gltf/embedded_image_handling=1

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b1v8nf7lor4rv"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_baseColor.png-3165c4a39a634137ac5f298fff88eb2e.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_baseColor.png-3165c4a39a634137ac5f298fff88eb2e.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "3ff25dfc55427a0715009854fc216b4f"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn01_Mat_baseColor.png"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_baseColor.png-3165c4a39a634137ac5f298fff88eb2e.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_baseColor.png-3165c4a39a634137ac5f298fff88eb2e.etc2.ctex"]
[params]
compress/mode=2
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=true
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ctt37xonhd8eq"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_metallicRoughness.png-35d8629f94a3113ccb95140bc75a06b8.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_metallicRoughness.png-35d8629f94a3113ccb95140bc75a06b8.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "46215bf5400933f92d88dd09f759d38c"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn01_Mat_metallicRoughness.png"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_metallicRoughness.png-35d8629f94a3113ccb95140bc75a06b8.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_metallicRoughness.png-35d8629f94a3113ccb95140bc75a06b8.etc2.ctex"]
[params]
compress/mode=2
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=true
mipmaps/limit=-1
roughness/mode=8
roughness/src_normal="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg"
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://nxq60kc57iwc"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg-72f8ae4fe8a5d65987c9b8f4273d0a23.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg-72f8ae4fe8a5d65987c9b8f4273d0a23.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "8808221849f0774f188cbeb747b5eef9"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg-72f8ae4fe8a5d65987c9b8f4273d0a23.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg-72f8ae4fe8a5d65987c9b8f4273d0a23.etc2.ctex"]
[params]
compress/mode=2
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=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn01_Mat_normal.jpg"
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ch6je64ahilw1"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_baseColor.png-25b19b5346c71be34c023f7d6289fc8d.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_baseColor.png-25b19b5346c71be34c023f7d6289fc8d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "3f2cdfd3dc772c323c5a8d2f7f7b2333"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn02_Mat_baseColor.png"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_baseColor.png-25b19b5346c71be34c023f7d6289fc8d.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_baseColor.png-25b19b5346c71be34c023f7d6289fc8d.etc2.ctex"]
[params]
compress/mode=2
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=true
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dhwdfagrwj8d2"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_metallicRoughness.png-5221518a2e05994bce9ae09fde0adce4.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_metallicRoughness.png-5221518a2e05994bce9ae09fde0adce4.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "7f8413717a937a36bf563c4fec2561fa"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn02_Mat_metallicRoughness.png"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_metallicRoughness.png-5221518a2e05994bce9ae09fde0adce4.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_metallicRoughness.png-5221518a2e05994bce9ae09fde0adce4.etc2.ctex"]
[params]
compress/mode=2
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=true
mipmaps/limit=-1
roughness/mode=8
roughness/src_normal="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg"
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b42bv474v7q27"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg-5f8450c5f903418086ce37ecbf02930a.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg-5f8450c5f903418086ce37ecbf02930a.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "fbfe205941433f77eb8ada9ca9bf3cfe"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg-5f8450c5f903418086ce37ecbf02930a.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg-5f8450c5f903418086ce37ecbf02930a.etc2.ctex"]
[params]
compress/mode=2
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=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Autumn02_Mat_normal.jpg"
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chhqetj3y37k0"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_baseColor.jpg-052ff4d6f1d19317f1f4a2391c595f51.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_baseColor.jpg-052ff4d6f1d19317f1f4a2391c595f51.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "6f770a8170fbeb3be1ad9f34e06672cf"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Bark_Mat_baseColor.jpg"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_baseColor.jpg-052ff4d6f1d19317f1f4a2391c595f51.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_baseColor.jpg-052ff4d6f1d19317f1f4a2391c595f51.etc2.ctex"]
[params]
compress/mode=2
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=true
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=0

View File

@ -0,0 +1,45 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0eb7n52ycbr1"
path.s3tc="res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_metallicRoughness.png-772a90a255b014e223d82444d3291c65.s3tc.ctex"
path.etc2="res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_metallicRoughness.png-772a90a255b014e223d82444d3291c65.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={
"md5": "1cded7a029166a750f88e8a7ba0f597a"
}
[deps]
source_file="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Bark_Mat_metallicRoughness.png"
dest_files=["res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_metallicRoughness.png-772a90a255b014e223d82444d3291c65.s3tc.ctex", "res://.godot/imported/outside-voluntary_Blackwalnut_Bark_Mat_metallicRoughness.png-772a90a255b014e223d82444d3291c65.etc2.ctex"]
[params]
compress/mode=2
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=true
mipmaps/limit=-1
roughness/mode=8
roughness/src_normal="res://base-environments/volunteer_room/import/outside-voluntary_Blackwalnut_Bark_Mat_normal.jpg"
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=0

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