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 - amarliani

#1
Bug Reports / SAVESPRITE Bug
2012-Apr-12
Hallo,
irgendwie schlägt bei mir immer noch ein Bug zu, der hier schon mal angesprochen wurde; Wenn ich ein Sprite mit SAVESPRITE abspeichere, bekomme ich nur ein komplett pinkes BMP als Ergebnis, egal, ob ich mit einem Bitmap- oder PNG-Hintergrund arbeite. Transparenz brauche ich da eh nicht...
Ach ja, ich arbeite mit Version 10.283 unter Windows. Und seltsamerweise klappts auf meinem Recher mit Win7-64bit (korrektes Sprite wird abgespeichert), auf meinem alten XP-System wirds mit dem gleichen Programm wieder komplett pink.

Irgend eine Idee?

Ach ja, Nachtrag: SAVEBMP geht auch nicht, wird auch komplett pink.
#2
GLBasic - de / Palm?
2009-Nov-21
Ne Frage am Rande mal: Gibt es ne Chance, dass GLB mal PalmOS als Plattform unterstützen würde? Das Original SDK für den Palm verschenken die ja problemlos gegen Angabe der Email, scheinbar gibts von der Seite keine Blockaden. Wär ganz nett ...
#3
Ich hab zur Abwechslung mal wieder ein Brett vorm Kopf.

Folgendes Problem: Ich hab ein Startmen? f?r ein paar Spiele geschrieben. Meine Maschinen laufen alle auf Win XP. Die Spiele starte ich mit diesem Code:

Code (glbasic) Select
SETCURRENTDIR(verzeichnis$)
ok = SHELLCMD(exe$, TRUE, TRUE, rv)
SETCURRENTDIR("..")


verzeichnis$ enth?lt z.B. "./NimmDrei", exe$ enth?lt z.B. "NimmDrei.exe".

wobei jedes Spiel in einem eigenen Unterverzeichnis des Startmen?-Verzeichnisses liegt. Auf meinem Entwicklungsrechner klappt auch alles wunnebar. Sobald ich das aber auf den anderen Rechner (Win XP Home, 512MB) ?bertrage, geht nix mehr. Ich seh am Taskmanager zwar, dass das Spiel dort als Task gelistet ist, aber weder wird das Startmen? ausgeblendet noch wird das Spiel eingeblendet, sondern alles bleibt h?ngen, oft sogar so gr?ndlich, dass nur ein Neustart des Rechners hilft. Starte ich das Spiel manuell ohne das Startmen?, dann l?uft es auch auf dem anderen Rechner. Nur eben der Aufruf aus dem Starter heraus geht nicht.

Hat irgendwer eine Idee, was da h?ngen k?nnte?
#4
Seit der neuen V 7 hab ich ein ziemlich seltsames Problem mit GETFILELIST:

Code (glbasic) Select
LOCAL spiele$[]
LOCAL anzahl
:::
anzahl=GETFILELIST("*.dat", spiele$[])


Dann krieg ich ein spiele$-Array zur?ck, dass exakt so lang ist wie die Anzahl der Verzeichnisse plus die der gesuchten Dateien. Nur sind reproduzierbar immer die letzten sechs Array-Felder leer!
Sprich:
anzahl: korrekte Anzahl von Verzeichnissen+Dateien
spiele$[]: korrekte Anzahl von Array-Feldern, aber die letzten sechs enthalten immer Leerstrings.

Und ja, es sind immer die letzten sechs, egal, wie die Dateien hei?en. Und vorher ging es problemlos...

Irgend eine Idee?
#5
Wieder ne Idee, die ich in XNA ganz praktisch fand. Dort gabs die M?glichkeit, die Kollision eines Sprites gegen eine bestimmte Farbe zu testen, also z.B., ob mein Sprite gegen was schreiend gelbes knallte. Fragen dazu:

1) Geht so was in GLB irgendwie anders als ?ber GETPIXEL?
2) Wenn nein, ist GETPIXEL nicht ziemlich langsam?
#6
Ich wei?, dumme Frage, aber:

In XNA gabs eine Konstruktion a la: Rect=New Rectangle(1,1,10,10)
sprich, die Funktion zeichnete das Rechteck nicht, lieferte aber daf?r eine Variable, die das Rechteck enthielt. War ganz n?tzlich f?r Kollisionen z.B. mit W?nden eines Labyrinths.
Geht so was in GLB au?er ?ber den Umweg DRAWRECT + GRABSPRITE?
#7
Mal eine v?llig andere Frage:

Wie schon mehrfach erw?hnt, schreib ich Programme, die in Wartezimmern von Kindern genutzt werden sollen. Jetzt bin ich durch was ganz anderes drauf gesto?en, dass ich da vielleicht in rechtliche Probleme komme, und zwar mit dem Jugendschutz! Auf den Seiten der Bundespr?fstelle findet man folgende Passage:
QuoteComputer- und Konsolenspiele d?rfen nur dann Kindern oder Jugendlichen unter 18 Jahren verkauft, verliehen oder in anderer Weise zug?nglich gemacht werden, wenn sie f?r die entsprechende Altersstufe eine Freigabe erhalten haben. Ausgenommen hiervon sind nur Informations-, Instruktions- und Lehrprogramme, die offensichtlich nicht die Entwicklung oder Erziehung von Kindern und Jugendlichen beeintr?chtigen und die vom Anbieter mit "Infoprogramm" oder "Lehrprogramm" gekennzeichnet sind.
Wenn ich das richtig sehe, hei?t das, dass ich meine Progr?mmchen erst mal von denen einstufen lassen mu?, um sie verkaufen zu d?rfen!?!?! Und das kostet nach Aussage eines Bekannten etwa 1000EUR PRO SPIEL!!!  Hat irgendwer von euch da schon mal Erfahrungen mit dem Thema gemacht? Bevor ich meinen Rechtsanwalt da drauf ansetze... Sonst kann ich meine Pl?ne n?mlich gleich beerdigen, denn das rechnet sich ja nie.
#8
Gibts eigentlich eine M?glichkeit, den Debugger in Abh?ngigkeit von einem Variablenwert zu stoppen? Also z.B: Breakpoint ausf?hren, wenn die Schleifenvariable bis auf 100 hochgez?hlt ist, oder so was. In Delphi z.B. gabs das, und manchmal w?rs ganz praktisch.
#9
Ich weiß, das Thema wurde schon mal diskutiert. Trotzdem möcht ich hier mal meine Überlegungen zur Diskussion stellen - vielleicht hat ja jemand eine bessere Idee?

Ein paar Backgroung-Infos: Ich schreib derzeit Spiele-Programme, die auf einem nur dafür vorgesehenen Windows-Touchscreen-Rechner in Wartezimmern laufen sollen. Dafür brauch ich Demo-Versionen. Ich kenn allerdings auch meine Kunden (Pappenheimer) gut genug, um zu wissen: Wenn so was kopierbar ist, wirds auch hemmungslos kopiert. Also brauche ich einen Mechanismus, der in jedem Spiel was anzeigt a la "Ich bin lizensiert für Praxis Dr. Mustermann", ansonsten kauft das Ganze einer und kurz drauf läufts irgendiwe auch in den Praxen seiner fünf besten Freunde... Da ich keine Vollschirm-Programme schreibe, mach ich das in der Window-Titelzeile.

So, nun zu meiner Idee. Ich nehm erst mal den String mit den Lizenzinformationen und veschlüssel den mit Morus base64-Implementation. Dann mach ich mir davon eine CRC-Checksumme. Dann erstelle ich zur Tarnung (die EDV-Kenntnisse bei den Ärzten sind oft erstaunlich gut...) 20 Strings mit ASCII-Zufallszeichen, die genau so lang sind, wie der verschlüsselte Lizenzkey. Und das Ganze schreib ich dann in festgelegter Reihenfolge in eine Datei.
Beim Auslesen kann ich dann die 20 Zeilen Versteck-Müll ignorieren, lese den CRC und den Schlüsselstring, verifiziere den Schlüsselstring über den CRC und entsschlüssele ihn dann. Fehler im CRC oder fehlende Lizenzdatei -> Zurück auf Demo-Version.

Was haltet ihr da von? zu umständlich? Bessere Ideen?
#10
Seit der neuen Version 6.184 geht ein Teil meines INLINE-Codes nicht mehr. Es handelt sich genauer gesagt um die Base64-Verschlüsselung von Moru aus dieser Quelle hier:

http://gamecorner.110mb.com/index.php?page=base64-encode-decode-library

Bis zur Version 6.174 lief das Ganze problemlos, Update auf 6.184: geht nicht mehr, Update rückgängig gemacht: geht wieder.

Irgend eine Idee? Ach ja, mittlerweile hab ich eine Premiumlizenz mit NET und 3D...
#11
GLBasic - de / Demo mode?
2009-Feb-22
Mal ne Frage interessehalber: Ich kriege beim Compilieren einiger meiner Projekte immer die Warnmeldung:

Code (glbasic) Select
warning: Demo mode: This command would require NET or 3D addon

die immer auf eine und die gleiche INLINE-Zeile verweist (die im übrigen weder mit 3D-Grafik noch mit Netzanwendung was zu tun hat). Nur: ich hab doch ne 3D-Lizenz, allerdings keine NET, aber die Meldung sagt doch klar _OR_ und nicht und. Warum kommt diese Meldung dann trotzdem? Irgend eine Auswirkung scheint sie aber eh nicht zu haben, denn im Prog selber scheint alles ok zu sein.
#12
GLBasic - en / base64
2009-Feb-15
To Ian Price:
in a thread in january you mentioned that you have an example of how to use base64 to encrypt/decrypt a file. Could you please post it? I could very well use that for my actual project, and I think several of us too... THX in advance, Achim
#13
Ich bin scheinbar mal wieder zu doof.  :( 

Eigentlich ist das Einbinden von Bibliotheken ja völlig idiotensicher. Wenn ich jetzt allerdings versuche, SchranzOrs Verschlüsselungs-Lib einzubinden, dann krieg ich beim Erstellen des Projektes keine EXE, sondern nur eine Fehlermeldung: "Die Datei ...\crypt.gbal ist eine GLBasic Bibliothek und kann nicht bearbeitet werden." Das wars dann auch.
Dass ich die Bib nicht bearbeiten kann, ist mir klar, will ich ja auch gar nicht (d.h. eigentlich würd ich schon gern reinschauen, bin nun mal chronisch neugierig  :whistle:). Nur was mach ich da beim Einbinden falsch? Ich geh einfach auf die Registerzunge "Dateien", klick auf "Quellen", Rechtsklick, "Neue Datei", "crypt.gbal" wählen, fertig. Oder???
#14
GLBasic - de / ROTOSPRITE
2009-Feb-11
Mal ne dumme Frage, weil ich da gerade in eine lustige Falle getappt bin: Um welchen Punkt genau dreht ROTOSPRITE eigentlich das Sprite? Um die Mitte? Um die linke obere Ecke? Oder was?
#15
Hallo miteinander,
folgendes Problem: Ich benutze MOUSESTATE für die Mausabfrage. In den bisherigen Projekten war auch alles problemfrei. Aber in meinem letzten Projekt kriege ich völlig seltsame Effekte: Die Funktion liefert andere Mauspositionen zurück, als die Maus tatsächlich hat!
Und wenn ich dann einfach mal einen MOUSESTATE abfrage, auf den Schirm drucke, einen weiteren abfrage, ohne die Maus zu verändern, und den dann auch drucke, kriege ich zwei sowohl in x- als auch in y-Koordinaten erheblich differierende Ergebnisse. Ein paar Pixel hätt ich ja verstanden, aber teilweise fast 100 Pixel??

Ich hab mal das gesamte Projekt angehängt , falls jemand Lust hat, sich das Ganze anzusehen. Any idea?

[attachment deleted by admin]
#16
Also, irgendwie steh ich gerade massiv auf dem Schlauch. Mein Problem:

Ich hab eine Reihe von (dummerweise unterschiedlich breiten) Sprites, die wie Wagen eines Zuges hintereinandergehängt werden sollen. Das Ganze soll dann am rechten Schirmrand "reinfahren", sprich lansam auftauchen, über den Schirm scrollen und dann links wieder verschwinden.

Nur: Wenn die Sprite-Kette z.B. 800px lang ist und ich 1024px Breite habe, müßte ich ja irgendwann anfangen, bei sag mal -200px zu zeichen, um den optischen Effekt, dass das Ganze links verschwindet, hinzukriegen. Geht das eigentlich? Bei mir hakt die Darstellung dann nämlich. Oder hat wer ne bessere Idee? Die naheliegende Idee, den Teil, der links raus ist, gar nicht darzustellen, ist schwer, weil wie gesagt die eigentlichen Sprites unterschiedlich breit sind.
#17
Ich trau mich mal, mich mit meinem ersten Machwerk eurer Kritik auszusetzen. Die Idde ist sicher nicht neu, es gibt so was meine ich schon als JScript. Da das Ganze auf einem PC mit Touchscreen laufen muß, sind die Tiles recht groß. Die simple Spieleidee: Bringe alle Boote von links nach rechts. Das Belohnungssystem fehlt mir noch, da schreib ich noch dran.

Weiß vielleicht jemand einen eleganteren Weg für die Pfadsuche als diese doch etwas monströse SELECT-Schachtelung?

Ansonsten: Critics welcome...

[attachment deleted by admin]
#18
Hallo miteinander,

vor einiger Zeit hats hier mal einen Thread von Yommy zu diesem Thema gegeben und auch die DDGUI bietet da ja einiges. Mein Problem war nur, dass die sich primär mit dem PocketPC beschäftigten und ich für die aktuellen Projekte mit einem Standard-PC mit Touchscreen und VGA-Auflösung, aber ohne Maus oder Tastatur arbeite. Da ich aber auch eine Highscore-Liste u.ä. brauche, hab ich mir mal selbst was entsprechendes zusammengebaut.

Da das mein erstes ernsthafteres GLBasic-Projekt ist, gibts da sicher Verbesserungsansätze - also Kommentare erwünscht! Ansonsten, wenns wer brauchen kann...

Ach ja: Ich habe bewußt PNGs für die Tastatur-Layouts genommen, statt sie zeichnen zu lassen, weil Ressourcenverbrauch bei meinen geplanten Einsätzen kein Argument ist und die Optik m.E. so einfach besser ist. Und die Platzierung von PRINT-Text auf einem einzelnen Leerhintergrund war mir schlicht zu pfriemelig.

[attachment deleted by admin]
#19
Hallo,
hat jemand von euch Erfahrungen mit Standard-Touchscreens und GLBasic?
Ich will mit einem Touchscreen, der ja normalerweise nur die Maus emuliert, mein Programm steuern. Als Test hab ich erst mal nur ein Miniprogramm geschrieben, dass mir an die Stelle des versteckten Mauszeigers ein Quadrat malt.
Wenn ich wirklich mit der Maus arbeite, klappt alles auch wunderbar. Das Quadrat ist genau da, wo ich auch die Maus hinbewege. Wenn ich aber den Touchscreen benutze, springt der Mauscursor willkürlich an völlig andere Positionen als die, die ich wirklich berührt habe. Ich kann da keinerlei Systematik hinter erkennen außer der, das es praktisch immer die falschen Stellen sind.
Das Ganze nur im GLBasic-Programm, mit allen anderen Standard-Windows-Programmen klappt der Screen einwandfrei.
Irgend eine Idee, was da hängen könnte?