| 
| Hallo, Gast |  
| Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst. 
 
 |  
 
 
 
| Benutzer Online |  
| Momentan sind 26 Benutzer online » 0 Mitglieder
 » 25 Gäste
 Bing
 |  
 
| Aktive Themen |  
| North Engine 2 Forum: Projects
 Letzter Beitrag: HelmutH
 27.10.2025, 22:14
 » Antworten: 12
 » Ansichten: 2.380
 |  
| North Engine 1 Forum: Projects
 Letzter Beitrag: HelmutH
 10.09.2025, 20:19
 » Antworten: 7
 » Ansichten: 3.006
 |  
| BlitzFonts ohne diskfont.... Forum: AB³ Development
 Letzter Beitrag: hackball
 28.08.2025, 20:31
 » Antworten: 0
 » Ansichten: 579
 |  
| Amos2Blitz? Forum: Showcase
 Letzter Beitrag: hackball
 24.08.2025, 20:01
 » Antworten: 11
 » Ansichten: 58.134
 |  
| proBanking - Onlinebankin... Forum: Projects
 Letzter Beitrag: HelmutH
 11.06.2025, 20:56
 » Antworten: 5
 » Ansichten: 27.438
 |  
| proBonds - Finanzsoftware Forum: Projects
 Letzter Beitrag: HelmutH
 11.06.2025, 20:53
 » Antworten: 4
 » Ansichten: 20.873
 |  
| RedPill - Game Constructi... Forum: Projects
 Letzter Beitrag: HelmutH
 09.06.2025, 19:55
 » Antworten: 45
 » Ansichten: 135.439
 |  
| AmiBlitz 3.10.1 veröffent... Forum: News
 Letzter Beitrag: HelmutH
 15.05.2025, 00:15
 » Antworten: 1
 » Ansichten: 2.717
 |  
| Frohe Ostern! Forum: Off Topic
 Letzter Beitrag: HelmutH
 30.04.2025, 00:49
 » Antworten: 1
 » Ansichten: 2.281
 |  
| https://www.amiblitz.de Forum: Off Topic
 Letzter Beitrag: HelmutH
 18.03.2025, 21:20
 » Antworten: 5
 » Ansichten: 5.310
 |  
 |  | 
| Chunky Display |  
| Geschrieben von: hackball  - 20.01.2024, 17:19 - Forum: Basics & Manual 
- Keine Antworten |  
| 
	
		
|  | 
				Here a little demo that uses the Chunkylib.
 It's not the most efficient way to do this but it will help setting up such a display i hope.
 
 I left the comments in, no harms.
 
 
 
 Code: ;test of new chunky commands;(c)1997 by frank brandis
 ;
 ;as part of a demo written for software failure/airsoft
 ;SetErr:End:End SetErr
 
 DEFTYPE.l
 
 BitMap0,320,256,1
 BitMap1,320,200,8
 ;LoadPalette1,"blitz2:execs/copplist.pal"
 InitPalette1,256
 Gosub setpal
 
 InitCopList 1,144,100,$10008,8,256,-$f
 
 InitChunky1,320,200,2
 
 
 VWait50
 BLITZ
 
 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
 
 Gosub dofire
 
 BitMapOutput1
 Colour100:Locate 0,0:Print "ready.click mouse."
 MouseWait
 
 End
 NoCli:CloseEd
 
 dofire:
 max_=280:may=20
 count.w=1
 tn.w=1
 fadedelay.w=40
 Repeat
 Gosub chtext
 Gosub calcfire
 ChunkyToBitMap1,1
 
 Until tn>tanz AND count<=1
 Return
 
 .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
 
 ;Data.w 255  ; lines
 ; red , green , blue
 Data.w 000,000,255
 Data.w 000,012,255
 Data.w 000,025,255
 Data.w 000,038,255
 Data.w 000,051,255
 Data.w 000,063,255
 Data.w 000,076,255
 Data.w 000,089,255
 Data.w 000,102,255
 Data.w 000,114,255
 Data.w 000,127,255
 Data.w 000,140,255
 Data.w 000,153,255
 Data.w 000,165,255
 Data.w 000,178,255
 Data.w 000,191,255
 Data.w 000,204,255
 Data.w 000,216,255
 Data.w 000,229,255
 Data.w 000,242,255
 Data.w 000,255,255
 Data.w 025,255,229
 Data.w 051,255,204
 Data.w 076,255,178
 Data.w 102,255,153
 Data.w 127,255,127
 Data.w 153,255,102
 Data.w 178,255,076
 Data.w 204,255,051
 Data.w 229,255,025
 Data.w 255,255,000
 Data.w 255,251,000
 Data.w 255,247,000
 Data.w 255,244,000
 Data.w 255,240,000
 Data.w 255,236,000
 Data.w 255,233,000
 Data.w 255,229,000
 Data.w 255,225,000
 Data.w 255,222,000
 Data.w 255,218,000
 Data.w 255,214,000
 Data.w 255,211,000
 Data.w 255,207,000
 Data.w 255,204,000
 Data.w 255,200,000
 Data.w 255,196,000
 Data.w 255,193,000
 Data.w 255,189,000
 Data.w 255,185,000
 Data.w 255,182,000
 Data.w 255,178,000
 Data.w 255,174,000
 Data.w 255,171,000
 Data.w 255,167,000
 Data.w 255,163,000
 Data.w 255,160,000
 Data.w 255,156,000
 Data.w 255,153,000
 Data.w 255,149,000
 Data.w 255,145,000
 Data.w 255,142,000
 Data.w 255,138,000
 Data.w 255,134,000
 Data.w 255,131,000
 Data.w 255,127,000
 Data.w 255,123,000
 Data.w 255,120,000
 Data.w 255,116,000
 Data.w 255,112,000
 Data.w 255,109,000
 Data.w 255,105,000
 Data.w 255,102,000
 Data.w 255,098,000
 Data.w 255,094,000
 Data.w 255,091,000
 Data.w 255,087,000
 Data.w 255,083,000
 Data.w 255,080,000
 Data.w 255,076,000
 Data.w 255,072,000
 Data.w 255,069,000
 Data.w 255,065,000
 Data.w 255,061,000
 Data.w 255,058,000
 Data.w 255,054,000
 Data.w 255,051,000
 Data.w 255,047,000
 Data.w 255,043,000
 Data.w 255,040,000
 Data.w 255,036,000
 Data.w 255,032,000
 Data.w 255,029,000
 Data.w 255,025,000
 Data.w 255,021,000
 Data.w 255,018,000
 Data.w 255,014,000
 Data.w 255,010,000
 Data.w 255,007,000
 Data.w 255,003,000
 Data.w 255,000,000
 Data.w 253,000,000
 Data.w 251,000,000
 Data.w 250,000,000
 Data.w 248,000,000
 Data.w 246,000,000
 Data.w 245,000,000
 Data.w 243,000,000
 Data.w 241,000,000
 Data.w 240,000,000
 Data.w 238,000,000
 Data.w 236,000,000
 Data.w 235,000,000
 Data.w 233,000,000
 Data.w 231,000,000
 Data.w 230,000,000
 Data.w 228,000,000
 Data.w 227,000,000
 Data.w 225,000,000
 Data.w 223,000,000
 Data.w 222,000,000
 Data.w 220,000,000
 Data.w 218,000,000
 Data.w 217,000,000
 Data.w 215,000,000
 Data.w 213,000,000
 Data.w 212,000,000
 Data.w 210,000,000
 Data.w 208,000,000
 Data.w 207,000,000
 Data.w 205,000,000
 Data.w 204,000,000
 Data.w 202,000,000
 Data.w 200,000,000
 Data.w 199,000,000
 Data.w 197,000,000
 Data.w 195,000,000
 Data.w 194,000,000
 Data.w 192,000,000
 Data.w 190,000,000
 Data.w 189,000,000
 Data.w 187,000,000
 Data.w 185,000,000
 Data.w 184,000,000
 Data.w 182,000,000
 Data.w 180,000,000
 Data.w 179,000,000
 Data.w 177,000,000
 Data.w 176,000,000
 Data.w 174,000,000
 Data.w 172,000,000
 Data.w 171,000,000
 Data.w 169,000,000
 Data.w 167,000,000
 Data.w 166,000,000
 Data.w 164,000,000
 Data.w 162,000,000
 Data.w 161,000,000
 Data.w 159,000,000
 Data.w 157,000,000
 Data.w 156,000,000
 Data.w 154,000,000
 Data.w 153,000,000
 Data.w 151,000,000
 Data.w 149,000,000
 Data.w 148,000,000
 Data.w 146,000,000
 Data.w 144,000,000
 Data.w 143,000,000
 Data.w 141,000,000
 Data.w 139,000,000
 Data.w 138,000,000
 Data.w 136,000,000
 Data.w 134,000,000
 Data.w 133,000,000
 Data.w 131,000,000
 Data.w 129,000,000
 Data.w 128,000,000
 Data.w 126,000,000
 Data.w 125,000,000
 Data.w 123,000,000
 Data.w 121,000,000
 Data.w 120,000,000
 Data.w 118,000,000
 Data.w 116,000,000
 Data.w 115,000,000
 Data.w 113,000,000
 Data.w 111,000,000
 Data.w 110,000,000
 Data.w 108,000,000
 Data.w 106,000,000
 Data.w 105,000,000
 Data.w 103,000,000
 Data.w 102,000,000
 Data.w 100,000,000
 Data.w 098,000,000
 Data.w 097,000,000
 Data.w 095,000,000
 Data.w 093,000,000
 Data.w 092,000,000
 Data.w 090,000,000
 Data.w 088,000,000
 Data.w 087,000,000
 Data.w 085,000,000
 Data.w 083,000,000
 Data.w 082,000,000
 Data.w 080,000,000
 Data.w 078,000,000
 Data.w 077,000,000
 Data.w 075,000,000
 Data.w 074,000,000
 Data.w 072,000,000
 Data.w 070,000,000
 Data.w 069,000,000
 Data.w 067,000,000
 Data.w 065,000,000
 Data.w 064,000,000
 Data.w 062,000,000
 Data.w 060,000,000
 Data.w 059,000,000
 Data.w 057,000,000
 Data.w 055,000,000
 Data.w 054,000,000
 Data.w 052,000,000
 Data.w 051,000,000
 Data.w 049,000,000
 Data.w 047,000,000
 Data.w 046,000,000
 Data.w 044,000,000
 Data.w 042,000,000
 Data.w 041,000,000
 Data.w 039,000,000
 Data.w 037,000,000
 Data.w 036,000,000
 Data.w 034,000,000
 Data.w 032,000,000
 Data.w 031,000,000
 Data.w 029,000,000
 Data.w 027,000,000
 Data.w 026,000,000
 Data.w 024,000,000
 Data.w 023,000,000
 Data.w 021,000,000
 Data.w 019,000,000
 Data.w 018,000,000
 Data.w 016,000,000
 Data.w 014,000,000
 Data.w 013,000,000
 Data.w 011,000,000
 Data.w 009,000,000
 Data.w 008,000,000
 Data.w 006,000,000
 Data.w 004,000,000
 Data.w 003,000,000
 Data.w 001,000,000
 Data.w 000,000,000
 
 Even
 ;
 |  
		|   |  |  
 
| 3d Vector Grafik |  
| Geschrieben von: xp^tsa  - 07.01.2024, 17:35 - Forum: Questions & Answers 
- Antworten (10) |  
| 
	
		
|  | 
				hallo,
 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?
 |  
		|   |  |  
 
| Ein paar Anfängerfragen |  
| Geschrieben von: dent  - 25.10.2023, 20:39 - Forum: Questions & Answers 
- Antworten (1) |  
| 
	
		
|  | 
				Hallo,
 ich habe vor kurzem angefangen, mir AmiBlitz etwas anzuschauen.
 
 Beim Beispiel-Programmieren sind einpaar Fragen aufgekommen, vielleicht kann mir jemand Hinweise dazu geben:
 
 1. Text:
 Es war relativ leicht, einen Screen zu öffnen und ein paar Dinge reinzuzeichnen, unter anderem Text:
 
 Screen 0,12  ; 25
 ScreensBitMap 0,0  ; 8 hires + 4 bitplanes = 16 colors
 RGB 1,15,0,0
 ...
 Locate 20,20
 Print"hello"+Chr$(10)+" world", Rnd(8), " und ", Int(Rnd(8))
 
 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?
 
 
 Danke schon mal, viele Grüße
 |  
		|   |  |  
 
 
 
| slice oder display |  
| Geschrieben von: xp^tsa  - 11.07.2023, 00:28 - Forum: Questions & Answers 
- Antworten (4) |  
| 
	
		
|  | 
				habe vor ein reines ocs spiel zu codern und hab da mal ne frage
 
 slice oder display lib ?
 
 welche der beiden libs verkraftet mehr
 farbregister änderungen?
 
 die erweiterungen displayscroll und rainbow der displaylib
 sind kein grund um sie zu benutzen, rainbow geht nicht
 mit ecs und ner 256 color palette aus ppaint
 und displayscroll ist irgendwie zu langsam.
 (allerdings hab ich zufällig bei der aktion rausbekommen,
 dass man bei der displaylib doch nur 3 lines platz zwischen
 2 copperlists braucht, das war bei mir immer um 16 pixel verschoben,
 und hatte immer knappo 10 zeilen platz gelassen,
 ich bin bei ner festen scorebar nie auf die idee gekommen, das
 scrolling flag zu setzen in initcopperlist lololol)
 |  
		|   |  |  
 
 
| library erstellen |  
| Geschrieben von: xp^tsa  - 06.07.2023, 15:31 - Forum: Questions & Answers 
- Antworten (4) |  
| 
	
		
|  | 
				hi,
 also erstmal, mit erstaunen und freude habe ich festgestellt, wie einfach man eine
 library mit der include erstellen kann
 
 dennoch habe ich 1,2 kleine startprobleme
 
 wenn ich zb den befehl agapalrgb als lib funktion mappe
 und diesen dann halt zb in purebasic aufrufe
 zeigt mir das kompilat die falschen farben an
 
 bei zb Plot x,y,colorid   funktioniert es einwandfrei, egal ob intern die x,y oder die color variable ein long oder word ist
 
 es muss daran liegen, dass nur longs übergeben werden
 irgendwie bräuchte ich ne übersicht über die blitz2 befehle, welcher
 datentyp übergeben wird, das steht nirgends , ausser bei ein paar befehlen, das es word oder quick ist
 
 und frage 2, wie übergebe ich einen string , zb wenn ich zb LoadBitmap id, "name" mappen will
 |  
		|   |  |  
 
| Barnsley fern fractal |  
| Geschrieben von: hackball  - 26.02.2023, 17:16 - Forum: Snippets & Libraries 
- Antworten (2) |  
| 
	
		
|  | 
				This is a fun to do fractal with lots of numbers to play with for diffferent results.
 You can read more about the algorithm and example code here:
 
 https://en.wikipedia.org/wiki/Barnsley_fern
 
 This is a quick implementation in BlitzBasic.
 
 and this is how it looks like:Code: WbToScreen1
 
 num.l=1000000    ;number of iterations
 
 Window1,0,0,ScreenWidth,ScreenHeight,$140F,"Barnsley fern fractal. it="+Str$(num),2,1
 
 ResetTimer
 
 x.q     = 0
 y.q     = 0
 nextX.q = 0
 nextY.q = 0
 
 originX =  ScreenWidth / 2
 
 s = Min( ScreenWidth, ScreenHeight ) / 10
 
 For i.l = 1 To num
 a.q = Rnd
 
 If a.q < 0.01
 nextX.q = 0
 nextY.q = 0.16 * y.q
 Else
 
 If a.q >= 0.01 AND a.q < 0.08
 
 nextX.q = 0.2 * x.q - 0.26 * y.q
 nextY.q = 0.23 * x.q + 0.22 * y.q + 1.6
 Else
 
 If a.q >= 0.08 AND a.q < 0.15
 
 nextX.q = -0.15 * x.q + 0.28 * y.q
 nextY.q = 0.26 * x.q + 0.24 * y.q + 0.44
 
 Else
 
 nextX.q = 0.85 * x.q + 0.04 * y.q
 nextY.q = -0.04 * x.q + 0.85 * y.q + 1.6
 
 EndIf
 
 EndIf
 
 EndIf
 
 x.q = nextX.q
 y.q = nextY.q
 
 WPlot x.q * s + originX, y.q * s,1
 Next
 
 Print Ticks," ticks"
 
 Repeat
 
 Until WaitEvent=$200   ;windowclose
 
 End
   |  
		|   |  |  
 
 |