BASIC

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.


Topics - CptnRoughnight

Pages: [1] 2
1
GLBasic - de / GLBasic IDE
« on: 2014-Jan-10 »
EDIT :

So Leute, die IDE wächst und gedeiht, habe jetzt mein erstes Projekt für Win32 komplett erstellen können. Die nächsten Punkte sind dann erstmal neuen Lexer schreiben, der angepasste CPP-Lexer von scintilla.Net ist nicht zufrieden stellend! :)

Allerdings brauch ich dann in naher Zukunft Hilfe bei den anderen Platformen, welche Argumente ich übergeben muss, welche Programme aufzurufen sind.

derzeit implementierte Features:

    - Multi Monitor Support (Abdocken der Projektmappe,Outputfenster etc.)
    - rudimentäre Code-Snippet Verwaltung (wird noch verbessert)

geplante Features :
    - voller Support für GLBasic Compiler (alle Platformen)
    - evtl. auch nativ C++ mit Crosscompilern
    - SVN Support
    - besserer "Projekt wizard"


Ich werde auf jeden Fall dran bleiben und auch bald im "internationalen" Forum posten, bin nur grad wegen Nachtschichten etwas müde im Kopf^^

 - CptnRoughnight

2
Math / Perlin Noise implementation
« on: 2013-Dec-14 »
Hi,

here is my Perlin Noise implementation. Feel free to use in your projects!

Code: GLBasic [Select]
//****************************************
//** Perlin Noise Implementatio
//** Date: 14.12.2013
//****************************************

TYPE TPerlin
        d%
        f#
        result#
        fracX#
        fracY#
        total#
        octaves
        pnum%
    per_Prim_1%[]
    per_Prim_2%[]

        FUNCTION InitNoise:num%
                self.d% = 0
                self.f# = 0
                self.result = 0
                self.fracX = 0
                self.fracY = 0
                self.total = 0
                self.octaves = 0
                self.pnum% = num%

                DIMDATA self.per_Prim_1%[],15731,15733,15737,15739,15749,15761,15767,15773,15787,15791,15797,15803,15809,15817,15823
                DIMDATA self.per_Prim_2%[],789221,789227,789251,789311,789323,789331,789343,789367,789377,789389,789391,789407,789419,789443,789473
        ENDFUNCTION


        FUNCTION Noise#:n%,octave
                self.d = BXOR(ASL(n,13),n)

                RETURN (1.0 - (BAND((self.d * (self.d * self.d * self.per_Prim_1%[self.pnum] + self.per_Prim_2%[self.pnum]) + 1376312627),2147483647)) / 1073741824.0)
        ENDFUNCTION

        FUNCTION Cos_Interpolate#:a#,b#,x#
                self.f# = COS(PI * x#)

                self.f# = (1-self.f#) * 0.5;
                RETURN a# *(1-self.f#)+b# *self.f#;
        ENDFUNCTION


        FUNCTION Noise2D#:x%,y%
                RETURN self.Noise(x * 46349 + y * 46351, 1)
        ENDFUNCTION


        FUNCTION Smooth_Noise2D#:x%,y%
                self.result = (self.Noise2D(x-1,y-1) + self.Noise2D(x+1,y-1) + self.Noise2D(x-1,y+1) + self.Noise2D(x+1,y+1)) / 16
                self.result = self.result +( (self.Noise2D(x-1,y) + self.Noise2D(x+1,y) + self.Noise2D(x,y-1) + self.Noise2D(x,y+1)) / 8)
                self.result = self.result +( self.Noise2D(x,y) / 4 )
                RETURN self.result;

        ENDFUNCTION


        FUNCTION InterpolatedNoise2D#:x%,y%
                self.fracX# = x - INTEGER(x)
                self.fracY# = y - INTEGER(y)

                RETURN self.Cos_Interpolate(self.Cos_Interpolate(self.Smooth_Noise2D(INTEGER(x#), INTEGER(y#)), self.Smooth_Noise2D(INTEGER(x#) + 1, INTEGER(y#)), self.fracX#),self.Cos_Interpolate(self.Smooth_Noise2D(INTEGER(x#), INTEGER(y#)), self.Smooth_Noise2D(INTEGER(x#) + 1, INTEGER(y#)), self.fracX#),            self.fracY#)

        ENDFUNCTION

        FUNCTION GetPerlinNoise2D#:x#,y#,pers#,freq#,amp#,oct
                self.total# = 0

                FOR self.octaves = 0 TO oct
                        freq# = freq*2
                        amp# = amp*pers
                        self.total# = self.total# + (self.InterpolatedNoise2D(x#*freq#,y#*freq#)*amp#)
                NEXT
                RETURN self.total
        ENDFUNCTION
ENDTYPE

edit:

and the test program :

Code: GLBasic [Select]
// --------------------------------- //
// Project: Perlin
// Start: Tuesday, September 10, 2013
// IDE Version: 11.171


GLOBAL map[]
GLOBAL x,y
GLOBAL p AS TPerlin

DIM map[10001]

CONSTANT PI = 3.141593
p.InitNoise(4)

FOR x= 0 TO 99
        FOR y = 0 TO 99
                map[x+y*100] = (p.GetPerlinNoise2D(x,y,0.8,0.1,1,5)+1)/255 * 255
                DEBUG "map: "+map[x+y*100]+"\n"
        NEXT
NEXT

FOR x= 0 TO 99
        FOR y = 0 TO 99
                DRAWRECT x*4,y*4,4,4,RGB(map[x+y*100]*200,0,0)

        NEXT
NEXT

SHOWSCREEN

MOUSEWAIT
 

Edit : Strange PI Bug :D

3
GLBasic - de / PND startet nicht
« on: 2013-Dec-05 »
Hi Leute,

Ich bin gerade in der Endphase für mein Beitrag zum "Crap Game Coding Competition 2013" und wollte nun anfangen das Spiel als einzelne PND auf der Pandora zu testen.
Sonst benutze ich immer den Umweg über die pandora-exe.pnd, weil ich weiß das die eigtl. PND nicht geht.

Jetzt die Frage: Wenn ich die PND erzeuge, was muss noch mitgeliefert werden? Im Terminal steht immer der Fehler :

Code: GLBasic [Select]
Starting the application ( ./pandora-exe.pnd  )           [ failed ]
 

Habe ich Einstellungen vergessen? Ich habe auch versucht den ganzen "distribute/pandora" Ordner zu kopieren, mit dem gleichen negativen Effekt.

Bitte um Hilfe, komme hier echt nicht weiter allein.

p.s. benutze aktuellstes GLBasic und Firmware SZ R1.55/Kernel 3.2.52


MfG

4
GLBasic - en / PLAYSOUND wav on Pandora
« on: 2013-Nov-21 »
Hi,
Next question. Are there any known issues on playing wav files on Pandora?
When I'm programming with Playsound, the Pandora program terminates after start. On Windows it plays the sound!


5
GLBasic - en / Returning User's IP
« on: 2013-Nov-19 »
Hi folks,

need some help  :)

I have a raspberry pi. This is my server. I need a function that returns me the IP address of the user.
User connects to server and the server sends the IP of the user back to the user. How does it work?

I tried it with NetGetIP $, but that just gives me the IP address on my network (192 172 .....)
 :doubt:



6
GLBasic - de / Perlin Noise
« on: 2013-Sep-11 »
Hi,
ich beschäftige mich für mein OpenPandora Spiel mit Perlin Noise, möchte den Algo verwenden um die Landschaft zu generieren.
Allerding hapert es an der Umsetzung der Berechnung. Schon der 1D-Noise Algo funzt nicht.

Code: GLBasic [Select]
 x = (x<<13) ^ x;
    return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
 

Diesen Code hab ich versucht mittels GLBasic Befehle umzusetzen.

Code: GLBasic [Select]
FUNCTION Noise#:n%
        LOCAL d#
        d = BXOR(ASL(n,13),n)

        RETURN (1.0 - BAND((d * (d * d * 15731 + 789221) + 1376312627),2147483647) / 1073741824.0)
ENDFUNCTION

Wenn ich mir mittels der Funktion ein Array fülle und die resultierende Linie (Noise gibt Y-Abweichung an) zeichnen lasse,
dann bekomm ich nur im 1. Arrayfeld eine Abweichung, ansonsten sind es die gleichen Werte.
Hab ich die falschen Befehle genommen?

Das Füllen des Array&Zeichnen :

Code: GLBasic [Select]
FOR x= 0 TO 100
        map[x] = INTEGER(Noise(x))*10
        DRAWRECT x*10,100+map[x],10,10,RGB(0,0,255)
NEXT
 

p.s. das ist alles noch quick&dirty um den Algo zu testen. :)

Ich hoffe auf Hilfe!

7
GLBasic - de / BAnd Frage
« on: 2013-Apr-09 »


Gesendet von meinem GT-I9305 mit Tapatalk 2


8
GLBasic - en / Sprite2Mem question
« on: 2013-Jan-10 »
Hi,

I have a problem by using Sprite2Mem. First my image was warped and now i got only a white screen. Could anybody help me, please?
https://dl.dropbox.com/u/51078888/Sprite2Mem.zip

I have already used the search function but found nothing.

edit : I want to use Sprite2Mem to load a Bitmap and convert it to my MAP- format.

Thansk in advance!


9
GLBasic - de / Type-Insanz uebergeben
« on: 2012-Aug-22 »
Haaaaallooo Leute,

ich bastel grad wieder bissi an meinem Endlos-Hobby-Jump'n'Run. Nun ist mir doch tatsaechlich eine Verbesserungsidee fuer GLBasic gekommen.

mein Code sieht in etwa so aus :

Code: GLBasic [Select]
TYPE TRect
  x1%
  x2%
  y1%
  y2%
 

Code: GLBasic [Select]
Function Draw:index%,rect as TRect
 

nun wuerde ich die Funktion Draw gerne aufrufen ohne eine Instanz von TRect mittels Local/Global zu erstellen, quasi eine Instanz erst beim Funktionsaufruf erzeugen und uebergeben, ich hab mir das so vorgestellt :
Code: GLBasic [Select]
Draw(spr_player,[10,10,100,100])
 

Waere das moeglich, schon in Hinblick auf V11? Ist es ueberhaupt nuetzlich fuer andere, oder nur schlechter Programmierstil?!

LG

10
GLBasic - de / RotoCopy Transparenz Probleme
« on: 2012-Mar-13 »
Hi Leute,
nachdem ich seid gestern diesen Threaf :

http://www.glbasic.com/forum/index.php?topic=927.15

durchforstet habe, bin ich auf ein Problem gestoßen. Die Rotation klappt soweit, ist ja auch nicht viel zu beachten, nur bei der
Darstellung der Rotationsanimation mittels Sprite_Mid wird keine Transparenz beachtet, heißt, die Sprites die mit Grabsprite
aufgenommen wurden sind in der Grundfarbe (255,0,128) und diese Pixel werden auch gezeichnet... egal ob ich mit Smoothshading hantiere oder nicht... ich hoffe ich hab nicht wieder irgendwas kleines Überlesen und danke schonmal im Voraus den Helfenden!

LG

Edit : Werde morgen ein Beispiel reinstellen, habs heute nicht mehr geschafft und vorhin vergessen, sry

11
GLBasic - de / DDgui - Probleme
« on: 2012-Feb-09 »
Hi Leute,
ich hab wieder ein Problem. Und zwar möcht ich bissi mit DDgui auf der Pandora rumspielen. Ein kleiner Test war ja auch erfolgreich... nur bekomme ich den Dialog, auf WIN32 sowie auf der Pandora komisch angezeigt, die Titelleiste is verrutscht, ich kann den Dialog nicht SCALEABLE/MOVEABLE machen.. auch die Buttons lassen sich mittels DDgui_set nicht verschieben...

Code: GLBasic [Select]
DDgui_Init()

DDgui_pushdialog(0,0,800,480)
DDgui_set("", "TEXT", "Caption Text")
DDgui_set("", "MOVEABLE","TRUE")
DDgui_set("", "SCALEABLE","TRUE")
DDgui_button("bt_ok", "OK", 0,0)
DDgui_button("bt_exit","ENDE",120,25)
DDgui_set("bt_exit","XPOS","340")
DDgui_set("bt_exit","YPOS","400")
MainLoop()

FUNCTION MainLoop:
        LOCAL ende=0
        LOCAL mbpressed=0

        REPEAT
                MOUSESTATE MouseX,MouseY,MB1,MB2

                IF KEY(1)=1 THEN ende=1
                CLEARSCREEN RGB(70,162,148)

                DDgui_show(FALSE)
                SHOWSCREEN
        UNTIL ende=1
ENDFUNCTION

Vllt. sieht einer von euch den Fehler. Ich habe die Basic Version :10.244 und benutze das DDgui aus Samples/Common

Lg

Edit: Screenshot :> :

12
GLBasic - de / GLBasic v11 Beta
« on: 2012-Feb-04 »
Hi Leute,
ich hab die threads im englischen Teil ein bisschen verfolgt. Die Suchfunktion gequält, aber dennoch keine beta gefunden. Gibt es eine offizielle Beta? Die GUI - Funktionen würden gerade in ein Projekt rein passen, welches ich für die Pandora schreibe. Danke für Antworten. MfG

13
GLBasic - de / Pandora PND-Format
« on: 2011-Jun-07 »
Hi Leute,

ich hab jetzt schon die SuFu bekniet und in GLBasic direkt reingeschaut, habe aber nirgends was gefunden um gewisse Eigenschaften wie z.B. CPU-Clock für die PND einzustellen, gibt es da eine Möglichkeit ein Tool für das nächste Update mitzuliefern mit dem man die gewünschten Einstellungen vornehmen kann?

MfG

14
GLBasic - de / 2D Licht& Schatten
« on: 2011-May-24 »
Hi,
Gibt es eine möglichkeit in einer 2D-Tilemap dynamische Lichtquellen zu benutzen, der damit einhergehende Schatten ist mir auch recht wichtig.
Zur Info: es geht um ein 2D-Projekt für den WIz

Mfg

15
GLBasic - de / If über mehrere Zeilen
« on: 2011-Mar-09 »
Hi,
ich hab grad ein kleines Problem. Und zwar habe ich eine IF-Anweisung die auf meinem 24" Bildschirm gut anzusehen ist, will ich den Quellcode aber auf meinem Netbook überarbeiten ist das scrollen lästig.
Im C/C++ ist es möglich eine If-Anweisung über mehrere Zeilen zu schreiben, gibts das bei GLBasic nicht?
Beispiel:
Code: GLBasic [Select]
IF (player.xpos > platform.xrel) AND (player.xpos < platform.xrel+platformwidth) AND (player.xpos+player.width > platform.xrel) AND (player.xpos+player.width < platform.xrel+platformwidth)
 

Diese Abfrage wird sicher noch länger, aber verschachtelte IF's finde ich dann noch unübersichtlicher.
Ich hoffe ihr wisst was ich meine :)

MfG

Pages: [1] 2