; ****************************************************** ; ****************************************************** ; ** ** ; ** ConvertPalette V1.1 ** ; ** ** ; ** by Steffen Nitz ** ; ** ** ; ** (31.12.1996 - 16.12.2001) ** ; ** ** ; ** ** ; ** E-Mail: Steffen.Nitz@t-online.de ** ; ** ** ; ** Dieser Source ist Public-Domain ** ; ** ** ; ** ** ; ** Konvertiert ILBM/IFF-Paletten in BB2-Source ** ; ** ** ; ****************************************************** ; ****************************************************** ; benoetigt Amigalibs.res ;31.12.1996 V1.0 ;Erste Version ;16.12.2001 V1.1 ;auf Grafikkarte angepasst WBStartup LoadFont 0,"topaz.font",8 Screen 0,8,"ConvertPalette" WBenchToFront_ WbToScreen 1 Function.b AslReq{name$,a$,pat$} SHARED pa$ Use Screen 1 pa$=a$ MaxLen ppa$=192 MaxLen fi$=192 ppa$=pa$ opa$=ppa$ pa$=ppa$ fl.b=0 ppp.b=0 For t=Len(pa$) To 1 Step -1 a$=Mid$(pa$,t,1) If a$=":" OR a$="/" AND fl=0 fl=1:ppp=1 fi$ =Mid$(pa$,t+1) ppa$=Left$(pa$,t) Else If ppp=0 Then fi$=opa$:ppa$="" EndIf Next ASLFILEREQ: pa$=ASLFileRequest$ (name$,ppa$,fi$,pat$) Use Screen 0 a$=Right$(pa$,1) If a$=":" OR a$="/" Then ppa$=pa$:Goto ASLFILEREQ If pa$="" Then pa$=opa$ Else Function Return 1 End Function #Gadget00 = 0 #Gadget10 = 1 #Gadget20 = 2 #Gadget30 = 3 #Gadget40 = 4 #Gadget50 = 5 #Gadget60 = 6 Dep.b=3 Anzahl.w=8 la$="Blitz2:" sa$="Blitz2:Palette.bb2" GTCycle 0,#Gadget00,33,4,92,14,"Typ",#PLACETEXT_LEFT,"AGA|ECS" GTSlider 0,#Gadget10,182,4,134,14,"Farben",#PLACETEXT_LEFT,1,8,Dep GTNumber 0,#Gadget20,318,4,32,14,"",0,Anzahl GTText 0,#Gadget30,33,20,293,14,"IN ",#PLACETEXT_LEFT,la$ GTButton 0,#Gadget40,330,20,20,14,"L",0 GTText 0,#Gadget50,33,36,293,14,"OUT",#PLACETEXT_LEFT,sa$ GTButton 0,#Gadget60,330,36,20,14,"S",0 GTButton 0,7,33,53,100,14,"Convert",$10 Window 0,20,20,362,90,4110,"ConvertPalette",1,2 AttachGTList 0,0 Use Screen 0 Repeat ev.l = WaitEvent If (ev = #IDCMP_GADGETUP) Select GadgetHit Case #Gadget00 Typ.b=EventCode:Gosub Farbanzahl Case #Gadget10 Dep=EventCode Gosub Farbanzahl Case #Gadget40 ;Load If AslReq {"IFF-Palette laden",la$,""} la$=pa$ ILBMInfo la$ Dep=ILBMDepth Gosub Farbanzahl LoadPalette 0,la$ Use Palette 0 GTSetAttrs 0,3,#GTTX_Text,la$ EndIf Case #Gadget60 ;Save If AslReq {"Palette-Code Speichern",sa$,""} sa$=pa$ GTSetAttrs 0,5,#GTTX_Text,sa$ EndIf Case 7 Gosub Save End Select EndIf Until ev=$200 CloseWindow 0 Free GTList 0 CloseScreen 0 CloseScreen 1 Free Palette 0 End .Farbanzahl Anzahl = 2 ^ Dep GTSetAttrs 0,2,#GTNM_Number,Anzahl GTSetAttrs 0,1,#GTSL_Level,Dep Return .Save If WriteFile(0,sa$) FileOutput 0 NPrint "InstallPal:" NPrint " #Farben ="+Str$(Anzahl) NPrint " #Pal=0" NPrint "" NPrint " Restore InstallPal" NPrint " For Farb.w=0 To #Farben" NPrint " Read Rot.w,Gruen.w,Blau.w" If Typ=0 NPrint " AGAPalRGB #Pal,Farb,Rot,Gruen,Blau" Else NPrint " PalRGB #Pal,Farb,Rot,Gruen,Blau" EndIf NPrint " Next" NPrint "Return" NPrint "" Format"###" For t=0 To Anzahl Step 2 Select Typ Case 0 Rot =AGARed (t) Gruen =AGAGreen(t) Blau =AGABlue (t) Rot1 =AGARed (t+1) Gruen1=AGAGreen(t+1) Blau1 =AGABlue (t+1) Case 1 Rot =Red (t) Gruen =Green(t) Blau =Blue (t) Rot1 =Red (t+1) Gruen1=Green(t+1) Blau1 =Blue (t+1) End Select NPrint " Data.w "+Str$(Rot)+","+Str$(Gruen)+","+Str$(Blau)+", "+Str$(Rot1)+","+Str$(Gruen1)+","+Str$(Blau1) Next Format"" CloseFile 0 Request "Convert Palette","Source wurde erzeugt","OK" EndIf Return