21
General chat / Re: Thread on Intro Inferno . . . re:- Pouet
« on: September 29, 2006 »
Whats the url?
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Incbin "macstartup.ogg"
Incbin "images/boot.png"
Incbin "images/blankboot.png"
Incbin "images/apple.png"
HideMouse()
Graphics 1024,768,32
SetColor 255,255,255
Local Counter:Int
While Not KeyHit(Key_Escape)
bootsequence()
Wend
Function BootSequence()
startup = LoadSound ("incbin::macstartup.ogg")
bootpic=LoadImage("images/boot.png")
blankboot=LoadImage("images/blankboot.png")
apple=LoadImage("images/apple.png")
...............
I assumed it was released 10 years ago but t's still maintained and is updated in August.
if it's just doing a straight scale of the image you can just use:don't forget to cls before and flip after
SetScale(2,2) ' double it
DrawImage image,x,y ' draw it
SetScale(1,1) ' go back to normal scale
http://www.kameli.net/fit/index.html
Ok, well it works with a cube no problem, I have attached an exe to this postVery nice indeed. Now the hard part, I must examine the code and learn!
' Version 2.0
' Februar 2001
' Made by Einar Wedoe
' Programtype: Novell server screensaver look-a-like
' Use arrow-keys to change speed and length of tail !
Import "bbtype.bmx"
Import "bbvkey.bmx"
AppTitle ="Novell screensaver"
Graphics 800,600,32 ' Sett Grphics mode
SetColor 255,0,0 ' Set Color
HideMouse()
Global x=400 ' Leader-dot-x-pos
Global y=300 ' Leader-dot-y-pos
Global direction=1 ' Direction variable
Global directiontmp=0 ' Temporary direction variable
Global round=10 ' How long between every change of direction ?
Global roundcount=0 ' Counter for the rounds
Global speed#=3 ' Speed
Global speedcount=1 ' Counter for speed
Global length=35 ' Initial tail-length
Global show=0 ' Variable for showing speed and length on screen
Global tailX[100+1] ' Tail x can be up to 1000 blocks long
Global tailY[100+1] ' Tail y can be up to 1000 blocks long
For a=1 To 100 ' Set the current tail off the screen
tailx(a)=-20
taily(a)=-20
Next
SeedRnd MilliSecs() ' Make random even more random
Global frametimer=CreateTimer(75) ' Set up timer to make everything run nice on all PC's
'----------------------------------------- MAIN -----------------------------
#start ' Mainloop
While Not VKeyHit(1) ' Loop until ESC is pressed
WaitTimer(frametimer) ' Wait....
Cls ' Clean up
novell() ' Do stuff
changespeedortail() ' Wanna change speed or/and tail ?
Flip ' Change buffer
Wend ' Next round please
End
'----------------------------------------- NOVELL ----------------------------
Function novell() ' Start the function to actually put something on the screen
speedcount=speedcount+1
If speed > speedcount Then Goto draw
Select direction ' Moving blocks about
Case 1
x=x-11
y=y-13
Case 2
y=y-13
Case 3
y=y-13
x=x+11
Case 4
x=x+11
Case 5
x=x+11
y=y+13
Case 6
y=y+13
Case 7
x=x-11
y=y+13
Case 8
x=x-11
End Select
speedcount=0
border ' Check if we hit the border
If direction=100 Then roundcount=round+1 ' If we did, do something about it !
directiontest ' Check if time for change of direction
For a=length To 1 Step-1 ' Move the x and y down the line
tailx(a+1)=tailx(a)
taily(a+1)=taily(a)
Next
tailx(1)=x ' Put x in the end of the line
taily(1)=y ' Put y in the end of the line
#draw
colordrop=255/length ' Find how much to drop color pr. rect
colortmp=0 ' Set color to 0
For a=length To 1 Step -1 ' Draw tail
SetColor colortmp,0,0 ' Set color for current rect
DrawRect tailx(a),taily(a),10,12 ' Draw current rect
colortmp=colortmp+colordrop ' Count up color
Next
End Function
'----------------------------------------- BORDER ----------------------
Function border() ' Set direction to 100 if border is reached
Select direction
Case 1
If x < 15 Or y < 5 Then direction=100
Case 2
If y < 5 Then direction=100
Case 3
If x > 780 Or y < 5 Then direction=100
Case 4
If x > 780 Then direction=100
Case 5
If x > 780 Or y > 585 Then direction=100
Case 6
If y > 585 Then direction=100
Case 7
If x < 15 Or y > 585 Then direction=100
Case 8
If x < 15 Then direction=100
End Select
End Function
'-----------------------------------------
Function directiontest() ' Find new direction if it's time
roundcount=roundcount+1
If roundcount > round Then ' Time for a change
directiontmp=direction ' Temporary store old direction
#findnewdirection direction=Rand(8) ' Find new direction
If direction=directiontmp Then Goto findnewdirection ' If it's the same then try again
border ' Check for border
If direction=100 Then Goto findnewdirection ' Bounce border
roundcount=0 ' Reset counter
round=Rand(20) ' Set new point for change of direction again
EndIf
End Function
'-----------------------------------------
Function changespeedortail() ' Change things
If VKeyDown(200) And length < 99 Then ' Add length of tail if arrow-up is pressed
length=length+1 ' All length by 1
tailx(length)=-20 ' Set new x-part of tail offscreen
taily(length)=-20 ' Set new x-part of tail offscreen
show=255 ' Set show variable to print to scren for 200 rasters
EndIf
If VKeyDown(208) And length > 5 Then ' Decrease length of tail if arrow down is pressed
length=length-1 ' Dec by 1
show=255 ' Set show variable to print to scren for 200 rasters
EndIf
If VKeyDown(203) And speed < 10 Then ' Add speed if arrow-right is pressed
speed=speed+0.05 ' Add speed by 0.05
show=255 ' Set show variable to print to scren for 200 rasters
EndIf
If VKeyDown(205) And speed > 1 Then ' Dec speed if arrow-left is pressed
speed=speed-0.05 ' Dec speed by 0.05
show=255 ' Set show variable to print to scren for 200 rasters
EndIf
show=show-1 ' Decrease show-variable
If show < 0 Then show=0 ' If show drops below zero keep it on zero
If show > 0 Then ' If show-variable is activated
SetColor show,0,0 ' Fade away text
DrawText "Length: "+length,0,0 ' Show length
DrawText "Speed: "+Int(10-speed+1),0,12 ' Show speed but since speed is oposite of normal recalculate it
EndIf
End Function
'-----------------------------------------
AppTitle "Soft Sine Scroller"
;-----------------------------------------------
; Version Beta 1
; May 2001
; Made by Einar Wedøe
; Programtype: Soft Sinus Scroller
;-----------------------------------------------
Graphics 800,600,16,1
Dim degree#(5) ; Dim up sinus-waves
Dim startdegree#(5) ; Start for sine on each frame
Dim count#(5) ; Dim up sinus-counters
Dim wavespeed#(5)
Global speed=2 ; Speed of scroller (max 5)
Global numberofsines=3 ; Number of sines to calculate y (max 5)
For a=1 To 5 ; Ranomize sinus
count#(a)=Rnd(-2,2)
wavespeed#(a)=Rnd(-2,2)
Next
Type softletter ; Type for each pixel of all letters
Field x,y ; X and Y pos
Field frame ; Wich frame ?
End Type
Global alphabet=LoadAnimImage("finalfont.png",1,27,0,690) ; Loadfont
Global widthcount=0 ; Count letterwith
Global currentletterwith=40 ; Holds letterwith
Global scrollcount=0 ; Pointer in scrolltext-string
Global scrolltext$="" ; The text to show
Global plotsy#=0 ; Y-pos
Global textavailible$="" ; Holder for availible letters
Global sinecount=10
Dim letteroffset(35) ; Offset in bitmap for each letter
Dim letterwidth(35) ; Width of each letter
SetBuffer BackBuffer()
Color 255,255,255
Gosub initscroller ; Put scrolltext in scrolltext$-string
For a=1 To 500 ; Fill screen with emty types
scrollcount=0
newletter ; to make sinuseslook right
wave
Next
AppTitle "Novell screensaver"
; Version 2.0
; Februar 2001
; Made by Einar Wedoe
; Programtype: Novell server screensaver look-a-like
; Use arrow-keys to change speed and length of tail !
Graphics 800,600,16,1 ; Sett Grphics mode
Color 255,0,0 ; Set Color
Global x=400 ; Leader-dot-x-pos
Global y=300 ; Leader-dot-y-pos
Global direction=1 ; Direction variable
Global directiontmp=0 ; Temporary direction variable
Global round=10 ; How long between every change of direction ?
Global roundcount=0 ; Counter for the rounds
Global speed#=3 ; Speed
Global speedcount=1 ; Counter for speed
Global length=35 ; Initial tail-length
Global show=0 ; Variable for showing speed and length on screen
Dim tailX(100) ; Tail x can be up to 1000 blocks long
Dim tailY(100) ; Tail y can be up to 1000 blocks long
For a=1 To 100 ; Set the current tail off the screen
tailx(a)=-20
taily(a)=-20
Next
SeedRnd MilliSecs() ; Make random even more random
Global frametimer=CreateTimer(75) ; Set up timer to make everything run nice on all PC's
SetBuffer BackBuffer() ; Start dobbelbuffering
;-----------------------------------------
.start ; Mainloop
While Not KeyHit(1) ; Loop until ESC is pressed
WaitTimer(frametimer) ; Wait....
Cls ; Clean up
novell ; Do stuff
changespeedortail ; Wanna change speed or/and tail ?
Flip ; Change buffer
Wend ; Next round please
End
;-----------------------------------------
Function novell() ; Start the function to actually put something on the screen
speedcount=speedcount+1
If speed > speedcount Then Goto draw
Select direction ; Moving blocks about
Case 1
x=x-11
y=y-13
Case 2
y=y-13
Case 3
y=y-13
x=x+11
Case 4
x=x+11
Case 5
x=x+11
y=y+13
Case 6
y=y+13
Case 7
x=x-11
y=y+13
Case 8
x=x-11
End Select
speedcount=0
border ; Check if we hit the border
If direction=100 Then roundcount=round+1 ; If we did, do something about it !
directiontest ; Check if time for change of direction
For a=length To 1 Step-1 ; Move the x and y down the line
tailx(a+1)=tailx(a)
taily(a+1)=taily(a)
Next
tailx(1)=x ; Put x in the end of the line
taily(1)=y ; Put y in the end of the line
.draw
colordrop=255/length ; Find how much to drop color pr. rect
colortmp=0 ; Set color to 0
For a=length To 1 Step -1 ; Draw tail
Color colortmp,0,0 ; Set color for current rect
Rect tailx(a),taily(a),10,12,1 ; Draw current rect
colortmp=colortmp+colordrop ; Count up color
Next
End Function
;-----------------------------------------
Function border() ; Set direction to 100 if border is reached
Select direction
Case 1
If x < 15 Or y < 5 Then direction=100
Case 2
If y < 5 Then direction=100
Case 3
If x > 780 Or y < 5 Then direction=100
Case 4
If x > 780 Then direction=100
Case 5
If x > 780 Or y > 585 Then direction=100
Case 6
If y > 585 Then direction=100
Case 7
If x < 15 Or y > 585 Then direction=100
Case 8
If x < 15 Then direction=100
End Select
End Function
;-----------------------------------------
Function directiontest() ; Find new direction if it's time
roundcount=roundcount+1
If roundcount > round Then ; Time for a change
directiontmp=direction ; Temporary store old direction
.findnewdirection direction=Rand(8) ; Find new direction
If direction=directiontmp Then Goto findnewdirection ; If it's the same then try again
border ; Check for border
If direction=100 Then Goto findnewdirection ; Bounce border
roundcount=0 ; Reset counter
round=Rand(20) ; Set new point for change of direction again
EndIf
End Function
;-----------------------------------------
Function changespeedortail() ; Change things
If KeyDown(200) And length < 99 Then ; Add length of tail if arrow-up is pressed
length=length+1 ; All length by 1
tailx(length)=-20 ; Set new x-part of tail offscreen
taily(length)=-20 ; Set new x-part of tail offscreen
show=255 ; Set show variable to print to scren for 200 rasters
EndIf
If KeyDown(208) And length > 5 Then ; Decrease length of tail if arrow down is pressed
length=length-1 ; Dec by 1
show=255 ; Set show variable to print to scren for 200 rasters
EndIf
If KeyDown(203) And speed < 10 Then ; Add speed if arrow-right is pressed
speed=speed+0.05 ; Add speed by 0.05
show=255 ; Set show variable to print to scren for 200 rasters
EndIf
If KeyDown(205) And speed > 1 Then ; Dec speed if arrow-left is pressed
speed=speed-0.05 ; Dec speed by 0.05
show=255 ; Set show variable to print to scren for 200 rasters
EndIf
show=show-1 ; Decrease show-variable
If show < 0 Then show=0 ; If show drops below zero keep it on zero
If show > 0 Then ; If show-variable is activated
Color show,0,0 ; Fade away text
Text 0,0, "Length: "+length ; Show length
Text 0,12,"Speed: "+Int(10-speed+1) ; Show speed but since speed is oposite of normal recalculate it
EndIf
End Function
;-------------------------
AppTitle "Decrunch"
; Version 1.0
; April 2001
; Made by Einar Wedøe
; Programtype: Blast from the past :-)
; Does nothing at all but simulate a decrunch routine from the C64 days !
Graphics 640,480,16,1
Global font1
font1=LoadFont ("verdana",20,False,False,False) ; Sett up font
SetFont font1
SetBuffer BackBuffer() ; Start with the backbuffer()
Global frametimer=CreateTimer(75) ; Set up timer to make everything run nice on all PC's
;---------------------------
.start ; Mainloop
While Not KeyHit(1) ; Loop until ESC is pressed
WaitTimer(frametimer) ; Wait....
Cls ; Clean up
flash ; Do the flash
Color 255,255,255 ; Set color to white for the text
Text 240,235,"Decrunching..." ; Set dumy-text
Flip ; Change buffer
Wend ; Next round please
End ; Tha's it !
;---------------------------
Function flash() ; Flashroutine
a=0 ; Reset counter
.flashloop
Color Rand(255),Rand(255),Rand(255) ; Set color randomly
tmp=Rand(10) ; Set size of next line random
Rect 0,a,640,tmp ; Draw the rect (the next flashline)
a=a+tmp ; Increase counter with height of the rect
If a > 480 Then Goto endflash ; Are we at the bottom yet ?
Goto flashloop ; If not make another rectangle
.endflash
End Function ; Thats it for this frame
;----------------------------
Glrez is a cool demo, I think Rez had some pretty good tuition from Keops on that one and as far as I know, he hasn't released anything since that intro.Glrez is simply beautiful. All the thumbs up he got from the pouet critics too! This is inspired me!
You could do worse than checking out the Nehe tutorials;
http://nehe.gamedev.net/
That's where a lot of people start, I'm sure that there'll be people along to reccomend books too.