end beendet nicht und screen nicht bestimmbar

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von juergenkulow »

Hallo xdes,

habe das Programm neu aufgebaut:

Code: Alles auswählen

 CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0) ;Enabling and Disabling Aero interface 
If InitEngine3D()
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
  Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/fonts", #PB_3DArchive_FileSystem)
  Parse3DScripts()
  InitSprite()
  InitKeyboard()
  InitMouse()
  ExamineDesktops()
  sree= OpenScreen(DesktopWidth(0),DesktopHeight(0) , 32, "Test3DText" ,#PB_Screen_NoSynchronization)
  CreateCamera(0, 0, 0, 100, 100) 
  MoveCamera(0, 0, 0, 0, #PB_Absolute)
  CameraBackColor(0, RGB(55, 0, 0))
  KeyX.d=0.0
  KeyY.d=0.0
  MouseX.d=0.0
  MouseY.d=0.0
  light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
  SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4)) 
  LightDirection(light ,0.55, -0.3, -0.75) 
  AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
  SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
  terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
  AddTerrainTexture(terrain,  0, 4, "kachel.jpg","kachel.jpg")
  map_size=5;
  max_update_per_run=1
  For x =0 To map_size
    For y=0 To map_size
      DefineTerrainTile(terrain, x, y, "", 0,0) 
    Next
  Next
  Dim map_array(map_size,map_size,2)
  For x =0 To map_size
    For y=0 To map_size
      map_array(x,y,0)=Random(10,0);
      map_array(x,y,1)=Random(10,0);         
    Next
  Next
  BuildTerrain(terrain)
  i=0
  d3_text=CreateText3D(#PB_Any,Str(i)) 
  Repeat
    If ExamineMouse()
      MouseX = -MouseDeltaX() * 1 * 0.05
      MouseY = -MouseDeltaY() * 1 * 0.05
    EndIf
    ExamineKeyboard()
    If KeyboardPushed(#PB_Key_A)
      KeyX = -0.05
    ElseIf KeyboardPushed(#PB_Key_D)
      KeyX =  0.05
    Else
      KeyX = 0.0
    EndIf
    If KeyboardPushed(#PB_Key_W)
      KeyY = -0.05
    ElseIf KeyboardPushed(#PB_Key_S) ; 4x drücken und Text wird angezeigt. 
      KeyY = 0.05
    ElseIf KeyboardPushed(#PB_Key_Escape)
      Quit = #True
    Else
      KeyY = 0
    EndIf
    hoehe=2 
    If IsText3D(d3_text) : FreeText3D(d3_text) :EndIf ; <<-- IsText3D eingefügt. 
    i+1
     d3_text=CreateText3D(#PB_Any,Str(Engine3DStatus(#PB_Engine3D_CurrentFPS ))+" "+Str(i)+"_____")
     Text3DColor(d3_text, RGBA(255, 0 ,255, 255))
     Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)    
     ScaleText3D(d3_text, 0.5, 0.5, 0.5)
     ; MoveText3D(d3_text,CameraX(0),   CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute) ; Text ist sehr tief unten, fast 5weg. 
    counter=0
    For x =0 To map_size
      For y=0 To map_size
        If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
          SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
          map_array(x,y,0)=map_array(x,y,1)
          counter=counter+1
        EndIf
      Next
    Next    
    MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
    MoveCamera  (0, KeyX, 0, KeyY)
    RotateCamera(0,  MouseY, MouseX, 0, #PB_Relative)   
    UpdateTerrain(terrain) 
    RenderWorld()
    FlipBuffers()  
  Until Quit = #True
  CloseScreen() 
Else
  MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf

End
Gruß
Bitte stelle Deine Fragen, denn den Erkenntnisapparat einschalten entscheidet über das einzig bekannte Leben im Universum.

Jürgen Kulow Wersten :D_üsseldorf NRW D Europa Erde Sonnensystem Lokale_Flocke Lokale_Blase Orion-Arm
Milchstraße Lokale_Gruppe Virgo-Superhaufen Laniakea Sichtbares_Universum
xdes
Beiträge: 57
Registriert: 13.08.2016 12:53

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von xdes »

vielen dank juergenkulow :allright:
auch wenn du ganz interessante Änderungen gemacht hast und dadurch schon ein bisschen was anderes geschaffenen hast (aus meiner Sicht mehr Abweichungen von den beispielen)

aber beide Programm Codes haben das gleiche Problem, sie enden never auch nicht in der letzten Zeile bei dir (mit end) was ja mein problem ist :(

an DrShrek:
>_<
da du anscheint es immer noch nicht gelesen hast zitiere ich hier noch mal den post wo ich schon die erste Verbesserung drin gemacht habe ( den sonst verwendest du grad einen aus meiner siecht missverständlichen text)
da andere ihn finden können ... z.b. #NULL , Mijikai und juergenkulow
xdes hat geschrieben:danke emm der Fehler ist mir grad gar nicht aufgefallen

:oops:

leider besteht das problem weiterhin (hier noch mal der editiert Code)

Code: Alles auswählen

 CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0  Or InitKeyboard() = 0 Or InitMouse() = 0 
  MessageRequester("error", "basis geht nicht", 0) 
  End 
EndIf 
Add3DArchive(GetCurrentDirectory()+"daten\text", #PB_3DArchive_FileSystem)
Add3DArchive(GetCurrentDirectory()+"daten\fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
sree= OpenScreen(1920,1080 , 32, "a" ,#PB_Screen_NoSynchronization)
CreateCamera(0, 0, 0, 100, 100) 
MoveCamera(0, 0, 0, 0, #PB_Absolute)
CameraBackColor(0, RGB(55, 0, 0))
KeyX.d=0.0
KeyY.d=0.0
MouseX.d=0.0
MouseY.d=0.0
light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4)) 
LightDirection(light ,0.55, -0.3, -0.75) 
AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
AddTerrainTexture(terrain,  0, 4, "kachel.jpg","kachel.jpg")
map_size=5;
max_update_per_run=1
For x =0 To map_size
  For y=0 To map_size
    DefineTerrainTile(terrain, x, y, "", 0,0) 
  Next
Next
Dim map_array(map_size,map_size,2)
For x =0 To map_size
  For y=0 To map_size
    map_array(x,y,0)=Random(10,0);
    map_array(x,y,1)=Random(10,0);         
  Next
Next
BuildTerrain(terrain)  
d3_text=CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Repeat
  hoehe=2
  FreeText3D(d3_text)
  d3_text =CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
  Text3DColor(d3_text, RGBA(255, 0, 0, 255))
  Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)

  ScaleText3D(d3_text, 0.5, 0.5, 0.5)
  MoveText3D(d3_text,CameraX(0),   CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute)
  counter=0
  For x =0 To map_size
    For y=0 To map_size
      If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
        SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
        map_array(x,y,0)=map_array(x,y,1)
        counter=counter+1
      EndIf
     Next
  Next    
  If ExamineKeyboard()
    If KeyboardPushed(#PB_Key_A)
      KeyX = -0.05
    ElseIf KeyboardPushed(#PB_Key_D)
      KeyX =  0.05
    Else
      KeyX = 0.0
    EndIf
    If KeyboardPushed(#PB_Key_W)
      KeyY = -0.05
    ElseIf KeyboardPushed(#PB_Key_S)
      KeyY = 0.05
    Else
      KeyY = 0
    EndIf
  EndIf
  If ExamineMouse()
    MouseX = -MouseDeltaX() * 1 * 0.05
    MouseY = -MouseDeltaY() * 1 * 0.05
  EndIf
  MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
  MoveCamera  (0, KeyX, 0, KeyY)
  RotateCamera(0,  MouseY, MouseX, 0, #PB_Relative) 
  If KeyboardPushed(#PB_Key_Escape)
    Quit = 1
  EndIf
  UpdateTerrain(terrain) 
  RenderWorld()
  FlipBuffers()
Until  Quit = 1

das Debuggen habe ich schon im ersten post geschrieben damit du auch den text findest hir noch mal ein auschnit von den ersten text
xdes hat geschrieben: .....
da sonst alles super scheint auch beim ogre log ... und ich schon viel versucht habe zu Debuggen.... :coderselixir:
.....
man könnte noch mehr Debuggen in dem man sich jedes bit versucht in den bytes an zu gucken ... aber das würde debug technisch aus meiner Sicht kein sinn machen und dann könnte ich wahrscheinlich das Programm binär schreiben (nach der dementsprechenden bit-Programierungs Einarbeitung wobei ich glaube dann währe Assembler einfacher ...)
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von DrShrek »

Ich glaube du redest lieber über dein Problem als es (selbst) lösen zu wollen.
Wirklich wichtig scheint dir deine Problem auch nicht zu sein.
Ich bin jetzt raus. Mach was ich dir geschrieben habe und du wirst es ohne Hilfe schaffen.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von juergenkulow »

Hallo xdes,

ohne die Text3D Aufrufe, wie d3_text=CreateText3D, FreeText3D, Text3DColor, FreeText3D, ScaleText3D, MoveText3D endet Dein Programm normal.
Mit dem Aufruf CreateText3D hängt sich Dein Programm aber erst am Programmende auf. Die Ursache ist mir unklar.
Alles auf Anfang, Programm neu bauen.
End am Ende kann gelöscht werden, ohne Probleme. Programm endet mit ESC.

Gruß
Benutzeravatar
#NULL
Beiträge: 2235
Registriert: 20.04.2006 09:50

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von #NULL »

Alle Rückgabewerte überprüfen, wie DrShrek bereits sagte, und gegebenenfals EnableExplicit verwenden. Du solltest in deinem Debug Fenster keine 0 sehen. Weiter kann ich nicht testen, da keine dll und auch kein 3d-archiv.

Code: Alles auswählen

EnableExplicit
Define sree, KeyX.d, KeyY.d, MouseX.d, MouseY.d, light, terrain, map_size, max_update_per_run, x, y, d3_text
Debug CallFunction(OpenLibrary(#PB_Any,"dwmapi.dll"),"DwmEnableComposition",0)
If InitEngine3D( )=0 Or InitSprite() = 0  Or InitKeyboard() = 0 Or InitMouse() = 0
  MessageRequester("error", "basis geht nicht", 0)
  End
EndIf
Debug Add3DArchive(GetCurrentDirectory()+"daten\text", #PB_3DArchive_FileSystem)
Debug Add3DArchive(GetCurrentDirectory()+"daten\fonts", #PB_3DArchive_FileSystem)
Parse3DScripts()
sree= OpenScreen(1920,1080 , 32, "a" ,#PB_Screen_NoSynchronization)
Debug sree
Debug CreateCamera(0, 0, 0, 100, 100)
MoveCamera(0, 0, 0, 0, #PB_Absolute)
CameraBackColor(0, RGB(55, 0, 0))
KeyX.d=0.0
KeyY.d=0.0
MouseX.d=0.0
MouseY.d=0.0
light = CreateLight(#PB_Any ,RGB(190, 190, 190), 4000, 1200, 1000,#PB_Light_Directional)
Debug light
SetLightColor(light, #PB_Light_SpecularColor, RGB(255*0.4, 255*0.4,255*0.4))
LightDirection(light ,0.55, -0.3, -0.75)
AmbientColor(RGB(255*0.2, 255*0.2,255*0.2))
SetupTerrains(LightID(Light), 2, #PB_Terrain_NormalMapping)
terrain=CreateTerrain( #PB_Any, 65,160, 10, 1, "TerrainGroup", "dat")
Debug terrain
AddTerrainTexture(terrain,  0, 4, "kachel.jpg","kachel.jpg")
map_size=5;
max_update_per_run=1
For x =0 To map_size
  For y=0 To map_size
    DefineTerrainTile(terrain, x, y, "", 0,0)
  Next
Next
Dim map_array(map_size,map_size,2)
For x =0 To map_size
  For y=0 To map_size
    map_array(x,y,0)=Random(10,0);
    map_array(x,y,1)=Random(10,0);         
  Next
Next
BuildTerrain(terrain) 
d3_text=CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
Debug d3_text


CloseScreen()
End


; Repeat
;   hoehe=2
;   FreeText3D(d3_text)
;   d3_text =CreateText3D(#PB_Any, "FPS:"+StrF(Engine3DStatus(#PB_Engine3D_CurrentFPS ),0))
;   Text3DColor(d3_text, RGBA(255, 0, 0, 255))
;   Text3DAlignment(d3_text, #PB_Text3D_HorizontallyCentered)
; 
;   ScaleText3D(d3_text, 0.5, 0.5, 0.5)
;   MoveText3D(d3_text,CameraX(0),   CameraY(0) , CameraZ(0)+hoehe, #PB_Absolute)
;   counter=0
;   For x =0 To map_size
;     For y=0 To map_size
;       If max_update_per_run>counter And map_array(x,y,0)<>map_array(x,y,1)
;         SetTerrainTileHeightAtPoint(terrain, y,x, 0,0, map_array(x,y,1))
;         map_array(x,y,0)=map_array(x,y,1)
;         counter=counter+1
;       EndIf
;      Next
;   Next   
;   If ExamineKeyboard()
;     If KeyboardPushed(#PB_Key_A)
;       KeyX = -0.05
;     ElseIf KeyboardPushed(#PB_Key_D)
;       KeyX =  0.05
;     Else
;       KeyX = 0.0
;     EndIf
;     If KeyboardPushed(#PB_Key_W)
;       KeyY = -0.05
;     ElseIf KeyboardPushed(#PB_Key_S)
;       KeyY = 0.05
;     Else
;       KeyY = 0
;     EndIf
;   EndIf
;   If ExamineMouse()
;     MouseX = -MouseDeltaX() * 1 * 0.05
;     MouseY = -MouseDeltaY() * 1 * 0.05
;   EndIf
;   MoveCamera(0, CameraX(0), TerrainHeight(0, CameraX(0), CameraZ(0)) + 2, CameraZ(0), #PB_Absolute)
;   MoveCamera  (0, KeyX, 0, KeyY)
;   RotateCamera(0,  MouseY, MouseX, 0, #PB_Relative)
;   If KeyboardPushed(#PB_Key_Escape)
;     Quit = 1
;   EndIf
;   UpdateTerrain(terrain)
;   RenderWorld()
;   FlipBuffers()
; Until  Quit = 1
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von juergenkulow »

Hallo,
Add3DArchive mit falschem Verzeichnis aufrufen, hängt Programm nach Aufruf von CreateText3D bei CloseScreen, End oder Programmende auf.
Gruß
xdes
Beiträge: 57
Registriert: 13.08.2016 12:53

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von xdes »

seltsam beim Debuggen ist bei mir auch das 3d Archiv ungleich null (in meinem test grade einfach nur 1) (denn wie gesagt habe alles was mir was logisch sinnvoll ist eigentlich schon versucht und auch besonders das 3 archiv (hatte anfangs nämlich Fehler drin weswegen der code da abgestürzt ist war aber eine Version bevor ich mich ans Forum gewendet habe )

hir meine Debugger werte zum scriptt von #NULL
(Beschreibungs(von mir nachträglich hinzugefügt im Forum) durch = getrennt)
callevent(was oki sein soll) =0
3d Archiv text =1
3d Archiv fonts =1
screen =1
cam =78716472
light =77663248
terrain =77663296
3d text =77663360

das problem besteht weiterhin ... da aber das problem bei euch anscheint beim 3d archiv liegt was bei euch anschient null oder 0 ist und

bei mir ist es halt ein wert ungleich null egal ob es existiert oder nicht darum versuche ich aktuell ne neu Installation... von pb
Benutzeravatar
#NULL
Beiträge: 2235
Registriert: 20.04.2006 09:50

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von #NULL »

xdes hat geschrieben:bei mir ist es halt ein wert ungleich null egal ob es existiert oder nicht
Du erhältst keine 0 wenn du Unsinn als Pfad angibst?
my pb stuff..
Bild..jedenfalls war das mal so.
xdes
Beiträge: 57
Registriert: 13.08.2016 12:53

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von xdes »

@#NULL jap darum die neu Installation es ist immer 1 wie gesagt ich habe alles sinnvolle schon vor dem ersten post zu Debuggen versucht .... (und das 3d archiv war glaube ich der 2te versuch oder so ... und das obrige beispiel war ohne existierenden Ordner (nur gespeichert und alles umbenannt im Ordner was ähnlich Heist)
--------------------------------------------------------------------
@all
nach dem neue Download und Installation sind die werte immer noch gen so ... (und das Programm endet nicht egal ob mit oder ohne Archiv)
0
1
1
1
77402600
11602960
11603008
11603072


und das ohne archiv .... (egal ob mit oder ohne immer das gleiche problem und die gleichen werte ....)

kann das evtl an der Demo liegen ?
( will mir eh die Vollversion (seit längern)kaufen da aber die aktuelle Webseite mir im Umbruch scheint und ich keine Kreditkarte habe und auch nicht weis ob das alte Bestellsystem noch weiter existiert für Bestellungen aus Deutschland (Überweisungen oder Paypal)(besonders da ich Interesse an zusätzlichen CD Version habe ) warte ich grad gedrungen ab (falls es da Information zu gäb wäre das supi aber sollte wahrscheinlich ein eigens Thema unter allgemein sein werden...)

edit:
im nachhinein...
irgendwie finde ich das seltsam das es immer exakt 1 ist
besonders da das auch beim screnn ist
Benutzeravatar
juergenkulow
Beiträge: 188
Registriert: 22.12.2016 12:49
Wohnort: :D_üsseldorf-Wersten

Re: end beendet nicht und screen nicht bestimmbar

Beitrag von juergenkulow »

Hallo xdes,

was steht in Deiner Datei GetCurrentDirectory()+"daten\fonts\proper-definitions.fontdef" ?
Welche Fonts sind im Verzeichnis GetCurrentDirectory()+"daten\fonts" ?
Gruß
Antworten