LoginLogin

Nintendo Switch Discussion

Root / General / [.]

PerskaCreated:
despacidont

Why did Nintendont do this?!?!
Evil
despacidont
I guess that's fine

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=21
I wonder if they'll advertise more after

Release date for SB4 will be announced in the winter. https://twitter.com/notohoho/status/1065588791878942720?s=21
Okey!

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...

Noticed that PRINT has been renamed TPRINT. Are they trying to group more commands into "namespaces"? Either that or this is a different command entirely.

What I found interesting about the new screenshots is that they seem to imply that either or both 1) The editor is written in SmileBASIC 2) The screen can be split between the editor and a running program, not just multiple editor frames

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.

I always found it strange that the SB editor seemed to be written in SB. I wonder why they do that.

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 works
Also 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~

I can't help but speculate about SB4's builtin program sharing platform. With all the features they're showing off, it's pretty much guaranteed to be more than a key-based system... right?

Why would that be? What do the features shown have to do with the distribution system? The early top menu "screenshots" show otherwise, anyway.

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.

Besides, it was already confirmed that SB4 and SB3 were sharing the same server.

Darn.