• Welcome to Dark Bit Factory & Gravity.
 

Texture mapped binary font

Started by ninogenio, May 28, 2007

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ninogenio

heres a little experiment of mine from this afternoon.

probably not the best texture but it looks ok.

i might expand my font to 16*16 to allow for more detailed texures.


defint a-z

#include "tinyptc.bi"
#include "crt.bi"

const ScrWidth = 640
const ScrHeight = 480
const ScrSize = ScrWidth*ScrHeight

Declare     Sub         ClsBuffer      ()
Declare     Sub         FlipBuffers    ()
declare     Sub         DrawPixel      ( ScreenAddy() , byval x as integer, byval y as integer ,byval col as integer)
declare     Sub         DrawChar       ( ScreenAddy() , byval lft as integer, byval top as integer, byval letter as string, byval col as integer , byval text_size as integer )
declare     Sub         NinosPrint     ( ScreenAddy() , byval lft as integer , byval top as integer, byval stri as string, byval col as integer , byval text_size as integer , byval right_clip as integer)

Dim Shared Buffer( 0 to ScrSize-1 ) as integer
Dim Shared Font(0 to 5952) as Integer
Dim Shared Texture(8*8) As Uinteger
Dim Shared As String Message


ptc_open( "freeBASIC v0.01 - tinyPTC test", ScrWidth, ScrHeight )

Restore FontTexture
For X = 0 To 8*8
          Read Texture(X)
Next

Restore BinFontSet
For X = 0 To 5952
          Read Font(X)
Next

Message = "ABCDEF NINOGENIO TEST"


Do

   NinosPrint( Buffer() , 10 , 10 , Message , Rgb( 255 , 255 , 0 ) , 32 , ScrWidth )

   FlipBuffers()
   ClsBuffer()

Loop While Inkey$<>Chr(27)

Ptc_Close



Sub flipbuffers()
        ptc_update @buffer(0)
End Sub



Sub ClsBuffer()
        MemSet( @Buffer(0) , 0 , ScrSize*SizeOf(Integer) )
End Sub



Sub drawpixel( ScreenAddy() , Byval X As Integer, byval Y As Integer, byval Col As Integer)
        ScreenAddy(Y*ScrWidth+X) = Col
End Sub



Sub NinosPrint( ScreenAddy() , byval lft as integer , byval top as integer, byval stri as string, byval col as integer , byval text_size as integer , byval right_clip as integer)
         dim as zstring ptr temp
         dim posi as integer
         dim str_pos as integer
         temp = allocate( len(stri) )
         *temp = stri
         str_pos=0

         do

               drawchar( ScreenAddy() , lft + posi , top, temp[str_pos] , col , text_size )
               str_pos += 1
               posi += text_size
               if posi > right_clip - ( text_size * 4 ) then
                             posi = 0
                             top = top + (text_size+3)
               endif
         loop until ( str_pos = len(stri) )

         deallocate ( temp )

End Sub



Sub drawchar(ScreenAddy() , byval lft as integer, byval top as integer , byval letter as string , byval col as integer , byval text_size as integer )

              dim x as integer , y as integer
              dim drw as integer

              for y = 0 to 7
                      y_pos = y_pos+1
                      x_pos = text_size / 8
                      my_x_pos = lft
                      for x = 0 to 7

                                drw = font( (asc(letter)-32) * 64 +  y * 8  + x)
                                if (drw) = 1 then
                                         for pixe_x = my_x_pos to my_x_pos+x_pos
                                                    DrawPixel ScreenAddy() , pixe_x , top + y_pos, Texture(8*Y+X)
                                         next
                                endif
                                my_x_pos += x_pos
                      next
              next

End Sub



FontTexture:
data &h00FF8282,&h00FF7272,&h00FF6A6A,&h00FF6464,&h00FF6060,&h00FF5B5B,&h00FF5454,&h007A2121
data &h00FF7070,&h00FF8080,&h00FF7B7B,&h00FF6D6D,&h00FF5D5D,&h00FF4646,&h008E2626,&h00FBABAB
data &h00FF6A6A,&h00FF7B7B,&h00FF8282,&h00FF7575,&h00FF5353,&h00812323,&h00FBABAB,&h00FBABAB
data &h00FF6464,&h00FF6C6C,&h00FF7575,&h00FF7878,&h00BC3333,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF6060,&h00FF5D5D,&h00FF5353,&h00BC3333,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF5B5B,&h00FF4646,&h00812323,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF5656,&h009D2A2A,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h007F2222,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB



BinFontSet:
'32 space
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'33 !
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
'34 "
data 0,0,0,0,0,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,1,1,0,0
data 0,0,1,0,0,1,0,0
data 0,0,1,0,0,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'35 #
data 0,0,0,0,0,0,0,0
data 0,0,1,0,0,1,0,0
data 0,1,1,1,1,1,1,0
data 0,0,1,0,0,1,0,0
data 0,0,1,0,0,1,0,0
data 0,1,1,1,1,1,1,0
data 0,0,1,0,0,1,0,0
data 0,0,0,0,0,0,0,0
' $ 36
data 0,0,0,1,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,1,0,1,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,1,0,1,0,0
data 0,1,1,1,1,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' % 37
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,1,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,1,0,1,1,0,0
data 0,1,0,0,1,1,0,0
data 0,0,0,0,0,0,0,0
' & 38
data 0,0,0,0,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,1,0,0,0,0
data 0,1,0,0,1,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
' ' 39
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,0,0,0
data 0,0,0,0,1,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' ( 40
data 0,0,0,0,0,0,1,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,0,1,0
' ) 41
data 0,1,0,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,1,0,0,0,0,0,0
' * 42
data 0,0,0,0,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,1,0,1,0,1,0,0
data 0,0,1,1,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,0,0,0,0,0,0,0
' + 43
data 0,0,0,0,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,0,0,0,0
' , 44
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,0,0,0,0,0
' - 45
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' . 46
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' / 47
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,0,0,0,0,0,0
' 0 48
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,1,0,1,0
data 0,1,1,1,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 1 49
data 0,0,0,0,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
' 2 50
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,0,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,1,1,1,1,0
' 3 51
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,0,1,0
data 0,0,0,0,0,0,1,0
data 0,0,0,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 4 52
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,1,0,0
data 0,0,1,1,0,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
' 5 53
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 6 54
data 0,0,0,1,1,1,1,0
data 0,0,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 7 55
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
' 8 56
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 9 57
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,0,1,1,0
' : 58
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' ; 59
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' < 60
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
' = 61
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' > 62
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
' ? 63
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' @ 64
data 0,0,0,0,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,1,0,1,1,0,0,0
data 0,1,0,1,1,0,0,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' A 65
data 0,0,1,1,1,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,0,1,0,0
' B 66
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,1,1,1,0,0
' C 67
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' D 68
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,0,0
' E 69
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' F 70
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' G 71
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' H 72
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' I 73
data 0,0,1,1,1,1,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
' J 74
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,1,0,0,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,1,1,1,0,0,0
' K 75
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,1,1,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
' L 76
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' M 77
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,1,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' N 78
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,0,0,1,0
data 0,1,1,1,1,0,1,0
data 0,1,1,0,1,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' O 79
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' P 80
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' Q 81
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,1
' R 82
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,0,1,1,0
' S 83
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' T 84
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' U 85
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' V 86
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,0,1,0,0
data 0,0,1,1,0,1,0,0
data 0,0,1,1,0,1,0,0
data 0,0,0,1,1,0,0,0
' 1 87
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,1,1,0,1
data 0,0,1,1,0,0,1,0
data 0,0,1,1,0,0,1,0
data 0,0,1,1,0,0,1,0
' X 88
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,0,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' Y 89
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' Z 90
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' [ 91
data 0,0,0,0,1,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,1,0
' \ 92
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
' ] 93
data 0,1,1,1,0,0,0,0
data 0,1,1,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,1,1,1,0,0,0,0


exe.
Challenge Trophies Won:

rain_storm

excellent I think it wouldnt be too much extra work to make the highlights move accross the font if you use an offset for the start of the texture and wrap around for each poly thats out of bounds that would be a nice touch if you wanted a metallic finish

Challenge Trophies Won:

ninogenio

cool im intrested rain cool you explain a bit further or mabey give a little example.

cheers mate ;)
Challenge Trophies Won:

rain_storm


defint a-z

#include "tinyptc.bi"
#include "crt.bi"

const ScrWidth = 640
const ScrHeight = 480
const ScrSize = ScrWidth*ScrHeight

Declare     Sub         ClsBuffer      ()
Declare     Sub         FlipBuffers    ()
declare     Sub         DrawPixel      ( ScreenAddy() , byval x as integer, byval y as integer ,byval col as integer)
declare     Sub         DrawChar       ( ScreenAddy() , byval lft as integer, byval top as integer, byval letter as string, byval col as integer , byval text_size as integer )
declare     Sub         NinosPrint     ( ScreenAddy() , byval lft as integer , byval top as integer, byval stri as string, byval col as integer , byval text_size as integer , byval right_clip as integer)

Dim Shared Buffer( 0 to ScrSize-1 ) as integer
Dim Shared Font(0 to 5952) as Integer
Dim Shared Texture(8*8) As Uinteger
Dim Shared As String Message


ptc_open( "freeBASIC v0.01 - tinyPTC test", ScrWidth, ScrHeight )

Restore FontTexture
For X = 0 To 8*8
          Read Texture(X)
Next

Restore BinFontSet
For X = 0 To 5952
          Read Font(X)
Next

Message = "ABCDEF NINOGENIO TEST"


dim shared as integer scroll, scrollcolour
Do

    scroll = scroll + 1
    if (scroll > 8) then scroll = scroll - 8
   NinosPrint( Buffer() , 10 , 10 , Message , Rgb( 255 , 255 , 0 ) , 32 , ScrWidth )

   FlipBuffers()
   ClsBuffer()

Loop While Inkey$<>Chr(27)

Ptc_Close



Sub flipbuffers()
        ptc_update @buffer(0)
End Sub



Sub ClsBuffer()
        MemSet( @Buffer(0) , 0 , ScrSize*SizeOf(Integer) )
End Sub



Sub drawpixel( ScreenAddy() , Byval X As Integer, byval Y As Integer, byval Col As Integer)
        ScreenAddy(Y*ScrWidth+X) = Col
End Sub



Sub NinosPrint( ScreenAddy() , byval lft as integer , byval top as integer, byval stri as string, byval col as integer , byval text_size as integer , byval right_clip as integer)
         dim as zstring ptr temp
         dim posi as integer
         dim str_pos as integer
         temp = allocate( len(stri) )
         *temp = stri
         str_pos=0

         do

               drawchar( ScreenAddy() , lft + posi , top, temp[str_pos] , col , text_size )
               str_pos += 1
               posi += text_size
               if posi > right_clip - ( text_size * 4 ) then
                             posi = 0
                             top = top + (text_size+3)
               endif
         loop until ( str_pos = len(stri) )

         deallocate ( temp )

End Sub



Sub drawchar(ScreenAddy() , byval lft as integer, byval top as integer , byval letter as string , byval col as integer , byval text_size as integer )

              dim x as integer , y as integer
              dim drw as integer
              for y = 0 to 7
                      y_pos = y_pos+1
                      x_pos = text_size / 8
                      my_x_pos = lft
                      for x = 0 to 7

                                drw = font( (asc(letter)-32) * 64 +  y * 8  + x)
                                if (drw) = 1 then
                                         for pixe_x = my_x_pos to my_x_pos+x_pos
                                                    scrollcolour = X + scroll
                                                    if (scrollcolour > 8) then scrollcolour = scrollcolour - 8
                                                    scrollcolour = 8*Y+scrollcolour
                                                    DrawPixel ScreenAddy() , pixe_x , top + y_pos, Texture(scrollcolour)
                                         next
                                endif
                                my_x_pos += x_pos
                      next
              next

End Sub



FontTexture:
data &h00FF8282,&h00FF7272,&h00FF6A6A,&h00FF6464,&h00FF6060,&h00FF5B5B,&h00FF5454,&h007A2121
data &h00FF7070,&h00FF8080,&h00FF7B7B,&h00FF6D6D,&h00FF5D5D,&h00FF4646,&h008E2626,&h00FBABAB
data &h00FF6A6A,&h00FF7B7B,&h00FF8282,&h00FF7575,&h00FF5353,&h00812323,&h00FBABAB,&h00FBABAB
data &h00FF6464,&h00FF6C6C,&h00FF7575,&h00FF7878,&h00BC3333,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF6060,&h00FF5D5D,&h00FF5353,&h00BC3333,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF5B5B,&h00FF4646,&h00812323,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h00FF5656,&h009D2A2A,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB
data &h007F2222,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB,&h00FBABAB



BinFontSet:
'32 space
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'33 !
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
'34 "
data 0,0,0,0,0,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,1,1,0,0
data 0,0,1,0,0,1,0,0
data 0,0,1,0,0,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'35 #
data 0,0,0,0,0,0,0,0
data 0,0,1,0,0,1,0,0
data 0,1,1,1,1,1,1,0
data 0,0,1,0,0,1,0,0
data 0,0,1,0,0,1,0,0
data 0,1,1,1,1,1,1,0
data 0,0,1,0,0,1,0,0
data 0,0,0,0,0,0,0,0
' $ 36
data 0,0,0,1,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,1,0,1,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,1,0,1,0,0
data 0,1,1,1,1,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' % 37
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,1,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,1,0,1,1,0,0
data 0,1,0,0,1,1,0,0
data 0,0,0,0,0,0,0,0
' & 38
data 0,0,0,0,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,1,0,0,0,0
data 0,1,0,0,1,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
' ' 39
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,0,0,0
data 0,0,0,0,1,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' ( 40
data 0,0,0,0,0,0,1,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,1,0,0
data 0,0,0,0,0,0,1,0
' ) 41
data 0,1,0,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,0,1,0,0,0,0,0
data 0,1,0,0,0,0,0,0
' * 42
data 0,0,0,0,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,1,0,1,0,1,0,0
data 0,0,1,1,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,0,0,0,0,0,0,0
' + 43
data 0,0,0,0,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,0,0,0,0
' , 44
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,0,0,0,0,0
' - 45
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' . 46
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' / 47
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,0,0,0,0,0,0
' 0 48
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,1,0,1,0
data 0,1,1,1,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 1 49
data 0,0,0,0,1,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
' 2 50
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,0,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,1,1,1,1,0
' 3 51
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,0,1,0
data 0,0,0,0,0,0,1,0
data 0,0,0,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 4 52
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,1,0,0
data 0,0,1,1,0,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
' 5 53
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 6 54
data 0,0,0,1,1,1,1,0
data 0,0,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 7 55
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
' 8 56
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' 9 57
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,0,1,1,0
' : 58
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
' ; 59
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' < 60
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
' = 61
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' > 62
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
' ? 63
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' @ 64
data 0,0,0,0,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,1,0,0,0,1,0,0
data 0,1,0,1,1,0,0,0
data 0,1,0,1,1,0,0,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' A 65
data 0,0,1,1,1,0,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,0,0
data 0,1,1,0,0,1,0,0
' B 66
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,1,1,1,0,0
' C 67
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' D 68
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,0,0
' E 69
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' F 70
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' G 71
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' H 72
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' I 73
data 0,0,1,1,1,1,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
' J 74
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,1,0,0,1,1,0,0
data 0,1,1,1,1,1,0,0
data 0,0,1,1,1,0,0,0
' K 75
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,1,1,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
' L 76
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' M 77
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,1,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' N 78
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,0,0,1,0
data 0,1,1,1,1,0,1,0
data 0,1,1,0,1,1,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' O 79
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' P 80
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,1,1,1,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' Q 81
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,1
' R 82
data 0,1,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,1,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,0,1,1,0
' S 83
data 0,0,1,1,1,1,0,0
data 0,1,1,1,1,1,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,1,0
data 0,1,0,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' T 84
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' U 85
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
' V 86
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,0,1,0,0
data 0,0,1,1,0,1,0,0
data 0,0,1,1,0,1,0,0
data 0,0,0,1,1,0,0,0
' 1 87
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,0,0,0,1
data 0,1,1,0,1,1,0,1
data 0,0,1,1,0,0,1,0
data 0,0,1,1,0,0,1,0
data 0,0,1,1,0,0,1,0
' X 88
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,0,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,1,0,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
' Y 89
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,1,1,0,0,0,1,0
data 0,0,1,1,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
' Z 90
data 0,1,1,1,1,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,1,1,0
' [ 91
data 0,0,0,0,1,1,1,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,1,0
' \ 92
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
' ] 93
data 0,1,1,1,0,0,0,0
data 0,1,1,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,0,0,1,0,0,0,0
data 0,1,1,1,0,0,0,0


The things I changed were ...

dim shared as integer scroll, scrollcolour
Do

    scroll = scroll + 1
    if (scroll > 8) then scroll = scroll - 8
   NinosPrint( Buffer() , 10 , 10 , Message , Rgb( 255 , 255 , 0 ) , 32 , ScrWidth )

   FlipBuffers()
   ClsBuffer()

Loop While Inkey$<>Chr(27)

Ptc_Close


and ...


Sub drawchar(ScreenAddy() , byval lft as integer, byval top as integer , byval letter as string , byval col as integer , byval text_size as integer )

              dim x as integer , y as integer
              dim drw as integer
              for y = 0 to 7
                      y_pos = y_pos+1
                      x_pos = text_size / 8
                      my_x_pos = lft
                      for x = 0 to 7

                                drw = font( (asc(letter)-32) * 64 +  y * 8  + x)
                                if (drw) = 1 then
                                         for pixe_x = my_x_pos to my_x_pos+x_pos
                                                    scrollcolour = X + scroll
                                                    if (scrollcolour > 8) then scrollcolour = scrollcolour - 8
                                                    scrollcolour = 8*Y+scrollcolour
                                                    DrawPixel ScreenAddy() , pixe_x , top + y_pos, Texture(scrollcolour)
                                         next
                                endif
                                my_x_pos += x_pos
                      next
              next

End Sub


Its really rushed and it could be improved apon alot but it does demonstrate what I was thinking of

Challenge Trophies Won:

Shockwave

Textured font idea works well Nino and Rain :)

I think that Rainstorms version would look better on a bigger font.
Shockwave ^ Codigos
Challenge Trophies Won:

ninogenio

thats cool rain! k+

i changed a couple of lines that made the effect a bit better and it looks pretty cool!

dim shared as double scroll, scrollcolour

and

scroll = scroll + 0.09

and i think im going to make the letters 16*16 for more detail.
Challenge Trophies Won:

rain_storm


Challenge Trophies Won:

DrewPee

Holy crap! I've been away toooooo long! This is some serious cool shit going on here!

very very nice work both to you nino and to you rain!!!

on a larger font it would look like the mutts nuts!!!

Drew  :clap:
DrewPee
aka Falcon of The Lost Boyz (Amiga)
Ex-Amiga Coder and Graphic Designer
Administrator of > www.retrocomputermuseum.co.uk

ninogenio

cheers drew!

im working on something with this i will post up the results soon!
Challenge Trophies Won:

ninogenio

#9
here is where this is at now its not really a binary font anymore but still very usable.

its based on this.

http://dbfinteractive.com/index.php?topic=1966.0
Challenge Trophies Won:

DrewPee

Superb Nino! very nice looking font!
We okay to use . . . ?

Drew
DrewPee
aka Falcon of The Lost Boyz (Amiga)
Ex-Amiga Coder and Graphic Designer
Administrator of > www.retrocomputermuseum.co.uk

Shockwave

Shockwave ^ Codigos
Challenge Trophies Won:

slippy

I'm afraid - this one doesn't work under my Vista installation :(

SLiPPY

Jim

Problems here too.  It just crashes after setting the screen mode.

The bug is here

        Temp = Allocate( Len(Stri) )

it should be

        Temp = Allocate( Len(Stri)+1 )

because when you are dealing with zstring, the string has a zero byte added on the end.  So Len("banana") is 6, but it contains 7 characters.

Jim
Challenge Trophies Won:

ninogenio

ahh i was unshure about that cheers jim! i thought it would have been fine as it worked here.

cheers everyone else and @drew and others any source i put up is for you guys too use as you like, i would like it if you give jim credit here though as i used his system font to bmp tool for font creation.
Challenge Trophies Won:

Shockwave

Shockwave ^ Codigos
Challenge Trophies Won:

ninogenio

ohh very cool!

im just in the middle of doing something with this but for sure ill use that font and we will see how it looks  ;)
Challenge Trophies Won:

ninogenio

Right here is where its at now ive sort of turned it into an engine that you can plug multiple font sets into also you can ad sinwaves with diffrent properties.

next update should include a much more speed optimized version plus the texture mapping will be back in there and im going to test shockwaves excellent font out with it.
Challenge Trophies Won:

ninogenio

Final update on this as its at the point where im gonna start yousing it on demos its pretty fast now using pointers almost everywhere the texture stuff is back in there now also shockwaves font is there too *looks the nuts btw*

Challenge Trophies Won:

Shockwave

Very good stuff Nino, K+

Loved the system fonts too! Even proportional fonts. Nice work mate.
Shockwave ^ Codigos
Challenge Trophies Won: