CodeArchiv für PB v4 - aktueller Status & Mithelfer gesu

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

blbltheworm hat geschrieben:So ich hatte auch mal wieder ein wenig Zeit.
Da der CabBoy nach herunterladen der benötigten DLL recht leicht zu konvertieren war gibt es hier:
http://www.digital-joga.de.vu/Cab_Boy.pb
die unter PB4 lauffähige Version zum Download.
Danke, habs schon integriert. :D

@Alle: habe gestern auch noch den kompletten "Window"-Ordner fertiggestellt, das Erfreuliche dabei: mit den Vorarbeiten von blbtheworm und eigenen Konvertierungen ist kein offener Code übrig geblieben! :mrgreen:

Damit sind jetzt grad noch reichlich 180 Codes von den über 1300 des CodeArchivs übrig.
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

http://www.purearea.net/pb/CodeArchiv/G ... ureDemo.pb

Code: Alles auswählen

; www.PureArea.net
; Author: jammin
; Date: 26. November 2003

;Texturdemo
;quick and dirty hacked version
;programmed with Purebasic by jammin
;load textures with the buildin decoders of Purebasic :) )
;for the moment all textures must have the size of 2^n * 2^n !
;email : tmpa@gmx.de
Global width.l
Global height.l
Global start.b
Global opengl.l
IncludeFile "OpenGL.pbi"

UseJPEGImageDecoder()

;try the other formats!

;UsePNGImageDecoder()
;UseTIFFImageDecoder()
;UseTGAImageDecoder()

Procedure DrawCube2()
 
 glBegin_(#GL_Quads)
  
        One.f = 1.0
        Null.f = 0.0
        Minus.f = -1.0
        One1.f = 1.50
        Minus1.f = -1.0
        
        glNormal3f_( minus, null, null )
        glTexCoord2f_( null, null ) : glVertex3f_( minus1,minus1, one1 )
        glTexCoord2f_( one, null ) : glVertex3f_(  one1,minus1, one1 )
        glTexCoord2f_( one, one ) : glVertex3f_(  one1, one1, one1 )
        glTexCoord2f_( null, one ) : glVertex3f_( minus1, one1, one1 )
        
 glEnd_()
  
EndProcedure



Procedure _CreateTexture(pData.l)


  If pData = 0
    MessageBox_(0, "unable to load texture", ":textureLib", #MB_OK | #MB_ICONERROR)
  Else

    glGenTextures_(1, @texture)
    glBindTexture_(#GL_TEXTURE_2D, texture)
    glTexEnvi_(#GL_TEXTURE_ENV, #GL_TEXTURE_ENV_MODE, #GL_DECAL) 
    glTexParameteri_(#GL_TEXTURE_2D, #GL_TEXTURE_MIN_FILTER, #GL_LINEAR)  ; all of the above can be used
  
  EndIf


  glTexImage2D_(#GL_TEXTURE_2D, 0, #GL_RGB, width, height, 0, #GL_RGB, #GL_UNSIGNED_BYTE, pData)   ; Use when not wanting mipmaps to be built by openGL


 ProcedureReturn texture

EndProcedure 


Procedure loadTextureMem(memloc.l)
 
  img=CatchImage(0, ?opengl)

  width.l=ImageWidth(0) 
  height.l=ImageWidth(0)  
  size.l=ImageWidth(0) * ImageHeight(0)

  Dim bitmapImage.b (size.l*3) ;memorysize for rgb colors


  CreateImage(1,width ,height ) 

  StartDrawing(ImageOutput(0)) 
  DrawImage(img,0,0)  


   For y=0 To height-1 
      For x=0 To width-1 
       
        color=Point(x,y)   
        bitmapImage(i)=Red(color)
        i=i+1
        bitmapImage(i)=Green(color)
        i=i+1
        bitmapImage(i)=Blue(color) 
        i=i+1
      
      Next 
    Next 
 
   StopDrawing() 
 
  ; create texture
  texture = _CreateTexture(bitmapImage())

 

  ProcedureReturn texture

  ;clear memory
  FreeImage(img)
  Dim bitmapImage.b(0)

EndProcedure



Procedure HandleError (Result, Text$)
 If Result = 0
   MessageRequester("Error", Text$, 0)
   End
 EndIf
EndProcedure

Procedure DrawScene(hdc)
  
   If start=0
  
    glMatrixMode_(#GL_PROJECTION)
    glLoadIdentity_()
    ;gluPerspective_(45.0, 640.0/480.0, 1.0, 100.0)
    p1.d = 45.0
    p2.d = 640.0/480.0
    p3.d = 1.0
    p4.d = 100.0
    gluPerspective_(p1,PeekF(@p1+4), p2,PeekF(@p2+4) ,p3,PeekF(@p3+4), p4,PeekF(@p4+4))
    glMatrixMode_(#GL_MODELVIEW)

    opengl= LoadTextureMem(?opengl)
    
    start=1
  
   EndIf
  

  glEnable_(#GL_DEPTH_TEST);
  glDepthFunc_(#GL_LEQUAL);
  glShadeModel_(#GL_SMOOTH)
  glClearColor_( 0.0, 0.0, 0.0, 0.0 )
  glClear_(#GL_COLOR_BUFFER_BIT);
  glClear_(#GL_DEPTH_BUFFER_BIT)
  glMatrixMode_(#GL_MODELVIEW)
  glLoadIdentity_();            
   


glEnable_(#GL_TEXTURE_2D)


  

      glTranslatef_(-0.3,-0.20,-6.0)
      glBindTexture_(#GL_TEXTURE_2D, opengl)
   
      drawcube2()
  
  
      glDisable_(#GL_TEXTURE_2D)
  
  
  SwapBuffers_(hdc)
  
EndProcedure

pfd.PIXELFORMATDESCRIPTOR

FlatMode = 0 ; Enable Or disable the 'Flat' rendering

WindowWidth = 640 ; The window & GLViewport dimensions
WindowHeight = 480




hWnd = OpenWindow(0, 0, 0, WindowWidth, WindowHeight, "EchtZeit Texturdemo", #PB_Window_SystemMenu)

hdc = GetDC_(hWnd)

pfd\nSize = SizeOf(PIXELFORMATDESCRIPTOR)
pfd\nVersion = 1
pfd\dwFlags = #PFD_SUPPORT_OPENGL | #PFD_DOUBLEBUFFER | #PFD_DRAW_TO_WINDOW
pfd\dwLayerMask = #PFD_MAIN_PLANE
pfd\iPixelType = #PFD_TYPE_RGBA
pfd\cColorBits = 24
pfd\cDepthBits = 16 

pixformat = ChoosePixelFormat_(hdc, pfd)

HandleError( SetPixelFormat_(hdc, pixformat, pfd), "SetPixelFormat()")

hrc = wglCreateContext_(hdc)

HandleError( wglMakeCurrent_(hdc,hrc), "vglMakeCurrent()")

HandleError( glViewport_ (0, 0, WindowWidth, WindowHeight), "GLViewPort()")

While Quit = 0

Repeat 
EventID = WindowEvent()

Select EventID
Case #PB_Event_CloseWindow
Quit = 1
EndSelect

Until EventID = 0

DrawScene(hdc)
Wend

DataSection

opengl:

IncludeBinary "..\Examples\Sources\Data\terrain_detail.jpg"


EndDataSection
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@Deeem2031: Danke! Ist integriert.

Habe am "Windows_System"-Ordner weitergearbeitet. Ergebnisse siehe erster Post (ein neuer noch zu konvertierender Code ist hinzugekommen).
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Nachdem ich jetzt den ganzen Sonntag in die restliche Konvertierung des CodeArchivs investiert habe, kann ich folgendes vermelden:

- alle Ordner sind konvertiert :D
- Danke nochmal an alle, die bis hierhin geholfen haben - ein besonderes Dankeschön an 'blbtheworm' mit dem allergrößten Anteil
- von den insgesamt 1319 Codes im CodeArchiv sind damit derzeit noch ganze 28 Codes offen, wo es Probleme mit der Konvertierung gab (siehe dazu erstes Posting in diesem Thread)

Wer hier noch helfen kann, den bitte ich um seine/ihre Unterstützung. :allright:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

http://www.purearea.net/pb/CodeArchiv/W ... Folders.pb

Bissel Ähnlichkeit ist vorhanden :mrgreen:

Code: Alles auswählen

; English forum: http://purebasic.myforums.net/viewtopic.php?t=6563&start=45
; Author: high key
; Date: 26. September 2003
; OS: Windows
; Demo: No

Declare.s GetSpecialfolder(CSIDL) 


#CSIDL_DESKTOP = 0 
#CSIDL_PROGRAMS = 2 
#CSIDL_CONTROLS = 3 
#CSIDL_PRINTERS = 4 
#CSIDL_PERSONAL = 5 
#CSIDL_FAVORITES = 6 
#CSIDL_STARTUP = 7 
#CSIDL_RECENT = 8 
#CSIDL_SENDTO = 9 
#CSIDL_BITBUCKET = $A 
#CSIDL_STARTMENU = $B 
#CSIDL_DESKTOPDIRECTORY = $10 
#CSIDL_DRIVES = $11 
#CSIDL_NETWORK = $12 
#CSIDL_NETHOOD = $13 
#CSIDL_FONTS = $14 
#CSIDL_TEMPLATES = $15 



CompilerIf Defined(shItemID, #PB_Structure) = #False
Structure shItemID 
    cb.l 
    abID.b 
EndStructure
CompilerEndIf

CompilerIf Defined(ItemIDlist, #PB_Structure) = #False
Structure ItemIDlist 
    mkid.shItemID 
EndStructure 
CompilerEndIf


a$= "Start menu folder: " + GetSpecialfolder(#CSIDL_STARTMENU) 
b$= "Favorites folder: " + GetSpecialfolder(#CSIDL_FAVORITES) 
c$= "Programs folder: " + GetSpecialfolder(#CSIDL_PROGRAMS) 
d$= "Desktop folder: " + GetSpecialfolder(#CSIDL_DESKTOP) 
e$= "Startup folder: " + GetSpecialfolder(#CSIDL_STARTUP) 

    
MessageRequester("Info",a$+Chr(13)+b$+Chr(13)+c$+Chr(13)+d$+Chr(13)+e$,0) 

Procedure.s GetSpecialFolder(CSIDL.l)
  Protected *itemid.ITEMIDLIST = #Null
  Protected location.s = Space (#MAX_PATH)

  If SHGetSpecialFolderLocation_ (0, CSIDL, @*itemid) = #NOERROR
    If SHGetPathFromIDList_ (*itemid, @location)
      If Right(location, 1) <> "\" : location + "\" : EndIf
      ProcedureReturn location
    EndIf
  EndIf
EndProcedure
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

@ts-soft: danke, der neue Code ist integriert. :)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Um die Dinge vielleicht nochmal etwas übersichtlicher zu machen, nachfolgend eine Liste aller derzeit noch offenen Codes. Ich habe außerdem den originalen Autor in Klammern dahinter geschrieben.

http://www.purearea.net/pb/CodeArchiv/D ... tabases.pb (El_Choni)
http://www.purearea.net/pb/CodeArchiv/G ... ktypes2.pb (CyberRun8)
http://www.purearea.net/pb/CodeArchiv/G ... tArrows.pb (Danilo)
http://www.purearea.net/pb/CodeArchiv/G ... Images3.pb (Denis)
http://www.purearea.net/pb/CodeArchiv/G ... yColumn.pb (unknown)
http://www.purearea.net/pb/CodeArchiv/G ... nctions.pb (Freak)
http://www.purearea.net/pb/CodeArchiv/G ... Objects.pb (Franco)
http://www.purearea.net/pb/CodeArchiv/G ... Runtime.pb (Danilo)
http://www.purearea.net/pb/CodeArchiv/G ... ision3D.pb (Comtois)
http://www.purearea.net/pb/CodeArchiv/G ... -Editor.pb (LJ)
http://www.purearea.net/pb/CodeArchiv/G ... haBlend.pb (Mischa)
http://www.purearea.net/pb/CodeArchiv/G ... Matrix1.pb (Comtois)
http://www.purearea.net/pb/CodeArchiv/G ... Matrix2.pb (Psychophanta)
http://www.purearea.net/pb/CodeArchiv/G ... eIcons1.pb (freak)
http://www.purearea.net/pb/CodeArchiv/G ... eIcons2.pb (freak)
http://www.purearea.net/pb/CodeArchiv/G ... Example.pb (unknown)
http://www.purearea.net/pb/CodeArchiv/G ... unnel03.pb (traumatic)
http://www.purearea.net/pb/CodeArchiv/G ... TheCube.pb (jammin)
http://www.purearea.net/pb/CodeArchiv/G ... pScreen.pb (Stefan)
http://www.purearea.net/pb/CodeArchiv/I ... ck_Test.pb (GPI)
http://www.purearea.net/pb/CodeArchiv/I ... +delete.pb (ricardo)
http://www.purearea.net/pb/CodeArchiv/M ... /FNEval.pb (tejon)
http://www.purearea.net/pb/CodeArchiv/M ... al_Test.pb (tejon)
http://www.purearea.net/pb/CodeArchiv/W ... _SnagIt.pb (cecilcheah)
http://www.purearea.net/pb/CodeArchiv/W ... e_Win9x.pb (spangly)

Diese Liste habe ich heute auch im englischen Forum gepostet, um vielleicht noch mehr Helfer zu erreichen... :wink:
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Das "(unknown)" is gut, es steht ja auch garnicht im Code drin "OpenWindow(0, 200, 200, 300, 300, #PB_Window_SystemMenu, "First OpenGL - by DarkDragon")" ;)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Deeem2031 hat geschrieben:
Das "(unknown)" is gut, es steht ja auch garnicht im Code drin "OpenWindow(0, 200, 200, 300, 300, #PB_Window_SystemMenu, "First OpenGL - by DarkDragon")" ;)
Jaja, Meister :mrgreen:
Werds schonmal noch ändern - aber erst, wenn DD auch seinen Code auf PB v4 konvertiert hat... :twisted:

Im übrigen ist jetzt mit Hilfe des englischen Forums der Rest an 3D-Grafik-Codes konvertiert. Habe die Liste im ersten Posting aktualisiert.

Wie siehts mit weiterer Hilfe aus?
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

http://www.purearea.net/pb/CodeArchiv/G ... pScreen.pb

Code: Alles auswählen

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=2205&postdays=0&postorder=asc&start=60
; Author: Stefan Moebius
; Date: 14. September 2003

; Alternative for PB command FlipBuffers(), which doesn't depend on the refresh-rate of the monitor

; Ersatzbefehl für Flipbuffers() ,der nicht von der Refreshrate des Monitors abhängig ist.

;Funktioniert nur im Fullscreenmodus. 
#DDBLTFAST_WAIT=16
  
Procedure GetBackDDS() 
  !extrn _PB_DirectX_BackBuffer 
  !MOV Eax,[_PB_DirectX_BackBuffer] 
  ProcedureReturn 
EndProcedure 

Procedure GetPrimaryDDS() 
  !extrn _PB_DirectX_PrimaryBuffer 
  !MOV Eax,[_PB_DirectX_PrimaryBuffer] 
  ProcedureReturn 
EndProcedure 

Procedure FlipScreen() 
  *DDS.IDirectDrawSurface7=GetPrimaryDDS()
  While PeekMessage_(msg.MSG,0,0,0,#PM_REMOVE)
    TranslateMessage_(msg) 
    DispatchMessage_(msg) 
  Wend
  *DDS\BltFast(0,0,GetBackDDS(),0,#DDBLTFAST_WAIT)
EndProcedure 
Antworten