Hallo, Gast |
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.
|
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
|
|
|
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?
|
|
|
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...
|
|
|
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?
|
|
|
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 ?
|
|
|
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
|
|
|
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 ?
|
|
|
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....
|
|
|
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 ?
|
|
|
|