Dark Bit Factory & Gravity
PROGRAMMING => Freebasic => Topic started by: ninogenio on May 28, 2007
-
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.
-
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
-
cool im intrested rain cool you explain a bit further or mabey give a little example.
cheers mate ;)
-
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
-
Textured font idea works well Nino and Rain :)
I think that Rainstorms version would look better on a bigger font.
-
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.
-
Sweet :D
-
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:
-
cheers drew!
im working on something with this i will post up the results soon!
-
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
-
Superb Nino! very nice looking font!
We okay to use . . . ?
Drew
-
Excellent work! :)
-
I'm afraid - this one doesn't work under my Vista installation :(
SLiPPY
-
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
-
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.
-
Let's see it on a bigger font :)
Like this one :) (http://dbfinteractive.com/index.php?topic=2000.0)
-
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 ;)
-
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.
-
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*
-
Very good stuff Nino, K+
Loved the system fonts too! Even proportional fonts. Nice work mate.
-
cheers nick it means a lot!
ive been meaning to do something like this for a while just never got round to it until now.
it should give me the flexibility i need in my demos.
-
that's indeed very useful stuff dude ... thanks for sharing ... and - well - have some karma :)
cheers,
SLiPPY
-
cheers slippy! if anyone has any uses for this feel free to use in your own stuff!
-
Wow Nino - that sure is some cool shit!
Keep it up man! Thanks for sharing!
Drew :)
I second shockwave and slippy (or should that be third) . . . have some karma ;)