test rooms

This commit is contained in:
Page Asgardius 2024-01-20 03:38:12 -07:00
parent 9fb4170b51
commit f4dbc0249b
31 changed files with 338 additions and 42 deletions

59
levels/ui/credits.gd Normal file
View file

@ -0,0 +1,59 @@
extends Node2D
# Called when the node enters the scene tree for the first time.
var bgsound := AudioStreamPlayer.new()
var song1 = load(Global.musictracks[15])
var song2 = load(Global.musictracks[16])
var song3 = load(Global.musictracks[17])
var playstart = false
var playindex = 0
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
add_child(bgsound)
bgsound.stream = song1
bgsound.play(0)
#pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
var bgtime = bgsound.get_playback_position() + AudioServer.get_time_since_last_mix()
# Compensate for output latency.
bgtime -= AudioServer.get_output_latency()
#print("Time is: ", bgtime)
if bgtime < 0:
if playstart:
if playindex == 0:
playindex = 1
playstart = false
bgsound.stream = song2
bgsound.play(0)
elif playindex == 1:
playindex = 2
playstart = false
bgsound.stream = song3
bgsound.play(0)
else:
_complete()
elif bgsound.get_playback_position() > 10:
playstart = true
#pass
func _complete():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
if Global.debug:
get_tree().change_scene_to_file("res://levels/ui/scene.tscn")
else:
get_tree().change_scene_to_file("res://backgounds/result.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_accept"):
#print("Mouse Click/Unclick at: ", event.position)
_complete()

475
levels/ui/credits.tscn Normal file
View file

@ -0,0 +1,475 @@
[gd_scene load_steps=6 format=3 uid="uid://g8ajwoud48us"]
[ext_resource type="Script" path="res://levels/ui/credits.gd" id="1_y6orl"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_0cref"]
[ext_resource type="Script" path="res://nebula.gd" id="3_ffw0g"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="5_yvope"]
[ext_resource type="Script" path="res://levels/ui/roll.gd" id="6_3q8sp"]
[node name="credits" type="Node2D"]
script = ExtResource("1_y6orl")
[node name="nebula" type="VideoStreamPlayer" parent="."]
offset_right = 40.0
offset_bottom = 40.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_0cref")
autoplay = true
script = ExtResource("3_ffw0g")
[node name="roll" type="Label" parent="."]
offset_top = 720.0
offset_right = 1280.0
offset_bottom = 12504.0
text = "Midori in the Magic School
Programming
Page Asgardius
Made with Godot Engine
Testing
Asus VivoBook X1500EA
Arch Linux Rolling
Development started with this device
Provided as a replacement for a HP 14 laptop that died while running Genshin Impact
Steam Deck
Arch Linux Rolling
Provided by Evelyn Freeman
Feedback
Sakura Nakayama
Tood
Creative Staff
Page Asgardius
Beachkid
Sakura Nakayama
Music
Soundtrack provided by archive.org
Title screen
RELOADED Theme
RELOADED
Disclaimer, Settings, Stores
Jellies in the Sea
vince kaichan
Testrooms
Get A Brain Morans
Fearofdark
Friendly challenge
Oskars Skarmslackare
MrGamer
School nursery
Extra Life
JosSs
Overworld (Ceres)
Layers
Ceekayed
Boss fight (Ceres)
Caramel Condition
Ko0x
Overworld (Earth)
Shakeshack Galaxy
Vince Kaichan
The Zubmarine Zone
The Zubmarine Zone
Vince Kaichan
Radioactive Desert
crammin jammin
Vince Kaichan
Boss Fight (Earth)
The Func
Vince Kaichan
Dungeon of Destruction
untitled (known as Kaveh Theme on official soundtrack)
xerxes
Final Boss Fight
zenon
ko0x
Ending Theme
Milky Way
Vince Kaichan
Dungeon Result screen
Xs EdzesSs
JosSs
Credit roll 1
artificial sweetener
Funky Fish and raina
Credit roll 2
too old
tj technoiZ
Credit roll 3
portello
motherchip
Encoders
Main records
FLAC encoder
xiph.org
X264
Videolan
Game assets
Libtheora
xiph.org
Libvorbis
xiph.org
PCM
Public Domain
Engine development
Project Founders
Juan Linietsky (reduz)
Ariel Manzur (punto-)
Lead Developer
Juan Linietsky (reduz)
Project Manager
Rémi Verschelde (akien-mga)
Developers
Aaron Franke (aaronfranke)
Aaron Record (LightningAA)
Adam Scott (adamscott)
Alexander Holland (AlexHolly)
Alexey Khoroshavin (allkhor)
Alfred Reinold Baudisch (alfredbaudisch)
Alket Rexhepi (alketii)
Andrea Catania (AndreaCatania)
Andrii Doroshenko (Xrayez)
Andy Maloney (asmaloney)
Andy Moss (MillionOstrich)
Angad Kambli (angad-k)
Anilforextra (AnilBK)
Anish Bhobe (KidRigger)
Anton Yabchinskiy (a12n)
Anutrix
Aren Villanueva (kurikaesu)
Ariel Manzur (punto-)
AThousandShips
Bartłomiej T. Listwon (Listwon)
Bastiaan Olij (BastiaanOlij)
Ben Brookshire (sheepandshepherd)
Benjamin Larsson (Nallebeorn)
Bernhard Liebl (poke1024)
Bhuvan Vemula (Bhu1-V)
bitsawer
Błażej Szczygieł (zaps166)
Bojidar Marinov (bojidar-bg)
Brian Semrau (briansemrau)
Bruno Lourenço (MadEqua)
Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
Caner Demirer (cdemirer)
Carl Olsson (not-surt)
Carter Anderson (cart)
Chris Bradfield (cbscribe)
Clay John (clayjohn)
ConteZero
Dana Olson (adolson)
Daniel J. Ramirez (djrm)
Daniel Rakos (aqnuep)
Daniel Zilberleyb (dzil123)
Danil Alexeev (dalexeev)
dankan1890
David Cambré (Gallilus)
David Sichma (DavidSichma)
David Snopek (dsnopek)
Dharkael (lupoDharkael)
Dmitry Koteroff (Krakean)
Dmitry Maganov (vonagam)
Dominik Jasiński (dreamsComeTrue)
Douglas Leão (DeeJayLSP)
DualMatrix
Ellen Poe (ellenhp)
Emmanuel Barroga (codecustard)
Emmanuel Leblond (touilleMan)
Eoin O'Neill (Eoin-ONeill-Yokai)
Eric Lasota (elasota)
Eric M (EricEzaM)
Eric Rybicki (ericrybick)
Erik Selecký (rxlecky)
est31
Eveline Jarosz (Marqin)
Fabian Mathews (supagu)
Fabio Alessandrelli (Faless)
Fabrice Cipolla (fabriceci)
Ferenc Arn (tagcup)
FireForge (fire-forge)
follower
foxydevloper
François Belair (Razoric480)
Franklin Sobrinho (TheHX)
Fredia Huya-Kouadio (m4gr3d)
Geequlim
George Marques (vnen)
Gerrit Großkopf (Grosskopf)
Gilles Roudiere (groud)
Gordon MacPherson (RevoluPowered)
Guilherme Felipe de C. G. da Silva (guilhermefelipecgs)
Hakim Rouatbi (hakro)
Hanif Bin Ariffin (hbina)
Haoyu Qiu (timothyqiu)
HP van Braam (hpvb)
Hendrik Brucker (Geometror)
hilfazer
Hiroshi Ogawa (hi-ogawa)
homer666
hoontee
Hugo Locurcio (Calinou)
Ian Bishop (ianb96)
Ibrahn Sahir (ibrahn)
Ignacio Etcheverry (neikeq)
Igor Kordiukiewicz (IgorKordiukiewicz)
Ilaria Cislaghi (QbieShay)
Indah Sylvia (ISylvox)
J08nY
Jake Young (Duroxxigar)
Jakub Grzesik (kubecz3k)
James Buck (jbuck3)
Jan Haller (Bromeon)
Jason Knight (jasonwinterpixel)
Jean-Michel Bernard (jmb462)
Jérôme Gully (Nutriz)
Jia Jun Chai (SkyLucilfer)
Joan Fons Sanchez (JFonS)
Johan Manuel (29jm)
Johannes Witt (HaSa1002)
Jonathan Nicholl (jtnicholl)
Jordan Schidlowsky (winterpixelgames)
Josh Jones (DarkKilauea)
Joshua Grams (JoshuaGrams)
Juan Linietsky (reduz)
Julian Murgia (StraToN)
Julien Nguyen (Blackiris)
Jummit
Justo Delgado (mrcdk)
karroffel
Kelly Thomas (KellyThomas)
kleonc
Kongfa Waroros (gongpha)
Kostadin Damyanov (Max-Might)
K. S. Ernest (iFire) Lee (fire)
lawnjelly
Leon Krause (leonkrause)
Liz Haas (27thLiz)
Lucien Menassol (Kanabenki)
Lyuma
Maganty Rushyendra (mrushyendra)
Manuele Finocchiaro (m4nu3lf)
Marcel Admiraal (madmiraal)
Marcelo Fernandez (marcelofg55)
Marc Gilleron (Zylann)
Marcin Zawiejski (dragmz)
Marcus Brummer (mbrlabs)
Marcus Elg (MCrafterzz)
Mariano Javier Suligoy (MarianoGnu)
Mario Schlack (hurikhan)
Marios Staikopoulos (marstaik)
Marius Hanl (Maran23)
Mark Riedesel (klowner)
Markus Sauermann (Sauermann)
Martin Capitanio (capnm)
Martin Liška (marxin)
Martin Sjursen (binbitten)
marynate
Masoud BH (masoudbh3)
Mateo Kuruk Miccino (kuruk-mm)
Matthew (skyace65)
Matthias Hölzl (hoelzl)
Max Hilbrunner (mhilbrunner)
merumelu
Meru Patel (Janglee123)
MewPurPur
Michael Alexsander (YeldhamDev)
Michał Iwańczuk (iwek7)
MichiRecRoom (LikeLakers2)
Micky (Mickeon)
Mikael Hermansson (mihe)
MinusKube
Morris \"Tabor\" Arroad (mortarroad)
mrezai
Muhammad Huri (CakHuri)
muiroc
Nathan Franke (nathanfranke)
Nathan Lovato (NathanLovato)
Nathan Warden (NathanWarden)
Nicholas Huelin (SirQuartz)
Nikita Lita (nikitalita)
Nils André-Chang (NilsIrl)
Noah Beard (TwistedTwigleg)
Nông Văn Tình (nongvantinh)
Nuno Donato (nunodonato)
ocean (they/them) (anvilfolk)
Omar El Sheikh (The-O-King)
Ovnuniarchos
Pascal Richter (ShyRed)
Patrick (firefly2442)
Paul Batty (Paulb23)
Paul Joannon (paulloz)
Paul Trojahn (ptrojahn)
Pāvels Nadtočajevs (bruvzg)
Paweł Fertyk (pfertyk)
Pawel Kowal (pkowal1982)
Pawel Lampe (Scony)
Pedro J. Estébanez (RandomShaper)
Pieter-Jan Briers (PJB3005)
Poommetee Ketson (Noshyaar)
Przemysław Gołąb (n-pigeon)
Rafael M. G. (rafallus)
Rafał Mikrut (qarmin)
Ralf Hölzemer (rollenrolm)
Ramesh Ravone (RameshRavone)
Raphael2048
Raul Santos (raulsntos)
Ray Koopa (RayKoopa)
RedMser
RedworkDE
Rémi Verschelde (akien-mga)
Rhody Lugo (rraallvv)
Ricardo Buring (rburing)
Ricardo Subtil (Ev1lbl0w)
Riteo Siuga (Riteo)
Roberto F. Arroyo (robfram)
Robin Hübner (profan)
romulox-x
Rune Smith (rune-scape)
Ruslan Mustakov (endragor)
Ryan Roden-Corrent (rrcore)
Saniko (sanikoyes)
santouits
SaracenOne
Sergey Minakov (naithar)
sersoong
Shiqing (kawa-yoiko)
Silc 'Tokage' Renew (TokageItLab)
Simon Wenner (swenner)
smix8
snailrhymer
Stijn Hinlopen (hinlopen)
Swarnim Arun (minraws)
TC (floppyhammer)
TechnoPorg
Thakee Nathees (ThakeeNathees)
thebestnom
Theo Hallenius (TheoXD)
Timo Schwarzer (timoschwarzer)
Timothé Bonhoure (ajreckof)
Timo (toger5)
Tomasz Chabora (KoBeWi)
trollodel
Twarit Waikar (IronicallySerious)
Umang Kalra (theoway)
Vinzenz Feenstra (vinzenz)
Vitika Soni (Vitika9)
박한얼 (volzhs)
V. Vamsi Krishna (vkbsb)
Wilhem Barbier (nounoursheureux)
William Deurwaarder (williamd67)
Will Nations (willnationsdev)
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
yg2f (SuperUserNameMan)
Yuri Rubinsky (Chaosus)
Yuri Sizov (YuriSizov)
Zae Chao (zaevi)
Zak Stam (zaksnet)
Zher Huei Lee (leezh)
ZuBsPaCe
风青山 (Rindbee)
Asgardius Virtualx Project contributors
Evelyn Debian
Kimberly Arch
Sarahi Syslinux
Eric Asgardius
Beachkid
Sakura Nakayama
Goldfish
Midori in the Magic School is an upcoming game from Asgardius Virtualx project
Visit Asgardius Virtualx homepage at https://virtualx.asgardius.company/
Project website
Hosting provided by Scaleway Dedibox
Source code hosted at https://git.asgardius.company/asgardius/midori-school
You can listen my radio station at https://asteroid.asgardius.company/public/r3
Special thanks
Unity Technologies
For make me choosing Godot
Godot does what Unitydnt
CAPCOM
For making great games in the past
ZUN
For let me know that a single person can create a great game
Hoyoverse
For let me know that fireworks can make a fun game
SNK
For let me know that a Heavy Machine Gun can be turned into a good stage boss
OMOCAT
For let me know that sketch graphics can give good results
Contact info
Email
asgardius@asgardius.company
Activitypub
@asgardius@social.asgardius.company
Matrix Chat
@asgardius:asgardius.company
You are free to distribute this game and make modifications, but remember sharing your modifications with source code
You are free to create guides, but i suggest avoiding cheat codes
You can reuse assets for non-commercial purposes only"
horizontal_alignment = 1
script = ExtResource("6_3q8sp")
[node name="Bottomhud" parent="." instance=ExtResource("5_yvope")]
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]

53
levels/ui/debug.gd Normal file
View file

@ -0,0 +1,53 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
Global.debug = true
$"VBoxContainer/Scene Selector".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_scene_selector_pressed():
get_tree().change_scene_to_file("res://levels/ui/scene.tscn")
func _on_sound_test_pressed():
get_tree().change_scene_to_file("res://levels/ui/soundtest.tscn")
func _on_back_pressed():
Global.debug = false
get_tree().change_scene_to_file("res://levels/ui/tmenu.tscn")

81
levels/ui/debug.tscn Normal file
View file

@ -0,0 +1,81 @@
[gd_scene load_steps=8 format=3 uid="uid://brrta1s63r2q2"]
[ext_resource type="Script" path="res://levels/ui/debug.gd" id="1_gm5qw"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_l51wy"]
[ext_resource type="Script" path="res://nebula.gd" id="3_0jyxj"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_ogmre"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_821nm"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6u0xs"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2qrn"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Debug" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_gm5qw")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_l51wy")
autoplay = true
script = ExtResource("3_0jyxj")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 339.0
offset_top = 61.0
offset_right = 991.0
offset_bottom = 207.0
theme_override_font_sizes/font_size = 106
text = "Debug Menu"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="Scene Selector" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_821nm")
text = "Scene Selector"
[node name="Sound Test" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Sound Test"
[node name="Back" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_ogmre")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Scene Selector" to="." method="_on_scene_selector_pressed"]
[connection signal="pressed" from="VBoxContainer/Sound Test" to="." method="_on_sound_test_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

50
levels/ui/gameplay.gd Normal file
View file

@ -0,0 +1,50 @@
extends Node2D
var level
var player
var music
var bgsound := AudioStreamPlayer.new()
var musictrack
var isboss
# Called when the node enters the scene tree for the first time.
func _ready():
add_child(bgsound)
if Global.debug:
level = load(Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][0]).instantiate()
player = load(Global.pchars[Global.dcpchar]).instantiate()
musictrack = Global.musictracks[Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][3]]
isboss = Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][4]
else:
level = load(Global.places[Global.cplace[0]][Global.cplace[1]][Global.cplace[2]][0]).instantiate()
player = load(Global.pchars[Global.cpchar]).instantiate()
musictrack = Global.musictracks[Global.places[Global.cplace[0]][Global.cplace[1]][Global.cplace[2]][3]]
isboss = Global.places[Global.cplace[0]][Global.cplace[1]][Global.cplace[2]][4]
if Global.cspawnarea[0] != null && Global.cspawnarea[0] != null:
player.position.x = Global.cspawnarea[0]
player.position.y = Global.cspawnarea[1]
elif Global.debug:
player.position.x = Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][1]
player.position.y = Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][2]
else:
player.position.x = Global.places[Global.cplace[0]][Global.cplace[1]][Global.cplace[2]][1]
player.position.y = Global.places[Global.cplace[0]][Global.cplace[1]][Global.cplace[2]][2]
music = load(musictrack)
get_tree().root.add_child.call_deferred(level)
get_tree().root.add_child.call_deferred(player)
bgsound.stream = music
if !isboss:
bgsound.play(0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _input(event):
if Input.is_key_pressed(KEY_ESCAPE) || Input.is_joy_button_pressed(0,JOY_BUTTON_BACK):
get_tree().root.remove_child(player)
get_tree().root.remove_child(level)
if Global.debug:
get_tree().change_scene_to_file("res://levels/ui/scene.tscn")
else:
get_tree().change_scene_to_file("res://title.tscn")

6
levels/ui/gameplay.tscn Normal file
View file

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://o4fdhf0tco2h"]
[ext_resource type="Script" path="res://levels/ui/gameplay.gd" id="1_swekd"]
[node name="Gameplay" type="Node2D"]
script = ExtResource("1_swekd")

158
levels/ui/musictest.gd Normal file
View file

@ -0,0 +1,158 @@
extends Control
var player := AudioStreamPlayer.new()
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
add_child(player)
$"BoxContainer/VBoxContainer/Title Screen".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
if Input.is_key_pressed(KEY_X) || Input.is_joy_button_pressed(0,JOY_BUTTON_X):
player.stop()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/soundtest.tscn")
func _on_title_screen_pressed():
player.stream = load(Global.musictracks[0])
player.play(0)
func _on_disclaimer_settings_stores_pressed():
player.stream = load(Global.musictracks[1])
player.play(0)
func _on_testrooms_pressed():
player.stream = load(Global.musictracks[2])
player.play(0)
func _on_friendly_challenge_pressed():
player.stream = load(Global.musictracks[3])
player.play(0)
func _on_school_nursery_pressed():
player.stream = load(Global.musictracks[4])
player.play(0)
func _on_overworld_ceres_pressed():
player.stream = load(Global.musictracks[5])
player.play(0)
func _on_boss_fight_ceres_pressed():
player.stream = load(Global.musictracks[6])
player.play(0)
func _on_result_pressed():
player.stream = load(Global.musictracks[7])
player.play(0)
func _on_overworld_earth_pressed():
player.stream = load(Global.musictracks[8])
player.play(0)
func _on_the_zubmarine_zone_pressed():
player.stream = load(Global.musictracks[9])
player.play(0)
func _on_radioactive_desert_pressed():
player.stream = load(Global.musictracks[10])
player.play(0)
func _on_natashas_theme_pressed():
player.stream = load(Global.musictracks[11])
player.play(0)
func _on_dungeon_of_destruction_pressed():
player.stream = load(Global.musictracks[12])
player.play(0)
func _on_final_boss_fight_pressed():
player.stream = load(Global.musictracks[13])
player.play(0)
func _on_ending_theme_pressed():
player.stream = load(Global.musictracks[14])
player.play(0)
func _on_credits_1_pressed():
player.stream = load(Global.musictracks[15])
player.play(0)
func _on_credits_2_pressed():
player.stream = load(Global.musictracks[16])
player.play(0)
func _on_credits_3_pressed():
player.stream = load(Global.musictracks[17])
player.play(0)
func _on_the_magic_school_pressed():
player.stream = load(Global.musictracks[18])
player.play(0)
func _on_deep_forest_pressed():
player.stream = load(Global.musictracks[19])
player.play(0)
func _on_boss_fight_earth_pressed():
player.stream = load(Global.musictracks[20])
player.play(0)

233
levels/ui/musictest.tscn Normal file
View file

@ -0,0 +1,233 @@
[gd_scene load_steps=8 format=3 uid="uid://v2cnmd1atfw1"]
[ext_resource type="Script" path="res://levels/ui/musictest.gd" id="1_mulrj"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_hc5pw"]
[ext_resource type="Script" path="res://nebula.gd" id="3_4oqoj"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_a1ux8"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cprm3"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_alctd"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0dqsq"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Musictest" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_mulrj")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_hc5pw")
autoplay = true
script = ExtResource("3_4oqoj")
[node name="Label" type="Label" parent="."]
layout_mode = 0
offset_right = 40.0
offset_bottom = 23.0
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Music Test"
[node name="Stop" type="Label" parent="."]
layout_mode = 0
offset_left = 5.0
offset_top = 672.0
offset_right = 444.0
offset_bottom = 708.0
theme_override_font_sizes/font_size = 22
text = "Press X to stop playback"
[node name="BoxContainer" type="BoxContainer" parent="."]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -640.0
offset_top = -419.0
grow_horizontal = 0
grow_vertical = 0
[node name="VBoxContainer" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Title Screen" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3")
text = "Title Screen"
[node name="Disclaimer, Settings, Stores" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3")
text = "Disclaimer, Settings, Stores"
[node name="Testrooms" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Testrooms"
[node name="Friendly challenge" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Friendly challenge"
[node name="School nursery" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "School nursery"
[node name="Overworld (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Overworld (Ceres)"
[node name="Boss fight (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Boss fight (Ceres)"
[node name="Result" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Result Screen"
[node name="Overworld (Earth)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Overworld (Earth)"
[node name="The Zubmarine Zone" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "The Zubmarine Zone"
[node name="Radioactive Desert" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Radioactive Desert"
[node name="VBoxContainer2" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Natashas Theme" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Natashas Theme"
[node name="Dungeon of Destruction" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Dungeon of Destruction"
[node name="Final Boss Fight" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Final Boss Fight"
[node name="Ending Theme" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Ending Theme"
[node name="Credits 1" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 1"
[node name="Credits 2" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 2"
[node name="Credits 3" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 3"
[node name="The Magic School" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "The Magic School"
[node name="Deep Forest" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Deep Forest"
[node name="Boss Fight (Earth)" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Boss Fight (Earth)"
[node name="Back" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_a1ux8")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Title Screen" to="." method="_on_title_screen_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Disclaimer, Settings, Stores" to="." method="_on_disclaimer_settings_stores_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Testrooms" to="." method="_on_testrooms_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Friendly challenge" to="." method="_on_friendly_challenge_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/School nursery" to="." method="_on_school_nursery_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Overworld (Ceres)" to="." method="_on_overworld_ceres_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Boss fight (Ceres)" to="." method="_on_boss_fight_ceres_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Result" to="." method="_on_result_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Overworld (Earth)" to="." method="_on_overworld_earth_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/The Zubmarine Zone" to="." method="_on_the_zubmarine_zone_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer/Radioactive Desert" to="." method="_on_radioactive_desert_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Natashas Theme" to="." method="_on_natashas_theme_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Dungeon of Destruction" to="." method="_on_dungeon_of_destruction_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Final Boss Fight" to="." method="_on_final_boss_fight_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Ending Theme" to="." method="_on_ending_theme_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Credits 1" to="." method="_on_credits_1_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Credits 2" to="." method="_on_credits_2_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Credits 3" to="." method="_on_credits_3_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/The Magic School" to="." method="_on_the_magic_school_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Deep Forest" to="." method="_on_deep_forest_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Boss Fight (Earth)" to="." method="_on_boss_fight_earth_pressed"]
[connection signal="pressed" from="BoxContainer/VBoxContainer2/Back" to="." method="_on_back_pressed"]

11
levels/ui/roll.gd Normal file
View file

@ -0,0 +1,11 @@
extends Label
func _process(delta):
#453 lines
#623 seconds credit roll
#633 seconds music
#20 Delta base
#20*623/633=19.6840442338
#Roll velocity calculator
#(14.0866856839 * music duration (seconds)) / Line count
position.y -= delta * 12

65
levels/ui/scene.gd Normal file
View file

@ -0,0 +1,65 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
$"VBoxContainer/Disclaimer".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/debug.tscn")
func _on_credits_pressed():
get_tree().change_scene_to_file("res://levels/ui/credits.tscn")
func _on_wip_pressed():
get_tree().change_scene_to_file("res://backgounds/wip.tscn")
func _on_results_pressed():
get_tree().change_scene_to_file("res://backgounds/result.tscn")
func _on_disclaimer_pressed():
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
func _on_testrooms_pressed():
get_tree().change_scene_to_file("res://levels/ui/testrooms.tscn")

99
levels/ui/scene.tscn Normal file
View file

@ -0,0 +1,99 @@
[gd_scene load_steps=7 format=3 uid="uid://duyxejhnys1l4"]
[ext_resource type="Script" path="res://levels/ui/scene.gd" id="1_hxcrn"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_nvftm"]
[ext_resource type="Script" path="res://nebula.gd" id="3_6sds4"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_2y7h7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6u0xs"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2qrn"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Scene" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_hxcrn")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_nvftm")
autoplay = true
script = ExtResource("3_6sds4")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Scene selector"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="Disclaimer" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Disclaimer"
[node name="Testrooms" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Test Rooms"
[node name="Results" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Result Screen"
[node name="Credits" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Credits"
[node name="WIP" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Work in Progress"
[node name="Back" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_2y7h7")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Disclaimer" to="." method="_on_disclaimer_pressed"]
[connection signal="pressed" from="VBoxContainer/Testrooms" to="." method="_on_testrooms_pressed"]
[connection signal="pressed" from="VBoxContainer/Results" to="." method="_on_results_pressed"]
[connection signal="pressed" from="VBoxContainer/Credits" to="." method="_on_credits_pressed"]
[connection signal="pressed" from="VBoxContainer/WIP" to="." method="_on_wip_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

52
levels/ui/sfxtest.gd Normal file
View file

@ -0,0 +1,52 @@
extends Control
var player := AudioStreamPlayer.new()
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
add_child(player)
$"BoxContainer/VBoxContainer/Title Screen".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
if Input.is_key_pressed(KEY_X) || Input.is_joy_button_pressed(0,JOY_BUTTON_X):
player.stop()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/soundtest.tscn")

182
levels/ui/sfxtest.tscn Normal file
View file

@ -0,0 +1,182 @@
[gd_scene load_steps=8 format=3 uid="uid://cv2a37xetkkse"]
[ext_resource type="Script" path="res://levels/ui/sfxtest.gd" id="1_l1lbb"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_c55jp"]
[ext_resource type="Script" path="res://nebula.gd" id="3_yeu3h"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_xxv3m"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cprm3"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_alctd"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0dqsq"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Sfxtest" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_l1lbb")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_c55jp")
autoplay = true
script = ExtResource("3_yeu3h")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Sound Effect Test"
[node name="Stop" type="Label" parent="."]
layout_mode = 0
offset_left = 5.0
offset_top = 672.0
offset_right = 444.0
offset_bottom = 708.0
theme_override_font_sizes/font_size = 22
text = "Press X to stop playback"
[node name="BoxContainer" type="BoxContainer" parent="."]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -640.0
offset_top = -419.0
grow_horizontal = 0
grow_vertical = 0
[node name="VBoxContainer" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Title Screen" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3")
text = "Title Screen"
[node name="Disclaimer, Settings, Stores" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3")
text = "Disclaimer, Settings, Stores"
[node name="Testrooms" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Testrooms"
[node name="Friendly challenge" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Friendly challenge"
[node name="School nursery" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "School nursery"
[node name="Overworld (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Overworld (Ceres)"
[node name="Boss fight (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Boss fight (Ceres)"
[node name="Overworld (Earth)" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Overworld (Earth)"
[node name="The Zubmarine Zone" type="Button" parent="BoxContainer/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "The Zubmarine Zone"
[node name="VBoxContainer2" type="VBoxContainer" parent="BoxContainer"]
layout_mode = 2
[node name="Radioactive Desert" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Radioactive Desert"
[node name="Boss Fight (Earth)" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Boss Fight (Earth)"
[node name="Dungeon of Destruction" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Dungeon of Destruction"
[node name="Final Boss Fight" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Final Boss Fight"
[node name="Ending Theme" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Ending Theme"
[node name="Credits 1" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 1"
[node name="Credits 2" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 2"
[node name="Credits 3" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_alctd")
text = "Credits 3"
[node name="Back" type="Button" parent="BoxContainer/VBoxContainer2"]
layout_mode = 2
theme_override_font_sizes/font_size = 25
theme_override_styles/focus = SubResource("StyleBoxFlat_0dqsq")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_xxv3m")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]

40
levels/ui/soundtest.gd Normal file
View file

@ -0,0 +1,40 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
$"VBoxContainer/Music".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/tmenu.tscn")
func _on_music_pressed():
get_tree().change_scene_to_file("res://levels/ui/musictest.tscn")
func _on_sfx_pressed():
get_tree().change_scene_to_file("res://levels/ui/sfxtest.tscn")

81
levels/ui/soundtest.tscn Normal file
View file

@ -0,0 +1,81 @@
[gd_scene load_steps=8 format=3 uid="uid://chg6qe1fijkh3"]
[ext_resource type="Script" path="res://levels/ui/soundtest.gd" id="1_3bg6p"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_abtft"]
[ext_resource type="Script" path="res://nebula.gd" id="3_c33nl"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_2a53a"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wtbgt"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4arqn"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_wro6j"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Soundtest" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_3bg6p")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_abtft")
autoplay = true
script = ExtResource("3_c33nl")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Sound Test"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="Music" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_wtbgt")
text = "Music"
[node name="Sfx" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_4arqn")
text = "Sound Effects"
[node name="Back" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_wro6j")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_2a53a")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Music" to="." method="_on_music_pressed"]
[connection signal="pressed" from="VBoxContainer/Sfx" to="." method="_on_sfx_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

39
levels/ui/talk.tscn Normal file
View file

@ -0,0 +1,39 @@
[gd_scene load_steps=2 format=3 uid="uid://cd8hd11usuhbu"]
[ext_resource type="Texture2D" uid="uid://bb4sw2rhdbjbf" path="res://sprites/common/placeholder/face.png" id="1_4l8il"]
[node name="Talk" type="Node2D"]
[node name="Playerface" type="TextureRect" parent="."]
offset_left = 511.0
offset_top = 35.0
offset_right = 767.0
offset_bottom = 291.0
texture = ExtResource("1_4l8il")
[node name="Textbox" type="ColorRect" parent="."]
offset_left = 41.0
offset_top = 319.0
offset_right = 1243.0
offset_bottom = 681.0
color = Color(0.254902, 0.254902, 0.254902, 1)
[node name="Label" type="Label" parent="."]
offset_left = 41.0
offset_top = 319.0
offset_right = 1243.0
offset_bottom = 412.0
theme_override_font_sizes/font_size = 68
text = "Character name goes here"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Dialog" type="Label" parent="."]
offset_left = 41.0
offset_top = 414.0
offset_right = 1243.0
offset_bottom = 681.0
theme_override_font_sizes/font_size = 68
text = "Your dialog goes here"
horizontal_alignment = 1
vertical_alignment = 1

56
levels/ui/testrooms.gd Normal file
View file

@ -0,0 +1,56 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
$"VBoxContainer/Testspawn".grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
func _input(event):
# Mouse in viewport coordinates.
if Input.is_action_just_pressed("ui_cancel"):
_on_back_pressed()
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_back_pressed():
get_tree().change_scene_to_file("res://levels/ui/scene.tscn")
func _on_testspawn_pressed():
Global.dplace = [0, 2, 1]
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")
func _on_testboss_pressed():
Global.dplace = [0, 1, 1]
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")

91
levels/ui/testrooms.tscn Normal file
View file

@ -0,0 +1,91 @@
[gd_scene load_steps=7 format=3 uid="uid://b0pgk6d871bor"]
[ext_resource type="Script" path="res://levels/ui/testrooms.gd" id="1_p5nnr"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_wyg0k"]
[ext_resource type="Script" path="res://nebula.gd" id="3_co5y6"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_jvl8w"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6u0xs"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2qrn"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Testrooms" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_p5nnr")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("2_wyg0k")
autoplay = true
script = ExtResource("3_co5y6")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 496.0
offset_top = 3.0
offset_right = 790.0
offset_bottom = 73.0
theme_override_font_sizes/font_size = 40
text = "Test Rooms"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="Testspawn" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Test Spawn"
[node name="Testboss" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Test Boss
"
[node name="Credits" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused"
[node name="WIP" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Unused"
[node name="Back" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Back"
[node name="Bottomhud" parent="." instance=ExtResource("4_jvl8w")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Testspawn" to="." method="_on_testspawn_pressed"]
[connection signal="pressed" from="VBoxContainer/Testboss" to="." method="_on_testboss_pressed"]
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]

51
levels/ui/tmenu.gd Normal file
View file

@ -0,0 +1,51 @@
extends Control
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
$VBoxContainer/Start.grab_focus()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _level():
# This is like autoloading the scene, only
# it happens after already loading the main scene.
get_tree().change_scene_to_file("res://backgounds/disclaimer.tscn")
#Global.live = 1
#Global.gamelevel = randi() % 3
#if Global.gamelevel == 0:
# get_tree().change_scene_to_file("res://backgounds/galaxy.tscn")
#elif Global.gamelevel == 1:
# get_tree().change_scene_to_file("res://backgounds/wormhole.tscn")
#else:
# get_tree().change_scene_to_file("res://backgounds/abstract.tscn")
#get_tree().root.add_child(title)
#get_tree().root.remove_child(boot)
#boot.queue_free()
#func _input(event):
# Mouse in viewport coordinates.
# if Input.is_key_pressed(KEY_ENTER) || Input.is_joy_button_pressed(0,JOY_BUTTON_B):
#print("Mouse Click/Unclick at: ", event.position)
# if highlighted == 1:
# _on_debug_pressed()
# if highlighted == 2:
# _on_exit_pressed()
# else:
# _on_start_pressed()
# elif Input.is_action_pressed("ui_up"):
# focus_next
func _on_start_pressed():
_level()
#pass # Replace with function body.
func _on_debug_pressed():
get_tree().change_scene_to_file("res://levels/ui/debug.tscn")
func _on_exit_pressed():
get_tree().quit()
#pass # Replace with function body.

81
levels/ui/tmenu.tscn Normal file
View file

@ -0,0 +1,81 @@
[gd_scene load_steps=8 format=3 uid="uid://s8ttuboef06k"]
[ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="1_33b4o"]
[ext_resource type="Script" path="res://levels/ui/tmenu.gd" id="1_w3aym"]
[ext_resource type="Script" path="res://nebula.gd" id="2_x35ws"]
[ext_resource type="PackedScene" uid="uid://d31udhuuwrajn" path="res://levels/bottomhud.tscn" id="4_0qcfw"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_821nm"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6u0xs"]
bg_color = Color(0, 0.8, 0, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2qrn"]
bg_color = Color(0, 0.8, 0, 1)
[node name="Tmenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_w3aym")
[node name="nebula" type="VideoStreamPlayer" parent="."]
layout_mode = 0
offset_right = 640.0
offset_bottom = 368.0
scale = Vector2(2, 1.96)
stream = ExtResource("1_33b4o")
autoplay = true
script = ExtResource("2_x35ws")
[node name="Game name" type="Label" parent="."]
layout_mode = 0
offset_left = 31.0
offset_top = 113.0
offset_right = 1237.0
offset_bottom = 243.0
theme_override_font_sizes/font_size = 95
text = "Midori in the Magic School"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -129.5
offset_top = -362.0
offset_right = 129.5
grow_horizontal = 2
grow_vertical = 0
[node name="Start" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_821nm")
text = "Start"
[node name="Debug" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
text = "Debug"
[node name="Exit" type="Button" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 80
theme_override_styles/focus = SubResource("StyleBoxFlat_r2qrn")
text = "Exit"
[node name="Bottomhud" parent="." instance=ExtResource("4_0qcfw")]
layout_mode = 1
[connection signal="finished" from="nebula" to="nebula" method="_on_finished"]
[connection signal="pressed" from="VBoxContainer/Start" to="." method="_on_start_pressed"]
[connection signal="pressed" from="VBoxContainer/Debug" to="." method="_on_debug_pressed"]
[connection signal="pressed" from="VBoxContainer/Exit" to="." method="_on_exit_pressed"]