Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - S. P. Gardebiter

#1
Hallo.
Ich arbeite momentan an einer Engine. Da es mit GLBasic schwierig ist und lange dauert, gute, saubere GUIs zu programmieren, möchte ich den entsprechenden Editor mit VB.NET schreiben und dann für Graphik das entsprechende GLBasic Programm einbinden. Der Editor und die Engine in Kombination müssen nur auf Windows lauffähig sein. (Anders sieht aus, wenns ums Spielen geht, dass sollte auch auf Linux und Mac möglich sein)

Jedenfalls habe ich momentan 2 Probleme:

1. Wie kann ich ein VB.NET Programm und GLBasic Programm kommunizieren lassen? (Shared Memory?)
2. Mit GLBasic kompilierte Programme sind nicht unbedingt für den Fenstermodus geeignet z.B. wird der Bildschirm komplett weiß, wenn das Fenster keinen Fokus hat. Und wenn man das Fenster wieder fokusiert, dauert es einige Zeit, bis das ganze lädt und wieder flüssig rendert. Der Cursor springt, wenn man auf das Programm in der Taskleiste klickt, etc. etc. Gibts da eine Möglichkeit, das ganze für den Fenstermodus etwas zu optimieren?
#2
IDE/Syntax / Loadfont limit
2011-May-30
It would be cool to load more than 8 fonts into GLBasic O:
My program is able to output colored text but only 8 colors is a bit of a restriction. Is there anyway the limit could be increased to 16 or something?
#3
Hallo. Ich habe mir eine eigene INPUT Funktion mit INKEY$ geschrieben aber INKEY$ verschluckt bei mir regelmäßig einige Tasten, da ich schnell tippe und meine eigene INPUT Funktion scheint manchmal etwas zähflüssig zu sein.

Irgendeine Idee? Für mich sieht das schwer nach einem Bug aus :S

Code (glbasic) Select
IF Typing = TRUE OR Console = TRUE
NewChar$ = INKEY$()
IF ASC(NewChar$) = 8
NewLine$ = MID$(NewLine$, 0, LEN(NewLine$) - 1)
ELSEIF ASC(NewChar$) >= 32
NewLine$ = NewLine$ + NewChar$
ENDIF
IF Console = TRUE
IF FPSC > 30
PRINT NewLine$, 3, INTEGER((ScreenH / 2 + ScreenH / 8) / 16) * 16, TRUE
ELSE
PRINT NewLine$ + "|", 3, INTEGER((ScreenH / 2 + ScreenH / 8) / 16) * 16, TRUE
ENDIF
ELSE
IF FPSC > 30
PRINT "Say: " + NewLine$, 16, ScreenH / 2 + ScreenH / 4 + ScreenH / 8, TRUE
ELSE
PRINT "Say: " + NewLine$ + "|", 16, ScreenH / 2 + ScreenH / 4 + ScreenH / 8, TRUE
ENDIF
ENDIF
ENDIF
#4
Hallo.
Ich weiß gerade nicht so recht wie ich das realisieren soll. In meinem Spiel gibt es mehrere Ebenen und in jeder Ebene können sich Objekte (Gegner, Gegenstände etc.) befinden. Ich weiß zwar wieviele Ebenen es gibt, weiß jedoch nicht die Anzahl der Objekte pro Ebene. (Sie könnten sich auch vemehren) Da ich RAM einsparen will, möchte ich wissen ob es eine einfache Möglichkeit gibt ein Feld anzulegen, in welchem die erste Dimension völlig statisch ist und dann die Größe in der zweiten Dimension dymanisch ist. Allerdings sollten die Größen der zweiten Dimension je nach erster Dimension optimal sein, dass heißt, ich möchte nicht, dass am Ende nur weil eine der Ebenen mehr Objekte hat, bei allen anderen Ebenen die Dimension auch vergrößert wird, wenn dies unnötig ist.

Sonst bräuchte ich ja keine dynamischen Felder, dann könnte ich mir gleich eine Liste anlegen, das Problem ist dann aber, dass sich die Daten im Laufe der Zeit fragmentieren können. Mit statischen Feldern arbeiten ist auch doof und Fragmente versus unnötiger Speicherverbrauch klingt nicht gerade toll.
#5
Hallo,

für einige Projekte von mir benötige ich kompliziertere Funktionen was den Sound bzw. die Musik angeht.
Ich brauche folgendes:

- Die Bibliothek muss in der Lage sein im Arbeitsspeicher abgelegte Sounddaten abzuspielen, sodass ich nicht immer alles voher auf die Platte kopieren muss
- Die Bibliothek muss in der Lage sein, Sounddaten runter und hoch zu pitchen
- Die Bibliothek muss in der Lage sein, in Echtzeit Sounddaten zu verarbeiten/generieren
- Sie soll möglichst kompatibel mit Linux und Mac sein
- Sie muss umsonst sein und eine vernünftige Lizenz besitzen
- Sie sollte nicht zu groß sein und muss "sehr schnell" funktionieren

Also praktisch eine Eierlegende Wollmilchsau. O:
Kennt jemand eine Libary die einigermaßen meinen Anforderungen gerecht wird?
#6
Moin, moin.
Ich möchte meinem Array einen Wert zuweisen, allerdings produziere ich einen haufen Code, wenn ich alles einzelln zuweise, gibt es eine Möglichkeit das ganze zu verkürzen?

z.B.

Array[] = {5, 4, 63, 23, 10, 11, 7}
#7
Moin.
Ich habe eine Linie, ich weiß wo sie startet und wo sie aufhört.
Dann habe ich mein Level, welches aus Arrays "besteht". (8x8 Blöcke)
Ich weiß welche Blöcke komplett leer sind und welche Blöcke solide sind oder zumindest ein Teil von ihnen solide ist. (Es sind nicht alle Tiles aus meinem Tileset Rechteckig, das ist schonmal ein Problem)

Wie würde eine Kollision zwischen Linie und Sprite funktionieren?
#8
IDE/Syntax / Isnumber()
2010-Dec-01
Ich arbeite momentan etwas mit der Commandline. Eine Funktion die überprüft ob ein Wert eine "Zahl" ist oder Buchstaben beinhaltet wäre sehr vorteilhaft D;

Edit: I see, I forget "to english":

I'm currently working with the commandline a bit. A function that checks if a value is a "number" or contains letters would be kinda nice.
#9
Moin.
Ist das ein Bug oder ein Feature, dass ich inzwischen keine Leerzeichen mehr in meinen Programmnamen unter Projektoptionen packen kann? O_o
#10
Code (glbasic) Select
compile+link:
/cygdrive/D/Project/GLBasic/Compiler/platform/Linux/Bin/ld: cannot find -lstdc++
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
_______________________________________


Ich benutzte die neuste Version o:
#11
Moin.
Bei mir ist das ambiente Licht i-wie sehr dunkel, zu dunkel D:
Zumindest von bestimmten Seiten.

Für mich macht das logisch überhaupt garkeinen Sinn:

Wenn ich mich entlang der Z-Achse positiv bewege wird das Ding immer dunkler und dunkler:
http://img831.imageshack.us/img831/5808/wtflight3.png
http://img340.imageshack.us/i/wtflight4.png/
http://img3.imageshack.us/img3/1403/wtflight5.png

Von der einen Seite:
http://img96.imageshack.us/i/wtflight1.png/

Von der gegenüberliegenden Seite:
http://img841.imageshack.us/img841/1644/wtflight2.png

WTF?
#12
Moin.
Hab da einen Fehler in Version 8.078 gefunden. (Da ich ja auf 8.085 nicht updaten kann, aber ich denke da wird das selbe Problem sein)

Meinen ganzen Code werde ich nicht posten, deshalb poste ich einen Ausschnitt:

Code (glbasic) Select
   // Check all Buttons
FOR Count% = 0 TO 10
// Adjust Buttons to Editmode
IF Count% >= 4 AND Count% <= 7
IF Count% = EditMode% + 4
// Button is same as Editmode
ButtonPressed%[Count%] = TRUE
ELSE
// Button isn't same as Editmode
ButtonPressed%[Count%] = FALSE
ENDIF
ENDIF


Im Array ButtonPressed% ist nie auch nur eine Varible = 1.
Alle immer 0. EditMode war bei mir 1, eigentlich hätte ButtonPressed%[5] eine 1 beeinhalten müssen, war aber nicht der Fall. Selbst als das ganze ding jeden einzellnen Schritt durchlaufen ist, war ButtonPressed%[5] nach diesem Schritt: "ButtonPressed%[Count%] = TRUE" wieder 0.
#13
Moin.
Mein GLBasic will nicht auf von 8.078 auf 8.085 updaten D;
So ein ähnliches Problem hatte ich schonmal. Ich will nicht immer wieder das gesamte Setup von GLBasic.com runterladen müssen :/ Er lädt es runter und zeigt an dass es installiert wird aber er ersetzt die Dateien nicht.

Irgendwer eine Idee?
#14
It would be nice if you could set an Alignment for the X-Axis when using Print o:
Like Left, Center and Right.
#15
Hello.
It would be nice if I would be able to hold backspace to delete everything when using INPUT.
Also if I use Filerequest$, Key() still does work. Means if I press enter it will use it for key() too.
#16
Hi, ich hab da eine Funktion, die greift auf ein gloables Array zu.
Der Precompiler mags nicht so ganz, aber funktionieren tut alles ganz prima.
Ist das jetzt ein Grund zur Sorge? :>

Code (glbasic) Select
GLOBAL MapTiles%[]; DIM MapTiles%[40][29]

Code (glbasic) Select
FUNCTION MapCollision: OffsetX%, OffsetY%

SELECT GLOBAL MapTiles[OffsetX][OffsetY - 1]
CASE 0
RETURN FALSE
CASE 1
RETURN TRUE
CASE 2
GLOBAL MapTiles[OffsetX][OffsetY - 1] = 0
RETURN FALSE
CASE 3
// Stone
RETURN TRUE
CASE 4
INC GLOBAL Ruby, 1
PLAYSOUND(2, 0, 1)
GLOBAL MapTiles[OffsetX][OffsetY - 1] = 0
RETURN FALSE
CASE 5 TO 6
RETURN TRUE
CASE 8
IF GLOBAL Ruby >= GLOBAL MapRuby
RETURN TRUE
INC Level, 1
GameMode = 5
ELSE
RETURN FALSE
ENDIF
CASE 9
RETURN TRUE
ENDSELECT

ENDFUNCTION


Code (glbasic) Select
"Maze.gbas"(1007) warning : variable already exists : MapTiles
"Maze.gbas"(1015) warning : variable already exists : MapTiles


Er meckert nicht bei der Select Anweisung, sondern bei der Wertzuweisung.
Bei mir funktioniert aber alles.

Edit: Oder hängt es damit zusammen dass ich die Variable schon als global definiert habe bei der Deklaration?
#17
I really need this. Having a bunch of 2 MB wav files, just because I would like to play some ambient sounds for the atmosphere isn't funny guys :/
#18
Hi.
Funktionen können keine Strings returnen.

Code (glbasic) Select
FUNCTION GetElementName

RETURN "Hi"

ENDFUNCTION // GETELEMENTNAME


QuoteC:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::GetElementName(DGInt)':
C:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:1371: error: cannot convert `__GLBASIC__::CGStr' to `DGInt' in return
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren

Code (glbasic) Select
FUNCTION GetElementName

LOCAL Str$ = "Hi"

RETURN Str$

ENDFUNCTION // GETELEMENTNAME


Ausgabe = 0
#19
Hi, ich habe gerade herrausgefunden dass GLBasic die Koordinaten von Grafikbefehlen "verschiebt", wenn Auflösungen in einem Fenster größer (oder auch genauso groß) als die Bildschirmauflösung sind.
#20
GLBasic - de / Message Box?
2010-Apr-19
Hi,
gibts in GLBasic eine Möglichkeit eine Message Box auszugeben?
Oder ist sowas vllt auf der TODO Liste? D: