Aktuelle Zeit: 25.05.2018 22:47

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 39 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 18:43 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
Hallöchen
ich schreibe gerade ne Engine / ein Spiel das "Like a Boss" ... ähh "Like DooM" ist
und möchte einfach mal hier mein Quellcode teilen, damit ihr mir Anregungen und Tipps geben könnt

Das Project ist KOMPLETT OpenSource und wird ( sobald ich zeit dafür finde ) der GPL unterliegen ;)

Video vom 24.04.2018 um 16:00 > https://youtu.be/t3MgppQJSnM

main.pb
-------------------------------------------------------------------------------------------------------------------
Code:
Global width = 1280
Global height = 720
Global px.f,py.f,ph.f=100,pa.f
Global OutputDriver = 2 ; 0 = ImageGadget
                         ; 1 = WindowsOutput
                         ; 2 = WindowedScreen ( stable / default )
                         ; 3 = Fullscreen
                         ; 4 = FBdev ( Z:\dev\fb0 ) ( not implimented yet )
                         ; 5 = CanvasGadget
Global DebugMode = 1
EnableExplicit

XIncludeFile "output.pbi"
XIncludeFile "textures.pbi"
XIncludeFile "render.pbi"

OpenConsole()
UsePNGImageDecoder()
InitKeyboard()

Define eTime, time, delay

If Not InitOutput(OutputDriver)
  End
EndIf

DummyTex(0,32,RGB(85,85,85),RGB(170,170,170))
DummyTex(1,32,RGB(0,0,85),RGB(85,85,255))
DummyTex(2,32,RGB(0,85,0),RGB(85,255,85))
DummyTex(3,32,RGB(85,0,0),RGB(255,85,85))

Repeat
  eTime = ElapsedMilliseconds()+1000
  delay = eTime - time
  time = eTime
  SetOutputTitle(OutputDriver,StrF(1000/delay,2))
 
 
  If Not InitOutputDrawing(OutputDriver) : MessageRequester("","StartDrawing()",16) : End : EndIf
  ClearScene()
 
  drawFlat(-200,0,-200,400,200,400,200,0,0,0)
  DrawCelling(-200,0,-200,400,200,400,200,0,255,0,i,i,0)
  drawWall(-200,0,-200,400,0,256,2,-i,0)
  drawWall(200,0,200,400,0,256,3,0,-i)
  i + 3
 
  StopOutputDrawing(OutputDriver)
 
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_A)
    If KeyboardPushed(#PB_Key_E)
      py + Sin(Radian(pa))*delay/2
      px + Cos(Radian(pa))*delay/2
    Else
      py + Sin(Radian(pa))*delay/5
      px + Cos(Radian(pa))*delay/5
    EndIf
  EndIf
  If KeyboardPushed(#PB_Key_D)
    If KeyboardPushed(#PB_Key_E)
      py - Sin(Radian(pa))*delay/2
      px - Cos(Radian(pa))*delay/2
    Else
      py - Sin(Radian(pa))*delay/5
      px - Cos(Radian(pa))*delay/5
    EndIf
  EndIf
  If KeyboardPushed(#PB_Key_W) Or KeyboardPushed(#PB_Key_Up)
    If KeyboardPushed(#PB_Key_E)
      px - Sin(Radian(pa))*delay/2
      py + Cos(Radian(pa))*delay/2
    Else
      px - Sin(Radian(pa))*delay/5
      py + Cos(Radian(pa))*delay/5
    EndIf
  EndIf
  If KeyboardPushed(#PB_Key_S) Or KeyboardPushed(#PB_Key_Down)
    If KeyboardPushed(#PB_Key_E)
      px + Sin(Radian(pa))*delay/2
      py - Cos(Radian(pa))*delay/2
    Else
      px + Sin(Radian(pa))*delay/5
      py - Cos(Radian(pa))*delay/5
    EndIf
  EndIf
  If KeyboardPushed(#PB_Key_Left)
    pa - delay/10
  EndIf
  If KeyboardPushed(#PB_Key_Right)
    pa + delay/10
  EndIf
  If KeyboardPushed(#PB_Key_Escape)
    End
  EndIf
  OutputStuff(OutputDriver)
ForEver


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

math.pbi
-------------------------------------------------------------------------------------------------------------------
Code:
Procedure.f arcsin(x.f)
  ProcedureReturn Degree(ASin(x))
EndProcedure
Procedure.f arccos(x.f)
  ProcedureReturn Degree(ACos(x))
EndProcedure
Procedure.f ClipF(x.f,min.f,max.f)
  If x < min
    ProcedureReturn min
  ElseIf x > max
    ProcedureReturn max
  Else
    ProcedureReturn x
  EndIf
EndProcedure
Procedure.f PageF(x.f,min.f,max.f)
  Repeat
    If x < min
      x + ( max - min )
    ElseIf x > max
      x - ( max - min )
    Else
      ProcedureReturn x
    EndIf
  ForEver
EndProcedure

Global Dim CosR.f(360000)
Global Dim SinR.f(360000)
Define i
For i = 0 To 359999
  CosR(i) = Cos(Radian(i/1000))
  SinR(i) = Sin(Radian(i/1000))
Next


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

output.pbi
-------------------------------------------------------------------------------------------------------------------
Code:
Procedure InitOutput(OutputDriver)
  Select OutputDriver
    Case 0
      PrintN("Use ImageGadgetOutput")
      If OpenWindow(0,0,0,width,height,"",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
        If CreateImage(0,width,height)
          If ImageGadget(0,0,0,0,0,ImageID(0))
            PrintN("Open ImageGadgetOutput successful")
            ProcedureReturn 1
          EndIf
        EndIf
      EndIf
      PrintN("Cannot open ImageGadgetOutput") : End
    Case 1
      PrintN("Use WindowOutput")
      If OpenWindow(0,0,0,width,height,"",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
        PrintN("Open WindowOutput successful")
        ProcedureReturn 1
      EndIf
      PrintN("Cannot open WindowOutput") : End
    Case 2
      PrintN("Use WindowedScreenOutput")
      If InitSprite()
        If OpenWindow(0,0,0,width,height,"",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
          If OpenWindowedScreen(WindowID(0),0,0,width,height)
            PrintN("Open WindowedScreenOutput successful")
            ProcedureReturn 1
          EndIf
        EndIf
      EndIf
      PrintN("Cannot open WindowedScreenOutput") : End
    Case 3
      PrintN("Use FullscreenOutput")
      If InitSprite()
        If OpenScreen(width,height,32,"")
          PrintN("Open FullscreenOutput successful")
          ProcedureReturn 1
        EndIf
      EndIf
      PrintN("Cannot open FullscreenOutput") : End
    Case 4
      PrintN("Use FBDevOutput")
      PrintN("FBDevOutput not implimented yet -> exit") : End
    Case 5
      PrintN("Use CanvasGadgetOutput")
      If OpenWindow(0,0,0,width,height,"",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
        If CanvasGadget(0,0,0,width,height)
          PrintN("Open CanvasGadgetOutput successful")
          ProcedureReturn 1
        EndIf
      EndIf
      PrintN("Cannot open CanvasGadgetOutput") : End
    Default
      PrintN("Selected Output not implimented yet -> exit") : End
  EndSelect
EndProcedure

Procedure SetOutputTitle(OutputDriver,str$)
  Select OutputDriver
    Case 0
      SetWindowTitle(0,str$)
    Case 1
      SetWindowTitle(0,str$)
    Case 2
      SetWindowTitle(0,str$)
    Case 5
      SetWindowTitle(0,str$)
  EndSelect
EndProcedure

Procedure InitOutputDrawing(OutputDriver)
  Select OutputDriver
    Case 0
      ProcedureReturn StartDrawing(ImageOutput(0))
    Case 1
      ProcedureReturn StartDrawing(WindowOutput(0))
    Case 2
      ProcedureReturn StartDrawing(ScreenOutput())
    Case 3
      ProcedureReturn StartDrawing(ScreenOutput())
    Case 5
      ProcedureReturn StartDrawing(CanvasOutput(0))
  EndSelect
EndProcedure

Procedure StopOutputDrawing(OutputDriver)
 
  If Not OutputDriver
   
  EndIf
  Select OutputDriver
    Case 0
      StopDrawing()
      SetGadgetState(0,ImageID(0))
    Case 1
      StopDrawing()
    Case 2
      StopDrawing()
      FlipBuffers()
    Case 3
      StopDrawing()
      FlipBuffers()
    Case 5
      StopDrawing()
  EndSelect
EndProcedure

Procedure OutputStuff(OutputDriver)
  Repeat
    Select WindowEvent()
      Case #PB_Event_CloseWindow
        End
      Case 0
        ;Delay(10)
        Break
    EndSelect
  ForEver
EndProcedure


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

render.pbi
-------------------------------------------------------------------------------------------------------------------
Code:
XIncludeFile "math.pbi"

Global Scale.f = height / 200
Global Dim ZBuffer.l(width,height)

Procedure DrawPoint(x.f,y.f,z.f,c)
  Define xt.f,yt.f,xp,yp
  xt = x + px : yt = y - py : z  = z - ph     ; Add Player Cordinates
  x = xt*CosR(Int(PageF(pa*1000,0,360000)))-yt*SinR(Int(PageF(pa*1000,0,360000))) ; Rotate Cordinates
  y = xt*SinR(Int(PageF(pa*1000,0,360000)))+yt*CosR(Int(PageF(pa*1000,0,360000)))
  If y > 0
    xp = ((x*Scale) / (y/200)) + (width/2)
    yp = (((-z)*Scale) / (y/200)) + (height/2)
    If ( xp > -1 ) And ( xp < width ) And ( yp > -1 ) And ( yp < height )
      Box(xp-1,yp-1,3,3,c) ;Plot(xp,yp,c)
    EndIf
  EndIf
EndProcedure

Procedure horizline(x1,x2,y,g,tex,dx,dy,rot)
  Define x
  For x = x1 To x2
    DrawPoint(x,y,g,GetTexPixel(tex,x+dx,y+dy,rot))
  Next
EndProcedure

; g = Groundoffset
Procedure DrawTri(x1.f,y1.f,x2.f,y2.f,x3.f,y3.f,g.f,tex=0,dx=0,dy=0,rot=0)
  ; code based on http://www-users.mat.uni.torun.pl/~wrona/3d_tutor/tri_fillers.html
  Define dx1.f,dx2.f,dx3.f,xS.f,yS.f,xE.f,yE.f
 
  If y2 < y1 : Swap x1,x2 : Swap y1,y2 : EndIf ; Sorting
  If y3 < y2 : Swap x2,x3 : Swap y2,y3 : EndIf
  If y2 < y1 : Swap x1,x2 : Swap y1,y2 : EndIf
 
  If y2-y1 > 0 : dx1=(x2-x1)/(y2-y1) : Else : dx1=0 : EndIf ; Calc Delta
  If y3-y1 > 0 : dx2=(x3-x1)/(y3-y1) : Else : dx2=0 : EndIf
  If y3-y2 > 0 : dx3=(x3-x2)/(y3-y2) : Else : dx3=0 : EndIf

  xS = x1 : yS = y1 : xE = x1 : yE = y1
   If(dx1 > dx2)
      Repeat
        yS+1 : yE+1 : xS+dx2 : xE+dx1
         horizline(xS,xE,yS,g,tex,dx,dy,rot)
      Until yS > y2
      xE = x2 : yE = y2
      Repeat
        yS+1 : yE+1 : xS+dx2 : xE+dx3
         horizline(xS,xE,yS,g,tex,dx,dy,rot)
      Until yS > y3
   Else
      Repeat
        yS+1 : yE+1 : xS+dx1 : xE+dx2
         horizline(xS,xE,yS,g,tex,dx,dy,rot)
      Until yS > y2
      xS = x2 : yS = y2
      Repeat
        yS+1 : yE+1 : xS+dx3 : xE+dx2
         horizline(xS,xE,yS,g,tex,dx,dy,rot)
      Until yS > y3
   EndIf
EndProcedure

Procedure DrawFlat(x1.f,y1.f,x2.f,y2.f,x3.f,y3.f,x4.f,y4.f,g.f,tex=0,dx=0,dy=0,rot=0)
  DrawTri(x1,y1,x2,y2,x3,y3,g,tex,dx,dy,rot)
  DrawTri(x3,y3,x4,y4,x1,y1,g,tex,dx,dy,rot)
EndProcedure

; h = Cellingoffset ( Height )
Procedure DrawCelling(x1.f,y1.f,x2.f,y2.f,x3.f,y3.f,x4.f,y4.f,h.f,tex=0,dx=0,dy=0,rot=0)
  DrawFlat(x1,y1,x2,y2,x3,y3,x4,y4,h,tex,dx,dy,rot)
EndProcedure

; g = Groundoffset
; h = Cellingoffset ( from Ground )
Procedure DrawWall(x1.f,y1.f,x2.f,y2.f,g.f,h.f,tex=0,dx=0,dy=0)
  Define l,tx,ty,x,y,i,s
  l = Sqr(((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2)))
  tx = 0
  For i = 0 To l
    x = (x1*(l-i))+(x2*i) : x / l
    y = (y1*(l-i))+(y2*i) : y / l
    ty = 0
    For s = 0 To h
      DrawPoint(x,y,g+s,GetTexPixel(tex,tx+dx,ty+dy))
      ty + 1
    Next
    tx + 1   
  Next
EndProcedure

Procedure ClearScene()
  Define x,y
  For y = 0 To height-1
    For x = 0 To width-1
      ZBuffer.l(x,y) = 16777215
    Next
  Next
  Box(0,0,width,height,0)
EndProcedure


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

textures.pbi
-------------------------------------------------------------------------------------------------------------------
Code:
XIncludeFile "math.pbi"

Global Dim ImageMemory(255,4)

Procedure LoadTex(num,name$)
  Define y,x,success
  Print("Loading Texture "+Chr(34)+name$+Chr(34)+" ... ")
  If LoadImage(1,name$)
    If StartDrawing(ImageOutput(1))
      ImageMemory(num,0) = 0
      ImageMemory(num,3) = AllocateMemory(ImageWidth(1)*ImageHeight(1)*4)
      If ImageMemory(num,3)
        ImageMemory(num,0) = 1
        ImageMemory(num,1) = ImageWidth(1)
        ImageMemory(num,2) = ImageHeight(1)
        For y = 0 To ImageMemory(num,2)-1
          For x = 0 To ImageMemory(num,1)-1
            PokeL(ImageMemory(num,3)+ImageMemory(num,1)*y*4+x*4,Point(x,y))
          Next
        Next
        PrintN("done")
        success = 1
      EndIf
      StopDrawing()
    EndIf
  EndIf
  If success
    ProcedureReturn 1
  Else
    PrintN("failed")
    End
  EndIf
EndProcedure
 
Procedure DummyTex(num,size,c1,c2)
  Define x,y
  Print("Create Texture ... ")
  ImageMemory(num,0) = 0
  ImageMemory(num,3) = AllocateMemory(256*256*4)
  If ImageMemory(num,3)
    ImageMemory(num,0) = 1
    ImageMemory(num,1) = size
    ImageMemory(num,2) = size
    For y = 0 To (size/2)-1
      For x = 0 To (size/2)-1
        PokeL(ImageMemory(num,3)+ImageMemory(num,1)*y*4+x*4,c1)
      Next
    Next
    For y = size/2 To size-1
      For x = size/2 To size-1
        PokeL(ImageMemory(num,3)+ImageMemory(num,1)*y*4+x*4,c1)
      Next
    Next
    For y = 0 To (size/2)-1
      For x = size/2 To size-1
        PokeL(ImageMemory(num,3)+ImageMemory(num,1)*y*4+x*4,c2)
      Next
    Next
    For y = size/2 To size-1
      For x = 0 To (size/2)-1
        PokeL(ImageMemory(num,3)+ImageMemory(num,1)*y*4+x*4,c2)
      Next
    Next
    PrintN("done")
    ProcedureReturn 1
  Else
    PrintN("failed")
    End
  EndIf
EndProcedure
 
Procedure GetTexPixel(tex,x,y,rot=0)
  Define xt.f, yt.f
  If ImageMemory(tex,0)
    x + 1000000000
    y + 1000000000
    x % ImageMemory(tex,1)
    y % ImageMemory(tex,2)
    If rot
      PrintN("Rotation is not god implimented") : End
      xt = x : yt = y
      x = xt*CosR(Int(PageF(rot*1000,0,360000)))-yt*SinR(Int(PageF(rot*1000,0,360000))) ; Rotate Cordinates
      y = xt*SinR(Int(PageF(rot*1000,0,360000)))+yt*CosR(Int(PageF(rot*1000,0,360000)))
      ProcedureReturn PeekL(ImageMemory(tex,3)+(y*ImageMemory(tex,1)*4)+(x*4))
    Else
      ProcedureReturn PeekL(ImageMemory(tex,3)+(y*ImageMemory(tex,1)*4)+(x*4))
    EndIf
  EndIf
EndProcedure


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

ich werde die Quelltexte regelmäßig aktualisieren ;)

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Zuletzt geändert von WinSysCompany am 24.04.2018 18:28, insgesamt 5-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 19:22 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Nette Idee :)

Wollte den Code testen aber leider läuft der dieser nicht mit der aktuellen PB-Version...
Welche ist die richtige ?

(DrawWall() & ExamineKeyboard() - Error!)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 19:51 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
???

5.62

ist also ziemlich aktuell ...

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 19:58 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Auch einmal ein Hallöchen an die WinSysCompany ;) !

Mal von deinem nicht lauffähigigen Code (Wo ist InitSprite, Open(Window)Screen, .... ?) abgesehen:

Das mit "direct" empfinde ich als Unsinnig!

Ich würde das direkte zeichnen auf dem Windowsfenster immer vermeiden.
(Gerade bei einem Spiel.)

Verwende doch das Canvas-Gadget (Schaue es dir einfach mal an) oder arbeite mit Screens (Fenster oder Vollbild).

Du scheinst mit deiner "Engine" ja auch noch sehr stark am Anfang zu sein.

Anbei: Hast du etwas vergessen beizufügen ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 20:29 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
Zitat:
Auch einmal ein Hallöchen an die WinSysCompany ;) !
^^

Zitat:
Mal von deinem nicht lauffähigigen Code (Wo ist InitSprite, Open(Window)Screen, .... ?) abgesehen:
InitSprite u. *Screen() benutze ich nicht, einfach, weil ich so viel wie möglich selber machen möchte, werde es Später bei Bedarf Portieren
und ja, bei mir läuft es tadellos ;)

Zitat:
Das mit "direct" empfinde ich als Unsinnig!
"direct" steht für "Direktes aus dem Fenster zeichnen" ... also ohne ImageGadget

Zitat:
Ich würde das direkte zeichnen auf dem Windowsfenster immer vermeiden.
(Gerade bei einem Spiel.)
Naja, ist erstmal nebensächlich ... erstmal muss ich den Code an sich optimieren, und dann werde ich "output.pbi" um die *Screen() elemente erweitern ;)

Zitat:
Verwende doch das Canvas-Gadget (Schaue es dir einfach mal an) oder arbeite mit Screens (Fenster oder Vollbild).
Damit habe ich noch GARKEINE erfahrung ... WENN dann Portiere ich später zu OpenWindowedScreen und OpenScreen ( wird auswählbar sein )

Zitat:
Du scheinst mit deiner "Engine" ja auch noch sehr stark am Anfang zu sein.
GANZ weit am Anfang, ja :D

Zitat:
Anbei: Hast du etwas vergessen beizufügen ?
außer die Images ( Pfade bei LoadTex() ), die muss man anpassen, eigentlich nicht

P.S. man kann alle PNG verwenden, die man möchte ... Auflösung ist egal ;)

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 21:13 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
Okay, mir ist gerade aufgefallen, das ich DrawFlat() ( und damit auch DrawCelling() ) KOMPLETT falsch gemact habe -.-

ich kann mit Ihnen nur Vierecke Zeichen, die in X und Y Richtung ausgerichtet sind, und Rechtecke sind ;(

Ich wollte eigentlich bilibige Dreiecke Zeichnen können ( mit x1, y1, x2, y2, x3 und y3 ) und dann immer mit zwei ausrufen belibige Vierecke zeichnen können
um auch "komplexere" Sektoren ( siehe Doom-wiki ) implimentieren zu können

da werde ich mich wohl die Woche nuchmal ausqualmen dürfen

DrawFlat() und DrawCelling() werden also nochmal KOMPLETT NEU geschrieben

für Tipps bin ich immer offen ;)

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 21:40 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Meiner Meinung nach sollte der Code wenigstens lauffähig sein (und alle benötigten Resourcen beinhalten)
sonst macht der Thread einfach keinen Sinn.

Wie soll man sonst helfen/testen wenn der Code nicht funktioniert ? :freak:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 22.04.2018 22:13 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Zur Zeit sind deine Render-Funktionen auch grausam laaaaaaangsammmmm!!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 23.04.2018 05:33 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
Mijikai hat geschrieben:
Meiner Meinung nach sollte der Code wenigstens lauffähig sein (und alle benötigten Resourcen beinhalten)
sonst macht der Thread einfach keinen Sinn.

Wie soll man sonst helfen/testen wenn der Code nicht funktioniert ? :freak:
Naja, ich werde mal versuchen, zu Testzwecken, ne Funktion zu erstellen die Dummy Texturen generiert

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PureBasic Doom-like Engine btw. Spiel
BeitragVerfasst: 23.04.2018 05:35 
Offline
Benutzeravatar

Registriert: 17.10.2010 17:43
Wohnort: Berlin
ccode_new hat geschrieben:
Zur Zeit sind deine Render-Funktionen auch grausam laaaaaaangsammmmm!!!!
ich weiss, leider muss ich mich in InlineASM erst wieder einarbeiten

werde aber nach und nach die Funktionen optimieren

erstmal ligt das Augenmerk auf "es läuft" ;)

_________________
Nichts ist einfacher als das Komplizierteste

Press Any Key to Continue
ich finde aber keine Any Key Taste auf meiner Tastertur

Was steht den auf ihrem Bildschirm
Na eine Blumenvase ...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 39 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye