PureSprite3D [Demomaking]

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

garzul> On devrait s'y voir :) Je serai avec l'équipe de BGames et Intense
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Cool !
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

gnarf, je n'arrive pas à récupe le ZIP... Le lien m'envoie sur une page sans zip... :?
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

oui d'ailleurs ca me fait penser qu'il ne vient plus sur le forum depuis qu'il a déménagé.

peut etre n'a t il jamais vu la nouvelle adresse.

je vais essayer de prendre contact avec lui.
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Arf... pour le zip je crois bien que j'ai tout perdu :? le zip à du partir du ftp quand j'ai faîs le ménage ^^ je vais essayer de retrouver ça sur les backups CD/Clé en espérant que ce soit pas définitivement perdu. :/

PS : Sympa la nouvelle adresse :P
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Message par raven »

salut a tous

un petit lien pour la demo de garzul ;)

http://dl.free.fr/SooL1LSv/puresprite3d.rar
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour,

merci raven d'avoir remis le lien je n'avais pas vu le résultat 8O sa déchire grave.

bravo a garzul.


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

Code : Tout sélectionner

; -----------------------------------------------------------------------
; - Auteur          : Garzul          
; - Date              : 25 Aout 2005    
; - Type de programme : Demo            
; - Version de PB     : PureBasic v3.92 
;
; - Modifié legerement par Coolman
; - Version de PB     : Purebasic v4.02  
; 
; Note : j'ai eu quelques problemes avec la fonction Stopmodule qui sous pb 3 pouvait etre lancé sans
; parametre pb 4 exigeant un parametre j'ai du deviner a priori, les modules etant charge par  :
;
;  LoadModule(#Mod,"Data/Music/Kaneel - Leenfisci.xm")
;  LoadModule(#ModCerror,"Data/Music/Cerror - Fucked [Titan].xm")
;  LoadModule(#ModCerror2,"Data/Music/Cerror - FunkyMexsPulserCarpet [Titan].xm")
;  LoadModule(#ModCerrorEndPart,"Data/Music/Cerror - Euphoria [Titan].xm")
;
;  j'ai procede par logique, quand je trouve StopModule() et PlayModule(#ModCerror), j'ai supposé qu'il
;  fallait remplacer par StopModule(#Mod)
;
; Bravo a l'auteur de cette demo qui demontre les capacites de purebasic, je suggere cependant 
; d'enlever la derniere partie qui denature un peu le tout...
; -----------------------------------------------------------------------
;
; - Initialisation

Enumeration

  ; - Constante textures
  #Img1
  #Img2
  #Img3
  #Img4
  #Img5
  #Img6
  #Img7
  #Img8
  #Img9
  #Img10
  #Img11
  #Img12
  #Img13
  #Img14
  #Img15
  #Img16
  #Img17
  #Img18
  #Img19
  #Img20
  #Part1
  #Part2
  #Part3
  #Part4
  #Font
  #Credits
  
  ; - Constante mod
  #Mod
  #ModCerror
  #ModCerror2
  #ModCerrorEndPart
  
  ; - Constante Greets
  #Calodox
  #Exceed
  #Div0
  #Kstorm
  #Halcyon
  #Blasphemy
  #Mindforce
  #SynRj
  #Conspiracy
  #Tpolm
  #Kikiprods
  #Farbrausch
  #Fairlight
  #Mandula
  #MFX
  #Epidemic
  #Equinox
  #Bypass
  #Bgames
  
EndEnumeration


InitSprite() : InitKeyboard() : InitSprite3D() : InitSound() : InitModule()

UsePNGImageDecoder()
UseJPEGImageDecoder()


SetRefreshRate(60)
If OpenScreen(1024,768,32,"PureSprite3D") = 0; :SetRefreshRate(0): OpenScreen(1024,768,16,"") :SetFrameRate(75)
  MessageBox_ (0,"Impossible d'ouvrir un écran 1024x768x32@75hz", "ERREUR", #MB_ICONINFORMATION|#MB_OK)  :End 
EndIf


; - Chargement des textures
LoadSprite(#Part1,"Data/hexred.png",#PB_Sprite_Texture)
LoadSprite(#Part2,"Data/flareb.png",#PB_Sprite_Texture)
LoadSprite(#Part3,"Data/part.png",#PB_Sprite_Texture)
LoadSprite(#Part4,"Data/flarey.png",#PB_Sprite_Texture)
LoadSprite(#Img1,"Data/Pure.png",#PB_Sprite_Texture)
LoadSprite(#Img2,"Data/Diff.png",#PB_Sprite_Texture)
LoadSprite(#Img3,"Data/logo.png",#PB_Sprite_Texture)
LoadSprite(#Img4,"Data/lovepure.png",#PB_Sprite_Texture)
LoadSprite(#Img5,"Data/dcrime.png",#PB_Sprite_Texture)
LoadSprite(#Img6,"Data/dream.png",#PB_Sprite_Texture)
LoadSprite(#Img7,"Data/shocking.png",#PB_Sprite_Texture)
LoadSprite(#Img8,"Data/codelife.png",#PB_Sprite_Texture)
LoadSprite(#Img9,"Data/Galaxy.png",#PB_Sprite_Texture)
LoadSprite(#Img10,"Data/sun.png",#PB_Sprite_Texture)
LoadSprite(#Img11,"Data/Supah.png",#PB_Sprite_Texture)
LoadSprite(#Img12,"Data/Kaneel.png",#PB_Sprite_Texture)
LoadSprite(#Img13,"Data/Fucknewschool.png",#PB_Sprite_Texture)
LoadSprite(#Img14,"Data/oldsnewsdemorulez.png",#PB_Sprite_Texture)
LoadSprite(#Img15,"Data/NewsPartEnd.png",#PB_Sprite_Texture)
LoadSprite(#Img16,"Data/OldsPart.png",#PB_Sprite_Texture)
LoadSprite(#Img17,"Data/LogoPure.png")
LoadSprite(#Img18,"Data/WelcomeOldsPart.png")
LoadSprite(#Img19,"Data/PureOlds.png")
LoadSprite(#Img20,"Data/loveolds.png")
LoadSprite(#Credits,"Data/Credits.png")


; - Chargement du mod
LoadModule(#Mod,"Data/Music/Kaneel - Leenfisci.xm")
LoadModule(#ModCerror,"Data/Music/Cerror - Fucked [Titan].xm")
LoadModule(#ModCerror2,"Data/Music/Cerror - FunkyMexsPulserCarpet [Titan].xm")
LoadModule(#ModCerrorEndPart,"Data/Music/Cerror - Euphoria [Titan].xm")


; - Chargement des imgs Greets
LoadSprite(#Calodox,"Data/Greets/Calodox.png",#PB_Sprite_Texture)
LoadSprite(#Exceed,"Data/Greets/Exceed.png",#PB_Sprite_Texture)
LoadSprite(#Div0,"Data/Greets/Div0.png",#PB_Sprite_Texture)
LoadSprite(#Kstorm,"Data/Greets/KStorm.png",#PB_Sprite_Texture)
LoadSprite(#Halcyon,"Data/Greets/Halcyon.png",#PB_Sprite_Texture)
LoadSprite(#Blasphemy,"Data/Greets/Blasphemy.png",#PB_Sprite_Texture)
LoadSprite(#Mindforce,"Data/Greets/Mindforce.png",#PB_Sprite_Texture)
LoadSprite(#SynRj,"Data/Greets/Synrj.png",#PB_Sprite_Texture)
LoadSprite(#Conspiracy,"Data/Greets/Conspiracy.png",#PB_Sprite_Texture)
LoadSprite(#Tpolm,"Data/Greets/Tpolm.png",#PB_Sprite_Texture)
LoadSprite(#Kikiprods,"Data/Greets/Kikiprods.png",#PB_Sprite_Texture)
LoadSprite(#Farbrausch,"Data/Greets/Fr.png",#PB_Sprite_Texture)
LoadSprite(#Fairlight,"Data/Greets/Fairlight.png",#PB_Sprite_Texture)
LoadSprite(#Mandula,"Data/Greets/Mandula.png",#PB_Sprite_Texture)
LoadSprite(#MFX,"Data/Greets/MFX.png",#PB_Sprite_Texture)
LoadSprite(#Epidemic,"Data/Greets/Epidemic.png",#PB_Sprite_Texture)
LoadSprite(#Equinox,"Data/Greets/Equinox.png",#PB_Sprite_Texture)
LoadSprite(#Bypass,"Data/Greets/Bypass.png",#PB_Sprite_Texture)
LoadSprite(#Bgames,"Data/Greets/Bgames.png",#PB_Sprite_Texture)

LoadFont(#Font,"Cooper Black",15)


PlayModule(#Mod)
ModuleVolume(#Mod,100)  


CreateSprite3D(#Part1,#Part1)
CreateSprite3D(#Part2,#Part2)
CreateSprite3D(#Part3,#Part3)
CreateSprite3D(#Part4,#Part4)

; - Sprite3D pour Greets
CreateSprite3D(#Calodox,#Calodox)
CreateSprite3D(#Exceed,#Exceed)
CreateSprite3D(#Div0,#Div0)
CreateSprite3D(#Kstorm,#Kstorm)
CreateSprite3D(#Halcyon,#Halcyon)
CreateSprite3D(#Blasphemy,#Blasphemy)
CreateSprite3D(#Mindforce,#Mindforce)
CreateSprite3D(#SynRj,#SynRj)
CreateSprite3D(#Conspiracy,#Conspiracy)
CreateSprite3D(#Tpolm,#Tpolm)
CreateSprite3D(#Kikiprods,#Kikiprods)
CreateSprite3D(#Farbrausch,#Farbrausch)
CreateSprite3D(#Fairlight,#Fairlight)
CreateSprite3D(#Mandula,#Mandula)
CreateSprite3D(#MFX,#MFX)
CreateSprite3D(#Epidemic,#Epidemic)
CreateSprite3D(#Equinox,#Equinox)
CreateSprite3D(#Bypass,#Bypass)
CreateSprite3D(#Bgames,#Bgames)

  
Sprite3DQuality(1)
  
TransparentSpriteColor(#Part1,RGB(0,0,0)) 
TransparentSpriteColor(#Part3,RGB(0,0,0)) 
TransparentSpriteColor(#Part4,RGB(0,0,0)) 

Delay(2000)

; - Initialisation Variables

 Global Amp.f,TempDebut,AlphaImg1.f,XImg1,AlpI1,Temp,AlphaImg2,YImg2,AlphaPart1.f,AlphaPart102.f,XImg5,AlphaImg5.f,YImg4,AlphaImg4.f,XPart3.f,XPart4.f,YImg6,AlphaImg6.f,Z
 Global AlphaImg7.f,YImg7,AlphaImg8.f,YImg8,Eff.f,YPart3,YPart4,YImg9,YImg10,AlphaGreets1.f,AlphaGreets2.f,AlphaGreets3.f,AlphaGreets4.f,AlphaGreets5.f,AlphaGreets6.f,AlphaGreets7.f,AlphaGreets8.f,AlphaGreets9.f,AlphaGreets10.f
 Global AffAlphaGreets,AffAlphaGreets2,AffAlphaGreets3,AffAlphaGreets4,AffAlphaGreets5,AffAlphaGreets6,AffAlphaGreets7,AffAlphaGreets8,AffAlphaGreets9,AffAlphaGreets10
 Global AffAlphaGreets11,AffAlphaGreets12,AffAlphaGreets13,AffAlphaGreets14,AffAlphaGreets15,AffAlphaGreets16,AffAlphaGreets17,AffAlphaGreets18,AffAlphaGreets19,AlphaGreets11.f,AlphaGreets12.f,AlphaGreets13.f,AlphaGreets14.f,AlphaGreets15.f,AlphaGreets16.f,AlphaGreets17.f,AlphaGreets18.f,AlphaGreets19.f
 Global YPart1,AlphaPart1I.f,IntImg9.f,YImg9,IntImg10.f,XImg10,IntenGal.f,Eff2.f,Turn.f,Eff3.f,XImg11,AlphaImg11.f,XImg12,AlphaImg12.f
 Global IntenRoue.f,ColorRoue,XRoue,XRoueLine,Amp2.f,YADN,YADN2,YImg13,AlphaImg13.f,YImg14,AlphaImg14.f,AffAlphaM13,AffAlphaM14
 Global AffScene5,AffRoue,Blend.f,Blend2.f,Blend3.f,Blend4.f,NewsSchoolPart,OldschoolPart,EndPart,YImg15,AlphaImg15.f,YImg16,AlphaImg16.f,AffAlphaM15,AffAlphaM16
 Global HeightImg17,Anl,Pas,Ampli,CentreXImg17,CentreYImg17,IntenImg17.f,BlendingOlds.f,CentreXImg18,CentreYImg18,IntenImg18.f,HeightImg18
 Global XRuban,CentreXImg19,CentreYImg19,IntenImg19.f,HeightImg19,XRuban2,CentreXImg20,CentreYImg20,IntenImg20.f,HeightImg20
 Global XScrollText,PosMod,Mod1,LigPos,XRuban3,Transform.f,Mod2,module,YCredits,BlendEnd.f,BlendEnd2.f,Quit
 
 Global Mode,mode2
 
 Amp.f            = 0.0
 TempDebut        = GetTickCount_()/1000
 AlphaImg1.f      = 20.0
 XImg1            = 0
 AlpI1            = 1
 AlphaImg2        = 1.0
 YImg2            = 20
 AlphaPart1.f     = 2
 AlphaPart102.f   = 0
 XImg5            = 0
 AlphaImg5.f      = 10.0
 AlphaImg4.f      = 10.0
 YImg4            = 630
 XPart3.f         = 40.0
 XPart4.f         = 920.0
 AlphaImg6.f      = 0.0
 YImg6            = 630
 Z                = (Cos(Sqr(((x * x) + (y * y)) / 10 ))) * Amp
 AlphaImg7.f      = 0.0
 YImg7            = 570
 AlphaImg8.f      = 0.0
 YImg8            = 570
 Eff.f            = 1.0
 YPart3           = 360
 YPart4           = 360
 YImg9            = -4000
 YImg10           = 780
 AlphaGreets1.f   = 0.0 
 AlphaGreets2.f   = 0.0
 AlphaGreets3.f   = 0.0
 AlphaGreets4.f   = 0.0
 AlphaGreets5.f   = 0.0
 AlphaGreets6.f   = 0.0 
 AlphaGreets7.f   = 0.0
 AlphaGreets8.f   = 0.0
 AlphaGreets9.f   = 0.0
 AlphaGreets10.f  = 0.0
 AffAlphaGreets   = 1 
 AffAlphaGreets2  = 1
 AffAlphaGreets3  = 1
 AffAlphaGreets4  = 1
 AffAlphaGreets5  = 1 
 AffAlphaGreets6  = 1
 AffAlphaGreets7  = 1
 AffAlphaGreets8  = 1
 AffAlphaGreets9  = 1
 AffAlphaGreets10 = 1
 AlphaGreets11.f  = 0.0
 AlphaGreets12.f  = 0.0
 AlphaGreets13.f  = 0.0
 AlphaGreets14.f  = 0.0
 AlphaGreets15.f  = 0.0 
 AlphaGreets16.f  = 0.0
 AlphaGreets17.f  = 0.0
 AlphaGreets18.f  = 0.0
 AlphaGreets19.f  = 0.0
 AffAlphaGreets11 = 1 
 AffAlphaGreets12 = 1
 AffAlphaGreets13 = 1
 AffAlphaGreets14 = 1
 AffAlphaGreets15 = 1 
 AffAlphaGreets16 = 1
 AffAlphaGreets17 = 1
 AffAlphaGreets18 = 1
 AffAlphaGreets19 = 1
 YPart1           = 340
 AlphaPart1I.f    = 100
 IntImg9.f        = 0.0
 YImg9            = 150
 IntImg10.f       = 0.0
 XImg10           = 620
 IntenGal.f       = 0.0
 Eff2.f           = 0.0
 Turn.f           = 0.0
 Eff3.f           = 0.0
 XImg11           = 0
 AlphaImg11.f     = 0.0
 XImg12           = 670
 AlphaImg12.f     = 0.0
 XRoue            = 750
 XRoueLine        = 814
 Amp2.f           = 0.0
 YADN             = -200
 YADN2            = 840
 YImg13           = 180
 AlphaImg13.f     = 2.0
 YImg14           = 490
 AlphaImg14.f     = 2.0
 AffAlphaM13      = 0
 AffAlphaM14      = 0
 AffScene5        = 0
 AffRoue          = 1
 Blend.f          = 0.0
 Blend2.f         = 0.0
 Blend3.f         = 0.0
 Blend4.f         = 0.0
 NewsSchoolPart   = 1
 OldschoolPart    = 0
 EndPart          = 0
 YImg15           = 180
 AlphaImg15.f     = 2.0
 YImg16           = 490
 AlphaImg16.f     = 2.0
 AffAlphaM15      = 0
 AffAlphaM16      = 0
 HeightImg17      = SpriteHeight(#Img18)
 Pas              = 3
 Anl              = 0
 Ampli            = 30
 CentreXImg17     = (1024 - SpriteWidth(#Img18))  / 2
 CentreYImg17     = 80
 IntenImg17.f     = 0.0
 BlendingOlds.f   = 0.0
 CentreXImg18     = (1024 - SpriteWidth(#Img17))  / 2
 CentreYImg18     = (768 - SpriteHeight(#Img17))  / 2
 IntenImg18.f     = 0.0
 HeightImg18      = SpriteHeight(#Img17)
 XRuban           = -300
 CentreXImg19     = (1024 - SpriteWidth(#Img19))  / 2
 CentreYImg19     = 600
 IntenImg19.f     = 0.0
 HeightImg19      = SpriteHeight(#Img19)
 XRuban2          = 1040
 CentreXImg20     = (1024 - SpriteWidth(#Img20))  / 2
 CentreYImg20     = 650
 IntenImg20.f     = 0.0
 HeightImg20      = SpriteHeight(#Img20)
 XScrollText      = 1024
 Mod1             = 1
 XRuban3          = -250
 Transform.f      = 0.0
 Mod2             = 0
 module           = 1
 YCredits         = 768
 BlendEnd.f       = 0.0
 BlendEnd2.f      = 0.0
 Quit             = 0
 
; - Procedure

; - Demo !  
Procedure NewsSchoolPart()

  Start3D()
    
   Sprite3DBlendingMode(5,2)
    
     For i = 0 To 400      
      If AlphaPart1 > 1 And AffScene5 = 0
        DisplaySprite3D(#Part1,444+i*Cos(i+Amp+i*Sin(i)),340+i/10*Sin(i+i),AlphaPart1)
      EndIf
      
      If Temp >= 27 And AffScene5 = 0        
        DisplaySprite3D(#Part3,XPart3+i/7*Cos(i+Amp+i*Sin(i)),YPart3+i*Sin(i+i),AlphaPart102)
       DisplaySprite3D(#Part3,XPart4+i/7*Cos(i+Amp+i*Sin(i)),YPart4+i*Sin(i+i),AlphaPart102)
        
        If AlphaPart102 < 35
          AlphaPart102 + 0.003
        EndIf
        If AlphaPart102 > 35
          AlphaPart102 = 35
        EndIf
        
        AlphaPart1 - 0.007
        If AlphaPart1 < 0
          AlphaPart1 = 0
        EndIf        
        
      EndIf
    
     Next i
     
     If Temp >= 30 And AffScene5 = 0              
       
       For i = 0 To 100
       
         DisplaySprite3D(#Part1,444+i*2*Cos(i*50+Amp*Eff+i*40+Sqr(i/60*80)+i),YPart1+Z+i*2*Sin(i/60-Amp),AlphaPart1I)        

       Next i
       
     EndIf     
     
     
     If AlphaPart1 < 50
       AlphaPart1 + 0.6
     EndIf
     If AlphaPart1 > 50
       AlphaPart1 = 50
     EndIf
      
  Stop3D()
  
  If AlphaImg1 > 0

    DisplayTranslucentSprite(#Img1,XImg1+680,630,AlphaImg1)
   
  EndIf

  XImg1 - 3
  
  If AlpI1 = 1
    AlphaImg1 + 2
  ElseIf AlpI1 = 0
    AlphaImg1 - 2
  EndIf
  If Temp = 4
    AlphaImg1 = AlphaImg1
    AlpI1 = 0
  EndIf
  If AlphaImg1 < 0
    AlphaImg1 = 0
  EndIf
  
  If Temp >= 4 And Temp < 12

    DisplayTranslucentSprite(#Img2,660,YImg2,AlphaImg2)   
    
    If Temp < 8
      AlphaImg2 + 1
    EndIf
    If Temp > 8 And Temp < 11
      AlphaImg2 - 1
    EndIf
    
    YImg2 + 2
  EndIf
  
  If Temp >= 21 And Temp < 26
    DisplayTranslucentSprite(#Img6,660,YImg6,AlphaImg6)
    YImg6 - 1
    AlphaImg6 + 3
  EndIf
  
  If Temp >= 30 And Temp < 45
    DisplayTranslucentSprite(#Img7,385,YImg7,AlphaImg7)
    YImg7 + 1
    AlphaImg7 + 3
  EndIf
  
  If Temp >= 40 And Temp < 58
    DisplayTranslucentSprite(#Img8,385,YImg8,AlphaImg8)
    YImg8 + 1
    AlphaImg8 + 3
  EndIf
  
  ; - Band sprite3d quit scene 
  If Temp >= 58 And AffScene5 = 0
   Start3D()
   
     DisplaySprite3D(#Calodox,5,0,AlphaGreets1)
     DisplaySprite3D(#Exceed,5,40,AlphaGreets2)
     DisplaySprite3D(#Div0,5,80,AlphaGreets3)
     DisplaySprite3D(#Kstorm,5,120,AlphaGreets4)
     DisplaySprite3D(#Halcyon,5,160,AlphaGreets5)
     DisplaySprite3D(#Blasphemy,5,200,AlphaGreets6)
     DisplaySprite3D(#Mindforce,5,240,AlphaGreets7)
     DisplaySprite3D(#SynRj,5,280,AlphaGreets8)
     DisplaySprite3D(#Conspiracy,5,320,AlphaGreets9)
     DisplaySprite3D(#Tpolm,5,360,AlphaGreets10)
  
     DisplaySprite3D(#Kikiprods,5,400,AlphaGreets11)
     DisplaySprite3D(#Farbrausch,5,440,AlphaGreets12)
     DisplaySprite3D(#Fairlight,5,480,AlphaGreets13)
     DisplaySprite3D(#Mandula,5,520,AlphaGreets14)
     DisplaySprite3D(#MFX,5,560,AlphaGreets15)
     DisplaySprite3D(#Epidemic,5,600,AlphaGreets16)
     DisplaySprite3D(#Equinox,5,640,AlphaGreets17)
     DisplaySprite3D(#Bypass,5,680,AlphaGreets18)
     DisplaySprite3D(#Bgames,5,720,AlphaGreets19)
     
     
     ; - De l'autre coté
     DisplaySprite3D(#Calodox,886,720,AlphaGreets1)
     DisplaySprite3D(#Exceed,886,680,AlphaGreets2)
     DisplaySprite3D(#Div0,886,640,AlphaGreets3)
     DisplaySprite3D(#Kstorm,886,600,AlphaGreets4)
     DisplaySprite3D(#Halcyon,886,560,AlphaGreets5)
     DisplaySprite3D(#Blasphemy,886,520,AlphaGreets6)
     DisplaySprite3D(#Mindforce,886,480,AlphaGreets7)
     DisplaySprite3D(#SynRj,886,440,AlphaGreets8)
     DisplaySprite3D(#Conspiracy,886,400,AlphaGreets9)
     DisplaySprite3D(#Tpolm,886,360,AlphaGreets10)
  
     DisplaySprite3D(#Kikiprods,886,320,AlphaGreets11)
     DisplaySprite3D(#Farbrausch,886,280,AlphaGreets12)
     DisplaySprite3D(#Fairlight,886,240,AlphaGreets13)
     DisplaySprite3D(#Mandula,886,200,AlphaGreets14)
     DisplaySprite3D(#MFX,886,160,AlphaGreets15)
     DisplaySprite3D(#Epidemic,886,120,AlphaGreets16)
     DisplaySprite3D(#Equinox,886,80,AlphaGreets17)
     DisplaySprite3D(#Bypass,886,40,AlphaGreets18)
     DisplaySprite3D(#Bgames,886,0,AlphaGreets19)     
        
   Stop3D()
   
   If AffAlphaGreets = 1
     AlphaGreets1  + 3.5
   EndIf
   If AlphaGreets1 > 254.0
      AffAlphaGreets = 0
      AlphaGreets1   = AlphaGreets1
   EndIf
   If AffAlphaGreets = 0
      AlphaGreets1   - 3.5
   EndIf
   If AlphaGreets1 <= 0.0 And AffAlphaGreets = 0
      AffAlphaGreets = 3
      AlphaGreets1 = 0.0
   EndIf
   
   ; - 2° alpha img
   If AffAlphaGreets2 = 1
     AlphaGreets2  + 3.4
   EndIf
   If AlphaGreets2 > 254.0
      AffAlphaGreets2 = 0
      AlphaGreets2   = AlphaGreets2
   EndIf
   If AffAlphaGreets2 = 0
      AlphaGreets2   - 3.4
   EndIf
   If AlphaGreets2 <= 0.0 And AffAlphaGreets2 = 0
      AffAlphaGreets2 = 3
      AlphaGreets2 = 0.0
   EndIf
   
   If AffAlphaGreets3 = 1
     AlphaGreets3  + 3.3
   EndIf
   If AlphaGreets3 > 254.0
      AffAlphaGreets3 = 0
      AlphaGreets3   = AlphaGreets3
   EndIf
   If AffAlphaGreets3 = 0
      AlphaGreets3   - 3.3
   EndIf
   If AlphaGreets3 <= 0.0 And AffAlphaGreets3 = 0
      AffAlphaGreets3 = 3
      AlphaGreets3 = 0.0
   EndIf
   
   If AffAlphaGreets4 = 1
     AlphaGreets4  + 3.2
   EndIf
   If AlphaGreets4 > 254.0
      AffAlphaGreets4 = 0
      AlphaGreets4   = AlphaGreets4
   EndIf
   If AffAlphaGreets4 = 0
      AlphaGreets4   - 3.2
   EndIf
   If AlphaGreets4 <= 0.0 And AffAlphaGreets4 = 0
      AffAlphaGreets4 = 3
      AlphaGreets4 = 0.0
   EndIf

   If AffAlphaGreets5 = 1
     AlphaGreets5  + 3.1
   EndIf
   If AlphaGreets5 > 254.0
      AffAlphaGreets5 = 0
      AlphaGreets5   = AlphaGreets5
   EndIf
   If AffAlphaGreets5 = 0
      AlphaGreets5   - 3.1
   EndIf
   If AlphaGreets5 <= 0.0 And AffAlphaGreets5 = 0
      AffAlphaGreets5 = 3
      AlphaGreets5 = 0.0
   EndIf
   
   If AffAlphaGreets6 = 1
     AlphaGreets6  + 3.0
   EndIf
   If AlphaGreets6 > 254.0
      AffAlphaGreets6 = 0
      AlphaGreets6   = AlphaGreets6
   EndIf
   If AffAlphaGreets6 = 0
      AlphaGreets6   - 3.0
   EndIf
   If AlphaGreets6 <= 0.0 And AffAlphaGreets6 = 0
      AffAlphaGreets6 = 3
      AlphaGreets6 = 0.0
   EndIf
   
   If AffAlphaGreets7 = 1
     AlphaGreets7  + 2.9
   EndIf
   If AlphaGreets7 > 254.0
      AffAlphaGreets7 = 0
      AlphaGreets7   = AlphaGreets7
   EndIf
   If AffAlphaGreets7 = 0
      AlphaGreets7   - 2.9
   EndIf
   If AlphaGreets7 <= 0.0 And AffAlphaGreets7 = 0
      AffAlphaGreets7 = 3
      AlphaGreets7 = 0.0
   EndIf   
   
   If AffAlphaGreets8 = 1
     AlphaGreets8  + 2.8
   EndIf
   If AlphaGreets8 > 254.0
      AffAlphaGreets8 = 0
      AlphaGreets8   = AlphaGreets8
   EndIf
   If AffAlphaGreets8 = 0
      AlphaGreets8   - 2.8
   EndIf
   If AlphaGreets8 <= 0.0 And AffAlphaGreets8 = 0
      AffAlphaGreets8 = 3
      AlphaGreets8 = 0.0
   EndIf   
   
   If AffAlphaGreets9 = 1
     AlphaGreets9  + 2.7
   EndIf
   If AlphaGreets9 > 254.0
      AffAlphaGreets9 = 0
      AlphaGreets9   = AlphaGreets9
   EndIf
   If AffAlphaGreets9 = 0
      AlphaGreets9   - 2.7
   EndIf
   If AlphaGreets9 <= 0.0 And AffAlphaGreets9 = 0
      AffAlphaGreets9 = 3
      AlphaGreets9 = 0.0
   EndIf   
   
   If AffAlphaGreets10 = 1
     AlphaGreets10  + 2.6
   EndIf
   If AlphaGreets10 > 254.0
      AffAlphaGreets10 = 0
      AlphaGreets10   = AlphaGreets10
   EndIf
   If AffAlphaGreets10 = 0
      AlphaGreets10   - 2.6
   EndIf
   If AlphaGreets10 <= 0.0 And AffAlphaGreets10 = 0
      AffAlphaGreets10 = 3
      AlphaGreets10 = 0.0
   EndIf
   
   If AffAlphaGreets11 = 1
     AlphaGreets11  + 2.5
   EndIf
   If AlphaGreets11 > 254.0
      AffAlphaGreets11 = 0
      AlphaGreets11   = AlphaGreets11
   EndIf
   If AffAlphaGreets11 = 0
      AlphaGreets11   - 2.5
   EndIf
   If AlphaGreets11 <= 0.0 And AffAlphaGreets11 = 0
      AffAlphaGreets11 = 3
      AlphaGreets11 = 0.0
   EndIf

   If AffAlphaGreets12 = 1
     AlphaGreets12  + 2.4
   EndIf
   If AlphaGreets12 > 254.0
      AffAlphaGreets12 = 0
      AlphaGreets12   = AlphaGreets12
   EndIf
   If AffAlphaGreets12 = 0
      AlphaGreets12   - 2.4
   EndIf
   If AlphaGreets12 <= 0.0 And AffAlphaGreets12 = 0
      AffAlphaGreets12 = 3
      AlphaGreets12 = 0.0
   EndIf
   
   If AffAlphaGreets13 = 1
     AlphaGreets13  + 2.3
   EndIf
   If AlphaGreets13 > 254.0
      AffAlphaGreets13 = 0
      AlphaGreets13   = AlphaGreets13
   EndIf
   If AffAlphaGreets13 = 0
      AlphaGreets13   - 2.3
   EndIf
   If AlphaGreets13 <= 0.0 And AffAlphaGreets13 = 0
      AffAlphaGreets13 = 3
      AlphaGreets13 = 0.0
   EndIf
   
   If AffAlphaGreets14 = 1
     AlphaGreets14  + 2.2
   EndIf
   If AlphaGreets14 > 254.0
      AffAlphaGreets14 = 0
      AlphaGreets14   = AlphaGreets14
   EndIf
   If AffAlphaGreets14 = 0
      AlphaGreets14   - 2.2
   EndIf
   If AlphaGreets14 <= 0.0 And AffAlphaGreets14 = 0
      AffAlphaGreets14 = 3
      AlphaGreets14 = 0.0
   EndIf

   If AffAlphaGreets15 = 1
     AlphaGreets15  + 2.1
   EndIf
   If AlphaGreets15 > 254.0
      AffAlphaGreets15 = 0
      AlphaGreets15   = AlphaGreets15
   EndIf
   If AffAlphaGreets15 = 0
      AlphaGreets15   - 2.1
   EndIf
   If AlphaGreets15 <= 0.0 And AffAlphaGreets15 = 0
      AffAlphaGreets15 = 3
      AlphaGreets15 = 0.0
   EndIf
   
   If AffAlphaGreets16 = 1
     AlphaGreets16  + 2.0
   EndIf
   If AlphaGreets16 > 254.0
      AffAlphaGreets16 = 0
      AlphaGreets16   = AlphaGreets16
   EndIf
   If AffAlphaGreets16 = 0
      AlphaGreets16   - 2.0
   EndIf
   If AlphaGreets16 <= 0.0 And AffAlphaGreets16 = 0
      AffAlphaGreets16 = 3
      AlphaGreets16 = 0.0
   EndIf
   
   If AffAlphaGreets17 = 1
     AlphaGreets17  + 1.9
   EndIf
   If AlphaGreets17 > 254.0
      AffAlphaGreets17 = 0
      AlphaGreets17   = AlphaGreets17
   EndIf
   If AffAlphaGreets17 = 0
      AlphaGreets17   - 1.9
   EndIf
   If AlphaGreets17 <= 0.0 And AffAlphaGreets17 = 0
      AffAlphaGreets17 = 3
      AlphaGreets17 = 0.0
   EndIf   
   
   If AffAlphaGreets18 = 1
     AlphaGreets18  + 1.8
   EndIf
   If AlphaGreets18 > 254.0
      AffAlphaGreets18 = 0
      AlphaGreets18   = AlphaGreets18
   EndIf
   If AffAlphaGreets18 = 0
      AlphaGreets18   - 1.8
   EndIf
   If AlphaGreets18 <= 0.0 And AffAlphaGreets18 = 0
      AffAlphaGreets18 = 3
      AlphaGreets18 = 0.0
   EndIf   
   
   If AffAlphaGreets19 = 1
     AlphaGreets19  + 1.7
   EndIf
   If AlphaGreets19 > 254.0
      AffAlphaGreets19 = 0
      AlphaGreets19   = AlphaGreets19
   EndIf
   If AffAlphaGreets19 = 0
      AlphaGreets19   - 1.7
   EndIf
   If AlphaGreets19 <= 0.0 And AffAlphaGreets19 = 0
      AffAlphaGreets19 = 3
      AlphaGreets19 = 0.0
   EndIf      
  
    YPart3 + 3
    YPart4 - 3
  EndIf
  
  
  If Temp >= 60
   YPart1        + 1
   AlphaPart1I.f - 0.6
   If AlphaPart1I.f <= 0.0
      AlphaPart1I.f = 0.0
   EndIf
  EndIf
  
  If Temp >= 63 And IntImg9 <= 240
    DisplayTranslucentSprite(#Img9,380,YImg9,IntImg9)
    IntImg9 + 2.0
    YImg9   + 2
  EndIf
  
  If AlphaPart1I.f = 0.0 And Temp <= 109 And AffScene5 = 0
    DisplayTranslucentSprite(#Img10,XImg10,620,IntImg10)
    If IntImg10 <= 250.0
      IntImg10 + 0.8
    EndIf
    XImg10 - 5
    Start3D()
    Sprite3DBlendingMode(5,2)
    For i = 0 To 250

     DisplaySprite3D(#Part2,444+i*Cos(i/2-Amp),330+Z+i*Sin(i/2+Amp-Sqr(i/100+Sqr(i))/50),IntenGal)
     DisplaySprite3D(#Part1,444+i*Cos(i-Amp)*2,-45+Z+i*Sin(i+Amp+Sqr(i/20+Sqr(i)))/i,IntenGal)
     DisplaySprite3D(#Part1,444+i*Cos(i-Amp)*2,690+Z+i*Sin(i+Amp+Sqr(i/20+Sqr(i)))/i,IntenGal)
    
    Next i
    Stop3D()
    If IntenGal <= 40 And Temp <= 100
      IntenGal + 0.5
    EndIf
    If Eff2 < 1.052
     Eff2 + 0.002
    EndIf
  EndIf
  
  If Temp >= 109 
    AffScene5 = 1
  EndIf  
 
  If Temp >= 15 And Temp <= 20
   
    DisplayTranslucentSprite(#Img3,680,630,255)
  
  EndIf
  
  If Temp >= 9 And Temp <= 17
    DisplayTranslucentSprite(#Img5,XImg5,60,AlphaImg5)
    XImg5 + 1
    AlphaImg5 + 3
  EndIf
  
  If Temp >= 14 And Temp <= 23
    DisplayTranslucentSprite(#Img4,60,YImg4,AlphaImg4)
    YImg4 - 1
    AlphaImg4 + 3
  EndIf
  
  If Temp >= 48 And Eff < 1.052
     Eff + 0.002
  EndIf
  
  Amp + 0.05
  
  If Temp >= 86 And Temp <= 109 And AffScene5 = 0
    
    DisplayTranslucentSprite(#Img11,XImg11,40,AlphaImg11)
    If AlphaImg11 <= 250.0
     AlphaImg11 + 1.4
    EndIf
    XImg11 + 2
  
  EndIf
  
  If Temp >= 90 And Temp <= 109 And AffScene5 = 0
        DisplayTranslucentSprite(#Img12,XImg12,620,AlphaImg12)
    If AlphaImg12 <= 250.0
     AlphaImg12 + 1.4
    EndIf
    XImg12 - 2
  EndIf
  
  If Temp >= 102
   If IntenGal >= 0.0
     IntenGal - 0.98
   EndIf
  EndIf
  
  If Temp >= 109
   
   Start3D()
   StartDrawing(ScreenOutput())
   Sprite3DBlendingMode(3,2)
   If AffRoue = 1
    For i = 0 To 200
    
      DisplaySprite3D(#Part1,XRoue+180*Cos(i*2-Amp),330+180*Sin(i*2-Amp),60)
      DisplaySprite3D(#Part1,XRoue+60*Cos(i*4+Amp),330+60*Sin(i*4+Amp),60)
      LineXY(XRoueLine+160*Cos(i-Amp),395+160*Sin(i-Amp),XRoueLine+70*Cos(i+Amp),395+70*Sin(i+Amp),RGB(70,70,70))

    Next i
   EndIf
   StopDrawing()
   Stop3D()
   Start3D()
   Sprite3DBlendingMode(3,2)
    For i = 0 To 270
 
     DisplaySprite3D(#Part1,-90+i*5+Cos(i+Amp2),YADN+Sin((Amp2-i*2)* 0.0174533)*60*Cos(i),60) 
     DisplaySprite3D(#Part1,-90+i*5+Cos(i-Amp2),YADN2+Sin((Amp2+i*2)* 0.0174533)*60*Cos(i),60) 
        
    Next i
   Stop3D()
   If XRoue >= 444 
     XRoue - 3
     XRoueLine - 3
   EndIf
   
   If YADN <= 50 And Temp <= 150
      YADN + 4
   EndIf
   
   If YADN2 >= 610 And Temp <= 150
      YADN2 - 4
   EndIf
   
   Amp2 + 3.0
   
   ; - Affich img (fucknewschool)
   If Temp >= 123
    DisplayTranslucentSprite(#Img13,10,YImg13,AlphaImg13)
    If AlphaImg13 <= 250.0 And AffAlphaM13 = 0
     AlphaImg13 + 3.2
    EndIf
    If AlphaImg13 >= 250.0
     AffAlphaM13 = 1
    EndIf
    If AffAlphaM13 = 1
        AlphaImg13 - 3.2
        XRoue      - 5
        XRoueLine  - 5
    EndIf
    If AlphaImg13 <= 0.0
       AlphaImg13 = 0.0
    EndIf
    YImg13 + 2
   EndIf
   
   If XRoue <= 120
      AffRoue = 0
      Start3D()
      Sprite3DBlendingMode(5,2)
      For i = 0 To 100
       
         DisplaySprite3D(#Part1,444+200*Cos(i/4-Amp),330+200*Sin(i/4-Amp),Blend4)
         DisplaySprite3D(#Part4,444+140*Cos(i/4+Amp),330+140*Sin(i/4+Amp),Blend3)
         DisplaySprite3D(#Part2,444+80*Cos(i/4-Amp),330+80*Sin(i/4-Amp),Blend2)
         DisplaySprite3D(#Part1,444+40*Cos(i/4+Amp),330+40*Sin(i/4+Amp),Blend) 
         
      Next i
      Stop3D()
      If Blend <= 60.0 And Temp <= 165
         Blend + 1.8
      EndIf
      If Blend2 <= 80.0 And Temp <= 165
         Blend2 + 1.8
      EndIf
      If Blend3 <= 80.0 And Temp <= 165
         Blend3 + 1.8
      EndIf
      If Blend4 <= 180.0 And Temp <= 165
         Blend4 + 1.8
      EndIf
   EndIf
   
   ; - Affich Img fin de part newschool
   If Temp >= 160
   
    DisplayTranslucentSprite(#Img15,10,YImg15,AlphaImg15)
    If AlphaImg15 <= 250.0 And AffAlphaM15 = 0
     AlphaImg15 + 3.2
    EndIf
    If AlphaImg15 >= 250.0
     AffAlphaM15 = 1
    EndIf
    If AffAlphaM15 = 1
        AlphaImg15 - 3.2
        YADN2 + 4
        YADN  - 4
        If Blend >= 2.0
           Blend - 1.5
        EndIf
        If Blend2 >= 2.0
           Blend2 - 1.5
        EndIf
        If Blend3 >= 2.0
           Blend3 - 1.5
        EndIf
        If Blend4 >= 2.0
           Blend4 - 3.0
        EndIf
        If LigPos >= 0 And PosMod = 33
          OldschoolPart  = 1
          NewsSchoolPart = 0
          StopModule(#Mod)
          PlayModule(#ModCerror)
          module = 2
        EndIf
    EndIf 
    If AlphaImg15 <= 0.0
       AlphaImg15 = 0.0
    EndIf
    YImg15 + 2
   
   EndIf
   
   If Temp >= 161
   
    DisplayTranslucentSprite(#Img16,760,YImg16,AlphaImg16)
    If AlphaImg16 <= 250.0 And AffAlphaM16 = 0
     AlphaImg16 + 3.2
    EndIf
    If AlphaImg16 >= 250.0
     AffAlphaM16 = 1
    EndIf
    If AffAlphaM16 = 1
        AlphaImg16 - 3.2
    EndIf
    If AlphaImg16 <= 0.0
       AlphaImg16 = 0.0
    EndIf
    YImg16 - 2
   
   EndIf
   
   
   ; - Affich img (N.O.D rulezz)
   If Temp >= 124
    DisplayTranslucentSprite(#Img14,760,YImg14,AlphaImg14)
    If AlphaImg14 <= 250.0 And AffAlphaM14 = 0
     AlphaImg14 + 3.2
    EndIf
    If AlphaImg14 >= 250.0
     AffAlphaM14 = 1
    EndIf
    If AffAlphaM14 = 1
        AlphaImg14 - 3.2
    EndIf
    If AlphaImg14 <= 0.0
       AlphaImg14 = 0.0
    EndIf
    YImg14 - 2
   EndIf
   
   
  EndIf

EndProcedure


; - Timer
Procedure Timer()

    TempActu = GetTickCount_()/1000
    Temp     = TempActu - TempDebut
    
    PosMod = GetModulePosition(#Mod) 
    LigPos = GetModuleRow(#Mod)     
  
EndProcedure

; - Oldschool part
Procedure OldschoolPart()

  PositionY = 0
  For i = 1 To HeightImg17
    ClipSprite(#Img18,0, PositionY, SpriteWidth(#Img18), 1)
    DisplayTranslucentSprite(#Img18, CentreXImg17 + Cos(i*20-Anl)+(Sin((Anl + i * Pas) * 0.0174533 ) * Ampli), CentreYImg17 + i,IntenImg17)
    PositionY + 1
  Next i
  
  PosY = 0
  For i = 1 To HeightImg18
    ClipSprite(#Img17,PosX, PosY, SpriteWidth(#Img17),1)
    DisplayTranslucentSprite(#Img17,CentreXImg18 + Cos(i*20-Anl)+(Sin((Anl + i * Pas) * 0.0174533 ) * Ampli), CentreYImg18 + i - Sin(i+Anl),IntenImg18)
    PosY + 1
  Next i
  
  PosYY = 0
  For i = 1 To HeightImg19
    ClipSprite(#Img19,0, PosYY, SpriteWidth(#Img19),1)
    DisplayTranslucentSprite(#Img19,CentreXImg19 - i - Sin((Anl - i)*0.0020) * 20,480 + Cos((Anl+i*8)*0.015)*20,IntenImg19)
    PosYY + 1
  Next i

  PosYYY = 0
  For i = 1 To HeightImg20
    ClipSprite(#Img20,0, PosYYY, SpriteWidth(#Img20),1)
    DisplayTranslucentSprite(#Img20,CentreXImg20 + Cos(i/3+Anl+Sqr(i)),600 + i*2,IntenImg20)
    PosYYY + 1
  Next i
   
  Anl + 5
  If IntenImg17 <= 252.0 And Temp <= 220 ; A changer aprés ^^
    IntenImg17 + 2.0
  EndIf
  If IntenImg18 <= 252.0 And Temp <= 220
    IntenImg18 + 4.0
  EndIf
  If IntenImg19 <= 252.0 And Temp <= 220
    IntenImg19 + 4.0
  EndIf
  If IntenImg20 <= 252.0 And Temp <= 220
    IntenImg20 + 4.0
  EndIf  
  
  
 
  Start3D()
  Sprite3DBlendingMode(5,2)
  
   For i = 0 To 1140 Step 3
       
    DisplaySprite3D(#Part3,-100 + i - Sin((Anl - i * 2)*0.010) * 20,0 + Cos((Anl+i*2)*0.025)*10,BlendingOlds)
    DisplaySprite3D(#Part3,-100 + i - Sin((Anl - i * 2)*0.010) * 20,700 + Cos((Anl+i*2)*0.025)*12,BlendingOlds)
       
   Next i
   
  Stop3D()
  
  
  If BlendingOlds <= 30.0 And Temp <= 220
     BlendingOlds + 0.8
  EndIf
  
  StartDrawing(ScreenOutput())
 
   For i = 0 To 200
    Box(XRuban + i - Sin((Anl - i * 2)*0.0020) * 20,480 + Cos((Anl+i*2)*0.025)*12,40,1,RGB(i+10,i+20,i+50))
   Next i
   XRuban + 3
   
   For i = 0 To 200
    Box(XRuban2 + i - Sin((Anl - i * 2)*0.0020) * 20,480 + Cos((Anl-i*2)*0.025)*12,40,1,RGB(i+10,i+20,i+50))
   Next i
   If XRuban >= 980
     XRuban2 - 3
   EndIf
   
   If Temp >= 270
    For i = 0 To 200
     Box(XRuban3 + i - Sin((Anl - i * 2)*0.0020) * 20,550 + Cos((Anl+i*2)*0.025)*12,40,24,RGB(i,i+30,i+50))
    Next i
    XRuban3 + 3
    If IntenImg18 >= 0.0
      IntenImg18 - 6.0
      IntenImg19 - 6.0
    EndIf
   EndIf
   
   If Temp >= 270 And Temp <= 286
     For i = 0 To 200
       Box(450 + Cos(Transform+i*11)*200,200 + i + Cos((Anl+i)*0.035)*20,100,100,RGB(i,i+40,i+50))
     Next i 
     Transform + 0.01
    EndIf
    
    If Temp > 286 And Temp <= 302
     For i = 0 To 200
      Box(X1 + 450 + Cos(Transform+i*22)*200,200 + i + Cos((Anl+i)*0.035)*20,100,100,RGB(i,i+40,i+50))
     Next i 
     Transform + 0.01
    EndIf
    
    If Temp > 302 And Temp <= 318
     For i = 0 To 200
      Box(X1 + 450 + Cos(Transform+i*33)*200,200 + i + Cos((Anl+i)*0.035)*20,100,100,RGB(i,i+40,i+50))
     Next i 
     Transform + 0.01
    EndIf
    
    If Temp > 318
     For i = 0 To 200
      Box(X1 + 450 + Cos(Transform+i*44)*200,200 + i + Cos((Anl+i)*0.035)*20,100,100,RGB(i,i+40,i+50))
     Next i 
     Transform + 0.04
    EndIf
    
    
   DrawingMode(1)
  
   DrawingFont(FontID(#Font))
   FrontColor(RGB(100,250,255))
   
   DrawText(XScrollText,210+Cos(Anl)+Sin(Anl)*4,"Bienvenue dans la partie oldschool, désolé pour ce scrolltext minable mais je n'avais pas trop le temps de finir la partie oldschool. La partie oldschool ne devait pas avoir lieu mais je devais revaloriser ce côté lointain, oublié de la demoscene alors qu'elle a débuté avec celui-ci qui pour moi reste le meilleur de la demoscene! / Welcome to the oldschool part, sorry for a bad scrolltext. Oldschool FOREVER ! Attendez !!!! Allons voir la 3D oldschool maintenant !!!! / Wait !!!! Go to 3D oldschool now !!!!")
   
   XScrollText - 5
   
   If PosMod >= 16 And LigPos >= 63 And Mod1 = 1
      StopModule(#ModCerror)
      PlayModule(#ModCerror2)
      Mod1 = 0
      module = 3
   EndIf
   If Temp > 290
      Mod2 = 1
   EndIf
   If PosMod >= 13 And LigPos >= 0 And Mod2 = 1
     If BlendingOlds >= 0.0
       BlendingOlds - 0.8
     EndIf
     If IntenImg17 >= 0.0
      IntenImg17 - 6.0
      IntenImg20 - 6.0
     EndIf
   EndIf
   If PosMod >= 13 And LigPos >= 62 And Mod2 = 1
      StopModule(#ModCerror2)
      PlayModule(#ModCerrorEndPart)
      Mod2 = 0
      module = 4
      OldschoolPart  = 0
      NewsSchoolPart = 0
      EndPart        = 1
   EndIf
   
  StopDrawing()

EndProcedure

; - End Part
Procedure EndPart()

 DisplaySprite(#Credits,240,YCredits)
 YCredits - 1
 
 Start3D()
   Sprite3DBlendingMode(5,2)
  
   For i = 0 To 820 Step 3
       
    DisplaySprite3D(#Part1,0 - Sin((Anl - i * 2)*0.050) * 20,-80 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd)
    DisplaySprite3D(#Part1,900 - Sin((Anl - i * 2)*0.050) * 20,-80 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd)
   
   Next i 
   
   Sprite3DBlendingMode(5,2)
 
   For i = 0 To 100
   
    DisplaySprite3D(#Part4,100,580 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd2)
    DisplaySprite3D(#Part4,810,580 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd2)
    
    DisplaySprite3D(#Part4,100,-20 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd2)
    DisplaySprite3D(#Part4,810,-20 + i + Cos((Anl+i*2)*0.025)*10,BlendEnd2)
   
   Next i
   
   Anl + 10
   
   If BlendEnd <= 80.0 And PosMod <= 10
     BlendEnd + 2.0
   EndIf
   If BlendEnd2 <= 10.0 And PosMod <= 10
     BlendEnd2 + 1.0
   EndIf
    
 Stop3D()
 
 If PosMod >= 18 And LigPos >= 0
   If BlendEnd >= 4.0
     BlendEnd - 4.0
   EndIf
   If BlendEnd2 >= 2.0
     BlendEnd2 - 2.0
   EndIf
 EndIf
 
 If PosMod >= 18 And LigPos >= 60
 
   StopModule(#ModCerrorEndPart)
   Quit = 1
   
 
 EndIf

EndProcedure

; - Boucle

Repeat
    
    ExamineKeyboard()
    ClearScreen(RGB(0,0,0))

    ; - Go demo !!!
    Timer()
    
    If NewsSchoolPart = 1 And OldschoolPart = 0 And EndPart = 0
      NewsSchoolPart()
    ElseIf NewsSchoolPart = 0 And OldschoolPart = 1 And EndPart = 0
      OldschoolPart()
    ElseIf NewsSchoolPart = 0 And OldschoolPart = 0 And EndPart = 1
      EndPart()
    EndIf
    
 
    FlipBuffers()
    
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1

End

; Note de coolman : a priori j'ai trouve ces lignes apres le end, ce qui suppose qu'elles ne sont pas
; executé, j'ai donc enlevé le end ici et place en fin de programme, dans ce cas il y'a eu une erreur 
; grave en fin de programme (division par zero si j'ai bien compris), bizarre, ces commandes sont
; supposés liberer la memoire et rien d'autres, je n'ai pas le temps de deboguer, j'ai donc remis le 
; End ci dessus comme trouvé initiallement... 

; - Libération du module en mém.
FreeModule(#Mod) 
FreeModule(#ModCerror)
FreeModule(#ModCerror2)
FreeModule(#ModCerrorEndPart)


; - Libération des sprites 3D en mém.
; - Sprite 3D Texture
FreeSprite3D(#Part1) 
FreeSprite3D(#Part2) 
FreeSprite3D(#Part3) 
FreeSprite3D(#Part4) 

; - Font
FreeFont(#Font) 

; - Sprite 3D Greets
FreeSprite3D(#Calodox) 
FreeSprite3D(#Exceed) 
FreeSprite3D(#Div0) 
FreeSprite3D(#Kstorm) 
FreeSprite3D(#Halcyon) 
FreeSprite3D(#Blasphemy) 
FreeSprite3D(#Mindforce) 
FreeSprite3D(#SynRj) 
FreeSprite3D(#Conspiracy) 
FreeSprite3D(#Tpolm) 
FreeSprite3D(#Kikiprods) 
FreeSprite3D(#Farbrausch) 
FreeSprite3D(#Fairlight) 
FreeSprite3D(#Mandula) 
FreeSprite3D(#MFX) 
FreeSprite3D(#Epidemic) 
FreeSprite3D(#Equinox) 
FreeSprite3D(#Bypass) 
FreeSprite3D(#Bgames) 

End
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Merci pour le lien !! :D je l'avais complétement perdu :x

Je vais l'optimiser sous PB402 pour qu'elle tourne sur toutes les machines (j'ai des problèmes ici avec une 6600Gt sur la partie oldschool) et régler les bugs de timer dû au code un peu spaghetti :> (ici ça va trop vite) ainsi que faire quelques modifications sur les textes.

@Coolman : Merci pour les ptites modifs, pour le end il à étaît placer là à cause d'un bug avec les free que j'arriver pas à corriger. ça devrait être régler dans la prochaine version ;)
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Le lien est mort ?
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour,

nan regarde en page 2 au dessus de mon 1er message raven a remis un lien :wink: .


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Pour faire des démos , Fred nous a pondu une petite lib
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

comtois a écrit :Pour faire des démos , Fred nous a pondu une petite lib
cela concerne la musique seulement ! (Module) :)

ps : lorsque j'ai lu ça, j'ai esperé une lib avec des effets style starfield ect ... :lol:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

oui on se demande ce que fait Fred de ses soirées, même pas une petite lib d'effets graphiques à se mettre sous la dent :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
raven
Messages : 222
Inscription : jeu. 06/janv./2005 15:45

Message par raven »

une petite lib graphique je serait preneur.

j'ai acheter le pure pour faire de la demo olschool et pour apprendre a

coder ces fameux effets de l'epoque amiga,j'ai chercher un peu partout

sur le net des bouts des codes et j'ai pas trouvé beaucoup de source a

etudier ou j'ai pas chercher au bon endroit.

si vous aurez des liens ou quelque chose du genre je serait interessé.

voici une petite demo qui n'est pas terminer que j'ai fait reçament en pure.

http://dl.free.fr/ZozzzSGQ/beastdemo.rar
Répondre