Compare commits
No commits in common. 'main' and 'release' have entirely different histories.
@ -1,26 +1,25 @@
|
|||||||
Sprite2D
|
|
||||||
CollisionShape2D
|
|
||||||
RigidBody2D
|
|
||||||
Node2D
|
|
||||||
Button
|
|
||||||
GridContainer
|
|
||||||
TextureRect
|
|
||||||
Label
|
|
||||||
ScrollContainer
|
|
||||||
RichTextLabel
|
|
||||||
Control
|
Control
|
||||||
Container
|
Container
|
||||||
HBoxContainer
|
HBoxContainer
|
||||||
|
TextureRect
|
||||||
|
Sprite2D
|
||||||
|
Label
|
||||||
|
Button
|
||||||
|
GridContainer
|
||||||
ItemList
|
ItemList
|
||||||
VScrollBar
|
VScrollBar
|
||||||
VBoxContainer
|
VBoxContainer
|
||||||
Panel
|
Panel
|
||||||
|
CollisionShape2D
|
||||||
CollisionPolygon2D
|
CollisionPolygon2D
|
||||||
|
Node2D
|
||||||
Area2D
|
Area2D
|
||||||
CanvasLayer
|
CanvasLayer
|
||||||
|
ScrollContainer
|
||||||
AnimationPlayer
|
AnimationPlayer
|
||||||
TextureButton
|
TextureButton
|
||||||
Timer
|
Timer
|
||||||
|
RigidBody2D
|
||||||
Marker2D
|
Marker2D
|
||||||
Camera2D
|
Camera2D
|
||||||
CharacterBody2D
|
CharacterBody2D
|
||||||
|
@ -1,83 +1,41 @@
|
|||||||
2a60927148abd1d33b818b535e306557
|
2a60927148abd1d33b818b535e306557
|
||||||
::res://::1680072698
|
::res://::1678090313
|
||||||
export_presets.cfg::TextFile::-1::1678615956::0::1::::<><>::
|
export_presets.cfg::TextFile::-1::1678010409::0::1::::<><>::
|
||||||
README.md::TextFile::-1::1677829846::0::1::::<><>::
|
README.md::TextFile::-1::1677829846::0::1::::<><>::
|
||||||
::res://addons/::1677750379
|
::res://addons/::1677750379
|
||||||
::res://addons/godot-git-plugin/::1680056617
|
::res://addons/godot-git-plugin/::1677750379
|
||||||
git_plugin.gdextension::GDExtension::-1::1677750379::0::1::::<><>::
|
git_plugin.gdextension::GDExtension::-1::1677750379::0::1::::<><>::
|
||||||
plugin.cfg::TextFile::-1::1677750379::0::1::::<><>::
|
plugin.cfg::TextFile::-1::1677750379::0::1::::<><>::
|
||||||
THIRDPARTY.md::TextFile::-1::1677750379::0::1::::<><>::
|
THIRDPARTY.md::TextFile::-1::1677750379::0::1::::<><>::
|
||||||
::res://addons/godot-git-plugin/linux/::1680056617
|
::res://addons/godot-git-plugin/linux/::1677750379
|
||||||
::res://addons/godot-git-plugin/macos/::1680056617
|
::res://addons/godot-git-plugin/macos/::1677750379
|
||||||
::res://addons/godot-git-plugin/win64/::1680056617
|
::res://addons/godot-git-plugin/win64/::1677750379
|
||||||
::res://Art/::1678613770
|
::res://Art/::1677787260
|
||||||
::res://Art/Characters/::1680056616
|
::res://Art/Characters/::1677787257
|
||||||
defaultMare.png::CompressedTexture2D::4875310872288488452::1677758657::1677787257::1::::<><>::
|
defaultMare.png::CompressedTexture2D::4875310872288488452::1677758657::1677787257::1::::<><>::
|
||||||
::res://Art/Cupcakes/::1680056616
|
::res://Art/Cupcakes/::1677787255
|
||||||
ChocCupcake.png::CompressedTexture2D::3335544482266598944::1678176377::1678176383::1::::<><>::
|
|
||||||
CinCupcake.png::CompressedTexture2D::6767289867738545589::1678488310::1678488729::1::::<><>::
|
|
||||||
Cupcake.png::CompressedTexture2D::2257367495948376976::1677756335::1677787255::1::::<><>::
|
Cupcake.png::CompressedTexture2D::2257367495948376976::1677756335::1677787255::1::::<><>::
|
||||||
HonCupcake.png::CompressedTexture2D::7361236424952522838::1678488638::1678488729::1::::<><>::
|
::res://Art/Locations/::1677787260
|
||||||
NightCupcake.png::CompressedTexture2D::1798860622294198324::1678488712::1678488729::1::::<><>::
|
|
||||||
RVelCupcake.png::CompressedTexture2D::4611357256445777224::1678488250::1678488729::1::::<><>::
|
|
||||||
VanCupcake.png::CompressedTexture2D::3610772439077492676::1678176993::1678176997::1::::<><>::
|
|
||||||
::res://Art/Locations/::1680056616
|
|
||||||
dungeonHon.png::CompressedTexture2D::6614171134995427825::1679468176::1679469592::1::::<><>::
|
|
||||||
dungeonNight.png::CompressedTexture2D::3363708571641826955::1679617687::1679617784::1::::<><>::
|
|
||||||
yard1.png::CompressedTexture2D::4372226739663751514::1677759042::1677787260::1::::<><>::
|
yard1.png::CompressedTexture2D::4372226739663751514::1677759042::1677787260::1::::<><>::
|
||||||
::res://Art/Tools/::1680056617
|
|
||||||
bakingTray.png::CompressedTexture2D::5691511711123151312::1678613786::1678613792::1::::<><>::
|
|
||||||
::res://Art/Upgrades/::1677787246
|
::res://Art/Upgrades/::1677787246
|
||||||
::res://Releases/::1678095890
|
::res://Scenes/::1678090225
|
||||||
::res://Releases/Linux/::1678096050
|
game_world.tscn::PackedScene::7981802964863433317::1678090225::0::1::::<><>::res://Scripts/game_world.gd<>res://Scripts/Cupcake Spawn Timer.gd<>uid://dswkgkor3yejo<>uid://cpv7y67qtmino<>res://Scripts/PlayArea.gd<>uid://c4dtrk2kooa6q
|
||||||
::res://Releases/Linux/v0 Version Zero/::1680056619
|
horse.tscn::PackedScene::8568825373134700876::1678090225::0::1::::<><>::res://Scripts/horse.gd<>uid://cbpvwmngdb4ke
|
||||||
::res://Releases/Linux/v0.1 Pre-Alpha/::1680056620
|
::res://Scenes/Cupcakes/::1678090225
|
||||||
::res://Releases/Web/::1678096071
|
cupcake.tscn::PackedScene::8468695979515826288::1678090225::0::1::::<><>::res://Scripts/Cupcakes/cupcake.gd<>uid://7fqro4fugv8k
|
||||||
::res://Releases/Web/v0 Version Zero/::1680056620
|
::res://Scenes/Locations/::1678090225
|
||||||
::res://Releases/Windows/::1678615524
|
yard.tscn::PackedScene::7883941411178408831::1678090225::0::1::::<><>::uid://b3j662tj6h5vq
|
||||||
::res://Releases/Windows/v0 Version Zero/::1680056620
|
::res://Scenes/UI/::1678090225
|
||||||
::res://Releases/Windows/v0.1 Pre Alpha/::1680056621
|
ingame_ui.tscn::PackedScene::6815695514927101566::1678090225::0::1::::<><>::res://Scripts/ingame_ui.gd<>uid://7fqro4fugv8k
|
||||||
::res://Scenes/::1680056615
|
upgrades.tscn::PackedScene::5871013436024621816::1678090225::0::1::::<><>::res://Scripts/upgrades.gd<>uid://7fqro4fugv8k
|
||||||
game_world.tscn::PackedScene::7981802964863433317::1679621567::0::1::::<><>::res://Scripts/game_world.gd<>res://Scripts/Cupcake Spawn Timer.gd<>uid://dswkgkor3yejo<>uid://cpv7y67qtmino<>res://Scripts/PlayArea.gd<>uid://c4dtrk2kooa6q<>uid://cpi1m1vg4lscn<>uid://bkrj5vouqpo8n<>uid://bh3snjiwx8l0v<>uid://c373r4pv46ydj<>uid://ciciat7jdjboy<>uid://bptnammqx5dk2<>uid://cqdqsl5kcd540
|
::res://Scripts/::1678090225
|
||||||
horse.tscn::PackedScene::8568825373134700876::1679300283::0::1::::<><>::res://Scripts/horse.gd<>uid://cbpvwmngdb4ke
|
Cupcake Spawn Timer.gd::GDScript::-1::1677829748::0::1::::<>Timer<>::
|
||||||
::res://Scenes/Cupcakes/::1680056615
|
game_world.gd::GDScript::-1::1678090225::0::1::::<>Node2D<>::
|
||||||
chocCupcake.tscn::PackedScene::5843790513687768897::1679300283::0::1::::<><>::res://Scripts/Cupcakes/chocCupcake.gd<>uid://bnr06vojcqkqy
|
horse.gd::GDScript::-1::1678073658::0::1::::<>CharacterBody2D<>::
|
||||||
cinCupcake.tscn::PackedScene::6805921059018230263::1679300282::0::1::::<><>::res://Scripts/Cupcakes/cinCupcake.gd<>uid://c3oejmmv6ysxp
|
ingame_ui.gd::GDScript::-1::1678059546::0::1::::<>CanvasLayer<>::
|
||||||
cupcake.tscn::PackedScene::8468695979515826288::1679300283::0::1::::<><>::res://Scripts/Cupcakes/cupcake.gd<>uid://brpc5ocwgd8ls
|
PlayArea.gd::GDScript::-1::1678064613::0::1::::<>Area2D<>::
|
||||||
honCupcake.tscn::PackedScene::5338967655731389712::1679300283::0::1::::<><>::res://Scripts/Cupcakes/honCupcake.gd<>uid://dc43quvhcwa8e
|
upgrades.gd::GDScript::-1::1678074136::0::1::::<>CanvasLayer<>::
|
||||||
nightCupcake.tscn::PackedScene::3479266486073426779::1679300282::0::1::::<><>::res://Scripts/Cupcakes/nightCupcake.gd<>uid://0vm8bhbkhqym
|
varConst.gd::GDScript::-1::1677895026::0::1::::<>Node<>::
|
||||||
rvelCupcake.tscn::PackedScene::2936661773563773771::1679300282::0::1::::<><>::res://Scripts/Cupcakes/rvelCupcake.gd<>uid://b6x1m6u01x377
|
varVar.gd::GDScript::-1::1678066992::0::1::::<>Node<>::
|
||||||
strawCupcake.tscn::PackedScene::3124004694192797727::1679300283::0::1::::<><>::res://Scripts/Cupcakes/strawCupcake.gd<>uid://7fqro4fugv8k
|
::res://Scripts/Cupcakes/::1678073658
|
||||||
::res://Scenes/Enemies/::1680056615
|
cupcake.gd::GDScript::-1::1678073658::0::1::::<>RigidBody2D<>::
|
||||||
enemyHon.tscn::PackedScene::5903060239589615715::1679620043::0::1::::<><>::res://Scripts/enemyHon.gd
|
|
||||||
::res://Scenes/Locations/::1680056615
|
|
||||||
dungeonHon.tscn::PackedScene::5328301215832949731::1679617286::0::1::::<><>::uid://c1h7oxxgn6kd2
|
|
||||||
dungeonNight.tscn::PackedScene::2208196008289968171::1679617835::0::1::::<><>::uid://bn6n121jt7vsd
|
|
||||||
neighYard.tscn::PackedScene::633631167704521406::1679300283::0::1::::<><>::uid://b3j662tj6h5vq
|
|
||||||
yard.tscn::PackedScene::7883941411178408831::1678400136::0::1::::<><>::uid://b3j662tj6h5vq
|
|
||||||
::res://Scenes/Tools/::1680056615
|
|
||||||
bakingTray.tscn::PackedScene::6954382797642648543::1679300283::0::1::::<><>::res://Scripts/Tools/bakingTray.gd<>uid://cndampqx57ed1
|
|
||||||
hooves.tscn::PackedScene::7567573654608928774::1679300283::0::1::::<><>::res://Scripts/Tools/hooves.gd
|
|
||||||
tool.tscn::PackedScene::1367248170788127558::1678501723::0::1::::<><>::
|
|
||||||
::res://Scenes/UI/::1680056615
|
|
||||||
ingame_ui.tscn::PackedScene::6815695514927101566::1679616218::0::1::::<><>::res://Scripts/ingame_ui.gd<>uid://7fqro4fugv8k<>uid://brpc5ocwgd8ls<>uid://bnr06vojcqkqy<>uid://b6x1m6u01x377<>uid://c3oejmmv6ysxp<>uid://dc43quvhcwa8e<>uid://0vm8bhbkhqym
|
|
||||||
upgrades.tscn::PackedScene::5871013436024621816::1679300282::0::1::::<><>::res://Scripts/upgrades.gd<>uid://7fqro4fugv8k<>uid://brpc5ocwgd8ls<>uid://bnr06vojcqkqy<>uid://b6x1m6u01x377<>uid://c3oejmmv6ysxp<>uid://dc43quvhcwa8e
|
|
||||||
::res://Scripts/::1680056616
|
|
||||||
Cupcake Spawn Timer.gd::GDScript::-1::1678186507::0::1::::<>Timer<>::
|
|
||||||
enemyHon.gd::GDScript::-1::1679620043::0::1::::<>RigidBody2D<>::
|
|
||||||
game_world.gd::GDScript::-1::1679621567::0::1::::<>Node2D<>::
|
|
||||||
horse.gd::GDScript::-1::1678505240::0::1::::<>CharacterBody2D<>::
|
|
||||||
ingame_ui.gd::GDScript::-1::1679616218::0::1::::<>CanvasLayer<>::
|
|
||||||
PlayArea.gd::GDScript::-1::1678186507::0::1::::<>Area2D<>::
|
|
||||||
upgrades.gd::GDScript::-1::1678502949::0::1::::<>CanvasLayer<>::
|
|
||||||
::res://Scripts/Cupcakes/::1680056615
|
|
||||||
chocCupcake.gd::GDScript::-1::1678180708::0::1::::<>RigidBody2D<>::
|
|
||||||
cinCupcake.gd::GDScript::-1::1678494053::0::1::::<>RigidBody2D<>::
|
|
||||||
cupcake.gd::GDScript::-1::1678180708::0::1::::<>RigidBody2D<>::
|
|
||||||
honCupcake.gd::GDScript::-1::1678490256::0::1::::<>RigidBody2D<>::
|
|
||||||
nightCupcake.gd::GDScript::-1::1678490280::0::1::::<>RigidBody2D<>::
|
|
||||||
rvelCupcake.gd::GDScript::-1::1678494048::0::1::::<>RigidBody2D<>::
|
|
||||||
strawCupcake.gd::GDScript::-1::1678180708::0::1::::<>RigidBody2D<>::
|
|
||||||
::res://Scripts/Tools/::1680056615
|
|
||||||
bakingTray.gd::GDScript::-1::1678505161::0::1::::<>RigidBody2D<>::
|
|
||||||
hooves.gd::GDScript::-1::1678505240::0::1::::<>RigidBody2D<>::
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
res://Scenes/Enemies/enemyHon.tscn
|
|
||||||
res://Scripts/game_world.gd
|
|
||||||
res://Scenes/game_world.tscn
|
res://Scenes/game_world.tscn
|
||||||
res://Scenes/UI/upgrades.tscn
|
res://Scripts/game_world.gd
|
||||||
res://Scenes/UI/ingame_ui.tscn
|
|
||||||
res://Scenes/horse.tscn
|
res://Scenes/horse.tscn
|
||||||
res://Scenes/Locations/dungeonNight.tscn
|
|
||||||
res://Scenes/Tools/bakingTray.tscn
|
|
||||||
res://Scenes/Cupcakes/cupcake.tscn
|
res://Scenes/Cupcakes/cupcake.tscn
|
||||||
|
res://Scenes/Locations/yard.tscn
|
||||||
|
res://Scenes/UI/upgrades.tscn
|
||||||
|
res://Scenes/UI/ingame_ui.tscn
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[folding]
|
[folding]
|
||||||
|
|
||||||
node_unfolds=[NodePath("."), PackedStringArray("Transform", "Material", "Texture", "Ordering", "Visibility", "Editor Description", "Process", "ccVanilla"), NodePath("Location"), PackedStringArray("Visibility"), NodePath("Upgrades"), PackedStringArray("Layer"), NodePath("PlayArea"), PackedStringArray("Input", "Collision", "Visibility"), NodePath("PlayArea/CollisionShape2D"), PackedStringArray("Transform", "shape")]
|
node_unfolds=[NodePath("."), PackedStringArray("Transform", "Material", "Texture", "Ordering", "Visibility", "Editor Description", "Process", "ccVanilla"), NodePath("Location"), PackedStringArray("Visibility"), NodePath("Upgrades"), PackedStringArray("Layer"), NodePath("Cupcakes/Cupcake"), PackedStringArray("Collision"), NodePath("PlayArea"), PackedStringArray("Input", "Collision", "Visibility"), NodePath("PlayArea/CollisionShape2D"), PackedStringArray("Transform", "shape")]
|
||||||
resource_unfolds=["res://Scenes/game_world.tscn::RectangleShape2D_g5fj2", PackedStringArray()]
|
resource_unfolds=["res://Scenes/game_world.tscn::RectangleShape2D_g5fj2", PackedStringArray()]
|
||||||
nodes_folded=[]
|
nodes_folded=[]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[folding]
|
[folding]
|
||||||
|
|
||||||
node_unfolds=[NodePath("."), PackedStringArray("Transform", "Visibility", "Collision"), NodePath("Sprite2D"), PackedStringArray("texture", "Transform", "Texture"), NodePath("CollisionShape2D"), PackedStringArray("Texture", "Material")]
|
node_unfolds=[NodePath("."), PackedStringArray("Transform"), NodePath("Sprite2D"), PackedStringArray("texture", "Transform", "Texture"), NodePath("CollisionShape2D"), PackedStringArray("Texture", "Material")]
|
||||||
resource_unfolds=["res://Scenes/horse.tscn::CapsuleShape2D_gg7is", PackedStringArray()]
|
resource_unfolds=["res://Scenes/horse.tscn::CapsuleShape2D_gg7is", PackedStringArray()]
|
||||||
nodes_folded=[]
|
nodes_folded=[]
|
||||||
|
@ -1,18 +1,13 @@
|
|||||||
res://Scenes/Enemies
|
|
||||||
res://Scenes/Locations
|
|
||||||
/home/shobie/CupcakeRevolution1/Windows
|
|
||||||
/home/shobie/CupcakeRevolution1/Linux
|
/home/shobie/CupcakeRevolution1/Linux
|
||||||
res://Art/Cupcakes
|
|
||||||
res://Scripts/Tools
|
|
||||||
res://Scenes/Tools
|
|
||||||
res://Scripts/Cupcakes
|
|
||||||
res://Scenes/Cupcakes
|
|
||||||
/bin
|
/bin
|
||||||
/home/shobie/CupcakeRevolution1
|
/home/shobie/CupcakeRevolution1
|
||||||
/home/shobie/CupcakeRevolution1/Web
|
/home/shobie/CupcakeRevolution1/Web
|
||||||
|
/home/shobie/CupcakeRevolution1/Windows
|
||||||
res://Scenes/UI
|
res://Scenes/UI
|
||||||
res://Scripts
|
res://Scripts
|
||||||
|
res://Scenes/Locations
|
||||||
res://Art/Locations
|
res://Art/Locations
|
||||||
|
res://Scripts/Cupcakes
|
||||||
res://Art
|
res://Art
|
||||||
res://Scenes
|
res://Scenes
|
||||||
res://
|
res://
|
||||||
|
Before Width: | Height: | Size: 990 B |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bnr06vojcqkqy"
|
|
||||||
path="res://.godot/imported/ChocCupcake.png-e006e5de377232b1b1c50df2e20e22a7.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/ChocCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/ChocCupcake.png-e006e5de377232b1b1c50df2e20e22a7.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 716 B |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c3oejmmv6ysxp"
|
|
||||||
path="res://.godot/imported/CinCupcake.png-ac660079f711cde122233d8ebd95be32.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/CinCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/CinCupcake.png-ac660079f711cde122233d8ebd95be32.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 738 B |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dc43quvhcwa8e"
|
|
||||||
path="res://.godot/imported/HonCupcake.png-e8c1d179303f4f6136e7b365357e1728.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/HonCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/HonCupcake.png-e8c1d179303f4f6136e7b365357e1728.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 578 B |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://0vm8bhbkhqym"
|
|
||||||
path="res://.godot/imported/NightCupcake.png-ed5ddf07954b7673a4451f5be2d18bb6.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/NightCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/NightCupcake.png-ed5ddf07954b7673a4451f5be2d18bb6.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 691 B |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://b6x1m6u01x377"
|
|
||||||
path="res://.godot/imported/RVelCupcake.png-14e105634f302b9899846f1e58357344.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/RVelCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/RVelCupcake.png-14e105634f302b9899846f1e58357344.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 1.0 KiB |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://brpc5ocwgd8ls"
|
|
||||||
path="res://.godot/imported/VanCupcake.png-d7516ec98435c601fdd7cc0a7cd52e5e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Cupcakes/VanCupcake.png"
|
|
||||||
dest_files=["res://.godot/imported/VanCupcake.png-d7516ec98435c601fdd7cc0a7cd52e5e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 9.1 MiB |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://c1h7oxxgn6kd2"
|
|
||||||
path="res://.godot/imported/dungeonHon.png-b9f1d47544211a85bc4fc86940c9f7e2.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Locations/dungeonHon.png"
|
|
||||||
dest_files=["res://.godot/imported/dungeonHon.png-b9f1d47544211a85bc4fc86940c9f7e2.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 1.4 MiB |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bn6n121jt7vsd"
|
|
||||||
path="res://.godot/imported/dungeonNight.png-ae021c1b5b09eee6d512942d4a4dc37e.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Locations/dungeonNight.png"
|
|
||||||
dest_files=["res://.godot/imported/dungeonNight.png-ae021c1b5b09eee6d512942d4a4dc37e.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
Before Width: | Height: | Size: 13 KiB |
@ -1,34 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cndampqx57ed1"
|
|
||||||
path="res://.godot/imported/bakingTray.png-33a1c6a36a62772510594ecd7feff3bb.ctex"
|
|
||||||
metadata={
|
|
||||||
"vram_texture": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Art/Tools/bakingTray.png"
|
|
||||||
dest_files=["res://.godot/imported/bakingTray.png-33a1c6a36a62772510594ecd7feff3bb.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=0
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=false
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=1
|
|
@ -1,53 +1,3 @@
|
|||||||
# Cupcake Revolution
|
# CupcakeRevolution
|
||||||
|
|
||||||
Mare themed idle game made in Godot 4.
|
Mare themed idle game made in Godot 4.
|
||||||
|
|
||||||
|
|
||||||
# Roadmap
|
|
||||||
## Pre-Alpha:
|
|
||||||
### 0.1 (done)
|
|
||||||
- 5 Cupcake types (done)
|
|
||||||
- Tool Mechanic (done)
|
|
||||||
- New Location (done)
|
|
||||||
### 0.2 (in-progress)
|
|
||||||
- 3+ Cupcake-type specific upgrades:
|
|
||||||
- Strawberry Combo
|
|
||||||
- Red Velvet, SweetieBots
|
|
||||||
- Cinnamon, ???
|
|
||||||
- Honesty Dungeon
|
|
||||||
- Start Enemy System
|
|
||||||
- ???
|
|
||||||
### 0.3
|
|
||||||
- Third Area
|
|
||||||
- First Boss dungeon
|
|
||||||
- Finish Enemy System
|
|
||||||
- ???
|
|
||||||
## Alpha:
|
|
||||||
### 0.4
|
|
||||||
- Rock-type cupcakes
|
|
||||||
- Second Boss dungeon
|
|
||||||
- Mirror Pool
|
|
||||||
- Save System
|
|
||||||
- ???
|
|
||||||
### 0.5
|
|
||||||
- Metal-type cupcakes
|
|
||||||
- Third Boss
|
|
||||||
- ???
|
|
||||||
### 0.6
|
|
||||||
- -type cupcakes
|
|
||||||
- Fourth Boss dungeon
|
|
||||||
- ???
|
|
||||||
## Beta:
|
|
||||||
### 0.7
|
|
||||||
- Fifth Boss dungeon
|
|
||||||
- Super Mirror Pool
|
|
||||||
- ???
|
|
||||||
### 0.8
|
|
||||||
- Sixth Boss dungeon
|
|
||||||
- ???
|
|
||||||
### 0.9
|
|
||||||
- Seventh Boss dungeon
|
|
||||||
- ???
|
|
||||||
## Release:
|
|
||||||
### 1.0
|
|
||||||
- ??? ;)
|
|
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,213 @@
|
|||||||
|
/**************************************************************************/
|
||||||
|
/* audio.worklet.js */
|
||||||
|
/**************************************************************************/
|
||||||
|
/* This file is part of: */
|
||||||
|
/* GODOT ENGINE */
|
||||||
|
/* https://godotengine.org */
|
||||||
|
/**************************************************************************/
|
||||||
|
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
|
||||||
|
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
|
||||||
|
/* */
|
||||||
|
/* Permission is hereby granted, free of charge, to any person obtaining */
|
||||||
|
/* a copy of this software and associated documentation files (the */
|
||||||
|
/* "Software"), to deal in the Software without restriction, including */
|
||||||
|
/* without limitation the rights to use, copy, modify, merge, publish, */
|
||||||
|
/* distribute, sublicense, and/or sell copies of the Software, and to */
|
||||||
|
/* permit persons to whom the Software is furnished to do so, subject to */
|
||||||
|
/* the following conditions: */
|
||||||
|
/* */
|
||||||
|
/* The above copyright notice and this permission notice shall be */
|
||||||
|
/* included in all copies or substantial portions of the Software. */
|
||||||
|
/* */
|
||||||
|
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
|
||||||
|
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
|
||||||
|
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
|
||||||
|
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
|
||||||
|
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
|
||||||
|
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
|
||||||
|
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||||
|
/**************************************************************************/
|
||||||
|
|
||||||
|
class RingBuffer {
|
||||||
|
constructor(p_buffer, p_state, p_threads) {
|
||||||
|
this.buffer = p_buffer;
|
||||||
|
this.avail = p_state;
|
||||||
|
this.threads = p_threads;
|
||||||
|
this.rpos = 0;
|
||||||
|
this.wpos = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
data_left() {
|
||||||
|
return this.threads ? Atomics.load(this.avail, 0) : this.avail;
|
||||||
|
}
|
||||||
|
|
||||||
|
space_left() {
|
||||||
|
return this.buffer.length - this.data_left();
|
||||||
|
}
|
||||||
|
|
||||||
|
read(output) {
|
||||||
|
const size = this.buffer.length;
|
||||||
|
let from = 0;
|
||||||
|
let to_write = output.length;
|
||||||
|
if (this.rpos + to_write > size) {
|
||||||
|
const high = size - this.rpos;
|
||||||
|
output.set(this.buffer.subarray(this.rpos, size));
|
||||||
|
from = high;
|
||||||
|
to_write -= high;
|
||||||
|
this.rpos = 0;
|
||||||
|
}
|
||||||
|
if (to_write) {
|
||||||
|
output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from);
|
||||||
|
}
|
||||||
|
this.rpos += to_write;
|
||||||
|
if (this.threads) {
|
||||||
|
Atomics.add(this.avail, 0, -output.length);
|
||||||
|
Atomics.notify(this.avail, 0);
|
||||||
|
} else {
|
||||||
|
this.avail -= output.length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
write(p_buffer) {
|
||||||
|
const to_write = p_buffer.length;
|
||||||
|
const mw = this.buffer.length - this.wpos;
|
||||||
|
if (mw >= to_write) {
|
||||||
|
this.buffer.set(p_buffer, this.wpos);
|
||||||
|
this.wpos += to_write;
|
||||||
|
if (mw === to_write) {
|
||||||
|
this.wpos = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const high = p_buffer.subarray(0, mw);
|
||||||
|
const low = p_buffer.subarray(mw);
|
||||||
|
this.buffer.set(high, this.wpos);
|
||||||
|
this.buffer.set(low);
|
||||||
|
this.wpos = low.length;
|
||||||
|
}
|
||||||
|
if (this.threads) {
|
||||||
|
Atomics.add(this.avail, 0, to_write);
|
||||||
|
Atomics.notify(this.avail, 0);
|
||||||
|
} else {
|
||||||
|
this.avail += to_write;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GodotProcessor extends AudioWorkletProcessor {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
this.threads = false;
|
||||||
|
this.running = true;
|
||||||
|
this.lock = null;
|
||||||
|
this.notifier = null;
|
||||||
|
this.output = null;
|
||||||
|
this.output_buffer = new Float32Array();
|
||||||
|
this.input = null;
|
||||||
|
this.input_buffer = new Float32Array();
|
||||||
|
this.port.onmessage = (event) => {
|
||||||
|
const cmd = event.data['cmd'];
|
||||||
|
const data = event.data['data'];
|
||||||
|
this.parse_message(cmd, data);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
process_notify() {
|
||||||
|
if (this.notifier) {
|
||||||
|
Atomics.add(this.notifier, 0, 1);
|
||||||
|
Atomics.notify(this.notifier, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_message(p_cmd, p_data) {
|
||||||
|
if (p_cmd === 'start' && p_data) {
|
||||||
|
const state = p_data[0];
|
||||||
|
let idx = 0;
|
||||||
|
this.threads = true;
|
||||||
|
this.lock = state.subarray(idx, ++idx);
|
||||||
|
this.notifier = state.subarray(idx, ++idx);
|
||||||
|
const avail_in = state.subarray(idx, ++idx);
|
||||||
|
const avail_out = state.subarray(idx, ++idx);
|
||||||
|
this.input = new RingBuffer(p_data[1], avail_in, true);
|
||||||
|
this.output = new RingBuffer(p_data[2], avail_out, true);
|
||||||
|
} else if (p_cmd === 'stop') {
|
||||||
|
this.running = false;
|
||||||
|
this.output = null;
|
||||||
|
this.input = null;
|
||||||
|
this.lock = null;
|
||||||
|
this.notifier = null;
|
||||||
|
} else if (p_cmd === 'start_nothreads') {
|
||||||
|
this.output = new RingBuffer(p_data[0], p_data[0].length, false);
|
||||||
|
} else if (p_cmd === 'chunk') {
|
||||||
|
this.output.write(p_data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static array_has_data(arr) {
|
||||||
|
return arr.length && arr[0].length && arr[0][0].length;
|
||||||
|
}
|
||||||
|
|
||||||
|
process(inputs, outputs, parameters) {
|
||||||
|
if (!this.running) {
|
||||||
|
return false; // Stop processing.
|
||||||
|
}
|
||||||
|
if (this.output === null) {
|
||||||
|
return true; // Not ready yet, keep processing.
|
||||||
|
}
|
||||||
|
const process_input = GodotProcessor.array_has_data(inputs);
|
||||||
|
if (process_input) {
|
||||||
|
const input = inputs[0];
|
||||||
|
const chunk = input[0].length * input.length;
|
||||||
|
if (this.input_buffer.length !== chunk) {
|
||||||
|
this.input_buffer = new Float32Array(chunk);
|
||||||
|
}
|
||||||
|
if (!this.threads) {
|
||||||
|
GodotProcessor.write_input(this.input_buffer, input);
|
||||||
|
this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer });
|
||||||
|
} else if (this.input.space_left() >= chunk) {
|
||||||
|
GodotProcessor.write_input(this.input_buffer, input);
|
||||||
|
this.input.write(this.input_buffer);
|
||||||
|
} else {
|
||||||
|
this.port.postMessage('Input buffer is full! Skipping input frame.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const process_output = GodotProcessor.array_has_data(outputs);
|
||||||
|
if (process_output) {
|
||||||
|
const output = outputs[0];
|
||||||
|
const chunk = output[0].length * output.length;
|
||||||
|
if (this.output_buffer.length !== chunk) {
|
||||||
|
this.output_buffer = new Float32Array(chunk);
|
||||||
|
}
|
||||||
|
if (this.output.data_left() >= chunk) {
|
||||||
|
this.output.read(this.output_buffer);
|
||||||
|
GodotProcessor.write_output(output, this.output_buffer);
|
||||||
|
if (!this.threads) {
|
||||||
|
this.port.postMessage({ 'cmd': 'read', 'data': chunk });
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.port.postMessage('Output buffer has not enough frames! Skipping output frame.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.process_notify();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static write_output(dest, source) {
|
||||||
|
const channels = dest.length;
|
||||||
|
for (let ch = 0; ch < channels; ch++) {
|
||||||
|
for (let sample = 0; sample < dest[ch].length; sample++) {
|
||||||
|
dest[ch][sample] = source[sample * channels + ch];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static write_input(dest, source) {
|
||||||
|
const channels = source.length;
|
||||||
|
for (let ch = 0; ch < channels; ch++) {
|
||||||
|
for (let sample = 0; sample < source[ch].length; sample++) {
|
||||||
|
dest[sample * channels + ch] = source[ch][sample];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
registerProcessor('godot-processor', GodotProcessor);
|
@ -0,0 +1,248 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, user-scalable=no">
|
||||||
|
<title>Cupcake Revolution</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
touch-action: none;
|
||||||
|
margin: 0;
|
||||||
|
border: 0 none;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
background-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
#canvas {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#canvas:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.godot {
|
||||||
|
font-family: 'Noto Sans', 'Droid Sans', Arial, sans-serif;
|
||||||
|
color: #e0e0e0;
|
||||||
|
background-color: #3b3943;
|
||||||
|
background-image: linear-gradient(to bottom, #403e48, #35333c);
|
||||||
|
border: 1px solid #45434e;
|
||||||
|
box-shadow: 0 0 1px 1px #2f2d35;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Status display */
|
||||||
|
|
||||||
|
#status {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
/* don't consume click events - make children visible explicitly */
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-progress {
|
||||||
|
width: 366px;
|
||||||
|
height: 7px;
|
||||||
|
background-color: #38363A;
|
||||||
|
border: 1px solid #444246;
|
||||||
|
padding: 1px;
|
||||||
|
box-shadow: 0 0 2px 1px #1B1C22;
|
||||||
|
border-radius: 2px;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (orientation:portrait) {
|
||||||
|
#status-progress {
|
||||||
|
width: 61.8%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-progress-inner {
|
||||||
|
height: 100%;
|
||||||
|
width: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: width 0.5s linear;
|
||||||
|
background-color: #202020;
|
||||||
|
border: 1px solid #222223;
|
||||||
|
box-shadow: 0 0 1px 1px #27282E;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-indeterminate {
|
||||||
|
height: 42px;
|
||||||
|
visibility: visible;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-indeterminate > div {
|
||||||
|
width: 4.5px;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 9px 3px 0 3px;
|
||||||
|
border-color: #2b2b2b transparent transparent transparent;
|
||||||
|
transform-origin: center 21px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-indeterminate > div:nth-child(1) { transform: rotate( 22.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(2) { transform: rotate( 67.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(3) { transform: rotate(112.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(4) { transform: rotate(157.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(5) { transform: rotate(202.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(6) { transform: rotate(247.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(7) { transform: rotate(292.5deg); }
|
||||||
|
#status-indeterminate > div:nth-child(8) { transform: rotate(337.5deg); }
|
||||||
|
|
||||||
|
#status-notice {
|
||||||
|
margin: 0 100px;
|
||||||
|
line-height: 1.3;
|
||||||
|
visibility: visible;
|
||||||
|
padding: 4px 6px;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link id='-gd-engine-icon' rel='icon' type='image/png' href='CupcakeRevolutionVersionZero-Web.icon.png' />
|
||||||
|
<link rel='apple-touch-icon' href='CupcakeRevolutionVersionZero-Web.apple-touch-icon.png'/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas id="canvas">
|
||||||
|
HTML5 canvas appears to be unsupported in the current browser.<br >
|
||||||
|
Please try updating or use a different browser.
|
||||||
|
</canvas>
|
||||||
|
<div id="status">
|
||||||
|
<div id="status-progress" style="display: none;" oncontextmenu="event.preventDefault();">
|
||||||
|
<div id ="status-progress-inner"></div>
|
||||||
|
</div>
|
||||||
|
<div id="status-indeterminate" style="display: none;" oncontextmenu="event.preventDefault();">
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
<div id="status-notice" class="godot" style="display: none;"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="CupcakeRevolutionVersionZero-Web.js"></script>
|
||||||
|
<script>
|
||||||
|
const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"executable":"CupcakeRevolutionVersionZero-Web","experimentalVK":false,"fileSizes":{"CupcakeRevolutionVersionZero-Web.pck":611392,"CupcakeRevolutionVersionZero-Web.wasm":28001575},"focusCanvas":true,"gdextensionLibs":[]};
|
||||||
|
const engine = new Engine(GODOT_CONFIG);
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
const INDETERMINATE_STATUS_STEP_MS = 100;
|
||||||
|
const statusProgress = document.getElementById('status-progress');
|
||||||
|
const statusProgressInner = document.getElementById('status-progress-inner');
|
||||||
|
const statusIndeterminate = document.getElementById('status-indeterminate');
|
||||||
|
const statusNotice = document.getElementById('status-notice');
|
||||||
|
|
||||||
|
let initializing = true;
|
||||||
|
let statusMode = 'hidden';
|
||||||
|
|
||||||
|
let animationCallbacks = [];
|
||||||
|
function animate(time) {
|
||||||
|
animationCallbacks.forEach((callback) => callback(time));
|
||||||
|
requestAnimationFrame(animate);
|
||||||
|
}
|
||||||
|
requestAnimationFrame(animate);
|
||||||
|
|
||||||
|
function animateStatusIndeterminate(ms) {
|
||||||
|
const i = Math.floor((ms / INDETERMINATE_STATUS_STEP_MS) % 8);
|
||||||
|
if (statusIndeterminate.children[i].style.borderTopColor === '') {
|
||||||
|
Array.prototype.slice.call(statusIndeterminate.children).forEach((child) => {
|
||||||
|
child.style.borderTopColor = '';
|
||||||
|
});
|
||||||
|
statusIndeterminate.children[i].style.borderTopColor = '#dfdfdf';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setStatusMode(mode) {
|
||||||
|
if (statusMode === mode || !initializing) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
[statusProgress, statusIndeterminate, statusNotice].forEach((elem) => {
|
||||||
|
elem.style.display = 'none';
|
||||||
|
});
|
||||||
|
animationCallbacks = animationCallbacks.filter(function (value) {
|
||||||
|
return (value !== animateStatusIndeterminate);
|
||||||
|
});
|
||||||
|
switch (mode) {
|
||||||
|
case 'progress':
|
||||||
|
statusProgress.style.display = 'block';
|
||||||
|
break;
|
||||||
|
case 'indeterminate':
|
||||||
|
statusIndeterminate.style.display = 'block';
|
||||||
|
animationCallbacks.push(animateStatusIndeterminate);
|
||||||
|
break;
|
||||||
|
case 'notice':
|
||||||
|
statusNotice.style.display = 'block';
|
||||||
|
break;
|
||||||
|
case 'hidden':
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Error('Invalid status mode');
|
||||||
|
}
|
||||||
|
statusMode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setStatusNotice(text) {
|
||||||
|
while (statusNotice.lastChild) {
|
||||||
|
statusNotice.removeChild(statusNotice.lastChild);
|
||||||
|
}
|
||||||
|
const lines = text.split('\n');
|
||||||
|
lines.forEach((line) => {
|
||||||
|
statusNotice.appendChild(document.createTextNode(line));
|
||||||
|
statusNotice.appendChild(document.createElement('br'));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function displayFailureNotice(err) {
|
||||||
|
const msg = err.message || err;
|
||||||
|
console.error(msg);
|
||||||
|
setStatusNotice(msg);
|
||||||
|
setStatusMode('notice');
|
||||||
|
initializing = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const missing = Engine.getMissingFeatures();
|
||||||
|
if (missing.length !== 0) {
|
||||||
|
const missingMsg = 'Error\nThe following features required to run Godot projects on the Web are missing:\n';
|
||||||
|
displayFailureNotice(missingMsg + missing.join('\n'));
|
||||||
|
} else {
|
||||||
|
setStatusMode('indeterminate');
|
||||||
|
engine.startGame({
|
||||||
|
'onProgress': function (current, total) {
|
||||||
|
if (total > 0) {
|
||||||
|
statusProgressInner.style.width = `${(current / total) * 100}%`;
|
||||||
|
setStatusMode('progress');
|
||||||
|
if (current === total) {
|
||||||
|
// wait for progress bar animation
|
||||||
|
setTimeout(() => {
|
||||||
|
setStatusMode('indeterminate');
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setStatusMode('indeterminate');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}).then(() => {
|
||||||
|
setStatusMode('hidden');
|
||||||
|
initializing = false;
|
||||||
|
}, displayFailureNotice);
|
||||||
|
}
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 21 KiB |
@ -0,0 +1,164 @@
|
|||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright 2015 The Emscripten Authors
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Pthread Web Worker startup routine:
|
||||||
|
// This is the entry point file that is loaded first by each Web Worker
|
||||||
|
// that executes pthreads on the Emscripten application.
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var Module = {};
|
||||||
|
|
||||||
|
// Thread-local guard variable for one-time init of the JS state
|
||||||
|
var initializedJS = false;
|
||||||
|
|
||||||
|
// Proxying queues that were notified before the thread started and need to be
|
||||||
|
// executed as part of startup.
|
||||||
|
var pendingNotifiedProxyingQueues = [];
|
||||||
|
|
||||||
|
function assert(condition, text) {
|
||||||
|
if (!condition) abort('Assertion failed: ' + text);
|
||||||
|
}
|
||||||
|
|
||||||
|
function threadPrintErr() {
|
||||||
|
var text = Array.prototype.slice.call(arguments).join(' ');
|
||||||
|
console.error(text);
|
||||||
|
}
|
||||||
|
function threadAlert() {
|
||||||
|
var text = Array.prototype.slice.call(arguments).join(' ');
|
||||||
|
postMessage({cmd: 'alert', text: text, threadId: Module['_pthread_self']()});
|
||||||
|
}
|
||||||
|
// We don't need out() for now, but may need to add it if we want to use it
|
||||||
|
// here. Or, if this code all moves into the main JS, that problem will go
|
||||||
|
// away. (For now, adding it here increases code size for no benefit.)
|
||||||
|
var out = () => { throw 'out() is not defined in worker.js.'; }
|
||||||
|
var err = threadPrintErr;
|
||||||
|
self.alert = threadAlert;
|
||||||
|
|
||||||
|
Module['instantiateWasm'] = (info, receiveInstance) => {
|
||||||
|
// Instantiate from the module posted from the main thread.
|
||||||
|
// We can just use sync instantiation in the worker.
|
||||||
|
var instance = new WebAssembly.Instance(Module['wasmModule'], info);
|
||||||
|
// TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193,
|
||||||
|
// the above line no longer optimizes out down to the following line.
|
||||||
|
// When the regression is fixed, we can remove this if/else.
|
||||||
|
receiveInstance(instance);
|
||||||
|
// We don't need the module anymore; new threads will be spawned from the main thread.
|
||||||
|
Module['wasmModule'] = null;
|
||||||
|
return instance.exports;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.onmessage = (e) => {
|
||||||
|
try {
|
||||||
|
if (e.data.cmd === 'load') { // Preload command that is called once per worker to parse and load the Emscripten code.
|
||||||
|
|
||||||
|
// Module and memory were sent from main thread
|
||||||
|
Module['wasmModule'] = e.data.wasmModule;
|
||||||
|
|
||||||
|
Module['wasmMemory'] = e.data.wasmMemory;
|
||||||
|
|
||||||
|
Module['buffer'] = Module['wasmMemory'].buffer;
|
||||||
|
|
||||||
|
Module['ENVIRONMENT_IS_PTHREAD'] = true;
|
||||||
|
|
||||||
|
if (typeof e.data.urlOrBlob == 'string') {
|
||||||
|
importScripts(e.data.urlOrBlob);
|
||||||
|
} else {
|
||||||
|
var objectUrl = URL.createObjectURL(e.data.urlOrBlob);
|
||||||
|
importScripts(objectUrl);
|
||||||
|
URL.revokeObjectURL(objectUrl);
|
||||||
|
}
|
||||||
|
Godot(Module).then(function (instance) {
|
||||||
|
Module = instance;
|
||||||
|
});
|
||||||
|
} else if (e.data.cmd === 'run') {
|
||||||
|
// This worker was idle, and now should start executing its pthread entry
|
||||||
|
// point.
|
||||||
|
// performance.now() is specced to return a wallclock time in msecs since
|
||||||
|
// that Web Worker/main thread launched. However for pthreads this can
|
||||||
|
// cause subtle problems in emscripten_get_now() as this essentially
|
||||||
|
// would measure time from pthread_create(), meaning that the clocks
|
||||||
|
// between each threads would be wildly out of sync. Therefore sync all
|
||||||
|
// pthreads to the clock on the main browser thread, so that different
|
||||||
|
// threads see a somewhat coherent clock across each of them
|
||||||
|
// (+/- 0.1msecs in testing).
|
||||||
|
Module['__performance_now_clock_drift'] = performance.now() - e.data.time;
|
||||||
|
|
||||||
|
// Pass the thread address to wasm to store it for fast access.
|
||||||
|
Module['__emscripten_thread_init'](e.data.pthread_ptr, /*isMainBrowserThread=*/0, /*isMainRuntimeThread=*/0, /*canBlock=*/1);
|
||||||
|
|
||||||
|
assert(e.data.pthread_ptr);
|
||||||
|
// Also call inside JS module to set up the stack frame for this pthread in JS module scope
|
||||||
|
Module['establishStackSpace']();
|
||||||
|
Module['PThread'].receiveObjectTransfer(e.data);
|
||||||
|
Module['PThread'].threadInitTLS();
|
||||||
|
|
||||||
|
if (!initializedJS) {
|
||||||
|
|
||||||
|
// Execute any proxied work that came in before the thread was
|
||||||
|
// initialized. Only do this once because it is only possible for
|
||||||
|
// proxying notifications to arrive before thread initialization on
|
||||||
|
// fresh workers.
|
||||||
|
pendingNotifiedProxyingQueues.forEach(queue => {
|
||||||
|
Module['executeNotifiedProxyingQueue'](queue);
|
||||||
|
});
|
||||||
|
pendingNotifiedProxyingQueues = [];
|
||||||
|
initializedJS = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Module['invokeEntryPoint'](e.data.start_routine, e.data.arg);
|
||||||
|
} catch(ex) {
|
||||||
|
if (ex != 'unwind') {
|
||||||
|
// ExitStatus not present in MINIMAL_RUNTIME
|
||||||
|
if (ex instanceof Module['ExitStatus']) {
|
||||||
|
if (Module['keepRuntimeAlive']()) {
|
||||||
|
err('Pthread 0x' + Module['_pthread_self']().toString(16) + ' called exit(), staying alive due to noExitRuntime.');
|
||||||
|
} else {
|
||||||
|
err('Pthread 0x' + Module['_pthread_self']().toString(16) + ' called exit(), calling _emscripten_thread_exit.');
|
||||||
|
Module['__emscripten_thread_exit'](ex.status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// The pthread "crashed". Do not call `_emscripten_thread_exit` (which
|
||||||
|
// would make this thread joinable. Instead, re-throw the exception
|
||||||
|
// and let the top level handler propagate it back to the main thread.
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// else e == 'unwind', and we should fall through here and keep the pthread alive for asynchronous events.
|
||||||
|
err('Pthread 0x' + Module['_pthread_self']().toString(16) + ' completed its main entry point with an `unwind`, keeping the worker alive for asynchronous operation.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (e.data.cmd === 'cancel') { // Main thread is asking for a pthread_cancel() on this thread.
|
||||||
|
if (Module['_pthread_self']()) {
|
||||||
|
Module['__emscripten_thread_exit'](-1/*PTHREAD_CANCELED*/);
|
||||||
|
}
|
||||||
|
} else if (e.data.target === 'setimmediate') {
|
||||||
|
// no-op
|
||||||
|
} else if (e.data.cmd === 'processProxyingQueue') {
|
||||||
|
if (initializedJS) {
|
||||||
|
Module['executeNotifiedProxyingQueue'](e.data.queue);
|
||||||
|
} else {
|
||||||
|
// Defer executing this queue until the runtime is initialized.
|
||||||
|
pendingNotifiedProxyingQueues.push(e.data.queue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
err('worker.js received unknown command ' + e.data.cmd);
|
||||||
|
err(e.data);
|
||||||
|
}
|
||||||
|
} catch(ex) {
|
||||||
|
err('worker.js onmessage() captured an uncaught exception: ' + ex);
|
||||||
|
if (ex && ex.stack) err(ex.stack);
|
||||||
|
if (Module['__emscripten_thread_crashed']) {
|
||||||
|
Module['__emscripten_thread_crashed']();
|
||||||
|
}
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://cpi1m1vg4lscn"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/chocCupcake.gd" id="1_fnewv"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bnr06vojcqkqy" path="res://Art/Cupcakes/ChocCupcake.png" id="2_i5efq"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="ChocCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 5.86
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 1.0
|
|
||||||
script = ExtResource("1_fnewv")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_i5efq")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://c373r4pv46ydj"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/cinCupcake.gd" id="1_36k3s"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c3oejmmv6ysxp" path="res://Art/Cupcakes/CinCupcake.png" id="2_7rk1h"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="CinCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 0.17
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 1.3
|
|
||||||
script = ExtResource("1_36k3s")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_7rk1h")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://ciciat7jdjboy"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/honCupcake.gd" id="1_pnosq"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dc43quvhcwa8e" path="res://Art/Cupcakes/HonCupcake.png" id="2_3t67h"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="HonCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 0.17
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 2.0
|
|
||||||
script = ExtResource("1_pnosq")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_3t67h")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bptnammqx5dk2"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/nightCupcake.gd" id="1_o16jw"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://0vm8bhbkhqym" path="res://Art/Cupcakes/NightCupcake.png" id="2_otyy4"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="NightCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 0.17
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 10.0
|
|
||||||
script = ExtResource("1_o16jw")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_otyy4")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bh3snjiwx8l0v"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/rvelCupcake.gd" id="1_q06vq"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b6x1m6u01x377" path="res://Art/Cupcakes/RVelCupcake.png" id="2_c48o5"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="RVelCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 0.17
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 1.2
|
|
||||||
script = ExtResource("1_q06vq")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_c48o5")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,26 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bkrj5vouqpo8n"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Cupcakes/strawCupcake.gd" id="1_qw0j6"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://7fqro4fugv8k" path="res://Art/Cupcakes/Cupcake.png" id="2_21f8h"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_svirt"]
|
|
||||||
radius = 10.5119
|
|
||||||
|
|
||||||
[node name="StrawCupcake" type="RigidBody2D"]
|
|
||||||
collision_layer = 2
|
|
||||||
inertia = 0.17
|
|
||||||
gravity_scale = 0.0
|
|
||||||
linear_damp = 1.1
|
|
||||||
script = ExtResource("1_qw0j6")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
texture_filter = 1
|
|
||||||
position = Vector2(0, -1.288)
|
|
||||||
scale = Vector2(1.5, 1.5)
|
|
||||||
texture = ExtResource("2_21f8h")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
scale = Vector2(2, 2)
|
|
||||||
shape = SubResource("CircleShape2D_svirt")
|
|
||||||
|
|
||||||
[connection signal="body_exited" from="." to="." method="_on_body_exited"]
|
|
@ -1,17 +0,0 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://cqdqsl5kcd540"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/enemyHon.gd" id="1_u0f3a"]
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_1qaxj"]
|
|
||||||
radius = 79.0
|
|
||||||
height = 208.0
|
|
||||||
|
|
||||||
[node name="EnemyHon" type="RigidBody2D"]
|
|
||||||
script = ExtResource("1_u0f3a")
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
shape = SubResource("CapsuleShape2D_1qaxj")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
|
|
||||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
|
@ -1,10 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://ch6clv8ugoe3l"]
|
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c1h7oxxgn6kd2" path="res://Art/Locations/dungeonHon.png" id="1_fgawn"]
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D"]
|
|
||||||
position = Vector2(-33.9999, -26)
|
|
||||||
scale = Vector2(0.516406, 0.531481)
|
|
||||||
texture = ExtResource("1_fgawn")
|
|
||||||
centered = false
|
|
||||||
flip_h = true
|
|
@ -1,9 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://6pwwvqedihxr"]
|
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://bn6n121jt7vsd" path="res://Art/Locations/dungeonNight.png" id="1_13yoi"]
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D"]
|
|
||||||
position = Vector2(-33.9999, -26)
|
|
||||||
scale = Vector2(0.772656, 0.797917)
|
|
||||||
texture = ExtResource("1_13yoi")
|
|
||||||
centered = false
|
|
@ -1,10 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://ja62vsvabsy5"]
|
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://b3j662tj6h5vq" path="res://Art/Locations/yard1.png" id="1_o36nf"]
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D"]
|
|
||||||
position = Vector2(-33.9999, -26)
|
|
||||||
scale = Vector2(0.330667, 0.3361)
|
|
||||||
texture = ExtResource("1_o36nf")
|
|
||||||
centered = false
|
|
||||||
flip_h = true
|
|
@ -1,25 +0,0 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://c6c0wy62gdsd0"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Tools/bakingTray.gd" id="1_x6kvb"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cndampqx57ed1" path="res://Art/Tools/bakingTray.png" id="2_j25b1"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_nw58x"]
|
|
||||||
radius = 175.103
|
|
||||||
|
|
||||||
[node name="Tool" type="RigidBody2D"]
|
|
||||||
disable_mode = 2
|
|
||||||
collision_layer = 3
|
|
||||||
collision_mask = 3
|
|
||||||
freeze = true
|
|
||||||
freeze_mode = 1
|
|
||||||
script = ExtResource("1_x6kvb")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
position = Vector2(-117, 64)
|
|
||||||
texture = ExtResource("2_j25b1")
|
|
||||||
offset = Vector2(0, -64)
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
light_mask = 3
|
|
||||||
visibility_layer = 3
|
|
||||||
shape = SubResource("CircleShape2D_nw58x")
|
|
@ -1,20 +0,0 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://df213kk2wwp71"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Scripts/Tools/hooves.gd" id="1_o1lbx"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_nw58x"]
|
|
||||||
radius = 68.0661
|
|
||||||
|
|
||||||
[node name="Tool" type="RigidBody2D"]
|
|
||||||
collision_layer = 3
|
|
||||||
collision_mask = 3
|
|
||||||
freeze = true
|
|
||||||
freeze_mode = 1
|
|
||||||
script = ExtResource("1_o1lbx")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
light_mask = 3
|
|
||||||
visibility_layer = 3
|
|
||||||
shape = SubResource("CircleShape2D_nw58x")
|
|
@ -1,15 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://tqkm3r2c3uru"]
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_nw58x"]
|
|
||||||
radius = 68.0661
|
|
||||||
|
|
||||||
[node name="Tool" type="RigidBody2D"]
|
|
||||||
collision_layer = 3
|
|
||||||
collision_mask = 3
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
|
||||||
light_mask = 3
|
|
||||||
visibility_layer = 3
|
|
||||||
shape = SubResource("CircleShape2D_nw58x")
|
|
@ -1,4 +1,19 @@
|
|||||||
extends Timer
|
extends Timer
|
||||||
|
|
||||||
|
var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccChocolate = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccStrawberry = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
#var ccVanilla = preload("res://Scenes/Cupcakes/cupcake.tscn")
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_timeout():
|
func _on_timeout():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccChocCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Choc") != -1:
|
|
||||||
emit_signal("ccChocCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccCinCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Cin") != -1:
|
|
||||||
emit_signal("ccCinCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,8 +1,29 @@
|
|||||||
extends RigidBody2D
|
extends RigidBody2D
|
||||||
|
|
||||||
|
var speed = Vector2.ZERO
|
||||||
|
var horse = preload("res://Scripts/horse.gd")
|
||||||
|
@onready var playArea = $"../../PlayArea"
|
||||||
|
@onready var ccCol
|
||||||
|
var scorecard = preload("res://Scripts/varVar.gd")
|
||||||
|
var ccValue = 1
|
||||||
signal ccVanCollected()
|
signal ccVanCollected()
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
func _on_play_area_body_exited(body):
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Van") != -1:
|
if body.get_parent() == $"../../Cupcakes":
|
||||||
emit_signal("ccVanCollected")
|
emit_signal("ccVanCollected")
|
||||||
body.queue_free()
|
body.queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_game_world_condensed_cupcake_1():
|
||||||
|
ccValue += 1
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccHonCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Hon") != -1:
|
|
||||||
emit_signal("ccHonCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccNightCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Night") != -1:
|
|
||||||
emit_signal("ccNightCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccRVelCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("RVel") != -1:
|
|
||||||
emit_signal("ccRVelCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal ccStrawCollected()
|
|
||||||
|
|
||||||
func _on_play_area_body_exited(body):
|
|
||||||
if body.get_parent() == $"../../Cupcakes" and body.name.find("Straw") != -1:
|
|
||||||
emit_signal("ccStrawCollected")
|
|
||||||
body.queue_free()
|
|
||||||
|
|
@ -1,2 +1,13 @@
|
|||||||
extends Area2D
|
extends Area2D
|
||||||
|
|
||||||
|
var horse = preload("res://Scripts/horse.gd")
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
var mouse_position = Vector2.ZERO
|
|
||||||
|
|
||||||
signal hit()
|
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
mouse_position = lerp(mouse_position, get_global_mouse_position(), 0.02)
|
|
||||||
look_at(mouse_position)
|
|
@ -1,9 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
var mouse_position = Vector2.ZERO
|
|
||||||
|
|
||||||
signal hit()
|
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
mouse_position = lerp(mouse_position, get_global_mouse_position(), 0.02)
|
|
||||||
look_at(mouse_position)
|
|
@ -1,11 +0,0 @@
|
|||||||
extends RigidBody2D
|
|
||||||
|
|
||||||
signal attack
|
|
||||||
signal hit
|
|
||||||
@onready var Cupcakes = $"../Cupcakes"
|
|
||||||
|
|
||||||
func _on_body_entered(body):
|
|
||||||
if body.is_in_group("Horse"):
|
|
||||||
emit_signal("attack")
|
|
||||||
elif body.is_inside_tree(Cupcakes):
|
|
||||||
emit_signal("hit")
|
|
@ -1,9 +1,23 @@
|
|||||||
extends CharacterBody2D
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
var horse_instance
|
||||||
var mouse_position = Vector2.ZERO
|
var mouse_position = Vector2.ZERO
|
||||||
|
var blower
|
||||||
|
|
||||||
signal hit()
|
#ccScore
|
||||||
|
var ccVanNum = 0
|
||||||
|
var ccChocNum = 0
|
||||||
|
var ccStrawNum = 0
|
||||||
|
var ccBlueNum = 0
|
||||||
|
var ccRVelNum = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
signal hit
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
mouse_position = lerp(mouse_position, get_global_mouse_position(), 0.02)
|
mouse_position = lerp(mouse_position, get_global_mouse_position(), 0.02)
|
||||||
look_at(mouse_position)
|
look_at(mouse_position)
|
||||||
|
#var horse_direction = (mouse_position - horse_instance.position).normalized()
|
||||||
|
#horse_instance.rotation = horse_direction.angle()
|
||||||
|
#horse_instance.get_node("Sprite2D").rotation = horse_direction.angle()
|
||||||
|
@ -1,116 +1,25 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
@onready var upgrades = $"../Upgrades"
|
@onready var upgrades = $"../Upgrades"
|
||||||
@onready var allUp = $"../Upgrades/Control".get_children()
|
|
||||||
@onready var vanUp = $"../Upgrades/Control/VanScroll"
|
|
||||||
@onready var chocUp = $"../Upgrades/Control/ChocScroll"
|
|
||||||
@onready var strawUp = $"../Upgrades/Control/StrawScroll"
|
|
||||||
@onready var rvelUp = $"../Upgrades/Control/RVelScroll"
|
|
||||||
@onready var cinUp = $"../Upgrades/Control/CinScroll"
|
|
||||||
@onready var honUp = $"../Upgrades/Control/HonScroll"
|
|
||||||
@onready var nightUp = $"../Upgrades/Control/NightScroll"
|
|
||||||
@onready var areas = $"../Upgrades/Control/AreaScroll"
|
|
||||||
@onready var tools = $"../Upgrades/Control/ToolScroll"
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready():
|
func _ready():
|
||||||
for child in allUp:
|
pass # Replace with function body.
|
||||||
child.visible = false
|
|
||||||
|
|
||||||
func _on_van_pressed():
|
|
||||||
if vanUp.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
vanUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_choc_pressed():
|
|
||||||
if chocUp.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
chocUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_straw_pressed():
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
if strawUp.visible == false:
|
func _process(delta):
|
||||||
for child in allUp:
|
pass
|
||||||
child.visible = false
|
|
||||||
strawUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_r_vel_pressed():
|
|
||||||
if rvelUp.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
rvelUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_cin_pressed():
|
func _on_van_pressed():
|
||||||
if cinUp.visible == false:
|
if upgrades.visible == false:
|
||||||
for child in allUp:
|
upgrades.visible = true
|
||||||
child.visible = false
|
|
||||||
cinUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_honest_pressed():
|
|
||||||
if honUp.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
honUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_nightmare_pressed():
|
|
||||||
if nightUp.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
nightUp.visible = true
|
|
||||||
else:
|
|
||||||
if upgrades.visible == false:
|
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_areas_pressed():
|
|
||||||
if areas.visible == false:
|
|
||||||
for child in allUp:
|
|
||||||
child.visible = false
|
|
||||||
areas.visible = true
|
|
||||||
else:
|
else:
|
||||||
if upgrades.visible == false:
|
upgrades.visible = false
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
|
||||||
func _on_tools_pressed():
|
func _on_choc_pressed():
|
||||||
if tools.visible == false:
|
if upgrades.visible == false:
|
||||||
for child in allUp:
|
upgrades.visible = true
|
||||||
child.visible = false
|
|
||||||
tools.visible = true
|
|
||||||
else:
|
else:
|
||||||
if upgrades.visible == false:
|
upgrades.visible = false
|
||||||
upgrades.visible = true
|
|
||||||
else:
|
|
||||||
upgrades.visible = false
|
|
||||||
|
@ -1,118 +1,28 @@
|
|||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
#Areas
|
|
||||||
signal yourYard()
|
|
||||||
signal neighYard()
|
|
||||||
signal honestDungeon()
|
|
||||||
signal abandonedCastle()
|
|
||||||
|
|
||||||
#Tools
|
|
||||||
signal tool1()
|
|
||||||
signal tool2()
|
|
||||||
|
|
||||||
#Vanilla
|
|
||||||
signal oneMoreCupcake()
|
signal oneMoreCupcake()
|
||||||
signal fasterCupcake()
|
signal fasterCupcake()
|
||||||
signal condensedCupcake1()
|
signal condensedCupcake1()
|
||||||
signal unlockChoc()
|
|
||||||
#Chocolate
|
|
||||||
signal oneMoreCupcake2()
|
|
||||||
signal fasterCupcake2()
|
|
||||||
signal condensedCupcake2()
|
func _ready():
|
||||||
signal unlockStraw()
|
pass # Replace with function body.
|
||||||
#Strawberry
|
|
||||||
signal oneMoreCupcake3()
|
|
||||||
signal fasterCupcake3()
|
|
||||||
signal condensedCupcake3()
|
|
||||||
signal unlockRVel()
|
|
||||||
#Red Velvet
|
|
||||||
signal oneMoreCupcake4()
|
|
||||||
signal fasterCupcake4()
|
|
||||||
signal condensedCupcake4()
|
|
||||||
signal unlockCin()
|
|
||||||
#Cinnamon
|
|
||||||
signal oneMoreCupcake5()
|
|
||||||
signal fasterCupcake5()
|
|
||||||
signal condensedCupcake5()
|
|
||||||
signal unlockHon()
|
|
||||||
#Honest
|
|
||||||
signal oneMoreCupcake6()
|
|
||||||
signal fasterCupcake6()
|
|
||||||
signal condensedCupcake6()
|
|
||||||
signal horseHealth()
|
|
||||||
signal cupcakeDamage()
|
|
||||||
signal sweetieDamage()
|
|
||||||
#Nightmare
|
|
||||||
signal unlockNightmare()
|
|
||||||
|
|
||||||
func _on_close_pressed():
|
func _on_close_pressed():
|
||||||
self.visible = false
|
self.visible = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_buy_pressed():
|
func _on_buy_pressed():
|
||||||
emit_signal("oneMoreCupcake")
|
emit_signal("oneMoreCupcake")
|
||||||
|
|
||||||
|
|
||||||
func _on_buy_van2_pressed():
|
func _on_buy_van2_pressed():
|
||||||
emit_signal("fasterCupcake")
|
emit_signal("fasterCupcake")
|
||||||
func _on_buy_van3_pressed():
|
|
||||||
emit_signal("condensedCupcake1")
|
|
||||||
func _on_buy_van4_pressed():
|
|
||||||
emit_signal("unlockChoc")
|
|
||||||
func _on_buy_choc1_pressed():
|
|
||||||
emit_signal("oneMoreCupcake2")
|
|
||||||
func _on_buy_choc2_pressed():
|
|
||||||
emit_signal("fasterCupcake2")
|
|
||||||
func _on_buy_choc3_pressed():
|
|
||||||
emit_signal("condensedCupcake2")
|
|
||||||
func _on_buy_choc4_pressed():
|
|
||||||
emit_signal("unlockStraw")
|
|
||||||
func _on_buy_straw1_pressed():
|
|
||||||
emit_signal("oneMoreCupcake3")
|
|
||||||
func _on_buy_straw2_pressed():
|
|
||||||
emit_signal("fasterCupcake3")
|
|
||||||
func _on_buy_straw3_pressed():
|
|
||||||
emit_signal("condensedCupcake3")
|
|
||||||
func _on_buy_straw4_pressed():
|
|
||||||
emit_signal("unlockRVel")
|
|
||||||
func _on_buy_rvel1_pressed():
|
|
||||||
emit_signal("oneMoreCupcake4")
|
|
||||||
func _on_buy_rvel2_pressed():
|
|
||||||
emit_signal("fasterCupcake4")
|
|
||||||
func _on_buy_rvel3_pressed():
|
|
||||||
emit_signal("condensedCupcake4")
|
|
||||||
func _on_buy_rvel4_pressed():
|
|
||||||
emit_signal("unlockCin")
|
|
||||||
func _on_buy_cin1_pressed():
|
|
||||||
emit_signal("oneMoreCupcake5")
|
|
||||||
func _on_buy_cin2_pressed():
|
|
||||||
emit_signal("fasterCupcake5")
|
|
||||||
func _on_buy_cin3_pressed():
|
|
||||||
emit_signal("condensedCupcake5")
|
|
||||||
func _on_buy_cin4_pressed():
|
|
||||||
emit_signal("unlockHon")
|
|
||||||
func _on_buy_hon1_pressed():
|
|
||||||
emit_signal("oneMoreCupcake6")
|
|
||||||
func _on_buy_hon2_pressed():
|
|
||||||
emit_signal("fasterCupcake6")
|
|
||||||
func _on_buy_hon3_pressed():
|
|
||||||
emit_signal("condensedCupcake6")
|
|
||||||
func _on_buy_hon4_pressed():
|
|
||||||
emit_signal("unlockNightmare")
|
|
||||||
func _on_buy_night1_pressed():
|
|
||||||
pass
|
|
||||||
func _on_buy_night2_pressed():
|
|
||||||
pass
|
|
||||||
func _on_buy_night3_pressed():
|
|
||||||
pass
|
|
||||||
func _on_buy_night4_pressed():
|
|
||||||
pass
|
|
||||||
|
|
||||||
##Areas
|
|
||||||
func _on_your_yard_pressed():
|
|
||||||
emit_signal("yourYard")
|
|
||||||
func _on_buy_neighbors_yard_pressed():
|
|
||||||
emit_signal("neighYard")
|
|
||||||
|
|
||||||
##Tools
|
func _on_buy_van3_pressed():
|
||||||
func _on_tool_1_pressed():
|
emit_signal("condensedCupcake1")
|
||||||
emit_signal("tool1")
|
|
||||||
func _on_tool_2_pressed():
|
|
||||||
emit_signal("tool2")
|
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
@ -0,0 +1,6 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
var location
|
||||||
|
|
||||||
|
var ccVanNum = 0
|
||||||
|
var ccChocNum = 0
|