From b61a5122f4a65ff50e09763790c4e61fa28f60de Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Sun, 1 Dec 2024 20:14:51 -0500 Subject: [PATCH] New scoreboard viewing screengit commit -m "New scoreboard viewing screen" --- autoloads/level_data.tscn | 42 ++-- export_presets.cfg | 12 +- graphics/hud/arrow_down.png | Bin 0 -> 6094 bytes graphics/hud/arrow_down.png.import | 35 +++ graphics/hud/arrow_up.png | Bin 0 -> 6086 bytes graphics/hud/arrow_up.png.import | 35 +++ graphics/hud/scores/pungent.png | Bin 0 -> 9390 bytes graphics/hud/scores/pungent.png.import | 35 +++ graphics/hud/scores/salty.png | Bin 0 -> 697 bytes graphics/hud/scores/salty.png.import | 35 +++ graphics/hud/scores/spicy.png | Bin 0 -> 662 bytes graphics/hud/scores/spicy.png.import | 35 +++ graphics/hud/scores/sweet.png | Bin 0 -> 675 bytes graphics/hud/scores/sweet.png.import | 35 +++ menus/main_menu.gd | 2 +- menus/results.gd | 1 - menus/score_entry.gd | 43 +++- menus/score_entry.tscn | 64 +++-- menus/scoreboards_scholar.gd | 108 +++++++++ menus/scoreboards_scholar.tscn | 320 +++++++++++++++++++++++++ project.godot | 1 - scripts/level_entry.gd | 3 +- 22 files changed, 739 insertions(+), 67 deletions(-) create mode 100644 graphics/hud/arrow_down.png create mode 100644 graphics/hud/arrow_down.png.import create mode 100644 graphics/hud/arrow_up.png create mode 100644 graphics/hud/arrow_up.png.import create mode 100644 graphics/hud/scores/pungent.png create mode 100644 graphics/hud/scores/pungent.png.import create mode 100644 graphics/hud/scores/salty.png create mode 100644 graphics/hud/scores/salty.png.import create mode 100644 graphics/hud/scores/spicy.png create mode 100644 graphics/hud/scores/spicy.png.import create mode 100644 graphics/hud/scores/sweet.png create mode 100644 graphics/hud/scores/sweet.png.import create mode 100644 menus/scoreboards_scholar.gd create mode 100644 menus/scoreboards_scholar.tscn diff --git a/autoloads/level_data.tscn b/autoloads/level_data.tscn index e2a8193..fe92a6f 100644 --- a/autoloads/level_data.tscn +++ b/autoloads/level_data.tscn @@ -29,8 +29,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "" boss = false -scores_id = 13253 -times_id = 13255 +has_scoreboard = true scene = ExtResource( 2 ) [sub_resource type="Resource" id=2] @@ -45,8 +44,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "" boss = false -scores_id = 13254 -times_id = 13257 +has_scoreboard = true scene = ExtResource( 3 ) [sub_resource type="Resource" id=4] @@ -61,8 +59,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "" boss = false -scores_id = 13263 -times_id = 13270 +has_scoreboard = true scene = ExtResource( 6 ) [sub_resource type="Resource" id=6] @@ -77,8 +74,7 @@ shards_required_spicy = 16 shards_required_pungent = 24 boss_required = "" boss = true -scores_id = -1 -times_id = -1 +has_scoreboard = false scene = ExtResource( 8 ) [sub_resource type="Resource" id=3] @@ -93,8 +89,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss1" boss = false -scores_id = 13264 -times_id = 13271 +has_scoreboard = true scene = ExtResource( 14 ) [sub_resource type="Resource" id=10] @@ -109,8 +104,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss1" boss = false -scores_id = 13265 -times_id = 13272 +has_scoreboard = true scene = ExtResource( 7 ) [sub_resource type="Resource" id=9] @@ -125,8 +119,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss1" boss = false -scores_id = 13266 -times_id = 13273 +has_scoreboard = true scene = ExtResource( 11 ) [sub_resource type="Resource" id=12] @@ -141,8 +134,7 @@ shards_required_spicy = 32 shards_required_pungent = 40 boss_required = "" boss = true -scores_id = -1 -times_id = -1 +has_scoreboard = false scene = ExtResource( 13 ) [sub_resource type="Resource" id=8] @@ -157,8 +149,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss2" boss = false -scores_id = 13267 -times_id = 13274 +has_scoreboard = true scene = ExtResource( 10 ) [sub_resource type="Resource" id=7] @@ -173,8 +164,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss2" boss = false -scores_id = 13268 -times_id = 13275 +has_scoreboard = true scene = ExtResource( 9 ) [sub_resource type="Resource" id=11] @@ -189,8 +179,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "boss2" boss = false -scores_id = 13269 -times_id = 13276 +has_scoreboard = true scene = ExtResource( 12 ) [sub_resource type="Resource" id=15] @@ -205,8 +194,7 @@ shards_required_spicy = 50 shards_required_pungent = 60 boss_required = "" boss = true -scores_id = -1 -times_id = -1 +has_scoreboard = false scene = ExtResource( 16 ) [sub_resource type="Resource" id=14] @@ -221,8 +209,7 @@ shards_required_spicy = 72 shards_required_pungent = 72 boss_required = "boss3" boss = false -scores_id = -1 -times_id = -1 +has_scoreboard = false scene = ExtResource( 4 ) [sub_resource type="Resource" id=13] @@ -237,8 +224,7 @@ shards_required_spicy = 0 shards_required_pungent = 0 boss_required = "" boss = false -scores_id = -1 -times_id = -1 +has_scoreboard = false scene = ExtResource( 15 ) [node name="LevelData" type="Node"] diff --git a/export_presets.cfg b/export_presets.cfg index 7a3e24a..75f22d9 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -5,7 +5,7 @@ platform="Windows Desktop" runnable=true custom_features="" export_filter="all_resources" -include_filter="ngio.ini" +include_filter="scoreboard_host.txt" exclude_filter="" export_path="build/Revolution 2083.exe" script_export_mode=1 @@ -33,6 +33,7 @@ codesign/description="" codesign/custom_options=PoolStringArray( ) application/modify_resources=true application/icon="res://icon.ico" +application/icon_interpolation=4 application/file_version="" application/product_version="" application/company_name="Team SG" @@ -48,7 +49,7 @@ platform="Linux/X11" runnable=true custom_features="" export_filter="all_resources" -include_filter="ngio.ini" +include_filter="scoreboard_host.txt" exclude_filter="" export_path="build/linux/Revolution 2083.x86_64" script_export_mode=1 @@ -58,7 +59,7 @@ script_encryption_key="" custom_template/debug="" custom_template/release="" -binary_format/64_bits=true +binary_format/architecture="x86_64" binary_format/embed_pck=true texture_format/bptc=false texture_format/s3tc=true @@ -73,7 +74,7 @@ platform="HTML5" runnable=true custom_features="" export_filter="all_resources" -include_filter="ngio.ini" +include_filter="scoreboard_host.txt" exclude_filter="" export_path="build/html5/index.html" script_export_mode=1 @@ -108,7 +109,7 @@ platform="Android" runnable=true custom_features="" export_filter="all_resources" -include_filter="" +include_filter="scoreboard_host.txt" exclude_filter="" export_path="build/android/hero-mark-2.apk" script_export_mode=1 @@ -241,6 +242,7 @@ permissions/mount_format_filesystems=false permissions/mount_unmount_filesystems=false permissions/nfc=false permissions/persistent_activity=false +permissions/post_notifications=false permissions/process_outgoing_calls=false permissions/read_calendar=false permissions/read_call_log=false diff --git a/graphics/hud/arrow_down.png b/graphics/hud/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..b077880e0cabcf8f9c21ddca1b003fbbc868b082 GIT binary patch literal 6094 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 literal 0 HcmV?d00001 diff --git a/graphics/hud/arrow_down.png.import b/graphics/hud/arrow_down.png.import new file mode 100644 index 0000000..147e2b1 --- /dev/null +++ b/graphics/hud/arrow_down.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/arrow_down.png-476089e36c213673a0f11adb99cc0724.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/arrow_down.png" +dest_files=[ "res://.import/arrow_down.png-476089e36c213673a0f11adb99cc0724.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/hud/arrow_up.png b/graphics/hud/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..795cca0c27703fd697a4bb55e6ed13bbe1d16ac9 GIT binary patch literal 6086 zcmeHLdsGzH8J}erc3B~aA|Rp;3sLYm`Z_WVq$ej)qnM}C`(jkC=monw3S<{K(ByJ5eL4HCLQ=0g2->NwKk{C zHc6NPo)Q@%3HwR<*)b9+A_e0epp5`F^nooy5-apS2lkk-y$aa5VV@Xa>m)HqBIwtH zh66hV^gBS~mWE;-0QN_qDTL3#F$huteu;gV&0dM(YMoZCH-Yt9oFH{Lsnwx66RF2Z z+yLTBHuhx%mLl=UJtTw;a}+tjL`6=}7C99ITN=(6Dihbw9u>ABcS%eLvmCAs+rNhk zz!l0pcqVur8D25XHVp)V0)emKXGjU6h>MfQ#VX`-d3?M=nUIp0Fl<=D=n*56QpRSC zA2&85GZW2GPefIdvokYu^YbQabp%0-pJ=w2@B+1-z#)hvK0ZESSVDSYVmh9cnS~Gf z3LZj|6)-2MM1{m8OQgw?;8A2e$TL*~25`T6FS)-HVU3-T1N5VHZik^!$6nM^8^Ltc`YR!BTq7MrDu8&Nb< zPBo2G;fob1#Va?xemFi`Uv+hq!*^VnnnQg4Py8 zGBO3ZeXlEbW6b|yOFG!QxeLkd*RCpaH!p&%aN*{zT;wsD^va#^5^-sPNHuB0K=}Tl zpndmI$|Q*?NG}ZxBZeysiarnPrH910QI&{RKy-arAFWWd0%B?p>mQ)d9Z@u~Pa0T& zJ{DqX(QGz~Q(}K}plXrOkvM}d(qj~5AoJ)V_0frdf_EFC?YxjILY#ou4r(WLPaQN^s$Em|_&zUWsT{Qgp zMW&}rd3(z{FHKmIsvEcauPcJD1TUTSOE&$`x$ac5l;|;5ckW*M-p;OPf2YV=G%jIY zv2%@XqRn>ebhqW3s-DueH4D#eIJNEKZoF|Q@DJuEhv_?L4Nkb-j{bBI*)y{@8SoqwJkp>N9}J^oJHhI57jQ- z)xF?sPfy`n3!htea9E>41sA@-qN)WiTqPbKixO%=t;I?MTnnx$RH6kw#z|ILr-dQF zFN><4=e?vx)7sjqZq=(jzB-N0Y&L7OxCX~D;DPzu+&mS)-2Q9`5yG&te%i-*dCucT zAtvSUH1igf3e2NoelD-w9)WlJ!zuthGy%%1(W$i>mrK)sg`Y2N0U+Uo9=O6^)8=J0 zRjl9B?4#Mz7S_#Y_lJP5nh^v@sg84b1yVq~`+_la#LwI8YZQDKTEjN7E&%EW`RVTS z=Q(GeSoh@yX9PO^69M5O`1g5>+y!UgWw(=758Vud+N>58%$H<5G{=yF=^%^-+Q8&v zCW0j}!mQO}ls?~p=_uM^U@1J`nXl~!Wpn#^%1yHn3V^FQfa7p#bvR{kU|IttTLW(LQ# zCZm}#2~e;OWKpHfqQcdo{DhIpMv8ZOd@hS>I_GW<^tsk>F1DJdplG^$yR64}T_;SyvXFob5SD`b6d()ZfD2jT zV=3O_tMPamEvm@zBrnASjQBf67z55qaz9_0;h9<(4- z@^a1(;_*Hi8~7Cb$|+f^Lr z9|{jT%Z0#8p@@%^lnl9 p;w8i?yS$-r)o0hfzDV>)dUlSJ{^N2Z_(wN_*h*(ucNWiU{||(C{pJ7w literal 0 HcmV?d00001 diff --git a/graphics/hud/arrow_up.png.import b/graphics/hud/arrow_up.png.import new file mode 100644 index 0000000..b303c7a --- /dev/null +++ b/graphics/hud/arrow_up.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/arrow_up.png-afb605e867089f8aedd83a8cc3ba6369.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/arrow_up.png" +dest_files=[ "res://.import/arrow_up.png-afb605e867089f8aedd83a8cc3ba6369.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/hud/scores/pungent.png b/graphics/hud/scores/pungent.png new file mode 100644 index 0000000000000000000000000000000000000000..7754646e8e3c8ffc472d8df941b8f9bc6746fdcd GIT binary patch literal 9390 zcmeHNd0Z38w(hWRibzmFB{49v8Aw7{f?`kz+lYb!0aP#~0RloGgw-XA+kk?i6h#nGQE?eXP(T?4K?PJ?*!T3U4y(?6KcDZu``{2+e|64R=bSp7Cf<3u z-4q241qgzsIM~~)1ZO3r$;p6E_lPwu5QO$%dpP(xIOs!iU`!E$P*MBEYZ}0K(-*0APH#aepyHz+%o_g>g0sJ;OqGD_nG7&5j3I`V%r!mh=F6gApJ33 zc7nd-sGSJAGL!mhlk7)Hj9~6T?j7wvM92ikh|TbG_%$@m(bmBhOoR{%KH$F~Ye-H; zMpi~zPF7Y{US3W?2|YzgQBg^Kx~ejIt_DVPuEv}>SZzZcEN+3;oH@E?dJ70dGMS9g zp;(%e78x3oNeBo^US3{FQEAqcDYHoP=FB7g^a0<1ROAqyBvCj>LIowMf`V^D7@(&# zN_>o%0=`Q~N=eJe%E>Dz0)c{Q2vd?0Qj*frQc~dRCU6~+QjwlMkGMoe)rBF83qzB( zCZCeiT6*E8+RDnW+Qz=TIC+H`GiRx5{4!rhS5Kd8Vrphiv9PwG+1lAVIIePabEkWF zdNEmSKmPzuU^qV_GAcSIcH8zHJ9qsSpRoVH?*|VZK5{fAJ>!qlXEL+SX6IkLRB-u9 z;nkvBWw-C#Ex&jFLDkb|)it%xU(_`=y?Ohtxux~}hxU%nuI`@RzWxEkF2v5UW5lxW z>{0=CNk~aaO35O2p(LUZ!&RiD=MiP5FL9A&gsI|4TjkJ8lTTf^DX(R`@~fIJuTo)# zHo5VacEmKXW&b|h-yQzbpO8Zi}0u9~^^1lwJ)pOgLVwMXVcfXoZX&A!3!ske>v;A|q zy-uO#!QI}8Z(yh&wFHKI3}EPFLCmA*!Vkm@`u^GKPM$BM(JpJY??Ag)&7}`vHH1S$ zo-ou93`4goVGuSsFhrdp=>1F3ZqoXUUIjz!#zE?}h8MRxPWY6~EW)R+dHFD;wMy%4nrLh+eFvtFtjAFGo?N38Pis%ZAwbHn6IFlepMcPY?)~1E|zJ| z%CEWf0_a_6=ecK{?E@KT)k}<5O`^K{VQn)FdZe8WE!GSuM;{vU7BmEn>2?t4HZ!fa z4u;xIUJM`pt?hb8$??6E^aO*)Sl#plXsq=r7(5mRZ{@#l) zbbU4qB?wQ8o|W|q!b&g2U;Un`;6Ra1Nlo7Lx@H4DZJ)hT;ElHu3lDtsC}?_sZ(I+4nkodW3aTa zq0Z)II}8nNISE5TV967&Yt5Gn1giBP-Q$D9)rxTUv}H`z@lbQ`cjtPwhgD~I2^X1? zjujXEox(0IB)F#_80hB?O9wp;s=S7RA*>z@eSBBir6#lkYaZ>rr%0eu?Lt%Q+O?#y z%Z0YlfuFUiFDW}gSNMm8vND*ZDai`V0ts!u z$_{PG1Y8~hT)JOtE}4A;(;<;2y1p8Cp;s5Lw0B4A!_4-%ZfF-Dd%h-yhNj<{vz3N+ zMt$Gb`tMw{f}Q?8fAyL>p`V|sqY_>BOv|{cdGLOvS7n|)sb%Mz<&RstxP2?Sg#EqO zfD_FGPLv^19X1ec`a=D(0|aW$dUbIzFmz8rd7$5CSUTr%(4BIZM2&0v zo<9hDe9z!Jm!f>9;N=G}R6jFgF7>w$S?LJ_)+fIX=%!!SeM=@M;@)@_ZwT^_pUWhv z&cm*owovlpYM-xL0!usFL4<6&0z;~HTc~drQinH~iMAKCR=2$lCFiVcNo_tK7ueRB z)@Nnn)8B_g>R&JvpS#w_zOXW+s_tD=RKV>mcO7PFC%ulPpQj)1gCUXic|mPH47EDh zE|hdkG>i^WjdN^$7m%LNz9()xNgL#TE#JAIAkXyIV@E?&YM8TB^0#h5_sZ53WZ1f$ zzCY#e!B@%mE4>qu?52fA*M$DS(epMPwe;G1Q74C9 z^}IAlb@$)g{n*+kc@aVAxF&~#Gpt_UwW8ddd$aqT0AzLp(Pks+mjd7~fbMlc?s*kc z;)Bv$V;;qt0Zyc;!yB)N;x2tNb1+APc71n1PfdkEhCOTkQu+H(q-52esWN#Q*E*kP zEy;`w08!qSvO_JX?f!>nh;AqLl;kcq`YtK=1V=3`sLoxf7(d_DQ*xU+)FKrnTXPkL z`mD&p{yxO3YXRZHnRB=1d0km#`pdaZE{Mxc4uA0mF^MCSCjnk+=MMOOU47qJ%YMyK zIURG!^P0b}3pL5AX-U0tcz$jH&1;YpTY&Lf;Vulkv%w=(@rQ}M)8|EW(!(!WFYc9r z2;T*qM(773{7{L;1^!+o&wwl3@L+sdu`Ls4yOLmUxuq*FyC;;)wmq!fYZ8}#QK2&p z@#{$CfgYb>`JBp}#~TGOH19d};|oF8{M?HxdZRwOK*UwviZVs~~y z;9tX@15e_Fx14Bbw>f7vpTx5w^p|-M)F1*rn{|lK$V`B zA}B6(_5Y7eK+>R8O~Xg!syw&V-0ofP-LsP)(wo3;b9A2z4GoPox7BIg+rY)Vih-M5 ze>~!Bv?06D9G)RN3GX_h*hE6hhz3Dv7f<-Xa z`!1vWD1WPNIy&sW_aZgBI$J-NH|RO7Owso3ehX$oN`hXp9%bSAv&^lh*FLZ{P72g7 z_80vDLnW(p*kL%M3->>ip1?2uJ&DwF`-|GGGyGw3IVNXwM9vw`zK84o zd^A5Q`KIQ!y8Ik>V&d~2J(tx!FJ^$k<8UXY(XNM9+WT&(ypL{F!`VfmDCmEA{-&Gz zc<+Vs4-F@xHrUKy>whz(St)(gF`>A}e0X(dcIRDOX!deqD(9@u`CJ-MORi!f@wq<# z&~w4O6p6Em{p0Ck+|mnunF!b^; zn9Ji5J)=92-I4w|^K2PDKRfqmy)rfy6Z>G0wK=ihB}Vjzpu{!j%t76|rb{kFeM%lM zd*}N3^S%e>++qi}5J8Rd>A>_uSy_huehxjqcLgr4N=bN`{E{t%xGUZH2qo&C_m|N*oaVMxJvc!|SA(K-F8%z7L2Yfy)qek`4 z9<)zAds4Oz>OXol85a>Td5RJ^0P$`9>nJ$7`gJW&&>|kw;4drqD zIP2LE6n%VC@z4W*BI-Ce^wrc_cCUOzi#a4{NUP3lULYf7(=^L?*|F$t(SA=& z&A+Jb@^o>JuZS;qD#EsF)vE1nFrT?*Mzr7aWtq+KWw(7#B_1^Oqpi|Pou8DIvb=xk zUFN~g8UA@|*pD`J%-qQvctEPTCkwq9EBTte?aIZQ!%A9%RjVwLE%gt2mpQ-W59c|p8^ez8bvYR{GvL{rmci#?8ah^A)eEauiyY@3 z8P+bTslwS=!KR^Mud05xe9e=c6-#2Riad?Q&r6f7uV_7%f8#a&NpbU|yqKh?vRJ2! zj`fi2t{Wa(^J_QNzk0R!ieN)Z=O8MqhIgjkngo7MoD$7(_27FrEwf;9gAExht}oj# zIyhAP1J@#IbSQ%v#O7mt+5VgmOWc>@QXH1Uvc%C%oCr>#*6aX|eJqc?Dt5UmGd74x zVd1EY6&6KX0DxdNpMi}IULO)}5p9VR<63||GHisyibeQAmN*aaldUzE$HtNk$%X_x zEt(Ta!Yx+7F5 zcuWYN5seQC*FqphFl^Z2Odcnc&*6q(5ln_JH-c}8!-4DAG5vx=ot(zuL&8T{0DKrl zGeV7sh6JPFV57-*g!5^U0Ay65e|tx`YfLEHXeB$G8^L3;X_4#@zSd+2@ao5+BNn{Wi47?eeOvaPVh$Or(*~|~m zFeMXA8RkTm37a?x${{42&j?|%5hws|$N@OUW+Y=W!NeF(VUhgsWTr6#Php#|@qPp* zK=x%aDJI5~AXe}=z$+Q+Cu@a3u>h0_o5C_Bu^4z?f(g*Z*u)G^F*WzYQ%p>mOfmpv zGZ8XO35kfFxZuhOX0PHi5YmWd#>ND5GlID> znP_4{q)Z68vw7jb;Sfym+X(R$7SqBOATogCaDo~BY@^T+fAIxmSuB7tfLI3NrvO)?a!Gm1{vq|;en$Ph+~8qj}m4yYOoQKGsY}l zWb`*q7KsHWB^hwv$QVdoAQu{qC&N+BkhJq(JVw{zzc>Sc{%4Y(;`blA{-Nuq82BmS zf4u7-x_*j*pA!DZyZ+zkQkZz0Vuye#C<;6*5lcvR;89D)_g6a`@G1iQoh->b07m3P z?LEUG$PoNDg&_tN{dubo7?kBZIMHNVl~8I@21oPXc7Y*vKFxz~%?(DXa_DdWxI*7L zbtVux;b61GRktF-rFhCV0(z0Pl%fsV*(F-GXC2l+GDg`kRzZK?{_~LiJx)hzs(}7H zv-4HIr%Xqvp7&cNVc0w;Ud8L}N8Z#=Ie7-w3{!W$8>oHD<>-DV`k+k#2D-5(@NVED zmZG}cDfKNK^;XU2^tAB(0i@ot_;Y#`U29sv{I0V1i5fD$U(jgieY}SJzVK{zKTo$|I7nH4z%Sq=a#OE`xpHqD6Rki literal 0 HcmV?d00001 diff --git a/graphics/hud/scores/pungent.png.import b/graphics/hud/scores/pungent.png.import new file mode 100644 index 0000000..1265a85 --- /dev/null +++ b/graphics/hud/scores/pungent.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/pungent.png-e07e66e400d4d252772a81c6867bb967.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/scores/pungent.png" +dest_files=[ "res://.import/pungent.png-e07e66e400d4d252772a81c6867bb967.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/hud/scores/salty.png b/graphics/hud/scores/salty.png new file mode 100644 index 0000000000000000000000000000000000000000..af22ef1b6b659ecaa026e1f6c6f97108bd30b8e7 GIT binary patch literal 697 zcmV;q0!ICbP)EX>4Tx04R}tkvmAkP!xv$riu?L3U&~2$WWauf{HlSDionYs1;guFuCaqnlvOS zE{=k0!NJF3)xpJCR|i)?5PX0*J2)x2NQvhrg%&X$xZIEbp8x0Ga{-}VW}4Lz12o+> zQ;E2k$*ziBuLvQ49t>bYW|lE0NlEzD*FE)8-9>qpf8U?gr{*jM1VrK(GfbO!gLr1s zHaPDShgnfpiO-40O}ZfQBi9v=-#8as7IZLMN=c5CXT3@PWeK{ zW0mt3XRTai&3p0}hI0DKGS_L1Ab~|JL4pVcRg_SMjVSFpDHc+69{2GNyMBpW3b{&P zy{D4^000SaNLh0L z04^T@04^T^c_CX>@2HM@dakSAh-}0001xNklYHAPoLPF#`hw0|O%=#TJu77#J8B7*6D^ zVPIfjU}PjlF$|o@Tf@La$UQEK&r$eHgiPOaUy`5(45zp#K4oh7S literal 0 HcmV?d00001 diff --git a/graphics/hud/scores/salty.png.import b/graphics/hud/scores/salty.png.import new file mode 100644 index 0000000..06ae307 --- /dev/null +++ b/graphics/hud/scores/salty.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/salty.png-44a2905ee6e3795b4fc59059696696a8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/scores/salty.png" +dest_files=[ "res://.import/salty.png-44a2905ee6e3795b4fc59059696696a8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/hud/scores/spicy.png b/graphics/hud/scores/spicy.png new file mode 100644 index 0000000000000000000000000000000000000000..ddace82e572219b3fed5962aef7ae2399757fec1 GIT binary patch literal 662 zcmV;H0%`q;P)EX>4Tx04R}tkvmAkP!xv$riu?L3U&~2$WWauf{HlSDionYs1;guFuCaqnlvOS zE{=k0!NJF3)xpJCR|i)?5PX0*J2)x2NQvhrg%&X$xZIEbp8x0Ga{-}VW}4Lz12o+> zQ;E2k$*ziBuLvQ49t>bYW|lE0NlEzD*FE)8-9>qpf8U?gr{*jM1VrK(GfbO!gLr1s zHaPDShgnfpiO-40O}ZfQBi9v=-#8as7IZLMN=c5CXT3@PWeK{ zW0mt3XRTai&3p0}hI0DKGS_L1Ab~|JL4pVcRg_SMjVSFpDHc+69{2GNyMBpW3b{&P zy{D4^000SaNLh0L z04^T@04^T^c_CX>@2HM@dakSAh-}0001ONklYHAP)S8F_?%^Y%wVWu8D;hQ;`89F2(;3 zIWbsX5Mp3pU|=|rw+613376szJzp8N?|Dp=4gcT!nWG2@ZaRtA2E2fg6w}dd`2YWq w6JEv09D*hzYd}#9Rfsdl8L>nXBR)?900YPEX>4Tx04R}tkvmAkP!xv$riu?L3U&~2$WWauf{HlSDionYs1;guFuCaqnlvOS zE{=k0!NJF3)xpJCR|i)?5PX0*J2)x2NQvhrg%&X$xZIEbp8x0Ga{-}VW}4Lz12o+> zQ;E2k$*ziBuLvQ49t>bYW|lE0NlEzD*FE)8-9>qpf8U?gr{*jM1VrK(GfbO!gLr1s zHaPDShgnfpiO-40O}ZfQBi9v=-#8as7IZLMN=c5CXT3@PWeK{ zW0mt3XRTai&3p0}hI0DKGS_L1Ab~|JL4pVcRg_SMjVSFpDHc+69{2GNyMBpW3b{&P zy{D4^000SaNLh0L z04^T@04^T^c_CX>@2HM@dakSAh-}0001bNklYLzz_Z-u^Hh6F2(;pd_|}h;AUW8U|?jz zsrd3EQ~`+Q|4cYd-n5v3;qhAxNhYi&Po01edHfbdBO^X%z=6y)h+;tx1{S=Ep$ZwU zeu4|JU{#E+P@4}$13`t1f*x=$un?;d)dnIIA`AS-5-vDX002}HI67*DwD$l2002ov JPDHLkV1h2D6qx`3 literal 0 HcmV?d00001 diff --git a/graphics/hud/scores/sweet.png.import b/graphics/hud/scores/sweet.png.import new file mode 100644 index 0000000..8ed72ac --- /dev/null +++ b/graphics/hud/scores/sweet.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/sweet.png-9fd594d4011ef7c51cf9c89d5c0132b0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/hud/scores/sweet.png" +dest_files=[ "res://.import/sweet.png-9fd594d4011ef7c51cf9c89d5c0132b0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/menus/main_menu.gd b/menus/main_menu.gd index 3856a39..f91fb60 100644 --- a/menus/main_menu.gd +++ b/menus/main_menu.gd @@ -52,7 +52,7 @@ func _on_HighScores_button_down() -> void: Game.last_mm_button = @"Panel/HighScores" Fade.fade_out(Options.transition_speed_secs) yield(Fade, "fade_finished") - SceneManager.current_scene = load("res://menus/scoreboards.tscn").instance() + SceneManager.current_scene = load("res://menus/scoreboards_scholar.tscn").instance() func _on_Options_button_down() -> void: diff --git a/menus/results.gd b/menus/results.gd index 641b3eb..7c320e6 100644 --- a/menus/results.gd +++ b/menus/results.gd @@ -1,7 +1,6 @@ extends Node const Text3D = preload("res://objects/hud/3d_text.tscn") -const SubmitScore = preload("res://menus/submit_score.tscn") const LevelSelect := preload("res://menus/level_select_scholar.tscn") onready var shards: Node2D = $ShardsAndBonuses/Shards diff --git a/menus/score_entry.gd b/menus/score_entry.gd index d59a2ce..89927e3 100644 --- a/menus/score_entry.gd +++ b/menus/score_entry.gd @@ -1,26 +1,47 @@ tool extends HBoxContainer +const DIFFICULTY_ICONS = [ + preload("res://graphics/hud/scores/sweet.png"), + preload("res://graphics/hud/scores/salty.png"), + preload("res://graphics/hud/scores/spicy.png"), + preload("res://graphics/hud/scores/pungent.png"), +] + export var place: int = 0 setget _set_place -export var user: String = "Username" setget _set_user -export var score: String = "00000" setget _set_score +export var player: String = "Username" setget _set_player +export var score: int = 0 setget _set_score +export var time: float = 0.0 setget _set_time +export(int, "Sweet", "Salty", "Spicy", "Pungent") var difficulty: int = 0 setget _set_difficulty func _ready() -> void: - $Place.text = " %01d " % place - $User.text = user - $Score.text = score + _set_place(place) + _set_player(player) + _set_score(score) + _set_time(time) + _set_difficulty(difficulty) func _set_place(value: int) -> void: place = value if is_inside_tree(): - $Place.text = " %01d " % place + $Place.text = "%d" % place -func _set_user(value: String) -> void: - user = value +func _set_player(value: String) -> void: + player = value.substr(0, 10) if is_inside_tree(): - $User.text = user + $Player.text = player -func _set_score(value: String) -> void: +func _set_score(value: int) -> void: score = value if is_inside_tree(): - $Score.text = score + $Score.text = "%05d" % score + +func _set_time(value: float) -> void: + time = value + if is_inside_tree(): + $Time.text = Game.format_time(time) + +func _set_difficulty(value: int) -> void: + difficulty = value + if is_inside_tree(): + $Difficulty.texture = DIFFICULTY_ICONS[difficulty] diff --git a/menus/score_entry.tscn b/menus/score_entry.tscn index 2eaac8c..26aaa66 100644 --- a/menus/score_entry.tscn +++ b/menus/score_entry.tscn @@ -1,32 +1,60 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=5 format=2] [ext_resource path="res://ui/theme.tres" type="Theme" id=1] [ext_resource path="res://menus/score_entry.gd" type="Script" id=2] +[ext_resource path="res://graphics/hud/scores/sweet.png" type="Texture" id=3] +[ext_resource path="res://ui/2ndpuberty_scholar_outline.fnt" type="BitmapFont" id=4] [node name="ScoreEntry" type="HBoxContainer"] -margin_right = 210.0 -margin_bottom = 10.0 +margin_right = 228.0 +margin_bottom = 12.0 +rect_min_size = Vector2( 0, 12 ) theme = ExtResource( 1 ) custom_constants/separation = 8 script = ExtResource( 2 ) -user = "--------" -score = "-----" +player = "coolplayer" [node name="Place" type="Label" parent="."] -margin_right = 21.0 -margin_bottom = 10.0 -text = " 0 " +margin_top = 1.0 +margin_right = 16.0 +margin_bottom = 11.0 +rect_min_size = Vector2( 16, 0 ) +custom_fonts/font = ExtResource( 4 ) +text = "0" +align = 1 -[node name="User" type="Label" parent="."] -margin_left = 29.0 -margin_right = 167.0 -margin_bottom = 10.0 -size_flags_horizontal = 3 -text = "--------" +[node name="Player" type="Label" parent="."] +margin_left = 24.0 +margin_top = 1.0 +margin_right = 94.0 +margin_bottom = 11.0 +rect_min_size = Vector2( 70, 0 ) +custom_fonts/font = ExtResource( 4 ) +text = "coolplayer" +align = 1 [node name="Score" type="Label" parent="."] -margin_left = 175.0 -margin_right = 210.0 -margin_bottom = 10.0 -text = "-----" +margin_left = 102.0 +margin_top = 1.0 +margin_right = 137.0 +margin_bottom = 11.0 +rect_min_size = Vector2( 35, 0 ) +custom_fonts/font = ExtResource( 4 ) +text = "00000" align = 2 + +[node name="Time" type="Label" parent="."] +margin_left = 145.0 +margin_top = 1.0 +margin_right = 201.0 +margin_bottom = 11.0 +rect_min_size = Vector2( 56, 0 ) +custom_fonts/font = ExtResource( 4 ) +text = "--:--.--" +align = 2 + +[node name="Difficulty" type="TextureRect" parent="."] +margin_left = 209.0 +margin_right = 221.0 +margin_bottom = 12.0 +texture = ExtResource( 3 ) diff --git a/menus/scoreboards_scholar.gd b/menus/scoreboards_scholar.gd new file mode 100644 index 0000000..10b3f05 --- /dev/null +++ b/menus/scoreboards_scholar.gd @@ -0,0 +1,108 @@ +extends Node + + +const PAGE_SIZE: int = 8 + + +var loaded_scores: Dictionary = {} +var selected_level: int = 0 +var _page: int = 0 + + +onready var scores: VBoxContainer = $"%Scores" +onready var level_title: Button = $"%LevelTitle" + + +func _ready() -> void: + yield(_refresh_scores(), "completed") + Fade.fade_in(Options.transition_speed_secs) + + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("ui_right"): + selected_level = posmod(selected_level + 1, LevelData.levels.size()) + while not LevelData.levels[selected_level].has_scoreboard: + selected_level = posmod(selected_level + 1, LevelData.levels.size()) + _refresh_scores() + elif event.is_action_pressed("ui_left"): + selected_level = posmod(selected_level - 1, LevelData.levels.size()) + while not LevelData.levels[selected_level].has_scoreboard: + selected_level = posmod(selected_level - 1, LevelData.levels.size()) + _refresh_scores() + elif event.is_action_pressed("ui_down"): + _page += 1 + _refresh_scores() + elif event.is_action_pressed("ui_up"): + _page = int(max(_page - 1, 0)) + _refresh_scores() + elif event.is_action_pressed("ui_cancel"): + Fade.fade_out(Options.transition_speed_secs) + yield(Fade, "fade_finished") + SceneManager.current_scene = preload("res://menus/main_menu.tscn").instance() + + +func _refresh_scores() -> void: + level_title.text = LevelData.levels[selected_level].title + + var level = LevelData.levels[selected_level].save_id + if not level in loaded_scores: + yield(_load_scores(level), "completed") + + if ScoreBoard.errored: + push_error("Scoreboard could not be loaded.") + + var entries = loaded_scores.get(level, {}) + + while _page * PAGE_SIZE > entries.size(): + _page -= 1 + + var offset = _page * PAGE_SIZE + + $"%PrevScores".visible = _page > 0 + $"%NextScores".visible = entries.size() - offset > PAGE_SIZE + + for i in 8: + var entry_node = scores.get_node("ScoreEntry%d" % i) + if i >= entries.size() - offset: + entry_node.visible = false + else: + var player = entries.keys()[offset + i] + var entry = entries[player] + entry_node.visible = true + entry_node.place = offset + i + 1 + entry_node.player = player + entry_node.score = entry.score + entry_node.time = float(entry.time) * 0.001 # convert from ms + entry_node.difficulty = entry.difficulty + + +func _load_scores(level: String) -> void: + var result: Dictionary = yield(ScoreBoard.get_scores(level), "completed") + if ScoreBoard.errored: + #TODO: failure indication + return + + var players = result.keys().duplicate() + _sorting_dict = result + players.sort_custom(self, "_sort_scores") + + loaded_scores[level] = {} + for p in players: + loaded_scores[level][p] = result[p] + + +var _sorting_dict: Dictionary = {} +func _sort_scores(a, b) -> bool: + var score_a = _sorting_dict[a] + var score_b = _sorting_dict[b] + + if score_b.score < score_a.score: + return true + elif score_b.score == score_a.score: + if score_b.difficulty < score_a.difficulty: + return true + elif score_b.difficulty == score_a.difficulty: + if score_b.time > score_a.time: + return true + + return false diff --git a/menus/scoreboards_scholar.tscn b/menus/scoreboards_scholar.tscn new file mode 100644 index 0000000..bd9af0f --- /dev/null +++ b/menus/scoreboards_scholar.tscn @@ -0,0 +1,320 @@ +[gd_scene load_steps=16 format=2] + +[ext_resource path="res://shaders/ska_plane.gdshader" type="Shader" id=1] +[ext_resource path="res://menus/scoreboards_scholar.gd" type="Script" id=2] +[ext_resource path="res://graphics/hud/arrow_down.png" type="Texture" id=3] +[ext_resource path="res://shaders/wibble_wobble.gdshader" type="Shader" id=4] +[ext_resource path="res://ui/theme.tres" type="Theme" id=5] +[ext_resource path="res://graphics/hud/pause_arrow.png" type="Texture" id=6] +[ext_resource path="res://menus/score_entry.tscn" type="PackedScene" id=7] +[ext_resource path="res://ui/2ndpuberty_scholar_outline.fnt" type="BitmapFont" id=8] +[ext_resource path="res://graphics/hud/arrow_up.png" type="Texture" id=9] + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 1 ) +shader_param/color_1 = Color( 0.615686, 0.670588, 0.984314, 1 ) +shader_param/color_2 = Color( 1, 0.709804, 0.984314, 1 ) +shader_param/checker_size = Vector2( 24, 12 ) +shader_param/pan_speed = Vector2( 0, 0 ) +shader_param/cycle_speed = Vector2( 8, -8 ) +shader_param/cycle_alternation = Vector2( 0, 1 ) +shader_param/uv_transform = Transform2D( 1, 0, 1, 1, 0, 0 ) + +[sub_resource type="ShaderMaterial" id=2] +shader = ExtResource( 4 ) +shader_param/speed = Vector2( 4, 0 ) +shader_param/ammount = Vector2( 2, 0 ) +shader_param/offset = Vector2( 0, 0 ) +shader_param/delay = Vector2( 0, 0 ) + +[sub_resource type="ShaderMaterial" id=3] +shader = ExtResource( 4 ) +shader_param/speed = Vector2( 4, 0 ) +shader_param/ammount = Vector2( 2, 0 ) +shader_param/offset = Vector2( 0, 0 ) +shader_param/delay = Vector2( 4, 0 ) + +[sub_resource type="ShaderMaterial" id=5] +shader = ExtResource( 4 ) +shader_param/speed = Vector2( 0, 4 ) +shader_param/ammount = Vector2( 0, 2 ) +shader_param/offset = Vector2( 0, 0 ) +shader_param/delay = Vector2( 0, 0 ) + +[sub_resource type="ShaderMaterial" id=6] +shader = ExtResource( 4 ) +shader_param/speed = Vector2( 0, 4 ) +shader_param/ammount = Vector2( 0, 2 ) +shader_param/offset = Vector2( 0, 0 ) +shader_param/delay = Vector2( 0, 4 ) + +[sub_resource type="ShaderMaterial" id=4] +shader = ExtResource( 4 ) +shader_param/speed = Vector2( 8, 4 ) +shader_param/ammount = Vector2( 12, 24 ) +shader_param/offset = Vector2( 0, 0 ) +shader_param/delay = Vector2( 0, 0 ) + +[node name="Scoreboards" type="Node"] +script = ExtResource( 2 ) + +[node name="Background" type="ColorRect" parent="."] +material = SubResource( 1 ) +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="BoardsScreen" type="VBoxContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 5 ) +custom_constants/separation = 0 + +[node name="SelectLevel" type="HBoxContainer" parent="BoardsScreen"] +margin_right = 256.0 +margin_bottom = 16.0 +rect_min_size = Vector2( 0, 16 ) +alignment = 1 + +[node name="BackArrow" type="TextureRect" parent="BoardsScreen/SelectLevel"] +unique_name_in_owner = true +material = SubResource( 2 ) +margin_left = 72.0 +margin_top = 4.0 +margin_right = 78.0 +margin_bottom = 12.0 +size_flags_vertical = 4 +texture = ExtResource( 6 ) +flip_h = true + +[node name="LevelTitle" type="Button" parent="BoardsScreen/SelectLevel"] +unique_name_in_owner = true +margin_left = 82.0 +margin_top = 3.0 +margin_right = 173.0 +margin_bottom = 13.0 +size_flags_vertical = 4 +theme = ExtResource( 5 ) +custom_colors/font_color_focus = Color( 1, 0.968627, 0.709804, 1 ) +custom_colors/font_color = Color( 1, 1, 1, 1 ) +custom_fonts/font = ExtResource( 8 ) +text = "Verdant Hills" + +[node name="NextArrow" type="TextureRect" parent="BoardsScreen/SelectLevel"] +unique_name_in_owner = true +material = SubResource( 3 ) +margin_left = 177.0 +margin_top = 4.0 +margin_right = 183.0 +margin_bottom = 12.0 +size_flags_vertical = 4 +texture = ExtResource( 6 ) + +[node name="Scoreboard" type="HBoxContainer" parent="BoardsScreen"] +margin_top = 16.0 +margin_right = 256.0 +margin_bottom = 192.0 +focus_mode = 2 +size_flags_vertical = 3 +alignment = 1 + +[node name="PrevBoard" type="TextureRect" parent="BoardsScreen/Scoreboard"] +unique_name_in_owner = true +visible = false +material = SubResource( 2 ) +margin_top = 84.0 +margin_right = 6.0 +margin_bottom = 92.0 +size_flags_vertical = 4 +texture = ExtResource( 6 ) +flip_h = true + +[node name="MarginContainer" type="MarginContainer" parent="BoardsScreen/Scoreboard"] +margin_left = 10.0 +margin_right = 246.0 +margin_bottom = 176.0 +custom_constants/margin_right = 4 +custom_constants/margin_top = 4 +custom_constants/margin_left = 4 +custom_constants/margin_bottom = 4 + +[node name="VBoxContainer" type="VBoxContainer" parent="BoardsScreen/Scoreboard/MarginContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 232.0 +margin_bottom = 172.0 + +[node name="Header" type="HBoxContainer" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer"] +margin_right = 228.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 228, 10 ) +custom_constants/separation = 8 + +[node name="Place" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/Header"] +margin_right = 16.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 16, 0 ) +custom_fonts/font = ExtResource( 8 ) +text = "#" +align = 1 + +[node name="Player" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/Header"] +margin_left = 24.0 +margin_right = 94.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 70, 0 ) +custom_fonts/font = ExtResource( 8 ) +text = "Player" +align = 1 +clip_text = true + +[node name="Score" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/Header"] +margin_left = 102.0 +margin_right = 137.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 35, 0 ) +custom_fonts/font = ExtResource( 8 ) +text = "score" +align = 2 + +[node name="Time" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/Header"] +margin_left = 145.0 +margin_right = 201.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 56, 0 ) +custom_fonts/font = ExtResource( 8 ) +text = "score" +align = 1 + +[node name="Control" type="Control" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/Header"] +margin_left = 209.0 +margin_right = 221.0 +margin_bottom = 10.0 +rect_min_size = Vector2( 12, 0 ) + +[node name="HSeparator" type="HSeparator" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer"] +margin_top = 14.0 +margin_right = 228.0 +margin_bottom = 15.0 +custom_constants/separation = 1 + +[node name="ScoreboardTabs" type="Control" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer"] +unique_name_in_owner = true +margin_top = 19.0 +margin_right = 228.0 +margin_bottom = 168.0 +size_flags_vertical = 3 + +[node name="Scores" type="VBoxContainer" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs"] +unique_name_in_owner = true +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="PrevScores" type="TextureRect" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores"] +unique_name_in_owner = true +visible = false +material = SubResource( 5 ) +margin_left = 110.0 +margin_right = 118.0 +margin_bottom = 8.0 +rect_pivot_offset = Vector2( 3, 4 ) +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource( 9 ) + +[node name="ScoreEntry0" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +place = 1 + +[node name="ScoreEntry1" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 16.0 +margin_bottom = 28.0 +place = 2 + +[node name="ScoreEntry2" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 32.0 +margin_bottom = 44.0 +place = 3 + +[node name="ScoreEntry3" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 48.0 +margin_bottom = 60.0 +place = 4 + +[node name="ScoreEntry4" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 64.0 +margin_bottom = 76.0 +place = 5 + +[node name="ScoreEntry5" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 80.0 +margin_bottom = 92.0 +place = 6 + +[node name="ScoreEntry6" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 96.0 +margin_bottom = 108.0 +place = 7 + +[node name="ScoreEntry7" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores" instance=ExtResource( 7 )] +margin_top = 112.0 +margin_bottom = 124.0 +place = 8 + +[node name="NextScores" type="TextureRect" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/Scores"] +unique_name_in_owner = true +visible = false +material = SubResource( 6 ) +margin_left = 110.0 +margin_top = 128.0 +margin_right = 118.0 +margin_bottom = 136.0 +rect_pivot_offset = Vector2( 3, 4 ) +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource( 3 ) + +[node name="LoadingIndicator" type="CenterContainer" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/LoadingIndicator"] +material = SubResource( 4 ) +margin_left = 110.0 +margin_top = 69.0 +margin_right = 117.0 +margin_bottom = 79.0 +text = "ยง" + +[node name="FailedIndicator" type="CenterContainer" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 + +[node name="Label" type="Label" parent="BoardsScreen/Scoreboard/MarginContainer/VBoxContainer/ScoreboardTabs/FailedIndicator"] +margin_left = 65.0 +margin_top = 69.0 +margin_right = 163.0 +margin_bottom = 79.0 +text = "Failed to load" + +[node name="PanelContainer" type="PanelContainer" parent="BoardsScreen/Scoreboard"] +visible = false +margin_left = 250.0 +margin_right = 474.0 +margin_bottom = 144.0 +rect_min_size = Vector2( 224, 144 ) +size_flags_horizontal = 4 +size_flags_vertical = 0 + +[node name="NextBoard" type="TextureRect" parent="BoardsScreen/Scoreboard"] +unique_name_in_owner = true +visible = false +material = SubResource( 3 ) +margin_left = 250.0 +margin_top = 84.0 +margin_right = 256.0 +margin_bottom = 92.0 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource( 6 ) diff --git a/project.godot b/project.godot index 4b61178..d94c3f8 100644 --- a/project.godot +++ b/project.godot @@ -109,7 +109,6 @@ SceneManager="*res://autoloads/scene_manager.tscn" Console="*res://autoloads/console.tscn" Fade="*res://autoloads/fade.tscn" StainLayer="*res://autoloads/stain_layer.tscn" -Ngio="*res://autoloads/ngio.gd" ScoreBoard="*res://autoloads/scoreboard.gd" [debug] diff --git a/scripts/level_entry.gd b/scripts/level_entry.gd index 55024db..db1b37c 100644 --- a/scripts/level_entry.gd +++ b/scripts/level_entry.gd @@ -16,8 +16,7 @@ export var shards_required_spicy: int = 0 export var shards_required_pungent: int = 0 export var boss_required: String = "" export var boss: bool = false -export var scores_id: int = -1 -export var times_id: int = -1 +export var has_scoreboard: bool = false export var scene: PackedScene var shards_required: int = 0 setget , _get_shards_required