MATRIX THEME Screensaver

Blitz3D Forums/Blitz3D Programming/MATRIX THEME Screensaver

Filax(Posted 2003) [#1]


http://perso.wanadoo.fr/blitz3dfr/mesprojets/matrixsaver.zip

Put the SCR in Windows/System or System32 and activate it with control pannel


Anthony Flack(Posted 2003) [#2]
It's the Matrix running on a Japanese OS


Filax(Posted 2003) [#3]
The glyph in the movie are japanese Kanji :)


Koriolis(Posted 2003) [#4]
mmm, I get a nice "Unable to set graphics mode". Renaming it to Matrix.exe make it work, but only shows a message saying to press 'esc'...which exits the app.


Filax(Posted 2003) [#5]
the screen refer the desktop size and depth ... may be the pb ?

I have test with three different pc (PII 600, PIII 600, P4) and whith some different GFX Card (Matrox G400, GEForce II, ATI Rage etc ...) there is no pb !


Anthony Flack(Posted 2003) [#6]
Them be yer katakana, not yer kanji ;o)

I guess that the Matrix DOES run on a japanese OS then. Must make it harder for poor old neo-geo to get his head round...


Filax(Posted 2003) [#7]
if you want ;)


darklordz(Posted 2003) [#8]
Get an error, First with an Scr Extention i get the cannot set gfx mode. And when i rename to Exe still get n error...


yinch(Posted 2003) [#9]
For those of you can't run it - try this instead
Graphics 640,480
Dim fo(3)
Dim xp(200)
Dim col(3)
Dim occupied(200)
SeedRnd MilliSecs() 
For f = 0 To 3
	sz = 10 + (f*2)
	fo(f) = LoadFont("Arial", sz, True, False, False)
	
	SetFont fo(f)
	Text 10,f*10, "M"

Next

col(0) = 8
col(1) = 6
col(2) = 4
col(3) = 2

t = Rand(100,400)
gGH = GraphicsHeight()
gGW = GraphicsWidth()

pid = 0

colcount = gGW / 10

For p = 0 To colcount
	occupied(p) = 0
Next


For p = 0 To colcount
	Repeat
		pid = Rand(0, colcount)
		xp(p) = pid * 12
	Until (occupied(pid) = 0)
	occupied(pid) = 1
Next

startMS = MilliSecs()
SetBuffer BackBuffer()

While Not KeyHit(1)
	Cls
	t = t + 1
	xi = 0
	For fi = 0 To 3
		x = 65 * fi
		Gmax = 127 + 128 * (fi / 3.0)
		SetFont fo(fi)
		stp = 8 + (fi * 2)
		
		For i = 0 To col(fi)
			ti = t / (1+i)
			x = xp(xi)
			b0 = ((t / (i+40)) ) + x
			b1 = ((t / (i+57)) ) + x*3
			G = GMax + (-(8 * t / ((xi Mod 3) + 1)) Mod Gmax)
			For c = 0 To (gGH / stp)
				G = (G + 7) Mod GMax
				If (G > (GMax - 8)) Then
					 R = G / 2
					 B = G / 2
				Else
					R = G / 4
					B = R
				End If
				Color R,G,B
				y = (c * stp) - (ti Mod stp)
				c0 = 33 + (b0 + (c * (1 + fi))) Mod (90-c)
				c1 = 33 + (b1 + (c * (1 + fi))) Mod (33)
				Text x, y, Chr(c0)
				Text x, y, Chr(c1)
				
			Next
			xi = xi + 1
		Next
	Next

	Flip()

Wend



Filax(Posted 2003) [#10]
I have modify some stuff ... if you want to retry ?


jhocking(Posted 2003) [#11]
Hey, that's pretty damn cool. Although it is weird the way the lines of text keep jumping around.


Filax(Posted 2003) [#12]
thx :)


mrtricks(Posted 2003) [#13]
dl'ing now. Hope there's no spoilers :)


Koriolis(Posted 2003) [#14]
It works now. Pretty cool.


Filax(Posted 2003) [#15]
the bug is the :

Global DesktopWidth = User32_GetSystemMetrics(0)
Global DesktopHeight = User32_GetSystemMetrics(1)
Global DesktopDepth = User32_GetSystemMetrics(3) ????? not correct ! return random value ! not the screendepth value

anybody have an idea for check the desktop bit depth ?


jhocking(Posted 2003) [#16]
"thx :)"
Heh, I meant yinch's code. I can't get yours to work.


Floyd(Posted 2003) [#17]

anybody have an idea for check the desktop bit depth ?


How about this?
; My desktop is set at 32-bit depth. 
; This program displays 32, 16, 32.

d1 = GraphicsDepth()

Graphics 640, 480, 16, 1
d2 = GraphicsDepth()

EndGraphics 
d3 = GraphicsDepth()

Print d1 + ", " + d2 + ", " + d3

WaitKey  :  End



Filax(Posted 2003) [#18]
Cool :) i like it ! it work :)

Thx :)


Hotcakes(Posted 2003) [#19]
Hey, there is a Matrix font available with the 40 characters used in the first movie... But you need to hunt for it...

www.sourceforge.net
Search for 'ZMatrix' - at the time of writing it appears in the 'most active' list on the left hand side...

Just in case anyone would like to see it/them... I'd upload just the font to a webspace somewhere but my webserver is bolloxed atm <grumbles>


Filax(Posted 2003) [#20]
i don't find ?

can you post un link ?


darklordz(Posted 2003) [#21]
Filax it works now and it looks great!


Filax(Posted 2003) [#22]
Thanks :)


jhocking(Posted 2003) [#23]
It's still not working for me. Note that the problem isn't bit depth; when I try to run it I get a Memory Access Violation.


Filax(Posted 2003) [#24]
strange .... :( i don't know why !

what is your configuration please ?


MilkyBarKid(Posted 2003) [#25]
any chance you can make one where the text that is in the top left of the screen fades out, a big bit of static text in the corner kinda defeats the object of a screen saver!


Anthony Flack(Posted 2003) [#26]
Oh and by the way, the Werchonskcherly brothers have said that if you don't install the screensaver, you won't get the full plot of the movies, so get into it!


Hotcakes(Posted 2003) [#27]
They've said the same thing about Animatrix and Enter the Matrix, too ;]

filax, the font link (my homespace is working again, lucky you:) :

http://homepages.ihug.com.au/~tzuyd/Matrix Code Font.ttf

and words from the author of said font :

*snip=======================================================

e-RBi (e-rbi.com)
contact@...
------------------------------------------------------------

Product Name: Matrix Code Font
Licence Type: Freeware
Platform O/S: Windows/Mac

------------------------------------------------------------

Additional Product Information:

This is a true type font which works mainly for windows but I believe can also work on Mac. These Matrix Code Symbols are a direct code of the one from the film The Matrix, there are not enough symbols to fill every charactor like a normal font, and so the operational ones are as follows:
1234567890ABCDEFGHIJKLMNOPQRSUTVWXYZabcd

------------------------------------------------------------

This product is freeware, feel free to distribute.

------------------------------------------------------------

*snip=======================================================

Hope you find it useful. =]


Filax(Posted 2003) [#28]
lol :)