Mir ist aufgefallen das bei dem Befehl Circle, bei einem Hires Bildschirm, der Kreis eigentlich kein Kreis ist.
Evtl. muss ich da was anderes bei dem zweiten "radius" Parameter übergeben? Aber wie berechnet man das?
Ich bin gerade mal wieder etwas an AmiBlitz dran und zwecks Code-Struktur mal eine oder zwei Fragen:
- In einem Statement wollte ich auf eine globale variable, ein Array zugreifen. Wie mach ich das, oder geht das nur für primitive Datentypen?
- In dem Zusammenhang, da es ja keine mehrfach Return-Werte gibt, kann man pointer eines z.B. longs übergeben und den in der Funktion dereferenzieren? Hab ich nicht in der Doku gefunden.
This is my first post on your lovely community forum. I am a good C/C++ programmer, but new to this language.
I started with AmiBlitz3 a few weeks ago. Since then, I've read a lot of topics, you do really cool things.
I finally took the step to register, if only out of respect for being present, but also because I am encountering a difficulty and I cannot find an answer to it.
I would like to make a game in AGA, and the Display Library seems not to allow the use of LoadBitmap and LoadShapes once you are in BLITZ mode. Which is rather surprising, since it is possible to load other things, but not images.
The documentation does not indicate that it is only in AMIGA mode, and yet the compiling does not work because of that. I dare to hope for misuse on my part, at worst a "bug" which will be fixed, because this currently calls into question the use of this language for my part and I will be very disappointed.
Hoping for a warm welcome from you and even better, an answer to my concerns.
ich wusste nicht wohin damit, dann tu ichs mal hier hin.
also, ich programmier grad nen kleines ballerspielchen,
amiga classic aga , in den grafikoptionen kann man parallax scroller,
später particle dichte etc aus und zu schalten
die grundversion rennt sogar auf ner 7 mhz emulation, zwar extrem schleppend aber geht
nackter a1200 emu rennt es gut (die 7 und 14 mhz emus sind wirklich genau)
und auf 28 mhz mc68030 emu ist das eigentliche zielsystem
das problem ist, sobald ich es auf meinen amiga mini werfe
gibt es soundprobleme, ich benutze die normalen tracker befehle
ich hatte das gleiche mit nem vertikal shooter, da benutze ich das
thx-soundsystem, da blieb der sound für 1-2 sekunden immer stehen
...darum hab ich dieses geile projekt eingestampft
im amiga mini menu kann man cpu jit und copper und eben fast blitter
einstellen, nur als schalter
schnellen copper kann man bei allen blitz games vergessen, da wird der
bildschirm alle paar sekunden verschoben
blitter unterstützung läuft dann wirklich schneller, wenn man mal einen
wirklich voll-geblitteten bildschirm hat
aber egal was man einstellt, die soundprobleme bleiben
es wäre extrem schade, da ich das game ja eigentlich für den amiga mini
raushauen wollte, da mit der kiste wieder nen einheitliches system da ist
auf linux benutze ich den amiberry emulator, der gleiche ist auf dem mini
selbst wenn ich die gleiche konfig nehme geht es nicht
hat jemand auch so ein problem, wie kann man es lösen
--------------
edit
im anhang ist ne kleine demo
im startscreen [F1] zum spielstart
joystick steuerung...ballern halt
[ESC] beendet das game...oder testlevel beendet sich selber am ende
im spiel [F1]-[F3] waffenwechsel
baue gerade an einer kleinen sache rum und habe da mal ne frage
welches ist das gängigste tracker-format in amiblitz für classics?
also, habe mit decodemodule ein *.mod geladen wird auch
mit Starttracker abgespielt (4 channel mod)
da ich auch samples abspielen möchte habe ich nun im protracker
2 patterns gecleared , in diesen 2 channels wollte ich die
soundeffekte abspielen
dummerweise kommt nach dem abspeichern im protecker
nur noch mist aus den boxen
habe mir den originalen noisetrecker runterladen, aber der stürzt nur ab
egal ob a500 emu oder von workbench aus
natürlich könnte ich einen soundsample..zb ein dröhnen im hintergrund
geloopt laufen lassen, aber hätte schon ganz gern die 2 channel vom soundmodul
und die anderen 2 channels als soundfx benutzt
Statement bmtochunk {t$,dx.w,dy.w}
BitMapOutput0
ln.w=Len(t$)*8
Locate 0,0:Print t$
Use BitMap0
For y=0To7
yy.w=y+y
For x=0To ln
If Point(x,y)
xx.w=x+x
GPlot 1,xx+dx+1,yy+dy+1,240
GPlot 1,xx+dx,yy+dy+1,240
GPlot 1,xx+dx+1,yy+dy,240
GPlot 1,xx+dx,yy+dy,240
EndIf
Next x
Next y
End Statement
CreateDisplay1
DisplayBitMap1,1
DisplayPalette1,1
Restore tdats
Read tanz.w
Dim t$(tanz)
For a=1To tanz
Read t$(a)
Next
.chtext
count.w-1
If count=0
bmtochunk {t$(tn),60,5}
count=fadedelay:tn+1
EndIf
Return
.calcfire
newc.l=0
For y=2To may-1
For x=20To max_-1
newc=GPoint(1,x,y-1)
newc+GPoint(1,x,y+1)
newc+GPoint(1,x-1,y)
newc+GPoint(1,x+1,y)
newc LSR 2
If newc<2 Then newc=0
GPlot 1,x,y,newc
Next x
Next y
Return
;
tdats:
Data.w 4
Data$ " HACKBALL"
Data$ " PRESENTS"
Data$ " A DEMO"
Data$ " CALLED"
Even
setpal:
Restore firepal
For a=0To255
Read rr.w,gg.w,bb.w
AGAPalRGB1,(255-a),rr,gg,bb
Next a
Return
firepal:
; Copperlist RamDisk:firepal1.bb - basic include file m1
; done with bb2 coped v1.8 (C)opyright 1996 by Frank Brandis
hatte die tage mal ein anfall von nostalgie und habe mir
mal das amos3d von amospro wieder angesehen.
eigentlich schade, das ich damit nie was gebaut hab, scheint ziemlich schnell zu sein
frage: gibt es sowas auch für blitz2 oder amiblitz?
habe ja die 3d befehle gefunden, aber so vollkommen ohne beispiel
geht garnichts
hat jemand ein beispiel oder gibt es sogar eine bessere lib?
Gibt es eine einfache Möglichkeit, den Text Pixelgenau zu setzen (ich glaube es gab in der Graphics-Library eine
Text() Funktion, aber vielleicht komme ich ja drumherum, mit Libs zu hantieren ... zumindest am Anfang)
2. Mouse:
Gibt es eine einfache Methode, die aktuelle Mausposition und den Button-Status abzufragen (ohne Libs/Events)?
Wenn ich mich richtig zurückerinnere, köennte ich wahrscheinlich einfach ein bestimmtes Bit in 0xbfe001 für die
linke Maustaste abfragen oder so (wahrscheinlich gibts ein peek), aber wie sieht es mit den absoluten Maus-Koordinaten aus?
Ich will möglichst keine Gadgets dafür nutzen ...
3. Pointer auf Array of Struct (Newtype):
Für eine eigene Priority-Queue Implementierung habe ich mir ein Struct Array definiert:
NEWTYPE .prioqueue
map_2_info.w
v.w
End NEWTYPE
Dim pq.prioqueue(20)
pq(0)\v = 55
Wie genau beschaffe ich mir dadrauf einen Pointer, Dinge wie
*pqp.prioqueue = pq(20)
scheinen nicht zu funktionieren. Ich will einen Pointer auf solche Structuren und Struct-Arrays, damit
ich den Pointer dann später als Parameter an eine Assembler-Funktion übergeben kann ...
Außerdem:
Kann ich mir sicher sein, daß wenn ich es schaffe, einen Pointer darauf an eine Assembler-Funktion zu übergeben,
daß das Layout dann so ist, wie man es erwarten würde, also Pointer zeigt dann in dem Beispiel auf:
16 bit map info[0], 16 bit v[0], 16 bit map info[1], 16 bit v[1], ..., 16 bit map info[20], 16 bit v[20]
Ohne irgendwas anderes dazwischen? Ich muss ja in Assember den genauen Aufbau kennen, damit ich dann damit
hantieren kann/davon lesen und darein schreiben kann...
Falls nein, ist irgendwo dokumentiert, wie BlitzBasic die Strukturen und Structarrays genau im Speicher aufbaut?
Hallo zusammen,
ich habe mich eine Zeit lang hier eingelesen und dachte jetzt ' ich meld mich mal '.
zu mir: bin aus den 60'er , C64,Amiga begeisterter und will mich mehr mit Basic beschäftigen ( nicht falsch verstehen, ich kann nichts anderes
als Basic, darübe hinaus kam ich nie und heut fehlt mir das Interesse in C/Assembler zu programmieren). Leider musste ich bis jetzt feststellen das
Basic immer noch Stiefmütterlich behandelt wird. Na klar ist ja auch ne Anfängersprache. Wer etwas sein möchte muss mitdestens C können. So
kommt es mir jedenfalls vor wenn ich in diversen Foren reinschauen. Klar kommt immer darauf an, was man machen möchte. Einen Shooter in Basic V2....
.. naja viel Glück .
Also ich habe bis jetzt schon mal AMOS und etwas Hollywood angeschaut. Meiner Meinung nach ist AMOS gut um Games zu schreiben, will man Apps
die auf der WB laufen programmieren, wäre Blitz2/AmiBlitz/HollyWood glaube ich besser geeignet.
Naja wie dem auch sei, möchte ich jetzt mal in Blitz2/AmiBlitz reinschnuppern.