amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Datatypes: Farben festlegen lassen [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 2 -3- [ - Beitrag schreiben - ]

06.01.2007, 20:14 Uhr

NoImag
Posts: 1050
Nutzer
@ Ralf27:

Ich habe in Deinem Code keinen Fehler finden können, aber wenn es tatsächlich so ist, dass nicht alle Datatypes alle Informationen zur Verfügung stellen, dann liegt es ja auch nicht an Deinem Code.

Zitat:
Und jetzt rein interessenhalber: Wo hängt es nur beim Pens sichern...

Ich habe bei mir ObtainPen() mal verschiedenen Situationen unterworfen. Danach sieht es so aus, als ob man mit ObtainPen() ausschließlich freie Pens allozieren kann, man also keinen bereits shared allozierten Pen nochmal shared allozieren kann. ObtainPen() ist damit für Deine Anwendung nicht geeignet. Leider ist auch ObtainBestPen() für Deinen Zweck ungeeignet, weil bei ObtainBestPen() nicht sichergestellt ist, dass Du den richtigen Pen alloziert bekommst. Die einzige Möglichkeit, das Datatype freizugeben und sicherzustellen, dass kein anderes Programm Dir die Farben kaputt macht, ist damit ein eigener privater Screen.

Zitat:
Bin kurz mal durch hab ein Beispiel mit 4 ViewPorts gleichzeitig gefunden. Irgendwie recht komplex.

Du sollst es ja auch nicht selbst machen. :D

Zitat:
Was macht eigentlich der Datatype *vor* V43? Der Befehl PDTA_UserFriendBitmap gibt es ja erst ab V43, aber wie verhält es sich vorher? Sollte ich die Version kontrollieren und zur Not dann doch in meine eigene Bitmap zwischenspeichern, wenn die Version kleiner V43 ist? Dann bräuchte aber doch wieder die Pensichern-Story, wenn ich die Doppelbelegung nicht möchte.

Wenn sonst niemand hier weiß, was bei <V43 passiert, dann musst Du das ausprobieren. Wenn es mit <V43 nicht geht, dann musst Du entweder V43 voraussetzen oder bei <V43 einen eigenen Screen erzwingen und die Bitmap zwischenspeichern, sofern Du die Doppelbelegung nicht akzeptieren möchtest.

Zitat:
Außerdem steht drin, das sich z.b. zwischen den Datatypeversionen hin und wieder die Defaulteinstellungen ändern. Z.b. PMODE42<->PMODE43. Da wird man ja zum Hirsch. Da ich FriendlyBitmap auf FALSE habe, sollte ich dann wohl auch PMODE42 einsetzen. Denn ich kann dann wohl auch nur bis 8Bit gehn, was ja ausreichend ist.

Ich würde erstmal keinen Grund sehen, weshalb Du Dich darum kümmern müsstet. Oder liest Du direkt die Bitmap aus (ohne graphics.library)?

Tschüß


[ - Antworten - Zitieren - Direktlink - ]

06.01.2007, 20:29 Uhr

Ralf27
Posts: 2779
Nutzer
@NoImage:
Also, die Pens sind wirklich so ne Sache beim Amiga. Somit ist es also gar nicht möglich die Pens zu sichern und das Datatype freizugeben. Wenn ich jetzt die Bilder lade, dann brauch die die Datatypes auch nicht mehr freizugeben, da ich jetzt FriendlyBitmap auf False habe, weil sonst z.b. BltMaskBitMapRastport Datenmüll produziert. Aber bei Grafikkartenusern dürfte das ganze relativ langsam sein, da ja laufend alles vor dem Blitten konnvertiert werden muß. Hm...
Oder, ich muß mal nachsehn ob Grafikkarte vorhanden ist und das nochmal unterscheiden: also nix Grafikkarte=FriendlyBitmap FALSE und wenn eine da ist, dann FriendlyBitmap TRUE in der hoffnung das es dann geht und die Betriebsystemfunktion BltMaskBitMapRastport auch richtig macht. Ist alles nur eine Vermutung, kann ich hier mangels Grafikkarte nicht testen.
Ich weis nur das mit OS3.9 unter AGA mit FriendlyBitMap und BltMaskBitMapRastport Datenmüll bekomme.


> Wenn sonst niemand hier weiß, was bei <V43 passiert, dann musst Du
> das ausprobieren. Wenn es mit <V43 nicht geht, dann musst Du
> entweder V43 voraussetzen oder bei <V43 einen eigenen Screen
> erzwingen und die Bitmap zwischenspeichern, sofern Du die
> Doppelbelegung nicht akzeptieren möchtest.

zja, es ist nur die Frage ob bis V43 immer FriendBitMap=FALSE war. Wenn es so ist, dann läuft es ja. Ich hab jetzt auch noch PMODE42 angegeben. Hm, Datatypes...

> Ich würde erstmal keinen Grund sehen, weshalb Du Dich darum kümmern
> müsstet. Oder liest Du direkt die Bitmap aus (ohne
> graphics.library)?

Ich fass die Daten nicht direkt an, nur mit BltMaskBitMapRastport und BltBitMap, das wars. Ok, dann auch noch GetBitMapAttr. :D
[/quote]


--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

21.01.2007, 18:53 Uhr

Ralf27
Posts: 2779
Nutzer
Zum verrückt werden mit den Datatypes. Das verhalten derselben .... arg. :nuke:

Also, jenachdem wo ich die Bilder aufmache (WB AGA, Screen AGA, WB CGX oder Screen CGX) verhalten sich die Dinger unterschiedlich. Ich wollte ja Speicher sparen, also hab ich beim öffnen der Bilder via Datatype noch folgendes dazugegeben:

DTA_GroupID&, GID_PICTURE&,
PDTA_DestMode&, PMODE42&,
PDTA_FreeSourceBitMap&, TRUE&,
PDTA_UseFriendBitMap&, FALSE&,
PDTA_Remap&, TRUE&,
PDTA_Screen&, scr&,

So, auf der WB mit CGX läuft es nur wenn PDTA_UseFriendBitMap TRUE& ist, aber auf der WB mit AGA laufen einige nicht, die aber dann auf einem eigenen Screeen mit AGA laufen. Himmel, was geht hier ab? ;(

Vermutlich muß ich doch wieder die Speicherfressende Methode wählen, also das Bild laden und gleich nochmal ein Speicherbereich mit AllocBitMap reservieren und das Bild doppelte halten. Vorher war es ja dreifach(!) drin, aber dank PDTA_FreeSourceBitMap konnte ich etwas Speicher sparen.

Ich benutze nur BltBitMap und BltMaskBitMapRastport für die Bilddaten, sonst nix. Aber wohl gerade das mit der Maske ist wohl das Problem...
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

21.01.2007, 19:44 Uhr

Ralf27
Posts: 2779
Nutzer
Also, ich kann wohl FriendBitMap immer auf False lassen, außer wenn ich die Datatype auf der WB mit CGX benutze, dann muß ich auf True schalten, da sonst die Grafik Falschfarben hat. Ok. Aber was mich wundert, wieso läuft es mit FriendBitMap False auf einem CGX Screen ohne Probleme? Der Screen weis nix vom Datatype und ich mach so oder so beim öffnen der Datatypes einen Zeiger auf denn Screen(also WB oder Custom, egal).

Datatypes sind wirklich der Hammer... ;(
--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]


1 2 -3- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Datatypes: Farben festlegen lassen [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.