Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 113
» Neuestes Mitglied: Billyskari
» Foren-Themen: 290
» Foren-Beiträge: 2.615

Komplettstatistiken

Benutzer Online
Momentan sind 30 Benutzer online
» 0 Mitglieder
» 29 Gäste
Bing

Aktive Themen
North Engine 2
Forum: Projects
Letzter Beitrag: HelmutH
10.09.2025, 21:59
» Antworten: 8
» Ansichten: 1.741
North Engine 1
Forum: Projects
Letzter Beitrag: HelmutH
10.09.2025, 20:19
» Antworten: 7
» Ansichten: 2.549
BlitzFonts ohne diskfont....
Forum: AB³ Development
Letzter Beitrag: hackball
28.08.2025, 20:31
» Antworten: 0
» Ansichten: 495
Amos2Blitz?
Forum: Showcase
Letzter Beitrag: hackball
24.08.2025, 20:01
» Antworten: 11
» Ansichten: 57.447
proBanking - Onlinebankin...
Forum: Projects
Letzter Beitrag: HelmutH
11.06.2025, 20:56
» Antworten: 5
» Ansichten: 27.138
proBonds - Finanzsoftware
Forum: Projects
Letzter Beitrag: HelmutH
11.06.2025, 20:53
» Antworten: 4
» Ansichten: 20.619
RedPill - Game Constructi...
Forum: Projects
Letzter Beitrag: HelmutH
09.06.2025, 19:55
» Antworten: 45
» Ansichten: 133.513
AmiBlitz 3.10.1 veröffent...
Forum: News
Letzter Beitrag: HelmutH
15.05.2025, 00:15
» Antworten: 1
» Ansichten: 2.558
Frohe Ostern!
Forum: Off Topic
Letzter Beitrag: HelmutH
30.04.2025, 00:49
» Antworten: 1
» Ansichten: 2.112
https://www.amiblitz.de
Forum: Off Topic
Letzter Beitrag: HelmutH
18.03.2025, 21:20
» Antworten: 5
» Ansichten: 4.973

 
  AB3 Includes and AIDE update
Geschrieben von: Der Wanderer - 05.02.2014, 09:28 - Forum: AB³ Development - Antworten (1)

Hello all!

Just got SVN to work again here and updated the includes from my side. Thanks Blackbird for the .ab3 conversion, will make things easier in the future.
I also added as a second commit AIDE as sourcecode and working binary.
Caution: if you load an .ab3 file for the very first time, AIDE will scann your entire Amiblitz3 installation. This can take up to several minutes. There is no progressbar so far, AIDE seems to be frozen, but it is not, just be patient!

Thanks and have fun!

Wanderer

Drucke diesen Beitrag

  meine P96screen.include läuft nicht mit debugger...
Geschrieben von: hackball - 03.02.2014, 22:19 - Forum: Snippets & Libraries - Antworten (7)

hallo, hier nochmal meine bisherige, unzuverlässige Vorgehensweise, wenn ich einen RTG-Screen öffnen will. Unzuverlässig deshalb, weil das Programm offenbar bei Closescreen einfriert; allerdings nur manchmal und nur mit Debugger On.

Code:
; picasso 96 8 bit display, prepared for truecolor
; by Frank Brandis
; CHG: 25.05.2010
; CHG: 06.06.2010   ;alsreq -> fallback. new dispload/save from env:

; Function.l p96_openscreen   {num.w,w.l,h.l,d.l,m.l,t$} ;returns *scr.Screen (.l)
; Function.l p96_askforscreen {num.w,stit$,w.l,h.l,d.l}  ;ask for and opens screen, ret *scr.Screen

; Statement  dispsave {destdir$,w.l,h.l,d.l,m.l}         ;saves DisplayModeID to e.g. Env:
; Function.l dispload {srcdir$ ,w.l,h.l,d.l}             ;loads and returns DisplayID, if exists

INCDIR "blitzinc:src/"
XINCLUDE"screeninfo.ntype.bb"
XINCLUDE"screen_tags.bb"

bb2_p96display$="ENVARC:BlitzP96Modes/" ;directory for storing used GFXCard Modes to use
#p96_loadsave=1     ;set to 0 later

CNIF #p96_loadsave=1
;save given parameters of displaymode to a file usually in ENVARC:
Statement dispsave {dest$,w.l,h.l,d.l,m.l}
  Format""
  newn$=dest$+Str$(w)+"x"+Str$(h)+"x"+Str$(d)   ;"ENV:800x600x8"

  o$="$"+Hex$(m.l)                              ;$50041000

  If NOT(Exists(newn$))
    If WriteFile(1,newn$)
      FileOutput1
        NPrint o$
      CloseFile1:DefaultOutput
    EndIf
  EndIf
End Statement

Function.l dispload {src$,w.l,h.l,d.l}
  Format""
  newn$=src$+Str$(w)+"x"+Str$(h)+"x"+Str$(d)   ;"ENV:800x600x8"

  o$=""                              ;$50041000

  If ReadFile(1,newn$)
    FileInput1
      o$=Inkey$(20)
    CloseFile1:DefaultInput
  EndIf
  Function Return Val(o$)

End Function
CEND

Function.l p96_openscreen {num.w,w.l,h.l,d.l,m.l,t$}
ScreenTags num.w,t$,#Width,w,#Height,h,#Dpth,d,#AutoScroll,1,#DPen,1,#BPen,2,#DisplayID,m,#LikeWorkbench,1
; ScreenTags num.w,t$,#Width,w,#Height,h,#Dpth,d,#AutoScroll,1,#DisplayID,m
;Screen num,0,0,w,h,d,m,t$,1,2

Function Return Peek.l(Addr Screen(num))
End Function


Function.l p96_askforscreen {num.w,stit$,w.l,h.l,d.l}
SHARED bb2_p96display$

FindScreen0    ;get a screen to open asl req on

scrimem.l=AllocVec_ (SizeOf.screeninfo,#MEMF_PUBLIC|#MEMF_CLEAR)

If scrimem>0
   *scri.screeninfo=scrimem

;  *scri\width  =800 :  *scri\height =600
;  *scri\dpth   =8   :  *scri\id     =$50041000
;   dispsave {bb2_p96display$,800,600,8,$50041000}

;  *scri\width  =640 :  *scri\height =480
;  *scri\dpth   =8   :  *scri\id     =$50031000
;   dispsave {bb2_p96display$,640,480,8,$50031000}

   *scri\width  =w.l
   *scri\height =h.l
   *scri\dpth   =d.l


   CNIF#p96_loadsave=1
   res.l = dispload {bb2_p96display$,*scri\width,*scri\height,*scri\dpth}

   *scri\id     =res
   CEND

   If *scri\id=0

     *scri=ASLScreenRequest(1|2|4)   ;uncomment this to chg new mode (snoop id with scout)

   EndIf
Else
   End  ;cancel
EndIf

res.l=p96_openscreen {num.w,*scri\width,*scri\height,*scri\dpth,*scri\id,stit$}
If res
   CNIF#p96_loadsave=1
    dispsave {bb2_p96display$,*scri\width,*scri\height,*scri\dpth,*scri\id}
   CEND

   ;*sc.Screen=res
   ;Gosub main
   Use Screen num
EndIf
*scri=0
FreeVec_ scrimem.l
Function Return res
End Function


;
;test.l= p96_askforscreen{1,"testscreen",800,600,8}

;If test
;  Delay_150

;  CloseScreen 1
;EndIf

;NPrint Hex$(test)
;MouseWait
;End


das folgende wird bei Verwendung der load/save Option in Envarc: gespeichert:
Code:
envarc:blitzp96modes
   800x600x4
   720x576x24
   800x600x5
   896x600x8
   896x600x24
   800x600x24
   640x480x24
   1152x768x8
   1152x768x24
   1280x854x8
   1280x854x24
   1024x768x8
   1024x768x24
   800x600x8
   720x480x8
   720x480x24
   640x480x8

wer sieht was Illegales/falsches? Wie gesagt, es funktioniert eigentlich. Ich wüßte nur gerne, warum es manchmal eben nicht funktioniert. Ich glaube ja, mein ASL-Screenrequest wird manchmal getrasht, weil ich zum Teil Einträge wie dieses hier finde:

22230303x4202020x2048 oder so. Da ging dann irgendwas schief?

Drucke diesen Beitrag

  AmiBlitz3 : Includes zu .ab3 konvertiert
Geschrieben von: Blackbird - 03.02.2014, 17:10 - Forum: AB³ Development - Antworten (6)

Hallo Thilo,

Ich hatte gestern einen ganz seltsamen absturz beim beenden von Ab3 mit verwertbaren Offsets.
Angeblich ist das clipboard schuld, aber ich denke eher es liegt an was anderen. siehe weiter unten...

Kernel command line: debuglevel=1

Registers pointing to code:
r0 : native kernel module Kickstart/kernel+0x00021c88
r7 : native kernel module Kickstart/dos.library.kmod+0x00752a54
r8 : native kernel module Kickstart/dos.library.kmod+0x0002e688
r11: native kernel module Kickstart/kernel+0x009b6876
r21: native kernel module Kickstart/kernel+0x00a50000
r31: native kernel module Kickstart/kernel+0x009b6876
ip : module DEVS:clipboard.device at 0x7FBACDF8 (section 4 @ 0x1DD4)
lr : native kernel module Kickstart/kernel+0x00021c88
ctr: native kernel module Kickstart/kernel+0x0001c908

Stack trace:
(0x5fbbfef0) module DEVS:clipboard.device at 0x7FBACDF8 (section 4 @
0x1DD4)
(0x5fbbff10) native kernel module Kickstart/kernel+0x00021c88
(0x5fbbff50) native kernel module Kickstart/ramlib.kmod+0x0000150c
(0x5fbbffb0) native kernel module Kickstart/kernel+0x000232ac
(0x5fbbffc0) native kernel module Kickstart/kernel+0x0005bff4

Disassembly of crash site:
7fbacde8: 90010024 stw r0,36(r1)
7fbacdec: 83c30010 lwz r30,16(r3)
7fbacdf0: 93a10014 stw r29,20(r1)
7fbacdf4: 3ba00000 li r29,0
>7fbacdf8: a01e0020 lhz r0,32(r30)
7fbacdfc: 83fe0074 lwz r31,116(r30)
7fbace00: 2f800000 cmpwi cr7,r0,0
7fbace04: 7fe3fb78 mr r3,r31
7fbace08: 419e0030 beq- cr7,0x7FBACE38
7fbace0c: 881e000e lbz r0,14(r30)
Stack pointer (0x5fbbfef0) is inside bounds
Redzone is OK (4)

68k register dump
DATA: 612c61d0 00010000 0001ffff 00000100 00000000 0000000a 0000006c
fffffffe
ADDR: 6057b450 6057b3d0 5ba310e4 5dba630c 5bafb324 5be53f19 021b6876
5fbbffda
----> 5dba630c - "Blitz3:System/PED_Beta" Hunk 0000 Offset 0000030c
(SegList: 0x176e9801)
----> 021b6876 - "Kickstart/kernel" Hunk 0001 Offset 00156876
Page information:
Page not found


Und als ich mir das .dbgfile ansah viel mir folgendes auf:

ein verwertbarer Offset war dann allerdings die asl.include
0000D30C <asl.include.ab3@355> XINCLUDE "asl.include.bb2"

Die clipboard.include war also nur der verursacher das anstatt asl.include.ab3 die asl.include.bb2 geladen werden sollte. Und das ging in die Hose weils die schon seit einiger Zeit nicht mehr gibt. Genauso wie die Clipboard2.include.bb2 (steht im aktuellstem Pedsource aus der Distro so drin)

Ich habe auf jeden Fall nun alle (und ich meine den kompletten Ordner Includes außer Ntui!) auf .ab3 umgestellt.

Bevor ich das nun comitte stellt sich die Frage ob es nicht besser wäre die alten .bb2/ab2 im Ordner Includes nicht einen eigenen Unterordner zu spendieren damit sowas nicht mehr vorkommt. Oder besser noch gleich ganz rausnehmen weil an den Dingern dann eh keiner mehr was macht ?

Ich nehme an, du müßtest dann Ntui auch aktualisieren....

Sag mal wie du das haben möchtest...

Drucke diesen Beitrag

  Bildschirm intelligent klonen (Fehler)
Geschrieben von: hackball - 02.02.2014, 16:51 - Forum: Questions & Answers - Antworten (13)

Hallo, habe schon wieder eine Frage. Betrifft evtl. auch AB, falls u.g. nicht funktioniert.

Ich möchte einen Bildschirm öffnen, der den Modus der Workbench und/oder die Farben und Pens der Workbench übernimmt.
Das klappt aber nicht, manchmal friert WinUAE ein, ohne Debugger klappt es schon, aber die Pens von Gadtools stimmen nicht: alle Borders sind schwarz, auch auf 8bit Screens.
Die Farben werden aber korrekt gesetzt! :?
[ab3].openscreen:
;obsolete constants, use #SA_... instead!
#Width=$80000023
#Height=$80000024
#Dpth=$80000025
#Typ=$8000002D
#DisplayID=$80000032
#Overscan=$80000034
#AutoScroll=$80000039
#LikeWorkbench=$80000047
.o__o

;ColorSpec.newtype is index.w/r.w/g/b

Dim myscol.ColorSpec(10) ;255


myscol(0)\ColorIndex= 0,7,7,8 ;grey

myscol(1)\ColorIndex= 1,1,1,1 ;black
myscol(2)\ColorIndex= 2,14,14,14 ;white
myscol(3)\ColorIndex= 3,13,8,0 ;dark orange

myscol(4)\ColorIndex= 5,15,14,2 ;yellow
myscol(5)\ColorIndex= 6,2,10,2 ;green
myscol(6)\ColorIndex= 7,12,2,0 ;red RGB 0,7,7,8 ;grey
myscol(7)\ColorIndex= -1,-1,-1,-1 ;endof array



scrtags\a=#BIDTAG_DesiredWidth,640,#BIDTAG_DesiredHeight,256,#BIDTAG_Depth,3,0,0
; scrtags\a=#BIDTAG_NominalWidth,640,#BIDTAG_NominalHeight,256,#BIDTAG_Depth,3,0,0

res.l=BestModeIDA_(scrtags)
If res=0

ScreenTags1,scrtitle$,#LikeWorkbench,-1,#SA_Colors,&myscol(0),#Width,640,#Height,256,#Dpth,3,0,0

Else

ScreenTags1,scrtitle$,#SA_DisplayID,res,#SA_Colors,&myscol(0),#SA_DetailPen,2,#SA_BlockPen,1,#Width,640,#Height,256,#Dpth,3,0,0

EndIf[/ab3]

Was stimmt hier nicht?

Drucke diesen Beitrag

  Ntui : Requester
Geschrieben von: Blackbird - 02.02.2014, 13:12 - Forum: NTUI - Antworten (2)

Ist das eigentlich vorgesehen das du auch einen Requester mit Userabfrage einbaust für String und Zahlen jeweils getrennt ?
Oder sollte man sich das lieber selber zusammenbasteln ?

Drucke diesen Beitrag

  Area-Commands (graphicslib) OLD!
Geschrieben von: hackball - 01.02.2014, 14:51 - Forum: Snippets & Libraries - Antworten (26)

Hallo Leute,

hier mal eine alte Lib für BB2 von mir. Wenn ich mich recht erinnere, funktionierte die recht gut, evtl. gab es auch mal Speicherlecks (Chipmem) oder so, kann mich nicht mehr erinnern.
Wäre schön, wenn da mal jemand drüber schauen könnte.

Code:
;
; RayAreaGfxLib
; programmed for BlitzBasic 2 by Frank Brandis
; (c)opyright 1995 by Frank Brandis
;
; maximum of areasteps = 360 !!!!
;



#rayarealib=22

; graphics
#_allocraster=-492 ;d0=(d0,d1)
#_freeraster =-498 ;   (a0,d0,d1)
#_inittmpras =-468 ;   (a0,a1,d0)
#_initarea   =-282 ;   (a0,a1,d0)

#_areamove   =-252 ;d0=(a1,d0,d1)
#_areadraw   =-258 ;d0=(a1,d0,d1)
#_areaend    =-264 ;   (a1)
#_areaellipse=-186 ;d0=(a1,d0,d1,d2,d3) ;only os3 ????? i dunno ..
#_drawellipse=-180 ;   (a1,d0,d1,d2,d3)
#_setapen    =-342 ;   (a1,d0)


; exec
#_allocmem   =-198 ;d0=(d0,d1)
#_freemem    =-210 ;   (a1,d0)

!libheader {#rayarealib,0,0,0,0}

!astatement
!args {#word,#word,#word}
!libs {#graphicslib,#la6}
!subs {_areastart,0,0}
!name {"Area","x,y,col        ;start of filled polygon"}

!astatement
!args {#word,#word}
!libs {#graphicslib,#la6}
!subs {_areastep,0,0}
!name {"AreaStep","x,y    ;next coord of filled polygon"}

!astatement
!args
!libs {#graphicslib,#la6}
!subs {_areafill,0,0}
!name {"AreaFill","       ;closing the polygon"}

!astatement
!args {#word,#word,#word,#word,#word}
!libs {#graphicslib,#la6}
!subs {_areacirc,0,0}
!name {"WCirclef","x,y,xrad,yrad,col"} ;doesn`t work (areaellipse_)

!astatement
!args {#long,#word,#word,#word,#word}
!libs
!subs {_setptrn,0,0}
!name {"Pattern","*rp,areaptrn1,areaptrn2,areaptrn3,areaptrn4"}

!afunction {#long}
!args {#long,#long,#long,#word}
!libs {#graphicslib,#la0,#execlib,#la1}
!subs {_areainit,0,0}
!name {"AreaInit","(*rp,width,height,maxcoords)  TRUE if success"}

!afunction {#long}
!args
!libs {#execlib,#la6}
!subs {_areafinit,0,0}
!name {"AreaFinit","  BOOLEAN TRUE if success"}

!astatement
!args {#long,#word}
!libs
!subs {_linepat,0,0}
!name {"LinePattern","*rp,pattval    ;pattval could be %1100110011001100"}

!astatement
!args {#long,#long,#byte}
!libs
!subs {_setptrna,0,0}
!name {"PatternA","*rp,&patdef,patsize; user pattern def, patsize must be one of x^2 !!"}

!astatement
!args {#long,#byte}
!libs
!subs {_setolpen,0,0}
!name {"OutlinePen","*rp,colour  ;"}

!astatement
!args {#long,#byte}
!libs
!subs {_oline,0,0}
!name {"Outline","*rp,bool.b     ;   0 or 1,switches areaborders off or on"}
.

!libfin

._areastart
LEA  rastprt(pc),a0
MOVE.l      (a0),a1   ;rp here  :)

MOVEM.l    d0/d1,-(a7);x coord retten
MOVE.l        d2,d0   ;colour nach d0
JSR    _setapen(a6)

MOVEM.l    (a7)+,d0/d1   ;x coord rest.

JSR   _areamove(a6)   ;AreaMove_ *rp,x,y
RTS

._areastep
LEA  rastprt(pc),a0
MOVE.l      (a0),a1
JSR   _areadraw(a6)   ;AreaDraw_ *rp,x,y
RTS

._areacirc
LEA  rastprt(pc),a0
MOVE.l      (a0),a1   ;*rp in a1

MOVEM.l    d0-d3,-(a7);x coord wegen lvosetapen_ retten
MOVE.l        d4,d0   ;color nach d0
JSR     _setapen(a6)

MOVEM.l    (a7)+,d0-d3;x coord rest.

; JSR _areaellipse(a6) ;AreaEllipse_ *rp,x,y,rx,ry  ,col
JSR _drawellipse(a6)
JSR     _areaend(a6)  ;AreaEnd_ *rp
RTS
RTS

._areafill
LEA  rastprt(pc),a0
MOVE.l      (a0),a1
JSR    _areaend(a6)   ;AreaEnd_ *rp
RTS

.
._areainit
LEA      gfxbas(pc),a2
MOVE.l           a0,(a2)
LEA     execbas(pc),a2
MOVE.l           a1,(a2)

LEA     rastprt(pc),a1         ;rastport sichern
MOVE.l           d0,(a1)

MOVE.l           d3,d0         ;max. areasteps
ADD.l            #1,d0         ;ein schritt zu maxsteps hinzu
MULU             #5,d0         ;mal 5,wegen rasteralloc.
LEA      msteps(pc),a0
MOVE.l           d0,(a0)       ;als maxsteps sichern


LEA        widt(pc),a1
MOVE.w           d1,(a1)
MOVE.w           d1,d0         ;width, should be windows max width
LEA        heit(pc),a1
MOVE.l           d2,(a1)
MOVE.l           d2,d1         ;height, should be windows max height
LEA      gfxbas(pc),a1
MOVE.l         (a1),a6
JSR   _allocraster(a6)
LEA         ras(pc),a1
MOVE.l           d0,(a1)       ;ras.l=AllocRaster_(640,256)
CMP.l #0,d0:BEQ noinit

LEA        widt(pc),a0        ;
MOVE.l         (a0),d0        ;
DIVU             #8,d0        ;
LEA        heit(pc),a0        ;
MOVE.l         (a0),d1        ;
MULU             d1,d0        ; MOVE.l #$14000,d0   ;(640/8)*256)

LEA         ras(pc),a0
MOVE.l         (a0),a1
LEA      tmpras(pc),a0
JSR    _inittmpras(a6)   ;err.l=InitTmpRas_(tmpras,buf.l,(640/8)*256)


LEA     execbas(pc),a0
MOVE.l         (a0),a6
LEA      msteps(pc),a1
MOVE.l         (a1),d0
MOVE.l      #$10001,d1
JSR      _allocmem(a6)
LEA        buff(pc),a0
MOVE.l           d0,(a0)     ;buff$=String$(" ",(msteps+1)*5)

CMP.l #0,d0:BEQ  noinit

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
JSR      _initarea(a6)  ;err.l=InitArea_(*ai.AreaInfo,&buff$,360)

LEA     rastprt(pc),a0
MOVE.l         (a0),a1
LEA      tmpras(pc),a0
MOVE.l           a0,SizeOf.RastPort\TmpRas(a1)     ;*rp\TmpRas=tmpras
LEA     areainf(pc),a0
MOVE.l           a0,SizeOf.RastPort\AreaInfo(a1)   ;*rp\AreaInfo=*ai
MOVEQ            #1,d0
BRA okinit
noinit:
MOVEQ           #0,d0
okinit:
RTS

._areafinit

LEA        widt(pc),a0   ;
MOVE.l         (a0),d0   ;MOVE.w         #640,d0
LEA        heit(pc),a0   ;
MOVE.l         (a0),d1   ;MOVE.w         #256,d1
LEA      gfxbas(pc),a0
MOVE.l         (a0),a6
LEA         ras(pc),a1
MOVE.l         (a1),a0
JSR    _freeraster(a6)   ;FreeRaster_ *ras,640,256

LEA     execbas(pc),a0
MOVE.l         (a0),a6
LEA      msteps(pc),a0   ;
MOVE.l         (a0),d0

LEA        buff(pc),a0   ;
MOVE.l         (a0),a1
JSR       _freemem(a6)
; d0=result
RTS

.
._setptrn
MOVE.l       d0,a1
LEA   patt1(pc),a0
MOVE.w       d1,(a0)+
MOVE.w       d2,(a0)+
MOVE.w       d3,(a0)+
MOVE.w       d4,(a0)

LEA   patt1(pc),a0
MOVE.l       a0,SizeOf.RastPort\AreaPtrn(a1)
MOVE.b       #2,SizeOf.RastPort\AreaPtSz(a1) ;heavy error last version
RTS

._setptrna
MOVE.l       d0,a1    ;rastprt
MOVE.l       d1,SizeOf.RastPort\AreaPtrn(a1)
MOVE.b       d2,SizeOf.RastPort\AreaPtSz(a1)
RTS

._linepat
MOVE.l d0,a1
MOVE.w d1,SizeOf.RastPort\LinePtrn(a1)
RTS

._setolpen
MOVE.l d0,a1
MOVE.b d1,SizeOf.RastPort\AOlPen(a1)
; MOVE.w SizeOf.RastPort\Flags(a1),d0
; BSET   #3,d0
; MOVE.w d0,SizeOf.RastPort\Flags(a1)
RTS

._oline
MOVE.l  d0,a1
SUB.l   d0,d0
MOVE.w SizeOf.RastPort\Flags(a1),d0
CMP.b   #0,d1
BEQ dof
BSET    #3,d0
bck:MOVE.w d0,SizeOf.RastPort\Flags(a1)
RTS
dof:BCLR #3,d0:BRA bck

tmpras:  ;struct
Dc.l 0
Dc.l 0

areainf:Dcb.l 8,0

execbas:Dc.l 0
gfxbas: Dc.l 0
rastprt:Dc.l 0
ras:    Dc.l 0
msteps: Dc.l 0
buff:   Dc.l 0
widt:   Dc.w 0
heit:   Dc.w 0

patt1:  Dc.w 0,0,0,0
Even

Drucke diesen Beitrag

  System1.lib und help
Geschrieben von: Blackbird - 01.02.2014, 10:23 - Forum: AB³ Development - Antworten (7)

Mir ist gerade beim durchsehen vom Source Ppaintlib.obj aufgefallen das einige Befehle gar nicht im Help auftauchen...

Was bitteschon ist den :
DBRA ? BRA ist Brunch ist klar...
MOVEA ?
TNT ? (gibts zwar in der guide aber der Eintrag ist leer)

Kann man das nachlesen irgendwo und evtl. auch gleich die guide ergänzen ?

Drucke diesen Beitrag

  Optimales Bild-Dateiformat...
Geschrieben von: hackball - 26.01.2014, 22:32 - Forum: Questions & Answers - Antworten (12)

für nachladbares horizontales Scrolling suche ich. Eventuell könnte man auch supergroße Bilder auf der Grafikkarte direkt in den Speicher laden? Wäre das zu empfehlen? Oder lieber alles in Tiles aufteilen....

Drucke diesen Beitrag

  ? zu Tincture
Geschrieben von: HelmutH - 26.01.2014, 21:08 - Forum: Questions & Answers - Antworten (5)

Hi Blackbird
Hab hier in ein paar Themen gelesen das du an Tincture dran bist und da wollte ich mal Neugierig sein und fragen, wie du da vorran kommst Smile :?:

Drucke diesen Beitrag

  image.include : image_Create{}
Geschrieben von: Blackbird - 26.01.2014, 19:59 - Forum: Includes - Antworten (8)

Hallo,

Also da ich für Zeichenfunktionen in Tincture auch den Drawbuffer anlege und den transparent haben möchte frage ich mich wie ich das anstellen muß damit ich dann auch nur mein neu gezeichnetes im Mixbuffer zusammenmischen kann.

zum erzeugen eines Buffers mach ich folgendes:

[ab3]Function.l tnc_CreateBuffer{}

buf.l = image_GetFree{}
succ.l = image_Create{buf,AppContext\projectA\width,AppContext\projectA\height,0,$0}
If succ
Function Return buf
Else
Function Return False
EndIf
End Function[/ab3]

ein experimentelles image_DrawLineAA{AppContext\projectA\imgDrawbuffer,x,y,xwidth,yheight,argb,thick}
wird auch anstandslos gezeichnet

allerdings wird beim mischen in ein bestehendes Bild das schwarz ( $0) auch gezeichnet...

[ab3]Function.l tnc_MixBuffers{imageID.l,x.l,y.l,width.l,height.l,imageID2.l,mode.l,value.l}

*rp.RastPort = image_GetRPPtr{imageID2}
If value > 255 Then value = 255
image_FancyBlit{imageID,x,y,width,height,*rp,mode,value}
End Function[/ab3]

[ab3]tnc_DrawLine{10,10,100,100,$ffffff,5}
tnc_MixBuffers{AppContext\projectA\imgDrawbuffer,0,0,AppContext\projectA\width,@@
AppContext\projectA\height,AppContext\projectA\imgMixbuffer,#image_blitmode_alpha,255} ; Mische Puffer zusammen[/ab3]

was muß ich anstellen damit ich das transparent blitten kann ?

Drucke diesen Beitrag