From 5a46ba5e31904773ea23d922564451daafb97bfc Mon Sep 17 00:00:00 2001 From: tobspr Date: Sat, 23 May 2020 14:31:49 +0200 Subject: [PATCH] Move videos to static fileserver to avoid unnecessary load --- .../tutorial_videos}/level_1.webm | 0 artwork/tutorial_videos/level_10.webm | 3 ++ artwork/tutorial_videos/level_11.webm | 3 ++ .../tutorial_videos}/level_2.webm | 0 .../tutorial_videos}/level_3.webm | 0 .../tutorial_videos}/level_4.webm | 0 .../tutorial_videos}/level_5.webm | 0 .../tutorial_videos}/level_6.webm | 0 .../tutorial_videos}/level_7.webm | 0 artwork/tutorial_videos/level_9.webm | 3 ++ res/ui/icons/help.png | Bin 0 -> 1958 bytes src/css/ingame_hud/tutorial_hints.scss | 47 +++++++++++++++++- src/js/core/config.js | 2 +- src/js/game/hud/parts/tutorial_hints.js | 25 ++++++---- src/js/states/main_menu.js | 12 ++--- translations/base-en.yaml | 6 +++ 16 files changed, 83 insertions(+), 18 deletions(-) rename {res/videos => artwork/tutorial_videos}/level_1.webm (100%) create mode 100644 artwork/tutorial_videos/level_10.webm create mode 100644 artwork/tutorial_videos/level_11.webm rename {res/videos => artwork/tutorial_videos}/level_2.webm (100%) rename {res/videos => artwork/tutorial_videos}/level_3.webm (100%) rename {res/videos => artwork/tutorial_videos}/level_4.webm (100%) rename {res/videos => artwork/tutorial_videos}/level_5.webm (100%) rename {res/videos => artwork/tutorial_videos}/level_6.webm (100%) rename {res/videos => artwork/tutorial_videos}/level_7.webm (100%) create mode 100644 artwork/tutorial_videos/level_9.webm create mode 100644 res/ui/icons/help.png diff --git a/res/videos/level_1.webm b/artwork/tutorial_videos/level_1.webm similarity index 100% rename from res/videos/level_1.webm rename to artwork/tutorial_videos/level_1.webm diff --git a/artwork/tutorial_videos/level_10.webm b/artwork/tutorial_videos/level_10.webm new file mode 100644 index 00000000..aa1124a3 --- /dev/null +++ b/artwork/tutorial_videos/level_10.webm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db8026c2a132c9d2f016986dc7a66127254c725c068eaae60909ddff6d50a210 +size 2397175 diff --git a/artwork/tutorial_videos/level_11.webm b/artwork/tutorial_videos/level_11.webm new file mode 100644 index 00000000..29a782a7 --- /dev/null +++ b/artwork/tutorial_videos/level_11.webm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce02cec04d080b2114822e9241a9baa073a56f38dd0c52e235373fd8ae2f856d +size 1105340 diff --git a/res/videos/level_2.webm b/artwork/tutorial_videos/level_2.webm similarity index 100% rename from res/videos/level_2.webm rename to artwork/tutorial_videos/level_2.webm diff --git a/res/videos/level_3.webm b/artwork/tutorial_videos/level_3.webm similarity index 100% rename from res/videos/level_3.webm rename to artwork/tutorial_videos/level_3.webm diff --git a/res/videos/level_4.webm b/artwork/tutorial_videos/level_4.webm similarity index 100% rename from res/videos/level_4.webm rename to artwork/tutorial_videos/level_4.webm diff --git a/res/videos/level_5.webm b/artwork/tutorial_videos/level_5.webm similarity index 100% rename from res/videos/level_5.webm rename to artwork/tutorial_videos/level_5.webm diff --git a/res/videos/level_6.webm b/artwork/tutorial_videos/level_6.webm similarity index 100% rename from res/videos/level_6.webm rename to artwork/tutorial_videos/level_6.webm diff --git a/res/videos/level_7.webm b/artwork/tutorial_videos/level_7.webm similarity index 100% rename from res/videos/level_7.webm rename to artwork/tutorial_videos/level_7.webm diff --git a/artwork/tutorial_videos/level_9.webm b/artwork/tutorial_videos/level_9.webm new file mode 100644 index 00000000..40e240e2 --- /dev/null +++ b/artwork/tutorial_videos/level_9.webm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a996fc3605f4ef180a7985f2a74621510489cc88b2b8a97a9dc1bd19566383b7 +size 1727787 diff --git a/res/ui/icons/help.png b/res/ui/icons/help.png new file mode 100644 index 0000000000000000000000000000000000000000..07ec30d1513e65cb69b8f949e79f6403c0a95064 GIT binary patch literal 1958 zcmZ`)dpMg{96myd45g*YM%ij>he*CJ*Dpb6Qi&1~l(DsqxYRJWlrdBErnjN0%T}h{ zsMOT-_Nb`pRz=OFmzk|}wUth7)mB@V7TY;7&$IopJm>qJbAI{#-uFH4dA?+?OzLAw zv84b2OeJEW9L@st80o`U-jMevoD5>U{Jj7;UHHnZf(-W#O0nD@fUGwG$lVFR3z*6s z1z;NufUzwA5NZIdlgqS$d;myvnP0F77OY+^VKTWmlgnTdF#daBD9K^4I1C0iBqRi9 zEfz4ibS43Not>Sr#V!T|Wf%+&&d`D29300nmJXRk2m}Heo2_HvQV9ant>G5KxHzoT z@zUu!d>rR;xd?>8!5EO5jW2*O2#g8A7iu6Zf$}U4L|%Y}k;x<=BgP`245%6989Wqq z2ylV)pf&78q^^8Ej=Q5Rjx!-RLO>t5K*hSFK`1&Mf)EUt#1T8R1x7ZTjWTd75HYzl zngCe@?OMn$e#>AH*n%faE}iZUxlk7x9HfWMTde0GZ8#gp`H&7BmW@c!LMMjBV!=Z} z>!2{573etdf*=l+N<|bb$$P+*yr1xwop{()h-uEYZN8u!uu5YkqzjW%TmmIL*gflF;mXR{7$VpDa6d zw}s6gWZ{P^?LMA=_kz^6;?x_{S6j^5>drlEFu#&mc(b+Uo80(co>?uO%ex-vbvUzh zh;RQ}?fUPluf;5nq$)yBsK01`CAov?a`$-ScVm z2YmK=<^BSA2))P+K0;7HwiCmRakBWGGyu$6(W6)DZ1yTl8mc7zBEw;_waHTRe%t$} z0MJj92)%;Cu2hA--0bINS#hRsGQ4=xe*1whsYeqEoz_~d-RSnsva0m`MPiHd=g*aX zVY!ztFPJz%`>Xu3rl#}V<&9}m_h!$e^-g8CWQ=!lV`KCjy4y3#J9|ArjsA}Ob>7U& zyj!)QySxGh>gm}fsae7(%fsQS0~;N;KV2biICa{0H04QAoUv9&-P~f@`SYaRYdLc4 zFk4aWvi(!N376=G!P(45?MJkGuCY(79a^XE>8klqlx>8sob{7b#yz^!RXdkg$$JS( zR~4^o9kEySFx}p$5KuIvV&MP)|t6i4bl(4o_wHyuKYbEND^nW z(alNL`L?E@D0TR2bDwv%s`3Q^zSABGVaHk^<$2EeIr#>Xx{HmbmsvQ$AB@=0-y{4# z7~#r?_`Ia|W#lnQtZR}n|4&l>AL8mLi&=GckbAysWxp?F`s{R-`tEhH*6k3f(PX~r zO#@rE4cjDn*~DMI_V+iJk^(Pe@yVZ`oQ=Ow7G4)r#4s47eUuPm8FI|Z@i{wAd{nL3 z-FL?%l5#G{!pb{5WoOfk2sNoe(~-DS{p9kPeDty0VTof#YheA;*8NqxPm;YZY|ww7 z&>KC&ZNKxSAQF4lmSui*+;(7mFJ-EE*{H~5&&%Vz1>_gaGX?_y+%|MBbnH49<@%e$ z#L`n9tcERln47_&f+aE+sUqz3Wh1Jrcg)6$yuPZKtW+v*N)<)vM(z`QKbe+XD0?=2 zd!k%W*X}zLAgezzYF^SY73{cu%!ZO9O|Xk~<} z`^C{o+t|cURZ3r=4ivD5o*VinRd%@0dK%l4?lxE7ieLYDe#gvK%A}s zXJI8qhXLDH~DGX zjt4p30Y__iCvJ^Il*QD3Vz-9gysPwKn&)&vchSE0Tpse%LmTf^56-VRebU3us--L6 z-@|kF$h;YO-KD;3-8q})DoDqUxD6F;{&r(su4I$Ljn0s*LzTI^-l}hv=qIwPf2BTM zW;{DyVr8TmetV^LWrOBdt*2Rk-skP6XcNV=Sk-}X_m*N z#i-H?Uwm!SKR0JManm8pxcT`n@Qrj*iNaJ-3RN_rOpS&Uz-SoFmBw_%@L)Pdz`rFr z%b7+aXf$ntcFTVn5|g6hVlw}~;d?r15H{E#hM=SvRfZxp8f0W-P~$#`Pg5$Aqp3-$ Uu}8=Gwy+3DL{ed$_m=#>0raHNmjD0& literal 0 HcmV?d00001 diff --git a/src/css/ingame_hud/tutorial_hints.scss b/src/css/ingame_hud/tutorial_hints.scss index a57ac197..41cffacd 100644 --- a/src/css/ingame_hud/tutorial_hints.scss +++ b/src/css/ingame_hud/tutorial_hints.scss @@ -17,17 +17,42 @@ transition-property: opacity, width; @include S(width, 0px); opacity: 0; + z-index: 10; + position: relative; } .header { - @include PlainText; color: #333438; display: grid; align-items: center; @include S(grid-gap, 2px); grid-template-columns: 1fr; @include S(margin-bottom, 3px); + z-index: 11; + position: relative; + + > span { + @include DarkThemeInvert; + + display: flex; + @include SuperSmallText; + justify-content: flex-start; + align-items: center; + &::before { + @include S(margin-right, 4px); + content: " "; + @include S(width, 12px); + @include S(height, 12px); + display: inline-block; + background: uiResource("icons/help.png") center center / 95% no-repeat; + } + } + + button.toggleHint { + @include PlainText; + } } + button.toggleHint { .hide { display: none; @@ -40,9 +65,27 @@ bottom: 50%; transform: translate(-50%, 50%); + &::before { + pointer-events: all; + content: " "; + position: fixed; + top: -1000px; + left: -1000px; + right: -1000px; + bottom: -1000px; + z-index: 0; + + background: rgba(50, 60, 70, 0.3); + } + .header { grid-template-columns: 1fr auto; - color: #fff; + > span { + display: none; + } + button.toggleHint { + grid-column: 2 / 3; + } } video { diff --git a/src/js/core/config.js b/src/js/core/config.js index 7a43ffed..69106be0 100644 --- a/src/js/core/config.js +++ b/src/js/core/config.js @@ -94,7 +94,7 @@ export const globalConfig = { // showChunkBorders: true, // rewardsInstant: true, // allBuildingsUnlocked: true, - // upgradesNoCost: true, + upgradesNoCost: true, // disableUnlockDialog: true, // disableLogicTicks: true, // testClipping: true, diff --git a/src/js/game/hud/parts/tutorial_hints.js b/src/js/game/hud/parts/tutorial_hints.js index 5cdc8519..3a304479 100644 --- a/src/js/game/hud/parts/tutorial_hints.js +++ b/src/js/game/hud/parts/tutorial_hints.js @@ -5,8 +5,9 @@ import { makeDiv } from "../../../core/utils"; import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper"; import { BaseHUDPart } from "../base_hud_part"; import { DynamicDomAttach } from "../dynamic_dom_attach"; +import { T } from "../../../translations"; -const maxTutorialVideo = 7; +const tutorialVideos = [1, 2, 3, 4, 5, 6, 7, 9, 10, 11]; export class HUDPartTutorialHints extends BaseHUDPart { createElements(parent) { @@ -16,10 +17,10 @@ export class HUDPartTutorialHints extends BaseHUDPart { [], `
- No idea what to do? + ${T.ingame.tutorialHints.title}
@@ -56,10 +57,16 @@ export class HUDPartTutorialHints extends BaseHUDPart { } updateVideoUrl(level) { - console.log("update video url.", level); - this.videoElement - .querySelector("source") - .setAttribute("src", cachebust("res/videos/level_" + level + ".webm")); + if (tutorialVideos.indexOf(level) < 0) { + this.videoElement.querySelector("source").setAttribute("src", ""); + this.videoElement.pause(); + } else { + this.videoElement + .querySelector("source") + .setAttribute("src", "https://static.shapez.io/tutorial_videos/level_" + level + ".webm"); + this.videoElement.currentTime = 0; + this.videoElement.load(); + } } close() { @@ -89,7 +96,7 @@ export class HUDPartTutorialHints extends BaseHUDPart { this.currentShownLevel.set(this.root.hubGoals.level); - const tutorialVisible = this.root.hubGoals.level <= maxTutorialVideo; + const tutorialVisible = tutorialVideos.indexOf(this.root.hubGoals.level) >= 0; this.domAttach.update(tutorialVisible); } diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index 0f4481ce..814afde6 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -187,12 +187,12 @@ export class MainMenuState extends GameState { this.trackClicks(qs(".mainContainer .importButton"), this.requestImportSavegame); if (G_IS_DEV && globalConfig.debug.fastGameEnter) { - const games = this.app.savegameMgr.getSavegamesMetaData(); - if (games.length > 0) { - this.resumeGame(games[0]); - } else { - this.onPlayButtonClicked(); - } + // // const games = this.app.savegameMgr.getSavegamesMetaData(); + // if (games.length > 0) { + // this.resumeGame(games[0]); + // } else { + this.onPlayButtonClicked(); + // } } // Initialize video diff --git a/translations/base-en.yaml b/translations/base-en.yaml index c3095aa9..21f374b0 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -251,6 +251,12 @@ ingame: settings: Settings menu: Return to menu + # Bottom left tutorial hints + tutorialHints: + title: No idea what to do? + showHint: Show hint + hideHint: Close + # All shop upgrades shopUpgrades: belt: