Area-Commands (graphicslib) OLD!

Moderators: Der Wanderer, Blackbird

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 15. November 2014, 20:43

Moin,
gibt's das (oben gezeigte) in AmiBlitz?
Wenn nein: Warum nicht?
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby Blackbird » 18. November 2014, 12:55

hackball wrote:Moin,
gibt's das (oben gezeigte) in AmiBlitz?


Du meinst sicherlich als Library oder Include oder ?
Soweit ich das sehe nicht, es gibt in der normalen graphics.lib AreaElipse_ AreaDraw_ usw...
Aber das wird wohl kaum dem entsprechen das du gemacht hast

Wenn nein: Warum nicht?


Weil du es nicht machst ;) :D
User avatar
Blackbird
Globaler Moderator
 
Posts: 666
Joined: 9. October 2013, 17:41
Location: Coburg

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 29. November 2014, 22:54

Blackbird wrote:
hackball wrote:Moin,
gibt's das (oben gezeigte) in AmiBlitz?

Du meinst sicherlich als Library oder Include oder ?
Soweit ich das sehe nicht, es gibt in der normalen graphics.lib AreaElipse_ AreaDraw_ usw...
Aber das wird wohl kaum dem entsprechen das du gemacht hast
Wenn nein: Warum nicht?

Weil du es nicht machst ;) :D


Hm, aber da müßte ich noch viel mehr machen, z.B. in Wanderers Includes wildern.... :lol:
Nee, dafür ist der o.g. Src ja jetzt frei, da könnt ihr das als Maintainer mal schön selbst einbauen. :mrgreen:
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 30. November 2014, 05:40

hackball wrote:Ich glaube, ich weiß (wieder), warum es manchmal crasht. Die maximale Anzahl an Area-Steps wird nicht gecheckt. da müßte man einen Branch einbauen oder einen Fehler werfen.

Code: Select all
...
 LEA      gfxbas(pc),a0
 MOVE.l         (a0),a6
 LEA        buff(pc),a0
 MOVE.l         (a0),a1
 LEA     areainf(pc),a0  ;eigene structur
 MOVE.l         #360,d0   ;<<<<<   hard coded max steps for polygon !!!
 JSR      _initarea(a6)  ;err.l=InitArea_(*ai.AreaInfo,&buff$,360)
...


*Edit: gfxbase könnte man auch direkt nach a6.... usw.


:roll: Mach ich dann mal, Sünden der Jugend usw.......
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 5. December 2014, 23:40

Ooops, muß ich erst mal wissen, was für Libnumbers noch frei sind.?
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 6. December 2014, 00:08

Hier ist noch ein simples Beispiel für diese Lib:

Code: Select all
; please be sure `overflow errors` ore disabled !! thenkks !
;
; linepattern demo for the RayAreaLibrary (C) by Frank Brandis
;

;FindScreen0    ;getting first screen (ted)
Screen0,3

Window1,0,0,320,250,$140e,"RayAreaLib , PatternDemo",1,0

*rp=RastPort(1)
WJam0

; first,test some linepatterns

;the binary values are better than Hex or Decimal
;note: 1 is a point,0 not .

pt.w=%1111111100000000:LinePattern *rp,pt:Wline 20,30,200,30,1
pt.w=%1100110011001100:LinePattern *rp,pt:Wline 20,40,200,40,1
pt.w=%1111000011110000:LinePattern *rp,pt:Wline 20,50,200,50,1
pt.w=%1010101010101010:LinePattern *rp,pt:Wline 20,60,200,60,1
pt.w=%1100000011000000:LinePattern *rp,pt:Wline 20,70,200,70,1
pt.w=%0011110000110000:LinePattern *rp,pt:Wline 20,80,200,80,1
pt.w=%1111111111111111:LinePattern *rp,pt:Wline 20,90,200,90,1

;setting up a fillpattern
;usefull for Wbox,WCls  etc. ( NOT for SetRast_*rp,pen !!)

Pattern *rp,$5555,$AAAA,$AAAA,$5555  ;rasters
WBox 20,100,300,130,1

Pattern *rp,$FFFF,$0000,$FFFF,$0000   ;Stripes
WBox 20,140,300,170,2

Pattern *rp,$FFFF,$FFFF,$FFFF,$FFFF  ; full colour !!
WBox 20,180,300,210,3

Repeat:Until WaitEvent=$200

End    ;end of line     :)

NoCli
WBStartup


Maybe usefull, to anyone? :D
Attachments
RayPatternDemo1.lha
(10.37 KiB) Downloaded 652 times
rayarealib_exampl2.png
Last edited by hackball on 6. December 2014, 00:41, edited 2 times in total.
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 6. December 2014, 00:14

Hm, stellt euch mal vor, man würde das LinePattern ROL oder ROR verändern und dann ein Rechteck mit einem entsprechend unterbrochenem LinePattern zeichnen, solange man das Rechteck mit der Mouse zeichnet...

Auflösung....
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 6. December 2014, 00:18

BTW:
Die Library gibt es fertig hier (1.5kB):

*Edit: Libnr# ist 22, also DevBeta, nach meinem Katalog. Sorry.
Attachments
RayAreaLibObj.lha
rayarealib.obj bb2 (c)1997 by frank brandis (bb2 developer)
(851 Bytes) Downloaded 680 times
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 6. December 2014, 01:01

Hier ein paar visuell ansprechendere Beispiele für Patterns, die man für das Füllen benutzen kann:

Na, überzeugt?
Attachments
patt_amiga_a.png
patt_auto.png
patt_pattern2.png
patt_mauer.png
patt_schraffur1.png
Last edited by hackball on 6. December 2014, 01:32, edited 1 time in total.
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

Re: Area-Commands (graphicslib) OLD!

Postby hackball » 6. December 2014, 01:20

Ok.

Hier ist der Editor. Achtung!!! SEEEEEHHR ALT!! Classic, sozusagen. :roll:

Und der Code zum Laden der Patterns.


Code: Select all
NEWTYPE.lv
  a.w
  nam.s            ;pattern name
  patt.w[16]     ;$0000,$7FFF usw.;4x4 gross
End NEWTYPE


Dim List pattlist.lv(30)
USEPATH pattlist()

DEFTYPE.w
Dim patt.w(16,16)  ;malflaeche

....


.loadpatts
ResetList pattlist()
Gosub clearall
g$=ASLFileRequest$("name of file to load",pa$,fi$,"#?.patt",WindowX,WindowY,WindowWidth,WindowHeight)
If g$<>""
  If ReadFile(0,g$)
    FileInput0
    If Inkey$(8)="BB^PATED"  ;kennung ok
      ClearList pattlist()
      While NOT Eof(0)
        If AddLast(pattlist())
          \nam=Edit$(30)
          For a=0To15
            \patt[a]=Cvl(Inkey$(4))
         Next
        EndIf
      Wend
      CloseFile0
    Else
      CloseFile0
      EasyRequest"pattern ed message:","file format not ok !"," ok "
    EndIf
    GTChangeList1,#liste
    ResetList pattlist():numb=-1
    GTChangeList1,#liste,pattlist()
  Else
    EasyRequest"pattern ed message:","file not found !"," ok "
  EndIf
EndIf
Use Window1
Return


Und die Beispiel-Muster, zuguterletzt.
Attachments
patternset4.lha
(618 Bytes) Downloaded 752 times
PatternEd.lha
(30.92 KiB) Downloaded 768 times
Amiga. Just to let ya know....
User avatar
hackball
Master
 
Posts: 114
Joined: 1. September 2013, 20:21

PreviousNext

Return to Snippets & Libraries

Who is online

Users browsing this forum: No registered users and 1 guest

cron