From 2758bd56a073ae58d9884f5589d9769253e120ac Mon Sep 17 00:00:00 2001 From: Kyaw Aung <kyawaung0924@gmail.com> Date: Fri, 31 Jan 2025 23:43:52 -0600 Subject: [PATCH] added 3d effect for title menu buttons --- .godot/editor/create_recent.Node | 9 +- .godot/editor/editor_layout.cfg | 22 +-- .godot/editor/filesystem_cache8 | 175 +++++++++--------- .godot/editor/filesystem_update4 | 10 +- .godot/editor/project_metadata.cfg | 11 +- .godot/editor/recent_dirs | 4 + .godot/editor/script_editor_cache.cfg | 32 +++- .godot/global_script_class_cache.cfg | 6 + .godot/uid_cache.bin | Bin 3172 -> 3352 bytes Assets/shaders/3d_effect.gdshader | 52 ++++++ Assets/ui/title_screen/play_button.png | Bin 0 -> 533 bytes Assets/ui/title_screen/play_button.png.import | 34 ++++ scenes/title_screen/menu_button.tscn | 28 +++ scenes/title_screen/title_screen.tscn | 38 ++++ scripts/title_screen/menu_button.gd | 40 ++++ scripts/title_screen/title_screen.gd | 11 ++ 16 files changed, 366 insertions(+), 106 deletions(-) create mode 100644 Assets/shaders/3d_effect.gdshader create mode 100644 Assets/ui/title_screen/play_button.png create mode 100644 Assets/ui/title_screen/play_button.png.import create mode 100644 scenes/title_screen/menu_button.tscn create mode 100644 scenes/title_screen/title_screen.tscn create mode 100644 scripts/title_screen/menu_button.gd create mode 100644 scripts/title_screen/title_screen.gd diff --git a/.godot/editor/create_recent.Node b/.godot/editor/create_recent.Node index 19042c7..26f4385 100644 --- a/.godot/editor/create_recent.Node +++ b/.godot/editor/create_recent.Node @@ -1,8 +1,15 @@ +TextureRect Sprite2D +Panel +Button +RichTextLabel +Label +VBoxContainer +HBoxContainer +MarginContainer Node2D CPUParticles2D Node Control ColorRect CanvasLayer -TextureRect diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg index d3a4579..1f6cf9d 100644 --- a/.godot/editor/editor_layout.cfg +++ b/.godot/editor/editor_layout.cfg @@ -9,7 +9,7 @@ dock_closed=[] dock_split_2=0 dock_split_3=0 dock_hsplit_1=0 -dock_hsplit_2=583 +dock_hsplit_2=335 dock_hsplit_3=-380 dock_hsplit_4=0 dock_filesystem_h_split_offset=240 @@ -17,25 +17,25 @@ dock_filesystem_v_split_offset=0 dock_filesystem_display_mode=0 dock_filesystem_file_sort=0 dock_filesystem_file_list_display_mode=1 -dock_filesystem_selected_paths=PackedStringArray("res://main.tscn") -dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://assets/") +dock_filesystem_selected_paths=PackedStringArray("res://scenes/title_screen/") +dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://scenes/title_screen/") dock_3="Scene,Import" dock_4="FileSystem" dock_5="Inspector,Node,History" [EditorNode] -open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/explosion.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn", "res://scenes/Bishop.tscn", "res://scenes/Queen.tscn", "res://scenes/King.tscn", "res://scenes/Knight.tscn", "res://main.tscn") -current_scene="res://main.tscn" -center_split_offset=-466 +open_scenes=PackedStringArray("res://main.tscn", "res://scenes/title_screen/title_screen.tscn", "res://scenes/title_screen/menu_button.tscn") +current_scene="res://scenes/title_screen/menu_button.tscn" +center_split_offset=-239 selected_default_debugger_tab_idx=0 -selected_main_editor_idx=0 +selected_main_editor_idx=2 selected_bottom_panel_item=0 [ScriptEditor] -open_scripts=["res://scripts/Bishop.gd", "res://scripts/game.gd", "res://scripts/King.gd", "res://scripts/Knight.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "res://scripts/Queen.gd", "res://scripts/Rook.gd"] -selected_script="res://scripts/King.gd" +open_scripts=["res://scripts/Bishop.gd", "res://scripts/game.gd", "res://scripts/King.gd", "res://scripts/Knight.gd", "res://scripts/title_screen/menu_button.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "res://scripts/Queen.gd", "res://scripts/Rook.gd", "res://scripts/title_screen/title_screen.gd"] +selected_script="res://scripts/title_screen/menu_button.gd" open_help=[] script_split_offset=70 list_split_offset=0 @@ -43,7 +43,7 @@ zoom_factor=1.0 [ShaderEditor] -open_shaders=["res://assets/shaders/shadow.gdshader", "res://assets/shaders/bg.gdshader", "res://assets/shaders/color.gdshader"] +open_shaders=["res://assets/shaders/shadow.gdshader", "res://assets/shaders/bg.gdshader", "res://assets/shaders/color.gdshader", "res://assets/shaders/3d_effect.gdshader"] split_offset=0 -selected_shader="res://assets/shaders/color.gdshader" +selected_shader="res://assets/shaders/3d_effect.gdshader" text_shader_zoom_factor=1.0 diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8 index fe66e9f..fbed4ed 100644 --- a/.godot/editor/filesystem_cache8 +++ b/.godot/editor/filesystem_cache8 @@ -1,84 +1,93 @@ ea4bc82a6ad023ab7ee23ee620429895 -::res://::1738358045 -game.tscn::PackedScene::5692118487183161714::1738357885::0::1::::<><>::uid://cfao716v0t1jw::::res://scenes/board.tscn -icon.svg::CompressedTexture2D::6378281210119878262::1738273909::1738357978::1::::<><>:: -README.md::TextFile::-1::1738273909::0::1::::<><>:: -::res://assets/::1738357885 -::res://assets/noise/::1738356643 -noise2.tres::NoiseTexture2D::5054739835828921764::1738356643::0::1::::<><>:: -noise3.tres::NoiseTexture2D::906885015046579772::1738356643::0::1::::<><>:: -noise.tres::NoiseTexture2D::1693764769519573005::1738356643::0::1::::<><>:: -::res://assets/Original size Chess pieces/::1738357978 -Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738273909::1738357978::1::::<><>:: -Black knight piece.png::CompressedTexture2D::4196515762256027844::1738273909::1738357978::1::::<><>:: -Black Pawn Piece 2.png::CompressedTexture2D::2167440687080906934::1738273909::1738357978::1::::<><>:: -Black Queen Piece 2.png::CompressedTexture2D::6638986330393441989::1738273909::1738357978::1::::<><>:: -Black rook piece.png::CompressedTexture2D::1872655759582013005::1738273909::1738357978::1::::<><>:: -White king piece 2.png::CompressedTexture2D::7139286146806283259::1738273909::1738357978::1::::<><>:: -White knight piece.png::CompressedTexture2D::8293368904171920332::1738273909::1738357978::1::::<><>:: -White Pawn Piece 2.png::CompressedTexture2D::8915038826611091975::1738273909::1738357978::1::::<><>:: -White Queen Piece 2.png::CompressedTexture2D::339041922548181320::1738273909::1738357978::1::::<><>:: -White rook piece.png::CompressedTexture2D::6272641373813891014::1738273909::1738357978::1::::<><>:: -::res://assets/Resized Chess Piece Assets/::1738357978 -Black_king.png::CompressedTexture2D::3691390456247856410::1738273909::1738357978::1::::<><>:: -Black_knight.png::CompressedTexture2D::3569790831830215405::1738273909::1738357978::1::::<><>:: -Black_Pawn.png::CompressedTexture2D::4947090234957464596::1738273909::1738357978::1::::<><>:: -Black_Queen.png::CompressedTexture2D::9042903626319350434::1738273909::1738357978::1::::<><>:: -Black_rook.png::CompressedTexture2D::5637903285567075872::1738273909::1738357978::1::::<><>:: -White_king.png::CompressedTexture2D::5012688985517926395::1738357895::1738357978::1::::<><>:: -White_knight.png::CompressedTexture2D::854350289879594279::1738273909::1738357978::1::::<><>:: -White_Pawn.png::CompressedTexture2D::919180529085242722::1738273909::1738357978::1::::<><>:: -White_Queen.png::CompressedTexture2D::4902137832695542513::1738273909::1738357978::1::::<><>:: -White_rook.png::CompressedTexture2D::4194129281780453908::1738273909::1738357978::1::::<><>:: -::res://assets/shaders/::1738358018 -bg.gdshader::Shader::-1::1738358018::0::1::::<><>:: -color.gdshader::Shader::-1::1738358018::0::1::::<><>:: -shadow.gdshader::Shader::-1::1738358018::0::1::::<><>:: -::res://assets/sprites/::1738357978 -bishop.png::CompressedTexture2D::4631301773944929250::1738357790::1738357978::1::::<><>:: -knight.png::CompressedTexture2D::3545640967717948854::1738357790::1738357978::1::::<><>:: -pawn.png::CompressedTexture2D::1338760335342038528::1738357790::1738357978::1::::<><>:: -rook.png::CompressedTexture2D::6790909281007670776::1738357790::1738357978::1::::<><>:: -tile.png::CompressedTexture2D::8704336058451696509::1738356643::1738357978::1::::<><>:: -::res://assets/temp_assets/::1738357978 -black_bishop.png::CompressedTexture2D::7509881182472568151::1738357885::1738357978::1::::<><>:: -black_king.png::CompressedTexture2D::3646032776351028361::1738357885::1738357978::1::::<><>:: -black_knight.png::CompressedTexture2D::4591257172048987833::1738357885::1738357978::1::::<><>:: -black_pawn.png::CompressedTexture2D::3912668014183198267::1738357885::1738357978::1::::<><>:: -black_queen.png::CompressedTexture2D::7989886812523566234::1738357885::1738357978::1::::<><>:: -black_rook.png::CompressedTexture2D::8767708966549765967::1738357885::1738357978::1::::<><>:: -Piece_move.png::CompressedTexture2D::260618725614842917::1738357885::1738357978::1::::<><>:: -temp_chess_board.png::CompressedTexture2D::4173558678901569366::1738357885::1738357978::1::::<><>:: -turn-black.png::CompressedTexture2D::7112033964315790810::1738357885::1738357978::1::::<><>:: -turn-white.png::CompressedTexture2D::7344907768700758025::1738357885::1738357978::1::::<><>:: -white_bishop.png::CompressedTexture2D::8093744356261485644::1738357885::1738357978::1::::<><>:: -white_king.png::CompressedTexture2D::5901183203660598461::1738357885::1738357978::1::::<><>:: -white_knight.png::CompressedTexture2D::7533630084821562912::1738357885::1738357978::1::::<><>:: -white_pawn.png::CompressedTexture2D::8196778834906249875::1738357885::1738357978::1::::<><>:: -white_queen.png::CompressedTexture2D::1957958042777204643::1738357885::1738357978::1::::<><>:: -white_rook.png::CompressedTexture2D::3317152307554436932::1738357885::1738357978::1::::<><>:: -::res://assets/ui/::1738357979 -Go_Save_The_King_Menu.jpg::CompressedTexture2D::7252735845995868232::1738356643::1738357979::1::::<><>:: -Mockup Gameplay Design.jpg::CompressedTexture2D::4859609684236806088::1738356643::1738357978::1::::<><>:: -Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738356643::1738357978::1::::<><>:: -::res://scenes/::1738357885 -Bishop.tscn::PackedScene::2789588702038144760::1738357885::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png -board.tscn::PackedScene::5124694183364421304::1738357885::0::1::::<><>::uid://b0px5wlrm0mb3::::res://assets/temp_assets/temp_chess_board.png<>res://scripts/board.gd -explosion.tscn::PackedScene::69466253159940830::1738357790::0::1::::<><>:: -game.tscn::PackedScene::8577524005707705072::1738357790::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres -King.tscn::PackedScene::8277830396459966414::1738357885::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png -Knight.tscn::PackedScene::5270730075267457303::1738357885::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png -Pawn.tscn::PackedScene::3675784333675896641::1738357885::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png -Queen.tscn::PackedScene::7495869360053814603::1738357885::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png -Rook.tscn::PackedScene::9162401199636684468::1738357885::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png -texture_holder.tscn::PackedScene::594714386286134588::1738357885::0::1::::<><>:: -::res://scripts/::1738357885 -Bishop.gd::GDScript::-1::1738357885::0::1::::Bishop<>Piece<>:: -board.gd::GDScript::-1::1738357885::0::1::::Board<>Sprite2D<>:: -game.gd::GDScript::-1::1738357885::0::1::::game<>Node<>:: -King.gd::GDScript::-1::1738357885::0::1::::King<>Piece<>:: -Knight.gd::GDScript::-1::1738357885::0::1::::Knight<>Piece<>:: -Pawn.gd::GDScript::-1::1738357885::0::1::::Pawn<>Piece<>:: -Piece.gd::GDScript::-1::1738357885::0::1::::Piece<>Node2D<>:: -Queen.gd::GDScript::-1::1738357885::0::1::::Queen<>Piece<>:: -Rook.gd::GDScript::-1::1738357885::0::1::::Rook<>Piece<>:: +::res://::1738387928 +icon.svg::CompressedTexture2D::6378281210119878262::1738189402::1738378143::1::::<><>:: +main.tscn::PackedScene::5692118487183161714::1738387928::0::1::::<><>:: +README.md::TextFile::-1::1738189402::0::1::::<><>:: +::res://assets/::1738378134 +::res://assets/noise/::1738378134 +noise2.tres::NoiseTexture2D::5054739835828921764::1738378134::0::1::::<><>:: +noise3.tres::NoiseTexture2D::906885015046579772::1738378134::0::1::::<><>:: +noise.tres::NoiseTexture2D::1693764769519573005::1738378134::0::1::::<><>:: +::res://assets/Original size Chess pieces/::1738378176 +Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738378134::1738378176::1::::<><>:: +Black knight piece.png::CompressedTexture2D::4196515762256027844::1738378134::1738378176::1::::<><>:: +Black Pawn Piece 2.png::CompressedTexture2D::2167440687080906934::1738378134::1738378176::1::::<><>:: +Black Queen Piece 2.png::CompressedTexture2D::6638986330393441989::1738378134::1738378176::1::::<><>:: +Black rook piece.png::CompressedTexture2D::1872655759582013005::1738378134::1738378176::1::::<><>:: +White king piece 2.png::CompressedTexture2D::7139286146806283259::1738378134::1738378176::1::::<><>:: +White knight piece.png::CompressedTexture2D::8293368904171920332::1738378134::1738378176::1::::<><>:: +White Pawn Piece 2.png::CompressedTexture2D::8915038826611091975::1738378134::1738378176::1::::<><>:: +White Queen Piece 2.png::CompressedTexture2D::339041922548181320::1738378134::1738378176::1::::<><>:: +White rook piece.png::CompressedTexture2D::6272641373813891014::1738378134::1738378176::1::::<><>:: +::res://assets/Resized Chess Piece Assets/::1738378176 +Black_king.png::CompressedTexture2D::3691390456247856410::1738378134::1738378176::1::::<><>:: +Black_knight.png::CompressedTexture2D::3569790831830215405::1738378134::1738378176::1::::<><>:: +Black_Pawn.png::CompressedTexture2D::4947090234957464596::1738378134::1738378176::1::::<><>:: +Black_Queen.png::CompressedTexture2D::9042903626319350434::1738378134::1738378176::1::::<><>:: +Black_rook.png::CompressedTexture2D::5637903285567075872::1738378134::1738378176::1::::<><>:: +White_king.png::CompressedTexture2D::5012688985517926395::1738378134::1738378176::1::::<><>:: +White_knight.png::CompressedTexture2D::854350289879594279::1738378134::1738378176::1::::<><>:: +White_Pawn.png::CompressedTexture2D::919180529085242722::1738378134::1738378176::1::::<><>:: +White_Queen.png::CompressedTexture2D::4902137832695542513::1738378134::1738378176::1::::<><>:: +White_rook.png::CompressedTexture2D::4194129281780453908::1738378134::1738378176::1::::<><>:: +::res://assets/shaders/::1738388198 +bg.gdshader::Shader::-1::1738388198::0::1::::<><>:: +color.gdshader::Shader::-1::1738388198::0::1::::<><>:: +3d_effect.gdshader::Shader::-1::1738388198::0::1::::<><>:: +shadow.gdshader::Shader::-1::1738388198::0::1::::<><>:: +::res://assets/sprites/::1738378176 +bishop.png::CompressedTexture2D::4631301773944929250::1738378134::1738378176::1::::<><>:: +knight.png::CompressedTexture2D::3545640967717948854::1738378134::1738378176::1::::<><>:: +pawn.png::CompressedTexture2D::1338760335342038528::1738378134::1738378176::1::::<><>:: +rook.png::CompressedTexture2D::6790909281007670776::1738378134::1738378176::1::::<><>:: +tile.png::CompressedTexture2D::8704336058451696509::1738378134::1738378176::1::::<><>:: +::res://assets/temp_assets/::1738378176 +black_bishop.png::CompressedTexture2D::7509881182472568151::1738378134::1738378176::1::::<><>:: +black_king.png::CompressedTexture2D::3646032776351028361::1738378134::1738378176::1::::<><>:: +black_knight.png::CompressedTexture2D::4591257172048987833::1738378134::1738378176::1::::<><>:: +black_pawn.png::CompressedTexture2D::3912668014183198267::1738378134::1738378176::1::::<><>:: +black_queen.png::CompressedTexture2D::7989886812523566234::1738378134::1738378176::1::::<><>:: +black_rook.png::CompressedTexture2D::8767708966549765967::1738378134::1738378176::1::::<><>:: +Piece_move.png::CompressedTexture2D::260618725614842917::1738378134::1738378176::1::::<><>:: +temp_chess_board.png::CompressedTexture2D::4173558678901569366::1738378134::1738378176::1::::<><>:: +turn-black.png::CompressedTexture2D::7112033964315790810::1738378134::1738378176::1::::<><>:: +turn-white.png::CompressedTexture2D::7344907768700758025::1738378134::1738378176::1::::<><>:: +white_bishop.png::CompressedTexture2D::8093744356261485644::1738378134::1738378176::1::::<><>:: +white_king.png::CompressedTexture2D::5901183203660598461::1738378134::1738378176::1::::<><>:: +white_knight.png::CompressedTexture2D::7533630084821562912::1738378134::1738378176::1::::<><>:: +white_pawn.png::CompressedTexture2D::8196778834906249875::1738378134::1738378176::1::::<><>:: +white_queen.png::CompressedTexture2D::1957958042777204643::1738378134::1738378176::1::::<><>:: +white_rook.png::CompressedTexture2D::3317152307554436932::1738378134::1738378176::1::::<><>:: +::res://assets/ui/::1738384927 +Go_Save_The_King_Menu.jpg::CompressedTexture2D::7252735845995868232::1738378134::1738378176::1::::<><>:: +Mockup Gameplay Design.jpg::CompressedTexture2D::4859609684236806088::1738378134::1738378176::1::::<><>:: +Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738378134::1738378176::1::::<><>:: +::res://assets/ui/title_screen/::1738385127 +play_button.png::CompressedTexture2D::5896995890187459238::1738388371::1738388601::1::::<><>:: +::res://scenes/::1738379187 +Bishop.tscn::PackedScene::2789588702038144760::1738378134::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png +board.tscn::PackedScene::5124694183364421304::1738378134::0::1::::<><>::uid://b0px5wlrm0mb3::::res://assets/temp_assets/temp_chess_board.png<>res://scripts/board.gd +explosion.tscn::PackedScene::69466253159940830::1738378134::0::1::::<><>:: +game.tscn::PackedScene::8577524005707705072::1738378134::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres +King.tscn::PackedScene::8277830396459966414::1738378134::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png +Knight.tscn::PackedScene::5270730075267457303::1738378134::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png +Pawn.tscn::PackedScene::3675784333675896641::1738378134::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png +Queen.tscn::PackedScene::7495869360053814603::1738378134::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png +Rook.tscn::PackedScene::9162401199636684468::1738378134::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png +texture_holder.tscn::PackedScene::594714386286134588::1738378134::0::1::::<><>:: +::res://scenes/title_screen/::1738388198 +menu_button.tscn::PackedScene::3297943059633979218::1738388198::0::1::::<><>::uid://cqaswp3dl65be::::res://assets/ui/title_screen/play_button.png<>res://assets/shaders/3d_effect.gdshader<>res://scripts/title_screen/menu_button.gd +title_screen.tscn::PackedScene::8154710134031658440::1738387928::0::1::::<><>::res://scripts/title_screen/title_screen.gd +::res://scripts/::1738378687 +Bishop.gd::GDScript::-1::1738378134::0::1::::Bishop<>Piece<>:: +board.gd::GDScript::-1::1738378134::0::1::::Board<>Sprite2D<>:: +game.gd::GDScript::-1::1738378134::0::1::::game<>Node<>:: +King.gd::GDScript::-1::1738378134::0::1::::King<>Piece<>:: +Knight.gd::GDScript::-1::1738378134::0::1::::Knight<>Piece<>:: +Pawn.gd::GDScript::-1::1738378134::0::1::::Pawn<>Piece<>:: +Piece.gd::GDScript::-1::1738378134::0::1::::Piece<>Node2D<>:: +Queen.gd::GDScript::-1::1738378134::0::1::::Queen<>Piece<>:: +Rook.gd::GDScript::-1::1738378134::0::1::::Rook<>Piece<>:: +::res://scripts/title_screen/::1738388185 +menu_button.gd::GDScript::-1::1738388185::0::1::::TitleButton<>Button<>:: +title_screen.gd::GDScript::-1::1738378698::0::1::::<>Control<>:: diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4 index 4ef15b0..9781950 100644 --- a/.godot/editor/filesystem_update4 +++ b/.godot/editor/filesystem_update4 @@ -1,7 +1,9 @@ -res://main.tscn res://assets/shaders/color.gdshader res://assets/shaders/shadow.gdshader res://assets/shaders/bg.gdshader -res://assets/noise/noise.tres -res://assets/noise/noise2.tres -res://assets/noise/noise3.tres +res://scenes/title_screen.tscn +res://main.tscn +res://scenes/title_screen/title_screen.tscn +res://scenes/title_screen/menu_button.tscn +res://assets/shaders/3d_effect.gdshader +res://scripts/title_screen/menu_button.gd diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg index 769abe0..0fcb8c5 100644 --- a/.godot/editor/project_metadata.cfg +++ b/.godot/editor/project_metadata.cfg @@ -1,11 +1,12 @@ [editor_metadata] -executable_path="/Applications/Godot.app/Contents/MacOS/Godot" +executable_path="D:/SteamLibrary/steamapps/common/Godot Engine/godot.windows.opt.tools.64.exe" +use_advanced_connections=false [dialog_bounds] -create_new_node=Rect2(510, 190, 900, 700) -project_settings=Rect2(699, 332, 1590, 867) +create_new_node=Rect2(2145, 197, 900, 700) +project_settings=Rect2(2022, 76, 1590, 867) [script_setup] @@ -13,8 +14,8 @@ last_selected_language="GDScript" [recent_files] -scripts=["res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "@GDScript", "int", "res://background.gd"] -scenes=["res://game.tscn", "res://scenes/Knight.tscn", "res://scenes/King.tscn", "res://scenes/Queen.tscn", "res://scenes/Bishop.tscn", "res://scenes/Rook.tscn", "res://scenes/Pawn.tscn", "res://scenes/explosion.tscn", "res://scenes/game.tscn", "res://scenes/chess_board.tscn"] +scripts=["res://scripts/title_screen/menu_button.gd", "res://scripts/title_screen/title_screen.gd", "res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "@GDScript"] +scenes=["res://scenes/title_screen/menu_button.tscn", "res://scenes/title_screen.tscn", "res://main.tscn", "res://scenes/Knight.tscn", "res://scenes/King.tscn", "res://scenes/Queen.tscn", "res://scenes/Bishop.tscn", "res://scenes/Rook.tscn", "res://scenes/Pawn.tscn", "res://scenes/explosion.tscn"] [color_picker] diff --git a/.godot/editor/recent_dirs b/.godot/editor/recent_dirs index ca2570d..001f372 100644 --- a/.godot/editor/recent_dirs +++ b/.godot/editor/recent_dirs @@ -1,3 +1,7 @@ +res://scripts/title_screen +res://assets/shaders +res://assets/ui/title_screen +res://scenes/title_screen res://scenes res://scripts res:// diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg index c65a71e..79d349e 100644 --- a/.godot/editor/script_editor_cache.cfg +++ b/.godot/editor/script_editor_cache.cfg @@ -7,7 +7,7 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 121, -"scroll_position": 45.0, +"scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -91,7 +91,7 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 0, -"scroll_position": 17.0, +"scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -109,3 +109,31 @@ state={ "selection": false, "syntax_highlighter": "GDScript" } + +[res://scripts/title_screen/title_screen.gd] + +state={ +"bookmarks": PackedInt32Array(), +"breakpoints": PackedInt32Array(), +"column": 0, +"folded_lines": Array[int]([]), +"h_scroll_position": 0, +"row": 0, +"scroll_position": 0.0, +"selection": false, +"syntax_highlighter": "GDScript" +} + +[res://scripts/title_screen/menu_button.gd] + +state={ +"bookmarks": PackedInt32Array(), +"breakpoints": PackedInt32Array(), +"column": 45, +"folded_lines": Array[int]([]), +"h_scroll_position": 0, +"row": 20, +"scroll_position": 17.0, +"selection": false, +"syntax_highlighter": "GDScript" +} diff --git a/.godot/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg index 9cec9a2..3013cb1 100644 --- a/.godot/global_script_class_cache.cfg +++ b/.godot/global_script_class_cache.cfg @@ -47,6 +47,12 @@ list=Array[Dictionary]([{ "language": &"GDScript", "path": "res://scripts/Rook.gd" }, { +"base": &"Button", +"class": &"TitleButton", +"icon": "", +"language": &"GDScript", +"path": "res://scripts/title_screen/menu_button.gd" +}, { "base": &"Node", "class": &"game", "icon": "", diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin index 482641ebeeac99a2f701d15bc9446b0b82c7fdce..f5577e42058d0bf423d50b259273e8edd6815d7e 100644 GIT binary patch delta 223 zcmaDNF++;cej}qW&t!cb)A|#-Hi0W6wF~7K7#NCDi>>tai<49HQj7IVGD~t&<BOAv zQd9HvN{W;7U@Eoosl?P4wEvUe-la!$wXkXnfZCv+o0?Y|pHx~>k`J+M*{%LPEn(LJ db>P|(i;GiBiuFq~QS8t!$Vse(X)MS~2LO{+QeXf8 delta 37 tcmbOs^+bZvW+S68k62OVANkqk|NQtF7#NCDi>>ta(-U)3C-d`I0RZNh3#tGB diff --git a/Assets/shaders/3d_effect.gdshader b/Assets/shaders/3d_effect.gdshader new file mode 100644 index 0000000..d1c8af7 --- /dev/null +++ b/Assets/shaders/3d_effect.gdshader @@ -0,0 +1,52 @@ +shader_type canvas_item; + +// Camera FOV +uniform float fov : hint_range(1, 179) = 90; +uniform bool cull_back = true; +uniform float y_rot : hint_range(-180, 180) = 0.0; +uniform float x_rot : hint_range(-180, 180) = 0.0; +// At 0, the image retains its size when unrotated. +// At 1, the image is resized so that it can do a full +// rotation without clipping inside its rect. +uniform float inset : hint_range(0, 1) = 0.0; +// Consider changing this to a uniform and changing it from code + +varying flat vec2 o; +varying vec3 p; + +// Creates rotation matrix +void vertex(){ + float sin_b = sin(y_rot / 180.0 * PI); + float cos_b = cos(y_rot / 180.0 * PI); + float sin_c = sin(x_rot / 180.0 * PI); + float cos_c = cos(x_rot / 180.0 * PI); + + mat3 inv_rot_mat; + inv_rot_mat[0][0] = cos_b; + inv_rot_mat[0][1] = 0.0; + inv_rot_mat[0][2] = -sin_b; + + inv_rot_mat[1][0] = sin_b * sin_c; + inv_rot_mat[1][1] = cos_c; + inv_rot_mat[1][2] = cos_b * sin_c; + + inv_rot_mat[2][0] = sin_b * cos_c; + inv_rot_mat[2][1] = -sin_c; + inv_rot_mat[2][2] = cos_b * cos_c; + + + float t = tan(fov / 360.0 * PI); + p = inv_rot_mat * vec3((UV - 0.5), 0.5 / t); + float v = (0.5 / t) + 0.5; + p.xy *= v * inv_rot_mat[2].z; + o = v * inv_rot_mat[2].xy; + + VERTEX += (UV - 0.5) / TEXTURE_PIXEL_SIZE * t * (1.0 - inset); +} + +void fragment(){ + if (cull_back && p.z <= 0.0) discard; + vec2 uv = (p.xy / p.z).xy - o; + COLOR = texture(TEXTURE, uv + 0.5); + COLOR.a *= step(max(abs(uv.x), abs(uv.y)), 0.5); +} \ No newline at end of file diff --git a/Assets/ui/title_screen/play_button.png b/Assets/ui/title_screen/play_button.png new file mode 100644 index 0000000000000000000000000000000000000000..839092fce1794c2ce4a541709e08e850178317d9 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0vp^zkt}AgAGVVR?T_~q!^2X+?^QKos)S9WS{qRaSW-L z^Y*T%-{Sxghl`6s7FV#}{D18PpG}*fkV4lD#_iwd6e@%*dj0+GiOQ;dF>(JGmVYaM z&C4)Ny@W%+iiJa#sfCa6|F(M#^LO+;R(oG9-L`xE%w4&`|E|xP_Rr`0kDIbzch5TP z($28Zx#5C*f$Z_Ke9{jDogjS02N$Ma{~?<_FTdh{ocq3*QWG^RmL+Pxu5cQa9@@M2 zTuRb=qlM=?KbrCA&98m9y?n}=<Cnk|I`!W!nwi_VUk+rdqQeUTg%Y)y)s>TK1;I`- zDnC|eH(&q!&f@p~ePHgCS-jbLe*f0*fByViY;aLg!T93z8C>bN9^VhP39eO}dBJl3 z`+4r+_X8t$fy_K`Y3|+MuVPN@UHaqB(qA{vZ=V6OgkwWV{ehd)E9dlg@-aHKHypWi zH|Y2CXLW7f_ZNIRG4sd!f8XA~Ed&M(%%5NvBEkzvctXX8BlFgN<W@S$uKQsk$W;Cv zeaZi}AAg0W{Y&eewu4`@%bZ^beE3qcb5G7*!2_F6?P>^L6A`sAF^KUNFrFDaUHx3v IIVCg!0AbbcWB>pF literal 0 HcmV?d00001 diff --git a/Assets/ui/title_screen/play_button.png.import b/Assets/ui/title_screen/play_button.png.import new file mode 100644 index 0000000..6b7139d --- /dev/null +++ b/Assets/ui/title_screen/play_button.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqaswp3dl65be" +path="res://.godot/imported/play_button.png-f82baef4a13c102d3d15a67106c6e8d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ui/title_screen/play_button.png" +dest_files=["res://.godot/imported/play_button.png-f82baef4a13c102d3d15a67106c6e8d1.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 diff --git a/scenes/title_screen/menu_button.tscn b/scenes/title_screen/menu_button.tscn new file mode 100644 index 0000000..245ee24 --- /dev/null +++ b/scenes/title_screen/menu_button.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=5 format=3 uid="uid://bm8sv1itwm467"] + +[ext_resource type="Texture2D" uid="uid://cqaswp3dl65be" path="res://assets/ui/title_screen/play_button.png" id="1_j2k0y"] +[ext_resource type="Shader" path="res://assets/shaders/3d_effect.gdshader" id="1_loqws"] +[ext_resource type="Script" path="res://scripts/title_screen/menu_button.gd" id="1_mo82s"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_xb1tv"] +shader = ExtResource("1_loqws") +shader_parameter/fov = 90.0 +shader_parameter/cull_back = true +shader_parameter/y_rot = 0.0 +shader_parameter/x_rot = 0.0 +shader_parameter/inset = 0.0 + +[node name="MenuButton" type="Button"] +offset_right = 250.0 +offset_bottom = 75.0 +script = ExtResource("1_mo82s") + +[node name="MenuTexture" type="TextureRect" parent="."] +material = SubResource("ShaderMaterial_xb1tv") +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("1_j2k0y") + +[connection signal="gui_input" from="MenuTexture" to="." method="_on_gui_input"] +[connection signal="mouse_exited" from="MenuTexture" to="." method="_on_mouse_exited"] diff --git a/scenes/title_screen/title_screen.tscn b/scenes/title_screen/title_screen.tscn new file mode 100644 index 0000000..d3f0e77 --- /dev/null +++ b/scenes/title_screen/title_screen.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=2 format=3 uid="uid://dogg5cp8c0f4s"] + +[ext_resource type="Script" path="res://scripts/title_screen/title_screen.gd" id="1_sj2v7"] + +[node name="TitleScreen" 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_sj2v7") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 50 +theme_override_constants/margin_top = 50 +theme_override_constants/margin_right = 50 +theme_override_constants/margin_bottom = 50 + +[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/normal_font_size = 75 +text = "Go Save The King" + +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 8 +theme_override_constants/separation = 20 diff --git a/scripts/title_screen/menu_button.gd b/scripts/title_screen/menu_button.gd new file mode 100644 index 0000000..34924ee --- /dev/null +++ b/scripts/title_screen/menu_button.gd @@ -0,0 +1,40 @@ +extends Button +class_name TitleButton + +@export var angle_x_max: float = 10.0 +@export var angle_y_max: float = 10.0 + +var tween_rot: Tween + +@onready var menu_texture: TextureRect = $MenuTexture + +func _ready() -> void: + angle_x_max = deg_to_rad(angle_x_max) + angle_y_max = deg_to_rad(angle_y_max) + +func _on_gui_input(event: InputEvent) -> void: + if not event is InputEventMouseMotion: + return + + var mouse_pos: Vector2 = get_local_mouse_position() + + # Calculate rotation based on mouse position + var padding_x = size.x * 0.1 + var padding_y = size.y * 0.1 + + var lerp_val_x: float = remap(mouse_pos.x, -padding_x, size.x, 0, 1) + var lerp_val_y: float = remap(mouse_pos.y, -padding_y, size.y, 0, 1) + + var rot_x: float = rad_to_deg(lerp_angle(-angle_x_max, angle_x_max, lerp_val_x)) + var rot_y: float = rad_to_deg(lerp_angle(angle_y_max, -angle_y_max, lerp_val_y)) + + menu_texture.material.set_shader_parameter("x_rot", rot_y) + menu_texture.material.set_shader_parameter("y_rot", rot_x) + +func _on_mouse_exited() -> void: + # Resets rotation when exited + if tween_rot and tween_rot.is_running(): + tween_rot.kill() + tween_rot = create_tween().set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK).set_parallel(true) + tween_rot.tween_property(menu_texture.material, "shader_parameter/x_rot", 0.0, 0.4) + tween_rot.tween_property(menu_texture.material, "shader_parameter/y_rot", 0.0, 0.4) diff --git a/scripts/title_screen/title_screen.gd b/scripts/title_screen/title_screen.gd new file mode 100644 index 0000000..a1d4176 --- /dev/null +++ b/scripts/title_screen/title_screen.gd @@ -0,0 +1,11 @@ +extends Control + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass -- GitLab