home *** CD-ROM | disk | FTP | other *** search
- ;----------------------------------------------------------------------------
- ; Copyright(C) 1996, The AEGiS Corporation
- ;----------------------------------------------------------------------------
- ;
- ; PROCEDURE PrintFade()
- ;
- ; This procedure writes a text in color 15 with a fading effect on every
- ; character
- ;----------------------------------------------------------------------------
- #lib
- Declare Procedure PrintFade(String Str)
- Declare Procedure PF_RemCursor()
- Declare Procedure PF_Synchronize()
- Boolean PF_NoRemCursor
- Boolean PF_NoSynchro
-
- ;----------------------------------------------------------------------------
- Procedure PrintFade(String Str)
- Integer v_int1, v_int2, v_int3
-
- For v_int1 = 1 to len(Str) ; for each character
- If (Mid(Str, v_int1, 1) = " ") Then ; if this is a space, no fade
- Print "@X0F "
- Continue
- Endif
- Print "@X08" + Mid(Str, v_int1, 1) ; print in color 8
- v_int2 = getX() ; backup position
- v_int3 = getY()
- PF_RemCursor() ; remove cursor
- Delay 1 ; wait one tick
- AnsiPos v_int2, v_int3 ; restore position
- Backup 1 ; move cursor back 1 char
- Print "@X07" + Mid(Str, v_int1, 1) ; print in color 7
- v_int2 = getX()
- v_int3 = getY()
- PF_RemCursor()
- Delay 1
- AnsiPos v_int2, v_int3
- Backup 1
- Print "@X0F" + Mid(Str, v_int1, 1) ; print in color 15
- v_int2 = getX()
- v_int3 = getY()
- PF_RemCursor()
- Delay 1
- PF_Synchronize() ; wait for other end
- AnsiPos v_int2, v_int3
- Next
-
- Color @X0F
-
- Endproc
-
- Procedure PF_RemCursor()
-
- If (!PF_NoRemCursor) Then
- AnsiPos 1,23
- Color 0
- Print " "
- Backup 1
- Endif
-
- EndProc
-
- Procedure PF_Synchronize()
-
- If (!PF_NoSynchro) Then
- While (Outbytes() > 0) Do
- EndWhile
- Endif
-
- EndProc
-