ok if u remove the display command most of it is hard coded ont he screen in a certain spot.
this means that when u remove the original display setting it reverts back to 640 x 480 and u will notice only the tip of the title showing.
You will have to adjust its location on the screen to see it all in another smaller resolution.
Sync On :Sync Rate 0 :Hide Mouse
Dim String$(2)
Dim StrReal$(50)
Text$="Welcome to the demo program. Press space to jump to the end of the current message, if you don't want to see it typed out. Then press space to end the message when you are done reading it. It should be very easy to use."
Sign(Text$,"Magellan - ",1)
Cls
Text$="All you have to do is call the Sign function. It takes 3 parameters. Text$ is the content of the message, Caption$ is the caption of the message (Magellan, in this case) and arrow is whether or not to have that snazzy little arrow."
Sign(Text$,"Magellan - ",1)
Cls
Text$="You can have a caption, but you don't have to. If you don't want to, just put an empty string (A "", NOT a " "). The update funciton will be called while the menu is going. This way, things can still happen while the dialog is up."
Sign(Text$,"Magellan - ",0)
End
Function Update()
Endfunction
Function Sign(Text$,Caption$,Arrow)
T=Wrap(296,Text$)
Inc T
If Caption$<>""
Ink RGB(100,100,100),0
Box 399-150,600-T*16-20,(401+Text Width(Caption$))+5-150,600-T*16
Ink 0,0
LineBox(401-150,602-T*16-20,(399+Text Width(Caption$))+5-150,602-T*16)
Endif
If Arrow=1
INk RGB(100,100,100),0
Box 401+150,600-20,401+150+Text Width("-->")+5,598
Ink 0,0
LineBox(403+150,600-18,399+150+Text Width("-->")+5,596)
Write(403+150+2,600-19,"-->",0)
Endif
Ink RGB(100,100,100),0
Box 399-150,600-T*16,401+150,598
Ink 0,0
LineBox(401-150,602-T*16,399+150,596)
If Caption$<>"" then Write(400-147,(600-T*16-20)+2,Caption$,0)
Test=0
Y=0
For I=0 to T-2
String$=StrReal$(I)
Test=Write(400-147,((604-T*16)+I*16+2),String$,Test)
Next I
If Spacekey()=1 then Spac=1
Repeat
If Spacekey()=0 then Spac=0
Update()
Sync
Until Spacekey()=1 and Spac=0
Spac=1
Endfunction
Function LineBox(X1,Y1,X2,Y2)
Line X1,Y1,X2,Y1
Line X2,Y1,X2,Y2
Line X1,Y1,X1,Y2
Line X1,Y2,X2,Y2
Endfunction
Function Write(X,Y,String$,Test)
I=0
Repeat
If Test=1 then I=Len(String$)-1
If Spacekey()=1 and Spac=0 then I=Len(String$)-1 : Spac=1 : Test=1
If Spacekey()=0 then Spac=0
Inc I
Ink 0,0
Text X+1,Y+1,Left$(String$,I)
Text X-1,Y-1,Left$(String$,I)
Text X+1,Y-1,Left$(String$,I)
Text X-1,Y+1,Left$(String$,I)
Ink RGB(255,255,255),0
Text X,Y,Left$(String$,I)
Sync
Until I=Len(String$)
Endfunction Test
Function Wrap(Length,String$)
I=0
StrReal$(I)=String$
Repeat
Q=WordWrap(Length,StrReal$(I))
StrReal$(I)=String$(1)
StrReal$(I+1)=String$(2)
Inc I
Until Q=1
Endfunction I
Function WordWrap(Length,StringTest$)
If Text Width(StringTest$) < Length
Q=1
String$(1)=StringTest$
ExitFunction Q
Endif
For I=0 to Len(StringTest$)
Test$=Left$(StringTest$,I)
String$(1)=Test$
If Text Width(String$(1)) > Length
II=I
Ttt=0
Repeat
String$(1)=Left$(StringTest$,I)
Dec I
If (II-I)>5 and Mid$(StringTest$,I+1)<>" " then Ttt=1
Until Mid$(StringTest$,I+1)=" " or Ttt=1
`If Ttt=1 then String$(1)=String$(1)+"--"
If Ttt=1 then String$(1)=Left$(StringTest$,I+3)+"-"
Inc I
Test$=Right$(StringTest$,(Len(StringTest$)-(I)))
If Ttt=1 then Test$=Right$(StringTest$,(Len(StringTest$)-(I+2)))
String$(2)=Test$
Exit
Endif
Next I
Q=2
Endfunction Q