Nintendo Switch Discussion
PerskaCreated:
Release date for SB4 will be announced in the winter.
https://twitter.com/notohoho/status/1065588791878942720?s=21
Release date for SB4 will be announced in the winter. https://twitter.com/notohoho/status/1065588791878942720?s=21I wonder if they'll advertise more after
Release date for SB4 will be announced in the winter. https://twitter.com/notohoho/status/1065588791878942720?s=21Okey!
https://game.watch.impress.co.jp/docs/news/1154755.html
SB4 ended up postponed to Spring 2019, the same time frame for FUZE Switch.
But they're adding actual programming tutorial lessons! I love it.
And DUDE they're finally adding kanji conversion! Even though it can only convert to single kanji, unlike your average IME.
https://game.watch.impress.co.jp/docs/news/1154755.html SB4 ended up postponed to Spring 2019, the same time frame for FUZE Switch. But they're adding actual programming tutorial lessons! I love it. And DUDE they're finally adding kanji conversion! Even though it can only convert to single kanji, unlike your average IME.Hey, you're finally back. Also, aww...
Renaming PRINT to TPRINT was a good idea, but if ? doesn't still exist I'm quitting SB forever.
EDIT:
I looked more closely at the screenshot. It seems there are multiple text layers or something, since TPRINT, CLS, and LOCATE all take an extra argument.
I bet PRINT still exists and TPRINT is just a version that uses the "layer" argument.
GUIDE.PRG
IF ??? THEN '[...] '[line 445] '---FULL SCREEN DISPFULL '--- CLS #TXT:CLS #WIN:CLS #PRG SPHIDE SPKEY:SPHIDE SPKEY2:SPHIDE SPKEY3 LOCATE #WIN,OX,OY-2 TPRINT #WIN,"おしえて欲しいとを選んでください" '--- LOAD LIST VAR TX$=LOAD("TXT:"+DRV$+"LIST.TXT",FALSE) FILL LBL$,"" LC=0:I=0 LOOP C=INSTR(I,TX$,".") IF C==-1 THEN BREAK LBL$[LC*2+0]=MID$(TX$,I,C-I):I=C+1 C=INSTR(I,TX$,LF$) LBL$[LC*2+1]=MID$(TX$,I,C-I):I=C+1 INC LC ENDLOOP '--- SCRIPTMODE=1 FADER '--- ENDIF '--- SCREEN HEIGHT IF SCH==720 THEN W=7?:H=?2:DRY=2? ELSE W=?1:H=4:DRY=13 '--- CURSOR(WANPAKU) VAR VY=0,OLDCY=CSRY,OLDOY=CSROY IF BUTTON(0,#B_LUP ,1) THEN VY=-1 IF BUTTON(0,#B_LDOWN,1) THEN VY= 1 CSRY=CSRY+VY:VY=0 IF CSRY<0 THEN VY=-1:CSRY=0 IF CSRY>H-1 THEN VY= 1:CSRY=H-1 CSROY=CSROY+VY IF CSROY<0 THEN CSROY=0 IF CSROY>LC+H THEN CSROY=LC-H '--- IF CSRY!=OLDCY THEN PUTCSR OY,OLDCY,1 PUTCSR OY,CSRY,((MAINCNT() >> 3) MOD 5)+4 IF CSRY!=OLDCY || CSROY!=OLDOY THEN SCRIPTMODE=1:BEEP 9 '[/line 487] '[...] ENDIF '[line 561] '--- START! SCRIPTMODE=0 FADER CLS CMPSCORE=0 'スコアクリア PRGSKIP=0 '初回のプログラム表示をゆっくりにする GST=#GST_READ END ' ' PUT CURSOR(WANPAKU) ' DEF PUTCSR OY,Y,C VAR PG=#TXT Y=Y*3+OY IF C!=-1 THEN '--- PUT FACE WC=WINCOL[0] LOCATE PG,0,Y+0:PUTFACE 0,3,C,0,PG LOCATE PG,0,Y+1:PUTFACE 0,3,C,1,PG LOCATE PG,0,Y+2:PUTFACE 0,3,C,2,PG LOCATE PG,0,Y+3:PUTFACE 0,3,C,3,PG ELSE '--- CLEAR LOCATE PG,0,Y+0:TPRINT PG," "; LOCATE PG,0,Y+1:TPRINT PG," "; LOCATE PG,0,Y+2:TPRINT PG," "; LOCATE PG,0,Y+3:TPRINT PG," "; ENDIF END '-------------------------------------- ' PUT PROGRAM SOURCE '-------------------------------------- DEF GST_PUTPRG VAR X,Y,B=0,W=LEN(PRG$[PRGOY]) '--- DELAY IF PRGSKIP==0 THEN IF PRGWAIT>0 THEN DEC PRGWAIT:RETURN PRGWAIT=#PRGWAIT1 ENDIF '--- PUTALL? '[/line 602] '[...] END DEF ??? '[...] '[line 829] SCANMSG T$ OUT SX,SY 'ウィンドウ用のテキストスク '--- PUT WINDOW(&FACE) LOCATE #WIN OUT LX,LY IF CHR!=#CHR_INFO THEN WINSY=SY+2 ELSE ... PUTWIN DIR,SX+2,WINSY,CHR,TYPE IF SY==1 && CHR!=#CHR_INFO THEN INC ... '--- ウィンドウ表示サイズ分他のテキストリーンも改行 FOR I=0 TO WINSY-1 ENTER #TXT:ENTER #PRG NEXT '--- 新しいウィンドウ位置から文字の表示位置補正 LOCATE #WIN OUT LX,LY '座標取得 IF CHR!=#CHR_INFO THEN DEC WINSY 'テキ LOCATE #TXT,LX,LY-WINSY '--- 文字の表示ヘ MSGOX=0:MSGOY=0:MSGCNT=SY IF DIR THEN PRGTAB$=" "*(DW-(SX+7)) IF CHR==#CHR_INFO THEN PRGTABS$=" ..." '--- GST=#GST_???MSG END '---------------------------------------- ' CHECK COMMAND LINE '---------------------------------------- DEF CHKLINE(M$) VAR I,L,N VAR C$,W$ M$=ERASELF$(M$) '???P???$ '--- LOOP '--- GET WORD W$="":M$=SKIPSPC$(M$):L=LEN(M$) WHILE L>0 C$=LEFT$(M$,1) IF C$==" " THEN BREAK W$=W$+C$:DEC L M$=RIGHT$(M$,L) WEND IF W$=="" THEN BREAK IF LEFT$(M$,1)=="," THEN M$=RIGHT$(...) '[/line 871] '[...] ENDLOOP END
if ? doesn't still exist I'm quitting SB forever. It seems there are multiple text layers or something, since TPRINT, CLS, and LOCATE all take an extra argument. I bet PRINT still exists and TPRINT is just a version that uses the "layer" argument.Not sure if you're joking or not; I just don't see you leaving for something like that :p PRINT is still there, in one of the tutorial screenshots. Don't see why they would take away ? either. It may well be as you said, probably a simpler command to allow text on even graphic pages, without having to use PRINT and GPUTCHR separately. TPRINT #WIN,"おしえて欲しいことを選んでください" prints out the title of the window in the lesson list screenshot. And Y_ack you're too amazing. I can't make out that many lines of code even if I squint.
Named sprite variables!
Also there's a TYPEOF function but I'm not sure how it works. (Wouldn't it just throw an error if you try to assign something other than a string to N$?)
And Y_ack you're too amazing. I can't make out that many lines of code even if I squint.You just have to adjust the brightness/contrast and look at different screenshots to see the missing parts:
Edit: If you missed it in the GUIDE.PRG listing above, MAINCNT() is now a builtin function.
Named sprite variables! Also there's a TYPEOF function but I'm not sure how it worksAlso SPLAYER (not in pcmini version), the possibility that the OSK is an SB program, the suggestion that programs might be able to run on different layers (if you believe the prior assumption), and, if you're of the "all the constants shown are just expanded builtins" camp, builtin constants for UI and keyboard sprite IDs (the alternative being a better example of user-defined constants). in this screenshot there's also file paths of the format "#S/GUIDE/[PLG]\d\d.TXT", which reminds me that since this is based on pasocom mini/pistarter version, multilevel directory structures should be possible.
And Y_ack you're too amazing. I can't make out that many lines of code even if I squint.Ehehe~
The distribution system is via public keys as usual, indeed.
SB still needs to do self-policing, and monitoring public keys is the easiest method.
If they don't catch naughty people uploading naughty programs, Nintendo will do the heavy-handed policing for them, i.e. taking SB off eshop. That would be bad.